Тип данных Modbus Word

Обновлено: 21.11.2024

Для чего он используется?

Modbus — это открытый протокол, что означает, что производители могут бесплатно встраивать его в свое оборудование без уплаты роялти. Он стал очень распространенным протоколом, широко используемым многими производителями во многих отраслях. Modbus обычно используется для передачи сигналов от контрольно-измерительных приборов обратно на главный контроллер или систему сбора данных.

Как это работает

Modbus передается по последовательным линиям между устройствами. Простейшей установкой будет один последовательный кабель, соединяющий последовательные порты на двух устройствах, ведущем и ведомом. Данные отправляются в виде последовательности единиц и нулей, называемых «битами». Каждый бит передается как напряжение. Нули передаются как положительные напряжения, а единицы как отрицательные. Биты отправляются очень быстро. Типичная скорость передачи составляет 9600 бод/с ("бит в секунду").

Что такое шестнадцатеричный формат?

При устранении неполадок может быть полезно увидеть фактически передаваемые необработанные данные. Длинные строки из единиц и нулей трудно читать, поэтому биты объединяются и отображаются в шестнадцатеричном формате. Каждый блок из 4 битов представлен одним из шестнадцати символов от 0 до F.

0000 = 0 0100 = 4 1000 = 8 1100 = C
0001 = 1 0101 = 5 1001 = 9 1101 = D
0010 = 2 0110 = 6 1010 = A 1110 = E
0011 = 3 0111 = 7 1011 = В 1111 = F

Каждый блок из 8 бит (называемый байтом) представлен одной из 256 пар символов от 00 до FF.

Как данные хранятся в стандартном Modbus?

Информация хранится на ведомом устройстве в четырех разных таблицах. В двух таблицах хранятся дискретные значения включения/выключения (катушки), а в двух — числовые значения (регистры). Катушки и регистры имеют таблицу только для чтения и таблицу для чтения и записи. Каждая таблица имеет 9999 значений. Каждой катушке или контакту соответствует 1 бит, и ему назначается адрес данных от 0000 до 270E. Каждый регистр состоит из 1 слова = 16 бит = 2 байта и также имеет адрес данных от 0000 до 270E.

Номера катушек/регистров можно рассматривать как названия местоположений, поскольку они не появляются в реальных сообщениях. Адреса данных используются в сообщениях.

Например, первый регистр временного хранения под номером 40001 имеет адрес данных 0000. Разница между этими двумя значениями представляет собой смещение. Каждая таблица имеет разное смещение. 1, 10001, 30001 и 40001.

Что такое идентификатор ведомого устройства

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

Что такое код функции?

Номера катушек/регистровАдреса данныхТипТаблица Название
1-9999от 0000 до 270EЧтение-ЗаписьДискретные выходные катушки
10001-19999от 0000 до 270EТолько чтениеКонтакты дискретного ввода
30001-399990000–270EТолько чтениеРегистры аналогового ввода
40001-499990000–270EЧтение-ЗаписьРегистры хранения аналогового вывода

Что такое CRC?

CRC означает «проверка циклическим избыточным кодом». Два байта добавляются в конец каждого сообщения Modbus для обнаружения ошибок. Каждый байт в сообщении используется для вычисления CRC. Принимающее устройство также вычисляет CRC и сравнивает его с CRC отправляющего устройства. Если хотя бы один бит в сообщении получен неправильно, CRC будут другими, и возникнет ошибка.

Каковы форматы команд и ответов Modbus?

Следуйте ссылкам в этой таблице, чтобы увидеть примеры запросов и ответов.

