Метр-автобус
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Апрель 2018 г. ) |
M-Bus или Meter-Bus — это европейский стандарт (физический и канальный уровень EN 13757-2, прикладной уровень EN 13757-3) для удаленного считывания показаний счетчиков воды , газа или электроэнергии . M-Bus также можно использовать для других типов счетчиков потребления, таких как системы отопления или счетчики воды . Интерфейс M-Bus предназначен для связи по двум проводам, что делает его экономически эффективным. Радиовариант M-Bus Wireless M-Bus также указан в EN 13757–4.
M-Bus был разработан для удовлетворения потребности в системе сетевого подключения и дистанционного считывания показаний счетчиков коммунальных услуг, например, для измерения потребления газа или воды в доме. Эта шина отвечает особым требованиям систем с дистанционным питанием или батарейным питанием, включая счетчики коммунальных услуг. При опросе счетчики передают собранные ими данные общему главному устройству, например портативному компьютеру, подключаемому через определенные промежутки времени для считывания всех счетчиков коммунальных услуг в здании. Альтернативный метод централизованного сбора данных – передача показаний счетчика через модем .
Подходят и другие приложения для M-Bus, такие как системы сигнализации, гибкие системы освещения, управление отоплением и т. д.
Связь с моделью OSI
[ редактировать ]Поскольку для снятия показаний счетчиков не было системы шин, M-Bus был разработан Хорстом Циглером из Университета Падерборна в сотрудничестве с Texas Instruments Deutschland GmbH и Techem GmbH . Концепция была основана на эталонной модели ISO-OSI для реализации открытой системы, которая могла бы использовать практически любой желаемый протокол.
Поскольку M-Bus не является сетью и, следовательно, не нуждается, среди прочего, в транспортном или сеансовом уровне, уровни с четвертого по шестой модели OSI пусты. Таким образом, функциями обеспечиваются только физический уровень, уровень канала передачи данных, сеть и уровень приложений.
Модель OSI | |||
---|---|---|---|
Блок данных | Слой | Стандартный | |
Хозяин слои |
Данные | 7. Приложение | ЭН1434-3 |
6. Презентация | Пустой | ||
5. Сессия | Пустой | ||
Сегмент/Датаграмма | 4. Транспорт | Пустой | |
СМИ слои |
Пакет | 3. Сеть | Необязательный |
Рамка | 2. Канал передачи данных | МЭК 60870 | |
Кусочек | 1. Физический | М-автобус |
Физический провод и разъемы
[ редактировать ]Соединение M-Bus называется потребительским соединением M-Bus или HAN (домашняя сеть). В M-Bus используется двухпроводный телефонный кабель (JYStY 1x 2x 0,8 мм или аналогичный, 73 Ом/км, 120 нФ/км) максимальной длиной 350 метров при использовании номинальных скоростей передачи 300 и 9600 бод. Для снижения скорости можно использовать кабель длиной до 1000 метров. Стандартизированного разъема не существует, но модульные разъемы RJ11 и RJ12. производители счетчиков используют [ 1 ]
Главная связь использует сигнализацию напряжения, где 1 (холостой режим, метка) — номинал шины 36 В, 0 (пробел) снижает напряжение до 24 В. Поскольку напряжение шины может меняться в зависимости от длины и нагрузки, сигнал указывается как 1, если падение напряжения на шине менее 5,5 В, и 0, если падение напряжения превышает 8,2 В.
Ведомые общаются по току потребления , где 1 (холостой режим, отметка) меньше 1,5 миллиампер, 0 (пробел) повышает ток до 11-20 мА. Сигнал определяется как увеличение тока не менее чем на 11 мА.
Ведомые устройства подключаются через диодный мост и могут использовать любую полярность проводов. Чтобы защитить шину от короткого замыкания ведомых устройств, к каждому ведомому устройству последовательно подключают резистор сопротивлением 430 Ом (или два резистора по 215 Ом, по одному на каждый провод).
Нагрузочная единица M-bus составляет 1,5 мА. Большинство ведомых устройств используют максимум это, некоторым может потребоваться два блока (3 мА). Мастера могут указать количество единиц нагрузки в зависимости от типа и обычно визуально указывают на перегрузку.
Протокол передачи данных
[ редактировать ]Протокол канала передачи данных описан в стандарте IEC 870-5 или его обновленной версии IEC 60870-5 .
Данные передаются в последовательной форме со скоростью от 300 до 9600 бит/с (некоторые варианты могут работать со скоростью до 19 200 или 38 400 бит/с), используя один стартовый бит, один стоповый бит и даже четность (8e1). Младший бит отправляется первым. При отправке пакетов («телеграмм») пауза между стоповым и последующим стартовым битом отсутствует.
Рекомендуемые скорости: 300, 2400, 9600, а на более новом оборудовании — 38 400 бит/с, тогда как наиболее распространенной является скорость 2 400 бит/с. Устройства с разной скоростью передачи данных могут сосуществовать на одной шине. Некоторые устройства используют автободинг. [ нужны разъяснения ] .
Существует четыре вида пакетов:
- одиночный символ – 0xE5 – подтверждение
- короткий кадр, 5 байт — 0x10, C-поле, A-поле, контрольная сумма, 0x16 — отправка простых команд
- кадр управления, 9 байт - 0x68, 0x03, 0x03, 0x68, C-поле, A-поле, CI-поле, контрольная сумма, 0x16
- Управляющий кадр представляет собой длинный кадр без полезной нагрузки.
- длинный кадр, 9+ байт - 0x68, длина, длина, 0x68, C-поле, A-поле, CI-поле, [0..252 байт полезной нагрузки], контрольная сумма, 0x16
C-поле — это поле управления/функции. Последовательность, начиная с бита 7, следующая:
- бит 7: 0
- бит 6: 1 для передачи от ведущего к ведомому, 0 для ответа от ведомого
- бит 5:
- от ведущего устройства: FCB, бит счетчика кадров — указывает на запрос на повтор сообщения, если ответ не получен.
- от ведомого устройства: ACD, запрос доступа - 1, когда ведомое устройство желает передать данные класса 1, приоритетные данные (данные класса 2 являются обычными неприоритетными) - тогда ведущее устройство должно запросить передачу данных класса 1.
- бит 4:
- от ведущего устройства: FCV, счетчик кадров действителен - если 0, ведомое устройство должно игнорировать FCB
- от ведомого устройства: DFC, управление потоком данных - когда 1, ведомое устройство не может принимать дальнейшие данные
- бит 3,2,1,0: F3,F2,F1,F0, код функции - например. для короткого кадра 0 — для инициализации ведомого устройства, xA — для чтения данных класса 1 (приоритет), xB — для чтения класса 2 (нормальное). Для длинного/управляющего кадра x3 отправляет данные подчиненному устройству, x8 — ответ данных от подчиненного устройства.
A-поле — это адресное поле. Это 8-битное число:
- 0x00 - неустановленный адрес, назначенный при производстве, некоторые счетчики фиксированы на этом месте.
- 0x01..0xFA — подчиненные адреса
- 0xFB, 0xFC — зарезервировано
- 0xFD — «широковещательная рассылка» для вторичной адресации, адресация выполняется на сетевом уровне, а не на канальном уровне.
- 0xFE — тестовая рассылка, отвечают все ведомые устройства (возможны коллизии, используйте для тестирования с одним ведомым устройством; ведомое устройство отвечает своим собственным адресом в A-поле), также возможно использовать, когда на шине только одно ведомое устройство.
- 0xFF — широковещательная рассылка, нет ответа от слейвов
CI-поле – поле управляющей информации. Определяется на уровне приложения. [ 2 ]
Поле длины в контрольном/длинном кадре отправляется дважды. Оба байта должны быть равны. Минимальное значение — 0x03, поскольку C-поле, A-поле и CI-поле являются обязательными частями полезных данных.
Подчиненные устройства отвечают только на правильно сформированные пакеты, соответствующие их адресу. На любую неисправность указывает отсутствие реакции. Отсутствие ответа определяется как отсутствие ответа в течение периодов 330 бит (35 мс для 9600 бит/с, 1,1 с для 300 бит/с) плюс 50 мс. [ 3 ]
Числовые значения обычно передаются в формате BCD . [ 4 ]
См. также
[ редактировать ]- Автоматическое считывание показаний счетчика
- Зелёный тариф
- Чистый учет
- OLE для управления процессом
- OpenHAN
- Умный счетчик
- Счетчик коммунальных услуг
- Виртуальная электростанция
- Ваттметр
Ссылки
[ редактировать ]- rSCADA libmbus Библиотека M-bus с открытым исходным кодом, написанная на C.
- jMBus M-Bus на openmuc.org. Основная библиотека Java
- Valley.Net.Protocols.MeterBus Библиотека M-Bus с открытым исходным кодом, написанная на C#.