Чтобы создавать, изменять и удалять датчики, нужно использовать команду unit/update_sensor:
svc=unit/update_sensor¶ms={"itemId":<long>, "id":<long>, "callMode":<text>, "n":<text>, "t":<text>, "d":<text>, "m":<text>, "p":<text>, "f":<uint>, "vt":<uint>, "vs":<long>, "tbl":[ { "x":<double>, "a":<double>, "b":<double> } ]}
| Название | Описание |
|---|---|
| itemId | ID объекта |
| id | ID датчика |
| callMode | действие: создание, редактирование, удаление (create, update, delete) |
| Параметры, обязательные только при создании и редактировании | |
| n | название |
| t | тип (см. ниже) |
| d | описание |
| m | единица измерения |
| p | параметр |
| f | флаги датчика (см. ниже) |
| vt | тип валидации (см. ниже) |
| vs | ID валидирующего датчика |
| tbl | таблица расчета |
Флаги датчика:
| Флаг | Описание |
|---|---|
| 0x01 | Тип счетчика: мгновенный |
| 0x02 | Тип счетчика: дифференциальный |
| 0x03 | Тип счетчика: дифференциальный с переполнением (2 байта) |
| 0x04 | Тип счетчика: переключатель из ВЫКЛ в ВКЛ |
| 0x05 | Тип счетчика: Переключатель из ВКЛ в ВЫКЛ |
Типы датчиков:
Типы валидации:
| Тип | Описание |
|---|---|
| 0x01 | Логическое И |
| 0x02 | Логическое ИЛИ |
| 0x03 | Математическое И |
| 0x04 | Математическое ИЛИ |
| 0x05 | Суммировать |
| 0x06 | Вычесть валидатор из датчика |
| 0x07 | Вычесть датчик из валидатора |
| 0x08 | Перемножить |
| 0x09 | Делить датчик на валидатор |
| 0x0A | Делить валидатор на датчик |
| 0x0B | Проверка на неравенство нулю |
При создании и редактировании:
[ <long>, /* ID датчика */ { "nm":<text>, /* название */ "tp":<text>, /* тип */ "de":<text>, /* описание */ "me":<text>, /* единица измерения */ "pn":<text>, /* параметр */ "fl":<uint>, /* флаги датчика */ "vt":<int>, /* тип валидации */ "vs":<long>, /* ID валидирующего датчика */ "tbl":[ /* таблица расчета */ { /* параметры */ "x":<double>, "a":<double>, "b":<double> } ] } ]
При удалении:
[ <long>, /* ID датчика */ null ]
|