Системы домашней автоматизации

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Системы домашней автоматизации » Программирование контроллера Alpha SE » Управление освещением от датчика движения


Управление освещением от датчика движения

Сообщений 1 страница 2 из 2

1

Техническое задание:

Требуется реализовать возможность управления освещением прихожей от датчика движения.
При появлении человека свет должен включаться автоматически. Выключение света не должно происходить пока человек находится в помещении.

2

Для реализации данной возможности нам потребуется контроллер, преобразователь интерфейсов, ИБП (Источник бесперебойного питания) или БП (блок питания),  датчик движения BV-201 и 1 модуль ввода-вывода SE6i5o.
http://www.smarthouse.rostov.ru/images/forum/lite_dd.gif

Выход датчика движения подключим ко входу Point5 модуля, группу освещения прихожей - к выходу Point8 согласно приведенной схеме.

Датчик движения BV-201 имеет следующую логику работы:
1. Пока движение отсутствует выход датчика (реле) замкнут,
2. При появлении движения выходное реле размыкается на 2 секунды.

Теперь зная логику работы датчика мы можем приступить к программированию контроллера.
Постараемся человеческим языком описать программу контроллера, которую нам придется заложить в контроллер.

Код:
Если вход Point5 модуля SE6i5o разомкнулся, замкнуть выходное реле Point 8 и начать отсчет 1 минуты.
Если контроллер отсчитал 1 минуту, разомкнуть выход Point8.

Следует отметить, что при включенном свете повторное срабатывание датчика движения будет приводить к повторному началу отсчета 1 минуты. Таким образом, пока человек ходит по прихожей и датчик срабатывает, свет выключаться не будет.

Переведя описанный нами алгоритм в программу Alpha SE Configurator получим следующее:
После символа # приведены комментарии к программе.

Код:
var[255]=Get_Points_State(1, 5); # Получаем значение входа Point 5 первого модуля и сохраняем его в пременную var[255]
if (var[255]==0) # Если вход разомкнут, т.е. датчик сработал
{
    var[255]=StartTimer(1,1); # Начинаем отсчет времени в переменной 1
    var[255]=Set_Relay_State(1,8,1); # Замыкаем реле Point 8 модуля 1
};

if (var[1] >= 60) # Если значение переменной 1 стало больше или равным 60 секундам
{
    var[255]=StopTimer(1); # Останавливаем отсчет в переменной 1
    var[255]=Set_Relay_State(1,8,0); # Размыкаем реле Point 8 модуля 1
};

Вы здесь » Системы домашней автоматизации » Программирование контроллера Alpha SE » Управление освещением от датчика движения