Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

В данном разделе описаны форматы стандартных функций. Описываются только тело функции, без фрейма. В зависимости от модели конечного устройства некоторые из стандартных функций могут не поддерживаться.


Table of Contents

Структура даты/времени

Имя структуры: DATETIME

ПолеYEARMONTHDAYHOURMINUTESECOND
ФорматUINT8UINT8UINT8UINT8UINT8UINT8
Размер111111

Описание полей:

  • YEAR – год. Значение отсчитывается от 2000, допустимые значения от 0 до 99.
  • MONTH – месяц. Допустимые значения от 1 до 12.
  • DAY – день месяца. Допустимые значения от 1 до 31.
  • HOUR – час. Допустимые значения от 0 до 23.
  • MINUTE – минута. Допустимые значения от 0 до 59.
  • SECOND – секунда. Допустимые значения от 0 до 59.

...

Структура маски каналов

Имя структуры: CHMASK.

ПолеMASK
ФорматUINT32
Размер4

Описание полей:

  • Mask – битовая маска каналов. Например, если установлен младший бит, значит используется канал №1. Нумерация каналов начинается с единицы.

...

данные отсутствуют.

Ответ:

ПолеDATETIME
ФорматDATETIME
Размер6

Запись текущей даты/времени

Функция:

0x05.

Запрос:

ПолеDATETIME
ФорматDATETIME
Размер6

Ответ:

ПолеSTATUSZ1Z2Z3
ФорматUINT8UINT8UINT8UINT8
Размер1111

Описание полей:

  • STATUS – результат записи. 0x00 - ошибка, 0x01 - успешно.
  • Z1, Z2, Z3 – пады (всегда нули).

Чтение каналов

Функция:

0x01.

Запрос:

ПолеMASK
ФорматCHMASK
Размер4

Описание полей:

  • Mask – битовая маска считываемых каналов.

Ответ:

ПолеCHANNEL1CHANNEL2...CHANNELN
ФорматBLOBBLOBBLOB
Размер???

Описание полей:

  • CHANNEL1, CHANNEL2, CHANNELN – показания по каналам, отсортированные по возрастанию номера канала. Формат данных варьируется и описан в таблице каналов модели конечного устройства.

...

Запись каналов

Функция:

0x02.

Запрос:

ПолеMASKCHANNEL1CHANNEL2...CHANNELN
ФорматCHMASKBLOBBLOBBLOB
Размер4???

Описание полей:

  • MASK – битовая маска записываемых каналов.
  • CHANNEL1, CHANNEL2, CHANNELN – показания по каналам, отсортированные по возрастанию номера канала. Формат данных варьируется и описан в таблице каналов модели конечного устройства.

Ответ:

ПолеMASK
ФорматCHMASK
Размер4

Описание полей:

  • Mask – битовая маска считываемых каналов.

Чтение архива по каналам

Функция:

0x06.

Запрос:

ПолеMASKTYPEDATE_STARTDATE_END
ФорматCHMASKUINT16DATETIMEDATETIME
Размер4266

Описание полей:

  • MASK – битовая маска считываемого канала. 
    Note
    titleВажно
    За один запрос можно получить архив только по одному каналу, поэтому допускается устанавливать только один бит маски.
  • TYPE – тип архива, где: 0x0001 - часовой, 0x0002 - суточный, 0x0003 - месячный и 0x0004 - получасовой (поддерживается не всеми моделями устройств).
  • DATE_START, DATE_END – начальные и конечная даты выборки архивных показаний. Если конечная дата указана позже даты последней записи архива, то устройство вправе передать меньше показаний.

Ответ:

ПолеMASKDATE_STARTVALUE1VALUE2...VALUEN
ФорматCHMASKDATETIMEBLOBBLOBBLOB
Размер46???

Описание полей:

  • MASK – битовая маска зачитываемого канала.
  • DATE_START – начальная дата архивных показаний (такая же, как и в запросе).
  • VALUE1, VALUE2, VALUEN - значения архивных показаний по зачитываемому каналу. Формат данных варьируется и описан в таблице каналов модели конечного устройства.

...

Чтение параметра

Функция:

0x0A.

Запрос:

ПолеINDEX
ФорматUINT16
Размер2

Описание полей:

  • INDEX – индекс (адрес) считываемого параметра.

Ответ:

ПолеVALUE
ФорматBLOB
Размер8

Описание полей:

  • VALUE – значение считываемого параметра. Размер поля фиксирован и ограничен 8 байтами. Формат и реальный размер параметра варьируется и описан в таблице параметров модели конечного устройства.

Запись параметра

Функция:

0x0B.

Запрос:

ПолеINDEXVALUE
ФорматUINT16BLOB
Размер28

Описание полей:

  • INDEX – индекс (адрес) записываемого параметра.
  • VALUE – записываемое значение. Размер поля фиксирован и ограничен 8 байтами. Формат и реальный размер параметра варьируется и описан в таблице параметров модели конечного устройства. В случае, если реальный размер значения параметра менее 8 байт, оставшиеся байты должны быть заполнены 0x00.

Ответ:

ПолеSTATUS
ФорматUINT16
Размер2

Описание полей:

  • STATUS – результат записи параметра, всегда 0x0000 (успешно).

Ответ с ошибкой

Функция:

0x00.

Ответ:

ПолеCODE
ФорматUINT8
Размер1

Описание полей:

  • CODE – код ошибки

...