Код функцииДействиеИмя таблицы
01 (01 hex)ЧтениеДискретные выходные катушки
05 (05 hex)Запись ОдинарнаяДискретная выходная катушка
15 (0F hex)Многократная записьДискретные выходные катушки< /td>
02 (02 hex)ЧтениеКонтакты дискретного ввода
04 (04 hex)ЧтениеРегистры аналогового ввода
03 (03 hex)Чтение Регистры хранения аналогового вывода
06 (06 hex)Запись SingleadРегистр хранения аналогового вывода
16 (10 hex)Запись несколькихрегистров хранения аналогового вывода
Адреса данныхЧтениеЗапись одиночногоЗапись нескольких th>
Дискретные выходные катушки 0xxxxFC01FC05FC15
Контакты дискретного ввода 1xxxxFC02Н/ДН/Д
Регистры аналогового ввода 3xxxxFC04Н/ДН/Д
Регистры хранения аналогового вывода 4xxxxFC03FC06FC16

Что такое типы данных?

Пример для FC03 показывает, что регистр 40108 содержит AE41, который преобразуется в 16-битное 1010 1110 0100 0001 Отлично! Но что это значит? Ну, это может означать несколько вещей.

У Chipkin есть решения Modbus практически для любой ситуации. Мы являемся экспертами в области связи Modbus RTU/TCP и предлагаем широкий спектр продуктов Modbus:

В статье обсуждаются некоторые типичные трудности, возникающие при обработке 32-битных типов данных через Modbus RTU, и предлагается практическая помощь в решении этих проблем.

Протокол Modbus «точка-точка» является популярным выбором для связи RTU хотя бы по той причине, что это простое удобство. Сам протокол управляет взаимодействием каждого устройства в сети Modbus, тем, как устройство устанавливает известный адрес, как каждое устройство распознает свои сообщения и как основная информация извлекается из данных. По сути, протокол является основой всей сети Modbus.

Однако такое удобство не обходится без некоторых сложностей, и протокол сообщений Modbus RTU не является исключением. Сам протокол разрабатывался на базе устройств с 16-битной длиной регистра. Следовательно, при реализации 32-битных элементов данных требовалось особое внимание. Эта реализация остановилась на использовании двух последовательных 16-битных регистров для представления 32 битов данных или, по существу, 4 байтов данных. Именно в этих 4 байтах данные с плавающей запятой одинарной точности могут быть закодированы в сообщение Modbus RTU.

Важность порядка байтов

Modbus сам по себе не определяет тип данных с плавающей запятой, но общепризнано, что он реализует 32-битные данные с плавающей запятой с использованием стандарта IEEE-754. Однако в стандарте IEEE нет четкого определения порядка байтов полезных данных. Поэтому самое важное при работе с 32-битными данными — адресация данных в правильном порядке.

Например, число 123456,00, определенное в стандарте IEEE 754 для 32-разрядных чисел с плавающей запятой одинарной точности, выглядит следующим образом:

Различный порядок следования байтов оказывает существенное влияние. Например, упорядочивание 4 байтов данных, представляющих 123456,00, в последовательности «BA D C», известное как «перестановка байтов». При интерпретации как тип данных с плавающей запятой IEEE 744 результат совершенно другой:
Упорядочивание одних и тех же байтов в последовательности «C D A B» известно как «перестановка слов». Опять же, результаты резко отличаются от исходного значения 123456,00:
Кроме того, как «перестановка байтов», так и «перестановка слов» по ​​существу изменят последовательность байтов в целом, чтобы получить еще один результат:

Очевидно, что при использовании сетевых протоколов, таких как Modbus, необходимо уделять особое внимание порядку байтов памяти при их передаче, также известному как «порядок байтов».

Определение порядка байтов

Сам протокол Modbus объявлен как протокол с обратным порядком байтов согласно Спецификации прикладного протокола Modbus, версия 1.1.b:

«Modbus использует представление «big-Endian» для адресов и элементов данных. Это означает, что при передаче числового значения, превышающего один байт, первым отправляется старший байт».

Big-Endian — наиболее часто используемый формат сетевых протоколов. Он настолько распространен, что его также называют "сетевым порядком".

Учитывая, что протокол сообщений Modbus RTU является обратным порядком байтов, для успешного обмена 32-битным типом данных через сообщение Modbus RTU необходимо учитывать порядок байтов как ведущего, так и ведомого устройства. Многие ведущие и ведомые устройства RTU позволяют выбирать определенный порядок байтов, особенно в случае устройств, имитируемых программным обеспечением. Нужно просто убедиться, что все блоки имеют одинаковый порядок байтов.

Как правило, порядок следования байтов определяется семейством микропроцессоров устройства. Как правило, стиль big-Endian (сначала сохраняется старший байт, а затем младший байт) обычно встречается в ЦП, разработанных с процессором Motorola. Стиль Little-Endian (сначала сохраняется младший байт, а затем старший байт) обычно встречается в ЦП, использующих архитектуру Intel. Вопрос о том, какой стиль считать «обратным», зависит от личных предпочтений.

Однако, если порядок байтов и порядок следования байтов нельзя настроить, вам придется определить, как интерпретировать байт. Это можно сделать, запросив известное значение с плавающей запятой у ведомого устройства. Если возвращается невозможное значение, т. е. число с двузначным показателем степени или подобное, порядок байтов, скорее всего, потребует изменения.

Практическая помощь

Драйверы FieldServer Modbus RTU предлагают несколько перемещений функций, которые обрабатывают 32-разрядные целые числа и 32-разрядные значения с плавающей запятой. Что еще более важно, эти перемещения функций учитывают все различные формы последовательности байтов. В следующей таблице показаны перемещения функции FieldServer, которые копируют два соседних 16-битных регистра в 32-битное целое число.

В следующей таблице показаны перемещения функции FieldServer, которые копируют два соседних 16-битных регистра в 32-битное значение с плавающей запятой:

В следующей таблице показаны перемещения функции FieldServer, которые копируют одно 32-битное значение с плавающей запятой в два соседних 16-битных регистра:

Учитывая перемещение различных функций FieldServer, правильная обработка 32-разрядных данных зависит от правильного выбора. Обратите внимание на следующее поведение этих функций FieldServer, перемещаемых с известным десятичным значением с плавающей запятой одинарной точности, равным 123456,00:

Обратите внимание, что другой порядок байтов и слов требует использования соответствующей функции перемещения FieldServer. После выбора правильного перемещения функции данные могут быть преобразованы в обоих направлениях.

Из множества преобразователей шестнадцатеричного числа в число с плавающей запятой и калькуляторов, доступных в Интернете, очень немногие позволяют манипулировать порядком байтов и слов. Одну такую ​​утилиту можно скачать ЗДЕСЬ. Утилита представляет десятичное значение с плавающей запятой 123456,00 следующим образом:


Затем можно поменять местами байты и/или слова, чтобы проанализировать, какие потенциальные проблемы порядка следования байтов могут существовать между ведущим и ведомым устройствами Modbus RTU.

16-битный адрес регистра в шестнадцатеричном формате. Адрес — это данные, используемые во фрейме Modbus.

16-битный номер регистра в десятичном формате. Регистрация = Адрес + 1

Количество 16-битных регистров, которые необходимо прочитать/записать для доступа к полной информации

Является ли регистр доступным только для чтения ( R/RW ) или для чтения и записи ( RW ).

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

Шкала 10 означает, что регистр содержит значение, умноженное на 10. Таким образом, фактическое значение равно значению регистра, деленному на 10.

Шкала 0,1 означает, что регистр содержит значение, умноженное на 0,1. Таким образом, фактическое значение равно значению регистра, умноженному на 10.

Информационная единица измерения:

“-”: единица измерения не соответствует выраженному значению.

“D”: устройство зависит от подключенного устройства.

Тип данных кодирования (см. таблицу типов данных ниже).

Диапазон допустимых значений для переменной, обычно подмножество того, что позволяет формат. Для данных типа BITMAP содержимое этого домена равно «-».

Значение по умолчанию для переменной

Экономия при отключении питания шлюза PowerTag Link:

“Y”: значение регистра сохраняется.

“N”: значение потеряно.

Код функций, которые можно использовать в реестре.

Код, указывающий типы устройств, для которых доступен реестр.

Информация о реестре и применимых ограничениях.

Типы данных

16-битное целое число со знаком (1 слово)

