Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Данные программы написаны для камеры с идентификатором, равным 1, и для объекта Луч с идентификатором, также равным 1. Благодаря данным программам значение параметра Задержка можно установить равным 7 секундам.

Note
titleВнимание!

Для получения нескольких видеофрагментов в скрипте может быть указано несколько повторяющихся команд "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","");
]
}