Перейти в хранилище документации
Обратиться в техническую поддержку
...
Tip |
---|
Для корректной работы скрипта в ПК
...
Интеллект
...
предварительно должны быть созданы и настроены объекты
...
Детектор длины очереди
...
(входит в состав пакета детекторов Detector Pack),
...
Камера
...
и
...
Титрователь
...
(ниже вместо символов N, M, L нужно подставить соответствующие номера Детектора длины очереди, Камеры и Титрователя).
Code Block | ||
---|---|---|
| ||
//Считывание события по длине очереди if (Event.SourceType == "OCCUPANCY_COUNTER" && Event.SourceId == "N" && Event.Action == "OCCUPANCY") //N - Номер Детектора длины очереди { var n=Event.GetParam("occupancy"); //Отображение длины очереди через Титрователь в Мониторе DoReactStr("CAM","M","CLEAR_SUBTITLES","title_id<L>"); //M - Номер Камеры L - Номер Титрователя DoReactStr("CAM","M","ADD_SUBTITLES","command<Длина очереди: "+n+" чел.\r>,page<BEGIN>,title_id<L>"); //M, L - то же } |
В результате при отображении соответствующей камеры в мониторе Мониторе на видеоизображение будет накладываться текстовое сообщение о текущей длине очереди.
Настройки шрифта, цвета и положения надписи настраиваются на панели настройки объекта Титрователь.
Info | ||
---|---|---|
| ||
При использовании параметров page<BEGIN> и page<END> будут заполняться соответствующие поля в базе титров, что даст возможность производить поиск данных с помощью интерфейсного объекта Поиск по титрам. |
Для корректной работы скрипта в ПК Интеллект предварительно должны быть созданы и настроены объекты Детектор подсчета посетителей (входит в состав пакета детекторов Detector Pack), Камера, Титрователь и Макрокоманда (ниже вместо символов N, M, L, P нужно подставить соответствующие номера Детектора подсчета посетителей, Камеры, Титрователя и Макрокоманды).
Code Block | ||
---|---|---|
| ||
//Считывание события и подсчет вошедших посетителей if (Event.SourceType == "PEOPLE_COUNTER" && Event.SourceId == "N" && Event.Action == "IN") //N - Номер Детектора подсчета посетителей { i = Itv_var("counter_i"); k = Itv_var("counter_k"); i++; Itv_var("counter_i")=i; //Отображение количества посетителей через Титрователь в Мониторе DoReactStr("CAM","M","CLEAR_SUBTITLES","title_id<L>"); //M - Номер Камеры L - Номер Титрователя DoReactStr("CAM","M","ADD_SUBTITLES","command<Кол-во посетителей (вх./вых.): "+i+" / "+k+"\r>,page<BEGIN>,title_id<L>"); //M, L - то же } //Считывание события и подсчет вышедших посетителей if (Event.SourceType == "PEOPLE_COUNTER" && Event.SourceId == "N" && Event.Action == "OUT") //N - Номер Детектора подсчета посетителей { i = Itv_var("counter_i"); k = Itv_var("counter_k"); k++; Itv_var("counter_k")=k; //Отображение количества посетителей через Титрователь в Мониторе DoReactStr("CAM","M","CLEAR_SUBTITLES","title_id<L>"); //M - Номер Камеры L - Номер Титрователя DoReactStr("CAM","M","ADD_SUBTITLES","command<Кол-во посетителей (вх./вых.): "+i+" / "+k+"\r>,page<BEGIN>,title_id<L>"); //M, L - то же } //Обнуление счетчика по Макрокоманде (предварительно в Интеллекте должна быть создана Макрокоманда) if (Event.SourceType == "MACRO" && Event.SourceId == "P" && Event.Action == "RUN") //P - Номер Макрокоманды { Itv_var("counter_i")=0; Itv_var("counter_k")=0; i=0; k=0; //Отображение количества посетителей через Титрователь в Мониторе DoReactStr("CAM","M","CLEAR_SUBTITLES","title_id<L>"); //M - Номер Камеры L - Номер Титрователя DoReactStr("CAM","M","ADD_SUBTITLES","command<Кол-во посетителей (вх./вых.): "+i+" / "+k+"\r>,page<BEGIN>,title_id<L>"); //M, L - то же } |
В результате при отображении соответствующей камеры в Мониторе на видеоизображение будет накладываться текстовое сообщение о количестве вошедших и вышедших посетителей.
Info | ||
---|---|---|
| ||
При использовании параметров page<BEGIN> и page<END> будут заполняться соответствующие поля в базе титров, что даст возможность искать данные с помощью интерфейсного объекта Поиск по титрам. |
Настройки шрифта, цвета и положения надписи настраиваются на панели настройки объекта Титрователь (см. Настройка вывода титров поверх видеоизображения).
Для обнуления счетчика посетителей предварительно на вкладе Программирование создается объект Макрокоманда, название которой можно для удобства изменить, например, на «Обнуление счетчика посетителей».
Макрокоманду обнуления можно запускать как вручную через главное меню ПК Интеллект, так и автоматически в любое заданное время (для этого используется таблица События на панели настройки объекта Макрокоманда, где необходимо указать предварительно настроенный объект Временная зона). Подробные сведения об использовании объектов Макрокоманда и Временная зона изложены в документе Руководство Администратора.
Приведенный ниже пример работает только для камер, у которых в конфигурации создан пульт управления PTZ. При настройке Монитора видеонаблюдения следует для 10 кнопок джойстика выбрать действие Перейти в пресет с параметрами 1,2,3...,0 (см. Руководство по установке и настройке компонентов охранной системы, раздел Присваивание клавишам джойстика команд при помощи Монитора видеонаблюдения).
Пример. По нажатию на кнопку пульта отображать соответствующую камеру в активном Мониторе. Скрипт должен срабатывать по таймеру с ID = 1.
Info | ||
---|---|---|
| ||
Необходимо заранее создать и настроить объект Таймер, установив значение Год равным текущему году. Настройка объекта Таймер подробно описана в документе Руководство администратора, в разделе Создание и настройка объекта Таймер. |
После каждого нажатия кнопки на пульте управления необходимо ожидать нажатия следующей кнопки в течение 2 секунд. Если нажатия не произошло, то необходимо выводить на экран камеру с набранным номером.
Code Block | ||
---|---|---|
| ||
if (Event.SourceType=="TIMER" && Event.SourceId=="1" && Event.Action=="TRIGGER")
{
mon="1";
DebugLogString("на монитор "+ Itv_var("cam"));
DoReactStr("MONITOR",mon,"ACTIVATE_CAM","cam<"+Itv_var("cam")+">");
Itv_var("cam")="";
}
if (Event.GetParam("source_type")=="TELEMETRY" && Event.GetParam("action")=="GO_PRESET")
{
DoReactStr("TIMER","1","START","bound<2>");
var key=Event.GetParam("param4_val");
DebugLogString("Key:"+key);
Itv_var("cam")=Itv_var("cam")+key;
DebugLogString(Itv_var("cam"));
} |
По макрокоманде 1 выводить текст
«NNN
Titles»
(с переносом строки) поверх видеоизображения камеры 1, используя титрователь 1. По макрокоманде 2 отключать вывод этого текста.
Code Block | ||
---|---|---|
| ||
if (Event.SourceType == "MACRO" && Event.SourceId == "1" && Event.Action == "RUN")
{
DoReactStr("MONITOR","1","SET_TITLES","titles<NNN \r Titles>,cam<1>,title_id<1>");
}
if (Event.SourceType == "MACRO" && Event.SourceId == "2" && Event.Action == "RUN")
{
DoReactStr("MONITOR","1","CLEAR_TITLES","cam<1>,title_id<1>");
} |