WB-M1W2 1-Wire to Modbus Temperature Measurement Module: различия между версиями

Нет описания правки
Строка 1: Строка 1:
<languages/>
<translate>
<!--T:1-->
<!--T:1-->
[[Файл:WB-M1W2.jpg|мини|Модуль WB-M1W2]]
[[Файл:WB-M1W2.jpg|мини|Модуль WB-M1W2]]
Строка 10: Строка 7:
'''[https://wirenboard.com/ru/product/WB-M1W2/ Купить в интернет-магазине]'''
'''[https://wirenboard.com/ru/product/WB-M1W2/ Купить в интернет-магазине]'''


<!--T:3-->
== Назначение==
WB-M1W2 - компактный преобразователь, предназначенный для опроса '''двух''' цифровых термометров 1-Wire (DS18B20) по протоколу Modbus RTU по шине RS-485.
WB-M1W2 - компактный преобразователь, предназначенный для опроса '''двух''' цифровых термометров 1-Wire (DS18B20) по протоколу Modbus RTU по шине RS-485.


== Входы == <!--T:4-->
== Технические характеристики ==
Питание модуля подается на винтовые зажимы V+ и GND, линия RS-485 подключается ко входам A и B.
 
<!--T:5-->
'''Версия 1:''' Два внешних датчика температуры DS18B20 подключаются по паразитной схеме питания, когда выводы +5В и GND объединены и подключены к клемме GND, вывод данных подключается к зажиму 1 или 2 1-Wire.
 
<!--T:6-->
'''Версия 2:''' Два внешних датчика температуры DS18B20 подключаются по активной схеме питания, GND датчиков подключается к клемме GND, вывод данных подключается к зажиму 1 или 2 1-Wire, напряжение питания датчиков подается с вывода 5V out. В версии 2 имеется дополнительная защита входов 1-Wire.
 
<!--T:7-->
Также в устройстве присутствует внутренний датчик температуры (NTC-термистор).
 
<!--T:8-->
В версии прошивки 4.0.0 и выше возможно также конфигурирование входов 1-Wire модуля как дискретных или счётных входов.
 
==Монтаж== <!--T:9-->
[[Файл:WB-M1W2+DS18B20.png|650px|thumb|center|Подключение датчиков DS18B20 к модулям WB-M1W2 версии один (слева) и версии 2 (справа)]]
Преобразователь устанавливается в кабель-каналы, короба, распаечные коробки. Рекомендуемая длина линий от преобразователя до выносных датчиков 1-Wire - не более 30 метров.
 
== Технические характеристики == <!--T:10-->
{| class="wikitable"
{| class="wikitable"
! style="text-align: center;" | Параметр
! style="text-align: center;" | Параметр
Строка 40: Строка 17:
! colspan="2" |Питание
! colspan="2" |Питание
|-
|-
|Напряжение питания
|Напряжение питания интерфейсной части
|9 — 24 В постоянного тока
|9 В — 24 В постоянного тока
|-
|-
|Потребляемая мощность
|Потребляемая мощность
|
|
0.1 Вт  
0,1 Вт
|-
!colspan="2" | '''Клеммники и сечение проводов'''
|-
|| Рекомендуемое сечение провода с НШВИ, мм<sup>2</sup>  || 0,75 — 1
|-
|| Длина стандартной втулки НШВИ, мм || 8
|-
|| Момент затяжки винтов, Н∙м || 0,2
|-
|-
! colspan="2" |Датчики
! colspan="2" |Датчики
Строка 93: Строка 62:
*Проверка чётности: нет (по умолчанию), 1 - нечётный (odd), 2 - чётный (even)  
*Проверка чётности: нет (по умолчанию), 1 - нечётный (odd), 2 - чётный (even)  
*Стоп-биты: 2 (по умолчанию), 1
*Стоп-биты: 2 (по умолчанию), 1
|-
! colspan="2" |Габариты
|-
| Габариты
|
* 40x15x11 мм;
|-
|-
! colspan="2" |Условия эксплуатации
! colspan="2" |Условия эксплуатации
Строка 107: Строка 70:
| Относительная влажность воздуха
| Относительная влажность воздуха
| до 98%,без конденсата влаги
| до 98%,без конденсата влаги
|-
{{:Includes. Klemmy}}
! colspan="2" |Габариты
|-
| Габариты
|
* 40x15x11 мм;
|}
|}
== Общий принцип работы ==
==Монтаж== <!--T:9-->
[[Файл:WB-M1W2+DS18B20.png|650px|thumb|center|Подключение датчиков DS18B20 к модулям WB-M1W2 версии один (слева) и версии 2 (справа)]]
Преобразователь устанавливается в кабель-каналы, короба, распаечные коробки. Рекомендуемая длина линий от преобразователя до выносных датчиков 1-Wire - не более 30 метров.
== Настройка ==
Доступны следующие натройки:


