PDA

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



Лузин Владимир
04.03.2014, 22:43
Здравствуйте. В котельной эксплуатируется ПЛК-100, который опрашивает МВА8 по ModBus. Периодически (раз в несколько месяцев) связь теряется. Помогает перезагрузка ПЛК. Возможно-ли возобновить обмен программно без перезагрузки ПЛК? На форуме ответа не нашел.
Программу прилагаю.

Newcomer
05.03.2014, 10:25
А какой у Вас котел ?

lara197a
05.03.2014, 10:40
потерю связи можно отследить(ошибка 81).
При этом вводите к примеру ПЛК в бесконечный цикл.
ПЛК перезагрузится.
Почему у Вас возникает такая ситуация наверное никто не скажет.

Лузин Владимир
05.03.2014, 18:41
А какой у Вас котел ?
Котел КВ-Г-1,25-95

Лузин Владимир
05.03.2014, 18:43
потерю связи можно отследить(ошибка 81).
При этом вводите к примеру ПЛК в бесконечный цикл.
ПЛК перезагрузится.
Почему у Вас возникает такая ситуация наверное никто не скажет.
Как отследить это понятно. Вопрос возможно ли перезапустить обмен по ModBus без перезагрузки контроллера.
Перезагрузка ПЛК приводит к остановке котла.

Валенок
05.03.2014, 21:02
Штатно - нет.

lara197a
05.03.2014, 22:17
Выставляйте перед перезагрузкой какой нибудь энергонезависимый флаг(маркер).
После перезагрузки при наличии его перезапускайте котел и сбрасывайте флаг.
Или пробовать менять железо.
Так же рекомендовал бы увеличить цикл ПЛК и время опроса.

kfvniiz
05.03.2014, 23:57
А попробуйте при таких зависаниях перезагрузить модуль МВА8. Если поможет, то тогда перезапускайте его. Можно перейти на modbus.lib она в отличии от встроенного modbus master (того что настраивается в plc конфигураторе) работает стабильно.
ps Так же можете попробовать увеличить таймаут чтения.

Лузин Владимир
06.03.2014, 12:23
Выставляйте перед перезагрузкой какой нибудь энергонезависимый флаг(маркер).
После перезагрузки при наличии его перезапускайте котел и сбрасывайте флаг.
Или пробовать менять железо.
Так же рекомендовал бы увеличить цикл ПЛК и время опроса.
Совет дельный только котел не желательно презапускать.

lara197a
06.03.2014, 12:29
Вам бы конечно надо бы разобраться с причиной.
Если виснет порт ПЛК, то фиксированный цикл к примеру в 20мс проблему решит.
Для котла это даже очень быстро. У них цикл в 100мс- это нормально. Там нет быстрых процессов.

Если виснет МВА, то или поменять или перегружать. Если, как Вы пишете, это происходит крайне редко, то вполне допустимо и перезапустить котел.

Лузин Владимир
06.03.2014, 12:38
А попробуйте при таких зависаниях перезагрузить модуль МВА8. Если поможет, то тогда перезапускайте его. Можно перейти на modbus.lib она в отличии от встроенного modbus master (того что настраивается в plc конфигураторе) работает стабильно.
ps Так же можете попробовать увеличить таймаут чтения.
Спасибо за совет. Попробую освоить modbus.lib. Только результата долго ждать, т.к. зависания связи происходят очень редко.
Аналогичные зависания имели место при обмене ПЛК100 - ТРМ138, ПЛК-110 - МВА8+2шт ТРМ210. При этом обмен с панелями ПЛК100-ИП320, ПЛК-2шт СП270(одна на расстоянии 300м. у вахтера) всегда был стабильным (настроен тоже в ПЛК конфигураторе, только на RS232debug )
Еще было так: ПЛК110-rs485 ModBus RTU - ТРМ138+3шт.ТРМ202 пока к ПЛК подключены были ТРМ138+2шт. ТРМ202 все было нормально. Как только включал питание третьего ТРМ202, пропадал обмен с ТРМ138. После отключения питания любого из ТРМ202 обмен с ТРМ138 возобновлялся. Объект был в другом городе, поэтому долго экспериментировать не было возможности.Там проблему решил подключением ТРМ138 ко второму порту rs485.

Лузин Владимир
06.03.2014, 12:44
Вам бы конечно надо бы разобраться с причиной.
Если виснет порт ПЛК, то фиксированный цикл к примеру в 20мс проблему решит.
Для котла это даже очень быстро. У них цикл в 100мс- это нормально. Там нет быстрых процессов.

Если виснет МВА, то или поменять или перегружать. Если, как Вы пишете, это происходит крайне редко, то вполне допустимо и перезапустить котел.
Цикл ПЛК задан 25ms. На других проектах даже 50ms.
С перезагрузкой МВА попробую поэкспериментировать.