Подробное объяснение протокола Modbus RTU

Подробное объяснение протокола Modbus RTU

Протокол связи MODBUS_RTU (в данном протоколе используется метод «ведущий-ведомый» с обменом вопросами и ответами)

Счетчики/передатчики серии PDM: Счетчики/передатчики серии PDM отличаются совершенно новой конструкцией, которая кардинально меняет представление о традиционных электросчетчиках; они обладают многофункциональностью, высокой точностью, цифровым управлением, программируемостью, компактной конструкцией и многоэкранным дисплеем. Благодаря этим характеристикам они способны удовлетворить будущие потребности электроэнергетической отрасли в электросчетчиках.

Протокол связи MODBUS: Протокол связи MODBUS позволяет приборам и датчикам серии PDM взаимодействовать с программируемыми логическими контроллерами (ПЛК), устройствами RTU, системами SCADA, системами DCS или оборудованием сторонних производителей, выпускаемым многими всемирно известными брендами, такими как Schneider, Siemens, AB, GE и др. Обмен информацией и передача данных между системами мониторинга, совместимыми с протоколом MODBUS.

В чём заключаются функции и различия между шлюзом протокола MQTT и протоколом Modbus? / Протокол Modbus RTU

Приборы и датчики серии PDM могут образовывать систему мониторинга мощности путем простого подключения программного обеспечения для мониторинга, работающего на компьютере (или промышленном компьютере) (например, Kingview, in ouch, FIX, synall и т. д.).

Широкие возможности системной интеграции: приборы и датчики серии PDM оснащены стандартным интерфейсом связи RS-485/422 и поддерживают протокол связи ModBus. Данный протокол связи широко используется в качестве стандарта системной интеграции в энергетике и сфере промышленного управления как в нашей стране, так и за рубежом.

Тип и формат данных связи: Передача информации осуществляется асинхронно и в байтах.exist

Информация, передаваемая между ведущей и ведомой станциями, имеет формат 11-битного слова:

Формат Word (последовательные данные) — 11-битный двоичный

Стартовый бит 1

Биты данных: 8 бит

Бит четности 1: с битом четности / Нет: без бита четности

Стоп-бит: 1 бит — с битом четности, 2 бита — без бита четности

● Формат данных связи (информационный кадр)

Формат данных: Код адреса, код функции, область данных, проверка на ошибки

Длина данных: 1 байт, 1 байт, N байт, 16-битный CRC-код (резервный цикл)

(код)

Примечание

1. 1 байт состоит из 8-битных двоичных чисел (то есть из 8 битов).

2. ModBus является зарегистрированным товарным знаком компании Modicon.

3. Термин “машина-раб” в данном документе относится к PDM.

1. Процесс передачи информации:

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

1.1 Код адреса

Адресный код — это первый байт (8 бит) каждого кадра информации связи, принимающий значения от 0 до 255. Этот байт указывает, что ведомое устройство с адресом, заданным пользователем, примет информацию, отправленную ведущим устройством. Каждое подчиненное устройство должно иметь уникальный адресный код, и только подчиненное устройство, адресный код которого совпадает, может ответить на сообщение обратной связи. Когда подчиненное устройство отправляет информацию обратно, отправляемые данные начинаются с соответствующих адресных кодов. Адресный код, отправленный ведущим устройством, указывает адрес подчиненного устройства, которому следует отправить информацию, а адресный код, возвращаемый подчиненным устройством, указывает адрес подчиненного устройства, с которого была отправлена информация. Соответствующий адресный код указывает, откуда поступила информация.

1.2 Код функции

Это второй байт, передаваемый в каждом кадре обменной информации. Протокол связи ModBus может определять функциональные коды в диапазоне от 1 до 127. Приборы и датчики серии PDM используют лишь часть этих функциональных кодов. Функциональный код, отправляемый в качестве запроса от хоста, служит для указания ведомому устройству, какое действие оно должно выполнить. В качестве ответа ведомого устройства код функции, возвращаемый им, совпадает с кодом функции, отправленным ведущим устройством, и указывает на то, что ведомое устройство ответило ведущему и выполнило соответствующие операции.