16-битное целое число без знака (1 слово)

32-битное целое число со знаком (2 слова)

-2 147 483 648. +2 147 483 647

32-битное целое число без знака (2 слова)

<р>0. 4 294 967 295

64-битное целое число со знаком (4 слова)

-9 223 372 036 854 775 808. 9 223 372 036 854 775 807

64-битное целое число без знака (4 слова)

от 0 до 18 446 744 073 709 600 000

32-битное значение (2 слова)

Таблица символов ASCII

16-битное поле (1 слово)

Данные типа Float32: одинарная точность с плавающей запятой со знаковым битом, 8-битная экспонента, 23-битная мантисса (положительное и отрицательное нормализованное вещественное число)

Для данных типа ASCII порядок передачи символов в словах (16-битных регистрах) следующий:

Символ n как наименее значимый

Символ n + 1 как наиболее значимый

Все регистры (16 бит или 2 байта) передаются с кодировкой Big Endian:

Старший байт передается первым.

Младший байт передается вторым.

32-битные переменные, сохраненные в двух 16-битных словах (например, счетчики потребления), имеют формат Big Endian:

Сначала передается самое значимое слово, затем наименее значимое.

64-битные переменные, сохраненные в четырех 16-битных словах (например, даты), имеют формат Big Endian:

Самое значимое слово передается первым и так далее.

ДАТАВРЕМЯ

DATETIME – это тип данных, используемый для кодирования даты и времени в соответствии со стандартом IEC 60870-5.

От 0x00 (00) до 0x7F (127) соответствуют годам с 2000 по 2127

Например, 0x0D (13) соответствует 2013 году.

Прямая битовая адресация

Адресация разрешена для зон типа BITMAP с функциями 1, 2, 5 и 15.

Адрес первого бита составляется следующим образом: (адрес регистра x 16) + номер бита.

Этот режим адресации характерен для Schneider Electric.

Пример: для функций 1, 2, 5 и 15 следует адресовать бит 3 регистра 0x0078; поэтому битовый адрес равен 0x0783.

Пример кадров Modbus

Количество байтов

Адрес Modbus ссылки PowerTag

Читает n выходных или внутренних слов

Адрес счетчика потребления с адресом 14050 в десятичной системе счисления.

Количество слов

Читает 44 16-битных регистра.

Количество байтов

Адрес Modbus ссылки PowerTag

Читает n выходных или внутренних слов

Количество байтов

Количество прочитанных байтов

Значение прочитанных слов

Читает 44 16-битных регистра

Регистрация Modbus

Адрес регистра номер n равен n-1. Таблицы, подробно описанные в следующих частях этого документа, содержат как номера регистров (в десятичном формате), так и соответствующие адреса (в шестнадцатеричном формате). Например, адрес регистра 3000 — 0x0BB7 (2999).

ПРИМЕЧАНИЕ. Чтобы узнать описание регистров каждого связанного устройства (как их использовать), распечатайте отчет о регистрах Modbus в формате PDF с помощью программного обеспечения EcoStruxure Power Commission (см. Интерактивную справку EcoStruxure Power Commission). ). Этот отчет дает динамическую информацию обо всех регистрах, которые потенциально могут быть интегрированы в системы контроля, включая описание каждого регистра.

Показать QR-код для этой страницы

Было ли это полезно?

Контактная информация

Юридическая информация

Бренд Schneider Electric и любые товарные знаки Schneider Electric SE и ее дочерних компаний, упомянутые в этом руководстве, являются собственностью Schneider Electric SE или ее дочерних компаний. Все другие бренды могут быть товарными знаками соответствующих владельцев.

Это руководство и его содержимое защищены применимыми законами об авторском праве и предназначены только для информационных целей. Никакая часть этого руководства не может быть воспроизведена или передана в любой форме и любыми средствами (электронными, механическими, фотокопированием, записью или иным) для любых целей без предварительного письменного разрешения Schneider Electric.

