PDA

Просмотр полной версии : Подключение датчика по ModBUS



Marsel_M
22.04.2011, 14:11
Выполняется подключение датчика давления по ModBAS RTU через контроллер ПЛК 150. Данные проходят, но есть одна особенность. При отключении датчика (обрыве линии) контроллер сохраняет последнее полученное от датчика значение. Т.е. не видит обрыва линии. Может быть есть какая-то возможность обнулять значения при обрыве.

Николаев Андрей
22.04.2011, 15:41
Что при обрыве датчика показано в PLC Configuration?

Marsel_M
24.04.2011, 22:13
В PLC Configuration показывется последнее значение до обрыва. А ноль даст сигнал оператору, что не все в порядке. Процесс предполагается медленно изменяемым и долгое удержание показаний в одном положении может быть и по естественным причинам.

Михаил@
25.04.2011, 03:32
Выполняется подключение датчика давления по ModBAS RTU через контроллер ПЛК 150....Может быть есть какая-то возможность обнулять значения при обрыве.
Давление конечно не температура, но 0 и даже -1 вполне нормальные значения, например у датчиков низкого давления Данфосс диапазон -1...12 bar, на высокое 0...30. Может можно цифров.фильтр включить из библ. PID? там и ошибки есть, правда не все работают, и значение при ошибке можно поставить, например если на датчике низкого давления показания 99 bar, тут уж явно что-то не впорядке...

Александр Приходько
25.04.2011, 10:01
Товарищи! Давайте для начала разберемся что и как работает. При добавлении в конфигурацию ПЛК элемента Modbus Master вам доступны два поля - last error(последняя ошибка) и last adress(адрес последнего опрошенного устройства). Соответственно при потере связи по каким либо причинам в одном поле будет адрес датчика в другом код ошибки (при обрыве 81). Если ошибок ни каких нет и обмен идет корректно в поле ошибки всегда будет 0. В регистрах, которые вы добавляете данные обновляются толь в случае получения корректного ответа от устройства. Откуда должен появится 0??? Это значение датчик не присылал, соответственно ни каких значений "от балды" в конфигурации быть не может. Самое простое, что вы можете сделать - это анализ регистра ошибок. Если он не "0", запускаете таймер, например на секунду, если ошибка ушла - значит временная помеха, если нет - датчик не отвечает - далее все в ваших руках. Можете оператору нули выводить, либо индикатор аварии зажечь. От небольших помех может спасти параметр Amount Repeat(число повторов). Если получили ошибку, то можно еще несколько раз опросить датчик.