Настройка реакций на события
После настройки входов (датчиков), мы можем оперировать полученными значениями, проведя их через фильтр условий.
Он включает в себя календарь, направление изменений, и диапазон значений.
Диапазон указывается включая пороговые значения.
Рассмотрим фильтр для датчика температуры. В данном примере у нас реализовано управление вентилятором с двумя скоростями вращения. Если температура ниже 34 градусов, мотор выключается вовсе. При повышающейся температуре от 40 градусов, включается вторая скорость вентилятора. В случае критически высокой температуры, выводится голосовое предупреждение.
Непосредственные реакции прописываются для каждой строки фильтра и могут вызывать следующие действия:
- управление выходами каких-либо устройств;
- изменение или запрос статуса регистров;
- запись фотографий с камер видео наблюдения;
- вывод текстов на системы голосового оповещения или печати;
- выполнение процедур произвольной обработки данных.
Управление выходами
Логические и физические интерфейсы устройств управляются простой передачей соответствующей команды с возможным "прицепом" из данных. Например, виртуальный интерфейс перезагрузки устройства требует команды "R" без дополнительных данных, а команда "o", переключающая состояние какого-либо реле, предполагает 2 дополнительных байта длительности.
В основном, все релейные выходы наших устройств работают в режиме таймера (задается в миллисекундах или в секундах, в зависимости от типа и настроек устройства). Если выход нужно выключить, ему передается длительность "0000". Для постоянного включения, без обработки времени - "FFFF".
Регистры
Регистры системы обслуживают неотрицательные значения. Если необходимо только изменить состояние регистра, не вызывая его обработчика, нужно передать эквивалентное отрицательное значение (вместо "1" - "-1"). Для простого вызова обработчика регистра, без изменения значения, запись должна содержать пустое значение.
Например, нам нужно организовать обслуживание датчика движения. Для этого мы в темное время суток (календарь) вызываем проверку состояния регистра подсветки. Значения самого регистра мы меняем нажатием трех кнопок - первая устанавливает его в 0 (выключая свет); вторая меняет состояние на единицу (включая свет без ограничение по времени); третья устанавливает его значение в -2. В проверке условий регистра, для значения 2 мы будем давать команду лампе включиться на 60 секунд. При проверке датчика движения, он только вызовет проверку условий регистра и выполнит лишь те действия, которые заложены в его настройках. Дополнительного, прямого, воздействия на реле освещения уже не потребуется.
Запись фотографий
Любое событие в системе может дублироваться записью фотографии. Например, при обслюживании карточки доступа, может быть сделано несколько фотографий посетителя с разных ракурсов. Или при отработке срабатывания датчика тревоги и т.п.
Если такие требования существуют, то, вне зависимости от требования регистрации событий для самого интерфейса, соответствующая запись будет сформирована уже по условию и к ней будут привязаны фотографии с требуемых камер.
Выполнение процедур
Если реализация какой-либо логики не возможна простыми настройками, система предоставляет возможность создания произвольных процедур на T-SQL, выполняемых при обработке некоторых событий.
Эти запросы могут не только изменять данные в основной БД, но и подключаться к внешним, связывая разные системы воедино.