Schneider Electric не предоставляет никаких прав или лицензий на коммерческое использование руководства или его содержимого, за исключением неисключительной и личной лицензии на ознакомление с ним на условиях «как есть». Изделия и оборудование Schneider Electric должны устанавливаться, эксплуатироваться, обслуживаться и обслуживаться только квалифицированным персоналом.

Поскольку стандарты, спецификации и дизайн время от времени меняются, информация, содержащаяся в этом руководстве, может быть изменена без предварительного уведомления.

Насколько это разрешено применимым законодательством, Schneider Electric и ее дочерние компании не несут никакой ответственности за любые ошибки или упущения в информационном содержании этого материала или последствия, возникающие в результате или в результате использования информации, содержащейся в этом документе. .

Часто задаваемые вопросы

Что такое Modbus?

Modbus — это протокол последовательной связи, разработанный Modicon и опубликованный Modicon� в 1979 году для использования с его программируемыми логическими контроллерами (ПЛК). Проще говоря, это метод, используемый для передачи информации по последовательным линиям между электронными устройствами. Устройство, запрашивающее информацию, называется ведущим устройством Modbus, а устройства, предоставляющие информацию, — ведомыми устройствами Modbus. В стандартной сети Modbus имеется один ведущий и до 247 ведомых, каждый из которых имеет уникальный адрес ведомого от 1 до 247. Главный также может записывать информацию в ведомые.

Для чего он используется?

Modbus — это открытый протокол, что означает, что производители могут бесплатно встраивать его в свое оборудование без уплаты роялти. Он стал стандартным протоколом связи в промышленности и в настоящее время является наиболее доступным средством подключения промышленных электронных устройств. Он широко используется многими производителями во многих отраслях промышленности. Modbus обычно используется для передачи сигналов от контрольно-измерительных приборов обратно на главный контроллер или систему сбора данных, например, систему, которая измеряет температуру и влажность и передает результаты на компьютер. Modbus часто используется для соединения управляющего компьютера с удаленным терминалом (RTU) в системах диспетчерского управления и сбора данных (SCADA). Существуют версии протокола Modbus для последовательных линий (Modbus RTU и Modbus ASCII) и для Ethernet (Modbus TCP).

Как это работает?

Modbus передается по последовательным линиям между устройствами.Простейшей установкой будет один последовательный кабель, соединяющий последовательные порты на двух устройствах, ведущем и ведомом.

Данные отправляются в виде последовательности единиц и нулей, называемых битами. Каждый бит передается как напряжение. Нули передаются как положительные напряжения, а единицы как отрицательные. Биты отправляются очень быстро. Типичная скорость передачи составляет 9600 бод (бит в секунду).

Что такое шестнадцатеричный формат?

При устранении неполадок может быть полезно увидеть фактически передаваемые необработанные данные. Длинные строки из единиц и нулей трудно читать, поэтому биты объединяются и отображаются в шестнадцатеричном формате. Каждый блок из 4 бит представлен одним из шестнадцати символов от 0 до F .

Каждый блок из 8 бит (называемый байтом) представлен одной из 256 пар символов от 00 до FF .

Что такое ASCII?

ASCII – американский стандартный код для обмена информацией. Точно так же, как каждые 4 бита могут быть объединены и представлены одним из шестнадцати шестнадцатеричных символов от 0 до F, каждые 8 ​​бит (каждый байт) могут быть объединены и представлены одним из 256 символов ASCII, включая общие символы клавиатуры. Например, некоторые значения для символов ASCII.

Как данные хранятся в стандартном Modbus?

Информация хранится на ведомом устройстве в четырех разных таблицах.
Две таблицы хранят дискретные значения включения/выключения (катушки), а две — числовые значения (регистры). Катушки и регистры имеют таблицу только для чтения и таблицу для чтения и записи.

Каждая таблица содержит 9999 значений.
Каждой катушке или контакту соответствует 1 бит, и ему назначается адрес данных от 0000 до 270E.
Каждый регистр состоит из 1 слова = 16 бит = 2 байта, а также имеет адрес данных от 0000 до 270E.

