Автор | Сообщение |
|
Отправлено: 24.02.16 21:40. Заголовок: Логика света
Друзья, подскажите как лучше. Имею несколько CLCI-1SW2EX, и кое где CLCI-DIMUEX. В каждой комнате 2 зоны освещения, там где 1SW2EX - это 1 и 2 выход соответственно, где DIMUEX - там их попросту два. Физически включается обычными выключателями (импульсными). Никак не придумаю как сделать в общем-то простую вещь. Если включена любая из зон, либо обе зоны одновременно - 1 нажатие на выключатель должно выключать свет. С включением более или менее понятно, одно нажатие - включаем зону1, двойное нажатие - 2 зона, и удержание - обе зоны. Честно говоря слегка каша в голове ) Как должно правильно работать, может есть какие наработанные стандарты?
|
|
|
Ответов - 29
, стр:
1
2
All
[только новые]
|
|
|
Отправлено: 28.02.16 00:53. Заголовок: Igor Теперь логика..
Igor Получается Buffer - по сути if ... else. Теперь логика ясна, спасибо за разъяснение! Пошел пробовать )
|
|
|
|
Отправлено: 28.02.16 02:22. Заголовок: В этих квадратиках с..
В этих квадратиках скорее запутаться можно при сложной логике. А simpl + все изящно и компактно получится. Тем более весь код модуля я вам написал. Осталось его перенести в собственный модуль создаваемый по нажатию всего одной кнопочки. Когда откроется окно модуля там все сразу узнаете из приведенного мной кода. Там шаблон есть, просто в нужных местах правите разкомметировав эти нужные места И жмете кнопочку компилировать выбрав серию процессора. Можете скачать его по ссылке click here Положите в папку проекта, потом откроете его прямо в папке и заново откомпилируете нажав кнопочки 2 и 3 (серия процессора) и кнопочку с дискетой. После этого перезапустите проект и увидите модуль в левом списке Symbol Library в папке Project Modules. Перетяните мышкой в список логики вашей программы. Соедините с нужными элементами, как я писал выше. В итоге будет всего 1 квадратик вместо кучи буферов и one shot-ов. Конструкция if ((zone_1_fb=1)||(zone_2_fb=1)){pulse(1,zone_1_off);pulse(1,zone_2_off);} else {pulse(1,zone_1_on);pulse(1,zone_2_on);} Это условие (if) которое проверяет включен ли свет в зоне1 (или||) зоне2, если хотя бы одно условие выполняется то выдать импульс ( pulse) длительностью 1 сотая секунды на выходы отвечающие за управлением выключения света в зонах 1 и 2. В противном случае (else) отправляются импульсы на выходы отвечающие за включение света в зонах 1 и 2. P.S. Имена входов switch_lt,zone_1_fb,zone_2_fb; и выходов zone_1_off,zone_2_off,zone_1_on,zone_2_on; модуля не какие то страшные функции, а лишь придуманные мной названия. Можете отредактировать модуль и назвать их как вам будет понятнее
|
|
|
|
Отправлено: 28.02.16 13:55. Заголовок: Nescafe пишет: Igor..
Nescafe пишет: цитата: | Igor Получается Buffer - по сути if ... else. |
| Именно. Кстати, можно использовать логические символы OR, но буфер настолько велик и могуч, то регулярные упражнения с ним настоятельно рекомендуются.
|
|
|
|
Отправлено: 28.02.16 23:09. Заголовок: Вячеслав Спасибо, р..
Вячеслав Спасибо, разобрался ) Работает так как надо )
|
|
|
|
Отправлено: 29.02.16 23:00. Заголовок: Вячеслав, вопрос нем..
Вячеслав, вопрос немного не по теме - где Вы учились писать модули? Чувствую что мне это уже очень нужно не не знаю с чего начать.
|
|
|
|
Отправлено: 01.03.16 12:03. Заголовок: У меня был хороший н..
У меня был хороший наставник + была практика программирования с института еще. Далее уже сам по ходу дела набирался опыта, в том числе что то был почерпнуто с applicationmarket-a
|
|
|
|
Отправлено: 08.07.19 23:11. Заголовок: Есть ли у кого готов..
Есть ли у кого готовы модуль для короткого и длинного нажатия?то есть при замыкании кнопки быстро- происходит одно действие,если происходит удержание этой кнопки на разные промежутки времени-другое действие
|
|
|
|
Отправлено: 08.07.19 23:59. Заголовок: вроде есть несколько..
вроде есть несколько модулей в базе Крестрона
|
|
|
|
Отправлено: 09.07.19 22:14. Заголовок: пасиб..
пасиб
|
|
|
Ответов - 29
, стр:
1
2
All
[только новые]
|
|