== Дополнительные Функции== <!--T:11-->
== Дополнительные Функции== <!--T:11-->
Строка 119: Строка 99:
Запись в эту область памяти не поддерживается, при попытки записи в недопустимое место возвращается ошибка 3.
Запись в эту область памяти не поддерживается, при попытки записи в недопустимое место возвращается ошибка 3.


==Представление в WEB интерфейсе контроллера WB.==


[[M1W2 Registers |Карта регистров M1W2]]
===Настройка модуля через WEB интерфейс=== <!--T:34-->
Выполните [[RS-485:Настройка_через_веб-интерфейс | начальное конфигурирование через web-интерфейс]].


==Сигнатура устройства == <!--T:18-->
===Представление в WEB интерфейсе===
[[File:Web interface WB MDM3.png|300px|thumb|right|Рис.3. Элементы управления и индикации НОВОГО УСТРОЙСТВА в веб-интерфейсе]]
Из web-интерфейса диммера доступны следующие возможности управления и индикации.


<!--T:19-->
=== Работа преобразователя с контроллером Wiren Board === <!--T:22-->
По адресу 200 лежит сигнатура модуля длиной 6 байт. Сигнатура уникальна для каждой модели устройств Wiren Board и позволяет идентифицировать модель по Modbus:
 
<!--T:20-->
{| class="wikitable"
! style="font-weight: bold;" | Модуль
! style="font-weight: bold;" | Сигнатура
|-
| WB-M1W2
| WBMIR'0x00'
|}
 
<!--T:21-->
Для получения сигнатуры нужно выполнить команду READ_HOLDING_REGISTERS по адресу 200 (длина 6 регистров). Запись в эту область памяти не поддерживается, при попытке записи в недопустимое место возвращается ошибка 3. Пустые места в тексте сигнатуры забиваются значением 0x00.
Начиная с регистра 220 записана дата сборки прошивки, в формате "число'''x00'''время'''x00'''" в виде строки (пример: 'Jan 27 2017 17:01:13'). Длина записи — 21 регистр.
 
== Работа преобразователя с контроллером Wiren Board == <!--T:22-->
Для преобразователя WB-M1W2 в контроллере Wiren Board предусмотрен соответствующий шаблон WB-M1W2.
Для преобразователя WB-M1W2 в контроллере Wiren Board предусмотрен соответствующий шаблон WB-M1W2.


Строка 191: Строка 159:
|}
|}


== Управление модулем из командной строки == <!--T:28-->
{{:Includes. Modbus}}
Программное обеспечение контроллера Wiren Board включает в себя утилиту modbus_client для работы с устройствами, подключенными к выходам RS-485, по протоколу Modbus, подробное описание команды находится на странице [[Modbus-client]]. Доступ к командной строке описан в статье [[SSH]].


=== Пример чтения регистров === <!--T:29-->
=== Карты регистров === <!--T:14-->
Проверим, верно ли, что мы подключились именно к модулю нужного типа. (Модуль wb-mqtt-serial должен быть предварительно остановлен). По адресу 200 хранится уникальная сигнатура длиной в 6 регистров. Прочтем 6 регистров, начиная с адреса 200, и преобразуем полученный ответ из шестнадцатеричных цифр в символьную строку:


