Вчера столкнулся с проблемой:
Панель отказывается читать битовые регистры (%Mx - в терминах панели) из ПЛК Schnaider (
Twido TWD LCAE 40DRF ) по протоколу Modbus ( функция 0x ), с другими функциями та же беда - если есть время можете сами поэкспериментируйте. Ниже описиваю
Кратко, проблема заключается в том что панель (а точнее драйвер V.1.50, MODBUS_TCPIP_ZERO_BASED.sx) не умеет читать один байт, минимум читает только одно слово (16 бит).
Вот как это я выяснил:
1. Скачиваем
Modbus slave tool (к сожалению триал версия работает не долго)
2 Запускаем и выставляем следующие настройки (см. рис)
3. Создаем новый проект, настройки см. на картинках:
4. Запускаем в on-line simulation (Ctrl+I)
5. Наблюдаем что все работает,
но как только поменяем настройки в Modbus simulator на:
сразу видим что перестает работать:
В принципе, если сразу выставить не рабочие настройки на симуляторе, то объект даже не проресуется. Вывод:
для того чтоб панель работала - необходимо чтобы на ПЛК были доступны регистры в с адресами, как минимум в одно слово (16 бит)