Раздел: Документация
1 ... 199 200 201 202 203 204 205 ... 364 DoReact( TELEMETRY , 1.2 , GO PRESET , preset<1>,tel prior<1> ); DoReact( MONITOR , 1 , EXPORT FRAME , cam<2>,file<d:\ +name); if(strequal(M, 15 )) 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; DoReact( TELEMETRY , 1.2 , GO PRESET , preset<1>,tel prior<1> ); DoReact( MONITOR , 1 , EXPORT FRAME , cam<2>,file<d:\ +name); if(strequal(M, 30 )) 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; DoReact( TELEMETRY , 1.2 , GO PRESET , preset<1>,tel prior<1> ); DoReact( MONITOR , 1 , EXPORT FRAME , cam<2>,file<d:\ +name); if(strequal(M, 45 )) 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; DoReact( TELEMETRY , 1.2 , GO PRESET , preset<1>,tel prior<1> ); DoReact( MONITOR , 1 , EXPORT FRAME , cam<2>,file<d:\ +name); Пример 9 Есть 2 экрана, первый отображает виртуальный монитор с камерами, второй отображает объект Карта с датчиками ОПС Болид Задача. При сработке тревоги по камере - показывается Экран 1, при сработке тревоги от датчика -показывается Экран 2, но только на компьютере CLIENT. Реализация: 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 > ); Пример 10 Задача. При осуществлении прохода через считыватель СКД Аполло , показывать в течение 10 секунд диалоговое окно оператора (visitor.dlg) с отображением информации из базы данных: Идентификатор пользователя, ФИО, Год и место рождения, Сведения о документе, Сведения о прописке, К какому сотруднику пришел, Уровень допуска и Срок действия карточки. Примечание: Идентификатор пользователя известен при получении события (paraml), ФИО берется из базы с помощью функции GetObjectName, к какому сотруднику пришел, Уровень допуска и Срок действия карточки берутся из соответсвующих полей в базе (person, levelid, expired) с помощью функции GetObjectParam. Далее, в зависимости от значения Уровеня допуска берется либо его имя либо присваивается одно из стандартных значений (Полный, Запрещен). Параметры Год и место рождения, Сведения о документе, Сведения о прописке берутся из одного поля comment (идут через разделитель \ ), и разделяются далее с помощью функции extractsubstr. Переменная flag служит для того чтобы закрытие диалогового окна происходило только через 10 секунд после последней сработки считывателя , т.к. окно автоматически зарывается если поступает новое событие до истечения 10 секунд. OnEvent( AAM READER ,N, ACCESS IN ) {[ flag=param1; idn=param1; fio=GetObjectName( PERSON ,idn); gmi=extract substr(GetObjectParam( PERSON ,idn, comment ), ,0); doc=extract substr(GetObjectParam( PERSON ,idn, comment ), ,1); prp=extract substr(GetObjectParam( PERSON ,idn, comment ), ,2); sot=GetObjectParam( PERSON ,idn, person ); dat=GetObjectParam( PERSON ,idn, expiied ); lev=GetObjectParam( PERSON ,idn, level id ); DoReact( DIALOG , visitor , CLOSE ALL ); if(strequal(lev, )) {lev=GetObjectParam( DEPARTMENT ,GetObjectParam( PERSON , idn, parent id ), level id );} if(strequal(lev, - )) {lev= Доступ запрещен ;} else {if(strequal(lev, * )) {lev= Полный доступ ;} else {if(strequal(lev, )) {lev= Доступ запрещен ;} else {lev=GetObjectName( LEVEL ,lev);}}} DoReact( DIALOG , visitor , RUN , idn< +idn+ >,fio< +fio+ >,gmr< +gmr+ >,doc< +doc + >,prp< +prp+ >,sot< +sot+ >,dat< +dat+ >,lev< +lev+ > ); Wait (10); if(strequal(flag,param1)) {DoReact( DIALOG , visitor , CLOSE ALL );} ]} Пример 11 Микрофон (OLXALINE) пишется не синхронно с камерой. По умолчанию микрофон не стоит на охране. Задача. Писать звук как по аккустопуску, так и по детекции от камеры. Примечание: Команды RECORDSTART, RECORDSTOP для микрофона добавлены с версии 4.7.0 На сработку аккустопуска (ACCU START) и детектора движения (MD START) включается принудительная запись звука и увеличивается на единицу переменная flag. При окончании аккустопуска и детекции движения переменная flag уменьшается на единицу и запись звука 1 ... 199 200 201 202 203 204 205 ... 364
|