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

Материал из Wiren Board
(Перенаправление изменено с Центр документации на WB-MIO-E v.2 Modbus Interface Converter)
Метка: изменение цели перенаправления
 
(не показаны 134 промежуточные версии 14 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE:Преобразователь интерфейсов WB-MIO}}
#REDIRECT [[WB-MIO-E_v.2_Modbus_Interface_Converter]]
[[Файл: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]].
 
Для подключения устройств [[Модули ввода-вывода|'''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 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 992 || holding || R || || || style="text-align:left" | Модуль выхода номер 3 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 993 || holding || R || || || style="text-align:left" | Модуль входа номер 4 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 994 || holding || R || || || style="text-align:left" | Модуль выхода номер 4 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 995 || holding || R || || || style="text-align:left" | Модуль входа номер 3 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 996 || holding || R || || || style="text-align:left" | Модуль входа номер 2 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 997 || holding || R || || || style="text-align:left" | Модуль входа номер 1 подключен (0 = не подключен, 1 = 8 канальный, 2 = 16 канальный)
|-
| 1250 - 1265 || holding || R || 16 bit unsigned int || || style="text-align:left" | Регистры счетчика входов модуля номер 1
|-
| 2250 - 2265 || holding || R || 16 bit unsigned int || || style="text-align:left" | Регистры счетчика входов модуля номер 2
|-
| 3250 - 3265 || holding || R || 16 bit unsigned int || || style="text-align:left" | Регистры счетчика входов модуля номер 3
|-
| 4250 - 4265 || holding || R || 16 bit unsigned int || || style="text-align:left" | Регистры счетчика входов модуля номер 4
|-
| 10999 || holding || RW || 0 || 0 or higher than 0  || style="text-align:left" | Config flag of input module no. 1
|-
| 11000 - 11005 || 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 - 11505 || 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 - 12005 || 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 - 12505 || 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 - 13005 || 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 - 13505 || 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 - 14005 || 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 - 14505 || 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" | Config 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" | Config 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" | Config 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" | Config registers of ADC module no. 4
|-
|}
 
=== Table of discrete module configuration ===
 
{|  border="1" class="wikitable" style="text-align:center"
!Register/ Address
!Number of ports
!Device type
!Recomended value
!Description
|-
| xxx00 || 8 pin || INPUT || 0xFF || IODIR: pin direction
|-
| xxx00 || 8 pin || OUTPUT || 0x00 || IODIR: pin direction
|-
| xxx00 || 16 pin || INPUT || 0xFFFF || IODIR: pin direction
|-
| xxx00 || 16 pin || OUTPUT || 0x0000 || IODIR: pin direction
|-
| xxx01 || 8 pin || INPUT || 0x00 || IPOL: pin polarity
|-
| xxx01 || 8 pin || OUTPUT || 0x00 || IPOL: pin polarity
|-
| xxx01 || 16 pin || INPUT || 0x0000 || IPOL: pin polarity
|-
| xxx01 || 16 pin || OUTPUT || 0x0000 || IPOL: pin polarity
|-
| xxx02 || 8 pin || INPUT || 0xFF || GPINTEN: interrupt on change
|-
| xxx02 || 8 pin || OUTPUT || N/A || GPINTEN: interrupt on change
|-
| xxx02 || 16 pin || INPUT || 0xFFFF || GPINTEN: interrupt on change
|-
| xxx02 || 16 pin || OUTPUT || N/A  || GPINTEN: interrupt on change
|-
| xxx03 || 8 pin || INPUT || 0x00|| DEFVAL: default value register
|-
| xxx03 || 8 pin || OUTPUT || N/A || DEFVAL: default value register
|-
| xxx03 || 16 pin || INPUT || 0x0000 || DEFVAL: default value register
|-
| xxx03 || 16 pin || OUTPUT || N/A  || DEFVAL: default value register
|-
| xxx04 || 8 pin || INPUT || 0x00|| INTCON: interrupt on change
|-
| xxx04 || 8 pin || OUTPUT || N/A || INTCON: interrupt on change
|-
| xxx04 || 16 pin || INPUT || 0x0000 || INTCON: interrupt on change
|-
| xxx04 || 16 pin || OUTPUT || N/A  || INTCON: interrupt on change
|-
| xxx05 || 8 pin || INPUT || 0x4444|| IOCON: configuration register
|-
| xxx05 || 8 pin || OUTPUT || 0x4444 || IOCON: configuration register
|-
| xxx05 || 16 pin || INPUT || 0x4444 || IOCON: configuration register
|-
| xxx05 || 16 pin || OUTPUT || 0x4444 || IOCON: configuration register
|-
|}
 
=== Table of Analog module configuration ===
 
{|  border="1" class="wikitable" style="text-align:center"
!Register/ Address
!Description
|-
| xx000 || A1 config register
|-
| xx001 || A2 config register
|-
| xx002 || A3 config register
|-
| xx003 || A4 config register
|-
| xx004 || DIFF1 config register
|-
| xx005 || DIFF2 config register
|-
| xx006 || A5 config register
|-
| xx007 || A6 config register
|-
| xx008 || A7 config register
|-
| xx009 || A8 config register
|-
| xx010 || DIFF3 config register
|-
| xx011 || DIFF4 config register
|-
| xx012 || A9 config register
|-
| xx013 || A10 config register
|-
| xx014 || A11 config register
|-
| xx015 || A12 config register
|-
| xx016 || DIFF5 config register
|-
| xx017 || DIFF6 config register
|-
|}
 
{|  border="1" class="wikitable" style="text-align:center"
!Value
!Configuration
|-
| 0x00 || ±6.144 V (*)
|-
| 0x01 || ±4.096 V (*)
|-
| 0x02 || ±2.048 V
|-
| 0x03 || ±1.024 V
|-
| 0x04 || ±0.512 V
|-
| 0x05 || ±0.256 V
|-
| 0x06 || ±0.256 V
|-
| 0x07 || ±0.256 V
|-
|}
 
(*) This parameter expresses the full-scale range of the ADC scaling. Do not apply more than VDD + 0.3 V to the analog inputs of the
device.
 
=== Table of Modbus coil registers  ===
{|  border="1" class="wikitable" style="text-align:center"
!Register/ Address
!Description
|-
| 1000 - 1015 || style="text-align:left" | Логические состояния модуля ввода no. 1
|-
| 1500 - 1515 || style="text-align:left" | Логические состояния модуля вывода no. 1
|-
| 2000 - 2015 || style="text-align:left" | Логические состояния модуля ввода no. 2
|-
| 2500 - 2515 || style="text-align:left" | Логические состояния модуля вывода no. 2
|-
| 3000 - 3015 || style="text-align:left" | Логические состояния модуля ввода no. 3
|-
| 3500 - 3515 || style="text-align:left" | Логические состояния модуля вывода no. 3
|-
| 4000 - 4015 || style="text-align:left" | Логические состояния модуля ввода no. 4
|-
| 4500 - 4515 || style="text-align:left" | Логические состояния модуля вывода no. 4
|-
| 19990 || style="text-align:left" | adc модуль 1 подключен
|-
| 19991 || style="text-align:left" | adc модуль 2 подключен
|-
| 19992 || style="text-align:left" | adc модуль 3 подключен
|-
| 19993 || style="text-align:left" | adc модуль 4 подключен
|-
|}

Текущая версия на 20:02, 25 марта 2022

Перенаправление на: