Задача: В инсталляциях на больших объектах требуется большое количество датчиков движения. Часто в техническом задании на управление зданием указано, что должны быть реализованы функции, как охраны помещений, так и оптимального освещения с учетом времени суток и нахождения в нем людей. Управление данными функциями должно осуществляться удаленно из диспетчерской.
Решение: Обычно для реализации подобной функциональности используют дорогие модели KNX датчиков движения. Розничная стоимость таких датчиков варьируется от 200 до 500 евро, что удорожает проект инсталляции. Также бюджет инсталляции увеличивается из-за необходимости внедрения системы BMS для диспетчерской.
Мы предлагаем более дешевое решение, основанное на массовых датчиках движения с сухим контактом стоимостью в десятки евро и контроллере LogicMachine, который имеет встроенную WEBSCADA. Применив это решение, покупать дорогую систему BMS необязательно.
Принцип работы: Датчики движения на сухом контакте подключаются к устройству EVIKA Multiport из расчета восемь датчиков на одно устройство. EVIKA Multiport преобразует сигналы с датчиков в KNX телеграммы, которые посылаются на определенные групповые адреса. Контроллер LogicMachine обрабатывает телеграммы в зависимости от условий, и или включает-выключает свет, либо поднимает тревогу (мигаем светом по всему зданию, включает сигнализацию).
Используемое оборудование:
- LogicMachine;
- Evika Multiport;
- Evika Dimmer;
- датчики движения с сухим контактом.
Программирование LogicMachine
При заведении переменных в LogicMachine придерживаемся правила присвоения имен переменных в формате «Устройство_Номер», например «Rele_5″,»Dimmer_1», «Pir_3». Где номер – номер помещения, в котором установлен датчик движения и светильник.
Создаем общий скрипт для обработки события с произвольного датчика в Общие функции (User functional library).
function PIR_control(event)
local value = tonumber(event.datahex, 16)
-- считаем что объект назван в формате "Устройство_Номер",
-- например "Rele_5","Dimmer_1","Pir_3", получаем имя и
-- номер str[1] - имя, str[2] - номер
local str = string.split(grp.alias(event.dst),"_")
local pir = str[2]
-- если это датчик и датчик увидел
if value == 1 and str[1]:lower() == 'pir' then
-- наше здание сейчас под охраной?
security_mode = grp.getvalue('Security mode')
if(security_mode == true) then
-- если да, то сработывание охранного датчика означает обнаружение в помещение
-- нарушителя,
-- поэтому начинаем бить тревогу
-- пишем в журнал событий
alert('Сработал датчик движения в помещении: %d', pir)
-- включаем свет в помещении
grp.write("Dimmer_"..pir, 100)
-- если есть почта посылаем почту
-- send_mail("Тревога! Сработал датчик движения в помещении:"..pir)
-- посылаем sms
-- send_sms("Тревога! Сработал датчик движения в помещении:"..pir)
-- пишем в twitter
-- send_twit("Тревога! Сработал датчик движения в помещении:"..pir)
else
-- иначе, обычный режим управления светом
--смотрим время и включаем режим
local now = os.date('*t')
if (now.hour >= 22 or now.hour < 7) then
-- если сейчас ночь, включаем "ночной режим", устанавливаем диммер на 20%
grp.write("Dimmer_"..pir, 20)
else
grp.write("Dimmer_"..pir, 100)
end
end
end
end
Для всех групповых адресов, связанных с датчиком движения, создать скрипт на событие и в каждом добавить вызов этой функции.
PIR_control(event)
Завести переменную с именем ”Security mode“ и связать ее с групповым адресом. Значение «1» — здание под охраной, значение «0» — здание с охраны с охраны снято.
В режиме “охрана” при проникновении в помещение злоумышленника срабатывает датчик движения, включается свет и одновременно, при условии установки соответствующих скриптов, посылаются уведомления о нарушении при помощи e-mail, sms, twitter.
В режиме “снято с охраны” при срабатывании датчика движения ночью, в промежутке с 22:00 до 7:00, включается просто декоративная ночная подсветка.
Пути развития скрипта:
- Можно вынести яркость подсветки, значения времени начала и конца «ночного режима» в переменные с групповыми адресами. В этом случае, пользователь сам может настроить удобное для него время и яркость срабатывания осветительных приборов, используя для этого визуализацию или панель управления.
- При срабатывании сигнализации сделать освещение в данном помещении мигающим.
- Добавить средства оповещения – например, включить все светильники на этом этаже, внешнее освещение или лампочку у диспетчера.