Горячая линия Embedded System Rus:8-800-775-06-34 (звонок по России бесплатный)

LM5_N
LM-Wall_N
DALI_N
Vita_N

Умный датчик движения

Задача: В инсталляциях на больших объектах требуется большое количество датчиков движения. Часто в техническом задании на управление зданием указано, что должны быть реализованы функции, как охраны помещений, так и оптимального освещения с учетом времени суток и нахождения в нем людей. Управление данными функциями должно осуществляться удаленно из диспетчерской.

Решение: Обычно для реализации подобной функциональности используют дорогие модели KNX датчиков движения. Розничная стоимость таких датчиков варьируется от 200 до 500 евро, что удорожает проект инсталляции. Также бюджет инсталляции увеличивается из-за необходимости внедрения системы BMS для диспетчерской.
Мы предлагаем более дешевое решение, основанное на массовых датчиках движения с сухим контактом стоимостью в десятки евро и контроллере LogicMachine, который имеет встроенную WEBSCADA. Применив это решение, покупать дорогую систему BMS необязательно.

Принцип работы: Датчики движения на сухом контакте подключаются к устройству EVIKA Multiport из расчета восемь датчиков на одно устройство. EVIKA Multiport преобразует сигналы с датчиков в KNX телеграммы, которые посылаются на определенные групповые адреса. Контроллер LogicMachine обрабатывает телеграммы в зависимости от условий, и или включает-выключает свет, либо поднимает тревогу (мигаем светом по всему зданию, включает сигнализацию).

Используемое оборудование:

  1. LogicMachine;
  2. Evika Multiport;
  3. Evika Dimmer;
  4. датчики движения с сухим контактом.

Программирование 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, включается просто декоративная ночная подсветка.

Пути развития скрипта:

  1. Можно вынести яркость подсветки, значения времени начала и конца «ночного режима» в переменные с групповыми адресами. В этом случае, пользователь сам может настроить удобное для него время и яркость срабатывания осветительных приборов, используя для этого визуализацию или панель управления.
  2. При срабатывании сигнализации сделать освещение в данном помещении мигающим.
  3. Добавить средства оповещения – например, включить все светильники на этом этаже, внешнее освещение или лампочку у диспетчера.