Автор: Елена Баркова
Дата: 31.01.08 11:16
в описании протокола в запросе сервера 1-й байт номер устройства, 2-й номер функции, 3-й номер провески, остальное мне не интересно, кроме CRC, я ее проверяю при приеме. В ответе первые 2 байта из запроса, 3- длина данных 43 байта, которые я передаю. Потом считаю CRC и добавляю к строке. Реально в порт шлю 48 байт. Вот описание Help для сервера. Тут для RTU и ASCII
Field Name RTU (hex) ASCII Characters
Header None : (Colon)
Slave Address 01 0 1
Function 04 0 4
Starting Address HI 00 0 0
Starting Address LO 00 0 0
No of Registers Hi 00 0 0
No of Registers Lo 02 0 2
Error Check Lo 71 LRC (F 9)
Error Check Hi CB
Trailer None CR LF
Total Bytes 8 17
Response
The register data in the response message are packed as two bytes per register, with the binary contents right justified within each byte. For each register the first byte contains the high-order bits, and the second contains the low-order bits.
Example of a response to the query:
Field Name RTU (hex) ASCII Characters
Header None : (Colon)
Slave Address 01 0 1
Function 04 0 4
Byte Count 04 0 4
Data Hi 00 0 0
Data Lo 06 0 6
Data Hi 00 0 0
Data Lo 05 0 5
Error Check Lo DB LRC (E C)
Error Check Hi 86 None
Trailer None CR LF
Total Bytes 9 19
|
|