В данном разделе описаны форматы стандартных функций. Описываются только тело функции, без фрейма. В зависимости от модели конечного устройства некоторые из стандартных функций могут не поддерживаться.
Имя структуры: DATETIME
Поле | YEAR | MONTH | DAY | HOUR | MINUTE | SECOND |
Формат | UINT8 | UINT8 | UINT8 | UINT8 | UINT8 | UINT8 |
Размер | 1 | 1 | 1 | 1 | 1 | 1 |
Описание полей:
Если все байты равны 0xFF – считать, что дата/время отсутствует. |
Имя структуры: CHMASK.
Поле | MASK |
Формат | UINT32 |
Размер | 4 |
Описание полей:
Функция:
0x04.
Запрос:
данные отсутствуют.
Ответ:
Поле | DATETIME |
Формат | DATETIME |
Размер | 6 |
Функция:
0x05.
Запрос:
Поле | DATETIME |
Формат | DATETIME |
Размер | 6 |
Ответ:
Поле | STATUS | Z1 | Z2 | Z3 |
Формат | UINT8 | UINT8 | UINT8 | UINT8 |
Размер | 1 | 1 | 1 | 1 |
Описание полей:
Функция:
0x01.
Запрос:
Поле | MASK |
Формат | CHMASK |
Размер | 4 |
Описание полей:
Ответ:
Поле | CHANNEL1 | CHANNEL2 | ... | CHANNELN |
Формат | BLOB | BLOB | BLOB | |
Размер | ? | ? | ? |
Описание полей:
Размер показаний по каналам является одинаковым, поэтому можно определить размер показания разделив полученное количество байт полезных данных на количество запрашиваемых каналов. |
Функция:
0x02.
Запрос:
Поле | MASK | CHANNEL1 | CHANNEL2 | ... | CHANNELN |
Формат | CHMASK | BLOB | BLOB | BLOB | |
Размер | 4 | ? | ? | ? |
Описание полей:
Ответ:
Поле | MASK |
Формат | CHMASK |
Размер | 4 |
Описание полей:
Функция:
0x06.
Запрос:
Поле | MASK | TYPE | DATE_START | DATE_END |
Формат | CHMASK | UINT16 | DATETIME | DATETIME |
Размер | 4 | 2 | 6 | 6 |
Описание полей:
За один запрос можно получить архив только по одному каналу, поэтому допускается устанавливать только один бит маски. |
Ответ:
Поле | MASK | DATE_START | VALUE1 | VALUE2 | ... | VALUEN |
Формат | CHMASK | DATETIME | BLOB | BLOB | BLOB | |
Размер | 4 | 6 | ? | ? | ? |
Описание полей:
В случае, если у полученного архивного показания все биты установлены – это является признаком отсутствия данных. |
Функция:
0x0A.
Запрос:
Поле | INDEX |
Формат | UINT16 |
Размер | 2 |
Описание полей:
Ответ:
Поле | VALUE |
Формат | BLOB |
Размер | 8 |
Описание полей:
Функция:
0x0B.
Запрос:
Поле | INDEX | VALUE |
Формат | UINT16 | BLOB |
Размер | 2 | 8 |
Описание полей:
Ответ:
Поле | STATUS |
Формат | UINT16 |
Размер | 2 |
Описание полей:
Функция:
0x00.
Ответ:
Поле | CODE |
Формат | UINT8 |
Размер | 1 |
Описание полей:
Стандартные коды ошибок:
На любой из запросов может быть получен ответ с ошибкой. Таким образом, при получении ответа от конечного устройства всегда необходимо проверять функцию в ответе. |