В таблице ниже перечислены поля данных, используемые в сообщениях запросов и ответов.
Размеры в байтах рассчитаны для двоичного формата.
Сообщения, включая сообщение подтверждения ошибки CRC, содержат перечисленные поля. Исключением является поле с данными, которое включается не всегда.
Сообщения об ошибках не содержат никаких сообщений с данными. Идентификатор сообщения и номер сообщения копируются из сообщения запроса, и код ошибки устанавливается согласно обнаруженной ошибке. Исключением является сообщение подтверждения ошибки CRC, где для идентификатора получателя сообщения, идентификатора сообщения и номера сообщения задаются значения 0.
Информация смещения указывает позицию шестнадцатеричного значения в сообщении. Смещение маркера начала сообщения равно 0.
Пользователь должен дождаться, пока сообщение не будет подтверждено или не истечет тайм-аут передачи, чтобы отправить последующие сообщения. |
Поле | Размер в байтах | Описание | Значение |
---|---|---|---|
Начало сообщения |
1 |
Маркер начала сообщения, статическое значение |
0xab |
Идентификатор отправителя сообщения |
1 | Пользователь | 0 = По умолчанию |
Идентификатор получателя сообщения |
1 | MD30 | 1 = По умолчанию |
Идентификатор сообщения |
1 |
Допустимый идентификатор сообщения |
Идентификаторы сообщений |
Номер сообщения |
1 |
Номер сообщения копируется из сообщения запроса в ответное сообщение и может использоваться для отслеживания того, какое сообщение запроса подтверждено. Если отслеживание не требуется, можно оставить здесь нулевое значение (0). |
0 = Не используется |
Объем данных |
2 |
Размер данных в байтах, зависит от типа сообщения Размер данных может быть нулевым (0). |
0 ... 65535 |
Данные |
0 ... 65535 |
Байты данных в сообщении |
|
CRC |
2 |
Контрольная сумма CRC CRC рассчитывается для всего сообщения за исключением маркера начала сообщения и байтов CRC |
Расчет CRC |
Поле | Размер в байтах | Описание | Значение |
---|---|---|---|
Начало сообщения |
1 |
Маркер начала сообщения, статическое значение |
0xab |
Идентификатор отправителя сообщения |
1 | MD30 | 1= По умолчанию |
Идентификатор получателя сообщения |
1 | Пользователь | 0 = По умолчанию |
Идентификатор сообщения |
1 |
Допустимый идентификатор сообщения |
Идентификаторы сообщений |
Номер сообщения |
1 |
Номер сообщения копируется из сообщения запроса. Исключением является ответ на запрос SEND DATA, где номер сообщения для первого сообщения копируется из запроса или равен нулю в случае автоматической отправки, а после первого сообщения номер сообщения увеличивается в каждом ответе. |
0 = Не используется |
Объем данных |
2 |
Размер данных в байтах, зависит от типа сообщения Размер данных включает в себя версию интерфейса, код ошибки и данные ответа. Размер данных всегда составляет не менее 2 байт, поскольку версия интерфейса и код ошибки всегда указываются. |
2 ... 65535 |
Версия интерфейса |
1 |
Версия используемого MD30 протокола Шестнадцатеричное значение символа ASCII, означающего версию |
A = 0x41, B = 0x42 и т. д. |
Код ошибки |
1 |
Код ошибки согласно обнаруженной ошибке Если ошибок нет, задается значение 0 |
Коды ошибок |
Данные |
2 ... 65535 |
Байты данных в сообщении |
|
CRC |
2 |
Контрольная сумма CRC CRC рассчитывается для всего сообщения за исключением маркера начала сообщения и байтов CRC |
Расчет CRC |