Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: kolya_asu от 10 Декабря 2018, 17:25:35

Название: Контроль связи: ПЛК - Simple Scada!
Отправлено: kolya_asu от 10 Декабря 2018, 17:25:35
Добрый день. Возникла необходимость контролировать связь ПЛК - Scada. Алгоритм самый простой. Из ПЛК отправляем Скаде бит "1" , скрипт контролирует наличие "1", и если "1" пропадает, то по прошествии зад. времени (1-5 сек.) вызываем через внутр. переменную аварийное сообщение. Когда связь восстановилась (появилась "1" с ПЛК), задержка (1-3сек.) и потом сообщение " Связь восстановлена!".
Кто-то может набросать код на подобный алгоритм или поделиться альтернативным?
На LAD, FBD, STL, ASM не составило бы труда мне написать, но на Делфи пока что увы, не смогу, только начинаю осваивать. Буду благодарен за любую информацию что касается данной темы. Спасибо.
Вспомнил еще, где-то встречал на форуме скрипт который запрещает отправлять повторно данные со скады если связь с ПЛК розорвана, ни кто не встречал случайно эту тему?
Название: Re: Контроль связи: ПЛК - Simple Scada!
Отправлено: Simple_Scada от 11 Декабря 2018, 09:57:16
Здравствуйте!

Пример скрипта контроля связи по переменной доступен в руководстве по ссылке (https://simple-scada.com/help/script/comm-control.html).
Название: Re: Контроль связи: ПЛК - Simple Scada!
Отправлено: kolya_asu от 17 Декабря 2018, 11:46:50
Добрый день. Сделал по вашему совету. Работает! Только есть необходимость вместе из сообщением "Потеряна связь с контроллером!" записать ноль в несколько переменных типа Integer (пока связь с ПЛК отсутствует) и одну внутреннюю переменную типа bool, взвести в "1".  Попробовал осуществить задуманное - не получилось. Временно закомментировал строки. Подскажите пожалуйста, что там не так. Спасибо.
Название: Re: Контроль связи: ПЛК - Simple Scada!
Отправлено: Simple_Scada от 17 Декабря 2018, 16:34:13
Здравствуйте.

Для того чтобы записать из скрипта значение в переменную, необходимо использовать свойство переменной "Value (https://simple-scada.com/help/script/varvalue.html)". Например:
Код: (delphi)
begin
  SM_TREND_SOSTOYANIE.Value := 0;
  SM_TREND_PROGRAMM.Value := 0;
  SM_TREND_FAZA.Value := 0;
end.
Название: Re: Контроль связи: ПЛК - Simple Scada!
Отправлено: kolya_asu от 23 Декабря 2018, 02:21:00
Ошибочно не тот скрин сделал. Да, я использовал ссвойство переменной "Value". Проблема оказалась в том, что ОПС сервер Uniopc, не дает переписать значение переменных, даже когда не подключен ПЛК. В логах появл. ошибка типа "невозможно перезаписать значение переменной" Решил проблему другим способом.