Versions Compared

Key

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

...

От объекта BACNET поступают события, представленные в таблице ниже. Запуск процедур происходит при возникновении соответствующего события. Формат процедуры событий для объекта BacNet:

Code Block
OnEvent("BACNET","_id_","_событие_")

Описание событий от объекта BACNET:

СобытиеОписание события
ERRORПолучено сообщение об ошибке
EVENT_OCCURES

Подтверждение получения сообщения

WRITE_OCCURES

Подтверждение выполнения записи
WRITE_RESULTРезультат выполнения записи

...

Code Block
DoReact("BACNET","_id_","_команда_" [,"_параметры_"]);

Список команд и параметров для объекта BACNET представлен в таблице.:

Команда – описание командыПараметрыОписание параметров

"WRITE" – отправить значение в устройство BACnetBacNet

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 – "EVENT" – отправить сообщение в устройство BACnet

event_type<>

Тип события

from_state<>

Перевод из состояния

to_state<>

Перевод в состояние

message_text<>

Название события

 Примеры. Код примеров приведен на языке JScript – см. Руководство по программированию (LScript).

Запись в объект с помощью скрипта.

Code Block
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);

В случае успешного выполнения скрипта в Отладочном окне появится событие

...

Code Block
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);

Если модуль получит событие, то в Отладочном окне будет отображено следующее событие:

...