Номера катушек/регистров можно рассматривать как названия местоположений, поскольку они не появляются в реальных сообщениях. Адреса данных используются в сообщениях.

Например, первый регистр хранения под номером 40001 имеет адрес данных 0000 .
Разница между этими двумя значениями и есть смещение.
Каждая таблица имеет разное смещение. 1, 10001, 30001 и 40001.

Что такое идентификатор ведомого устройства?

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

Что такое функциональный код?

Второй байт, отправляемый мастером, — это код функции. Этот номер сообщает подчиненному устройству, к какой таблице обращаться и следует ли читать или записывать в таблицу.

0000 = 0 0100 = 4 1000 = 8 1100 = C
0001 = 1 0101 = 5 1001 = 9< /td> 1101 = D
0010 = 2 0110 = 6 1010 = A 1110 = E
0011 = 3 0111 = 7 1011 = B 1111 = F
< td align="center">Действие < tr> < /tr>

Что такое CRC?

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

Вот табличный калькулятор CRC для сообщений размером до 16 байт.
Чтобы загрузить копию, щелкните правой кнопкой мыши и выберите "Сохранить объект как".

Каковы форматы команд и ответов Modbus?

Следуйте ссылкам в этой таблице, чтобы увидеть примеры запросов и ответов.

Код функции Имя таблицы
01 ( 01 hex) Чтение Дискретные выходные катушки
05 (05 hex) Запись одиночного Дискретная выходная катушка
15 ( 0F hex ) Запись нескольких Дискретные выходные катушки
02 ( 02 hex) Чтение Контакты дискретного ввода
04 (04 hex) Чтение Регистры аналогового ввода
03 ( 03 hex) Чтение Регистры хранения аналогового выхода
06 ( 06 hex) Запись одного Регистр хранения аналогового выхода
16 ( 10 hex) Запись нескольких Регистры хранения аналогового вывода

Что такое типы данных?

Пример для FC03 показывает, что регистр 40108 содержит AE41,
который преобразуется в 16 бит 1010 1110 0100 0001
Отлично! Но что это значит? Ну, это может означать несколько вещей.

Регистр 40108 может быть определен как любой из следующих 16-битных типов данных:
16-битное целое число без знака (целое число от 0 до 65535)
регистр 40108 содержит AE41 = 44 609 (от шестнадцатеричного до десятичное преобразование)

16-битное целое число со знаком (целое число от -32768 до 32767)
AE41 = -20 927
(преобразование шестнадцатеричного значения в десятичное с переносом, если оно больше 32767, вычтите 65536)

Двухсимвольная строка ASCII (2 напечатанные буквы)
AE41 = � A

Дискретное значение включения/выключения (это работает так же, как 16-битные целые числа со значением 0 или 1.
Шестнадцатеричные данные будут 0000 или 0001 )

Регистр 40108 также может быть объединен с 40109 для формирования любого из следующих 32-битных типов данных:
32-битное целое число без знака (число от 0 до 4 294 967 295)
40108,40109 = AE41 5652 = 2 923 517 522

32-битное целое число со знаком (число от -2 147 483 648 до 2 147 483 647)
AE41 5652 = -1 371 449 774

32-битное число с плавающей запятой одинарной точности IEEE.
Это математическая формула, позволяющая представить любое действительное число (число с
десятичной точкой) 32-битным представлением с точностью около семи цифр.
AE41 5652 = -4,395978 E-11

Вот таблица IEEE с плавающей запятой для ввода 4 байтов или 2 слов.
Чтобы загрузить копию, щелкните правой кнопкой мыши и выберите "Сохранить объект как".

Четырехсимвольная строка ASCII (4 напечатанные буквы)
AE41 5652 = � A V R

Для формирования более длинных строк ASCII можно объединить большее количество регистров. Каждый регистр используется для хранения двух символов ASCII (два байта).

Что такое порядок байтов и слов?

