Siemens LOGO, Home assistant, или моё видение умного дома — АСУ ТП: сообщество инженеров

Siemens LOGO, Home assistant, или моё видение умного дома

Привет! Меня зовут Максим, и работаю я DevOps инженером. Год назад я купил квартиру в новостройке, а это значит что я волен полностью все сделать под себя. Профессия обязывает всё автоматизировать, и мне это очень нравится, поэтому я не упустил возможность отыграться даже тут.

Siemens LOGO: short cook book

Итак, рассмотрим мой проект освещения:

Дизайнер нарисовал всё достаточно красиво, но я терпеть не могу проходные выключатели. Это просто сущее зло — ты смотришь на выключатель, он вроде бы выключен, но свет горит. Бесит! Поэтому останавливаемся на связке ПЛК Siemens LOGO + не фиксируемые выключатели. Siemens был взят версии 8.3 с 2 модулями расширений, выключатели взял Schneider Electric AtlasDesign двухклавишные и одноклавишные по вкусу.

Далее устанавливаем программу Siemens LOGO commfort и делаем схему переключений:

Разберем пример переключений на схеме кабинета.

Схема подключения в кабинете

На схеме мы видим 2 группы света (Q10 — основной свет & Q8 — подсветка карниза), которые включаются кнопками (I10 & I11 — первый узел кнопок внутри и I12 I13 второй узел около входа в кабинет) и 2 интернет входа с некоторой обвязкой. Также логическое ИЛИ (B023 & B024) объединяют входы в один провод и подключают к стабильному реле (B002 & B011) на управляющий вход.

Итого, схема следующая: при нажатии кнопки, мы даём сигнал на стабильное реле на переключение его состояния. Оно в свою очередь включает выход и передаёт сигнал на интернет выход для отслеживания состояния лампочки. Довольно простая схема получается, но к стабильному реле подключены ещё какие-то флаги на выход сброса сигнала — что это? А это ничто иное как мастер выключатель! На выходе из квартиры стоит кнопка, по нажатию которой мы сбрасываем все реле на состояние выключено. Обычно мастер-выключатель делают через контактор, но в такой схеме если ваша женщина выходит из квартиры раньше чем вы просыпаетесь и жмёт этот выключатель — это значит что все освещение перестанет работать. В нашем же случае такая ситуация исключена, так как мы не жёстко отключаем питание на свет контактором, а именно выключаем каждый потребитель. Так и запишем, и добавим на схему наш мастер-выключатель.

Схема подключения мастер-выключателя

Теперь немного разберемся с интернет входами.

Home assistant + Siemens Logo: ModBus

Для того чтобы управлять нашим LOGO нам надо настроить ModBus шину на контроллере: Для этого заходим в основные настройки контроллера, и активируем галку Allow ModBus acess

Далее переходим в настройки уже Home Assistant, а именно нас интересует файл configuration.yaml. Создаём там следующий блоке

modbus:
name: hub1
type: tcp
host: 192.168.31.2 # Адрес нашего Siemens
port: 510 # Порт modbus.
lights:
...

Эмпирическим путём вычислил что на стандартном 509 порту есть странные задержки — иногда HA не может прочитать и записать на этом порту. Поэтому переключился на порт выше, с ним проблем уже не наблюдал.

Разбираемся дальше. Блок lights собственно и содержит наши все лампочки, и нам надо его настроить. Создаём блок с названием зоны, которой хотим управлять, и прописываем адрес на шине modbus. Адреса у siemens logo расположены следующим образом:

Я для удобства решил использовать первый бит как обозначение группы, второй бит 0 — управляющий, 1 — для обратной связи. Таким образом у нас получается следующие переключатели для света и подсветки в кабинете:

    - name: "Свет в кабинете"
address: 24 # v3.0
write_type: coil
command_on: 1
command_off: 1
scan_interval: 1
verify:
address: 25 # v3.1
state_on: 1
state_off: 0
delay: 1
- name: "Подсветка в кабинете"
address: 32
write_type: coil
command_on: 1
command_off: 1
scan_interval: 1
verify:
address: 33
state_on: 1
state_off: 0
delay: 1

Но что у нас на схеме за такая интересная обвязка?

