Техническое задание:
Требуется реализовать возможность управления освещением прихожей от датчика движения.
При появлении человека свет должен включаться автоматически. Выключение света не должно происходить пока человек находится в помещении.
Системы домашней автоматизации |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Системы домашней автоматизации » Программирование контроллера Alpha SE » Управление освещением от датчика движения
Техническое задание:
Требуется реализовать возможность управления освещением прихожей от датчика движения.
При появлении человека свет должен включаться автоматически. Выключение света не должно происходить пока человек находится в помещении.
Для реализации данной возможности нам потребуется контроллер, преобразователь интерфейсов, ИБП (Источник бесперебойного питания) или БП (блок питания), датчик движения BV-201 и 1 модуль ввода-вывода SE6i5o.
Выход датчика движения подключим ко входу 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 » Управление освещением от датчика движения