Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 32

Тема: "Умное" управление освещением в квартире

  1. #21
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,405

    По умолчанию

    На жаве в Eclipse/ADT.

  2. #22
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,345

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    У меня нормально открывается. Так-то респект, конечно. Но код не очень понравился: много условий, деление на POU довольно наивное, кучки данных тут и там. Вообще наличие в коде повторяющихся рисунков текста это верный признак того, что часть кода просится «за скобки» — в отдельные функциональные блоки и типы данных. Дела иначе обстоят в графических языках, но здесь-то текст.

    Взять, скажем, MainRoom со 137 строки. Там регулировки яркости идут счётчиками CTUD. И везде в аргументах счётчиков идентичные по своей логике выражения. Так почему не вынести эту логику в свой ФБ на основе того же CTUD, чтобы не писать одну и ту же комбинацию AND/OR/NOT?

    Или вот такое:
    Код:
    IF ((R_out=100)AND(G_out=0)AND(B_out=0)AND(Auto)) THEN R_set:=100; G_set:=100; B_set:=0; END_IF;
    IF ((R_out=100)AND(G_out=100)AND(B_out=0)AND(Auto)) THEN R_set:=0; G_set:=100; B_set:=0; END_IF;
    IF ((R_out=0)AND(G_out=100)AND(B_out=0)AND(Auto)) THEN R_set:=0; G_set:=100; B_set:=100; END_IF;
    IF ((R_out=0)AND(G_out=100)AND(B_out=100)AND(Auto)) THEN R_set:=0; G_set:=0; B_set:=100; END_IF;
    IF ((R_out=0)AND(G_out=0)AND(B_out=100)AND(Auto)) THEN R_set:=100; G_set:=0; B_set:=100; END_IF;
    IF ((R_out=100)AND(G_out=0)AND(B_out=100)AND(Auto)) THEN R_set:=100; G_set:=0; B_set:=0; END_IF;
    Это автомат ротации цветов. По достижении одной комбинации уставок задаётся следующая комбинация. Реально суть переключений сводится к этому: state := MAX(1, (state + 1) MOD 7), причём нулевое состояние можно использовать вместо признака Auto. А суть условий сводится к тому, что все условия делятся на 100. В итоге можно обойтись одним условием и обезопасить себя от несоответствий:
    Код:
    IF state > 0 AND R_out MOD 100 = 0 AND G_out MOD 100 = 0 ABD B_out MOD 100 = 0 THEN
        state := MAX(1, (state + 1) MOD 7);
        R_set := SEL(state.0, 0, 100);
        G_set := SEL(state.1, 0, 100);
        B_set := SEL(state.2, 0, 100);
    END_IF
    И тому подобное. Код надо писать так, чтобы как можно труднее было ошибиться из-за копипаста.
    Молодец ! Видимо сессии не за коньячок сдавал !
    Только тебе тоже надо-бы в Овен пойти работать и уроки , всякие видео , должны быть правильными , а не та пурга , чем кормят овенцы паству молодую свою .
    Кстати по поводу кдс2.3 вот есть такой нормальный ФБ , при его единоличном обьявлении все ОК , если обьявлять разные экземпляры этого-же ФБ начинаются косяки . Такое впечатление , что внутренние ВАР принимают значение только-что выполненного экземпляра предыдущего вызова . ФБ не маленький.
    При реализации раздельных ФБ этого-же типа все ОК ! Что скажеш ?

  3. #23
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,405

    По умолчанию

    Ну, если в этом ФБ что-то реализовано через глобальные переменные, то вполне может гнать. Либо если этот ФБ использует какой-то неразделяемый ресурс вроде порта. Если же полностью изолирован, то искать ошибку надо в первую очередь в программе. В любом случае разговор будет более предметным с конкретным кодом (и пожалуй, в другой теме).

  4. #24

    По умолчанию

    Цитата Сообщение от RadioLover Посмотреть сообщение
    путь к таргетам - по умолчанию: C:\CoDeSys\Targets\PLC100.K_L\\IOModules\
    в приложении - експорт
    Все нормально. Оказывается у меня в папке не было нужных target-файлов.

  5. #25

    По умолчанию Лента

    Цитата Сообщение от RadioLover Посмотреть сообщение
    Offtop: на семинаре фирмы Овен в Киеве, 05/06/15, мне подарили новую фирменную отверточку, взамен на описание этого дела
    Для чего же это было нужно? Скорее для проверки своих возможностей
    Система уже год работает без каких-либо нареканий. Начало было положено 4 года назад, с тех пор я узнал много нового, поэтому в проекте можно увидеть разные способы решения одинаковых задач.
    Комплектуха – из того, что получилось достать по дешевле, б.у. и в не товарном виде, но работоспособное.
    На вложенном рисунке – схема квартиры. Синим обозначены дискретные входы, красным – дискретные выходы, зеленым – аналоговые выходы. Ш1, Ш2, Ш3 – электрошкафчики, где расположены компоненты системы.
    Краткое описание содержимого шкафчиков и задействованных входов и выходов (и адрес модбас):

    Шкафчик 1:
    Блок питания 24В, контроллера и модулей
    Блок питания 12В, 10А для светодиодного освещения
    Регулятор яркости светодиодов, управляется сигналом 0…10 вольт
    Регулятор яркости галогеновых ламп, управляется сигналом 0…10 вольт
    Защитные автоматы

    Шкафчик 2:
    ПЛК-100
    Out1: Д1, люстра в детской
    Out2: С1, люстра в спальне
    Out3: В2, малая группа в люстре зала
    Out4: В3, большая группа в люстре зала
    Out5: В4, бра, на стене в зале
    Out6: подача питания на блок 12 вольт
    Out7:
    Out8:
    Out9: переключение подсветки СП270 на повышенную яркость
    Out10: В5, 1-ый режим яркости УФ светодиодной ленты, будет расположена в конструкции подвесного потолка
    Out11: В6, 2-й режим яркости УФ светодиодной ленты
    Out12:

    СП-270 подключена к порту debug

    МВ110-8А (40)
    1: датчик температуры улицы с восточной стороны дома
    2: датчик температуры в детской комнате
    3: датчик температуры на балконе
    4: датчик температуры в зале
    5: датчик температуры в спальне
    6: датчик температуры улицы с западной стороны

    МВ110-6У (56)
    1: В1, яркость красного канала светодиодной ленты, установлена в конструкции подвесного потолка
    2: В2, яркость зеленого канала светодиодной ленты
    3: В3, яркость синего канала светодиодной ленты
    4: В4, яркость галогеновых светильничков в зале
    5: Д1, яркость галогеновых лампочек в детской
    6: С1, яркость галогеновых лампочек в спальне

    МВ110-16ДН (72)
    1: Д1, кнопка 2-х клавишного выключателя с фиксацией в детской
    2: Д2, кнопка 2-х клавишного выключателя с фиксацией в детской, параллельно контактам включен светодиод с резистором 10кОм, для подсветки
    3: С1, кнопка 2-х клавишного выключателя с фиксацией в спальне
    4: С2, кнопка 2-х клавишного выключателя с фиксацией в спальне, параллельно контактам включен светодиод с резистором 10кОм, для подсветки
    5: Инфракрасный датчик приближения, дает контроллеру понять, что перед панелью кто-то стоит
    6:
    7: пирометрический датчик движения, расположенный в горизонтальном коридоре
    8: K1 + K2, включенные параллельно 1-но клавишные выключатели, без фиксации, возле дверей спален и входа в зал

    Шкафчик 3:
    МДВВ (8)
    In1: К3, 1-но клавишные выключатели, без фиксации, возле дверей ванны и туалета
    In2: К4, 1-но клавишный выключатель, без фиксации, в прихожей
    In3: Зв., сигнал от домофона, что кто-то звонит. Пока не задействован
    In4: Геркон, дверь туалета закрыта
    In5: Концевичек в замке, дверь туалета не замкнута изнутри
    In6: Геркон, дверь в ванную закрыта
    In7: Концевичек в замке, дверь в ванную не замкнута изнутри
    In8: 1-но клавишный выключатель в кухне, с фиксацией
    In9: Концевичек на двери шкафчика в туалете
    In10: пирометрический датчик движения, расположенный в горизонтальном коридоре
    Out1: К1, кусочек белой светодиодной ленты, расположенный под люминесцентной лампой, обеспечивает ночное освещение коридора, потребляет очень мало
    Out2: К2, люминесцентный светильник 18Вт, обеспечивает вечернее освещение коридора
    Out3: К3, лампочки, расположенные по всему коридору, обеспечивают красивое, равномерное, но энергозатратное освещение коридора, гостевой режим
    Out4: К4, люминесцентный светильник 18Вт, обеспечивает вечернее освещение прихожей
    Out5: Кх1, освещение рабочей зоны в кухне
    Out6: Кх2, люстра в кухне
    Out7: Кд1, светодиодная лента в коридоре, работающая на 20%, ночное освещение
    Out8: Кд2, та же светодиодная лента, но питается напрямую от 12 вольт, вечернее освещение


    МВУ8 (24)
    1: Вн1, одна лампочка в ванной
    2: Вн2, 3 лампочки в ванной
    3: Вн3, вентилятор ванной
    4: Т1, слабое освещение туалета, 5Вт
    5: Т2, яркое освещение туалета, 36Вт
    6: Т3, вентилятор туалета

    В екселевском файле:
    Первый столбец – номер регистра в СП270 и его название в проекте кодесис
    Остальные – описание дискретных переменных

    Проект:
    Bedroom – управляет освещением в спальне.
    При включении С1 – яркость галогеновых лампочек плавно нарастает. Если выключить и сразу включить С1, яркость зафиксируется.
    При выключении С1 – яркость плавно падает. Если включить С1 во время гашения ламп – яркость зафиксируется.
    Это дополнительные опции, пока я не сделаю радиоуправление.
    С2 просто включает и выключает люстру.
    В день – задействуется таймер, отключающий свет через 30 минут

    Blinker – обеспечивает мигание глобальной переменной Synhro, используется для задания скорости плавного нарастания и снижения яркости.

    Clock – часы, так же формирует сигналы «утро», «день», «вечер», «ночь», «выходные»

    Decoder – заготовка для радиоуправления

    Dimmer – управляет яркостью подсветки панели СП-270

    GAL_convert – обеспечивает равномерность регулировки яркости галогеновых лампочек.

    Kidroom – управляет освещением в детской.
    При включении Д1 – яркость галогеновых лампочек плавно нарастает. Если выключить и сразу включить Д1, яркость зафиксируется.
    При выключении Д1 – яркость плавно падает. Если включить Д1 во время гашения ламп – яркость зафиксируется.
    Это дополнительные опции, пока я не сделаю радиоуправление.
    Д2 просто включает и выключает люстру.
    В день – задействуется таймер, отключающий свет через 30 минут

    Kitchen – управляет освещением в кухне. При включении Кх – включается первая группа. При выключении и включении выключателя в течении 5 сек. – включается 2-я группа. Потом 3-я, и снова первая. При выключении более чем на 5 сек – все группы выключаются. 3-м группам сопоставляются различные режимы: Кх1, Кх2, Кх1+Кх2, в зависимости от времени суток. Т.е, когда щелкаем выключателем днем, включится сперва только люстра, а вот ночью первой будет только подсветка рабочей зоны, дабы не слепить.

    Koridor – управляет светом в коридоре. Запаралеленные К1, К2, если нажимать их с интервалом менее 5 сек, переключают по порядку ночной, вечерний, гостевой режимы и отключение освещения. Если с момента последнего нажатия прошло более 5 сек, нажатие на клавишу выключает свет. Кнопки К3 выполняют туже функцию, но если открыта дверь в ванную или туалет – К3 задействуется для управления освещением в них. К4 включает лампочку К4, а если она включена – выключает освещение коридора, удобно, когда уходим из дому. Если включен автоматический режим, ночное освещение включается по датчикам движения ночью, и работает вечером, если где-то в квартире включен свет или по сигналу с домофона. По порядку кнопками при этом переключаются ночной, вечерний, гостевой режимы.

    LED_convert – обеспечивает равномерность регулировки яркости светодиодной ленты.

    MainRoom – управление освещением в зале, обслуживание сценариев освещения зала.

    Photoframe – управляет питанием цифровых фоторамок, будут установлены в коридоре.

    PLC_PRG – не требует комментариев. Еще сюда стекаются сигналы занятости со всех модулей и формируется сигнал HomePresent, присутствие дома.

    SanVuzol – обслуживание ванной и туалета. Если открыть и закрыть дверь – включается слабое освещение на 15 сек. В этот период, если запереть замок изнутри, включается яркий свет и вентилятор. При выходе из помещения – гаснет яркий свет, а вентилятор работает по таймеру, с заданным временем. Кроме того, при открытой двери можно включить свет коридорным выключателем К3. В туалете еще есть контакт Т3, который включает яркий свет при открытии шкафчика. А во время приема ванной можно отомкнуть и замкнуть дверь, чтобы принудительно отключить вентилятор.

    ScreenSwitch – автоматическое переключение экранов на панели (переход с часов на управление светом при приближении к панели и обратно при удалении, управление светом вечером и часы с утра)

    Statistic – считает количество отключений электропитания, фиксирует последний момент сего события, считает количество срабатываний переменной присутствия и звонков в дверь. Обнуляется удержанием кнопки на ПЛК

    Termometr – обслуживает термодатчики, вычисляет среднюю температуру в квартире и на улице.

    Панель управления:
    Экран1: управление освещением в зале
    Экран2: основной экран, температура и время
    Экран3: меню настроек
    Экран4: температуры по комнатах и графики за 8 дней и 24 часа
    Экран5: настройка сценариев
    Экран6: установка часов, задание временных рамок утра, дня, вечера, ночи
    Экран7: управление освещением в коридоре и кухне
    Экран8: управление освещением и вентиляторами санузла, задание времени работы вентиляторов
    Экран9: управление освещением в детской
    Экран10: управление освещением в спальне
    Экран11: управление светодиодным освещением в зале
    Экран12: управление фоторамками
    Экран13: управление затемнением подсветки СП270 и опции автосмены экранов
    Экран14: отображение статистики

    Схемы регуляторов яркости, разводок шкафов и прочее – выложу при необходимости
    Подскажите пожалуйста, можно использовать такую ленту? Осталось пару метров лишних. Спасибо

  6. #26

    По умолчанию

    Здравствуйте тоже потихоньку реализую систему умный дом. Возник вопрос по размещению датчиков температуры в комнатах где вы их ставили и как это выглядит если не сложно подкиньте идею можно с фото .

  7. #27
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    11,156

    По умолчанию

    Столько сил и средств потрачено на управление освещением ради чего ,что тут умного ?Проще датчики присутствия поставить ,имхо для экономии электричества .А все эти мигалки уже через неделю надоедят ...Еще удивляет когда освещением из далека управляет .Лет 10 назад ставил в комнату вместо штатного выключателя хитрый выключатель который управлял освещением -яркостью ,вкл\выкл ,имитация присутствия как при прикосновении ,так от любого пульта ИК и даже от хлопка ...Ставь в каждую комнату с датчиками движения или присутствия и не горюй ....Умный дом от не только для ленивых ,но и бережливых .Очень важна для живучести системы распределенность ее "мозгов".А не так что один "сдох" и все замерзли в темноте не умывщись ,когда квартиру обокрали ,,,
    электронщик до мозга костей и не только

  8. #28
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    5,835

    По умолчанию

    BSA смотря какие датчики, если размер датчика позволяет, можно его в выключатель встроить

  9. #29

    По умолчанию

    Здравствуйте, планировал типа ДТС с кабельным выводом (модели ХХ4) либо ДТС3005 важно чтобы видно их не было я бы вообще за гипсокартоновый потолок запихал потому что уже стены прошпаклеваны на чистовую но вряд ли будут правильные показания вот и не могу решить где устанавливать чтобы реальную температуру комнаты показывали и видно не было.

  10. #30
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    11,156

    По умолчанию

    Скажите пожалуйста ,а какое у вас отопление .Или вам температура нужна только для наглядности .Еще конкретнее -вы хотите регулировать температуру в каждой комнате >
    электронщик до мозга костей и не только

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. Ответов: 16
    Последнее сообщение: 15.02.2017, 11:39
  2. Ответов: 20
    Последнее сообщение: 15.04.2015, 11:02
  3. Ответов: 7
    Последнее сообщение: 27.02.2013, 19:08
  4. как выбрать управление "прямое" или "обратное"
    от maxmore в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 18.01.2010, 10:13

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •