Формат процедуры событий для объекта Макрокоманда:
OnEvent("MACRO","_id_","_событие_") |
Формат оператора для описания действий с Макрокомандами:
DoReact("MACRO","_id_","_команда_" [,"_параметры_"]); |
Функция проверки состояния объекта Макрокоманда:
CheckState ("MACRO","номер","состояние") |
Формат процедуры событий для объекта Временная зона:
OnEvent("TIME_ZONE","_id_","_событие_") |
Формат оператора для описания действий с Временной зоной:
DoReact("TIME_ZONE","_id_","_команда_" [,"_параметры_"]); |
Функция проверки состояния объекта Временная зона:
CheckState ("TIME_ZONE","номер","состояние") |
Примеры использования событий и реакций объекта Макрокоманда:
Необходимо записать текущее положение видеокамеры в 1 пресет при выполнении макрокоманды 1.
OnEvent("MACRO","1","RUN")
{
DoReact("TELEMETRY","1","SET_PRESET","TEL_PRIOR<1>");
} |
Необходимо выполнить макрокоманду 2, если камера 1 поставлена на охрану.
OnEvent("CAM","1","ARM")
{
DoReact("MACRO", "2", "RUN");
} |
Запускать и останавливать патрулирование поворотного устройства по макрокомандам.
OnEvent("MACRO","1","RUN")
{
DoReact("TELEMETRY","1.1","PATROL_PLAY","tel_prior<1>");
}
OnEvent("MACRO","2","RUN")
{
DoReact("TELEMETRY","1.1","STOP","tel_prior<1>");
} |
Пример бесконечного цикла и выхода из него. Старт цикла по макрокоманде 1, остановка по макрокоманде 2.
OnEvent("MACRO","1","RUN") //при запуске макрокоманды 1
{
//квадратные скобки нужны для выделения оператора ожидания в отдельный поток
[
flag=1;
for(a=1;flag<2;a=1) //оператор цикла
{
Sleep(500); //оператор ожидания создает паузу в 500 миллисекунд
ff="!!!!!!!!!!!!!!!!!!";
}
]
}
OnEvent("MACRO","2","RUN") //при запуске макрокоманды 2
{
flag=2;
} |
Пример использования событий и реакций объекта Временная зона:
При активировании первой временной зоны вывести на монитор видеоизображение с камеры 1.
OnEvent("TIME_ZONE","1","ACTIVATE")
{
DoReact("CAM", "1", "ACTIVATE", "MONITOR<1>");
} |