PDA

Просмотр полной версии : Опрос ModBus на СПК210



Papagun78
03.06.2026, 10:59
Здравствуйте.
Возникло два вопроса в одном проекте.
Контроллер - СПК210, среда программирования - CoDeSys V3.5 Patch 3 + (32-bit).

1. В проекте используются модули ввода-вывода ОВЕН 210 (МВ210, МУ210), подключены на ModBus TCP посредством шаблона ОВЕН.
Модули опрашиваются без ошибок, данные считываются контроллером. Но флаг ошибки каждого модуля и флаг ошибки каждого аналогового значения постоянно находятся в состоянии TRUE. При отключении питания модуля флаг ошибки не меняется, значения аналогового входа замирают в последнем активном значении.
Это крайне не устраивает с точки зрения безопасности. Какие могут быть причины такого поведения и как их устранить?

2. В этом же проекте есть ModBus RTU на RS485. (Mobus Server, COM Port) Там вопрос в том, что нет возможности отключить опрос отдельно взятого слейва на случай его ремонта, например. В тех же модулях ОВЕН 210 есть управляющий бит отключения опроса. Есть ли какая-то возможность реализовать отключение опроса отдельно взятого адреса в сети?

krollcbas
03.06.2026, 11:44
Делюсь своим мнением из своего опыта работы в разные годы.
Наелся на использовании шаблонов на ModBus TCP
Главное наполняешь их информацией, настраиваешь всякие шкалы, сдвиги и все, если модулей много - плен. Легкими усилиями соскочить уже сложно с шаблонов, особенно если все уже давно сдал и никто не заплатит за эту работу по новому ПНР.
Как делаю: В конфигураторе модулей выставляю настройки каналов и опрос уже осуществляю через Owen Communication. Признак качества каналов и модуля формирую самостоятельно из диагностики FB
При использовании шаблонов вылезали разные проблемы при переносах проектов, смене компьютеров, обновлениях и прочем. Да и много "мусора" в опросах шаблонами, по нагрузке на процессор Owen Communication выходит эффективнее.

C ModBus RTU на RS485 так сделать сложней, так как там важно организовать очередь телеграмм. Использую шаблоны. Там есть признак "вывести из опроса"
89418

Евгений Кислов
03.06.2026, 12:39
Добрый день.


среда программирования - CoDeSys V3.5 Patch 3 + (32-bit).

Тут, видимо, опечатка в версии.


...флаг ошибки каждого модуля и флаг ошибки каждого аналогового значения постоянно находятся в состоянии TRUE. При отключении питания модуля флаг ошибки не меняется, значения аналогового входа замирают в последнем активном значении. Это крайне не устраивает с точки зрения безопасности. Какие могут быть причины такого поведения и как их устранить?

Причина в том, что вы используете компонент Modbus TCP Client версии 4.4.0.0. Нужно понизить версию - хотя бы до 4.3.0.0
ПКМ на компонент - Обновить устройство - поставить галочку Отображать все версии.


В этом же проекте есть ModBus RTU на RS485. (Mobus Server, COM Port) Там вопрос в том, что нет возможности отключить опрос отдельно взятого слейва на случай его ремонта, например

См. стр. 61:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Modbus_v3.2.pdf

Papagun78
05.06.2026, 12:49
Спасибо ВОООООТ такое огромное!!!