Документация для версии Мониторинг 17.0. Документация на другие версии также доступна.

Предыдущая страница Следующая страница

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

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

Внимание!

Для получения нескольких видеофрагментов в скрипте может быть указано несколько повторяющихся команд "REC" и "REC_STOP". Если используется откат "rollback" и время предзаписи в настройках объекта Камера больше или равно времени между последующими командами "REC_STOP" и "REC", то данный видеофрагмент будет объединен со следующим видеофрагментом.

Вариант 1. Камера снята с охраны:

if (Event.SourceType=="GRAY" && Event.SourceId=="1" && Event.Action=="ALARM")
{
  var state = GetObjectState("CAM","1");
  if (state.indexOf("DETACHED") == -1)
  { 
    DoReactStr("CAM","1","REC","rollback<1>");
    Sleep(5000);
    DoReactStr("CAM","1","REC_STOP","priority<2>");
  }
}

Данный фрагмент создаётся в отдельном скрипте:

if (Event.SourceType=="GRAY" && Event.SourceId=="1" && Event.Action=="ALARM")
{
  Sleep(2000);
  DoReactStr("GRAY","1","CONFIRM","");
  Sleep(2000);
  DoReactStr("GRAY","1","ARM","");
}

Вариант 2. Камера на охране:

if (Event.SourceType=="GRAY" && Event.SourceId=="1" && Event.Action=="ALARM")
{
  var state = GetObjectState("CAM","1");
  if (state.indexOf("DETACHED") == -1)
  { 
    DoReactStr("CAM","1","DISARM","");
    Sleep(50);
    DoReactStr("CAM","1","REC","rollback<1>");
    Sleep(5000);
    DoReactStr("CAM","1","REC_STOP","priority<2>");
    Sleep(2050); // Время предзаписи в настройке камеры = 2 сек.
    DoReactStr("CAM","1","ARM","");
  }
}

Данный фрагмент создаётся в отдельном скрипте:

if (Event.SourceType=="GRAY" && Event.SourceId=="1" && Event.Action=="ALARM")
{
  Sleep(2000);
  DoReactStr("GRAY","1","CONFIRM","");
  Sleep(2000);
  DoReactStr("GRAY","1","ARM","");
}

Вариант 3. Режим постоянной записи:

if (Event.SourceType=="GRAY" && Event.SourceId=="1" && Event.Action=="ALARM")
{
  var state = GetObjectState("CAM","1");
  if (state.indexOf("DETACHED") == -1)
  { 
    Sleep(5000); // Определяет, через какое время необходимо приостановить запись, чтобы получить требуемый ролик или необходимое число кадров
    DoReactStr("CAM","1","REC_STOP","priority<2>");
    Sleep(2050); // Время предзаписи в настройках объекта Камера = 2 сек.
    DoReactStr("CAM","1","REC","rollback<1>"); // Запустить запись с откатом в 2 сек (на время предзаписи). Таким образом данные в архиве не теряются
  }
}

Данный фрагмент создаётся в отдельном скрипте:

if (Event.SourceType=="GRAY" && Event.SourceId=="1" && Event.Action=="ALARM")
{
  Sleep(2000);
  DoReactStr("GRAY","1","CONFIRM","");
  Sleep(2000);
  DoReactStr("GRAY","1","ARM","");
}