Таблица 8.1. Некоторые функциональные коды MODBUS

Операция определения кода функции (двоичный формат)

02 Считывание входных данных переключателя. Считывание одного или нескольких значений состояния переключателя.

01 Считывание данных о состоянии одного или нескольких коммутационных выходов

03 Чтение данных из регистров Чтение данных из одного или нескольких регистров

05 Запись сигнала выхода переключателя для управления выходом “закрыть/открыть” реле

06 Запись в один регистр Запись набора двоичных данных в один регистр

10. Запись в несколько регистров. Запись нескольких наборов двоичных данных в несколько регистров

1.3 Область данных

Область данных содержит информацию о том, какие данные необходимо вернуть с подчиненного устройства или какое действие необходимо выполнить. Эта информация может представлять собой данные (например: вход/выход переключателя, аналоговый вход/выход, регистр и т. д.), адрес ссылки и т. д. Например, если ведущее устройство дает подчиненному устройству команду вернуть значение регистра (включая начальный адрес считываемого регистра и длину считываемого регистра) с помощью функционального кода 03, то возвращаемые данные включают длину данных и содержимое регистра. Для разных подчиненных устройств адресная и информационная составляющие различаются (необходимо предоставить таблицу параметров связи).

Приборы/передатчики серии PDM используют протокол связи Modbus. Управляющее устройство (ПЛК, RTU, ПК, СКП и т. д.) может произвольно считывать их регистр данных с помощью команды связи (код функции 03) (таблица данных приведена в приложении). В регистре данных приборов/передатчиков серии PDM хранятся сотни электрических величин (таких как ток, напряжение, мощность, компоненты гармоник от 0 до 31-й и т. д.), и все они представляют собой 16-битные (2 байта) двоичные данные Старший бит идет первым; максимальное количество регистров, которые можно прочитать за один раз (то есть количество различных типов параметров), составляет 50.

Формат команды ответа PDM состоит из адреса подчиненного устройства, кода функции, области данных и кода CRC. Все данные в области данных имеют размер два байта, причем старший бит идет первым (за исключением данных об электроэнергии).

Примечание: 1. Инструменты PDM-820AC/ACM/ACR, PDM-800AC/ACM

Существуют функциональные коды “03”, “06” и “10”;

2. Если PDM использует протокол связи MODBUS ASCII, формат данных связи составляет: 7

Биты данных, 1 стоп-бит, четная четность.

2. Введение в функциональные коды MODBUS

2.1 Код функции “02”: считывание одного или нескольких входов состояния переключателей

Например: хост хочет прочитать состояние входных каналов DI1–DI4 коммутатора с адресом 01.

Адрес и данные регистра данных ведомого устройства (PDM) следующие:

Начальный адрес бита Данные регистра DI (в шестнадцатеричном формате) Примечания 0000 0B

Состояние DI1/DI2/DI4 равно “1”, а состояние DI3 равно “0”

Формат сообщения, отправляемого хостом:

Количество байтов, отправленных хостом. Отправленная информация. Примечания

Адрес ведомого устройства 1 01 передается ведомому устройству с адресом 01

Функциональный код 1 02 считывает состояние входа переключателя

Начальный бит BIT — 2 0000. Адрес начального бита BIT равен 0000

Длина считываемых данных: 2 0004. Считывание битов состояния входов 4-позиционного переключателя

Код CRC 2 79C9. Код CRC вычисляется хост-компьютером

Формат сообщения, возвращаемого в ответе подчиненного устройства (PDM):

Номер запроса, количество байтов, возвращенная информация, примечания

Адрес ведомого устройства 1 01 поступает от ведомого устройства 01

Функциональный код 1 02 считывает состояние входа переключателя

Длина данных: 1 01 1 байт (8 битов)

