M-Bus

Материал из TekonWiki
Перейти к: навигация, поиск

ВВЕДЕНИЕ

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

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

Скорость обмена данных ограничена суммарной электрической емкостью шины и лежит в диапазоне 300-9600 бит/с.

Типовое значение параметров интерфейса 2400 8-E-1

Можно выделить следующие компоненты сети:

  • Конвертер M-bus. Устройство, которое преобразует сигналы интерфейса Ethernet, RS-232/485 в сигналы стандарта M-bus. Обеспечивает подключение компьютера к сети M-bus с целью считывания данных с ведомых приборов.
  • Повторитель M-bus. Прибор, который получает команды из сегмента сети, усиливает их и корректирует искажения для передачи в другой сегмент сети. Служит для увеличения числа Ведомых или удлинения сети.
  • Мастер M-bus (Ведущий) . Как правило, это ПК с установленным на нем специальным ПО.
  • Ведомый. Приборы учета, подключенные к сети, с которых считываются данные Мастером.

Конвертер M-bus подключается к питанию 220В (напрямую или через источник питания). Ведомые питаются от Конвертера по линию связи.

Напряжение на выходе Конвертера M-bus (на линии M-bus) около Uпост = 38В.

Поддерживается идентификация приборов в M-Bus сети по:

  • первичному ID (PrimaryID) - 1 байт (номера от 1 до 250)
  • вторичному ID (SecondaryID) - 4 байта (8-значные номера, обычно указанные на панели счетчика или отображаемые на электронном табло).

В сети M-bus используется двух проводная шина , идущая от Мастера/Повторителя к каждому Ведомому. Шина не требует применения терминальных нагрузок. Подключение приборов полярно независимо. Структура сегмента практически произвольная.

В большинстве случаев используется стандартный телефонный кабель размером 2 х 0.75 мм кв. Для выполнения отростков от шинного кабеля к приборам (последние 1...5 м до прибора) можно применять более тонкие провода. Применение соединительных коробок не регламентируется.

Максимальная длина шины зависит от многих факторов. Ключевыми параметрами являются активное сопротивление и суммарная электрическая емкость.

Следующий рисунок показывает примерное количество приборов, которые можно подключить к M-Bus.

Mbus count.png

Возможные проблемы при опросе приборов

Описание проблемы Возможное решение
Ни один счетчик не отвечает
  • Короткое замыкание в M-Bus
  • Провод подключен неправильно
  • На конвертере М-Bus отсутствует питание 220В
  • Напряжение на клеммах шины M-Bus (должно быть около 38В)
Несколько счетчиков не отвечает
  • Линия M-Bus разъединена
  • Проверить напряжение на последнем приборе (должно быть около 38В)
  • Возможно дублируются адреса приборов
Один счетчик не отвечает
  • Адрес неправильный
  • Счетчик не подключен
  • Проверить напряжение на приборе (должно быть около 38В)
  • Линия M-Bus разъединена

Подробнее см.:

  1. Практические вопросы построения локальных сетей сбора данных индивидуального учета тепла на базе оборудования фирмы «Данфосс»
  2. Система symphonic M-Bus компании ista. Руководство по проектированию и установке

ПОДКЛЮЧЕНИЕ К АСУД-248

Для подключение приборов учета, взаимодействующих по шине M-Bus, к системе АСУД-248, рекомендуется применять "прозрачные" медиаконвертеры:

Опрос приборов осуществляется программой KCSLogger.

В ключе защиты ПО АСУД.SCADA должно быть прописано число драйверов EXT-модуля, соответствующее общему числу подключаемых приборов учета.

Для подключаемого M-bus-прибора учета может существовать специальный драйвер, поэтому предварительно следует проверить есть ли описание прибора в разделе Интеграция.



Универсальный драйвер M-Bus

Если специального драйвера нет, опрос может быть осуществлен через универсальный M-Bus драйвер (OPC Server \ extensions \ drv \ mbus_u.drv)

