Вход

Просмотр полной версии : Ложные ошибки по протоколу ОВЕН



GoodLuck
28.01.2016, 09:51
Есть контроллер СПК-110, к которому подключены модули МВ-110-8А и МВ-110-16Д. Опрос происходит по протоколу ОВЕН. Для своевременного оповещения о неисправности датчиков в программе заложен соответствующий алгоритм, согласно которому если в течение 2 мин держится ошибка, то идет сигнал об аварии датчика.

Проблема в том, что эта ошибка появляется по несколько раз в сутки, причем у одних и тех же датчиков, которые подключены к 2-у или к 4-у входу модулей.

Всего таких 6 объектов, и на всех происходит одно и то же ложное срабатывание датчиков. Причем, коды ошибок, каждый раз разные.

GoodLuck
28.01.2016, 11:13
Еще выявлена следующая закономерность: подобная проблема возникает на тех модулях 8А, где ко всем 8-ми входам подцеплены термосопротивления.

GoodLuck
03.03.2016, 13:43
Проблема наконец-то решена.

Оказывается, что для определения исключительной ситуации датчика необходимо учитывать не только значение нулевого байта и кол-во передаваемых байт, но и значение выхода Error в ФБ OWEN_GET_REAL.

Поскольку по непонятным причинам Error может принимать значение TRUE, даже если передача данных с датчика идет нормально. Так же и буфер в ФБ OWEN_UNI_IO может показывает, что передается только нулевой байт (код ошибки), но выход Value в ФБ OWEN_GET_REAL продолжать выдавать адекватные значения.

Алгоритм неоднократно проверен на объектах. Все четко работает даже без формирования задержки для выдачи сигнала о нештатной ситуации.

Удивительно, что техподдержка так и не нашла, что ответить на этот вопрос, а только настоятельно рекомендовала перейти на использование протокола Модбас.