Добрый день!
Имеется проблема с работой modbus на ПЛК-110 (проблема повторяется на двух контроллерах).
Modbus организован на порту 485-2, скорость 19200, режим RTU (это важно!), slave, через конфигуратор, регистры заданы как двухбайтовые, типа holding.
Суть проблемы: часто или очень часто происходят ошибки CRC. Проблема проявляется как при связи с мастером на СПК-207, так и при использовании связки "программа ModbusPoll + преобразователь MOXA".
При анализе траффика в программе ModbusPoll выяснили, что в некоторых условиях в последнем байте контрольной суммы "вырастает" лишний старший бит (см. рисунок), причём при каких-то условиях он встаёт навечно и портит 100% пакетов, при каких-то - проявляется случайным образом (кажется, есть зависимость от длины пакета)
communication - crc error.jpg
Проблема проявляется на двух ПЛК, работающих в разных условиях в смысле электрических помех
Проблема проявляется на двух ПЛК, работающих в разных условиях в смысле количества абонентов на шинах.
Проблема проявляется как в рабочем проекте (две линии modbus, работа с дискретными входами и выходами, множество POU etc), так и в специально сделанном тестовом проекте (запущен практически только modbus, работает только один порт из двух).
Кто-нибудь сталкивался? В чём может быть причина?
UPD: Прошивка 0.3.72