Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Контроль связи: ПЛК - Simple Scada!  (Прочитано 4763 раз)

kolya_asu

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

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1408
    • Просмотр профиля
Re: Контроль связи: ПЛК - Simple Scada!
« Ответ #1 : 11 Декабря 2018, 09:57:16 »
Здравствуйте!

Пример скрипта контроля связи по переменной доступен в руководстве по ссылке.

kolya_asu

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Контроль связи: ПЛК - Simple Scada!
« Ответ #2 : 17 Декабря 2018, 11:46:50 »
Добрый день. Сделал по вашему совету. Работает! Только есть необходимость вместе из сообщением "Потеряна связь с контроллером!" записать ноль в несколько переменных типа Integer (пока связь с ПЛК отсутствует) и одну внутреннюю переменную типа bool, взвести в "1".  Попробовал осуществить задуманное - не получилось. Временно закомментировал строки. Подскажите пожалуйста, что там не так. Спасибо.

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1408
    • Просмотр профиля
Re: Контроль связи: ПЛК - Simple Scada!
« Ответ #3 : 17 Декабря 2018, 16:34:13 »
Здравствуйте.

Для того чтобы записать из скрипта значение в переменную, необходимо использовать свойство переменной "Value". Например:
Код: (delphi)
begin
  SM_TREND_SOSTOYANIE.Value := 0;
  SM_TREND_PROGRAMM.Value := 0;
  SM_TREND_FAZA.Value := 0;
end.

kolya_asu

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Контроль связи: ПЛК - Simple Scada!
« Ответ #4 : 23 Декабря 2018, 02:21:00 »
Ошибочно не тот скрин сделал. Да, я использовал ссвойство переменной "Value". Проблема оказалась в том, что ОПС сервер Uniopc, не дает переписать значение переменных, даже когда не подключен ПЛК. В логах появл. ошибка типа "невозможно перезаписать значение переменной" Решил проблему другим способом.