Евгений, ваша позиция понятна, спасибо.
Групповые сообщения (multicast) по TCP?
Использование протокола TCP ну никак не спасает и не страхует от ошибок в кодеЗачем, если он (overhead) упрощает (см.ниже (да и выше Е.Кислов про это же)) обработку, а значит повышает надежность (в смысле ошибок кода)![]()
А вот если какой-то пакет с телеметрией потеряется и TCP начнёт процедуру отсчёта таймаута, затем повторную передачу потерянного пакета, до данные в этом пакете уже протухнут и, по-хорошему, надо бы уже запрашивать более свежие. Вот такая "надёжность" только мешает.
Или, например, оборвётся линк в кольце между ПЛК и модулями ВВ. RSTP отработает за 1-2с (допустим это приемлемо), но восстановление TCP соединения в некоторых случаях может задержатся ещё на 5с, что уже неприемлемо.
В протоколе MODBUS есть специальное поле идентификатора транзакции, которое как раз и нужно для таких случаев в том числе. И должно оно обрабатываться всегда независимо от транспортного протокола, который может и сам умеет отслеживать и дубликаты, и неверный порядок.Ну напишите сходу простой обработчик udp-модбас запросов который учитывает возможные непоследовательности и дупликаты ответов





Ответить с цитированием