Документация для версии Авто-Интеллект 5.4. Документация на другие версии [также доступна].

Предыдущая страница Общие сведения о скриптах  Приложение 3. Процедуры для взаимодействия БД Авто-Интеллект с ПО для выписки штрафов Следующая страница

В ПК Авто-Интеллект часто используются следующие скрипты.

№п/п

Назначение скрипта

Скрипт

1

Запуск программного модуля Авто-УРАГАН

if(Event.SourceType == "MACRO" && Event.SourceId == "1" && Event.Action == "RUN"){

DoReactStr("ULPR","1","START","");

}

2

Завершение работы программного модуля Авто-УРАГАН

if(Event.SourceType == "MACRO" && Event.SourceId == "1" && Event.Action == "RUN"){

DoReactStr("ULPR","1","STOP","");

}

3

Вызов окна запроса оператора по результатам найденного во внешней БД распознанного номера ТС

if(Event.SourceType == "LPRDB" && Event.SourceId == "1" && Event.Action == "SEARCH_RESULT")

{

DoReactStr("ULPR","1","STOP","");

var msg=Event.Clone();

var m=msg.GetParam("comment");

var d=msg.GetParam("date");

var number=msg.GetParam("column.0.value");

DoReactStr("DIALOG","black_list","RUN","param0<"+number+">,column.4.value<"+m+">,date<"+d+">");

}

4

Конвертация видеоролика с записью ТС, номер которого распознан, в формат AVI

function printDate(temp)

{

    var dateStr = padStr(temp.getDate())+"-"+

                  padStr(temp.getMonth()) +"-"+

                  padStr(temp.getFullYear()) +" "+

                  padStr(temp.getHours()) +":"+

                  padStr(temp.getMinutes()) +":"+

                  padStr(temp.getSeconds());

return dateStr;

}

function padStr(i)

{

if(i > 1000)

{

var temp = ""+i;

temp = temp.substr(2,2);

return  temp;

}

    return (i < 10) ? "0" + i : "" + i;

}

if(Event.Action == "NUMBER_DETECTED" && Event.SourceType=="ULPR" && Event.SourceId=="1")

{

var plate = Event.GetParam("plate");

debugger;

if(plate == "о270са99")

//if(Event.Action == "RUN" && Event.SourceType=="MACRO" && Event.SourceId=="1")

{

DoReactStr("CAM","1","REC_STOP","");

DoReactStr("CAM","1","REC","delay<500>");

var time = Event.GetParam("time");

var date = Event.GetParam("date");

var tArr = time.split(":");

var dArr = date.split("-");

var shift = new Date("20"+dArr[2],dArr[1],dArr[0],tArr[0],tArr[1], tArr[2]);

shift.setSeconds(shift.getSeconds()+30);

var time1 = printDate(shift);

var filename = date+"_"+time+".avi";

filename = filename.replace(/:/g,"_");

filename = filename.replace(/-/g,"_");

var oShell = new ActiveXObject("Shell.Application");

var commandtoRun = "C:\\Program Files (x86)\\Интеллект\\Tools\\Converter.exe";

var arguments = "\"c:\\backup\\"+filename+"\",\"1\",\" "+date+" "+time+"\",\" "+time1+"\"";

DebugLogString(arguments);

oShell.ShellExecute(commandtoRun,arguments,"","open","1");

}

}

5

Поднятие шлагбаума

if(Event.SourceType == "LPRDB" && Event.SourceId == "1" && Event.Action == "SEARCH_RESULT")

{

DoReactStr("GRELE","1","ON","");

Sleep(5000);

DoReactStr("GRELE","1","OFF","");

}

6

Запуск распознавания вручную.

Остановка распознавания вручную используется, если режим парковки отключен.

Для использования данного скрипта необходимо, чтобы на панели настройки объекта Сервер распознавания номеров, соответствующего модулю распознавания номеров CARMEN-паркинг, был установлен флажок Включить по детектору движения (см. Настройка совместной работы Сервера распознавания номеров и детектора движения ПК Интеллект).

Примечание.

Режим парковки включен, когда значение ключа реестра HKLM\SOFTWARE\ITV\INTELLECT\URMLPR\ParkingMode равно 1. В режиме парковки распознавание прекращается, если в кадре определен номер. Если режим парковки отключен, распознавание продолжается до тех пор, пока не приходит команда остановки распознавания.


Внимание!

При использовании ключа реестра ParkingMode=1 на изображении будет искаться только один номер и по нему будет выдан результат.

Для распознавателя CARMEN-паркинг время обработки одного кадра может достигать 30 секунд, т.е. при постоянном распознавании живого видео будет наблюдаться большая задержка распознавания номера. Поэтому производители CARMEN-паркинг рекомендуют начинать распознавание по какому-либо триггеру (движение в кадре, появление машины в кадре, команда оператора - как в данном примере, и т.д.). Триггером могут быть также специальные сенсоры/радары/датчики, которые могут быть интегрированы с помощью объекта Луч.

//Запуск распознавания по Макрокоманде 1

if(Event.SourceType == "MACRO" && Event.SourceId == "1" && Event.Action == "RUN"){

DoReactStr("ULPR","1","MD_START","");

}

//Остановка распознавания по Макрокоманде 2

if(Event.SourceType == "MACRO" && Event.SourceId == "1" && Event.Action == "RUN"){

DoReactStr("ULPR","1","MD_STOP","");

}