Доброе время суток всем!
Столкнулся с такой проблемой: между ПЛК Siemens S7-1200, панелью Weintek и еще одним электронным блоком организован обмен по MODBUS RTU. При опросе панели сервер MODBUS RTU постоянно выдает ошибку “Slave timeout”.
Что имеем:
1. ПЛК CPU 1214C DC/DC/DC.
2. Коммуникационный модуль CM 1241 (RS422/485).
3. Панель Weintek MT8090XE.
4. Электронный блок с поддержкой обмена данными по MODBUS RTU.
Мастером является ПЛК. Панель и блок выступают в роли слэйвов.
Для организации связи в программе ПЛК используются библиотечные функции MB_COMM_LOAD и MB_MASTER.
Параметры настройки порта: 9600; N; 8; 1; wait time 100 мс. Схема подключения 2-х проводная (RS485). Для тестирования размер буфера для обмена данными равен одному слову.
Связь устанавливается, обмен данными есть. Но, как говорилось выше, при опросе панели на мастере возникает ошибка “Slave timeout”, обмен “зависает” на время до нескольких секунд, потом снова возобновляется. Настройки порта панели такие же как и у ПЛК. В чем может быть дело?
Если пользоваться только одной панелью (один слэйв), то обмен данным работает четко, без лагов.
Если панель исключить, вместо нее взять еще один электронный блок, также обмен данным работает четко, без лагов.
Кто-нибудь может сталкивался с подобным? Почему именно с панелью возникает ошибка?