(Важно: я пишу с другого компа, где CodeSys у меня не стоит, и поэтому не смогу дать точные названия функций и переменных из проекта - даю сам концепт)
Мысли от меня. Я ставил такие опыты на СПК1хх, и там в TargetVars была информация о числе включений ПЛК.
Я использовал PERSISTENT-переменные и хранил в них:
* Текущую дату
* Текущее число включений
При отключении питания ПЛК в них это и сохранялось.
Дальше я делал функцию, привязанную к системному событию PLCStarted.
Она стартовала раньше, чем PERSISTENT-переменные получали новые значения при работе программы ПЛК.
И вот в ней я копировал значения из PERSITENT-переменных во временные обычные.
Получалось, что на момент следующего включения ПЛК я имел:
* Текущие Дату и Время
* Текущее число включений
* Прошлые Дату и Время
* Прошлое число включений
И по разнице числа включений я мог определить то, что ПЛК отключался.
А по датам - когда это было.




Ответить с цитированием