PDA

Просмотр полной версии : alarmgrup и триггерные переменные



Sklyar
20.11.2018, 13:17
добрый день. возникла задача - при возникновении тревоги, выводить в поле "сообщение" значение первой триггерной переменной. Не получается. В поле "сообщение" после текста тем= пусто. Подскажите новичку, что делаю не так.

Евгений Кислов
20.11.2018, 13:48
Добрый день.
В эмуляции тревоги работать не будут.

39929

39930

Sklyar
20.11.2018, 13:56
спасибо, все получилось. Работал в отладчике

Sklyar
21.11.2018, 09:50
Еще раз здравствуйте!
Встала новая задача. При появление тревоги в столбце "сообщение" вывести переменную формата DATE_AND_TIME, привязанную к триггерной переменной.
Я получаю время в формате dword переменная l1, дальше преобразую ее в DT переменная my_time. Затем в AlarmGroup связываю первую триггерную переменную и my_time и в столбце "Сообщение" задаю необходимый формат вывода переменной - время <LATCH1 %t[yyyy-M-d-HH:mm:s]>
В итоге при появление тревоги в столбце "Сообщение" не получаю, желаемый результат. Отображает - время [yy .
Работал с панелью. Объясните пожалуйста, что делаю не так. Так же прилагаю скрины. Спасибо.
39961
39962
39963

Осинский Алексей
21.11.2018, 09:59
Еще раз здравствуйте!
Встала новая задача. При появление тревоги в столбце "сообщение" вывести переменную формата DATE_AND_TIME, привязанную к триггерной переменной.
Я получаю время в формате dword переменная l1, дальше преобразую ее в DT переменная my_time. Затем в AlarmGroup связываю первую триггерную переменную и my_time и в столбце "Сообщение" задаю необходимый формат вывода переменной - время <LATCH1 %t[yyyy-M-d-HH:mm:s]>
В итоге при появление тревоги в столбце "Сообщение" не получаю, желаемый результат. Отображает - время [yy .
Работал с панелью. Объясните пожалуйста, что делаю не так. Так же прилагаю скрины. Спасибо.
39961
39962
39963

Добрый день!
А зачем в сообщении выводить дату и время, если для этого есть отдельный столбец в таблице тревог?
Опишите пожалуйста задачу. Постараемся помочь.

Sklyar
21.11.2018, 10:08
Потому что время я получаю со стороннего устройства по Modbus и тревогам мне надо присваивать именно то время, так как нельзя синхронизировать время панели и устройства.

Евгений Кислов
21.11.2018, 10:20
Потому что время я получаю со стороннего устройства по Modbus и тревогам мне надо присваивать именно то время, так как нельзя синхронизировать время панели и устройства.

Вам будет проще конвертировать время в STRING и использовать строку как LATCH-переменную.
См. функцию DT_TO_STRING_FORMAT из библиотеки OwenStringUtils 3.5.4.7:
http://www.owen.ru/forum/showthread.php?t=25981

Sklyar
21.11.2018, 10:50
Вам будет проще конвертировать время в STRING и использовать строку как LATCH-переменную.
См. функцию DT_TO_STRING_FORMAT из библиотеки OwenStringUtils 3.5.4.7:
http://www.owen.ru/forum/showthread.php?t=25981

Спасибо, щас буду пробовать.

Sklyar
21.11.2018, 11:09
Я установил библиотеку, преобразовал типы, но триггерная переменная не поддерживает STRING. Пишет, что можно использовать только числовые и BOOL.

Евгений Кислов
21.11.2018, 11:21
У меня ошибок не возникает. У вас настроено похожим образом?

39970

Sklyar
21.11.2018, 11:32
У меня ошибок не возникает. У вас настроено похожим образом?

39970

Вот мои настройки, вроде все похожим образом. Версия: Codesys V3.5 SP5 Patch5, если это играет роль.
39971

Sklyar
21.11.2018, 11:37
У меня ошибок не возникает. У вас настроено похожим образом?

39970

У меня настройки похожим образом. Codesys V3.5 SP5 Patch5, если это играет роль.
39972

Евгений Кислов
21.11.2018, 12:27
Уточнил - в старых версиях CODESYS действительно нельзя в качестве Latch-переменных использовать STRING.
В этом случае каких-то простых вариантов внедрения метки времени или текста в строку сообщения я не вижу.
Можно использовать стандартный элемент Таблица, который будет отображать массив данных, которые вы сформируете в программе.
Это даст полный контроль над таблицей, но потребует дополнительного программирования.

Sklyar
21.11.2018, 12:30
спасибо за помощь, будем что то думать

Sklyar
21.11.2018, 12:32
Евгений, а не подскажете панель СПК 110 работает только с Codesys V3.5 SP5 Patch5 или и с новой версией будет работать?

Евгений Кислов
21.11.2018, 12:38
Евгений, а не подскажете панель СПК 110 работает только с Codesys V3.5 SP5 Patch5 или и с новой версией будет работать?

С новой версией все равно STRING в LATCH не заработают.
Будет работать в новых СПК:
http://www.owen.ru/forum/showthread.php?t=29382

Sklyar
21.11.2018, 12:49
спасибо за ответ