WB-MCM8 Modbus Count Inputs: различия между версиями

 
(не показано 206 промежуточных версий 18 участников)
Строка 1: Строка 1:
[[Файл:MCM8.JPG|альт=Модуль WB-MCM8|мини|414x414пкс|Модуль WB-MCM8]]
<languages/><translate>
'''[https://wirenboard.com/ru/product/WB-MCM8/ Купить в интернет-магазине]'''
<!--T:33-->
{{DISPLAYTITLE:Модуль дискретных и счётных входов WB-MCM8}}
{{PDF}}
[[Файл:WB-MCM8 side.png|альт=Модуль WB-MCM8|мини|414x414пкс|Модуль WB-MCM8]]
[[Файл:WB-MCM8 PCB.png|альт=Модуль WB-MCM8|мини|414x414пкс|Плата WB-MCM8]]
'''[https://wirenboard.com/product/WB-MCM8/ Купить в интернет-магазине]'''


'''СТАТЬЯ В ПРОЦЕССЕ РЕДАКТИРОВАНИЯ!'''
== Назначение == <!--T:34-->
{{Anchor|purpose}}


{{#vardefine:ProductFullName1|Модуль счетных входов 8-канальный WB-MCM8}} {{#vardefine:FileName1|WB-MCM8}} {{#vardefine:ProductName1|WB-MCM8}}
<!--T:35-->
8-канальный модуль дискретных и счётных входов WB-MCM8 предназначен для подключения сигналов типа «сухой контакт» и «открытый коллектор» — кнопки, герконы и т.д. для контроля состояния и подсчета количества срабатываний. А также приборов с импульсными выходами — для учёта воды, электричества, газа и т. д. Также к модулю можно подключить до трёх квадратурных энкодеров типа AB или до двух типа ABZ.


=== Назначение ===
<!--T:36-->
 
При подключении выключателей без фиксации модуль может распознавать до четырёх типов нажатий и передавать события нажатий на контроллер по Modbus.
Модуль дискретных и счётных входов 8-канальный WB-MCM8 предназначен для подключения сигналов типа "сухой контакт" и "открытый коллектор",
== Меры безопасности ==
подключения приборов учёта воды, электричества, газа и т.д. с импульсными выходами.
{{Wbincludes:Safety|low_voltage=true}}
 
Входы модулей WB-MCM8 выведены на безвинтовые зажимы. Не требуется предварительное конфигурирование режимов входов. Имеется защита от переполнения счётчика импульсов.
 
=== Технические характеристики ===


== Технические характеристики == <!--T:37-->
{{Anchor|tech-char}}


<!--T:38-->
{| border="1" class="wikitable" style="text-align:left"
{| border="1" class="wikitable" style="text-align:left"
|-
|-
Строка 24: Строка 30:
|-
|-
|Напряжение питания
|Напряжение питания
|9 — 24 В постоянного тока
|9 – 28 В постоянного тока
|-
|-
|Потребляемая мощность
|Потребляемая мощность
|0,1 Вт
|0.1 Вт
|-
!colspan="2" | '''Клеммники и сечение проводов'''
|-
|| Рекомендуемое сечение провода с НШВИ, мм<sup>2</sup>  || 0,75 — 1 для входов управления,  2,5 — для силовых входов
|-
|| Длина стандартной втулки НШВИ, мм || 8
|-
|| Момент затяжки винтов, Н∙м || 0,2
|-
|-
! colspan="2" |Входы
! colspan="2" |Входы
Строка 43: Строка 41:
|-
|-
|Тип входов
|Тип входов
|"Сухой контакт", групповая изоляция.  
|«Сухой контакт», групповая изоляция.  
Напряжение на входе ~4,5В.  
Напряжение на входе около 12 В (4.5 В до версии v1.1C) постоянного тока.  
Ток при замыкании входа ~2ма.   
Ток при замыкании входа около 2 мА.   
|-
|-
|Функции
|Функции
|
|
* Счет сигналов
* Счет сигналов (0..2^32-1)
|-
* Вход «сухой контакт»
! colspan="2" |Управление
* Счет различных типов нажатий при использовании режима входов как кнопки для детектирования нажатий
|-
|Интерфейс управления
|RS-485
|-
|Изоляция интерфейса
|Неизолированный, групповая гальваническая изоляция входов от интерфейса RS-485 до 1,5 кВ.
|-
|Протокол обмена данными
|Modbus RTU, адрес задается программно, заводские настройки указаны на наклейке
|-
|Параметры интерфейса RS-485
|задаются программно (смотрите [[#Управление по Modbus|Карту регистров]]);<br> по умолчанию: скорость — 9600 бит/с; данные — 8 бит; бит чётности — нет (N); стоп-биты — 2
|-
|Готовность к работе после подачи питания
| ~0,03 c
|-
! colspan="2" |Габариты
|-
|-
|Ширина, DIN-юнитов
|Частота и длительность импульсов
|2
|Не более 9 Гц (не менее 50 мс) при настройках по умолчанию
|-
До 3.1 кГц (не менее 0.2 мс) при записи 0 в регистр параметра времени антидребезга
|Габаритные размеры (Д x Ш х В)  
|36,3 x 90,2 x 57,5 мм
|-
|-
! colspan="2" |Индикация
! colspan="2" |Индикация
Строка 82: Строка 61:
|-
|-
|Индикация замыкания входов
|Индикация замыкания входов
|Красно-оранжевые светодиоды 1 7 (расположены под поверхностью верхней наклейки) Для канала 8 индикация на предусмотрена.
|Красно-оранжевые светодиоды 1 7 (расположены под поверхностью верхней наклейки)
Для канала 8 индикация не предусмотрена.
|-
|-
! colspan="2" |Условия эксплуатации
{{Wbincludes:Control}}
|-
{{Wbincludes:Operating conditions}}
|Температура воздуха
|От -40 до +50 °С
|-
|Относительная влажность
|До 92%, без конденсации влаги
|-
|}
 
 
{| class="wikitable"
!colspan="2" | '''Клеммники и сечение проводов'''  
!colspan="2" | '''Клеммники и сечение проводов'''  
|-
|-
|| Рекомендуемое сечение провода с НШВИ, мм<sup>2</sup>  || 0,75 — 1
|| Рекомендуемое сечение провода с НШВИ, мм<sup>2</sup>  || 0.75 — 1 для входов управления,  2.5 — для силовых входов
|-
|-
|| Длина стандартной втулки НШВИ, мм || 8  
|| Длина стандартной втулки НШВИ, мм || 8  
|-
|-
|| Момент затяжки винтов, Н∙м || 0,2  
|| Момент затяжки винтов, Н∙м || 0.2  
|-
|-
{{Wbincludes:Dimensions 2U}}
{{Wbincludes:Weight}} 90 г
|}
|}


=== Обмен данными ===
== Общий принцип работы == <!--T:39-->
{{Anchor|principle}}
=== Индикация ===
{{Anchor|indication}}
[[Image: WB-MCM8 Indication.gif |300px|thumb|right| Индикация модуля WB-MCM8 ]]
{{Wbincludes:Module Indication}}
* 1–7 — состояние входов: горит — вход замкнут. Индикатора для восьмого входа нет.
=== Входы ===
{{Anchor|inputs}}
[[Файл:DI.png|300px|thumb|right|Цифровые входы DI (первая версия, с напряжением на входах ~4.5 В)]]
Входы WB-MCM8 работают по принципу «сухой контакт» — замыкание входа на землю ignd вызывает срабатывание входа.
Есть индикация состояния входов с 1 по 8 и статуса устройства на лицевой крышке.
При поступлении импульса на вход WB-MCM8 загорается соответствующий светодиод, изменяется значение состояния входа, а также увеличивается значение счетчика срабатываний этого входа. Значения всех счетчиков срабатываний записываются в энергонезависимую память устройства. Разрядность счетчиков — 32 бит.
 
<!--T:40-->
Для каждого входа можно изменить параметр времени антидребезга. Начиная с версии прошивки 1.2.0, доступно измерение частоты импульсов на входе. Максимальная измеряемая частота достигается при выставлении параметра времени антидребезга в 0 и зависит от ревизии устройства — от ~1.2 до ~3.2 кГц.
 
=== Распознавание типов нажатий === <!--T:41-->
{{Anchor|press-events}}
{{note|note|Распознавание типов нажатий появилось в прошивке 1.3.2.}}
В этом режиме измерения частоты входного сигнала не происходит.
{{Wbincludes:Inputs Press Events|no_outputs=true}}
 
[[Rule_Examples#press-actions|Пример правила с обработкой счётчиков нажатий]]


На физическом уровне модуль подключается через интерфейс [[RS-485]]. Для управления WB-MCM8 используется протокол Modbus RTU. В устройствах Wirenboard данные Modbus передаются по линиям связи RS-485. Подробнее смотрите страницу [[Протокол Modbus]]. Modbus-адрес модуля задается на заводе и нанесен на наклейке на его боковой стороне. Адрес может быть изменен программно. Подробно смотрите в разделе [[#Управление_по_Modbus|Управление по Modbus]].
=== Работа с энкодерами ===
{{Anchor|encoders}}
{{YouTube
|link=https://youtu.be/Xgj7wWs5nw4
|text= Пример диммирования лампы с помощью WB-MCM8, энкодера AB и диммера WB-MDM3
}}
{{note|note|Поддержка энкодеров появилась в прошивке 1.5.0.}}
К входам WB-MCM8 можно подключить двух- и трёх контактные квадратурные энкодеры типов AB и ABZ. Это могут быть как обычные механические энкодеры имеющие рукоятку для управления, скажем, яркостью освещения, так и точные оптические энкодеры для отслеживания перемещения объектов.
 
Всего доступно три канала, которые состоят из клемм, расположенных на одной клеммной колодке. Схему подключения смотрите в разделе [[#Монтаж|Монтаж]].
 
При подключении любого типа энкодера к входам модуля, настройте для каждого входа параметр '''Время подавления дребезга'''. Значение зависит от типа энкодера и подбирается экспериментально, обычно достаточно установить 5 мс.
 
====AB энкодеры ====
[[Image: Encoder AB.png |300px|thumb|right| AB энкодер ]]
Энкодеры AB можно использовать для управления чем-то, например, для регулировки яркости освещения.
 
К модулю подключается три провода: '''A''', '''B''', '''GND'''. Положение вала доступно в канале '''Положение энкодера''' и может быть в диапазоне от −2147483648 до 2147483647. При достижении одной из границ, знак значения будет изменён на противоположный и отсчёт будет продолжен.
 
Часто в таких энкодерах есть выход '''Switch''', который замыкается на GND при нажатии на вал — его можно подключить на любой свободный вход модуля и обрабатывать как обычную кнопку.
 
Канал '''Положение энкодера''' доступен для записи — так вы можете установить начальное значение.
 
====ABZ энкодеры ====
[[Image: Encoder ABZ.jpg |300px|thumb|right| ABZ энкодер ]]
 
Энкодеры типа ABZ часто используются на производстве для отслеживания перемещения объектов.
 
К модулю такой энкодер подключается четыре провода: '''A''', '''B''', '''Z''', '''GND'''. Для пользователя доступно два канала с данными и один параметр настройки.
 
'''Количество импульсов на один оборот''' — характеристика энкодера, влияет на поведение значения угла внутри оборота энкодера. Значение можно взять с корпуса энкодера, там будет что-то вроде: 100P/R, 2000P/R и т.п.
 
'''Угол внутри оборота''' — показывает количество шагов, которые сделал вал энкодера. По нему можно судить о направлении вращения. В момент прихода импульса по каналу '''Z''' оно принимает новое значение по алгоритму:
* если вращение в сторону увеличения — обнуляется.
* если вращение в сторону уменьшения — устанавливается равным параметру '''Количество импульсов на один оборот'''.
 
'''Количество оборотов''' — показывает количество полных оборотов энкодера. Значение, в зависимости от направления вращения, увеличивается или уменьшается на одну единицу в момент прихода импульса по каналу '''Z'''.
 
Значения каналов ''Угол внутри оборота'' и ''Количество оборотов могут'' доступны для записи, а сами значения могут быть в диапазоне от −32768 до 32767. При достижении одной из границ, знак будет изменён на противоположный и отсчёт будет продолжен.


== Монтаж ==
== Монтаж ==
Релейный модуль монтируется на стандартную DIN-рейку шириной 35 мм и занимает ширину 2 DIN-модуля.
{{Anchor|mounting}}
=== Общие рекомендации ===
[[Image: Installation WB-MCM8.png|300px|thumb|right| [[#Пример монтажа | Пример монтажа WB-MCM8]]]]
WB-MCM8 монтируется на стандартную DIN-рейку шириной 35 мм и занимает пространство в 2 DIN-модуля.


Блоки разъемных винтовых клеммников на плате реле служат для подключения линий питания, управления (RS-485) и входных контактов.
<!--T:43-->
{{Wbincludes:Mount "V+ GND A B"}}


Ток, протекающий при замыкании входов, невелик — около 1,5 ма, таким образом к модулю можно подключать устройства с импульсным выходом практически любого типа.
<!--T:44-->
{{Wbincludes:Mount Inputs}}


Если устройство — последнее на линии RS-485, то между его входами A и B необходимо установить резистор-терминатор сопротивлением 120 Ом. Практика показывает, что в случае стендовых испытаний при небольшой длине линии RS-485 и небольшом количестве устройств терминатор на последнем устройстве в линии можно не устанавливать.  
<!--T:45-->
Модуль должен эксплуатироваться при рекомендованных условиях окружающей среды и удовлетворять требованиям электробезопасности при его установке.


Модуль необходимо устанавливать таким образом, чтобы удовлетворять требованиям электробезопасности. Модуль должен эксплуатироваться при рекомендованных условиях окружающей среды.
=== Пример подключения счётчиков и кнопок === <!--T:46-->
{{Anchor|mounting-example}}
На рисунке '''Пример монтажа WB-MCM8''' показан пример монтажа модуля WB-MCM8.  


<!--T:47-->
В примере ко входам 3 и 6 подключены два счетчика расхода воды с выходом «сухой контакт», а ко входу 7 — выключатель без фиксации. Всего можно подключить до восьми устройств.


=== Схема входов модуля ===
<!--T:48-->
Если вы планируете не только измерять расход воды, но и реагировать на аварии, то рекомендуем использовать специализированный модуль [[WB-MWAC]].


[[Файл:DI.png|300px|thumb|none|Цифровые входы DI]]
=== Пример подключения энкодеров ===
[[Image: Mounting AB and ABZ Encoder.png |300px|thumb|right| Примеры подключения энкодеров к WB-MCM8 ]]
К модулю WB-MCM8 можно подключить до трёх энкодеров AB и до двух энкодеров ABZ.


== Управление ==
При работе с энкодерами, модуль делится на три канала, которые представляют собой набор клемм в рамках одного клеммника. Свободные клеммы можно использовать для других типовых задач: подсчёт импульсов или обработка нажатий.


См. также [[Протокол Modbus]]
В примерах мы подключаем энкодеры к первому каналу, но вы можете комбинировать их как угодно.


==== Параметры шины. ====
При подключении энкодеров к входам модуля, не забудьте уменьшить значение антидребезга, подробнее читайте в разделе [[#encoders|Работа с энкодерами]].


Скорость 9600 бит/сек, данных - 8 бит,
{| class="wikitable noclear"
чётность – нет, стоповый бит - 2.
|-
|+Каналы работы с энкодером
|-
!Вход WB-MCM8
!Канал для <br>подключения <br>энкодера
!Сигнал
|-
| 1 || rowspan="4" | 1 || A
|-
| 2 || B
|-
| 3 || Z
|-
| iGND || GND (G)
|-
| 4 || rowspan="4" | 2 || A
|-
| 5 || B
|-
| 6 || Z
|-
| iGND || GND (G)
|-
| 7 || rowspan="3" | 3 || A
|-
| 8 || B
|-
| iGND || GND (G)
|-
|}


==Представление в веб-интерфейсе контроллера Wiren Board== <!--T:49-->
{{Anchor|in-web-ui}}
[[Файл:Mcm8 webui devices.png|300px|thumb|right|Элементы управления и индикации модуля WB-MCM8 в веб-интерфейсе контроллера Wiren Board]]


=== Команды поддерживаемые устройством ===
=== Выбор шаблона === <!--T:50-->
{{Anchor|select-template}}
{{WebUIAddDevice
| template= WB-MCM8
}}
=== Управление устройством и просмотр значений ===
{{Anchor|control}}
{{Wbincludes:WebUIControlDevice}}


В веб-интерфейсе вы можете просматривать полученные с него значения. Список отображаемых каналов можно изменить через настройки устройства, доступные на странице выбора шаблона.


Переключатели '''Input 1 ­— Input 8''' показывают текущее состояние входов реле и недоступны для изменения.


Счетчики '''Input 1 counter­ — Input 8 counter''' считают все замыкания входов на '''iGND''' и предназначены для подсчета импульсов с выходов других устройств, например, водяных счетчиков. Значения счетчиков '''Input counter''' хранится в энергонезависимой памяти и сохраняются после сброса питания.


{| border="1" cellpadding="3" cellspacing="0"
Для обработки нажатий кнопок есть счетчики типов нажатий. Они доступны в режиме [[WB-MCM8_Modbus_Count_Inputs#Счёт_и_детектирование_нажатий |Счёт и детектирование нажатий]]. Значения счетчиков нажатий хранятся в оперативной памяти устройства и обнуляются после сброса питания.
!Command
!command (dec)
|-


== Настройка == <!--T:51-->
{{Anchor|tuning}}
[[Image: WB-MCM8WebUI Configure.png |350px|thumb|right| Настройка антидребезга в веб-интерфейсе контроллера Wiren Board {{SupportedSinceRelease|release=wb-2110|nobanner=true}}]]
{{Wbincludes:WebUIDeviceSetUp}}
=== Антидребезг ===
{{Anchor|debounce}}
Для любого из входов вы можете настроить фильтр антидребезга в параметре '''Время подавления дребезга'''. Возможные значения от 0 до 100 мс, значение по умолчанию — 50 мс.


|READ_DISCRETE_INPUTS || 2
=== Энкодеры ===
|-
Устройство имеет 3 канала обработки сигналов энкодера. Для каждого канала выбирается режим работы. Если выбран не 0 режим и канал активирован на работу с энкодером то независимые регистры режимов работы входов игнорируются. в режиме двухпроводного подключения вход для сигнала Z остается в режиме входа и управляется своим регистром выбора режима.


|READ_INPUT_REGISTERS || 4
Первые два канала могут быть настроены в режим трехпроводного подключения. В этом режиме необходимо задать количество импульсов на один оборот. Если это не сделать то при переходе через оборот когда появляется сигнал Z счетчик положения вала внутри оборота будет работать в отрицательных значениях.
|-
===Счетчики замыканий и нажатий===
{{Wbincludes:Counters}}


Значения счетчиков замыканий '''Input X counter­'''  хранится в энергонезависимой памяти и сохраняются после сброса питания. 


|READ_HOLDING_REGISTERS || 3
Значения счетчиков нажатий хранятся в оперативной памяти и обнуляются при сбросе питания.
|-


|WRITE_SINGLE_REGISTER || 6
=== Счёт и детектирование нажатий === <!--T:52-->
|-
{{Anchor|counting-and-press-actions}}
{{note|note|С прошивки 1.6.0 для этого режима доступна отправка событий {{Sporadic}}.}}
При выборе режима '''Счет и детектирование нажатий''', вы сможете настроить передачу счётчиков нажатий на контроллер. Как это работает, смотрите в разделе [[#press-events | Распознавание типов нажатий]].


|WRITE_MULTI_REGISTERS || 16
<!--T:53-->
|-
Доступны настройки:
{{Wbincludes:Inputs Press Events Settings}}


|}
<!--T:54-->
<gallery mode="packed" heights="200px" caption="Пример настройки входов">
Image: WB-MCM8 change input mode.png | Выбор режима для 1 входа
Image: WB-MCM8 press action settings.png  | Настройка параметров распознавания нажатий
</gallery>


Смена адреса производится широковещательный (slave_id 0) командой записи (WRITE_SINGLE_REGISTER) в holding register с адресом 128 (0x80).
<!--T:55-->
{{Wbincludes:Modbus}}


По адресу 200 лежит сигнатура длинной 6 байт. Сигнатура уникальна для каждой модели устройства и позволяет идентифицировать модель.
=== Карта регистров === <!--T:56-->
Для получения сигнатуры нужно выполнить READ_HOLDING_REGISTERS адрес 200 длина 6. 
{{Anchor|registers}}
Запись в эту область памяти не поддерживается, при попытки записи в недопустимое место возвращается ошибка 3.


<!--T:57-->
[[MCM8 Registers|Карта регистров WB-MCM8]]


===Расширение Быстрый Modbus===
{{note|note| Начиная с версии прошивки '''1.6.0''' устройство поддерживает расширение Быстрый Modbus. События для входов доступны только в режиме '''Счёт и детектирование нажатий'''.}}


==== Карта регистров ====
{{Wbincludes:Fast Modbus Description}}


==Обновление прошивки и сброс настроек== <!--T:58-->
{{Anchor|fw-update}}
{{Modbus Device Firmware Update
| lose=true
| old=true
|changelog=WB-MCM8: Changelog}}


{| border="1" cellpadding="5" cellspacing="0"
==Известные неисправности== <!--T:59-->
!Регистр / адрес (dec)
{{Anchor|errata}}
!тип
[[WB-MCM8: Errata | Список известных неисправностей]]
!чтение/запись
!формат
!назначение
|-


| 0 || discrete input || R || 1 or 0|| состояние входа #1
== Ревизии устройства ==
{{Anchor|revision}}
{{Wbincludes:Revision}}
|-
|-
! colspan="5" | ...
|1.2
|v1.2O/1, v1.2P, v1.2Q - ...
|01.2024 - ...
|
*Версия платы с МК v4.4 c незначительными внутренними изменениями
|-
|-
| 15 || discrete input || R || 1 or 0|| состояние входа #16
|1.2
|v1.2D - v1.2O
|09.2022 - 01.2024
|
*Другой вид серийных номеров (изменена микросхема eeprom)
|-
|-
 
|1.2
| 20 - 23 ||  input/holding || R || 64-битное целое без знака. Big-endian порядок байт. 4 регистра на канал || счетчик импульсов на входе #1.
|v1.2A, v1.2B, v1.2C
|02.2022 - 08.2022
|
*На микроконтроллерной плате новой ревизии
|-
|-
! colspan="5" | ...
|1.1
|v1.1I
|02.2022
|
*На микроконтроллере GD32, исправлена программная ошибка [[WB-MCM8:_Errata|ERRMCM01]]
|-
|-
| 80 - 83 || input/holding || R  || 64-битное целое без знака. Big-endian порядок байт. 4 регистра на канал || счетчик импульсов на входе #16.
|1.1
|v1.1H
|06.2021 - 01.2022
|
*На микроконтроллере GD32; партия подвержена программной ошибке [[WB-MCM8:_Errata|ERRMCM01]]
|-
|-
 
|1.1
| 100 || holding || RW || || регистр сброса. Запись 1 в регистр приводит к сбросу всех счётчиков на всех каналах
|1.1D - v1.1G
|01.2020 - 05.2021
|
*Напряжение на входах типа «сухой контакт» стало ~12 В
*Увеличена максимальная частота работы входов до 3.1 кГц (для прошивок начиная с 1.2.0)
|-
|-
 
|1.1
| 200-206 || input/holding || R || {'W','B','C',M','1','6'} || сигнатура
|1.1A - 1.1C
|до 12.2019
|
*Первая версия: с разъемными клеммниками DEGSON, напряжение на входах типа «сухой контакт» ~4.5 B
|-
|-
|}


| 220-243 || input/holding || R || __date__ __time__|| дата сборки прошивки
== Изображения и чертежи устройства ==
|-
[[File:DIN 2U.png |300px|thumb|right| Габаритные размеры модулей в корпусе 2 DIN]]
 
{{Wbincludes:CDR lib}}
| 128 || holding || W || 1-247 || адрес Modbus
|-


|}
<!--T:62-->
'''SVG:''' [[File: WB-MCM8.svg.zip]]


[[Периферийные устройства с интерфейсом RS-485 серии WB-xxxx |Назад к списку периферийных устройств]]
<!--T:63-->
'''Габаритный чертеж модуля (DXF):''' [[File:WB-MCM8.dxf.zip]]


<!--T:64-->
'''Габаритный чертеж модуля (PDF):''' [[File:WB-MCM8.dxf.pdf]]
</translate>


== Изображения и чертежи устройства ==
{{Wbincludes: AutoCAD_base}}
{{Wbincludes:WBPictures|1}}
wb_editors
64

правки