<!--T:30-->
<!--T:15-->
<syntaxhighlight lang="bash">echo  -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 \
{| class="wikitable"
-a1 -t0x03 -r200 -c 6 | \
! rowspan="2" |Регистр/ адрес
grep Data | sed -e 's/0x00/\\\x/g' -e 's/Data://' -e 's/\s//g'` </syntaxhighlight>
! rowspan="2" |Тип
! rowspan="2" |Чтение/ запись
! rowspan="2" |Значение по умолчанию
! rowspan="2" |Формат
! rowspan="2" |Назначение
!Версии
прошивки
|-
!
|-
|6
|input
|R
|0x7FFF
|°C × 16 (signed)
|Температура со встроенного датчика
|
|-
|7
|input
|R
|0x7FFF
|°C × 16 (signed)
|Температура с первого внешнего датчика 1-Wire
|
|-
|8
|input
|R
|0x7FFF
|°C × 16 (signed)
|Температура со второго внешнего датчика 1-Wire
|
|-
|20
|input
|R
|0
|°C × 16 (signed)
|Температура с первого внешнего датчика 1-Wire. При ошибке опроса датчика сохраняет предыдущее валидное значение (статус датчика читать из discrete регистра 16).
| rowspan="2" |начиная с прошивки 4.6.0
|-
|21
|input
|R
|0
|°C × 16 (signed)
|Температура со второго внешнего датчика 1-Wire. При ошибке опроса датчика сохраняет предыдущее валидное значение (статус датчика читать из discrete регистра 17).
|-
|99||holding||RW||16|| 1 = 0.0625C
||(доступно с версии прошивки 3.10.0)
Фильтр подозрительных значений для датчиков 1-Wire (85.000C, 127.937C).
Значения отбрасываются, если предыдущее отличается от подозрительного больше, чем на значение регистра*0.0625C.
Запишите 0, чтобы отключить фильтр.
|3.10.0
|-


<!--T:31-->
В результате выполнения команды получаем строку, например '''WBM1W2'''. В этом примере модуль WB-M1W2 имеет Modbus-адрес 1.


== Обновление прошивки устройства == <!--T:32-->
<!--T:16-->
|104-105 || input || R || || 32-bit unsigned int
|| Время работы устройства (uptime counter) в секундах
|
|-
 
 
 
<!--T:17-->
|110
|holding
|RW
|96
|baud rate / 100
|скорость порта RS-485, '''делённая на 100'''. Допустимые скорости: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
| rowspan="3" |>3.1.0
|-
|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
|запись в регистр вызывает перезагрузку модуля без сохранения состояния
|
|-
|121 (0x79)
|input
|R
| -
|mV
|текущее напряжение питания модуля
|
|-
|128 (0x80)
|holding
|RW
|1
|
|Modbus-адрес устройства
|
|-
| 129 (0x81) || holding || RW || 0 || 0 или 1 || Переход в [[WB-MCU-Flasher|режим загрузчика]] || начиная с прошивки 4.5.0
|-
|200-206
|input
|R
|см. [[Sensors Modbus Management|Сигнатура устройства]]
|
|сигнатура
|
|-
|220-241
|input
|R
|
|__date__ __time__
|дата сборки прошивки
|
|-
|245
|holding
|RW
|216
|°C × 100 (signed)
|Компенсация самонагрева встроенного датчика температуры.
Значение регистра вычитается из температуры, измеренной встроенным датчиком (регистр 6)
|
|-
|250-269
|input
|R
|
|строка, null-terminated
|версия прошивки
|
|-
|270-271
|input
|R
|
|32-bit unsigned int
|уникальный идентификатор (S/N)
|
|-
|
|
|
|
|
|
|
|-
|275
|holding
|RW
|0
|0 или 1
|Режим входа №1: 0 - 1-wire, 1 - дискретный вход
| rowspan="6" |>=4.0.0
|-
|276
|holding
|RW
|0
|0 или 1
|Режим входа №2: 0 - 1-wire, 1 - дискретный вход
|-
|277
|input
|R
|
|16-bit unsigned int
|Счетчик срабатываний для входа №1
|-
|278
|input
|R
|
|16-bit unsigned int
|Счетчик срабатываний для входа №2
|-
|0
|discrete
|R
|
|0 или 1
|Текущее состояние входа №1: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0.
|-
|1
|discrete
|R
|
|0 или 1
|Текущее состояние входа №2: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0.
|-
|16
|discrete
|R
|
|0 или 1
|Статус опроса датчика 1-Wire входа №1: 0 - датчик не подключен, 1 - датчик подключен и корректно опрашивается
| rowspan="2" |начиная с прошивки 4.6.0
|-
|17
|discrete
|R
|
|0 или 1
|Статус опроса датчика 1-Wire входа №2: 0 - датчик не подключен, 1 - датчик подключен и корректно опрашивается
|}
 
==Обновление прошивки и сброс настроек==
 
Начиная с новых версий микропрограмм устройства поддерживается функционал обновления прошивки (микропрограммы) по протоколу Modbus. Это дает возможность расширять функциональные возможности устройств и устранять ошибки в микропрограммном обеспечении непосредственно на месте монтажа. Подробнее о перепрошивке устройств рассказано в статье [[WB-MCU-Flasher|Загрузка прошивок на устройства Wiren Board]]. Список версий прошивок, поддерживающих обновление, а также устройств, для которых эта функция реализована, можно найти в статье [[Firmware_Changelog]].
Начиная с новых версий микропрограмм устройства поддерживается функционал обновления прошивки (микропрограммы) по протоколу Modbus. Это дает возможность расширять функциональные возможности устройств и устранять ошибки в микропрограммном обеспечении непосредственно на месте монтажа. Подробнее о перепрошивке устройств рассказано в статье [[WB-MCU-Flasher|Загрузка прошивок на устройства Wiren Board]]. Список версий прошивок, поддерживающих обновление, а также устройств, для которых эта функция реализована, можно найти в статье [[Firmware_Changelog]].
==Известные неисправности==
Неисправности пока не найдены.
== Ревизии устройства ==
Ревизия устройства указана на наклейке на боковой поверхности корпуса, а также на печатной плате.
{| class="wikitable"
!Ревизия
!Партии
!Дата выпуска
!Отличия от предыдущей ревизии
|-
|
|
|
|
*
|-
|
|
|
|
*
|-
|}


==Изображения и чертежи устройства== <!--T:33-->
==Изображения и чертежи устройства== <!--T:33-->
{{Wbincludes:WBPictures|1}}
{{Wbincludes:WBPictures|1}}
</translate>