You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Форматы

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

OnEvent("TELEMETRY ","_id_","_событие_")

Формат оператора для описания действий с Поворотными устройствами:

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

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

OnEvent("TELEMETRY_EXT ","_id_","_событие_")

Формат оператора для описания действий с Пультом управления:

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

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

OnEvent("JOYSTICK","_id_","_событие_")

Примеры

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

  1. Необходимо установить автофокусирование, когда видеокамеру 1 ставят на охрану.

    OnEvent("CAM","1","ARM")
    {
    	DoReact("TELEMETRY","1", "AUTOFOCUS_ON");
    }
  2. Необходимо повернуть видеокамеру в положение, заданное в первом пресете, при включении реле.

    OnEvent("GRELE","1","ON")
    {
    	telemetry_id= GetObjectParam("CAM","1","parent_id");
    	DoReact("TELEMETRY","telemetry_id","SETUP","GO_preset<1>");
    }
  3. Записать маршрут патрулирования для Камеры 1, соответствующей Поворотному устройству 1.1. Маршрут состоит из двух точек, таких, что для перехода из точки 1 в точку 2 необходимо поворачивать камеру влево со скоростью 6 в течение 2 секунд. Патрулирование должно осуществляться со скоростью 10. Время нахождения в каждой точке маршрута – 25 секунд. Предполагается, что в момент начала выполнения программы камера установлена в положение, соответствующее первой точке маршрута.

    OnEvent("MACRO","1","RUN")
    {
    	DoReact("TELEMETRY","1.1","PATROL_LEARN","cam<1>,preset<1>,tel_prior<1>,dwell<25>,speed<10>,flush_tour<0>");
    	Wait(2);
    	DoReact("TELEMETRY","1.1","LEFT","speed<6>,tel_prior<1>");
    	Wait(2);
    	DoReact("TELEMETRY","1.1","STOP","speed<6>,tel_prior<1>");
    	Wait(2);
    	DoReact("TELEMETRY","1.1","PATROL_LEARN","cam<1>,preset<2>,tel_prior<1>,dwell<25>,speed<10>,flush_tour<1>");
    }
  4. Есть 2 камеры с поворотными устройствами. Каждые 15 минут нужно повернуть камеры в пресет №1 (предустановка №1) и сделать скриншот. Имя файла – текущее время.

    OnTime(W,D,X,Y,H,M, "01")
    {
        if(strequal(M,"0"))
        {
            name=H+"_"+M+"_"+S+".jpg";
            //Камера 1 Поворотное устройство 1.1
            name1="Камера1 "+name;
            DoReact("TELEMETRY","1.1","GO_PRESET","preset<1>,tel_prior<1>");
            DoReact("MONITOR","1","EXPORT_FRAME","cam<1>,file<d:\"+name1);
            //Камера 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,"15"))
        {
            name=H+"_"+M+"_"+S+".jpg";
            //Камера 1 Поворотное устройство 1.1
            name1="Камера1 "+name;
            DoReact("TELEMETRY","1.1","GO_PRESET","preset<1>,tel_prior<1>");
            DoReact("MONITOR","1","EXPORT_FRAME","cam<1>,file<d:\"+name1);
            //Камера 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
            name1="Камера1 "+name;
            DoReact("TELEMETRY","1.1","GO_PRESET","preset<1>,tel_prior<1>");
            DoReact("MONITOR","1","EXPORT_FRAME","cam<1>,file<d:\"+name1);
            //Камера 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
            name1="Камера1 "+name;
            DoReact("TELEMETRY","1.1","GO_PRESET","preset<1>,tel_prior<1>");
            DoReact("MONITOR","1","EXPORT_FRAME","cam<1>,file<d:\"+name1);
            //Камера 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);
        }
    }

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

По нажатию клавиши 15 на клавиатуре AXIS T8312 включить на ней лампочку и поставить камеру 2 на охрану.

OnEvent ("TELEMETRY_EXT","1","KEY_PRESSED")
{
	if (strequal(param0, "15")){
		DoReact("TELEMETRY_EXT","1","RELE_ON","rele<15>");
		DoReact("CAM","2","ARM");
	}
}
  • No labels