Страница 1 из 1

Панель Weintek, проблема лагов связи по MODBUS RTU

СообщениеДобавлено: 09 мар 2019, 02:51
Михалыч
Доброе время суток всем!
Столкнулся с такой проблемой: между ПЛК 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”, обмен “зависает” на время до нескольких секунд, потом снова возобновляется. Настройки порта панели такие же как и у ПЛК. В чем может быть дело?
Если пользоваться только одной панелью (один слэйв), то обмен данным работает четко, без лагов.
Если панель исключить, вместо нее взять еще один электронный блок, также обмен данным работает четко, без лагов.
Кто-нибудь может сталкивался с подобным? Почему именно с панелью возникает ошибка?

Re: Панель Weintek, проблема лагов связи по MODBUS RTU

СообщениеДобавлено: 03 апр 2019, 09:13
Михалыч
Проблема оказалась из-за параметра "Timeout (sec)" в окне настройки коммуникации "COM Port Settings" панели. По умолчанию значение этого параметра =1 с. Эта секунда все и портила, панель тупо не отвечала на последующие запросы мастера в течении этого времени. Устанавливаем его по минимуму =0,05 с. В ПЛК параметр «Wait time" порта =80 мс. Параметр инструкции MB_COMM_LOAD (программа ПЛК) "Response time" на =50 мс (по умолчанию 1000 мс). И все ОК!