Данные о состоянии DI 1 0B Содержимое регистра DI

Код CRC 2 E04F. Код CRC вычисляется подчиненным устройством

2.2 Код функции “01”: считывание состояния одного или нескольких выходов переключателя

Например: хост-компьютер хочет считать состояние выходов DO1 и DO2 коммутатора с адресом 01.

Адрес и данные регистра данных ведомого устройства (PDM) следующие:

Начальный адрес бита Данные регистра DO (в шестнадцатеричном формате) Примечания

0000 02 Состояние выхода DO2 равно “1”, состояние выхода DO1

Статус равен “0”

Формат сообщения, отправляемого хостом:

Количество байтов, отправленных хостом. Отправленная информация. Примечания

Адрес ведомого устройства 1 01 передается ведомому устройству с адресом 01

Функциональный код 1 01 считывает состояние выхода переключателя

Начальный бит BIT — 2 0000. Адрес начального бита BIT равен 0000

Длина считываемых данных: 2 0002. Считывание 2 битов состояния релейного выхода

Код CRC 2 BDCB. Код CRC вычисляется хост-компьютером

Формат сообщения, возвращаемого в ответе подчиненного устройства (PDM):

Номер запроса, количество байтов, возвращенная информация, примечания

Адрес ведомого устройства 1 01 поступает от ведомого устройства 01

Функциональный код 1 01 считывает состояние выхода переключателя

Длина данных: 1 01 1 байт (8 битов)

Данные о состоянии DO 1 02 Содержимое регистра DO

Код CRC 2 D049. Код CRC вычисляется подчиненным устройством

2.3 Код функции “03”: считывание нескольких входных регистров

Например: хост хочет считать значения из трёх регистров подчиненного устройства с адресом 01 и начальным адресом 0116.

согласно.

Адрес и данные регистра данных ведомого устройства (PDM) следующие:

Адрес регистра Данные регистра (в шестнадцатеричном формате) Соответствующая мощность PDM

0116 1784UA

0117 1780UB

0118 178A UC

Формат сообщения, отправляемого хостом:

Количество байтов, отправленных хостом. Отправленная информация. Примечания

Адрес ведомого устройства 1 01 передается ведомому устройству с адресом 01

Код функции 1 03 Чтение регистра

Начальный адрес 2 0116. Начальный адрес — 0116

Длина данных: 3 0003. Считывание 3 регистров (всего 6 байт)

Код CRC: 2 E5F3. Код CRC вычисляется хост-компьютером

Формат сообщения, возвращаемого в ответе подчиненного устройства (PDM):

Номер запроса, количество байтов, возвращенная информация, примечания

Адрес ведомого устройства 1 01 поступает от ведомого устройства 01

Код функции 1 03 Чтение регистра

Считать слово 1 06 3 регистра, всего 6 байт

Данные регистра 1 2 1784 Содержимое памяти по адресу 0116

Данные реестра 2 2 1780 Содержимое памяти по адресу 0117

Данные регистра 3 2 178A Содержимое памяти по адресу 0118

Код CRC 2 5847. Код CRC вычисляется подчиненным устройством

2.4 Код функции “05”: запись 1 выхода переключателя (“дистанционное управление”)

Пример 1: Выходной контакт DO1, его текущее состояние — “минута”, хост-компьютер хочет управлять этим реле

Устройство “подключается”.

Команды управления:

“FF00” означает, что управляющее реле находится в “замкнутом” состоянии;

“0000” — это управляющее реле “минута”;

Формат сообщения, отправляемого хостом:

Количество байтов, отправленных хостом. Отправленная информация. Примечания

Адрес ведомого устройства 1 01 передается ведомому устройству с адресом 01

Функциональный код 1 05 записывает состояние выхода переключателя

Бит 2 выхода BIT (0000) соответствует биту выходного реле BIT (DO1)

Команда управления 2 FF00 задает биту состояния релейного выхода в положение “включено”

