Перейти в хранилище документации
Обратиться в техническую поддержку
Объект BACNET соответствует системному объекту BacNet.
От объекта BACNET поступают события, представленные в таблице. Запуск процедур происходит при возникновении соответствующего события. Формат процедуры событий для объекта BacNet:
OnEvent("BACNET","_id_","_событие_")
Описание событий от объекта BACNET:
Событие | Описание события |
ERROR | Получено сообщение об ошибке |
EVENT_OCCURES | Подтверждение получения сообщения |
WRITE_OCCURES | Подтверждение выполнения записи |
WRITE_RESULT | Результат выполнения записи |
Формат оператора для описания действий с объектом BacNet:
DoReact("BACNET","_id_","_команда_" [,"_параметры_"]);
Список команд и параметров для объекта BACNET представлен в таблице.
Команда – описание команды | Параметры | Описание параметров |
WRITE – отправить значение в устройство BACnet | bacnet_application_tag<> | Тип данных. Возможные значения: NULL = 0 BOOLEAN = 1 UNSIGNED INT = 2 SIGNED INT = 3 REAL = 4 DOUBLE = 5 OCTET STRING = 6 CHARACTER STRING = 7 BIT STRING = 8 |
bacnet_value<> | Значение параметра | |
bacnet_objtype<> | Тип объекта: ANALOG INPUT = 0 ANALOG OUTPUT = 1 ANALOG VALUE = 2 BINARY INPUT = 3 BINARY OUTPUT = 4 BINARY VALUE = 5 | |
bacnet_instance<> | Уникальный глобальный идентификатор устройства BACnet | |
bacnet_property_id<> | Идентификатор свойства | |
bacnet_device_id<> | Идентификатор устройства BACnet в системе | |
EVENT – отправить сообщение в устройство BACnet | event_type<> | Тип события |
from_state<> | Перевод из состояния | |
to_state<> | Перевод в состояние | |
message_text<> | Название события |
Примеры. Код примеров приведен на языке JScript – см. Руководство по программированию (LScript).
Запись в объект с помощью скрипта.
var msg = CreateMsg(); //bacnet_application_tag var BACNET_APPLICATION_TAG_NULL = 0; var BACNET_APPLICATION_TAG_BOOLEAN = 1; var BACNET_APPLICATION_TAG_UNSIGNED_INT = 2; var BACNET_APPLICATION_TAG_SIGNED_INT = 3; var BACNET_APPLICATION_TAG_REAL = 4; var BACNET_APPLICATION_TAG_DOUBLE = 5; var BACNET_APPLICATION_TAG_OCTET_STRING = 6; var BACNET_APPLICATION_TAG_CHARACTER_STRING = 7; var BACNET_APPLICATION_TAG_BIT_STRING = 8; //bacnet_objtype var OBJECT_ANALOG_INPUT = 0; var OBJECT_ANALOG_OUTPUT = 1; var OBJECT_ANALOG_VALUE = 2; var OBJECT_BINARY_INPUT = 3; var OBJECT_BINARY_OUTPUT = 4; var OBJECT_BINARY_VALUE = 5; //bacnet_property_id var PROP_PRESENT_VALUE = 85; msg.StringToMsg("BACNETINT|1|WRITE"); msg.SetParam("bacnet_application_tag", BACNET_APPLICATION_TAG_UNSIGNED_INT); msg.SetParam("bacnet_value",30); msg.SetParam("bacnet_objtype",OBJECT_ANALOG_VALUE); msg.SetParam("bacnet_instance",0); msg.SetParam("bacnet_property_id",PROP_PRESENT_VALUE); msg.SetParam("bacnet_device_id",12345); DoReact(msg);
В случае успешного выполнения скрипта в Отладочном окне появится событие
Event : BACNETINT|1|WRITE_OCCURES|sender<Udp:47808>,slave_id<ASUS>,fraction<186>,invoke_id<43>,owner<ASUS>,module<bacnetint.vshost.exe>,date<27-11-18>,value<PROP_PRESENT_VALUE>,guid_pk<{E23BD6CB-19F2-E811-8B83-C860008A29F9}>,object_id<OBJECT_ANALOG_VALUE:0>,core_global<1>,adr<192.168.0.197:56747>,time<10:55:33>,source_guid<557367ce-19f2-e811-8b83-c860008a29f9>
Генерация события
DebugLogString("Script2"); var msg = CreateMsg(); msg.StringToMsg("BACNETINT|1|EVENT"); msg.SetParam("event_type", "0"); msg.SetParam("from_state", "1"); msg.SetParam("to_state", "0"); msg.SetParam("message_text", "test_text1!"); DoReact(msg);
Если модуль получит событие, то в Отладочном окне будет отображено следующее событие:
Event : BACNETINT|1|EVENT_OCCURES|sender<Udp:47808>,slave_id<ASUS>,fraction<683>,owner<ASUS>,event_type<EVENT_CHANGE_OF_BITSTRING>,module<bacnetint.vshost.exe>,message_text<test_text1!>,date<27-11-18>,guid_pk<{6D34BA08-1CF2-E811-8B83-C860008A29F9}>,from_state<EVENT_STATE_FAULT>,core_global<1>,adr<192.168.0.197:57878>,to_state<EVENT_STATE_NORMAL>,time<11:11:34>,source_guid<bd51a40d-1cf2-e811-8b83-c860008a29f9>