Versions Compared

Key

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

...

Для наглядности и непосредственного закрепления написания скриптов ниже приведены примеры, которые помогут лучше разобраться в способах создания скриптов в системе.

Пример 1.

Выводить активную камеру на аналоговый монитор.

...

    DoReact ("CAM",cam,"MUX1");
}


Пример 2.

Запускать и останавливать патрулирование поворотного устройства по макрокомандам.

...

    DoReact("TELEMETRY","1.1","STOP","tel_prior<1>");
}


Пример 3.

Выводить тревожную камеру в режим однократера.

...

    DoReact ("MONITOR","1","KEY_PRESSED","key<SCREEN.1>");
}


Пример 4.

Пример бесконечного цикла и выхода из него. Старт цикла по макрокоманде №1, остановка по макрокоманде №2.

...

OnEvent("MACRO","2","RUN") //при запуске макрокоманды №2

{
    flag=2;
}


Пример 5.

Тревожный монитор, на котором всегда остается видео от последней тревожной камеры.

...

        DoReact("MONITOR","2","ADD_SHOW","cam<"+M+">");
    }
}


Пример 6.

Проигрывание звукового файла от прихода одного события до прихода другого события (в данном примере это запуск макрокоманд).

...

OnEvent("MACRO","8","RUN")
{
    flag=0;
}


Пример 7.

Есть 2 камеры с поворотными устройствами. Каждые 15 минут нужно повернуть камеры в пресет №1 (предустановка №1) и сделать скриншот. Имя файла – текущее время.

...

        DoReact("MONITOR","1","EXPORT_FRAME","cam<2>,file<d:\"+name);
    }
}


Пример 8.

Микрофон (OLXA_LINE) пишется не синхронно с камерой. По умолчанию микрофон не стоит на охране. Необходимо писать звук как по аккустопуску, так и по детекции от камеры.

...

        DoReact("OLXA_LINE","1","RECORD_STOP");
    }
}


Пример 9.

Есть определенное количество камер (num). Необходимо проверить работу детектора движения по всем камерам (можно использовать для проверки работоспособности датчиков охраны).

...

    rez=MessageBox("",tmp,0);
}


Пример 10.

Осуществить патрулирование нескольких зон видимости с помощью пресетов поворотной камеры, с возможностью включения детектора движения на определенных областях этих зон.

...

OnEvent("MACRO","2","RUN")
{
    flag=0;
}


Пример 11.

Есть 2 экрана, первый отображает виртуальный монитор с камерами, второй отображает объект Карта с датчиками ОПС Болид. При сработке тревоги по камере показывается Экран 1, при срабатывании тревоги от датчика показывается Экран 2, но только на компьютере CLIENT.

...

    DoReact("DISPLAY","2","ACTIVATE","macro_slave_id< CLIENT >");
}


Пример 12.

При возникновении тревоги по камере 1 накладывать титры на видеоизображение с данной камеры. При окончании тревоги накладывать титры об окончании тревоги.

...