Спецификация Modbus не определяет, как именно данные хранятся в регистрах. Поэтому некоторые производители внедрили в свое оборудование протокол Modbus для хранения и передачи сначала старшего байта, а затем младшего байта. (AE до 41).
В других случаях младший байт сохраняется и передается первым ( 41 перед AE ).

Аналогично, когда регистры объединяются для представления 32-битных типов данных, некоторые устройства сохраняют старшие 16 бит (старшее слово) в первом регистре, а оставшееся младшее слово — во втором (AE41 до 5652), тогда как другие делают наоборот. ( 5652 до AE41 )

Не имеет значения, в каком порядке отправляются байты или слова, если принимающее устройство знает, в каком направлении их ожидать.

Например, если число 2 923 517 522 должно быть отправлено как 32-битное целое число без знака, его можно упорядочить любым из этих четырех способов.

также известен как
AE41 5652 старший байт первым старшим словом первым "big endian"
5652 AE41 старшим байтом первым младшим словом
41AE 5256 младшим байтом первым старшим словом
5256 41AE младший байт первый младший слово первый "little endian"

Что такое карта Modbus?

Карта Modbus — это просто список для ведомого устройства, который определяет:
- какие данные (например, показания давления или температуры)
- где хранятся данные (какие таблицы и адреса данных)
- как хранятся данные (типы данных, порядок байтов и слов)

Некоторые устройства имеют фиксированную карту, определенную производителем. В то время как другие устройства позволяют оператору настраивать или программировать собственную карту в соответствии со своими потребностями.

В чем разница между Modbus ASCII и Modbus RTU?

Здесь объясняется разница между этими двумя режимами.

Что такое расширенные адреса регистров?

Поскольку диапазон регистров хранения аналогового вывода составляет от 40001 до 49999, это означает, что число регистров не может превышать 9999. Хотя этого обычно достаточно для большинства приложений, есть случаи, когда было бы полезно использовать большее количество регистров.

Регистры с 40001 по 49999 соответствуют адресам данных с 0000 по 270E. Если мы используем оставшиеся адреса данных от 270F до FFFF , количество доступных регистров будет в шесть раз больше, всего 65536. Это будет соответствовать номерам регистров от 40001 до 105536.

Многие программные драйверы Modbus (для главных ПК) были написаны с ограничениями от 40001 до 49999 и не могут получить доступ к расширенным регистрам в подчиненных устройствах. И многие ведомые устройства не поддерживают карты, использующие расширенные регистры. Но, с другой стороны, некоторые ведомые устройства поддерживают эти регистры, и некоторое основное программное обеспечение может получить к ним доступ, особенно если написано специальное программное обеспечение.

Как работает 2-байтовая адресация подчиненного устройства?

Поскольку для определения адреса ведомого устройства обычно используется один байт, а каждому ведомому устройству в сети требуется уникальный адрес, количество ведомых устройств в сети ограничено 256. Ограничение, определенное в спецификации Modbus, еще ниже — 247. .

Чтобы обойти это ограничение, можно изменить протокол, чтобы использовать два байта для адреса. Мастер и ведомые должны поддерживать эту модификацию. Двухбайтовая адресация расширяет ограничение на количество ведомых устройств в сети до 65 535.

По умолчанию программное обеспечение Simply Modbus использует 1-байтовую адресацию. Когда вводится адрес больше 255, программа автоматически переключается на 2-байтовую адресацию и остается в этом режиме для всех адресов до тех пор, пока 2-байтовая адресация не будет отключена вручную.

Как вы можете отправлять события и исторические данные?

Enron Modbus включает команды для перемещения событий и исторических данных.

Что такое Enron Modbus?

Enron Modbus — это модификация стандартного протокола связи Modicon modbus, разработанного корпорацией Enron.

Читайте также:

Адреса данных Чтение Запись одного Запись нескольких
Дискретные выходные катушки 0xxxx FC01 FC05 FC15
Дискретные входные контакты 1xxxx FC02 Нет данных Нет данных
Регистры аналогового ввода 3xxxx FC04 Нет данных Нет данных
Аналоговый выход Регистры хранения 4xxxx FC03 FC06 FC16