WB-MIO Modbus Interface Converters: различия между версиями

Материал из Wiren Board
(Перенаправление изменено с Центр документации на WB-MIO-E v.2 Modbus Interface Converter)
Метка: изменение цели перенаправления
(не показано 145 промежуточных версий 16 участников)
Строка 1: Строка 1:
#REDIRECT [[WB-MIO-E_v.2_Modbus_Interface_Converter]]
{{DISPLAYTITLE:Преобразователь интерфейсов WB-MIO}}
'''Статья в процессе наполнения и редактирования'''
[[Файл:WB-MIO_1.png|мини]]
== Назначение==
Преобразователь интерфейсов WB-MIO предназначен для подключения устройств [[Модули ввода-вывода|'''WBIO''' (Модули ввода-вывода)]] к интерфейсу RS-485. Позволяет, при необходимости, отделить [[Модули ввода-вывода|модули ввода-вывода]] от контроллера Wiren board и перенести на другую дин-рейку или в другой щит. Также позволяет использовать [[Модули ввода-вывода|модули ввода-вывода]] как отдельное устройство c контроллерами других производителей.
 
== Технические характеристики ==
[[File:DIN 2U.png |300px|thumb|right|Габаритные размеры]]
{| class="wikitable"
! style="text-align: center;" | Параметр
! style="text-align: center;" | Значение
|-
! colspan="2" |Питание
|-
|Напряжение питания интерфейсной части
|9 В — 24 В постоянного тока
|-
|Потребляемая мощность
|
0,85 Вт
|-
! colspan="2" |Каналы управления нагрузкой
|-
! colspan="2" |Коммуникация
|-
|Протокол обмена данными
|Modbus RTU, WBIO
|-
|Параметры интерфейса RS-485
|задаются программно, по умолчанию:
скорость 9600 бит/с; данные — 8 бит; четность N; стоп-биты 2;
*Скорость: 1200, 2400, 4800, 9600 (по умолчанию), 19200, 38400, 57600, 115200 бит/с
*Данные: 8 бит
*Проверка чётности: нет (по умолчанию), 1 - нечётный (odd), 2 - чётный (even)
*Стоповых бит: 2 (по умолчанию), 1
 
 
|-
 
! colspan="2" |Габариты
|-
| Габариты
| 2 DIN; 36,3x90,2x57,5 мм
|-
! colspan="2" |Условия эксплуатации
|-
| Температура воздуха
| от -40°С до +80°С
|-
| Относительная влажность воздуха
| до 92%, без конденсации влаги
|}
 
