Если в проекте организовывать Modbus Master в дереве конфигурации ПЛК, то в каждом Universal Modbus device (далее UMD) в дереве присутствует переменная "Command (0xff - Start)", которая, согласно документу https://owen.ru/uploads/467/rp_plk1h...75044-1.34.pdf отвечает за включение/исключение из опроса соответствующего UMD. Выглядит так, что это не работает как описано.
По факту манипуляция этой переменной для подмодулей Register input module не оказывает влияния как в режиме Work mode = "By poll time", так и в режиме "By command". В режиме "By poll time" команды чтения посылаются всегда, не зависимо от состояния переменной Command, а в режиме "By command" не отправляются никогда.
Также существует подмодуль типа Register input module State в котором присутствует своя собственная переменная Command, так вот она работает так, как как описано в документации. В таком случае встает вопрос: какой смысл в переменной Command в UMD?
Прикладываю два тестовых проекта. В обоих заведено по два UMD, в первом добавлен канал Register input module State, во втором Register input module. В проекте MBMTest_poll опрос ведется в режиме "By poll time", в проекте MBMTest_command - в режиме "By command". Управление UMD пытаюсь осуществлять переменными программы PLC_PRG: mbm01_Start, mbm01_Stop, mbm02_Start и mbm02_Stop.
Тестовые проекты написаны для ПЛК160[М2], потому что он у меня есть под рукой. А вообще стоит задача, изменить проект для ПЛК150, чтобы отключать опрос некоторых UMD при некотором событии. Там заведено 18 UMD c подмодулями Register input module с количеством каналов от 1 до 16 в каждом. Правильно ли рассуждать, что на ПЛК150 это работает (не работает?) также как и на ПЛК160[М2]?