Техническое задание:
Имеется 1 комнатная квартира с 5 группами освещения. Требуется реализовать возможность выключения всех включенных групп освещения нажатием одной кнопки.
Системы домашней автоматизации |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Системы домашней автоматизации » Программирование контроллера Alpha SE » Реализация функции "Выключить все"
Техническое задание:
Имеется 1 комнатная квартира с 5 группами освещения. Требуется реализовать возможность выключения всех включенных групп освещения нажатием одной кнопки.
Для реализации нам потребуется контроллер, преобразователь интерфейсов, ИБП (Источник бесперебойного питания) или БП (блок питания), 1 модуль ввода-вывода SE6i5o с функцией управления освещением.
К входам Point 0 - Point 4 модуля SE6i5o подключим выключатели с помощью которых будем управлять 5 группами освещения (выходы Point 8 - Point 12).
Отличительной особенностью модуля SE6i5o является возможность настройки его таким образом что бы при нажатии кнопки выключателя свет включался и выключался без участия контроллера.
Настройка модуля SE6i5o производится установкой его параметров с помощью программы Alpha SE Configurator. Продемонстрировать возможности модуля SE6i5o поможет утилита se6i5o_util.exe. Именно она позволит определить значения параметров, которые потребуется установить для задания необходимого алгоритма работы SE6i5o.
В нашем случае параметр 16 модуля необходимо установить равным 31, а параметр 17 - равным 0.
После задания параметров контроллер можно вообще выключить, SE6i5o будет самостоятельно включать и выключать освещение в зависимости от состояния подключенных к нему выключателей.
К последнему входу (Point 5) подключим кнопочный выключатель, замыкание которого и будет приводить к выключению всех групп освещения.
В решении нашей задачи контроллер будет лишь отслеживать состояние входа Point 5 и при его замыкании давать команду на отключение всех выходов Point 8 - Point 12.
Описывая человеческим языком алгоритм программы, получим следующее:
Если замкнулся вход Point5 модуля SE 6i5o, то { Размыкаем выход Point 8, Размыкаем выход Point 9, Размыкаем выход Point 10, Размыкаем выход Point 11, Размыкаем выход Point 12 };
Переведя описанный нами алгоритм в программу Alpha SE Configurator получим следующее:
После символа # приведены комментарии к программе.
var[255]=Get_Points_State(1, 5); # Получаем значение входа Point 5 первого модуля и сохраняем его в пременную var[255] if (var[255]==1) # Если вход замкнулся, т.е. нажали кнопку { var[255]=Set_Relay_State(1,8,0); # Размыкаем выход Point 8, var[255]=Set_Relay_State(1,9,0); # Размыкаем выход Point 9, var[255]=Set_Relay_State(1,10,0); # Размыкаем выход Point 10, var[255]=Set_Relay_State(1,11,0); # Размыкаем выход Point 11, var[255]=Set_Relay_State(1,12,0); # Размыкаем выход Point 12, };
Вы здесь » Системы домашней автоматизации » Программирование контроллера Alpha SE » Реализация функции "Выключить все"