У меня возникла проблема, которая потребовала у меня слишком много времени, но без ее разрешения. Я действительно хочу, чтобы вы мне помогли.путают при приеме данных с последовательного порта
У меня есть приложение, построенное с помощью C# wpf, и общается с духовыми шкафами через последовательный порт.
рама, которую мне нужно отправить, имеет следующую форму: [EOT] (GID) (UID) (Temp) [ENQ]
gid uid: идентификатор группы и идентификатор устройства (адрес машины). (eof), (enq): кадр сообщения. (temp) означает: дайте мне значение температуры.
Единственная машина, которая имеет тот же адрес, может ответить (основная ведомая архитектура).
Форма ответного сообщения: [STX] (Temp) <DATA> [ETX].
Поле содержит только значение температуры stx start text. etx end text.
У меня нет проблем с отправкой и получением данных, и я могу отображать значение температуры для одной подключенной машины. , но когда я подключаюсь к другим машинам, я не знаю, какая машина ответила на кадр, который я отправил, потому что в кадре ответа нет никакого адреса, чтобы я мог определить, какая печь отвечает.
Итак, ситуация короткая:
-I посылаю данные в печи.
- Я получил данные.
- Я не могу решить, какая печь ответила.
пожалуйста, у кого-нибудь есть идея. PS: Я работаю с протоколом: EI-BISYNCH из Eurotherm EuroTherm
При необходимости: EI-Bisynch ASCII Sequence Diagrams
Ну, вы знаете, кому вы отправили запрос, так что если отправитель не идентифицируется в ответе, кажется, единственный ход действий - дождаться ответа перед отправкой нового запроса. –
@ 500 - Внутренняя ошибка сервера: проблема в том, что я посылаю всем, из цикла. и некоторые машины могут быть в автономном режиме или отключены, поэтому они не могут ответить – user1202382
SerialPort.PortName соответствует машине. –