Раздел: Документация
1 ... 198 199 200 201 202 203 204 ... 364 DoReact( TELEMETRY , 1.1 , STOP , tel prior<1> ); } Пример 3 Задача. Выводить тревожную камеру в режим однократора. Реализация: OnEvent ( CAM ,N, MD START ) DoReact ( MONITOR , 1 , ACTIVATE CAM , cam< +N+ > ); DoReact ( MONITOR , 1 , KEY PRESSED , key<SCREEN.1> ); } Пример 4 Пример вечного цикла и выхода из него (переменная run - условие выхода из цикла). Старт цикла по макрокоманде1, остановка по макрокоманде 2. Пока цикл работает, переменная i меняет значение от 1 до 10. Реализация: OnEvent( MACRO , 1 , RUN ) for(i=1;run;i=str(i+1)) if (strequal(i, 10 )) {i =0;} OnEvent( MACRO , 2 , RUN ) run=0; Пример 5 По макросу 1 оперативный архив заберет архив по камере 1 за 26.02.06. Если камер больше -добавляются соответсвующие строчки Реализация: OnEvent( MACRO , 1 , RUN ) DoReact( ARCH , 2 , START , datetime from<26-02-06 00:00:00>,cam<1>,datetime to<26- 02-06 23:59:59> ); } Пример 6 Тревожный монитор, на котором всегда остается видео от последней тревожной камеры. Реализация: OnInit() counter=0; OnEvent( CAM ,T, MD START ) if(strequal(counter, 0 )) DoReact( MONITOR , 2 , REMOVE ALL ); DoReact( MONITOR , 2 , ADD SHOW , cam< +T+ > ); counter=str(counter+1); OnEvent( CAM ,M, MD STOP ) counter=str(counter-1); if(strequal(counter, 0 )) DoReact( MONITOR , 2 , ADD SHOW , cam< +M+ > ); Пример 7 Проигрывание звукового файла от прихода одного события, до прихода другого события. (В данном случае это запуск макрокоманд). Внимание!!! Звуковой файл должен длиться не больше количества секунд, которое указано в операторе Wait. Реализация: OnEvent( MACRO , 1 , RUN ) flag=1; [for(i=1;flag;i=1) DoReact( PLAYER , 1 , PLAY WAV , file<C:\Intellect\Wav\cam alarm 1.wav> ); Wait(3); }] OnEvent( MACRO , 8 , RUN ) flag=0; Пример 8 Задача. Есть 2 камеры с поворотными устройствами. Каждые 15 минут нужно повернуть камеры в пресет 1 (предустановка 1) и сделать скриншот. Имя файла - текущее время. Реализация: OnTime(W,D,X,Y,H,M,S) if(strequal(M, 0 )) name=H+ +M+ +S+ .jpg ; Камера 1 Поворотник 1.1 name= Камера1 +name; DoReact( TELEMETRY , 1.1 , GO PRESET , preset<1>,tel prior<1> ); DoReact( MONITOR , 1 , EXPORT FRAME , cam<1>,file<d:\ +name); Камера 2 Поворотник 1.2 name= Камера2 +name; 1 ... 198 199 200 201 202 203 204 ... 364
|