Техническое задание:
Имеется 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 » Реализация функции "Выключить все"