== Обмен данными ==
На физическом уровне модуль подключается через интерфейс RS-485. Для управления WB-MIO используется протокол [[Протокол Modbus|'''Modbus RTU''']] . В устройствах Wirenboard данные [[Протокол Modbus|'''Modbus''']] передаются по линиям связи RS-485. Modbus-адрес устройства задается на заводе и нанесен на наклейке. Адрес может быть изменен программно. Подробности смотрите в разделе [[#Управление по Modbus|Управление по Modbus]].
 
==Подключение интерфейсной части==
[[Файл:Installation WB6+mio.png|300px|thumb|right| Подключение WB-MIO]]
WB-MIO подключается к контроллеру через разъемы A и B RS-485. Питание подается от отдельного источника питания, линии GND контроллера и источника питания рекомендуется объединить.
 
==Подключение модулей ввода-вывода==
Модули ввода-вывода подключаются к WB-MIO, пристыковываясь к нему сбоку (входя в боковой разъём).
[[Файл:Connecting_Side_Modules.png|250px|thumb|right| Подключение модуля к WB-MIO]]
 
[[Файл:Wb-mio 2.png|250px|thumb|right| Подключение модулей к WB-MIO]]
 
 
Последовательно можно подключать до 9 модулей: до 4 модулей ввода (типа "I"), до 4-х модуля вывода и ввода-вывода (тип "O" и "IO"), один модуль WBIO-AI-DV-12. Тип модуля определяет тип адресации модуля контроллером на шине бокового разъема. Адреса раздаются последовательно. Подключать до 4 модулей можно в любой последовательности. При большем числе следует подключать сначала один тип, потом другой.
 
==Настройка в web-интерфейсе==
За работу с подключёнными по RS-485 WB-MIO в Wiren Board отвечает [[Драйвер wb-mqtt-serial]]. Для настройки устройства необходимо отредактировать config файл драйвера.
 
Для подключения устройств [[Модули ввода-вывода|'''WBIO''' (Модули ввода-вывода)]] через WB-MIO необходимо зайти в web-интерфейс контроллера, перейти в меню во вкладку Configs, выбрать файл /etc/wb-mqtt-serial.conf. Далее нужно добавить к нужному порту новый Serial device. В поле "Slave id of the device" указываем адрес устройства WB-MIO и через двоеточие номер по счету подключенного к WB-MIO [[Модули ввода-вывода|'''модуля ввода-вывода''']], который мы собираемся подключить к web-интерфейсу. На пример если у нас к WB-MIO подключен всего один модуль, то строка "Slave id of the device" для этого модуля будет выглядеть примерно так: 15:1. Где 15 адрес WB-MIO, а 1 это номер по счету модуля ввода-вывода. В поле "Device type" необходимо выбрать тип подключенного [[Модули ввода-вывода|модуля ввода-вывода]]. Названия шаблонов для [[Модули ввода-вывода|модулей ввода-вывода]] начинаются на "WBIO-..."
 
[[Файл:Mio-conf2.JPG]]  [[Файл:Mio-conf3.JPG]]  [[Файл:Mio-conf1.png]]
 
==Управление по Modbus==
Ниже приведена карта Modbus-регистров WB-MIO. Дополнительную информацию о работе с устройствами по протоколу Modbus можно найти в разделе [[Протокол Modbus]]
 
 
=== Карта регистров модулей реле ===
{|  border="1" class="wikitable" style="text-align:center"
!Register/ Address
!Type
!R/ W
!Default value
!Format
!Description
|-
| 110 || holding || RW || 96 (0x60) ||  baud rate / 100 || style="text-align:left" |Скорость порта RS-485, '''делённая на 100'''. Допустимые скорости: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
|-
| 111 || holding || RW || 0 || || style="text-align:left" |Настройка бита чётности порта RS-485. Допустимые значения: 0 - нет бита чётности (none), 1 - нечётный (odd), 2 - чётный (even)
|-
| 112 || holding || RW || 2 || || style="text-align:left" |Количество стоп-битов порта RS-485. Допустимые значения: 1, 2
|-
| 120 (0x78) || holding || RW || 0 || style="text-align:left" | 0 or higher than 0 || style="text-align:left" |Рестарт. Запись в регистр вызывает перезагрузку МК без сохранения состояния
|-
| 121 (0x79) || input || R || - ||  mV || style="text-align:left" |Входное напряжение
|-
| 128 (0x80) || holding || RW || 1 || || style="text-align:left" |Modbus-адрес устройства
|-
| 200-206 || input || R || {'x','x','x','x','x','x'} ||  || style="text-align:left" |Сигнатура
|-
| 220-241 || input || R || ||  __date__ __time__||  style="text-align:left" |Дата сборки прошивки
|-
| 250-269 || input || R || ||  null-terminated string ||  style="text-align:left" |Версия прошивки
|-
| 270-271 || input || R || ||  32-bit unsigned int ||  style="text-align:left" |Уникальный идентификатор (S/N)
|-
| 990 || holding || R || || || style="text-align:left" | Модуль выхода номер 1 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 991 || holding || R || || || style="text-align:left" | Модуль выхода номер 2 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 992 || holding || R || || || style="text-align:left" | Модуль выхода номер 3 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 993 || holding || R || || || style="text-align:left" | Модуль входа номер 4 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 994 || holding || R || || || style="text-align:left" | Модуль выхода номер 4 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 995 || holding || R || || || style="text-align:left" | Модуль входа номер 3 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 996 || holding || R || || || style="text-align:left" | Модуль входа номер 2 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 997 || holding || R || || || style="text-align:left" | Модуль входа номер 1 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 1250 - 1265 || holding || R || 16 bit unsigned int || || style="text-align:left" | Counter registers of input module no. 1
|-
| 2250 - 2265 || holding || R || 16 bit unsigned int || || style="text-align:left" | Counter registers of input module no. 2
|-
| 3250 - 3265 || holding || R || 16 bit unsigned int || || style="text-align:left" | Counter registers of input module no. 4
|-
| 4250 - 4265 || holding || R || 16 bit unsigned int || || style="text-align:left" | Counter registers of input module no. 5
|-
| 10999 || holding || RW || 0 || 0 or higher than 0  || style="text-align:left" | Config flag of input module no. 1
|-
| 11000 - 11010 || holding || RW ||  || 16 bit unsigned int || style="text-align:left" | Config registers of input module no. 1
|-
| 11499 || holding || RW || 0  || 0 or higher than 0 || style="text-align:left" | Config flag of output module no. 1
|-
| 11500 - 11510 || holding || RW || || 16 bit unsigned int || style="text-align:left" | Config registers of output module no. 1
|-
| 11999 || holding || RW || 0  || 0 or higher than 0 || style="text-align:left" | Config flag of input module no. 2
|-
| 12000 - 12010 || holding || RW || || 16 bit unsigned int || style="text-align:left" | Config registers of input module no. 2
|-
| 12499 || holding || RW || 0 || 0 or higher than 0 || style="text-align:left" | Config flag of output module no. 2
|-
| 12500 - 12510 || holding || RW || || 16 bit unsigned int || style="text-align:left" | Config registers of output module no. 2
|-
| 12999 || holding || RW || 0 || 0 or higher than 0 || style="text-align:left" | Config flag of input module no. 3
|-
| 13000 - 13010 || holding || RW || || 16 bit unsigned int || style="text-align:left" | Config registers of input module no. 3
|-
| 13499 || holding || RW || 0 || 0 or higher than 0 || style="text-align:left" | Config flag of output module no. 3
|-
| 13500 - 13510 || holding || RW || || 16 bit unsigned int || style="text-align:left" | Config registers of output module no. 3
|-
| 13999 || holding || RW || 0 || 0 or higher than 0 || style="text-align:left" | Config flag of input module no. 4
|-
| 14000 - 14010 || holding || RW || || 16 bit unsigned int || style="text-align:left" | Config registers of input module no. 4
|-
| 14499 || holding || RW || 0 || 0 or higher than 0 || style="text-align:left" | Config flag of output module no. 4
|-
| 14500 - 14510 || holding || RW || || 16 bit unsigned int || style="text-align:left" | Config registers of output module no. 4
|-
| 20000 - 20017 || holding || R ||  || 16 bit signed int multiplied by 100 || style="text-align:left" | Voltage registers of ADC module no. 1
|-
| 20500 - 20517 || holding || RW || 0 || int in range of: 0 - 7 || style="text-align:left" | Voltage registers of ADC module no. 1
|-
| 21000 - 21017 || holding || R ||  || 16 bit signed int multiplied by 100 || style="text-align:left" | Voltage registers of ADC module no. 2
|-
| 21500 - 21517 || holding || RW || 0 || int in range of: 0 - 7 || style="text-align:left" | Voltage registers of ADC module no. 2
|-
| 22000 - 22017 || holding || R ||  || 16 bit signed int multiplied by 100 || style="text-align:left" | Voltage registers of ADC module no. 3
|-
| 22500 - 22517 || holding || RW || 0 || int in range of: 0 - 7 || style="text-align:left" | Voltage registers of ADC module no. 3
|-
| 23000 - 23017 || holding || R ||  || 16 bit signed int multiplied by 100 || style="text-align:left" | Voltage registers of ADC module no. 4
|-
| 23500 - 23517 || holding || RW || 0 || int in range of: 0 - 7 || style="text-align:left" | Voltage registers of ADC module no. 4
|-
|}
 
===Table of Modbus coil registers  ===
{|  border="1" class="wikitable" style="text-align:center"
!Register/ Address
!Description
|-
| 1000 - 1015 || style="text-align:left" | Logical states of input module no. 1
|-
| 1500 - 1515 || style="text-align:left" | Logical states of output module no. 1
|-
| 2000 - 2015 || style="text-align:left" | Logical states of input module no. 2
|-
| 2500 - 2515 || style="text-align:left" | Logical states of output module no. 2
|-
| 3000 - 3015 || style="text-align:left" | Logical states of input module no. 3
|-
| 3500 - 3515 || style="text-align:left" | Logical states of output module no. 3
|-
| 4000 - 4015 || style="text-align:left" | Logical states of input module no. 4
|-
| 4500 - 4515 || style="text-align:left" | Logical states of output module no. 4
|-
| 19990 || style="text-align:left" | Is adc module no. 1 present
|-
| 19991 || style="text-align:left" | Is adc module no. 2 present
|-
| 19992 || style="text-align:left" | Is adc module no. 3 present
|-
| 19993 || style="text-align:left" | Is adc module no. 4 present
|-
|}

Версия 18:20, 16 января 2018

Статья в процессе наполнения и редактирования

WB-MIO 1.png

Назначение

Преобразователь интерфейсов WB-MIO предназначен для подключения устройств WBIO (Модули ввода-вывода) к интерфейсу RS-485. Позволяет, при необходимости, отделить модули ввода-вывода от контроллера Wiren board и перенести на другую дин-рейку или в другой щит. Также позволяет использовать модули ввода-вывода как отдельное устройство c контроллерами других производителей.

Технические характеристики

Габаритные размеры
Параметр Значение
Питание
Напряжение питания интерфейсной части 9 В — 24 В постоянного тока
Потребляемая мощность

0,85 Вт

Каналы управления нагрузкой
Коммуникация
Протокол обмена данными Modbus RTU, WBIO
Параметры интерфейса RS-485 задаются программно, по умолчанию:

скорость 9600 бит/с; данные — 8 бит; четность N; стоп-биты 2;

  • Скорость: 1200, 2400, 4800, 9600 (по умолчанию), 19200, 38400, 57600, 115200 бит/с
  • Данные: 8 бит
  • Проверка чётности: нет (по умолчанию), 1 - нечётный (odd), 2 - чётный (even)
  • Стоповых бит: 2 (по умолчанию), 1


Габариты
Габариты 2 DIN; 36,3x90,2x57,5 мм
Условия эксплуатации
Температура воздуха от -40°С до +80°С
Относительная влажность воздуха до 92%, без конденсации влаги

Обмен данными

На физическом уровне модуль подключается через интерфейс RS-485. Для управления WB-MIO используется протокол Modbus RTU . В устройствах Wirenboard данные Modbus передаются по линиям связи RS-485. Modbus-адрес устройства задается на заводе и нанесен на наклейке. Адрес может быть изменен программно. Подробности смотрите в разделе Управление по Modbus.

Подключение интерфейсной части

Подключение WB-MIO

WB-MIO подключается к контроллеру через разъемы A и B RS-485. Питание подается от отдельного источника питания, линии GND контроллера и источника питания рекомендуется объединить.

Подключение модулей ввода-вывода

Модули ввода-вывода подключаются к WB-MIO, пристыковываясь к нему сбоку (входя в боковой разъём).

Подключение модуля к WB-MIO
Подключение модулей к WB-MIO


Последовательно можно подключать до 9 модулей: до 4 модулей ввода (типа "I"), до 4-х модуля вывода и ввода-вывода (тип "O" и "IO"), один модуль WBIO-AI-DV-12. Тип модуля определяет тип адресации модуля контроллером на шине бокового разъема. Адреса раздаются последовательно. Подключать до 4 модулей можно в любой последовательности. При большем числе следует подключать сначала один тип, потом другой.

Настройка в web-интерфейсе

За работу с подключёнными по RS-485 WB-MIO в Wiren Board отвечает Драйвер wb-mqtt-serial. Для настройки устройства необходимо отредактировать config файл драйвера.

Для подключения устройств WBIO (Модули ввода-вывода) через WB-MIO необходимо зайти в web-интерфейс контроллера, перейти в меню во вкладку Configs, выбрать файл /etc/wb-mqtt-serial.conf. Далее нужно добавить к нужному порту новый Serial device. В поле "Slave id of the device" указываем адрес устройства WB-MIO и через двоеточие номер по счету подключенного к WB-MIO модуля ввода-вывода, который мы собираемся подключить к web-интерфейсу. На пример если у нас к WB-MIO подключен всего один модуль, то строка "Slave id of the device" для этого модуля будет выглядеть примерно так: 15:1. Где 15 адрес WB-MIO, а 1 это номер по счету модуля ввода-вывода. В поле "Device type" необходимо выбрать тип подключенного модуля ввода-вывода. Названия шаблонов для модулей ввода-вывода начинаются на "WBIO-..."

Mio-conf2.JPG Mio-conf3.JPG Mio-conf1.png

Управление по Modbus

Ниже приведена карта Modbus-регистров WB-MIO. Дополнительную информацию о работе с устройствами по протоколу Modbus можно найти в разделе Протокол Modbus


Карта регистров модулей реле

Register/ Address Type R/ W Default value Format Description
110 holding RW 96 (0x60) baud rate / 100 Скорость порта RS-485, делённая на 100. Допустимые скорости: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
111 holding RW 0 Настройка бита чётности порта RS-485. Допустимые значения: 0 - нет бита чётности (none), 1 - нечётный (odd), 2 - чётный (even)
112 holding RW 2 Количество стоп-битов порта RS-485. Допустимые значения: 1, 2
120 (0x78) holding RW 0 0 or higher than 0 Рестарт. Запись в регистр вызывает перезагрузку МК без сохранения состояния
121 (0x79) input R - mV Входное напряжение
128 (0x80) holding RW 1 Modbus-адрес устройства
200-206 input R {'x','x','x','x','x','x'} Сигнатура
220-241 input R __date__ __time__ Дата сборки прошивки
250-269 input R null-terminated string Версия прошивки
270-271 input R 32-bit unsigned int Уникальный идентификатор (S/N)
990 holding R Модуль выхода номер 1 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
991 holding R Модуль выхода номер 2 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
992 holding R Модуль выхода номер 3 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
993 holding R Модуль входа номер 4 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
994 holding R Модуль выхода номер 4 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
995 holding R Модуль входа номер 3 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
996 holding R Модуль входа номер 2 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
997 holding R Модуль входа номер 1 present (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
1250 - 1265 holding R 16 bit unsigned int Counter registers of input module no. 1
2250 - 2265 holding R 16 bit unsigned int Counter registers of input module no. 2
3250 - 3265 holding R 16 bit unsigned int Counter registers of input module no. 4
4250 - 4265 holding R 16 bit unsigned int Counter registers of input module no. 5
10999 holding RW 0 0 or higher than 0 Config flag of input module no. 1
11000 - 11010 holding RW 16 bit unsigned int Config registers of input module no. 1
11499 holding RW 0 0 or higher than 0 Config flag of output module no. 1
11500 - 11510 holding RW 16 bit unsigned int Config registers of output module no. 1
11999 holding RW 0 0 or higher than 0 Config flag of input module no. 2
12000 - 12010 holding RW 16 bit unsigned int Config registers of input module no. 2
12499 holding RW 0 0 or higher than 0 Config flag of output module no. 2
12500 - 12510 holding RW 16 bit unsigned int Config registers of output module no. 2
12999 holding RW 0 0 or higher than 0 Config flag of input module no. 3
13000 - 13010 holding RW 16 bit unsigned int Config registers of input module no. 3
13499 holding RW 0 0 or higher than 0 Config flag of output module no. 3
13500 - 13510 holding RW 16 bit unsigned int Config registers of output module no. 3
13999 holding RW 0 0 or higher than 0 Config flag of input module no. 4
14000 - 14010 holding RW 16 bit unsigned int Config registers of input module no. 4
14499 holding RW 0 0 or higher than 0 Config flag of output module no. 4
14500 - 14510 holding RW 16 bit unsigned int Config registers of output module no. 4
20000 - 20017 holding R 16 bit signed int multiplied by 100 Voltage registers of ADC module no. 1
20500 - 20517 holding RW 0 int in range of: 0 - 7 Voltage registers of ADC module no. 1
21000 - 21017 holding R 16 bit signed int multiplied by 100 Voltage registers of ADC module no. 2
21500 - 21517 holding RW 0 int in range of: 0 - 7 Voltage registers of ADC module no. 2
22000 - 22017 holding R 16 bit signed int multiplied by 100 Voltage registers of ADC module no. 3
22500 - 22517 holding RW 0 int in range of: 0 - 7 Voltage registers of ADC module no. 3
23000 - 23017 holding R 16 bit signed int multiplied by 100 Voltage registers of ADC module no. 4
23500 - 23517 holding RW 0 int in range of: 0 - 7 Voltage registers of ADC module no. 4

Table of Modbus coil registers

Register/ Address Description
1000 - 1015 Logical states of input module no. 1
1500 - 1515 Logical states of output module no. 1
2000 - 2015 Logical states of input module no. 2
2500 - 2515 Logical states of output module no. 2
3000 - 3015 Logical states of input module no. 3
3500 - 3515 Logical states of output module no. 3
4000 - 4015 Logical states of input module no. 4
4500 - 4515 Logical states of output module no. 4
19990 Is adc module no. 1 present
19991 Is adc module no. 2 present
19992 Is adc module no. 3 present
19993 Is adc module no. 4 present