Описание проблемы: СКАДА TraceMode, программная связь с контроллерами через OPC сервер ДЭП WD. Логика работы ПО СКАДА базируется на контроле связи с контроллером и модулями. На этапе тестирования заметил, что когда физическая связь нормальная, дискрет связи в WD =1 это значение записывается в соответсвующую пременную АРМ. Но когда я имитирую обрыв связи (выдергиваю шнур), то WD в значение дискрета не устанавливает 0, а записывает пустой пробел (смотрю ч.з Конфигуратор), и так же диагностируется код ошибки, только записывается в другой тег. В свою очередь СКАДА, которая может принимать через OPC только дискретный 0 или 1 или аналоговое значение (но никак не текстовое) сохраняет в переменной значение 1 и работает как ни в чем не бывало. То есть связи уже нет физический, а TRACE MODE понять этого не может.
Вопрос: 1) как сделать чтобы WD если нет связи вместо пробела записывала 0.
2) Как считать код ошибки. (но этот вариант приведет к созданию дополнительных каналов и их контроля)
3) Какие другие подходы есть для решения этой проблемы
Диагностика состояния связи с контроллером.
В WD дикрет связи: 1 - есть связь; неопределен и код ошибки - нет связи.
Через OPC в СКАДА-систему это передается так: GOOD Quality, значение 1 - есть связь; BAD Quality - нет связи.
Ещё OPC-сервер WD поставляет "последнее известное значение" для тега. Но для дискретов связи это значение будет "1".
Если в СКАДА-системе есть настройка для тегов OPC, какое значение принимает тэг, если OPC-сервер выставляет BAD Quality, то установите в это значение "0". Посоветуйтесь с поставщиками СКАДА системы, как можно правильно в их системе обработать такую ситуацию.
В нашем ПО можно изменить поведение тега:
если Вы работаете через OPC.Dep.1 (OPC сервер к дискретам котроллера WD), то изменить поведение дискретов связи можно только через компонент Разработчика;
если используете сервер Dep.Model.1 (модель в программе WD), то поведение элемента можно изменить в его тактовой функции.
Через OPC в СКАДА-систему это передается так: GOOD Quality, значение 1 - есть связь; BAD Quality - нет связи.
Ещё OPC-сервер WD поставляет "последнее известное значение" для тега. Но для дискретов связи это значение будет "1".
Если в СКАДА-системе есть настройка для тегов OPC, какое значение принимает тэг, если OPC-сервер выставляет BAD Quality, то установите в это значение "0". Посоветуйтесь с поставщиками СКАДА системы, как можно правильно в их системе обработать такую ситуацию.
В нашем ПО можно изменить поведение тега:
если Вы работаете через OPC.Dep.1 (OPC сервер к дискретам котроллера WD), то изменить поведение дискретов связи можно только через компонент Разработчика;
если используете сервер Dep.Model.1 (модель в программе WD), то поведение элемента можно изменить в его тактовой функции.