Versions Compared

Key

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


Tip

SLAVE Компьютер

DISPLAY Экран

Форматы

Формат процедуры событий для объекта Компьютер:

...

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

Формат процедуры событий для объекта Экран:

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

Формат оператора для описания действий с Экраном:

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

Примеры

Примеры использования событий и реакций объекта Компьютер:

  1. При отсутствии диска для записи архива остановить запись с камеры 2.

    Code Block
    languagecpp
    OnEvent("SLAVE","1"," NO_DISC")
    {
    	DoReact("CAM","2"," REC_STOP");
    }


  2. По Макрокоманде 1 получить глубину архива по камере 1.

    Code Block
    languagecpp
    OnEvent ("MACRO","1","RUN"){
       DoReact ("SLAVE","WS3","GET_DEPTH","cam<1>");
    }

    В результате в отладочном окне будет отображена следующая строка:

    Code Block
    languagecpp
    Event : SLAVE|WS3|ARCHIVE_DEPTH|cam<1>,core_global<1>,date<11-07-13>,depth<42>,destination_id<1>,destination_source<PROGRAM>,fraction<970>,guid_pk<{003DFC83-0CEA-E211-A437-0017C401D5C2}>,owner<WS3>,param0<01:18>,slave_id<WS3>,time<13:30:33>

    Кроме того, в Протоколе событий будет отображено событие Глубина архива, а в поле Дополнительная информация будет указана глубина архива в формате Дни:Часы. Данная информация также отображается в отладочном окне в параметре события param0<>.

Пример использования событий и реакций объекта Экран:

  1. При активировании первой временной зоны отобразить первый экран на компьютере CLIENT.

    Code Block
    languagecpp
    OnEvent("TIME_ZONE","1","ACTIVATE")
    {
    	DoReact("DISPLAY","1","ACTIVATE","macro_slave_id<CLIENT>");
    }


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

    Code Block
    languagecpp
    OnEvent("CAM",N,"MD_START")
    {
        DoReact("DISPLAY","2","DEACTIVATE","macro_slave_id<CLIENT>");
        DoReact("DISPLAY","1","ACTIVATE","macro_slave_id<CLIENT>");
    }
    
    OnEvent("BOLID_ZONE",M,"ALARM")
    {
        DoReact("DISPLAY","1","DEACTIVATE","macro_slave_id<CLIENT>");
        DoReact("DISPLAY","2","ACTIVATE","macro_slave_id<CLIENT>");
    }