Коллеги, вопрос скорее теоретический. Но поиск не дал результатов.
Как OPC-сервер, работающий в асинхронном режиме с использованием Modbus RTU, связывает ответ устройства с запросом?
Т.е. как он узнает, какому клиенту направить ответ?
В кадре Modbus TCP есть идентификатор транзакции, там понятно. В случае RTU в ответе может даже отсутствовать адрес регистра, т.е. единственная информация, по которой можно связать ответ с запросом - это адрес устройства и номер функции. Но этого недостаточно. Означает ли это, что два клиента, делающих запросы к одному устройству, могут получить чужой ответ?


Ответить с цитированием
Я спрашивал про OPC-клиентов, но мне кажется, без разницы - чьи клиенты - OPC или Modbus. Ведь если я не ошибаюсь, процесс передачи запроса в сеть и процесс ответа устройством не синхронизированы. Они последовательны, т.к. захват шины и передача данных может осуществляться одним устройством или мастером сети, но порядок не определен - по мере готовности ответа и освобождения шины. А отсюда и вопросы.