Код CRC: 2 8C3A. Код CRC вычисляется хост-компьютером

Формат сообщения, возвращаемого в ответе подчиненного устройства (PDM):

Формат и содержание данных сообщения, отправленного хостом, полностью совпадают.

Пример 2: Выходной контакт DO2, его текущее состояние — “замкнуто”, и хост-устройство хочет управлять этим реле

Устройство “указывает”.

Формат сообщения, отправляемого хостом

Количество байтов, отправленных хостом. Отправленная информация. Примечания

Адрес ведомого устройства 1 01 передается ведомому устройству с адресом 01

Функциональный код 1 05 записывает состояние выхода переключателя

Бит 2 выхода BIT (0001) соответствует биту выходного реле BIT (DO2)

Команда управления 2 0000 задает биту состояния релейного выхода в положение “включено”

Код CRC: 2 9C0A. Код CRC вычисляется хост-компьютером

Формат сообщения, возвращаемого в ответе подчиненного устройства (PDM):

Код CRC, рассчитанный хостом

Формат сообщения, возвращаемого в ответе подчиненного устройства (PDM):

Формат и содержание данных сообщения, отправленного хостом, полностью совпадают.

Шлюз DTU/Edge Gateway/IoT-платформа/шлюзовой модуль

2.6 Код функции “10”: запись в несколько регистров

Хост-компьютер использует этот код функции для записи нескольких элементов данных в память данных таблицы PDM.

Регистр в протоколе связи Modbus представляет собой 16 бит (то есть 2 байта), причем старший бит идет первым.

Таким образом, объем памяти PDM составляет два байта. Поскольку протокол связи Modbus допускает до

Сохранение 60 регистров: таким образом, PDM позволяет одновременно сохранять до 60 регистров данных.

Например: ведущий хочет сохранить значения 0064 и 0010 в регистры ведомого с адресами 002C и 002D

Go (код адреса ведомого устройства — 01). После сохранения данных связи PDM с адресом 002C/002D

В таблице хранится следующая информация:

Адрес исходных данных (в шестнадцатеричном формате)

002C 04B0

002D 1388

Формат сообщения, отправляемого хостом:

Код CRC, рассчитанный хостом

Формат сообщения, возвращаемого в ответе подчиненного устройства (PDM):

Служебный ответ: количество байтов, количество байтов, пример

Адрес ведомого устройства 1 01 поступает от ведомого устройства 01

Код функции 1 10 Запись в несколько регистров

Начальный адрес 2 002C. Начальный адрес — 002C

Сохранить данные длиной в 2 слова 0002 Сохранить данные длиной в 2 слова

Код CRC 2 8001. Код CRC, рассчитанный подчиненным устройством

3. Код проверки на ошибки (CRC-проверка)

4. Обработка информации об ошибках связи и данных

Если таблица PDM обнаруживает ошибку, отличную от ошибки CRC-кода, она должна отправить сообщение обратно на хост

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

Добавьте 128 в соответствии с отправленным кодом функции. Следующие коды указывают на возникновение непредвиденной ошибки

родился.

Если информация, полученная PDM от хоста, содержит ошибки CRC, она будет игнорироваться таблицей PDM.

Формат кода ошибки, возвращаемого PDM, выглядит следующим образом (за исключением кода CRC):

Код адреса: 1 байт

Код функции: 1 байт (старший бит равен 1)

Код ошибки: 1 байт

Код CRC: 2 байта.

В ответе PDM возвращается следующий код ошибки:

81. Недопустимый код функции. Полученный код функции отсутствует в таблице PDM.

82. Недопустимое расположение данных. Указанное расположение данных выходит за пределы таблицы PDM.

вокруг.

83. Недопустимое значение данных. Значение данных, полученное от хоста, выходит за пределы фазы PDM

Диапазон данных, соответствующий данному адресу.

 

About Me
e87d0ef219292bb40d6f120e7d321bcb?s=150&d=mp&r=g
More Posts