Пример регистрации прибора Отопления, опрашиваемого через универсальный M-Bus драйвер в программе ASUDBase.

M-bus info1.PNG
  • Тип Прибора - M-bus (1013)
  • Настройки интерфейса - обычно 2400-8-E-1 (или см. документацию на прибор)
  • RS-идентификатор - SecondaryID (подробнее см. далее)
  • Интервал опроса - (подробнее см. далее)
  • Дополнительная информация - можно по необходимости указать hex-код (без указания знаков $,# и т.п)  Application Reset Subcode (не обязательно).

Один прибор регистрируется на один концентратор. Т.е. следующий прибор следует регистрировать на концентратор 910.

Универсальный драйвер выполняет чтение следующих данных с подключенных приборов:

  • Служебная информация (конфигурация подключенного прибора)
  • Все текущие (мгновенные) измеряемые параметры прибора учета, для которых поля M-bus:
    • Function field = 0
    • Storage number = 0
    • Tariff = 0
    • Device unit (SubUnit) = 0, 1, 2
  • Есть поддержка команды Application Reset

С помощью Application Reset мастер может выполнить сброс уровня приложения в подчиненных устройствах.
Каждый ведомый при этом сам решает, какие параметры изменять - например, какие данные будут выводится - после того, как получил команду Application Reset.

Примеры Application Reset Subcode (подробнее см. документацию на конкретный прибор учета)

  • 0 - All - отображать данные по-умолчанию
  • 10 - User data
  • 20 - Simple billing
  • 30 - Enhanced billing
  • 40 - Multi tariff billing
  • 50 - Instant values
  • 60 - Load Management values for management
  • 70 - Reserved
  • 80 - Installation and startup
  • B0 - Manufacturing
  • C0 - Development
  • D0 - Selftest

При этом - первое значение параметра (нарастающим значением, например, Энергия, Объем), прочитанное в текущем дне будет сохранено в БД, как значение на начало дня (с обнулением часов, минут и секунд).

Универсальный драйвер - не умеет работать с Архивом (даже если прибор учета накапливает архивные данные).

Поддерживается идентификация приборов в M-Bus сети по:

  • первичному ID (PrimaryID) - 1 байт (номера от 1 до 250)
  • вторичному ID (SecondaryID) - 4 байта (8-значные номера, обычно указанные на панели счетчика или отображаемые на электронном табло).

Для идентификации счетчика в программах ASUDBase, KCS DEMO удобно использовать SecondaryID. Т.к. для идентификации счетчиков по PrimaryID необходимо предварительно выполнить процедуру программирования приборов в целях указания уникальных идентификаторов в M-bus сети (по умолчанию на приборах обычно запрограммирован адрес 1).

В случае необходимости вы можете изменить PrimaryID с помощью программы KCS DEMO

Если подключается 1 прибор, можно использовать бродкастный адрес - 0.

Для проверки связи с выборочным приборов удобно использовать программу KCS DEMO.

После успешного опроса прибора программой KCS DEMO, вы можете отправить данные из окна программы 
на электронную почту компании Текон-Автоматика. 
После этого для данного прибор будет добавлен отдельный драйвер опроса с возможностью чтения архивных данных.  

Пример корректного опроса 

-==Инициализация==-
15:28:23:470 Драйвер : : Буфер на 100 записей
Result = 0 -  Нет ошибки
---
-==Служебная информация устройства==-
15:28:24:137 Драйвер : : SysValues
15:28:24:139 Драйвер : : ReadAllData Enter
15:28:24:140 Драйвер : : InitDevice
15:28:24:141 >>[5] : 10 40 FD 3D 16 
15:28:24:673 >>[17] : 68 0B 0B 68 73 FD 52 02 31 11 19 FF FF FF FF 1B 16 
15:28:25:115 <<[1/1] : E5 
15:28:25:117 >>[5] : 10 7B FD 78 16 
15:28:26:059 <<[1/1] : 68 
15:28:26:062 <<[2/2] : 79 79 
15:28:26:323 <<[124/124] : 68 08 02 72 02 31 11 19 0D 6A 64 0C 91 00 00 00 0C 05 02 00 00 00 0C 05 00 00 00 00 0C 14 01 00 00 00 0B 2C 00 00 00 0B 3B 00 00 00 0B 59 06 25 00 0B 5D 19 25 00 0B 61 13 00 00 8C 01 05 02 00 00 00 8C 02 05 02 00 00 00 8C 03 05 02 00 00 00 8C 04 05 02 00 00 00 8C 05 05 02 00 00 00 8C 06 05 02 00 00 00 8C 07 05 02 00 00 00 8C 08 05 02 00 00 00 8C 09 05 02 00 00 00 1F 16 
15:28:26:327 Драйвер : : SysValues
Result = 0 Нет ошибки

N=19113102
PrimaryID=2
Тип=Тепло (расх. в подаче)
Версия прибора=100
Производитель=ZPM

Среднее время выполнения: 2 c.
---
-==Мгновенные значения==-
15:28:31:954 Драйвер : : SnapValues
15:28:31:956 Драйвер : : Система.1 Время=24.02.2021 15:28:31 AddP= 10000
15:28:31:957 Драйвер : : N=0 CHNL = 1 П=10080 (  ) = 0 время:  24.02.21 15:28
15:28:31:959 Драйвер : : N=1 CHNL = 1 П=11054 (  ) = 0,2 время:  24.02.21 15:28
15:28:31:960 Драйвер : : N=2 CHNL = 1 П=11001 (  ) = 0,01 время:  24.02.21 15:28
15:28:31:962 Драйвер : : N=3 CHNL = 1 П=10051 (  ) = 0 время:  24.02.21 15:28
15:28:31:963 Драйвер : : N=4 CHNL = 1 П=10020 (  ) = 0 время:  24.02.21 15:28
15:28:31:964 Драйвер : : N=5 CHNL = 1 П=10030 (  ) = 25,06 время:  24.02.21 15:28
15:28:31:966 Драйвер : : N=6 CHNL = 1 П=10031 (  ) = 25,19 время:  24.02.21 15:28
15:28:31:967 Драйвер : : N=7 CHNL = 1 П=10034 (  ) = 0,13 время:  24.02.21 15:28
15:28:31:969 Драйвер : : Система.2 Время=24.02.2021 15:28:31 AddP= 10000
15:28:31:970 Драйвер : : Система.3 Время=24.02.2021 15:28:31 AddP= 10000
15:28:31:972 Драйвер : : Система.4 Время=24.02.2021 15:28:31 AddP= 10000
15:28:31:973 Драйвер : : Система.5 Время=24.02.2021 15:28:31 AddP= 10000
Result = 0 -  Нет ошибки  RecCount 8
Среднее время выполнения: 0 c.

Параметр 10080 (Err32)  отображает состояние байта Status M-bus и трактуется как битовая маска ошибок, следующим образом:

  • Бит 0-1
    • 00 - нет ошибки
    • 01 - приложение занято
    • 10 - любая ошибка
    • 11 - ненормальное состояние / аварийный сигнал
  • Бит 2 - питание ниже нормы
  • Бит 3 - постоянная ошибка
  • Бит 4 - временная ошибка
  • Бит 5-7 - определяется по документации на конкретное устройство

Внимание!

При настройке интервала опроса прибора в программе ASUDBase необходимо считаться с тем, что каждая коммуникация счётчика через интерфейс M-Bus разряжает батарейку. Поэтому при эксплуатации должны быть такие условия работы, которые обеспечивали бы работу главного блока прибора до истечения срока поверки. По этой причине, частота взаимодействий с системами сбора и учёта данных через интерфейс M-Bus должна устанавливаться в соответствие с рекомендациями производителя счетчиков.