KNX Quick start: различия между версиями

Материал из Wiren Board
(Поменял displaytitle, форматирование и немного поправил текст)
Строка 1: Строка 1:
{{Draft}}
{{Draft}}
'''Цель статьи''' - быстрый старт работы KNX для тех, кто сталкивается с технологией впервые.
{{DISPLAYTITLE: Быстрый старт работы с KNX на контроллере Wiren Board}}
=Используемое оборудования=
* контроллер WB6
* Модуль расширения [[WBE2-I-KNX_KNX_Extension_Module|WBE2-I-KNX]]
* Термостат KNX Albrecht Jung [https://www.jung.de/en/online-catalogue/69798918/ A2178]
* Выключатель двухканальный ABB [https://new.abb.com/products/de/GHQ6310074R0111/us-u2-2 US/U2.2 Universal-Schnittstelle, 2fach]
* Блок питания KNX [[http://www.mean-well.ru/store/KNX-20E-640/ | Mean Well KNX-20E-640]]
* компьютер с ОС Windows


=Подготовка=
== Используемое оборудование ==
==контроллер==
Чтобы на примере показать работу с KNX-устрйоствами мы взяли оборудование:
Предполагаем что модуль расширения KNX уже [[https://wirenboard.com/wiki/WBE2-I-KNX_KNX_Extension_Module#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0 установлен]] и [[https://wirenboard.com/wiki/WBE2-I-KNX_KNX_Extension_Module#.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5 настроен]] в контроллере.  
* Контроллер [[Wiren Board | Wiren Board 6.7]].
Подключаем шину на правильные клеммы (номер группы клемм соответствет номеру разьема расширения с модулем KNX), положительный провод шины (оранжевый на фото) - в клемму "1", отрицательный - в клемму "3".
* Модуль расширения [[WBE2-I-KNX_KNX_Extension_Module|WBE2-I-KNX]].
* Термостат KNX Albrecht Jung [https://www.jung.de/en/online-catalogue/69798918/ A2178].
* Выключатель двухканальный ABB [https://new.abb.com/products/de/GHQ6310074R0111/us-u2-2 US/U2.2 Universal-Schnittstelle, 2fach].
* Блок питания KNX [http://www.mean-well.ru/store/KNX-20E-640/ Mean Well KNX-20E-640].
* Компьютер с ОС Windows.
 
== Подготовка ==
=== Контроллер ===
[[Файл:KNX_connect_controller.png|200px|thumb|right|Подключение шины к клеммам модуля расширения]]
[[Файл:KNX_connect_controller.png|200px|thumb|right|Подключение шины к клеммам модуля расширения]]
Также подключаем на шину БП KNX и термостат. После включения питания на БП - на термостате начинают мигать с частотой 1 гц светодиоды.
# Установите и настройте модуль расширения [[WBE2-I-KNX_KNX_Extension_Module|WBE2-I-KNX]].
==компьютер==
# Подключите шину KNX на клеммы модуля. Например, модуль установлен в разъем '''MOD1''', значит шину нужно подключить к разъёму '''mod_out_1''' по схеме: положительный провод на клемму O1, отрицательный — клемма O3.
Скачиваем с [[https://my.knx.org/en/shop/ets сайта]] программу ETS5
# Подключите на шину блок питания KNX и термостат.
Устанавливаем. До установки в системе желательно иметь NET framework 4.8, при установке 4.6.х поставляемого вместе с ETS погут возникать ошибкии.
# Включите питание на БД — на светодиоды термостате начнут мигать примерно раз в секунду (1Гц).
[[Файл:ETS_setup_0.png|200px|thumb|right|установка]]
 
[[Файл:ETS_setup_1.png|200px|thumb|right|установка]]
=== Компьютер ===
[[Файл:ETS_setup_2.png|200px|thumb|right|установка]]
# Скачайте программу ETS5 с [https://my.knx.org/en/shop/ets официального сайта].
# Проверьте, чтобы в системе был Microsoft NET framework 4.8. Если его нет — установите. В комплекте с программой идёт Microsoft NET framework 4.6, но с ним программа работает плохо.
# Установите ETS5.
# Настройте связь с контроллером. Контроллер Wirenboard будет работать в качестве шлюза в сеть KNX.
# Добавьте новый интерфейс, для этого перейдите '''Системная шина''' → '''Показать интерфейсы''', выделите '''IP Tunneling''' и укажите имя из файла конфигурации [Knxd#Работа с ETS5 | knxd]].
# Нажмите справа внизу кнопку '''Тест'''. Если вы получили ответ '''ОК''' — интерфейс настроен верно.
# Нажмите кнопку '''Выбрать'''.
 
<gallery mode="traditional " widths ="400px" heights="250px">
Image: ETS_setup_0.png | Установка ETS5 — архив с программой
Image: ETS_setup_1.png | Установка ETS5
Image: ETS_setup_2.png | Установка ETS5
</gallery>
 
<gallery mode="traditional " widths ="450px" heights="300px">
Image: ETS_start_0.png | Первый запуск
Image: ETS_config_0.png | Добавление интерфейса
Image: ETS_config_1.png | Тест интерфейса
</gallery>


[[Файл:ETS_start_0.png|400px|thumb|left|Первый запуск]]
== Теория KNX ==
<br clear="both" />
=== Адресация ===
Настроим связь с контроллером. Контроллер Wirenboard будет работать в качестве шлюза в сеть KNX
KNX-устройства на шине могут иметь адреса от 0.0.1 до 15.15.255, в протоколе под адрес отведено 16 бит. При назначении адресов устройствам обычно использует схему «область-линия-устройство».
Добавляем интерфейс, перейдя в ETS '''Системная шина - Показать интерфейсы''' и выделяем '''IP Tunneling''' и '''именем''' указанным в конфиге [https://wirenboard.com/wiki/Knxd#.D0.A0.D0.B0.D0.B1.D0.BE.D1.82.D0.B0_.D1.81_ETS5 | knxd]
[[Файл:ETS_config_0.png|400px|thumb|left|Добавление интерфейса]]
<br clear="both" />
Тестируем интерфейс (кнопка "Тест" справа внизу). Должно быть "ОК".
[[Файл:ETS_config_1.png|300px|left|тест интерфейса]]
<br clear="both" />
И добавляем (Кнопка "'''Выбрать'''")


=Теория KNX=
Все устройства на шине равноправны могут передавать телеграммы.
==Адресация==
KNX устройства на шине могут иметь адреса от 0.0.1 до 15.15.255, в протоколе под адрес отведено 16 бит.
При назначении адресов устройствам обычно использует схему «область-линия-устройство».
Все устройства на шине равноправны могуп передавать телеграммы.


* Режим в котором устройства передают телеграммы друг другу напрямую называется "системным" и используется для программирования при нестройке системы.
Протокол KNX предусматривает два режима:
* в рабочем, основном, режиме устройства на шине передают телеграммы на "групповые адреса".
* Системный — это режим, в котором устройства передают телеграммы напрямую друг другу. Используется для программирования при настройке системы.
* Основной или рабочий — в этом режиме устройства передают телеграммы на «групповые адреса».


"Групповые" адреса - это виртуальные, то есть отсутствующие физически "функции".
'''Групповые адреса''' — это виртуальные, то есть отсутствующие физически «функции».
'''Телеграмма''' — это единица обмена информацией в протоколе KNX.


Пример:  
Пример:  
Строка 48: Строка 57:
Реле с адресом 0.0.5
Реле с адресом 0.0.5


У выключателей
{{note|warn| Нужно завершить мысль '''У выключателей…'''}}
== Обнаружение KNX-устройства ==
Обычно адрес нового устройства на шине неизвестен.


=Работа с устройствами KNX=
Но его легко обнаружить:
==Обнаружение==
# Из документации на термостат видно, что есть кнопка '''L''' и светодиод '''K''', в нормальном режиме скрытые под регулятором.
Как правило адрес нового устройства на шине неизвестен.
# Нажимаем отвёрткой кнопку — светодиод начнёт мигать, сигнализируя от том, что устройство перешло в режим программирования.
# В программе ETS5 переходим '''Системная шина''' → '''Диагностирование''' → '''Индивидуальные адреса''' → '''Режим программирования''' и нажимаем кнопку '''Старт'''.
# После того, как устройство будет найдено — нажмите кнопку Стоп, чтобы не занимать шину.


Но его легко обнаружить. Из документации на термостат видно, что есть кнопка '''L''' и светодиод '''K''', в нормальном режиме скрытые под "крутилкой"-регулятором .
<gallery mode="traditional " widths ="450px" heights="300px">
[[Файл:Program_button_KNX_A_2178.png|400px|thumb|left|Из инструкции]]
Image: Program_button_KNX_A_2178.png | Фрагмент инструкции на термостат KNX Albrecht Jung
<br clear="both" />
Image: ETS_search_program.png | Окно поиска устройств в режиме программирования
нажимаем отверткой кнопку - светодиод начинает мигать, сигнализируя о том что устройство перешло в режим программирования.
Image: ETS_search_program_1.png | Найдено устройство с адресом 15.15.255
Теперь в ETS переходим '''Системная шина - Диагностирование - Индивидуальные адреса - Режим программирования'''
</gallery>
[[Файл:ETS_search_program.png|400px|thumb|left|Окно поиска устройств в режиме программирования]]
<br clear="both" />
И нажимаем '''Старт''':
[[Файл:ETS_search_program_1.png|400px|thumb|left|Окно поиска устройств в режиме программирования]]
<br clear="both" />
Также можно нажать "Старт", запустить поиск и до перевода устройсва в режим программирования - адрес нового устройства появится в окне.
После обнаружения устройства можно нажать "Стоп" чтобы не занимать шину.


При "обнаружении" ETS отправляет в шину KNX телеграммы, которые можно отследить, [[MQTT#.D0.A1.D0.BB.D0.B5.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B7.D0.B0_.D1.81.D0.BE.D1.81.D1.82.D0.BE.D1.8F.D0.BD.D0.B8.D0.B5.D0.BC_.D1.83.D1.81.D1.82.D1.80.D0.BE.D0.B9.D1.81.D1.82.D0.B2.D0.B0_.2F_.D0.BF.D0.BE.D0.B4.D0.BF.D0.B8.D1.81.D0.BA.D0.B0_.D0.BD.D0.B0_.D1.82.D0.BE.D0.BF.D0.B8.D0.BA|подписавшись]] на топик '''/devices/knx/controls/data''':
=== Диагностика неисправностей ===
[[Image: ETS_search_check.png |400px|thumb|right| Управление светодиодом на устройстве из программы ETS5]]
В процессе обнаружения устройств, ETS5 отправляет в KNX-шину телеграммы, которые можно отследить. Для этого нужно [[MQTT#Слежение за состоянием устройства / подписка на топик|подписаться]] на топик <code>/devices/knx/controls/data</code>:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
mosquitto_sub -v -t /devices/knx/#
mosquitto_sub -v -t /devices/knx/#
Строка 82: Строка 90:
</syntaxhighlight>
</syntaxhighlight>


Также для диагностики можно вывести телеграммы из шины с помощью [[KnxTool|knxtool]]
Также для диагностики можно вывести телеграммы из шины с помощью [[KnxTool|knxtool]]:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
knxtool vbusmonitor1 local:/var/run/knx  
knxtool vbusmonitor1 local:/var/run/knx  
Строка 89: Строка 97:
</syntaxhighlight>
</syntaxhighlight>


Кстати, светодиодом '''K''' можно управлять из '''Системная шина - Диагностирование - Индивидуальные адреса - Проверка индивидуального адреса'''
Ещё можно управлять светодиодом '''K''' из ETS5, для этого перейдите в меню '''Системная шина''' → '''Диагностирование''' → '''Индивидуальные адреса''' → '''Проверка индивидуального адреса'''
[[Файл:ETS_search_check.png|400px|thumb|left|Мигание светодиода]]
 
== Создание проекта ==
=== Новый проект ===
Создадим в программе ETS5 проект.
 
Если это первый проект на этом компьютере, то нужно скачать и импортировать базу устройств:
# Скачайте базу устройств по с [https://www.jung.de/en/750/downloads/general-downloads/?%7E%5B3112%5D%5Bselection%5D%5B0%5D=11 | сайта производителя].
# Распакуйте архив и импортируйте нужные устройства.
 
После установки базы устройств:
# Создайте новый проект, для этого нажмите кнопку с зелёным плюсом «+».
# Укажите произвольное имя проекта.
# В разделе '''Топология''' оставьте '''TP''' (Twisted Pair).
 
Всё, у нас есть автоматически созданное «здание», которе называется так же как проект.
 
<gallery mode="traditional " widths ="300px" heights="250px">
Image: ETS_Jung_database.png | Файл базы устройств
Image: ETS_Jung_database_import.png | Импорт устройств
Image: ETS_createProject_01.png | Кнопка создания нового проекта
Image: ETS_createProject_02.png | Форма создания нового проекта
</gallery>
 
=== Устройство ===
 
Физическое размещение — это этаж, комната или строение.
 
Добавим новую комнату:
# В окне '''Задания''', нажмите на стрелку рядом с названием функции.
# Из открывшегося списка выберем пункт '''Комнаты'''.
# Далее нажмите на кнопку '''Добавить''' комнату и введите наименование.


<br clear="both" />
Теперь, когда у нас есть физическое размещения для устройства (комната), мы можем добавить само устройство:
==Создание проекта==
# В окне '''Задания''', в списке комнат выберите ту, где стоит устройство.
В ETS создаем новый проект.
# Нажмите кнопку '''Добавить устройство'''. Откроется каталог устройств.
Для добавления "базы" устройств скачиваем с [https://www.jung.de/en/750/downloads/general-downloads/?%7E%5B3112%5D%5Bselection%5D%5B0%5D=11 | сайта производителя] базу данных
# В каталоге устройств выберите '''Производитель''' → '''Тип устройства''' и найдите наш термостат '''2178TS'''. Здесь важно не ошибиться и выбрать устройство с полностью совпадающим наименованием — все буквы и цифры важны.
# Нажимаем кнопку '''Добавить'''.
# Смените адрес устройства. Зайдите в свойства устройства и в правой части экрана измените адрес. В нашем примере мы установили 1.1.4.


[[Файл:ETS_Jung_database.png|400px|thumb|left|файл базы устройств]]
<gallery mode="traditional " widths ="300px" heights="250px">
<br clear="both" />
Image: ETS_createProject_03.png | Добавление комнаты
Импортруем из распакованного архива нужные устройства:
Image: ETS_createProject_04.png | Добавление устройств
[[Файл:ETS_Jung_database_import.png|300px|thumb|left|импорт устройств]]
Image: ETS_createProject_05.png | Выбор устройства
Image: ETS_createProject_06.png | Свойства устройств
Image: ETS_createProject_07.png | Установка адреса
</gallery>


<br clear="both" />
По алгоритму выше, добавьте второе устройство — выключатель. Он сразу есть в каталоге ETS5 и скачивать базу не нужно. Ему назначим адрес 1.1.5
И создаем проект, нажав зеленый "+":
[[Файл:ETS_createProject_01.png|300px|thumb|left|Новый проект]]
<br clear="both" />
Указываем имя проекта, произвольное, "Топология" оставляем '''TP''' (twisted pair)
[[Файл:ETS_createProject_02.png|300px|thumb|left|Новый проект]]
<br clear="both" />
У нас есть автоматически созданное "здание" поименованное так же как проект.
Добавляем элементы "физического размещения", этаж, комнату:
[[Файл:ETS_createProject_03.png|300px|thumb|left|Добавление комнаты]]
<br clear="both" />


И, наконец, начинаем добавление устройств, выбрав:
Теперь в проекте есть два устройства.
[[Файл:ETS_createProject_04.png|300px|thumb|left|Добавление устройств]]
<br clear="both" />
Откроется каталог в котором в древовидном каталоге ''"Производитель - Тип устройства"'' выбираем термостат '''2178TS'''. Важно выбрать правильное устройство, буквы - важны. Добавляем устройство в проект.
[[Файл:ETS_createProject_05.png|300px|thumb|left|выбор устройства]]
<br clear="both" />
Первое что надо сделать - изменить адрес. Заходим в свойства устройства
[[Файл:ETS_createProject_06.png|300px|thumb|left|Свойства устройств]]
<br clear="both" />
и в правой части экрана меняем адрес. Установим 1.1.4
[[Файл:ETS_createProject_07.png|300px|thumb|left|Установка адреса]]
<br clear="both" />
Добавим так же второе устройство - выключатель. Он сразу есть в каталоге ETS и скачивать базу не нужно. Ему назначим адрес 1.1.5
Теперь в проекте есть два устройства, но


==Телеграммы==
== Телеграммы ==

Версия 10:57, 26 июля 2021

Это черновик страницы. Последняя правка сделана 26.07.2021 пользователем A.Degtyarev.


Используемое оборудование

Чтобы на примере показать работу с KNX-устрйоствами мы взяли оборудование:

Подготовка

Контроллер

Подключение шины к клеммам модуля расширения
  1. Установите и настройте модуль расширения WBE2-I-KNX.
  2. Подключите шину KNX на клеммы модуля. Например, модуль установлен в разъем MOD1, значит шину нужно подключить к разъёму mod_out_1 по схеме: положительный провод на клемму O1, отрицательный — клемма O3.
  3. Подключите на шину блок питания KNX и термостат.
  4. Включите питание на БД — на светодиоды термостате начнут мигать примерно раз в секунду (1Гц).

Компьютер

  1. Скачайте программу ETS5 с официального сайта.
  2. Проверьте, чтобы в системе был Microsoft NET framework 4.8. Если его нет — установите. В комплекте с программой идёт Microsoft NET framework 4.6, но с ним программа работает плохо.
  3. Установите ETS5.
  4. Настройте связь с контроллером. Контроллер Wirenboard будет работать в качестве шлюза в сеть KNX.
  5. Добавьте новый интерфейс, для этого перейдите Системная шинаПоказать интерфейсы, выделите IP Tunneling и укажите имя из файла конфигурации [Knxd#Работа с ETS5 | knxd]].
  6. Нажмите справа внизу кнопку Тест. Если вы получили ответ ОК — интерфейс настроен верно.
  7. Нажмите кнопку Выбрать.

Теория KNX

Адресация

KNX-устройства на шине могут иметь адреса от 0.0.1 до 15.15.255, в протоколе под адрес отведено 16 бит. При назначении адресов устройствам обычно использует схему «область-линия-устройство».

Все устройства на шине равноправны могут передавать телеграммы.

Протокол KNX предусматривает два режима:

  • Системный — это режим, в котором устройства передают телеграммы напрямую друг другу. Используется для программирования при настройке системы.
  • Основной или рабочий — в этом режиме устройства передают телеграммы на «групповые адреса».

Групповые адреса — это виртуальные, то есть отсутствующие физически «функции». Телеграмма — это единица обмена информацией в протоколе KNX.

Пример: Есть выключатели с адресами 0.0.1 и 0.0.2 Реле с адресом 0.0.5

Нужно завершить мысль У выключателей…

Обнаружение KNX-устройства

Обычно адрес нового устройства на шине неизвестен.

Но его легко обнаружить:

  1. Из документации на термостат видно, что есть кнопка L и светодиод K, в нормальном режиме скрытые под регулятором.
  2. Нажимаем отвёрткой кнопку — светодиод начнёт мигать, сигнализируя от том, что устройство перешло в режим программирования.
  3. В программе ETS5 переходим Системная шинаДиагностированиеИндивидуальные адресаРежим программирования и нажимаем кнопку Старт.
  4. После того, как устройство будет найдено — нажмите кнопку Стоп, чтобы не занимать шину.

Диагностика неисправностей

Управление светодиодом на устройстве из программы ETS5

В процессе обнаружения устройств, ETS5 отправляет в KNX-шину телеграммы, которые можно отследить. Для этого нужно подписаться на топик /devices/knx/controls/data:

mosquitto_sub -v -t /devices/knx/#
/devices/knx/controls/data/meta/type data
/devices/knx/meta/name wb-knx
/devices/knx/controls/data i:0/0/36 g:0/0/0 IndividualAddrRequest 0x00
/devices/knx/controls/data i:15/15/255 g:0/0/0 IndividualAddrResponse 0x00
/devices/knx/controls/data i:0/0/36 g:0/0/0 IndividualAddrRequest 0x00
/devices/knx/controls/data i:15/15/255 g:0/0/0 IndividualAddrResponse 0x00
/devices/knx/controls/data i:0/0/36 g:0/0/0 IndividualAddrRequest 0x00
/devices/knx/controls/data i:15/15/255 g:0/0/0 IndividualAddrResponse 0x00
/devices/knx/controls/data i:0/0/36 g:0/0/0 IndividualAddrRequest 0x00
/devices/knx/controls/data i:15/15/255 g:0/0/0 IndividualAddrResponse 0x00

Также для диагностики можно вывести телеграммы из шины с помощью knxtool:

knxtool vbusmonitor1 local:/var/run/knx 
L_Busmon: B0 00 18 00 00 E1 01 00 B7 :L_Data system from 0.0.24 to 0/0/0 hops: 06 T_Data_Broadcast A_IndividualAddress_Read
L_Busmon: B0 FF FF 00 00 E1 01 40 EF :L_Data system from 15.15.255 to 0/0/0 hops: 06 T_Data_Broadcast A_IndividualAddress_Response

Ещё можно управлять светодиодом K из ETS5, для этого перейдите в меню Системная шинаДиагностированиеИндивидуальные адресаПроверка индивидуального адреса

Создание проекта

Новый проект

Создадим в программе ETS5 проект.

Если это первый проект на этом компьютере, то нужно скачать и импортировать базу устройств:

  1. Скачайте базу устройств по с | сайта производителя.
  2. Распакуйте архив и импортируйте нужные устройства.

После установки базы устройств:

  1. Создайте новый проект, для этого нажмите кнопку с зелёным плюсом «+».
  2. Укажите произвольное имя проекта.
  3. В разделе Топология оставьте TP (Twisted Pair).

Всё, у нас есть автоматически созданное «здание», которе называется так же как проект.

Устройство

Физическое размещение — это этаж, комната или строение.

Добавим новую комнату:

  1. В окне Задания, нажмите на стрелку рядом с названием функции.
  2. Из открывшегося списка выберем пункт Комнаты.
  3. Далее нажмите на кнопку Добавить комнату и введите наименование.

Теперь, когда у нас есть физическое размещения для устройства (комната), мы можем добавить само устройство:

  1. В окне Задания, в списке комнат выберите ту, где стоит устройство.
  2. Нажмите кнопку Добавить устройство. Откроется каталог устройств.
  3. В каталоге устройств выберите ПроизводительТип устройства и найдите наш термостат 2178TS. Здесь важно не ошибиться и выбрать устройство с полностью совпадающим наименованием — все буквы и цифры важны.
  4. Нажимаем кнопку Добавить.
  5. Смените адрес устройства. Зайдите в свойства устройства и в правой части экрана измените адрес. В нашем примере мы установили 1.1.4.

По алгоритму выше, добавьте второе устройство — выключатель. Он сразу есть в каталоге ETS5 и скачивать базу не нужно. Ему назначим адрес 1.1.5

Теперь в проекте есть два устройства.

Телеграммы