API - Список регистров
Для получения списка всех регистров необходимо выполнить GET-запрос на URL вида http://192.168.1.1/api/registers.
Для получения информации о конкретном регистре необходимо выполнить GET-запрос на URL вида http://192.168.1.1/api/registers/1. Здесь 1 - это ID нужного регистра.
В заголовках запроса ноебходимо передать API key. Например:
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
Также в заголовках необходимо указать желаемый формат обмена данными. Сейчас поддерживатеся работа только с форматом JSON.
Accept: application/json Content-Type: application/json
Пример запроса списка регистров:
URL: http://192.168.1.1/api/registers
Method: GET
Заголовки:
Accept: application/json Content-Type: application/json Accept-Encoding: gzip, deflate, sdch X-WH-APIKEY:F3C74230818DA487BB2017CE5D0290F4DABCAFD7
Пример ответа:
[ { "id": "1", "plcid": "2", "title": "Идет упаковка", "addr": "M1.0", "modbusAddr": "", "type": "0", "dictid": "0", "value_format": "0", "multiplicator": "", "shift": "", "save_to_log": "0", "measureUnits": "", "has_normal": "0", "normal_regid": "0", "normal_regid2": "0", "normal_dynamic_value": "0", "normal_binary_value": "", "normal_binary_text": "", "normal_color": "#33d356", "normal_min_regid": "-1", "normal_min_delta": "", "normal_max_regid": "-1", "normal_max_delta": "", "normal_min_val": "", "normal_max_val": "", "has_disabled": "0", "disabled_regid": "0", "disabled_regid2": "0", "disabled_dynamic_value": "0", "disabled_binary_value": "", "disabled_binary_text": "", "disabled_color": "#cccccc", "disabled_min_regid": "-1", "disabled_min_delta": "", "disabled_max_regid": "-1", "disabled_max_delta": "", "disabled_min_val": "", "disabled_max_val": "", "has_warning": "0", "warning_regid": "0", "warning_regid2": "0", "warning_dynamic_value": "0", "warning_binary_value": "", "warning_binary_text": "", "warning_color": "#f0b417", "warning_min_regid": "-1", "warning_min_delta": "", "warning_max_regid": "-1", "warning_max_delta": "", "warning_min_val": "", "warning_max_val": "", "has_alert": "0", "alert_regid": "0", "alert_regid2": "0", "alert_dynamic_value": "0", "alert_binary_value": "", "alert_binary_text": "", "alert_color": "#ee434d", "alert_min_regid": "-1", "alert_min_delta": "", "alert_max_regid": "-1", "alert_max_delta": "", "alert_min_val": "", "alert_max_val": "", "timeformat": "Y-m-d H:i:s", "log_tolerance": "", "precision_digits": "", "min_log_interval": "", "max_log_interval": "", "max_graph_interval": "", "max_allowed_value": "", "min_allowed_value": "", "rw_mode": "", "min_reasonable_value": "", "max_reasonable_value": "", "save_graph_data": "0", "graph_interval": "1", "graph_color": "#ff0000", "disabled": "0", "nocloud": "", "delta": "0", "delay": "0" }, { "id": "2", "plcid": "2", "title": "Рецепт", "addr": "VW100", "modbusAddr": "", "type": "2", "dictid": "1", "value_format": "0", "multiplicator": "", "shift": "", "save_to_log": "0", "measureUnits": "", "has_normal": "0", "normal_regid": "0", "normal_regid2": "0", "normal_dynamic_value": "0", "normal_binary_value": "", "normal_binary_text": "", "normal_color": "#32d355", "normal_min_regid": "-1", "normal_min_delta": "", "normal_max_regid": "-1", "normal_max_delta": "", "normal_min_val": "", "normal_max_val": "", "has_disabled": "0", "disabled_regid": "0", "disabled_regid2": "0", "disabled_dynamic_value": "0", "disabled_binary_value": "", "disabled_binary_text": "", "disabled_color": "#cccccc", "disabled_min_regid": "-1", "disabled_min_delta": "", "disabled_max_regid": "-1", "disabled_max_delta": "", "disabled_min_val": "", "disabled_max_val": "", "has_warning": "0", "warning_regid": "0", "warning_regid2": "0", "warning_dynamic_value": "0", "warning_binary_value": "", "warning_binary_text": "", "warning_color": "#f0b416", "warning_min_regid": "-1", "warning_min_delta": "", "warning_max_regid": "-1", "warning_max_delta": "", "warning_min_val": "", "warning_max_val": "", "has_alert": "0", "alert_regid": "0", "alert_regid2": "0", "alert_dynamic_value": "0", "alert_binary_value": "", "alert_binary_text": "", "alert_color": "#ee434d", "alert_min_regid": "-1", "alert_min_delta": "", "alert_max_regid": "-1", "alert_max_delta": "", "alert_min_val": "", "alert_max_val": "", "timeformat": "Y-m-d H:i:s", "log_tolerance": "", "precision_digits": "", "min_log_interval": "", "max_log_interval": "", "max_graph_interval": "", "max_allowed_value": "", "min_allowed_value": "", "rw_mode": "", "min_reasonable_value": "", "max_reasonable_value": "", "save_graph_data": "0", "graph_interval": "1", "graph_color": "#ff0000", "disabled": "0", "nocloud": "", "delta": "0", "delay": "0" }, { "id": "3", "plcid": "2", "title": "Счетчик упаковок", "addr": "С1", "modbusAddr": "", "type": "3", "dictid": "0", "value_format": "0", "multiplicator": "", "shift": "", "save_to_log": "0", "measureUnits": "", "has_normal": "0", "normal_regid": "0", "normal_regid2": "0", "normal_dynamic_value": "0", "normal_binary_value": "", "normal_binary_text": "", "normal_color": "#33d356", "normal_min_regid": "-1", "normal_min_delta": "", "normal_max_regid": "-1", "normal_max_delta": "", "normal_min_val": "", "normal_max_val": "", "has_disabled": "0", "disabled_regid": "0", "disabled_regid2": "0", "disabled_dynamic_value": "0", "disabled_binary_value": "", "disabled_binary_text": "", "disabled_color": "#cccccc", "disabled_min_regid": "-1", "disabled_min_delta": "", "disabled_max_regid": "-1", "disabled_max_delta": "", "disabled_min_val": "", "disabled_max_val": "", "has_warning": "0", "warning_regid": "0", "warning_regid2": "0", "warning_dynamic_value": "0", "warning_binary_value": "", "warning_binary_text": "", "warning_color": "#f0b417", "warning_min_regid": "-1", "warning_min_delta": "", "warning_max_regid": "-1", "warning_max_delta": "", "warning_min_val": "", "warning_max_val": "", "has_alert": "0", "alert_regid": "0", "alert_regid2": "0", "alert_dynamic_value": "0", "alert_binary_value": "", "alert_binary_text": "", "alert_color": "#ee434d", "alert_min_regid": "-1", "alert_min_delta": "", "alert_max_regid": "-1", "alert_max_delta": "", "alert_min_val": "", "alert_max_val": "", "timeformat": "Y-m-d H:i:s", "log_tolerance": "", "precision_digits": "", "min_log_interval": "", "max_log_interval": "", "max_graph_interval": "", "max_allowed_value": "", "min_allowed_value": "", "rw_mode": "", "min_reasonable_value": "", "max_reasonable_value": "", "save_graph_data": "0", "graph_interval": "1", "graph_color": "#ff0000", "disabled": "0", "nocloud": "", "delta": "0", "delay": "0" } ]
Пример запроса информации о регистре номер 2:
URL: http://192.168.1.1/api/registers/2
Method: GET
Заголовки:
Accept: application/json Content-Type: application/json Accept-Encoding: gzip, deflate, sdch X-WH-APIKEY:F3C74230818DA487BB2017CE5D0290F4DABCAFD7
Пример ответа:
{ "id": "2", "plcid": "2", "title": "Рецепт", "addr": "VW100", "modbusAddr": "", "type": "2", "dictid": "1", "value_format": "0", "multiplicator": "", "shift": "", "save_to_log": "0", "measureUnits": "", "has_normal": "0", "normal_regid": "0", "normal_regid2": "0", "normal_dynamic_value": "0", "normal_binary_value": "", "normal_binary_text": "", "normal_color": "#32d355", "normal_min_regid": "-1", "normal_min_delta": "", "normal_max_regid": "-1", "normal_max_delta": "", "normal_min_val": "", "normal_max_val": "", "has_disabled": "0", "disabled_regid": "0", "disabled_regid2": "0", "disabled_dynamic_value": "0", "disabled_binary_value": "", "disabled_binary_text": "", "disabled_color": "#cccccc", "disabled_min_regid": "-1", "disabled_min_delta": "", "disabled_max_regid": "-1", "disabled_max_delta": "", "disabled_min_val": "", "disabled_max_val": "", "has_warning": "0", "warning_regid": "0", "warning_regid2": "0", "warning_dynamic_value": "0", "warning_binary_value": "", "warning_binary_text": "", "warning_color": "#f0b416", "warning_min_regid": "-1", "warning_min_delta": "", "warning_max_regid": "-1", "warning_max_delta": "", "warning_min_val": "", "warning_max_val": "", "has_alert": "0", "alert_regid": "0", "alert_regid2": "0", "alert_dynamic_value": "0", "alert_binary_value": "", "alert_binary_text": "", "alert_color": "#ee434d", "alert_min_regid": "-1", "alert_min_delta": "", "alert_max_regid": "-1", "alert_max_delta": "", "alert_min_val": "", "alert_max_val": "", "timeformat": "Y-m-d H:i:s", "log_tolerance": "", "precision_digits": "", "min_log_interval": "", "max_log_interval": "", "max_graph_interval": "", "max_allowed_value": "", "min_allowed_value": "", "rw_mode": "", "min_reasonable_value": "", "max_reasonable_value": "", "save_graph_data": "0", "graph_interval": "1", "graph_color": "#ff0000", "disabled": "0", "nocloud": "", "delta": "0", "delay": "0" }
Атрибуты регистров:
id | int | Уникальный идентификатор регистра |
title | string | Название регистра |
plcid | string | Идентификатор соединения по которому будеи происходить работа с этим регистром |
addr | string | Адрес регистра |
modbusAddr | string | Адрес регистра для встроенного Modbus TCP сервера |
type | int | Идентификатор типа данных (см. ниже) |
value_format | int | Идентификатор формата данных (см. ниже) |
dictid | int | Идентификатор словаря |
multiplicator | double | Множитель для математических преобразования значения |
shift | double | Постоянная для математических преобразования значения |
save_to_log | int | 0 = не сохранять значения в лог, 1 = пероидически сохранять значения в лог |
measureUnits | string | Единицы измерения (метры, вольты и т.п.) |
has_normal | int | 1 = регистр имеет номарльное состояние, 0 = нормального состояния нет |
normal_regid | int | Идентификатор регистра для сравнения (для регистров типа бит) |
normal_regid2 | int | Идентификатор второго регистра для сравнения (для регистров типа бит) |
normal_dynamic_value | int | 1 = сравнивать значение регистра со значениями из других регистров, 0 = сравнивать значение регистра с константами |
normal_binary_value | int | Бинарное значение (1 или 0) которое включает нормальное состояние регистра |
normal_binary_text | string | Текст для отображения нормального состояния |
normal_color | string | Цвет нормального состояния |
normal_min_regid | int | Идентификатор регистра с минимальным значеним при диначимеском сравнении |
normal_min_delta | string | Дельта с минимальным значеним при диначимеском сравнении |
normal_max_regid | int | Идентификатор регистра с максимальным значеним при диначимеском сравнении |
normal_max_delta | string | Дельта с максимальным значеним при диначимеском сравнении |
normal_min_val | double | Минимальное значение при обычном сравнении |
normal_max_val | double | Максимальное значение при обычном сравнении |
has_disabled | int | 1 = регистр имеет выключенное состояние, 0 = выключенного состояния нет |
disabled_regid | int | Идентификатор регистра для сравнения (для регистров типа бит) |
disabled_regid2 | int | Идентификатор второго регистра для сравнения (для регистров типа бит) |
disabled_dynamic_value | int | 1 = сравнивать значение регистра со значениями из других регистров, 0 = сравнивать значение регистра с константами |
disabled_binary_value | int | Бинарное значение (1 или 0) которое включает выключенное состояние регистра |
disabled_binary_text | string | Текст для отображения выключенного состояния |
disabled_color | string | Цвет выключенного состояния |
disabled_min_regid | int | Идентификатор регистра с минимальным значеним при диначимеском сравнении |
disabled_min_delta | string | Дельта с минимальным значеним при диначимеском сравнении |
disabled_max_regid | int | Идентификатор регистра с максимальным значеним при диначимеском сравнении |
disabled_max_delta | string | Дельта с максимальным значеним при диначимеском сравнении |
disabled_min_val | double | Минимальное значение при обычном сравнении |
disabled_max_val | double | Максимальное значение при обычном сравнении |
has_warning | int | 1 = регистр имеет состояние предупреждения, 0 = состояния предупреждения нет |
warning_regid | int | Идентификатор регистра для сравнения (для регистров типа бит) |
warning_regid2 | int | Идентификатор второго регистра для сравнения (для регистров типа бит) |
warning_dynamic_value | int | 1 = сравнивать значение регистра со значениями из других регистров, 0 = сравнивать значение регистра с константами |
warning_binary_value | int | Бинарное значение (1 или 0) которое включает состояние предупреждения регистра |
warning_binary_text | string | Текст для отображения состояния предупреждения |
warning_color | string | Цвет состояния предупреждения |
warning_min_regid | int | Идентификатор регистра с минимальным значеним при диначимеском сравнении |
warning_min_delta | string | Дельта с минимальным значеним при диначимеском сравнении |
warning_max_regid | int | Идентификатор регистра с максимальным значеним при диначимеском сравнении |
warning_max_delta | string | Дельта с максимальным значеним при диначимеском сравнении |
warning_min_val | double | Минимальное значение при обычном сравнении |
warning_max_val | double | Максимальное значение при обычном сравнении |
has_alert | int | 1 = регистр имеет состояние тревоги, 0 = состояния тревоги нет |
alert_regid | int | Идентификатор регистра для сравнения (для регистров типа бит) |
alert_regid2 | int | Идентификатор второго регистра для сравнения (для регистров типа бит) |
alert_dynamic_value | int | 1 = сравнивать значение регистра со значениями из других регистров, 0 = сравнивать значение регистра с константами |
alert_binary_value | int | Бинарное значение (1 или 0) которое включает состояние тревоги регистра |
alert_binary_text | string | Текст для отображения состояния тревоги |
alert_color | string | Цвет состояния тревоги |
alert_min_regid | int | Идентификатор регистра с минимальным значеним при диначимеском сравнении |
alert_min_delta | string | Дельта с минимальным значеним при диначимеском сравнении |
alert_max_regid | int | Идентификатор регистра с максимальным значеним при диначимеском сравнении |
alert_max_delta | string | Дельта с максимальным значеним при диначимеском сравнении |
alert_min_val | double | Минимальное значение при обычном сравнении |
alert_max_val | double | Максимальное значение при обычном сравнении |
timeformat | string | Формат вывода даты и времени для регистров с типом UnixTime |
log_tolerance | double | Максимальнон пороговое изменение значения регистра при при превышении которого значение будет записано в лог |
precision_digits | int | Количество знаков после запятой для дробных чисел |
min_log_interval | int | Записывать значения в лог не реже чем каждые X секунд |
max_log_interval | int | Записывать значения в лог не чаще чем каждые X секунд |
max_graph_interval | int | Соединять точки на графие если нет данных между ними менее чем Х секунд |
max_allowed_value | double | Максимально допустимое значение которое разрешено вводить оператору |
min_allowed_value | double | Минимально допустимое значение которое разрешено вводить оператору |
rw_mode | string | Не используется |
min_reasonable_value | double | Минимально достоверное значение. При выходе за этот рубеж значение регистра будет сброшено в ноль. |
max_reasonable_value | double | Максимально достоверное значение. При выходе за этот рубеж значение регистра будет сброшено в ноль |
save_graph_data | int | Сохранять данные для построения графиков. |
graph_interval | int | Точность данных для графиков. 0 = максимальная точность (в т.ч. брать данные из лога), 1 = каждую минуту, 2 = каждые 2 минуты, 5 = каждые 5 минут, 15 = каждые 15 минут, 60 = каждые 60 минут |
graph_color | string | Цвет линии на графике |
disabled | int | 0 = регистр обрабатывается, 1 = регистр отключен |
nocloud | int | 0 = отправлять данные для графиков в облако, 1 = не отправлять данные графиков в облако |
delta | int | 0 = нормальный режим чтения, 1 = читать разницу между текущим и предыдущим значением, 2 = разница между текущим и предыдущим значением разделенная на время прошедшее между опросами этих значений (моментальная скорость) |
delay | int | Период опроса регистра в миллисекундах. Не может быть меньше чем системная скорость опроса. 0 = скорость по умолчанию. |
Идентификаторы типов данных:
0 = Bit
1 = Byte
2 = Word
3 = Double Word
4 = Unix Time
Идентификаторы форматов хранения данных:
0 = Unsigned, Integer
1 = Signed, Integer
2 = Unsigned, Fixed Point Float (0 ... +1)
3 = Signed, Fixed Point Float (-1 ... +1)
4 = Two's complement
5 = Signed, Floating Point, 32 Bits, IEEE 754
6 = Signed, Floating Point, 24 Bits
7 = Signed, Floating Point, 32 Bits, IEEE 754, Reverse Word Order