Настройка реакций на события

После настройки входов (датчиков), мы можем оперировать полученными значениями, проведя их через фильтр условий.

 

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

Диапазон указывается включая пороговые значения.

Рассмотрим фильтр для датчика температуры. В данном примере у нас реализовано управление вентилятором с двумя скоростями вращения. Если температура ниже 34 градусов, мотор выключается вовсе. При повышающейся температуре от 40 градусов, включается вторая скорость вентилятора. В случае критически высокой температуры, выводится голосовое предупреждение.

Непосредственные реакции прописываются для каждой строки фильтра и могут вызывать следующие действия:

Управление выходами

Логические и физические интерфейсы устройств управляются простой передачей соответствующей команды с возможным "прицепом" из данных. Например, виртуальный интерфейс перезагрузки устройства требует команды "R" без дополнительных данных, а команда "o", переключающая состояние какого-либо реле, предполагает 2 дополнительных байта длительности.

В основном, все релейные выходы наших устройств работают в режиме таймера (задается в миллисекундах или в секундах, в зависимости от типа и настроек устройства). Если выход нужно выключить, ему передается длительность "0000". Для постоянного включения, без обработки времени - "FFFF".

Регистры

Регистры системы обслуживают неотрицательные значения. Если необходимо только изменить состояние регистра, не вызывая его обработчика, нужно передать эквивалентное отрицательное значение (вместо "1" - "-1"). Для простого вызова обработчика регистра, без изменения значения, запись должна содержать пустое значение.

Например, нам нужно организовать обслуживание датчика движения. Для этого мы в темное время суток (календарь) вызываем проверку состояния регистра подсветки. Значения самого регистра мы меняем нажатием трех кнопок - первая устанавливает его в 0 (выключая свет); вторая меняет состояние на единицу (включая свет без ограничение по времени); третья устанавливает его значение в -2. В проверке условий регистра, для значения 2 мы будем давать команду лампе включиться на 60 секунд. При проверке датчика движения, он только вызовет проверку условий регистра и выполнит лишь те действия, которые заложены в его настройках. Дополнительного, прямого, воздействия на реле освещения уже не потребуется.

Запись фотографий

Любое событие в системе может дублироваться записью фотографии. Например, при обслюживании карточки доступа, может быть сделано несколько фотографий посетителя с разных ракурсов. Или при отработке срабатывания датчика тревоги и т.п.

Если такие требования существуют, то, вне зависимости от требования регистрации событий для самого интерфейса, соответствующая запись будет сформирована уже по условию и к ней будут привязаны фотографии с требуемых камер.

Выполнение процедур

Если реализация какой-либо логики не возможна простыми настройками, система предоставляет возможность создания произвольных процедур на T-SQL, выполняемых при обработке некоторых событий.

Эти запросы могут не только изменять данные в основной БД, но и подключаться к внешним, связывая разные системы воедино.