А это ничто иное как костыль обыкновенный. Мы из переключателя делаем не фиксируемую кнопку. По умолчанию HA посылает по modbus переключение сигнала. Но в этом случае нам надо будет дважды переключить состояние чтобы выключить свет. Поэтому мы сделали минимальную задержку блоком B026 и наш бит обратно переключаем в нулевое состояние. Поэтому в настройках кнопки в HA мы указываем что и для включения и для выключения (command_on/off) у нас должно на modbus улететь единица. А для того чтобы HA правильно показывал состояния света по факту мы должны прикрутить обратную связь с LOGO. Для этого по выходу мы ставим ещё один интернет-флаг (NQ5 & NQ6) которые будут принимать на себя фактическое состояние выхода, и отдавать его в HA. HA в свою очередь получает это состояние в блоке verify по соседнему адресу modbus. Надеюсь понятно обрисовал=)

Когда применяем конфиг в HA у нас появляется новое устройство типа лампочка, которую вы уже можете применять как вашей душе угодно. Для себя я реализовал блоки управления в каждой комнате. Получилось примерно так:

Карточка комнаты в HA

Siemens LOGO: From zero to Hero! — UDF блоки

Далее я вам ещё расскажу про UDF блоки. По сути это готовые пресеты компонентов, которые далее применяем как один блок.

Я не люблю пианино кнопок, поэтому хочу сократить их количество до минимума. Для этого я создал UDF блок с названием Clicker. Что он делает? Он позволяет управлять одной кнопкой несколькими устройствами. Например, у нас есть свет и подсветка в коридоре. Обычно я пользуюсь всегда подсветкой, а свет включаю только тогда когда собираюсь выходить из дома и надо привести себя в порядок перед зеркалом. В этом случае как раз и поможет нам наш UDF блок: одно короткое нажатие включает подсветку, два нажатия включает свет. Долгое удержание кнопки включает оба освещения. Выглядит блок так:

UDF блок Clicker

Сначала в нём сложно разобраться, но по сути тут несколько таймеров и триггеров, которые считают как долго нажата кнопка и сколько раз, и в зависимости от этого подают импульс на тот или иной выход. Принцип поэтапно расписывать не буду, но если что, оставлю ссылку на его скачивание. Вы сможете с помощью симуляции сами посмотреть как он работает.

Блок создали, давайте его используем в реальном примере! Как уже говорил, что такой блок я хочу использовать в коридоре, давайте и рассмотрим такой вариант. Рисуем схему коридора

Что мы имеем? Кнопки I2 I3 I16 это наши одноклавишные выключатели в прихожей, спальне и гостиной, откуда мы можем попасть в коридор. Они объединены логическим блоком ИЛИ, и потом идут на вход в наш UDF блок U002. У блока 3 выхода: первый включает подсветку, второй включает свет, третий включает всё освещение. Интернет выходы подключены как в обычной схеме напрямую к реле. им не нужен кликер. И вот мы можем рулить освещением коридора по одной кнопке в каждой комнате! При этом нет несчастных проходных выключателей с положением «суперпозиции» когда выключатель не отражает реального включения света.

Siemens LOGO: автоматизируем зал заседаний

Раз у нас все подключено к LOGO, Почему бы не автоматизировать такую вещь как вентилятор в санузле? Обычно о необходимости его включения мы вспоминаем когда «заседание» в самом разгаре. И да, мы вроде бы подключили все к HA, но опять таки, из душа включать вентиляцию не то чтобы было удобно даже через телефон. Поэтому рисуем схему нашего санузла:

Итак, что мы видим: знакомую схему освещения через наш UDF блок, и крайне непонятную схему включения вентилятора. На самом деле ничего страшного тут нет — мы берем сигнал включения света, пропускаем через таймер отсрочки, и если в течении 5 минут мы не выключили свет — значит мы на долго и надо бы включить вытяжку. Мелочь — а приятно)

На этом я думаю закончить первую часть моего рассказа про мой новый дом, Думаю я её обязательно дополню фотографиями и видео. Предлагаю к скачиванию схему моего дома, а также мой UDF блок что были описаны в данном посте. Обязательно задавайте интересующие вас вопросы в комментарии, постараюсь на них ответить.

Источник: https://habr.com/ru/articles/805887/

🔗 Siemens LOGO, Home assistant, или моё видение умного дома

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.

Прокрутить вверх