Перейти в хранилище документации
Обратиться в техническую поддержку![]()
Если при срабатывании датчика (объект Луч) необходимо к тревожному сообщению прикрепить jpegJPEG-кадр или видеофрагмент, следует помнить, что это осуществимо только после того, как текущий файл архива будет записан на диск. Чтобы сократить время ожидания (параметр Задержка (сек.), см. раздел Настройка датчиков) и обеспечить гарантированную запись по камере, можно на вкладке Программирование в ПК Интеллект создать объект Программа Скрипт.
Данные программы написаны для камеры с идентификатором, равным 1, и для объекта Луч с идентификатором, также равным 1. Благодаря данным программам значение параметра Задержка можно установить равным 7 секундам.
| Note | ||
|---|---|---|
| ||
Для получения нескольких видеофрагментов в скрипте может быть указано несколько повторяющихся команд "REC" и "REC_STOP". Если используется откат "rollback" и время предзаписи в настройках объекта Камера больше или равно , чем время времени между последующими командами "REC_STOP" и "REC", то данный видеофрагмент будет объединен со следующим видеофрагментом. |
Вариант 1. Камера снята с охраны:
| Code Block |
|---|
OnEvent(if (Event.SourceType=="GRAY", && Event.SourceId=="1", && Event.Action=="ALARM") { [ var state if(= !CheckStateGetObjectState("CAM","1",); if (state.indexOf("DETACHED") == -1) { { DoReactDoReactStr("CAM","1","REC","rollback<1>"); Wait(5Sleep(5000); DoReactDoReactStr("CAM","1","REC_STOP","priority<2>"); } ] } |
Данный фрагмент создаётся в отдельном скрипте:
| Code Block |
|---|
if (Event.SourceType=="GRAY" && Event.SourceId=="1" && Event.Action== OnEvent("GRAY","1","ALARM") { [ WaitSleep(22000); DoReactDoReactStr("GRAY","1","CONFIRM",""); WaitSleep(22000); DoReactDoReactStr("GRAY","1","ARM",""); ] } |
Вариант 2. Камера на охране:
| Code Block |
|---|
OnEvent(if (Event.SourceType=="GRAY", && Event.SourceId=="1", && Event.Action=="ALARM") { [ var state if(= !CheckStateGetObjectState("CAM","1",); if (state.indexOf("DETACHED") == -1) { { DoReactDoReactStr("CAM","1","DISARM",""); Sleep(50); DoReactDoReactStr("CAM","1","REC","rollback<1>"); Wait(5Sleep(5000); DoReactDoReactStr("CAM","1","REC_STOP","priority<2>"); Sleep(2050); // Время предзаписи в настройке камеры = 2 сек. DoReactDoReactStr("CAM","1","ARM",""); } ] } OnEvent("GRAY","1", |
Данный фрагмент создаётся в отдельном скрипте:
| Code Block |
|---|
if (Event.SourceType=="GRAY" && Event.SourceId=="1" && Event.Action=="ALARM") { [ WaitSleep(22000); DoReactDoReactStr("GRAY","1","CONFIRM",""); WaitSleep(22000); DoReactDoReactStr("GRAY","1","ARM",""); ] } |
Вариант 3. Режим постоянной записи:
| Code Block |
|---|
OnEvent(if (Event.SourceType=="GRAY", && Event.SourceId=="1", && Event.Action=="ALARM") { [ var state if(= !CheckStateGetObjectState("CAM","1",); if (state.indexOf("DETACHED") == -1) { { Wait(5Sleep(5000); // Определяет, через какое время необходимо приостановить запись, чтобы получить требуемый ролик или необходимое число кадров DoReactDoReactStr("CAM","1","REC_STOP","priority<2>"); Sleep(2050); // Время предзаписи в настройках объекта Камера = 2 сек. DoReactDoReactStr("CAM","1","REC","rollback<1>"); // Запустить запись с откатом в 2 сек (на время предзаписи). Таким образом данные в архиве не теряются } ] } OnEvent("GRAY","1", |
Данный фрагмент создаётся в отдельном скрипте:
| Code Block |
|---|
if (Event.SourceType=="GRAY" && Event.SourceId=="1" && Event.Action=="ALARM") { [ WaitSleep(22000); DoReactDoReactStr("GRAY","1","CONFIRM",""); WaitSleep(22000); DoReactDoReactStr("GRAY","1","ARM",""); ] } |