PDA

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



GSK
25.09.2012, 08:13
Здравствуйте.
Может кто решал подобную задачу, поделитесь пожалуйста опытом.

В проекте на Мастерскада нужно проверять работает ли удаленный контроллер. Удаленные контроллеры работают в режиме мастер по Modbus TCP на OPC сервер Lectus работающий в режиме слейв. Контроллеры под управлением кодесис.
Применение OPCQuality в данной схеме возможно не работает, так как OPC в режиме ведомова и признак качества всегда 192. По крайней мере у меня так. На одном узле есть связь, на других нет. Но признак у всех 192. А может не там смотрю.(((

Мне кажется возможен такой алгоритм. Контроллер постоянно посылает целую переменную скажем sys с установленным битом проверки связи sys.15. Период посылки 10 сек.
В мастерскада переменная sys раскладывается на биты ни затем каждые 25 сек:
- если sys.15 == 0 то связь=0
- если sys.15 == 1 то связь=1 sys.15=0

Но как это реализовать?

SCADAMaster
25.09.2012, 09:59
В контроллере генерируете изменяющийся логический сигнал, в MasterSCADA контролируете его при помощи ФБ "Задержка по времени". Если сигнал не меняется в течении какого то времени - значит обрыв связи с контроллером.

GSK
25.09.2012, 14:04
Спасибо. реализовал, все работает. Но хочется всетаки воплотить описанный алгоритм
Есои у кого будет время, буду очень благодарен

DMax
26.10.2012, 15:18
В предлагаемом варианте, если я конечно правильно понял, надо создавать специальную переменную, а я их стараюсь ужать, поэтому я взял уже созданную переменную real вставил на вход функц блока "звено запаздывания" и каждый раз когда переменная обновляется появляется разность, которую отслеживает "расчёт" и обнуляет счётчик времени.