На 115200 изредка проскакивает ошибка. Да и в два раза быстрее только "полет" посылки. Но на фоне цикла ПЛК будет этот "полет" 3 мс или 1,5 мс нет разницы, я думаю.![]()
На 115200 изредка проскакивает ошибка. Да и в два раза быстрее только "полет" посылки. Но на фоне цикла ПЛК будет этот "полет" 3 мс или 1,5 мс нет разницы, я думаю.![]()
Ошибка как проявляется и каким кабелем соединили? Есть-ли терминальные резисторы на концах линии? Потом, я заметил, что у Вас огромный таймаут, аж 150 мс выставлен, хотя рекомендуют 20 - это зачем?![]()
Ошибка таймаут, кабель марки "моток проводов". Терминальные резисторы есть, в модуле AC4. Но на этой скорости обмен нормально идёт и с отключенными резисторами. А насчет времени таймаута 150 мс, если ответ пришёл, ПЛК не будет ждать весь таймаут, вдруг ещё чего придёт. По условиям проекта, если появляется ошибка два раза подряд -> остановка линии и разбор полетов. Главное, чтобы время не было слишком малым (появится ошибка time-out, причем может появляться при стечении обстоятельств) или большим (пока пройдет два таймаута всё уже уедет).
Если я правильно понял, при работе через конфигуратор с числом повторов допустим 3, отправляется 1-й, приходит ответ, отправляется 2-й и т.д. Модуль "не знает" сколько будет повторов. А ПЛК при работе через конфигуратор как-нибудь обрабатывает повторы?интересует логическая обработка повторов.
Вы ж сказали что c modbus.lib работаете - все в ваших руках
Вы правы, да я и не спорю, что его смело можно уменьшитьПри большом времени таймаута у Вас все остальные модули, при отказе одного будут общаться медленнее на его величину, а именно на 150 мс, а если отвалилось 2 модуля, то на 300 и т. д. Это нормально разве?. Но до скольки подгоню на полной схеме.