KNX Quick start: различия между версиями
Brainroot (обсуждение | вклад) |
(Поменял displaytitle, форматирование и немного поправил текст) |
||
Строка 1: | Строка 1: | ||
{{Draft}} | {{Draft}} | ||
{{DISPLAYTITLE: Быстрый старт работы с KNX на контроллере Wiren Board}} | |||
= | == Используемое оборудование == | ||
Чтобы на примере показать работу с KNX-устрйоствами мы взяли оборудование: | |||
* Контроллер [[Wiren Board | Wiren Board 6.7]]. | |||
* Модуль расширения [[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|Подключение шины к клеммам модуля расширения]] | ||
# Установите и настройте модуль расширения [[WBE2-I-KNX_KNX_Extension_Module|WBE2-I-KNX]]. | |||
== | # Подключите шину KNX на клеммы модуля. Например, модуль установлен в разъем '''MOD1''', значит шину нужно подключить к разъёму '''mod_out_1''' по схеме: положительный провод на клемму O1, отрицательный — клемма O3. | ||
# Подключите на шину блок питания KNX и термостат. | |||
# Включите питание на БД — на светодиоды термостате начнут мигать примерно раз в секунду (1Гц). | |||
[ | |||
=== Компьютер === | |||
# Скачайте программу 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> | |||
== Теория KNX == | |||
=== Адресация === | |||
KNX-устройства на шине могут иметь адреса от 0.0.1 до 15.15.255, в протоколе под адрес отведено 16 бит. При назначении адресов устройствам обычно использует схему «область-линия-устройство». | |||
Все устройства на шине равноправны могут передавать телеграммы. | |||
Все устройства на шине равноправны | |||
* | Протокол KNX предусматривает два режима: | ||
* в | * Системный — это режим, в котором устройства передают телеграммы напрямую друг другу. Используется для программирования при настройке системы. | ||
* Основной или рабочий — в этом режиме устройства передают телеграммы на «групповые адреса». | |||
'''Групповые адреса''' — это виртуальные, то есть отсутствующие физически «функции». | |||
'''Телеграмма''' — это единица обмена информацией в протоколе KNX. | |||
Пример: | Пример: | ||
Строка 48: | Строка 57: | ||
Реле с адресом 0.0.5 | Реле с адресом 0.0.5 | ||
У | {{note|warn| Нужно завершить мысль '''У выключателей…'''}} | ||
== Обнаружение KNX-устройства == | |||
Обычно адрес нового устройства на шине неизвестен. | |||
Но его легко обнаружить: | |||
# Из документации на термостат видно, что есть кнопка '''L''' и светодиод '''K''', в нормальном режиме скрытые под регулятором. | |||
# Нажимаем отвёрткой кнопку — светодиод начнёт мигать, сигнализируя от том, что устройство перешло в режим программирования. | |||
# В программе ETS5 переходим '''Системная шина''' → '''Диагностирование''' → '''Индивидуальные адреса''' → '''Режим программирования''' и нажимаем кнопку '''Старт'''. | |||
# После того, как устройство будет найдено — нажмите кнопку Стоп, чтобы не занимать шину. | |||
<gallery mode="traditional " widths ="450px" heights="300px"> | |||
Image: Program_button_KNX_A_2178.png | Фрагмент инструкции на термостат KNX Albrecht Jung | |||
Image: ETS_search_program.png | Окно поиска устройств в режиме программирования | |||
Image: ETS_search_program_1.png | Найдено устройство с адресом 15.15.255 | |||
</gallery> | |||
< | |||
=== Диагностика неисправностей === | |||
[[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''' из ETS5, для этого перейдите в меню '''Системная шина''' → '''Диагностирование''' → '''Индивидуальные адреса''' → '''Проверка индивидуального адреса''' | |||
[ | |||
== Создание проекта == | |||
=== Новый проект === | |||
Создадим в программе 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> | |||
=== Устройство === | |||
Физическое размещение — это этаж, комната или строение. | |||
Добавим новую комнату: | |||
# В окне '''Задания''', нажмите на стрелку рядом с названием функции. | |||
# Из открывшегося списка выберем пункт '''Комнаты'''. | |||
# Далее нажмите на кнопку '''Добавить''' комнату и введите наименование. | |||
Теперь, когда у нас есть физическое размещения для устройства (комната), мы можем добавить само устройство: | |||
# В окне '''Задания''', в списке комнат выберите ту, где стоит устройство. | |||
# Нажмите кнопку '''Добавить устройство'''. Откроется каталог устройств. | |||
# В каталоге устройств выберите '''Производитель''' → '''Тип устройства''' и найдите наш термостат '''2178TS'''. Здесь важно не ошибиться и выбрать устройство с полностью совпадающим наименованием — все буквы и цифры важны. | |||
# Нажимаем кнопку '''Добавить'''. | |||
# Смените адрес устройства. Зайдите в свойства устройства и в правой части экрана измените адрес. В нашем примере мы установили 1.1.4. | |||
<gallery mode="traditional " widths ="300px" heights="250px"> | |||
< | Image: ETS_createProject_03.png | Добавление комнаты | ||
Image: ETS_createProject_04.png | Добавление устройств | |||
Image: ETS_createProject_05.png | Выбор устройства | |||
Image: ETS_createProject_06.png | Свойства устройств | |||
Image: ETS_createProject_07.png | Установка адреса | |||
</gallery> | |||
По алгоритму выше, добавьте второе устройство — выключатель. Он сразу есть в каталоге ETS5 и скачивать базу не нужно. Ему назначим адрес 1.1.5 | |||
Теперь в проекте есть два устройства. | |||
Теперь в проекте есть два устройства | |||
==Телеграммы== | == Телеграммы == |
Версия 10:57, 26 июля 2021
Это черновик страницы. Последняя правка сделана 26.07.2021 пользователем A.Degtyarev.
Используемое оборудование
Чтобы на примере показать работу с KNX-устрйоствами мы взяли оборудование:
- Контроллер Wiren Board 6.7.
- Модуль расширения WBE2-I-KNX.
- Термостат KNX Albrecht Jung A2178.
- Выключатель двухканальный ABB US/U2.2 Universal-Schnittstelle, 2fach.
- Блок питания KNX Mean Well KNX-20E-640.
- Компьютер с ОС Windows.
Подготовка
Контроллер
- Установите и настройте модуль расширения WBE2-I-KNX.
- Подключите шину KNX на клеммы модуля. Например, модуль установлен в разъем MOD1, значит шину нужно подключить к разъёму mod_out_1 по схеме: положительный провод на клемму O1, отрицательный — клемма O3.
- Подключите на шину блок питания KNX и термостат.
- Включите питание на БД — на светодиоды термостате начнут мигать примерно раз в секунду (1Гц).
Компьютер
- Скачайте программу ETS5 с официального сайта.
- Проверьте, чтобы в системе был Microsoft NET framework 4.8. Если его нет — установите. В комплекте с программой идёт Microsoft NET framework 4.6, но с ним программа работает плохо.
- Установите ETS5.
- Настройте связь с контроллером. Контроллер Wirenboard будет работать в качестве шлюза в сеть KNX.
- Добавьте новый интерфейс, для этого перейдите Системная шина → Показать интерфейсы, выделите IP Tunneling и укажите имя из файла конфигурации [Knxd#Работа с ETS5 | knxd]].
- Нажмите справа внизу кнопку Тест. Если вы получили ответ ОК — интерфейс настроен верно.
- Нажмите кнопку Выбрать.
Теория KNX
Адресация
KNX-устройства на шине могут иметь адреса от 0.0.1 до 15.15.255, в протоколе под адрес отведено 16 бит. При назначении адресов устройствам обычно использует схему «область-линия-устройство».
Все устройства на шине равноправны могут передавать телеграммы.
Протокол KNX предусматривает два режима:
- Системный — это режим, в котором устройства передают телеграммы напрямую друг другу. Используется для программирования при настройке системы.
- Основной или рабочий — в этом режиме устройства передают телеграммы на «групповые адреса».
Групповые адреса — это виртуальные, то есть отсутствующие физически «функции». Телеграмма — это единица обмена информацией в протоколе KNX.
Пример: Есть выключатели с адресами 0.0.1 и 0.0.2 Реле с адресом 0.0.5
Нужно завершить мысль У выключателей…
Обнаружение KNX-устройства
Обычно адрес нового устройства на шине неизвестен.
Но его легко обнаружить:
- Из документации на термостат видно, что есть кнопка L и светодиод K, в нормальном режиме скрытые под регулятором.
- Нажимаем отвёрткой кнопку — светодиод начнёт мигать, сигнализируя от том, что устройство перешло в режим программирования.
- В программе 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 проект.
Если это первый проект на этом компьютере, то нужно скачать и импортировать базу устройств:
- Скачайте базу устройств по с | сайта производителя.
- Распакуйте архив и импортируйте нужные устройства.
После установки базы устройств:
- Создайте новый проект, для этого нажмите кнопку с зелёным плюсом «+».
- Укажите произвольное имя проекта.
- В разделе Топология оставьте TP (Twisted Pair).
Всё, у нас есть автоматически созданное «здание», которе называется так же как проект.
Устройство
Физическое размещение — это этаж, комната или строение.
Добавим новую комнату:
- В окне Задания, нажмите на стрелку рядом с названием функции.
- Из открывшегося списка выберем пункт Комнаты.
- Далее нажмите на кнопку Добавить комнату и введите наименование.
Теперь, когда у нас есть физическое размещения для устройства (комната), мы можем добавить само устройство:
- В окне Задания, в списке комнат выберите ту, где стоит устройство.
- Нажмите кнопку Добавить устройство. Откроется каталог устройств.
- В каталоге устройств выберите Производитель → Тип устройства и найдите наш термостат 2178TS. Здесь важно не ошибиться и выбрать устройство с полностью совпадающим наименованием — все буквы и цифры важны.
- Нажимаем кнопку Добавить.
- Смените адрес устройства. Зайдите в свойства устройства и в правой части экрана измените адрес. В нашем примере мы установили 1.1.4.
По алгоритму выше, добавьте второе устройство — выключатель. Он сразу есть в каталоге ETS5 и скачивать базу не нужно. Ему назначим адрес 1.1.5
Теперь в проекте есть два устройства.