Вход

Просмотр полной версии : Нет значений c блока ONTIME



NIK-85
04.04.2025, 13:33
Добрый день!
Пытаюсь написать для ПЛК-110 код наработки для насосов.Использую блок ONTIME из библиотеки OSCAT. При эмуляции в значениях SECONDS и CYCLES ноли.Что-то делаю не так? Код прилагаю

Андрей Чернов
04.04.2025, 13:42
Добрый день!
Пытаюсь написать для ПЛК-110 код наработки для насосов.Использую блок ONTIME из библиотеки OSCAT. При эмуляции в значениях SECONDS и CYCLES ноли.Что-то делаю не так? Код прилагаю

По-моему таймер из оската использует какое-то внутреннее время, которое крутится в плк
т.е. таймер будет корректно считать только если смотреть на него онлайн на физическом плк

petera
04.04.2025, 13:49
Добрый день!
Пытаюсь написать для ПЛК-110 код наработки для насосов.Использую блок ONTIME из библиотеки OSCAT. При эмуляции в значениях SECONDS и CYCLES ноли.Что-то делаю не так? Код прилагаю

Все работает и считает
82882

Нужно при эмуляции установить переменную SN_1_sost в TRUE

kondor3000
04.04.2025, 14:03
Вопрос, зачем секунды умножать на 3600 ??
Для получения часов надо делить на 3600.

NIK-85
04.04.2025, 14:09
Все работает и считает
82882

Нужно при эмуляции установить переменную SN_1_sost в TRUE

Спасибо большое!Я состояние то в TRUE поменял, но значение не записал.

NIK-85
04.04.2025, 14:10
Вопрос, зачем секунды умножать на 3600 ??
Для получения часов надо делить на 3600.

Да конечно, ошибся.Спасибо за подсказку!

NIK-85
04.04.2025, 14:20
А вот еще вопрос. Это нормально что каждую секунду в Ретейн переменные будут значения переписываться? У контроллера с памятью от такого многократного перезаписывания ничего не случится?

kondor3000
04.04.2025, 14:22
А вот еще вопрос. Это нормально что каждую секунду в Ретейн переменные будут значения переписываться? У контроллера с памятью от такого многократного перезаписывания ничего не случится?

Всё работает в оперативной памяти, запись происходит только в момент отключения питания ПЛК.