...
A continuación, se pueden encontrar algunos ejemplos de scripts.
Ejemplo 1.
Mostrar cámara activa en la pantalla del monitor análogo.
...
Code Block |
---|
OnEvent ("MONITOR","1","ACTIVATE_CAM") { DoReact("CAM",cam,"MUX1"); } |
Ejemplo 2.
Iniciar y detener vigilancia PTZ mediante macros.
...
Code Block |
---|
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>"); } |
Ejemplo 3.
Mostrar en pantalla una cámara de alarma en el modo de monitor único.
...
Code Block |
---|
OnEvent ("CAM",N,"MD_START") { DoReact("MONITOR","1","ACTIVATE_CAM","cam<"+N+">"); DoReact("MONITOR","1","KEY_PRESSED","key<SCREEN.1>"); } |
Ejemplo 4.
Aquí se muestra un ejemplo de bucle infinito y la forma de detenerlo. La macro1 inicia el bucle y la macro2 lo detiene.
...
Code Block |
---|
OnEvent("MACRO","1","RUN") //la macro1 se ha ejecutado { //se necesitan corchetes para aislar la sentenciade espera en cada flujo individual [ flag=1; for(a=1;flag<2;a=1) //sentencia de ciclo { Sleep(500); //la sentencia de espera crea una pausa de 500 milisegundos ff="!!!!!!!!!!!!!!!!!!"; } ] } OnEvent("MACRO","2","RUN") // la macro2 se ha ejecutado { flag=2; } |
Ejemplo 5.
Un monitor de alarma de video de la cámara de alarma está siempre encendido.
...
Code Block |
---|
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+">"); } } |
Ejemplo 6.
Se reproducirá un archivo de audio a partir del momento en que aparece un evento y finalizarácuando un nuevo evento aparezca.(Una macro se ejecuta en este caso).
...
Code Block |
---|
OnEvent("MACRO","1","RUN") { flag=1; [ for(i=1;flag;i=1) { DoReact("PLAYER","1","PLAY_WAV","file<C:\Program Files\Intellect\Wav\cam_alarm_1.wav>"); Wait(3); } ] } OnEvent("MACRO","8","RUN") { flag=0; } |
Ejemplo 7.
Hay 2 cámaras con dispositivos PTZ. Una cámara debe rotar a la posición predeterminada y captar una instantánea cada 15 minutos. La hora actualizada es el nombre del archivo.
...
Code Block |
---|
OnTime(W,D,X,Y,H,M, "01") { if(strequal(M,"0")) { name=H+"_"+M+"_"+S+".jpg"; //Dispositivo PTZ 1.1 de la cámara 1 name1="Camera1"+name; DoReact("TELEMETRY","1.1","GO_PRESET","preset<1>,tel_prior<1>"); DoReact("MONITOR","1","EXPORT_FRAME","cam<1>,file<d:\"+name1); //Dispositivo PTZ 1.2 de la cámara 2 name="Camera2"+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,"15")) { name=H+"_"+M+"_"+S+".jpg"; //Dispositivo PTZ 1.1 de la cámara 1 name1="Camera1"+name; DoReact("TELEMETRY","1.1","GO_PRESET","preset<1>,tel_prior<1>"); DoReact("MONITOR","1","EXPORT_FRAME","cam<1>,file<d:\"+name1); //Dispositivo PTZ 1.2 de la cámara 2 name="Camera2"+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"; // Dispositivo PTZ 1.1 de la cámara 1 name1="Camera1"+name; DoReact("TELEMETRY","1.1","GO_PRESET","preset<1>,tel_prior<1>"); DoReact("MONITOR","1","EXPORT_FRAME","cam<1>,file<d:\"+name1); //Dispositivo PTZ 1.2 de la cámara 2 name="Camera2"+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"; // Dispositivo PTZ 1.1 de la cámara 1 name1="Camera1"+name; DoReact("TELEMETRY","1.1","GO_PRESET","preset<1>,tel_prior<1>"); DoReact("MONITOR","1","EXPORT_FRAME","cam<1>,file<d:\"+name1); //Dispositivo PTZ 1.2 de la cámara 2 name="Camera2"+name; DoReact("TELEMETRY","1.2","GO_PRESET","preset<1>,tel_prior<1>"); DoReact("MONITOR","1","EXPORT_FRAME","cam<2>,file<d:\"+name); } } |
Ejemplo 8.
El audio que proviene de un micrófono (OLXA_LINE) no se registra simultáneamente con una cámara. Por defecto, el micrófono no está conectado.El audio se grabará cuando se active mediante sonido y la cámara lo detecte.
...
Code Block |
---|
OnInit() { flag=0; } OnEvent("CAM","3","MD_START") { flag=str(flag+1); DoReact("OLXA_LINE","1","RECORD_START"); } OnEvent("OLXA_LINE","1","ACCU_START") { flag=str(flag+1); DoReact("OLXA_LINE","1","RECORD_START"); } OnEvent("OLXA_LINE","1","ACCU_STOP") { flag=str(flag-1); if(!(flag)) { DoReact("OLXA_LINE","1","RECORD_STOP"); } } OnEvent("CAM","3","MD_STOP") { flag=str(flag-1); if(!(flag)) { DoReact("OLXA_LINE","1","RECORD_STOP"); } } |
Ejemplo 9.
El sistema cuenta con varias cámaras (núm).Se debe comprobar el funcionamiento de la detección de movimiento en todas las cámaras (también se puede utilizar para comprobar los sensores de seguridad).
...
Code Block |
---|
OnInit() { run=0; } OnEvent("MACRO","1","RUN") { run=1; flag=""; num=8; for(i=1;i<str(num+1);i=str(i+1)) { DoReact("CAM",i,"DISARM"); DoReact("CAM",i,"REC_STOP"); DoReact("CAM",i,"ARM"); flag=flag+"N"; if(i<num) { flag=flag+"|";} } } OnEvent("CAM",N,"MD_START") { if(run) { nn=str((N*2)-1); flag=strleft(flag,str(nn-1))+"Y"+strright(flag,str(((num*2)-1)-nn)); } } OnEvent("MACRO","2","RUN") { run=0; fin=0; for(i=1;i<str(num+1);i=str(i+1)) { tmp=extract_substr(flag,"|",str(i-1)); if(strequal(tmp,"Y")) { fin=str(fin+1); } DoReact("CAM",i,"DISARM"); } tmp="Total:"+str(num)+"Triggered:"+str(fin); rez=MessageBox("",tmp,0); } |
Ejemplo 10.
Vigile varias zonas utilizando accionespredefinidas de dispositivos PTZ; la detección de movimiento se debe activar en alguna área de estas zonas.
...
Code Block |
---|
OnEvent("MACRO","1","RUN") { flag=1; n=5; [ for(i=1;flag;i=str(i+1)) { DoReact("TELEMETRY","1.1","GO_PRESET","preset<"+i+">,tel_prior<3>"); Sleep(200); DoReact("CAM_ZONE","1"+i,"ARM"); Wait(5); DoReact("CAM_ZONE","1"+i,"DISARM"); if(strequal(i,n)) {i=0;} } ] } OnEvent("MACRO","2","RUN") { flag=0; } |
Ejemplo 11.
Tenemos 2 pantallas – la primera muestra un monitor virtual con cámaras; la segunda muestra el objeto Mapa con sensores Bolid. Cuando la cámara hace saltar la alarma – se muestra la pantalla 1; cuando el sensor activa la alarma – se muestra la pantalla 2, pero solamente en el CLIENTE REMOTO.
...
Code Block |
---|
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 >"); } |
Ejemplo 12.
Añada subtítulos al video de la cámara 1 cuando un evento de alarma aparezca en esta cámara. Cuando el evento de alarma finalice, añada subtítulos que indiquen el fin de la alarma.
...