Карта modbus регистров: Просто о протоколе Modbus RTU

Содержание

Просто о протоколе Modbus RTU

Из данной статьи вы узнаете о протоколе Modbus RTU, который широко применяется в АСУ ТП. Англоязычная версия статьи доступна на сайте ipc2u.com. Описание протокола Modbus TCP можно найти в статье.

Оглавление:

Описание протокола Modbus RTU

Modbus — коммуникационный протокол, основан на архитектуре ведущий-ведомый (master-slave). Использует для передачи данных интерфейсы RS-485, RS-422, RS-232, а также Ethernet сети TCP/IP (протокол Modbus TCP).

Сообщение Modbus RTU состоит из адреса устройства SlaveID, кода функции, специальных данных в зависимости от кода функции и CRC контрольной суммы.

SlaveIDКод функцииСпециальные данныеCRC

Если отбросить SlaveID адрес и CRC контрольную сумму, то получится PDU, Protocol Data Unit.

SlaveID – это адрес устройства, может принимать значение от 0 до 247, адреса с 248 до 255 зарезервированы.

Данные в модуле хранятся в 4 таблицах.

Две таблицы доступны только для чтения и две для чтения-записи.

В каждой таблице помещается 9999 значений.

Номер регистраАдрес регистра HEXТипНазваниеТип
1-99990000 до 270EЧтение-записьDiscrete Output CoilsDO
10001-199990000 до 270EЧтениеDiscrete Input ContactsDI
30001-399990000 до 270EЧтениеAnalog Input RegistersAI
40001-499990000 до 270EЧтение-записьAnalog Output Holding RegistersAO

В сообщении Modbus используется адрес регистра.

Например, первый регистр AO Holding Register, имеет номер 40001, но его

адрес равен 0000.

Разница между этими двумя величинами есть смещение offset.

Каждая таблица имеет свое смещение, соответственно: 1, 10001, 30001 и 40001.

Ниже приведен пример запроса Modbus RTU для получения значения AO аналогового выхода (holding registers) из регистров от #40108 до 40110 с адресом устройства 17.

11 03 006B 0003 7687

11Адрес устройства SlaveID (17 = 11 hex)
03Функциональный код Function Code (читаем Analog Output Holding Registers)
006BАдрес первого регистра (40108-40001 = 107 =6B hex)
0003Количество требуемых регистров (чтение 3-х регистров с 40108 по 40110)
7687Контрольная сумма CRC

В ответе от Modbus RTU Slave устройства мы получим:

11 03 06 AE41 5652 4340 49AD

Где:

11Адрес устройства (17 = 11 hex)SlaveID
03Функциональный кодFunction Code
06Количество байт далее (6 байтов идут следом)Byte Count
AEЗначение старшего разряда регистра (AE hex)Register value Hi (AO0)
41Значение младшего разряда регистра (41 hex)Register value Lo (AO0)
56Значение старшего разряда регистра (56 hex)Register value Hi (AO1)
52Значение младшего разряда регистра (52 hex)Register value Lo (AO1)
43Значение старшего разряда регистра (43 hex)Register value Hi (AO2)
40Значение младшего разряда регистра (40 hex)Register value Lo (AO2)
49Контрольная суммаCRC value Lo
ADКонтрольная суммаCRC value Hi

Регистр аналогового выхода AO0 имеет значение AE 41 HEX или 44609 в десятичной системе.

Регистр аналогового выхода AO1 имеет значение 56 52 HEX или 22098 в десятичной системе.

Регистр аналогового выхода AO2 имеет значение 43 40 HEX или 17216 в десятичной системе.

Значение AE 41 HEX – это 16 бит 1010 1110 0100 0001, может принимать различное значение, в зависимости от типа представления.

Значение регистра 40108 при комбинации с регистром 40109 дает 32 бит значение.

Пример представления.

Тип представленияДиапазон значенийПример в HEXБудет в десятичной форме
16-bit unsigned integer0 до 65535AE4144,609
16-bit signed integer-32768 до 32767AE41-20,927
two character ASCII string2 знакаAE41® A
discrete on/off value0 и 100010001
32-bit unsigned integer0 до 4,294,967,295AE41 56522,923,517,522
32-bit signed integer-2,147,483,648 до 2,147,483,647AE41 5652-1,371,449,774
32-bit single precision IEEE floating point number1,2·10−38 до 3,4×10+38AE41 5652-4. 395978 E-11
four character ASCII string4 знакаAE41 5652® A V R

Наверх к оглавлению

Какие бывают команды Modbus RTU?

Приведем таблицу с кодами функций чтения и записи регистров Modbus RTU.

Код функцииЧто делает функцияТип значенияТип доступа
01 (0x01)Чтение DORead Coil StatusДискретноеЧтение
02 (0x02)Чтение DIRead Input StatusДискретноеЧтение
03 (0x03)Чтение AORead Holding Registers16 битноеЧтение
04 (0x04)Чтение AIRead Input Registers16 битноеЧтение
05 (0x05)Запись одного DOForce Single CoilДискретноеЗапись
06 (0x06)Запись одного AOPreset Single Register16 битноеЗапись
15 (0x0F)Запись нескольких DOForce Multiple Coils
Дискретное
Запись
16 (0x10)Запись нескольких AOPreset Multiple Registers16 битноеЗапись

Наверх к оглавлению

Как послать команду Modbus RTU на чтение дискретного вывода? Команда 0x01

Эта команда используется для чтения значений дискретных выходов DO.

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

Значения DO в ответе находятся в одном байте и соответствуют значению битов.

Значения битов определяются как 1 = ON и 0 = OFF.

Младший бит первого байта данных содержит значение DO адрес которого указывался в запросе. Остальные значения DO следуют по нарастающей к старшему значению байта. Т.е. справа на лево.

Если запрашивалось меньше восьми значений DO, то оставшиеся биты в ответе будут заполнены нулями (в направлении от младшего к старшему байту). Поле Byte Count

Количество байт далее указывает количество полных байтов данных в ответе.

Пример запроса DO с 20 по 56 для SlaveID адреса устройства 17. Адрес первого регистра будет 0013 hex = 19, т.к. счет ведется с 0 адреса (0014 hex = 20, -1 смещение нуля = получаем 0013 hex = 19).

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
01Функциональный код01Функциональный код
00Адрес первого регистра Hi байт05Количество байт далее
13Адрес первого регистра Lo байтCDЗначение регистра DO 27-20 (1100 1101)
00Количество регистров Hi байт6BЗначение регистра DO 35-28 (0110 1011)
25Количество регистров Lo байтB2Значение регистра DO 43-36 (1011 0010)
0EКонтрольная сумма CRC0EЗначение регистра DO 51-44 (0000 1110)
84Контрольная сумма CRC1BЗначение регистра DO 56-52 (0001 1011)
45Контрольная сумма CRC
E6Контрольная сумма CRC

Состояния выходов DO 27-20 показаны как значения байта CD hex, или в двоичной системе 1100 1101.

В регистре DO 56-52 5 битов справа были запрошены, а остальные биты заполнены нулями до полного байта (0001 1011).

КаналыDO 56DO 55DO 54DO 53DO 52
Биты0001 1011
Hex1B

Модули с дискретным выводом: M-7065, ioLogik R1214, ADAM-4056S

Наверх к оглавлению

Как послать команду Modbus RTU на чтение дискретного ввода? Команда 0x02

Эта команда используется для чтения значений дискретных входов DI.

Пример запроса DI с регистров от #10197 до 10218 для SlaveID адреса устройства 17. Адрес первого регистра будет 00C4 hex = 196, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
02Функциональный код02Функциональный код
00Адрес первого регистра Hi байт03Количество байт далее
C4Адрес первого регистра Lo байтACЗначение регистра DI 10204-10197 (1010 1100)
00Количество регистров Hi байтDBЗначение регистра DI 10212-10205 (1101 1011)
16Количество регистров Lo байт35Значение регистра DI 10218-10213 (0011 0101)
BAКонтрольная сумма CRC20Контрольная сумма CRC
A9Контрольная сумма CRC18Контрольная сумма CRC

Модули с дискретным вводом: M-7053, ioLogik R1210, ADAM-4051

Наверх к оглавлению

Как послать команду Modbus RTU на чтение аналогового вывода? Команда 0x03

Эта команда используется для чтения значений аналоговых выходов AO.

Пример запроса AO с регистров от #40108 до 40110 для SlaveID адреса устройства 17. Адрес первого регистра будет 006B hex = 107, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
03Функциональный код03Функциональный код
00Адрес первого регистра Hi байт06Количество байт далее
6BАдрес первого регистра Lo байтAEЗначение регистра Hi #40108
00Количество регистров Hi байт41Значение регистра Lo #40108
03Количество регистров Lo байт56Значение регистра Hi #40109
76Контрольная сумма CRC52Значение регистра Lo #40109
87Контрольная сумма CRC43Значение регистра Hi #40110
40Значение регистра Lo #40110
49Контрольная сумма CRC
ADКонтрольная сумма CRC

Модули с аналоговым выводом: M-7024, ioLogik R1241, ADAM-4024

Наверх к оглавлению

Как послать команду Modbus RTU на чтение аналогового ввода? Команда 0x04

Эта команда используется для чтения значений аналоговых входов AI.

Пример запроса AI с регистра #30009 для SlaveID адреса устройства 17. Адрес первого регистра будет 0008 hex = 8, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
04Функциональный код04Функциональный код
00Адрес первого регистра Hi байт02Количество байт далее
08Адрес первого регистра Lo байт00Значение регистра Hi #30009
00Количество регистров Hi байт0AЗначение регистра Lo #30009
01Количество регистров Lo байтF8Контрольная сумма CRC
B2Контрольная сумма CRCF4Контрольная сумма CRC
98Контрольная сумма CRC

Модули с аналоговым вводом: M-7017, ioLogik R1240, ADAM-4017+

Наверх к оглавлению

Как послать команду Modbus RTU на запись дискретного вывода? Команда 0x05

Эта команда используется для записи одного значения дискретного выхода DO.

Значение FF 00 hex устанавливает выход в значение включен ON.

Значение 00 00 hex устанавливает выход в значение выключен OFF.

Все остальные значения недопустимы и не будут влиять значение на выходе.

Нормальный ответ на такой запрос – это эхо (повтор запроса в ответе), возвращается после того, как состояние DO было изменено.

Пример записи в DO с регистром #173 для SlaveID адреса устройства 17. Адрес регистра будет 00AC hex = 172, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
05Функциональный код05Функциональный код
00Адрес первого регистра Hi байт00Адрес первого регистра Hi байт
ACАдрес первого регистра Lo байтACАдрес первого регистра Lo байт
FFЗначение Hi байтFFЗначение Hi байт
00Значение Lo байт00Значение Lo байт
4EКонтрольная сумма CRC4EКонтрольная сумма CRC
8BКонтрольная сумма CRC8BКонтрольная сумма CRC

Состояние выхода DO173 поменялось с выключен OFF на включен ON.

Модули с дискретным выводом: M-7053, ioLogik R1210, ADAM-4051

Наверх к оглавлению

Как послать команду Modbus RTU на запись аналогового вывода? Команда 0x06

Эта команда используется для записи одного значения аналогового выхода AO.

Пример записи в AO с регистром #40002 для SlaveID адреса устройства 17. Адрес первого регистра будет 0001 hex = 1, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
06Функциональный код06Функциональный код
00Адрес первого регистра Hi байт00Адрес первого регистра Hi байт
01Адрес первого регистра Lo байт01Адрес первого регистра Lo байт
00Значение Hi байт00Значение Hi байт
03Значение Lo байт03Значение Lo байт
9AКонтрольная сумма CRC9AКонтрольная сумма CRC
9BКонтрольная сумма CRC9BКонтрольная сумма CRC

Модули с аналоговым выводом: M-7024, ioLogik R1241, ADAM-4024

Наверх к оглавлению

Как послать команду Modbus RTU на запись нескольких дискретных выводов? Команда 0x0F

Эта команда используется для записи нескольких значений дискретного выхода DO.

Пример записи в несколько DO с регистрами от #20 до #29 для SlaveID адреса устройства 17. Адрес регистра будет 0013 hex = 19, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
0FФункциональный код0FФункциональный код
00Адрес первого регистра Hi байт00Адрес первого регистра Hi байт
13Адрес первого регистра Lo байт13Адрес первого регистра Lo байт
00Количество регистров Hi байт00Кол-во записанных рег. Hi байт
0AКоличество регистров Lo байт0AКол-во записанных рег. Lo байт
02Количество байт далее26Контрольная сумма CRC
CDЗначение байт DO 27-20 (1100 1101)99Контрольная сумма CRC
01Значение байт DO 29-28 (0000 0001)
BFКонтрольная сумма CRC
0BКонтрольная сумма CRC

В ответе возвращается количество записанных регистров.

Модули с дискретным выводом: M-7053, ioLogik R1210, ADAM-4051

Наверх к оглавлению

Как послать команду Modbus RTU на запись нескольких аналоговых выводов? Команда 0x10

Эта команда используется для записи нескольких значений аналогового выхода AO.

Пример записи в несколько AO с регистрами #40002 и #40003 для SlaveID адреса устройства 17. Адрес первого регистра будет 0001 hex = 1, т.к. счет ведется с 0 адреса.

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
11Адрес устройства11Адрес устройства
10Функциональный код10Функциональный код
00Адрес первого регистра Hi байт00Адрес первого регистра Hi байт
01Адрес первого регистра Lo байт01Адрес первого регистра Lo байт
00Количество регистров Hi байт00Кол-во записанных рег. Hi байт
02Количество регистров Lo байт02Кол-во записанных рег. Lo байт
04Количество байт далее12Контрольная сумма CRC
00Значение Hi 4000298Контрольная сумма CRC
0AЗначение Lo 40002
01Значение Hi 40003
02Значение Lo 40003
C6Контрольная сумма CRC
F0Контрольная сумма CRC

Модули с аналоговым выводом: M-7024, ioLogik R1241, ADAM-4024

Наверх к оглавлению

Какие бывают ошибки запроса Modbus?

Если устройство получило запрос, но запрос не может быть обработан, то устройство ответит кодом ошибки.

Ответ будет содержать измененный Функциональный код, старший бит будет равен 1.

Пример:

БылоСтало
Функциональный код в запросеФункциональный код ошибки в ответе
01 (01 hex) 0000 0001129 (81 hex) 1000 0001
02 (02 hex) 0000 0010130 (82 hex) 1000 0010
03 (03 hex) 0000 0011131 (83 hex) 1000 0011
04 (04 hex) 0000 0100132 (84 hex) 1000 0100
05 (05 hex) 0000 0101133 (85 hex) 1000 0101
06 (06 hex) 0000 0110134 (86 hex) 1000 0110
15 (0F hex) 0000 1111143 (8F hex) 1000 1111
16 (10 hex) 0001 0000144 (90 hex) 1001 0000

Пример запроса и ответ с ошибкой:

БайтЗапросБайтОтвет
(Hex)Название поля(Hex)Название поля
0AАдрес устройства0AАдрес устройства
01Функциональный код81Функциональный код с измененным битом
04Адрес первого регистра Hi байт02Код ошибки
A1Адрес первого регистра Lo байтB0Контрольная сумма CRC
00Количество регистров Hi байт53Контрольная сумма CRC
01Количество регистров Lo байт
ACКонтрольная сумма CRC
63Контрольная сумма CRC

Расшифровка кодов ошибок

01Принятый код функции не может быть обработан.
02Адрес данных, указанный в запросе, недоступен.
03Значение, содержащееся в поле данных запроса, является недопустимой величиной.
04Невосстанавливаемая ошибка имела место, пока ведомое устройство пыталось выполнить затребованное действие.
05Ведомое устройство приняло запрос и обрабатывает его, но это требует много времени. Этот ответ предохраняет ведущее устройство от генерации ошибки тайм-аута.
06Ведомое устройство занято обработкой команды. Ведущее устройство должно повторить сообщение позже, когда ведомое освободится.
07Ведомое устройство не может выполнить программную функцию, заданную в запросе. Этот код возвращается для неуспешного программного запроса, использующего функции с номерами 13 или 14. Ведущее устройство должно запросить диагностическую информацию или информацию об ошибках от ведомого.
08Ведомое устройство при чтении расширенной памяти обнаружило ошибку паритета. Ведущее устройство может повторить запрос, но обычно в таких случаях требуется ремонт.
10
(0A hex)
Шлюз неправильно настроен или перегружен запросами.
11
(0B hex)
Slave устройства нет в сети или от него нет ответа.

Наверх к оглавлению

Программы для работы с протоколом Modbus RTU

Ниже перечислены программы, которые облегчают работу с Modbus.

DCON Utility Pro с поддержкой Modbus RTU, ASCII, DCON. Скачать

Modbus Master Tool с поддержкой Modbus RTU, ASCII, TCP. Скачать

Modbus TCP client с поддержкой Modbus TCP. Скачать

Наверх к оглавлению

Оборудование с поддержкой протокола Modbus RTU

Наверх к оглавлению


За более подробной информацией обращайтесь к специалистам IPC2U по телефону: +7 (495) 232 0207 или по e-mail: [email protected] ru

Подключение ПЧ ELHART EMD-MINI к ПЛК Segnetics SMh5 по протоколу ModBUS

Введение

В данной статье рассмотрено подключение преобразователя частоты к программируемому логическому контроллеру. Существует два основных варианта подключения: с использованием дискретных и аналоговых сигналов или по цифровому интерфейсу. Достоинством первого варианта является универсальность подключения (как правило разные преобразователи частоты имеют одинаковый набор основных управляющих сигналов) и отсутствие необходимости изменять программу на ПЛК при замене модели ПЧ. Однако, для реализации подключения необходимо задействовать входы и выходы контроллера, что делает схему подключения более сложной, а также приводит к удорожанию системы.

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

В статье рассмотрен второй способ на примере подключения ПЧ ELHART EMD-MINI к контроллеру Segnetics SMh5 по цифровому интерфейсу RS-485 (протокол Modbus RTU).

Техника безопасности

ВНИМАНИЕ! К работам по монтажу, наладке, ремонту и обслуживанию технологического оборудования допускаются лица, имеющие техническое образование и специальную подготовку (обучение и проверку знаний) по безопасному производству работ в электроустановках с группой не ниже 2 для ремонтного персонала, а также имеющие опыт работ по обслуживанию оборудования, в конструкцию которого вносятся изменения и дополнения, либо производится модернизация. За неисправность оборудования и безопасность работников при неквалифицированном монтаже и обслуживании ООО «КИП‑Сервис» ответственности не несет.

1 Подключение преобразователя частоты к ПЛК

Подключение производится по двухпроводной схеме. Клеммы 3 (Data+) и 4 (Data-) контроллера подключаются к клеммам RS+ и RS- преобразователя соответственно.

Рисунок 1 — Схема подключения ПЧ EMD-MINI к ПЛК Segnetics SMh5

2 Настройка ПЧ EMD-MINI

2.1 Настройка сетевых параметров

В преобразователе частоты необходимо установить параметры согласно таблице 1.

Таблица 1 — Настройка параметров преобразователя частоты EMD-MINI
Параметр Значение Описание
P101 5 Источник задания выходной частоты — интерфейс RS-485
P102 2 Источник команд управления — интерфейс RS-485
P700 1 Скорость передачи данных — 9600 бод*
P701 3 Формат данных — 8,N,1, протокол Modbus RTU*
P702 1 Адрес преобразователя частоты – 1**

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

** Каждому устройству в сети должен быть задан уникальный адрес в диапазоне 0…240. Если Р702=0, то обмен по RS-485 отключен.

2.2 Адресация регистров

Основные используемые регистры представлены в таблице 2.

Таблица 2 — Адресация регистров ПЧ EMD-MINI
Параметр Описание Функция Адрес (Hex)
Команды управления ПЧ (Р102 = 2) bit1∼bit0 00B: нет действия
01B: Стоп
10B: Пуск
11B: работа на частоте JOG
Чтение
запись
2000h
bit3∼bit2 00B: нет действия
01B: вращение в обратном направлении
10B: вращение в прямом направлении
11B: сменить направление вращения
bit4 0B: нет действия
1B: сброс аварии
Задание выходной частоты (Р101 = 5) Диапазон 0…9999 (0…999,9 Гц) Чтение
запись
2001h
Информация по авариям ПЧ (Р027) bit0 Перегрузка по току UC
bit1 Перегрузка по току OC
bit2~bit3 Зарезервировано
bit4 Повышенное напряжение OU
bit5 Зарезервировано
bit6 Пониженное напряжение LU
bit7 Перегрузка ПЧ OL
bit8 Перегрузка двигателя OT
bit9 Перегрев ПЧ OH
bit10 Отсутствие сигнала на входе AVI 20
bit11 Ошибка связи CO
bit12~bit14 Зарезервировано
bit15 Индикация аварии
Чтение 001Bh
Мониторинг состояния ПЧ (Р028) bit0
bit1
0В: прямое направление вращения
1В: обратное направление вращения
0B: Стоп
1B: Пуск
Чтение 001Ch
Текущая выходная частота Диапазон 0…9999 (0…999,9 Гц) Чтение 0002h
Состояние дискретных входов и выходов bit0 вход FWD
bit1 вход REV
bit2 вход S1
bit3 вход S2
bit8 Заданная частота достигнута
bit9 дискретный выход
bit10 ПЧ работает (режим RUN)
Чтение 0016h

Любой параметр ПЧ можно считать по протоколу Modbus. Адрес параметра соответствует номеру параметра в шестнадцатеричном формате. Пример: параметр P422 = 422 в десятичном формате (dec) = 01А6 в шестнадцатеричном формате (hex).

3 Настройка промышленного контроллера Segnetics SMh5

Настройка и программирование контроллера SMh5 производится в программе SMLogix.

3.1 Конфигурация порта COM1

Для связи используется порт контроллера COM1, интерфейс RS-485, протокол ModBUS RTU.

При создании нового проекта сразу после выбора типа контроллера открывается окно «Свойства контроллера» (также это окно можно открыть, если во вкладке «Устройства», находящейся с левой стороны экрана, выполнить двойной клик на строке с именем устройства.)

В разделе «Сетевые интерфейсы» во вкладке «COM1» требуется задать параметры сети, адрес устройства и поставить галочку «загрузить с проектом».

Рисунок 2 — Конфигурация порта COM1

Сетевые параметры, приведенные на рисунке 2, соответствуют параметрам, заданным в ПЧ (см. таблицу 1).

3.2 Добавление Slave-устройства

Для добавления Slave-устройства необходимо правым кликом мыши на строке «COM1(Slave)» открыть контекстное меню и выбрать «Добавить устройство» (см. рисунок 3).

Рисунок 3 — Добавление Slave-устройства

В данном примере рассмотрено создание устройства с пустой картой памяти (см. рисунок 4). Также можно воспользоваться картой устройства, представленной в данной статье (ссылка для скачивания файла доступна в конце статьи). При использовании ранее написанной карты необходимо выбрать пункт «на основе существующей карты» и указать путь к имеющейся карте памяти slave-устройства.

Рисунок 4 — Выбор карты памяти

Свойства Slave-устройства необходимо задать согласно рисунку 5.

Рисунок 5 — Настройка свойств Slave-устройства

3.3 Создание карты памяти

Для создания карты памяти необходимо правым кликом мыши на строке с именем добавленного Slave-устройства открыть контекстное меню и выбрать «Карта памяти устройства» (см.  рисунок 6).

Рисунок 6 — Создание карты памяти

Кнопкой «Добавить» необходимо создать требуемое количество переменных, указав для каждой имя, тип (все переменные integer), направление (для всех переменных необходимо выбрать R/W (out)).

Для удобства задания адреса переменных необходимо выбрать «hex» в поле «Формат адреса» (рисунок 7.1). В этом случае адрес будет выглядеть так же, как и в руководстве на ПЧ.

ПЧ EMD-MINI не поддерживает режим «групповых запросов». Поэтому данный режим необходимо отключить, убедившись в отсутствии галочки (рисунок 7.1).

На рисунках 7.1 и 7.2 представлены две карты памяти: краткая (используемая в статье) и расширенная (с большим количеством переменных).

Рисунок 7.1 — Добавление переменных. Краткая карта памятиРисунок 7.2 — Добавление переменных. Расширенная карта памяти

3.4 Программа ПЛК

3.4.1 Создание макроса управления ПЧ

Функции управления находятся в регистре 2000h. Каждый бит регистра выполняет свою функцию.

Кодирование битов в число типа «int» производится с помощью блока преобразования «bool->int» (раздел «Преобразования типов»).

Необходимо перетащить блок на рабочее поле и в его свойствах задать 5 входов (см. рисунок 8).

Рисунок 8 — Кодирование битов управления

Для удобства блок можно преобразовать в макрос «Управление ПЧ», создав понятные имена входов и выхода.

Созданные в карте памяти сетевые переменные расположены во вкладке «Устройства» (см. рисунок 9).

Рисунок 9 — Расположение сетевых переменных

Чтобы задействовать сетевую переменную, требуется переместить ее на рабочее поле (нажав на переменную, а затем на свободное место на рабочем поле).

Выход макроса «Управление ПЧ» необходимо соединить с сетевой переменной «Команды управления» (см. рисунок 10).

Рисунок 10 — Макрос управления ПЧ

3.4.2 Создание макроса задания частоты

Дискретность задания частоты для ПЧ EMD-Mini составляет 0,1 Гц. Следовательно, в регистр задания выходной частоты (см. рисунок 12) необходимо записывать число в 10 раз больше требуемой частоты. Для удобства задания можно сделать макрос «Частота ПЧ», представленный на рисунке 11.

Рисунок 11 — Задание частоты

Созданный макрос «Частота ПЧ» необходимо соединить с сетевой переменной «Задание выходной частоты».

Рисунок 12 — Макрос задания частоты

3.4.3 Чтение списка активных аварий преобразователя частоты

За каждый тип аварии отвечает определенный бит регистра 001Bh (см. Таблицу 2).

Для обработки регистра аварий необходимо воспользоваться блоком «reg16‑>bits» (раздел «Преобразования типов») (рисунок 13).

Рисунок 13 — Обработка регистра аварий

Бит 15 отвечает за индикацию аварии на дисплее ПЧ. Если авария появилась — бит равен «1». Если причина аварии ушла – бит сохраняет состояние до ручного сброса аварии или перезапуска ПЧ.

Для удобства блок можно преобразовать в макрос «Аварии», создав понятные имена входа и выходов. Вход макроса необходимо соединить с сетевой переменной «Аварии» (рисунок 14).

Рисунок 14 — Макрос аварий

3.4.4 Чтение регистра «Состояние ПЧ»

Информация о состоянии преобразователя частоты зашифрована в первых двух битах регистра 001Ch. Регистр необходимо обработать аналогичным образом (см. пункт 3.4.3 и рисунок 15).

Рисунок 15 — Обработка регистра мониторинга состояния ПЧ

Созданный макрос «Статус ПЧ» представлен на рисунке 16.

Рисунок 16 — Макрос «Статус ПЧ»

3.4.5 Чтение регистра «Фактическая выходная частота»

Регистр 0002h содержит информацию о фактической выходной частоте. Дискретность выходной частоты для ПЧ EMD-Mini составляет 0,1 Гц. Следовательно, полученное число в 10 раз больше фактической частоты. Для удобства считывания и дальнейшей обработки можно сделать макрос «Делитель», представленный на рисунке 17.

Рисунок 17 — Макрос-делитель

Ко входу макроса «Делитель» необходимо подключить сетевую переменную «Факт.вых.частота» (рисунок 18).

Рисунок 18 — Получение фактической частоты

3.4.6 Чтение регистра «Фактический выходной ток»

Регистр 0003h содержит информацию о фактическом выходном токе ПЧ. Эти данные можно считать таким же образом, как и в пункте 3.4.5 (см. рисунок 19).

Рисунок 19 — Получение фактического тока

Результатом выполнения действий, описанных в пунктах 3.4.1-3.4.6 является программа, представленная на рисунке 20.

Рисунок 20 — Программа

3.5 Создание визуализации

Для работы с экраном контроллера необходимо воспользоваться встроенной в SMLogix инструментальной средой SMArt.

Для входа в среду требуется нажать соответствующую кнопку, которая находится на панели инструментов (см. рисунок 21).

Рисунок 21 — Открытие SMArt

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

Все подписи выполняются элементом «Текст» (рисунок 22). В данном примере это «Управление», «Состояние», «Фактическая частота», «Фактический ток».

Рисунок 22 — Добавление элементов «Текст»

Для вывода на экран фактической частоты и тока требуется добавить на экран элементы «Вывод числа» (рисунок 23).

Рисунок 23 — Добавление элементов «Вывод числа»

Для удобства работы с элементами каждой переменной присваивается имя (рисунок 24).

Рисунок 24 — Присвоение имени переменной

В настройках переменных элементов ввода и вывода числа требуется выбрать тип «R», знакомест «2» до запятой и «1» после (рисунок 25).

Рисунок 25 — Настройка переменных ввода и вывода

Для задания частоты необходимо добавить блок «Ввод числа» (рисунок 26).

Рисунок 26 — Добавление блока «Ввод числа»

Управление состоянием реализуется добавлением на экран четырех кнопок: «Стоп», «Пуск», «REV» «FWD» (рисунок 27).

Рисунок 27 — Добавление кнопок

Каждой кнопке присваивается имя, которое будет отображено при программировании в среде SMLogix. В разделе «Оформление переменной» необходимо задать текст для отжатого и нажатого состояния кнопок. Для удобства можно задать цвет в каждом состоянии (рисунок 28).

Рисунок 28 — Настройка кнопок

Для индикации состояния ПЧ также используются элементы «Текст» (рисунок 29).

Рисунок 29 — Добавление элементов отображения состояния

Каждому элементу необходимо задать имя.

Состояние ПЧ и направление вращения определяются состоянием соответствующих бит. Бит состояния может принимать 2 значения: 0 (Stop) и 1 (Run) (рисунок 30).

Рисунок 30 — Индикатор состояния

Бит направления вращения может принимать 2 значения: 0 (FWD) и 1 (REV) (рисунок 31).

Рисунок 31 — Индикатор направления вращения

Для вывода на экран аварийных ситуаций на экран добавляется элемент «Текст» (рисунок 32).

Рисунок 32 — Вывод ошибки

Чтобы элемент не отображался при отсутствии ошибок необходимо в параметрах объекта установить галочку «Управлять видимостью из FBD».

За каждый тип аварии отвечает определенный бит регистра 001Bh.

В соответствии с номером бита и названием аварии заполняются строчки (рисунок 33).

Рисунок 33 — Параметры элемента «Ошибки»

В результате должна получится визуализация, представленная на рисунке 34.

Рисунок 34 – Визуализация

3.

6 Управление ПЧ с панели контроллера

Для связывания визуальной части (сделанной в SMArt) и программы ПЛК (FBD-проекта) служат переменные, которые находятся в UI-проводнике (рисунок 35).

Рисунок 35 — Открытие UI-проводника

Элемент «Задание частоты» необходимо переместить на рабочее поле и соединить с входом макроса «Частота ПЧ» (рисунок 36).

Рисунок 36 — Подключение элемента «Задание частоты»

К макросу «Управление ПЧ» необходимо подключить ранее созданные в SMArt кнопки «Стоп», «Пуск», «REV» «FWD» (их также необходимо переместить из UI-проводника) (рисунок 37).

Рисунок 37 — Подключение кнопок

Для обработки регистра аварий ко входу «Значение селектора» элемента «Ошибки» необходимо подключить сетевую переменную «Аварии», а ко входу «Видимость» подключить выход «Индикация аварии» макроса «Аварии» (см. рисунок 38).

Рисунок 38 — Подключение индикации ошибок

Для подключения индикаторов «Состояние ПЧ» и «Направление вращения» необходимо обработать сигнал сетевой переменной «Монитор состояния», выделив из него требуемые биты (блоком «reg16‑>bits» (раздел «Преобразования типов»).

Состояние битов из типа bool нужно преобразовать в int с помощью блока «bool->int» (раздел «Преобразования типов»).

Чтобы не загромождать рабочее поле можно модернизировать макрос «Статус ПЧ» (рисунок 39).

Рисунок 39 — Обновленный макрос «Статус ПЧ»

К обновленному макросу требуется подключить индикаторы «Состояние ПЧ» и «Направление вращения» (рисунок 40).

Рисунок 40 — Подключение индикаторов

Для отображения фактической частоты и выходного тока необходимо подключить блоки к соответствующим макросам (рисунок 41).

Рисунок 41 — Подключения блоков вывода частоты и тока

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

Рисунок 42 — Программа

3.7 Запись программы в контроллер

Для проверки программы необходимо загрузить программу к контроллер и включить режим отладки. Для этого необходимо нажать соответствующую кнопку (см. рисунок 43).

Рисунок 43 — Загрузка проекта и подключение для отладки

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

В режиме отладки программа имеет вид, представленный на рисунке 44.

Рисунок 44 — Режим отладки

Экран контроллера в режиме отладки представлен на рисунке 45.

Рисунок 45 — Экран контроллера в рабочем режиме

Для отключения режима отладки необходимо нажать соответствующую кнопку (см. рисунок 46).

Рисунок 46 — Выключение режима отладки проекта

Заключение

В данной статье описана процедура организации управления преобразователем частоты ELHART EMD-Mini с помощью программируемого логического контроллера Segnetics SMh5. На основе данного примера можно сделать собственные, более сложные алгоритмы управления преобразователем.

Инженер ООО «КИП-Сервис»
Рыбчинский М.Ю.

Формирование таблицы адресов регистров Modbus

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

Для того, чтобы создать таблицу адресов регистров Modbus для конкретного устройства необходимо воспользоваться программой  «SENSOR WORK» (Сервисная работа с ZETxxx)

Есть два способа открытие программы SENSOR WORK:

  1. Через программное обеспечение ZETLAB. 
  2. Через Portable версию, которая находится на FTP сервере.

Открытие программы SENSOR WORK:

Способ №1 через ПО ZETLAB

1. Запустить программное обеспечение ZETLAB. У вас откроется верхняя панель. В верхнем, в левом углу нажать на иконку  ПО ZETLAB.

2. Далее откроется окно программного обеспечения ZETLAB. Нажмите на кнопку «Сервисная работа с ZET7xxx»

Способ №2 через PORTABLE версию
  1. Заходите на наш FTP сервер. Нажимаете на «ZETLab_service/» 

2. В открывшемся окне нажимаете на SensorWork_Portable.zip, после чего начнется автоматическое скачивание архивированного файла.

3. Файл скачивает в архиве. Для того чтобы его открыть, вам потребуется разархивировать папку. Выделите файл и нажмите правую кнопку мышки. И нажимаете извлечь файл в SensorWork_Portable

После того как файл разархивируется, откройте папку SensorWork_Portable. И откройте файл SensorWork.exe

Порядок действий по созданию таблицы адресов регистров MODBUS:
    1. 1. После запуска исполняемого файла у вас откроется программа SENSOR WORK.


При использовании стороннего преобразователя интерфейса RS-485, требуется задействовать соответствующий ему COM-порт.

При этом рекомендуется выставить размер пакета Modbus равным 32 байтам, поскольку некоторые преобразователи интерфейса RS-485 не имеют встроенной поддержки протокола Modbus RTU и могут ограничивать размер передачи.

    1. 2. При помощи правой кнопки мыши вызвать контекстное меню устройства, таблицу адресов которого следует создать. В открывшемся контекстном меню активировать команду «Сгенерировать таблицу адресов»

    1. 3. После выполнения команды «Сгенерировать таблицу адресов» откроется папка, расположенная по директории: C:/ZETLab/SensorWork/AddressTables, в которой для данного устройства будет создан файл с расширением имени «.html».

    1. 4. Данный файл содержит таблицу адресов регистров Modbus для данного устройства. Открыть файл возможно при помощи любого Веб-обозревателя (Chrome, Mozilla, IE и др.), для этого необходимо щелкнуть по нему два раза левой кнопкой мыши. В браузере откроется страничка, содержащая таблицу адресов регистров Modbus. На рисунке представлен пример такой таблицы полученный для ZET 7010, которая содержит адреса регистров Modbus.

Основной пункт в таблице адресов регистров это «Текущее значение датчика»

Применение протокола Modbus с устройствами мониторинга транспорта / Хабр

Протокол Modbus – самый распространенный промышленный протокол для M2M- взаимодействия. Является стандартом де-факто и поддерживается почти всеми производителями промышленного оборудования.

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

Существует 3 формата протокола Modbus: Modbus RTU, Modbus TCP, Modbus ASCII. Modbus ASCII в природе почти не встречается и по этой причине нам сейчас не интересен.

Modbus TCP предназначен для работы в локальных сетях. Тоже не наш случай.

Modbus RTU наиболее распространенный вариант. Работает поверх RS-485/232. То, что надо. Далее под термином Modbus будет описываться именно это формат.

Так как Modbus предназначен для работы с пром. автоматикой, то и внутренняя структура протокола в первую очередь описывает параметры пром. автоматики, такие как дискретные входы и выходы, аналоговые входы и выходы. Тем, кому этого не хватает (а таких подавляющее большинство) делают свои надстройки над протоколом.

Ниже приведена картинка с описанием и некоторыми терминами из протокола.

Все параметры делятся с одной стороны на входы и выходы. Входы можно только читать, а выходы читать и писать.

С другой стороны, бывают дискретные входы/выходы размером в один бит и 16- битные регистры (что характерно, размером 16 бит).

Для работы с этими четырьмя группами параметров существуют функции чтения и записи.

Например, для чтения дискретных входов используется функция «READ DISCRETE INPUTS» с кодом 2.

В настоящий момент в терминалах УМКа302 реализованы функции чтения всех стандартных типов, такие как 1, 2, 3 и 4.

Кроме того, на протокол Modbus предполагает, что есть устройства с двумя разными ролями:
Master – ведущее устройство, которое опрашивает все остальные устройства. Мастер на шине может быть только один.

Slave – ведомое устройство. Его опрашивает мастер. У каждого ведомого есть адрес в диапазоне от 1 до 247. Ведомых устройств на шине может быть несколько. Адреса ведомых в одной шине должны быть уникальными.


1. Реализация Modbus в терминале УМКа302

Поддержка протокола Modbus для УМКа302 реализована с версии 2.11.0

Терминалы УМКа302 берут на себя роль Master в шине Modbus и опрашивают Slave устройства.
Терминалы УМКа302 поддерживают чтение до 32 параметров. Возможно чтение 32 параметров с одного подключенного Slave устройства, чтение одного параметра с 32 подключенных Slave устройств и все промежуточные комбинации.

Перед началом работы с Modbus необходимо настроить интерфейс. Настройка интерфейса RS-485 производится командой «RS485 8,19200», где 8 – режим Modbus, а 19200 – скорость работы интерфейса.

Далее (хотя это можно сделать и в последнюю очередь), определяем список параметров, которые будут передаваться на сервер. Допустим, у нас 2 устройства, с каждого из которых мы будем снимать по 9 параметров. Кроме того, мы хотим, чтобы между первым и вторым устройством была дырка в 7 параметров на дальнейшее расширение. В этом случаю мы должны включить передачу параметров Modbus и настроить маску передаваемых параметров. Воспользуемся командой «SetMdb 1,0x1FF01FF», где 1 – включить передачу параметров на сервер, а 0x1FF01FF маска передаваемых параметров, полученная с помощью калькулятора.

После перезагрузки на вкладке истории мы должны получить следующее:

На сервер в протоколах Wialon IPS 1.1 и 2.0 параметры передаются с такими же именами, как и на вкладке истории. Т.е. Mdb0- Mdb8, Mdb16- Mdb24.

В протоколе Wialon Combine параметры передаются с типом «Custom Parameters» начиная с параметра 256 по 287. Т.е. Mdb0 передается как param256, Mdb1 передается как param257 и т.д.


2. Пример подключения устройства

После предварительной настройки необходимо выполнить настройку отдельных параметров для работы с конкретным устройством. Для этого необходима так называемая

карта регистров устройства. В ней описываются адреса и типы параметров конкретного устройства.

Возьмем для примера станцию катодной защиты «СИГНАЛ» СКЗ-ИП-Б1. У меня есть для нее эмулятор. Сама станция показана на картинке.

Пример куска карты регистров приведен на рисунке ниже.

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

УМКа302 умеет автоматически строить план опроса Modbus устройств таким образом, чтобы уменьшить количество запросов. Это позволяет значительно сократить время опроса устройства.
Для имитации станции воспользуемся программой-имитатором.
Внешний вид программы приведен на рисунке ниже.

Для настройки параметров служит команда вида «MDBPARAMn [X[,Y[,Z[,A[,B]]]]]», где n – номер параметра от 0 до 31.
X – адрес устройства на шине от 1 до 247 или 0, если опрос отключен.
Y – тип запрос. Про типы запросов ниже.
Z – начальный адрес регистра или входа для выбранного запроса.
A – формула пересчета. Как в CAN-фильтрах.
B – имя параметра. Как в CAN-фильтрах.

Тип запроса Y выбирается из следующих соображений:

Y=0 – функция 1. Чтение 1 бита типа Coils;
Y=1 – функция 2. Чтение 1 бита типа Input Discrete;
Y=2 – функция 3. Чтение 1 регистра типа Holding Registers. Беззнаковое. 0…65535. Y=3 – функция 3. Чтение 1 регистра типа Holding Registers. Знаковое -32768…32767 Y=4 – функция 4. Чтение 1 регистра типа Input Register. Беззнаковое. 0…65535.
Y=5 – функция 4. Чтение 1 регистра типа Input Register. Знаковое -32768…32767
Y=6 – функция 3. Чтение 2 регистров типа Holding Registers. Регистры обрабатываются как float. Младшая половина в младшем регистре (Порядок байт 1023).
Y=7 – функция 4. Чтение 2 регистров типа Input Register. Регистры обрабатываются как float. Младшая половина в младшем регистре (Порядок байт 1023).
Y=8 – функция 3. Чтение 2 регистров типа Holding Registers. Регистры обрабатываются как знаковое целое. Младшая половина в младшем регистре (Порядок байт 1023).
Y=9 – функция 4. Чтение 2 регистров типа Input Register. Регистры обрабатываются как знаковое целое. Младшая половина в младшем регистре (Порядок байт 1023).

Данный список не является полным и будет расширятся по необходимости. В нем приведены только наиболее часто встречающиеся в практике форматы представления данных. Значительно большее их количество встречается от случая к случаю или не встречается в принципе.

Настроем имитатор на работу по 1 адресу. Смотрим карту. Видим следующее:

Настраиваем первые 5 параметров командами:
MdbParam0 1,7,0,,I
MdbParam1 1,7,2,,U
MdbParam2 1,7,4,,PP
MdbParam3 1,7,6,,E
MdbParam4 1,7,8,,Uin

Настраиваем температуру:
MdbParam5 1,5,12,,T

Настраиваем время работы:
MdbParam6 1,9,13,,Twork
MdbParam7 1,9,15,,Tstab

Настраиваем последний параметр
MdbParam8 1,7,18,,SP

Перезагружаем. Смотрим командой «Mdb»

Видим следующее: параметры с 0, 1, 2, 4, 5 отображаются корректно.

Параметр 3 отображается с коэффициентом 3200. Это стандартный коэффициент для счетчика. Введем в настройки терминала формулу пересчета.
MdbParam3 1,7,6,x/3200,E

Параметры 6 и 7 отображаются в секундах. Переведем в часы через формулу пересчета:
MdbParam6 1,9,13,x/3600,Twork
MdbParam7 1,9,15,x/3600,Tstab
Параметр 8 не отображается. Имитатор не поддерживает этот параметр. Видимо параметр появился в карте позже.

Перезагружаем. Смотрим историю.

Опрос настроен. Смотрим результат в системе мониторинга транспорта.

modbus uvp280 – PDF Free Download

Карта регистров вычислителя УВП-280.01

Протоколы Modbus RTU и Modbus/TCP Условные обозначения:     

HR – Modbus Holding register, читается командой 03h, пишется командами 06h, 10h. IR – Modbus Input register, читается командой 04h. Float – 32-х битное число с плавающей запятой по стандарту IEEE-754, располагается в двух смежных регистрах. Чтение и запись параметра нужно выполнять одним запросом во избежание искажения данных. Double – 64-х битное число с плавающей запятой по стандарту IEEE-754, располагается в четырех смежных регистрах. Чтение и запись параметра нужно выполнять одним запросом во избежание искажения данных. Int32 – 32 битное целое число. Чтение и запись параметра необходимо выполнять одним запросом во избежание искажения данных.

 

Int16 – 16 битное целое число. String – строковая переменная.

Настройки интерфейса Регистр 100HR, int16

101HR, int32

110HR, int32 112HR, float 114HR, double

Содержимое Порядок следования байтов для 32-х разрядных данных. Каждая тетрада (четыре бита) обозначают положение считанного или записываемого байта в 32-х разрядном слове. Для изменения порядка следования байтов в слове можно прописывать значения 0123h(значение по умолчанию), 3210h, 1032h, 2301h и т.д. Для каждого интерфейса Modbus RTU Master и подключившегося сервера Modbus/ TCP этот регистр имеет независимое значение. По умолчанию при инициализации прописывается число 0123h. Значение, отличное от значения по умолчанию, необходимо прописывать при каждом старте прибора. Порядок следования байтов для 64-х разрядных данных. Каждая тетрада (четыре бита) обозначают положение считанного или записываемого байта в 64-х разрядном слове. Для изменения порядка следования байтов в слове можно прописывать значения 01234567h(значение по умолчанию), 76543210h, 54761032h, 76542301h и т.д. Для каждого интерфейса Modbus RTU Master и подключившегося сервера Modbus/ TCP этот регистр имеет независимое значение. По умолчанию при инициализации прописывается число 012345678h. Значение, отличное от значения по умолчанию, необходимо прописывать при каждом старте прибора. Контрольная константа. Значение 1234567890. Контрольная константа. Значение 123.4567. Контрольная константа. Значение 123.4567890123456.

Получение расширенного доступа Доступ к некоторым регистрам в режиме записи возможен только после авторизации пользователя. Регистр 200HR, int16 201HR, int32

Содержимое Индекс пользователя 1..5. Чтение регистра не поддерживается. Пароль для доступа пользователя с указанным выше индексом. Чтение регистра не поддерживается. Для сброса авторизации в этот регистр записывают нулевое значение. При попытке записи этого регистра значением, отличным от нуля, чаще 1 раза в 30 секунд, запись значения игнорируется и возвращается

Страница 1 из 17

Карта регистров вычислителя УВП-280.01 203HR, int16

статус ошибки 06 (SLAVE DEVICE BUSY). Действующий уровень доступа. Запись регистра не поддерживается. Доступные значения: 1. Базовый уровень. Наблюдение текущих параметров, параметров среды и значений по последним завершившимся отчетным периодам. 1 Оператор. Возможность модификации параметров среды, запрос архивных данных за произвольный период времени. 2 Наладчик. Возможность управления параметрами узла учета при освобожденном ключе безопасности.

Управление параметрами среды Регистр

Содержимое

Единица измерения мм. рт.ст о С

1000HR, float 1002HR, float

Барометрическое давление Температура холодной воды

1010HR, float 1012HR, float 1014HR, float 1016HR, float 1018HR, int16

Природный газ ГОСТ 30319.2-2015 Плотность кг/м3 Концентрация СО2 мол.% Концентрация N2 мол.% Влажность % Количество ошибок в задании параметров газа по ГОСТ 30319.2

1050HR, float 1052HR, float 1054HR, float 1056HR, float 1058HR, float 1060HR, float 1062HR, float 1064HR, float 1066HR, float 1068HR, int16

1100HR, int16 1101HR, int16 1102HR, float 1104HR, float 1106HR, float 1108HR, float 1110HR, float 1112HR, float 1114HR, float 1116HR, float 1118HR, float 1120HR, float 1122HR, float 1124HR, float 1126HR, float 1128HR, float 1130HR, float 1132HR, int16

Нефть Влажность нефти Вязкость нефти Доля свободного газа Доля растворённого газа Относительная плотность растворённого газа Коэффициент давления Доля механических примесей Концентрация хлористых солей Значение влажности нефти, используемое при отказе датчика(ов) влажности. Начальное значение 0%. Количество ошибок при задании параметров нефти

%об сСт %об %об

%масс. г/м3 %об

Газовая смесь МР113-03 Молярная/массовая концентрация (1/0) Влажность задаётся абсолютным значением/относительной концентрацией (1/0) Концентрация Ch5 мол.% / масс.% Концентрация C2H6 мол.% / масс.% Концентрация C3H8 мол.% / масс.% Концентрация n-C4h20 мол.% / масс.% Концентрация i-C4h20 мол.% / масс.% Концентрация n-C5h22 мол.% / масс.% Концентрация N2 мол.% / масс.% Концентрация CO2 мол.% / масс.% Концентрация h3O мол.% / масс.% Концентрация h3S мол.% / масс.% Концентрация C6h24 мол.% / масс.% Концентрация C7h26 мол.% / масс.% Концентрация O2 мол.% / масс.% Концентрация i-C5h22 мол.% / масс.% Абсолютное значение влажности г/м3 Количество ошибок в задании компонентного состава для методики МР113-03

Страница 2 из 17

Карта регистров вычислителя УВП-280.01 1200HR, int16 1202HR, float 1204HR, float 1206HR, float 1208HR, float 1210HR, float 1212HR, float 1214HR, float 1216HR, float 1218HR, float 1220HR, float 1222HR, float 1224HR, float 1226HR, float 1228HR, float 1230HR, float 1232HR, float 1234HR, float 1236HR, float 1238HR, int16

Газовая смесь МР118-05 Молярная / массовая концентрация (1/0) Концентрация Ch5 мол. % / масс.% Концентрация C2H6 мол.% / масс.% Концентрация C3H8 мол.% / масс.% Концентрация n-C4h20 мол.% / масс.% Концентрация i-C4h20 мол.% / масс.% Концентрация N2 мол.% / масс.% Концентрация CO2 мол.% / масс.% Концентрация n-C5h22 мол.% / масс.% Концентрация i-C5h22 мол.% / масс.% Концентрация C6h24 мол.% / масс.% Концентрация h3 мол.% / масс.% Концентрация О2 мол.% / масс.% Концентрация Ar мол.% / масс.% Концентрация CO мол.% / масс.% Концентрация C2h5 мол.% / масс.% Концентрация Nh4 мол.% / масс.% Концентрация He мол.% / масс.% Концентрация h3S мол.% / масс.% Количество ошибок в задании компонентного состава для методики МР118-05

1250HR, int16 1252HR, float 1254HR, float 1256HR, float 1258HR, float 1260HR, float 1262HR, float 1264HR, float 1266HR, float 1268HR, float 1270HR, float 1272HR, float 1274HR, float 1276HR, float 1278HR, float 1280HR, float 1282HR, float 1284HR, float 1286HR, float 1288HR, float 1290HR, float 1292HR, float 1294HR, int16

Газовая смесь ISO 20765-3 Молярная / массовая концентрация (1/0) Концентрация Ch5 мол. % / масс.% Концентрация C2H6 мол.% / масс.% Концентрация C3H8 мол.% / масс.% Концентрация n-C4h20 мол.% / масс.% Концентрация i-C4h20 мол.% / масс.% Концентрация n-C5h22 мол.% / масс.% Концентрация i-C5h22 мол.% / масс.% Концентрация n-C6h24 мол.% / масс.% Концентрация n-C7h26 мол.% / масс.% Концентрация n-C8h28 мол.% / масс.% Концентрация n-C9h30 мол.% / масс.% Концентрация n-C10h32 мол.% / масс.% Концентрация h3O мол.% / масс.% Концентрация CO мол.% / масс.% Концентрация CO2 мол.% / масс.% Концентрация h3S мол.% / масс.% Концентрация h3 мол.% / масс.% Концентрация N2 мол.% / масс.% Концентрация О2 мол.% / масс.% Концентрация He мол.% / масс.% Концентрация Ar мол.% / масс.% Количество ошибок в задании компонентного состава для методики ISO 20765-3

1300HR, int16 1302HR, float 1304HR, float 1306HR, float 1308HR, float 1310HR, float 1312HR, float 1314HR, float 1316HR, float 1318HR, float 1320HR, float 1322HR, float 1324HR, float

Природный газ ГОСТ P 8.662 Молярная/массовая концентрация (1/0) Концентрация Ch5 Концентрация C2H6 Концентрация C3H8 Концентрация n-C4h20 Концентрация i-C4h20 Концентрация N2 Концентрация CO2 Концентрация h3S Концентрация n-C5h22 Концентрация i-C5h22 Концентрация n-C6h24 Концентрация n-C7h26

мол. % / масс.% мол.% / масс.% мол.% / масс.% мол.% / масс.% мол.% / масс.% мол.% / масс.% мол.% / масс.% мол.% / масс.% мол.% / масс.% мол.% / масс.% мол.% / масс.% мол.% / масс.%

Страница 3 из 17

Карта регистров вычислителя УВП-280.01 1326HR, float 1328HR, float 1330HR, float 1332HR, float 1334HR, float 1336HR, float 1338HR, float 1340HR, float 1342HR, float 1344HR, int16

Концентрация n-C8h28 мол.% / масс.% Концентрация He мол.% / масс.% Концентрация CO мол.% / масс.% Концентрация О2 мол.% / масс.% Концентрация Ar мол.% / масс.% Концентрация h3О мол.% / масс.% Концентрация n-C9h30 мол.% / масс.% Концентрация n-C10h32 мол.% / масс.% Концентрация h3 мол.% / масс.% Количество ошибок в задании компонентного состава для методики ГОСТ Р 8.662

1350HR, int16 1352HR, float 1354HR, float 1356HR, float 1358HR, float 1360HR, float 1362HR, float 1364HR, float 1366HR, float 1368HR, float 1370HR, float 1372HR, float 1374HR, float 1376HR, float 1378HR, float 1380HR, float 1382HR, float 1384HR, int16

Природный газ ГОСТ 30319. 3-2015 Молярная/массовая концентрация (1/0) Концентрация Ch5 мол.% / масс.% Концентрация C2H6 мол.% / масс.% Концентрация C3H8 мол.% / масс.% Концентрация i-C4h20 мол.% / масс.% Концентрация n-C4h20 мол.% / масс.% Концентрация i-C5h22 мол.% / масс.% Концентрация n-C5h22 мол.% / масс.% Концентрация n-C6h24 мол.% / масс.% Концентрация N2 мол.% / масс.% Концентрация CO2 мол.% / масс.% Концентрация He мол.% / масс.% Концентрация h3 мол.% / масс.% Концентрация O2 мол.% / масс.% Концентрация Ar мол.% / масс.% Концентрация n-C7h26 мол.% / масс.% Концентрация n-C8h28 мол.% / масс.% Количество ошибок в задании компонентного состава для методики ГОСТ 30319.3

1400HR, int16 1402HR, float 1404HR, float 1406HR, float 1408HR, float 1410HR, float 1412HR, float 1414HR, float 1416HR, float 1418HR, float 1420HR, float 1422HR, float 1424HR, float 1426HR, int16

Газовая смесь МИ3563-2016 Молярная / массовая концентрация (1/0) Концентрация Ch5 мол.% / масс.% Концентрация C2H6 мол.% / масс.% Концентрация C3H8 мол. % / масс.% Концентрация i-C4h20 мол.% / масс.% Концентрация n-C4h20 мол.% / масс.% Концентрация i-C5h22 мол.% / масс.% Концентрация n-C5h22 мол.% / масс.% Концентрация n-C6h24 мол.% / масс.% Концентрация n-C7h26 мол.% / масс.% Концентрация n-C8h28 мол.% / масс.% Концентрация N2 мол.% / масс.% Концентрация CO2 мол.% / масс.% Количество ошибок в задании компонентного состава для методики МИ3563-2016

1450HR, float 1452HR, float 1454HR, float 1456HR, float 1458HR, float 1460HR, float 1462HR, float 1464HR, int16

Гелиевый концентрат МР232 набор №1 Концентрация He-4 мол.% Концентрация N2 мол.% Концентрация O2 мол.% Концентрация Ar мол.% Концентрация Ne мол.% Концентрация Ch5 мол.% Концентрация h3 мол.% Количество ошибок в задании компонентного состава для методики МР232

Страница 4 из 17

Карта регистров вычислителя УВП-280.01 1470HR, float 1472HR, float 1474HR, float 1476HR, float 1478HR, float 1480HR, float 1482HR, float 1484HR, int16

1800HR, int16 1801HR, int16 1802HR, int16 1803HR, int16 1804HR, int16 1805HR, int16 1009HR, int16

1806HR, int16 1807HR, int16 1808HR, int16 1809HR, int16 1810HR, int32

Гелиевый концентрат МР232 набор №2 Концентрация He-4 мол. % Концентрация N2 мол.% Концентрация O2 мол.% Концентрация Ar мол.% Концентрация Ne мол.% Концентрация Ch5 мол.% Концентрация h3 мол.% Количество ошибок в задании компонентного состава для методики МP232 Встроенные часы реального времени прибора Текущее время УВП, день, только чтение Текущее время УВП, месяц, только чтение Текущее время УВП, год, только чтение Текущее время УВП, часы, только чтение Текущее время УВП, минуты, только чтение Текущее время УВП, секунды, только чтение Перевод текущего времени прибора на величину до 99 секунд вперёд или назад. Для перевода на 15 секунд вперёд, нужно записать число 1515dec. Для перевода на 24 секунды назад, нужно записать число -2424dec. Идентификаторы и флаги Маска описанных трубопроводов. Младший бит соответствует первому Трубопроводу Номер версии встроенного ПО. Дата сборки встроенного ПО. Месяц*100 + день Год сборки встроенного ПО. Серийный номер прибора.

Текущие параметры на измерительных трубопроводах (2000+(ТП№-1)*100+0)IR, float (2000+(ТП№-1)*100+2)IR, float (2000+(ТП№-1)*100+4)IR, float (2000+(ТП№-1)*100+6)IR, float (2000+(ТП№-1)*100+8)IR, float (2000+(ТП№-1)*100+10)IR, float (2000+(ТП№-1)*100+12)IR, float (2000+(ТП№-1)*100+14)IR, float (2000+(ТП№-1)*100+16)IR, float (2000+(ТП№-1)*100+18)IR, float (2000+(ТП№-1)*100+20)IR,int32 (2000+(ТП№-1)*100+22)IR,int32 (2000+(ТП№-1)*100+24)IR, float (2000+(ТП№-1)*100+26)IR, float (2000+(ТП№-1)*100+28)IR, float (2000+(ТП№-1)*100+30)IR, float (2000+(ТП№-1)*100+32)IR, float (2000+(ТП№-1)*100+34)IR, int16 (2000+(ТП№-1)*100+35)IR, int16 (2000+(ТП№-1)*100+36)IR, float (2000+(ТП№-1)*100+38)IR, float (2000+(ТП№-1)*100+40)IR, float (2000+(ТП№-1)*100+42)IR, float (2000+(ТП№-1)*100+44)IR, float

Текущие параметры трубопроводов Избыточное давление Абсолютное давление Температура Энтальпия Массовый расход Масса (*) Объём в рабочих условиях(*) Объём в стандартных условиях(*) Тепловая мощность Тепловая энергия (*) Время штатной работы (*) Время нештатных ситуаций (*) Параметр датчика расхода/количества (массовый расход) Параметр датчика расхода/количества (объёмный расход в р. у.) Параметр датчика расхода/количества (объёмный расход в ст.у.) Параметр датчика расхода/количества (масса) (*) Параметр датчика расхода/количества (объём в р.у.) (*) Количество ошибок на трубопроводе Уровень критичности ошибок трубопровода Плотность среды в стандартных условиях Плотности измеряемой среды в рабочих условиях Перепад давления для трубопроводов на СУ Объемный расход в ст.у. Объемный расход в р.у.

Па Па о С Дж/кг кг/с кг м3(р.у) м3(ст.у) Вт Дж Сек Сек кг/с м3(р.у)/с м3(ст.у)/с кг м3(р.у)

кг/м3(ст.у) кг/м3(р.у) Па м3(ст.у)/с м3(р.у)/с

Страница 5 из 17

Карта регистров вычислителя УВП-280.01 –Количественные показатели за предыдущий час или 2 часа (**) (2000+(ТП№-1)*100+60)IR, float Масса кг (2000+(ТП№-1)*100+62)IR, float Объём в рабочих условиях м3(р.у) (2000+(ТП№-1)*100+64)IR, float Объём в стандартных условиях м3(ст.у) (2000+(ТП№-1)*100+66)IR, float Параметр датчика расхода/количества (масса) Кг (2000+(ТП№-1)*100+68)IR, float Параметр датчика расхода/количества (объём в р. у.) м3(р.у) –Состояние накопительных параметров на момент окончания предыдущего часа или 2-х часов (**) (2000+(ТП№-1)*100+70)IR, float Масса (*) Кг (2000+(ТП№-1)*100+72)IR, float Объём в рабочих условиях (*) м3(р.у) (2000+(ТП№-1)*100+74)IR, float Объём в стандартных условиях (*) м3(ст.у) (2000+(ТП№-1)*100+76)IR, float Параметр датчика расхода/количества (масса) (*) Кг (2000+(ТП№-1)*100+78)IR, float Параметр датчика расхода/количества (объём в р.у.) (*) м3(р.у) –Количественные показатели за предыдущие сутки (**) (2000+(ТП№-1)*100+80)IR, float Масса Кг (2000+(ТП№-1)*100+82)IR, float Объём в рабочих условиях м3(р.у) (2000+(ТП№-1)*100+84)IR, float Объём в стандартных условиях м3(ст.у) (2000+(ТП№-1)*100+86)IR, float Параметр датчика расхода/количества (масса) Кг (2000+(ТП№-1)*100+88)IR, float Параметр датчика расхода/количества (объём в р.у.) м3(р.у) –Состояние накопительных параметров на момент окончания предыдущих суток (**) (2000+(ТП№-1)*100+90)IR, float Масса (*) Кг (2000+(ТП№-1)*100+92)IR, float Объём в рабочих условиях (*) м3(р. у) (2000+(ТП№-1)*100+94)IR, float Объём в стандартных условиях (*) нм3(ст.у) (2000+(ТП№-1)*100+96)IR, float Параметр датчика расхода/количества (масса) (*) Кг (2000+(ТП№-1)*100+98)IR, float Параметр датчика расхода/количества (объём в р.у.) (*) м3(р.у) (*) накопительный параметр, значение просуммировано с момента обнуления интеграторов трубопровода. (**) кратность часового архива и отчетный час суток устанавливается в формате вывода для каждого трубопровода.

Состояние логических Входов Текущие выходные значения логических входов (4000+(Лог.Вх.№-1)*4+0)IR, float Значение логического входа в описанных для него единицах измерения. (4000+(Лог.Вх.№-1)*4+2)IR,int16 Слово статуса логического входа Бит 0 – значение описано константой; Бит 1 – параметр вышел за нижнюю уставку; Бит 2 – параметр вышел за верхнюю уставку; Бит 3 – значение было заменено на резервное; Бит 4 – параметр вышел за низ номинального диапазона; Бит 5 – параметр вышел за верх номинального диапазона; Бит 6 – обрыв датчика; Бит 7 – короткое замыкание датчика; Бит 8 – некорректная полярность включения датчика; Бит 9 – нет связи с датчиком по протоколу Modbus RTU; Бит 10 – нет связи с ПИК-УВП (4000+(Лог. Вх.№-1)*4+3)IR,int16 Резерв

Чтение архивов Чтение архивов УВП-280.01 реализовано в виде запроса накопленных данных за выбираемый пользователем период времени. Архивы прибора строятся на минутных записях, что позволяет в случае необходимости собирать данные по периодам времени от минуты до 5 суток. Так как УВП-280.01 имеет несколько интерфейсов на которых может функционировать протокол Modbus, то для предотвращения искажения данных при одновременном чтении архивов был реализован механизм разделения запросов и сформированных прибором ответов. Механизм представляет собой разделение содержимого регистров

Страница 6 из 17

Карта регистров вычислителя УВП-280.01 работы с архивами при обращении по разным интерфейсам УВП-280.01. Данные запрошенные по интерфейсу RS232-1 будут доступны только по интерфейсу RS232-1. Запросы архивных данных, сформированные по другим интерфейсам, не будут искажены. Одновременные запросы будут выполнены без искажений. Единственное ограничение – время хранения результата запроса составляет 300 секунд. По прошествии этого времени с момента выполнения запроса, результат уничтожается, что отражается в статусе запроса. Протоколу Modbus/TCP выделено 17 адресов, на которые он может отвечать серверу (0 – 16), для каждого адреса используется выше описанный механизм разделения данных с другими адресами Modbus/TCP и с интерфейсами на последовательных портах. Алгоритм получения архивных данных состоит из трёх пунктов:   

Запись запроса в регистры 7900-7914. Ожидание готовности данных путем периодического чтения регистра статуса 8000HR. Чтение строки результата из регистров (8002-:-9999)HR

Запрос формируется путём записи в специализированные регистры 7900, int16

Идентификатор запроса, будет доступен в результате. Может применяется для определения соответствия ответа и запроса. 7901, int16 Номер трубопровода 7902, int16 Начальное время, день 7903, int16 Начальное время, месяц 7904, int16 Начальное время, год 7905, int16 Начальное время, часы 7906, int16 Начальное время, минуты 7907, int16 Начальное время, секунды 7908, int16 Конечное время, день 7909, int16 Конечное время, месяц 7910, int16 Конечное время, год 7911, int16 Конечное время, часы 7912, int16 Конечное время, минуты 7913, int16 Конечное время, секунды 7914, int16 Опции форматирования результата. При записи в этот регистр запускается сбор данных за указанный период времени. Бит 0: «1» – выдавать единицы измерения, заданные пользователем через формат вывода соответствующего трубопровода «0» – выдавать все параметры в стандартных единицах измерения Бит 1: «1» – выдавать для всех параметров информацию из шапки формы архива. Бит 2: «1» – выдавать тэги для параметров Бит 3: «1» – выдавать максимальное количество знаков для значений с плавающей запятой и время в секундах. Остальные биты зарезервированы и должны заполняться нулями. Чтение регистров из таблицы не поддерживается. Запись может выполняться как через запись одиночных регистров (Preset Single Register, FC=06dec), так и через групповую запись (Preset Multiple Registers, FC=16dec). Регистр опций должен быть записан последним, так как запрос начинает выполняться сразу после записи этого регистра.

Архивы в вычислителе УВП-280.01 формируются на базе минутных архивов. При запросе данных за больший промежуток времени УВП-280. 01 производит суммирование всех представленных в минутном архиве параметров и вычисление разницы для накапливаемых параметров. При заказе данных за большие промежутки необходимо учитывать, что подготовка данных для промежутка в одни сутки происходит около секунды. При заказе данных за значительные промежутки времени может произойти прекращение сбора данных по таймауту. Если необходимо получить значение среза накапливаемых параметров, то в регистры конечного времени запроса (регистры 7908-7913) необходимо прописать нулевые значения. В этом случае в архиве будет найдена первая запись от начального времени (регистры 7902-7907), которая без вычисления разницы для накапливаемых параметров будет выдана в регистрах 8003-9999.

Страница 7 из 17

Карта регистров вычислителя УВП-280.01 Для отслеживания состояния готовности данных необходимо периодически производить чтение регистра статуса запроса по адресу 8000HR. Регистр статуса запроса в зависимости от состояния может иметь следующие значения: 0 – результат запроса уничтожен по таймауту или запрос не был воспринят вычислителем; 1 – идет сбор данных; 2 – данные готовы и могут быть получены по адресам (8002-:-9999) HR; 3 – за выбранный промежуток времени в архиве нет ни одной записи; 4 – ошибка в начальном времени, дата или время некорректны; 5 – ошибка в конечном времени, дата или время некорректны; 6 – ошибка в задании номера трубопровода; 7 – выбран слишком большой период для сбора данных, сбор данных продолжался больше 15 секунд; Время выполнения запроса зависит от выбранного периода и может составлять до нескольких секунд. В случае, если предыдущий запрос архивных данных выполняется, то попытки записи нового запроса в регистры 7900-7914 будут отклонены с ошибкой MODBUS 06 (SLAVE DEVICE BUSY)

8000, int16 Статус запроса 8001, int16 Идентификатор запроса, копируется из запроса для контроля соответствия ответа запросу 8002, int16 Длина строки с данными в байтах, включая нулевой завершающий байт. 8003-9999, String Строка с результатом сбора информации из архива прибора. Срока с результатом запроса представляет собой следующую структуру: [тэг параметра 1][{информация из шапки формы архива}]= [ значение – значение]; [тэг параметра 2][{информация из шапки формы архива}]= [ значение] [единица измерения]; … [тэг параметра N][{информация из шапки формы архива}]= [ значение] [единица измерения];[нулевой символ] тэг параметра – короткое уникальное имя параметра, состоит из латинских букв и цифр, может использоваться для индексации параметров. информация из шапки формы архива – строка, помещаемая в шапку таблицы при выводе отчетных форм УВП-280. 01, не содержит информацию о единице измерения параметра, заключается в фигурные скобки. значение – значение параметра в виде строки. Для первого параметра – это две записи времени, разделенные знаком «-», они показывают период времени за который собирались данные, отображаемые в данной структуре. Диапазон времени в ответе может различаться с запрашиваемым, так как результат выравнивается на записи, реально присутствующие в архиве прибора. единица измерения – текстовая запись единицы измерения, следует без пробела после значения. Параметры разделяются символом «;»(точка с запятой), конец записи обозначается символом с нулевым кодом ( стандарт ANSI strings ).

Чтение карты параметров Карта параметров трубопровода и настройки логических входов могут быть получены в строковом виде. Для запроса строк карты параметров трубопровода необходимо прописать в регистр 7600 кодовое слово, состоящее из номера трубопровода и индекса строки в карте. Аналогичным образом через регистр 7601 запрашиваются данные по логическим входам. Сразу по завершении операции записи имя параметра и значение параметра могут быть считаны в строковом виде из регистров 7700… и 7800… соответственно. Для запросов карты параметров также функционирует режим разделения данных по интерфейсам и запрашивающим клиентам. Каждый интерфейс имеет собственную копию набора регистров, что обеспечивает возможность нескольким клиентам одновременно получать данные из одних и тех же регистров не мешая друг другу.

Страница 8 из 17

Карта регистров вычислителя УВП-280.01 7600 HR, int16

7601 HR, int16

7700 HR-7770 HR, ANSI string[140] 7800 HR-7870 HR, ANSI string[140]

Запрос параметров описания трубопровода. Старшие 8 бит – номер трубопровода младшие 8 бит – индекс запрашиваемой строки, ноль соответствует первой строке. После записи в этот регистр обновятся значения регистров 7700… и 7800… Запрос параметров описания трубопровода. Старшие 8 бит – номер логического входа младшие 8 бит – индекс запрашиваемой строки, ноль соответствует первой строке. После записи в этот регистр обновятся значения регистров 7700… и 7800… Название запрошенного параметра. Если заказанный параметр отсутствует или запрошен некорректный номер трубопровода или логического входа, строка будет иметь нулевую длину, в первой позиции будет находиться символ с кодом 0 (конец строки) Значение запрошенного параметра. Если заказанный параметр отсутствует или запрошен некорректный номер трубопровода или логического входа, строка будет иметь нулевую длину, в первой позиции будет находиться символ с кодом 0 (конец строки)

Страница 9 из 17

Карта регистров вычислителя УВП-280.01 Текущие параметры СИКН

3900 IR, float 3902 IR, float 3904 IR, float 3906 IR, double 3910 IR, float 3912 IR, double 3916 IR, float 3918 IR, double

СИКН

3800 IR, float 3802 IR, float 3804 IR, float 3806 IR, double 3810 IR, float 3812 IR, double 3816 IR, float 3818 IR, double 3822 IR, float

БИК

3700 IR, float 3702 IR, float 3704 IR, float 3706 IR, double 3710 IR, float 3712 IR, double 3716 IR, float 3718 IR, double 3722 IR, float

Давление Температура Плотность в р. у. Плотность в ст.у. при 15 оС Плотность в ст.у. при 20 оС Влагосодержание, объёмная доля Влагосодержание, массовая доля Вязкость Объемный расход брутто Массовый расход брутто Признак используемого влагомера: 1 –основной, 2 – резервный, 0 – резервная константа

МПа С кг/ м3 кг/ м3 кг/ м3 % % сСт м3/ч т/ч

Линия 1

3600 IR, float 3602 IR, float 3604 IR, float 3606 IR, double 3610 IR, float 3612 IR, double 3616 IR, float 3618 IR, double 3622 IR, float

т т/ч т т/ч м3 м3/ч

Давление Температура Плотность в р.у. Масса брутто Массовый расход брутто Масса нетто Массовый расход нетто Объем брутто Объемный расход брутто

МПа С кг/ м3 т т/ч т т/ч м3 м3/ч

Линия 2

3550 IR, float 3552 IR, float 3554 IR, float 3556 IR, float 3558 IR, float 3560 IR, float 3562 IR, float 3564 IR, float 3566 IR, float 3568 IR, float 3570 IR, int16

Масса брутто Массовый расход брутто Масса нетто Массовый расход нетто Объем брутто Объемный расход брутто

Давление Температура Плотность в р. у. Масса брутто Массовый расход брутто Масса нетто Массовый расход нетто Объем брутто Объемный расход брутто

МПа С кг/ м3 т т/ч т т/ч м3 м3/ч

Давление Температура Плотность в р.у. Масса брутто Массовый расход брутто Масса нетто Массовый расход нетто Объем брутто Объемный расход брутто

МПа С кг/ м3 т т/ч т т/ч м3 м3/ч

Давление Температура Плотность в р.у. Масса брутто Массовый расход брутто Масса нетто Массовый расход нетто Объем брутто

МПа С кг/ м3 т т/ч т т/ч м3

Линия 4

3500 IR, double 3504 IR, float 3506 IR, double 3510 IR, float 3512 IR, double 3516 IR, float

Линия 3

Указанные ниже регистры доступны только для систем учета нефти. Данные выдаются только для первой группы трубопроводов, описанной как СИКН.

о

о

о

о

о

Страница 10 из 17

Карта регистров вычислителя УВП-280.01 3922 IR, float

Объемный расход брутто

м3/ч

Страница 11 из 17

Карта регистров вычислителя УВП-280. 01 Данные СИКН по последним закончившимся периодам Адреса смещений для получения данных в зависимости от типа периода: Последний закончившийся Часовой/двухчасовой Последний закончившийся Сменный Последний закончившийся Суточный

BASE=15000 IR BASE=15500 IR BASE=16000 IR

Данные в описанных ниже регистрах обновляются в первые минуты нового отчётного периода. В момент обновления при чтении этих регистров УВП будет возвращать ошибку Modbus Salve Device busy = 06. Максимальное время выполнения обновления параметров: Часового/двухчасового периода – 1 секунда; Сменного периода – 2 секунды; Суточного периода – 4 секунды.

МПа С кг/ м3 кг/ м3 кг/ м3 % % сСт т/ч т т т т т т т м3 м3 м3 м3 м3

(BASE+80) IR, float (BASE+82) IR, float (BASE+84) IR, float (BASE+86) IR, float (BASE+88) IR, float

Давление (*) Температура (*) Плотность в р.у. (*) Плотность в ст.у. при 15 оС(*) Плотность в ст.у. при 20 оС(*)

МПа С кг/ м3 кг/ м3 кг/ м3

Давление (**) Температура (**) Плотность в р. у. (**)

о

(BASE+100) IR, float (BASE+102) IR, float (BASE+104) IR, float

БИК

СИКН

Раскладка регистров СИКН для всех типов отчётных периодов (BASE+0) IR, uint32 Уникальное значение, определяющее набор значений. Применять для установления факта обновления данных. Значение равное нулю появляется в момент обновления данных. (BASE+2) IR, int16 Время начала периода, день (BASE+3) IR, int16 Время начала периода, месяц (BASE+4) IR, int16 Время начала периода, год (BASE+5) IR, int16 Время начала периода, часы (BASE+6) IR, int16 Время начала периода, минуты (BASE+7) IR, int16 Время начала периода, секунды (BASE+8) IR, int16 Время окончания периода, день (BASE+9) IR, int16 Время окончания периода, месяц (BASE+10) IR, int16 Время окончания периода, год (BASE+11) IR, int16 Время окончания периода, часы (BASE+12) IR, int16 Время окончания периода, минуты (BASE+13) IR, int16 Время окончания периода, секунды (BASE+14) IR, float Давление (*) (BASE+16) IR, float Температура (*) (BASE+18) IR, float Плотность в р. у. (*) (BASE+20) IR, float Плотность в ст.у. при 15 оС (*) (BASE+22) IR, float Плотность в ст.у. при 20 оС (*) (BASE+24) IR, float Влагосодержание, объемная доля (*) (BASE+26) IR, float Влагосодержание, массовая доля (*) (BASE+28) IR, float Вязкость (*) (BASE+30) IR, float Расход брутто(масса) (BASE+32) IR, double Масса брутто (BASE+36) IR, double Масса брутто на начало периода (BASE+40) IR, double Масса брутто на конец периода (BASE+44) IR, double Масса нетто (BASE+48) IR, double Масса нетто на начало периода (BASE+52) IR, double Масса нетто на конец периода (BASE+56) IR, double Масса балласта (BASE+60) IR, double Объем брутто (BASE+64) IR, double Объем брутто при 15 оС (BASE+68) IR, double Объем брутто при 20 оС (BASE+72) IR, double Объем брутто на начало периода (BASE+76) IR, double Объем брутто на конец периода

о

о

МПа С кг/ м3

Страница 12 из 17

(BASE+400) IR, float (BASE+402) IR, float (BASE+404) IR, float (BASE+406) IR, float (BASE+408) IR, double (BASE+412) IR, double (BASE+416) IR, double (BASE+420) IR, double (BASE+424) IR, double (BASE+428) IR, double (BASE+432) IR, double (BASE+436) IR, double (BASE+440) IR, double (BASE+444) IR, double (BASE+448) IR, double

Линия 2

(BASE+300) IR, float (BASE+302) IR, float (BASE+304) IR, float (BASE+306) IR, float (BASE+308) IR, double (BASE+312) IR, double (BASE+316) IR, double (BASE+320) IR, double (BASE+324) IR, double (BASE+328) IR, double (BASE+332) IR, double (BASE+336) IR, double (BASE+340) IR, double (BASE+344) IR, double (BASE+348) IR, double (BASE+352) IR, double

т/ч Т Т Т Т Т Т Т м3 м3 м3 м3 м3

Давление (**) Температура (**) Плотность в р. у. (**) Расход брутто(масса) Масса брутто Масса брутто на начало периода Масса брутто на конец периода Масса нетто Масса нетто на начало периода Масса нетто на конец периода Масса балласта Объем брутто Объем брутто при 15 оС Объем брутто при 20 оС Объем брутто на начало периода Объем брутто на конец периода

МПа С кг/ м3 т/ч т т т т т т т м3 м3 м3 м3 м3

Линия 3

(BASE+200) IR, float (BASE+202) IR, float (BASE+204) IR, float (BASE+206) IR, float (BASE+208) IR, double (BASE+212) IR, double (BASE+216) IR, double (BASE+220) IR, double (BASE+224) IR, double (BASE+228) IR, double (BASE+232) IR, double (BASE+236) IR, double (BASE+240) IR, double (BASE+244) IR, double (BASE+248) IR, double (BASE+252) IR, double

Расход брутто(масса) Масса брутто Масса брутто на начало периода Масса брутто на конец периода Масса нетто Масса нетто на начало периода Масса нетто на конец периода Масса балласта Объем брутто Объем брутто при 15 оС Объем брутто при 20 оС Объем брутто на начало периода Объем брутто на конец периода

Давление (**) Температура (**) Плотность в р. у. (**) Расход брутто(масса) Масса брутто Масса брутто на начало периода Масса брутто на конец периода Масса нетто Масса нетто на начало периода Масса нетто на конец периода Масса балласта Объем брутто Объем брутто при 15 оС Объем брутто при 20 оС Объем брутто на начало периода Объем брутто на конец периода

МПа С кг/ м3 т/ч т т т т т т т м3 м3 м3 м3 м3

Давление (**) Температура (**) Плотность в р.у. (**) Расход брутто(масса) Масса брутто Масса брутто на начало периода Масса брутто на конец периода Масса нетто Масса нетто на начало периода Масса нетто на конец периода Масса балласта Объем брутто Объем брутто при 15 оС Объем брутто при 20 оС Объем брутто на начало периода

МПа С кг/ м3 т/ч т т т т т т т м3 м3 м3 м3

Линия 4

(BASE+106) IR, float (BASE+108) IR, double (BASE+112) IR, double (BASE+116) IR, double (BASE+120) IR, double (BASE+124) IR, double (BASE+128) IR, double (BASE+132) IR, double (BASE+136) IR, double (BASE+140) IR, double (BASE+144) IR, double (BASE+148) IR, double (BASE+152) IR, double

Линия 1

Карта регистров вычислителя УВП-280. 01

о

о

о

Страница 13 из 17

Карта регистров вычислителя УВП-280.01 (BASE+452) IR, double Объем брутто на конец периода (*) значение является средневзвешенным по массе/объему на всех активных линиях СИКН (**) значение является средневзвешенным по массе/объему соответствующей линии

м3

Чтение архивов СИКН запросом по произвольной метке времени 17000 HR, uint16 17001 HR, uint16 17002 HR, uint16 17003 HR, uint16 17004 HR, uint32 17006 HR, uint16

17007 HR, uint16

День Месяц Год Час Идентификатор запроса. Задается пользователем для сопоставления запросов полученных данных. Значение копируется в регистр (BASE+0), находящийся в блоке данных. Тип архива 1 – часовой; 2 – двухчасовой; 3 – сменный; 4 – суточный. При записи в этот регистр начинается сбор данных по выбранному периоду. Готовность данных 0 – данные уничтожены по таймауту или запрос не принят к выполнению; 1 – идет сбор данных; 2 – данные готовы и могут быть получены из блока архивных данных СИКН со смещением BASE=16500 IR. 3 – за выбранный промежуток времени в архиве нет ни одной записи; 4 – ошибка в задании промежутка времени, дата или время некорректны; 5 – ошибка в задании промежутка времени, дата или время некорректны; 6 – нет трубопроводов, сконфигурированных в качестве СИКН

Управление СИКН Регистры доступны для записи только в режиме доступа «Наладчик».

17250 HR, float 17252 HR, float 17254 HR, float 17256 HR, float 17258 HR, float 17260 HR, float 17262 HR, float 17264 HR, float 17266 HR, float 17268 HR, float 17270 HR, float

Поточный плотномер

17200 HR, float 17202 HR, float 17204 HR, float 17206 HR, float 17208 HR, float 17210 HR, float 17212 HR, float 17214 HR, float 17216 HR, float 17218 HR, float

Маска отключения линий СИКН. Младший бит соответствует Линии №1, четвертый бит – Линии №4. Например, для отключения линий №2 и №4 в этот регистр необходимо записать число 10, для отключения линии №3 – число 8. Бит 6 с маской 64 управляет приоритетом использования данных от влагомеров при дублирующем включении. Установка бита в «1» приводит к использованию значений с резервного канала. Коэффициент К0 Коэффициент К1 Коэффициент К2 Коэффициент К18 Коэффициент К19 Коэффициент К20А Коэффициент К20В Коэффициент К21А Коэффициент К21В Текущее значение плотности. При задании плотности константой поддерживается запись значения. M-фактор К-фактор для датчиков без ГХ К-фактор при F1 Частота F1 К-фактор при F2 Частота F2 К-фактор при F3 Частота F3 К-фактор при F4 Частота F4 К-фактор при F5 БИК

17100 HR, uint16

Страница 14 из 17

линия 2 линия 3 линия 4

17272 HR, float 17274 HR, float 17276 HR, float 17300 HR, float 17302 HR, float 17304 HR, float 17306 HR, float 17308 HR, float 17310 HR, float 17312 HR, float 17314 HR, float 17316 HR, float 17318 HR, float 17320 HR, float 17322 HR, float 17324 HR, float 17326 HR, float 17400 HR, float 17402 HR, float 17404 HR, float 17406 HR, float 17408 HR, float 17410 HR, float 17412 HR, float 17414 HR, float 17416 HR, float 17418 HR, float 17420 HR, float 17422 HR, float 17424 HR, float 17426 HR, float 17500 HR, float 17502 HR, float 17504 HR, float 17506 HR, float 17508 HR, float 17510 HR, float 17512 HR, float 17514 HR, float 17516 HR, float 17518 HR, float 17520 HR, float 17522 HR, float 17524 HR, float 17526 HR, float 17600 HR, float 17602 HR, float 17604 HR, float 17606 HR, float 17608 HR, float 17610 HR, float 17612 HR, float 17614 HR, float 17616 HR, float 17618 HR, float 17620 HR, float 17622 HR, float 17624 HR, float 17626 HR, float

1 линия

Карта регистров вычислителя УВП-280. 01 Частота F5 К-фактор при F6 Частота F6 M-фактор К-фактор для датчиков без ГХ К-фактор при F1 Частота F1 К-фактор при F2 Частота F2 К-фактор при F3 Частота F3 К-фактор при F4 Частота F4 К-фактор при F5 Частота F5 К-фактор при F6 Частота F6 M-фактор К-фактор для датчиков без ГХ К-фактор при F1 Частота F1 К-фактор при F2 Частота F2 К-фактор при F3 Частота F3 К-фактор при F4 Частота F4 К-фактор при F5 Частота F5 К-фактор при F6 Частота F6 M-фактор К-фактор для датчиков без ГХ К-фактор при F1 Частота F1 К-фактор при F2 Частота F2 К-фактор при F3 Частота F3 К-фактор при F4 Частота F4 К-фактор при F5 Частота F5 К-фактор при F6 Частота F6 M-фактор К-фактор для датчиков без ГХ К-фактор при F1 Частота F1 К-фактор при F2 Частота F2 К-фактор при F3 Частота F3 К-фактор при F4 Частота F4 К-фактор при F5 Частота F5 К-фактор при F6 Частота F6

Страница 15 из 17

Карта регистров вычислителя УВП-280.01 Управление КМХ 18000 HR, uint16

Номер трубопровода для назначения в качестве эталонной линии Допускает запись значений 1. .10 18001 HR, uint16 Номер трубопровода для назначения в качестве контролируемой линии Допускает запись значений 1..10 18002 HR, uint32 Количество импульсов для контроля. Пользователем может быть записано число 1..16777215 18004 HR, uint32 Количество успешно завершенных КМХ. Увеличивается на единицу при завершении КМХ. В этот регистр пользователем может быть записано произвольное значение. 18006 HR, uint32 Команда запуска/прерывания КМХ. Запуск производится при записи числа 123456(dec) . Прерывание – при записи числа 234567(dec). 18010 HR, float Эталонная линия Давление(*) МПа 18012 HR, float Контролируемая линия Давление(**) МПа 18014 HR, float Эталонная линия Температура(*) оС 18016 HR, float Контролируемая линия Температура(**) оС 18018 HR, float Эталонная линия Плотность нефтяной жидкости в р.у.(*) кг/ м3 18020 HR, float Контролируемая линия Плотность нефтяной жидкости в р.у.(**) кг/ м3 18022 HR, float Эталонная линия Массовый (объемный) расход брутто(*) т/ч (м3/ч) 18024 HR, float Контролируемая линия Массовый (объемный) расход брутто(**) т/ч (м3/ч) 18026 HR, float Эталонная линия Частота с датчика(*) Гц 18028 HR, float Контролируемая линия Частота с датчика(**) Гц 18030 HR, float Эталонная линия Объем брутто м3 18032 HR, float Контролируемая линия Объем брутто м3 18034 HR, float Эталонная линия Масса брутто т 18036 HR, float Контролируемая линия Масса брутто т 18038 HR, float Эталонная линия Число импульсов 18040 HR, float Контролируемая линия Число импульсов 18042 HR, float Отклонение массы(объема) от эталонной линии % 18044 HR, float М-фактор для контролируемой линии 18046 HR, float Выполнено в текущем КМХ % (*) значение является средневзвешенным по массе/объёму эталонной линии (**) значение является средневзвешенным по массе/объёму контролируемой линии

Управление отборником проб. Для управления устройством отбора проб может быть использовано до двух входов (ALARM1 и ALARM2). Каждое устройство может быть сконфигурировано как выдающее управляющие сигналы по заранее заданному временному интервалу, либо по заданному количеству нефти, прошедшей через узел учета. Управление параметрами работы пробоотборника доступно через следующие регистры протокола Modbus. Регистры конфигурации пробоотборного устройства на выходе ALARM1 18500 HR, Int16

18501 HR, Int16 18502 HR, Int32 18504 HR, Float

Конфигурация алгоритма работы. Регистр только для чтения. Значение = 100 – пробоотборник, работающий по временному интервалу (режим Т). Значение = 200 – пробоотборник, выдающий импульс по прохождению через узел учета заданного количества нефти (режим М). Любое другое значение – пробоотборник отключен. Длительность импульса в миллисекундах Количество проб. Уменьшающийся счётчик. При достижении нулевого значения выдача импульсов прекращается. Для режима Т – период следования импульсов в секундах. Для режима М – удельный вес импульса. Единица измерения соответствует заданной в формате вывода для массы брутто.

Регистры конфигурации пробоотборного устройства на выходе ALARM2 18600 HR, Int16

Конфигурация алгоритма работы. Регистр только для чтения.

Страница 16 из 17

Карта регистров вычислителя УВП-280.01

18601 HR, Int16 18602 HR, Int32 18604 HR, Float

Значение = 100 – пробоотборник, работающий по временному интервалу (режим Т). Значение = 200 – пробоотборник, выдающий импульс по прохождению через узел учета заданного количества нефти (режим М). Любое другое значение – пробоотборник отключен. Длительность импульса в миллисекундах Количество проб. Уменьшающийся счётчик. При достижении нулевого значения выдача импульсов прекращается. Для режима Т – период следования импульсов в секундах. Для режима М – удельный вес импульса. Единица измерения соответствует заданной в формате вывода для массы брутто.

При записи в регистр 18502HR или 18504HR обнуляется и запускается счетчик времени (режим Т) или массы (режима М) для соответствующего пробоотборника на выходе ALARM1. Для пробоотборника на выходе ALARM2 эту функцию выполняют регистры 18602HR или 18604HR

Страница 17 из 17

Преобразователь адресов регистров протокола MODBUS RTU ПАРМ-1

Преобразователь ПАРМ-1 предназначен для преобразования адресов регистров Mobus RTU следующим образом:

 

 
Номер функции Входящая адресация регистров Выходящая адресация регистров
01 0000-9999 0000-9999
02 0000-9999 10000-19999
03 0000-9999 40000-49999
04 0000-9999 30000-39999
05 0000-9999 0000-9999
06 0000-9999 40000-49999
15 0000-9999 0000-9999
16 0000-9999 40000-49999

По запросу может быть реализована любая таблица перекодировки

Связь между MASTER и SLAVE на физическом уровне осуществляется с использованием интерфейса RS485.

Режимы работы

В процессе работы устанавливается связь между портами Port1 и Port 3, а так же между портами Port 2 и Port4.

Скорость передачи данных

Преобразователь ПАРМ-1 может работать на следующих скоростях: 4800, 9600, 19200, 38400, 57600 и 115200 бит/сек.

Рис.1 Функциональная схема подключения ПАРМ-1

Рис.2 Электрическая схема ПАРМ-1

Крепление на DIN рейку

Рис.3 Габаритные размеры

tr>11А RS485 Port 4

 
Назначение контактов
Номер контакта Назначение
1 +24В
2 -24В
3 А RS485 Port 1
4 В RS485 Port 1
5 А RS485 Port 2
6 В RS485 Port 2
7 А RS485 Port 3
8 В RS485 Port 3
9 Не используется
10 Не используется
11 А RS485 Port 4
12 В RS485 Port 4

 

Изготавливается согласно ТУ 26. 51.44–001–40231413–2019

О Modbus | Простое программное обеспечение Modbus

 

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

Что такое Modbus?

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

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

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

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

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

Что такое CRC?

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

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

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

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

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

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

Как работает 2-байтовая адресация?

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

Что такое Enron Modbus?

Что еще?

 

Что такое Modbus?

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

Официальную спецификацию Modbus можно найти по адресу modbus.org/specs.php.

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

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

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

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

>

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

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

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

0000 = 0 0100 = 4 1000 = 8 1100 = С
0001 = 1 0101 = 5 1001 = 9 1101 = Д
0010 = 2 0110 = 6 1010 = А 1110 = Е
0011 = 3 0111 = 7 1011 = В 1111 = Ф

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

Что такое ASCII?

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

десятичный
(основание 10)
двоичный
(основание 2)
Шестигранник
(основание 16)
ASCII
(основание 256)
0 0000 0000 00 ноль
1 0000 0001 01
34 0010 0010 22 #
35 0010 0011 23 $
36 0010 0100 24 %
47 0010 1111 2F /
48 0011 0000 30 0
49 0011 0001 31 1
56 0011 1000 38 8
57 0011 1001 39 9
58 0011 1010 :
64 0100 0000 40 @
65 0100 0001 41 А
66 0100 0010 42 Б
89 0101 1001 59 Д
90 0101 1010 З
91 0101 1011 [
95 0101 1111 _
96 0110 0000 60 `
97 0110 0001 61 и
122 0111 1010 г
123 0111 1011 {
174 1010 1110 АЕ
255 1111 1111 ФФ  

 

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

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

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

Номера катушек/регистров

Адреса данных

Тип Имя таблицы

1-9999

0000 до 270Е

Чтение-Запись Дискретные выходные катушки

10001-19999

0000 до 270Е

Только для чтения Дискретные входные контакты

30001-39999

0000 до 270Э Только для чтения Аналоговый вход Регистры

40001-49999

0000 до 270Э Чтение-Запись Аналоговый выход Регистры хранения

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

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

Что такое ведомый ID?

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

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

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

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

Что такое CRC?

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

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

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

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

Адреса данных Читать Запись одного Многократная запись
Дискретные выходные катушки 0xxxx ФК01 ФК05 ФК15
Дискретные входные контакты 1xxxx ФК02 нет данных нет данных
Регистры аналогового ввода 3xxxx ФК04 нет данных нет данных
Регистры хранения аналогового вывода 4xxxx ФК03 ФК06 ФК16

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

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

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

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

     A двухсимвольная строка ASCII (2 печатные буквы)
АЕ41 = А

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

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

     A 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 слов.
Чтобы загрузить копию, щелкните правой кнопкой мыши и выберите «Сохранить объект как»…

     A четырехсимвольная строка ASCII (4 напечатанные буквы)
АЕ41 5652 = А В Р

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

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

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

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

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

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

также известный как
     AE41 5652 сначала старший байт      сначала старшее слово “big endian”
     5652 AE41 сначала старший байт      сначала младшее слово
     41AE 5256 сначала младший байт      сначала старшее слово
     5256 41AE сначала младший байт      сначала младшее слово “маленький порядок байтов”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что такое Enron Modbus?

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

Подробности см. в Enron Modbus.

Что еще?

Если вы читаете эту страницу, мы будем рады услышать ваши комментарии.Пожалуйста, отправьте электронное письмо на [email protected] и дайте нам знать, что вы нашли полезным и какие темы мы могли бы добавить, расширить или уточнить.

Дома Вопросы-Ответы Энрон Скачать Покупка Контакт

Copyright © 2020 Просто Modbus. Все права защищены

B&B Electronics – Что такое Modbus? 14 наиболее часто задаваемых вопросов

Что такое Modbus?

Modbus — это протокол связи, разработанный Modicon systems.Проще говоря, это метод, используемый для передачи информации по последовательным линиям между электронными устройствами. Устройство, запрашивающее информацию, называется ведущим устройством Modbus, а устройства, предоставляющие информацию, — ведомыми устройствами Modbus. В стандартной сети Modbus имеется один ведущий и до 247 ведомых, каждый из которых имеет уникальный адрес ведомого от 1 до 247. Главный также может записывать информацию в ведомые. Официальную спецификацию Modbus можно найти на http://www.modbus.org/.

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

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

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

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

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

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

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

0000 = 0

0100 = 4

1000 = 8

1100 = С

0001 = 1

0101 = 5

1001 = 9

1101 = Д

0010 = 2

0110 = 6

1010 = А

1110 = Е

0011 = 3

0111 = 7

1011 = В

1111 = Ф

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

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

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

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

Номера катушек/регистров

Адреса данных

Тип

Имя таблицы

1-9999

0000 до 270E

Чтение-Запись

Дискретные выходные катушки

10001-19999

0000 до 270E

Только для чтения

Дискретные входные контакты

30001-39999

0000 до 270E

Только для чтения

Регистры аналогового ввода

40001-49999

0000 до 270E

Чтение-Запись

Регистры хранения аналогового вывода

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

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

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

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

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

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

 

Код функции

Действие

Имя таблицы

01 (01 шестн)

Читать

Дискретные выходные катушки

05 (05 шестн. )

Запись одного

Дискретная выходная катушка

15 (0F шестнадцатеричный)

Многократная запись

Дискретные выходные катушки

02 (02 шестн.)

Читать

Дискретные входные контакты

04 (04 шестн.)

Читать

Регистры аналогового ввода

03 (03 шестн.)

Читать

Регистры хранения аналогового вывода

06 (06 шестн)

Запись одного

Регистр хранения аналогового вывода

16 (10 шестн. )

Многократная запись

Регистры хранения аналогового вывода

Что такое CRC?

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

Вот таблица CRC Calculator для сообщений размером до 16 байт. http://www.simplymodbus.ca/crc.xls. Чтобы загрузить копию, щелкните правой кнопкой мыши и выберите «Сохранить объект как»…

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

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

Адреса данных

Читать

Запись одного

Многократная запись

Дискретные выходные катушки 0xxxx

FC01

ФК05

ФК15

Дискретные входные контакты 1xxxx

ФК02

нет данных

нет данных

Регистры аналогового ввода 3xxxx

ФК04

нет данных

нет данных

Регистры хранения аналогового вывода 4xxxx

ФК03

ФК06

ФК16

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

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

Регистр 40108 может быть определен как любой из следующих 16-битных типов данных:

16-битное целое число без знака (целое число от 0 до 65535)
регистр 40108 содержит AE41 = 44,609 (преобразование шестнадцатеричного значения в десятичное)

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

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

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

Регистр 40108 также может быть объединен с 40109 для формирования любого из этих 32-битных типов данных:

A 32-битное целое число без знака (число от 0 до 4 294 967 295)
40108,40109 = AE41 5652 = 2 923 517 522

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

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

Вот таблица для ввода 4 байтов или 2 слов. http://www.simplymodbus.ca/ieeefloats.xls. Чтобы загрузить копию, щелкните правой кнопкой мыши и выберите Сохранить объект как…

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

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

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

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

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

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

AE41 5652 старший байт – сначала первое старшее слово
5652 AE41 старший байт – сначала первое младшее слово
41AE 5256 младший байт – сначала первое старшее слово
5256 41AE младший байт – сначала первое младшее слово

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

Карта Modbus — это просто список для отдельного ведомого устройства, который определяет:

  • какие данные (например. показания давления или температуры)
  • где хранятся данные (какие таблицы и адреса данных)
  • способ хранения данных (типы данных, порядок байтов и слов)

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

 

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

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

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

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

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

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

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

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

Информация в этом техническом документе была впервые опубликована компанией Simply Modbus. Стремясь предоставить нашим клиентам наилучшую возможную информацию, компания B&B Electronics получила разрешение на повторную публикацию этого документа. Компания B&B Electronics благодарит Simply Modbus за предоставленную нам возможность распространять эту информацию среди наших клиентов. Вы можете посетить их сайт по адресу http://www.simplymodbus.ca

.



Сопутствующие товары:


Связанные статьи:

Введение в Modbus

Резюме

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

Устройства Modbus обмениваются данными, используя метод ведущий-ведомый, при котором только одно устройство (ведущее) может инициировать транзакции (называемые запросами).Другие устройства (подчиненные) отвечают, предоставляя запрошенные данные ведущему устройству или выполняя действие, запрошенное в запросе. Ведомое устройство — это любое периферийное устройство (преобразователь ввода-вывода, клапан, сетевой привод или другое измерительное устройство), которое обрабатывает информацию и отправляет свои выходные данные ведущему устройству по протоколу Modbus. Модули ввода-вывода Acromag Series 900MB являются ведомыми устройствами, а типичным ведущим устройством является главный компьютер, на котором запущено соответствующее прикладное программное обеспечение.

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

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

КАРТА РЕГИСТРА MODBUS
Устройства Modbus обычно содержат карту регистров.Функции Modbus работают с регистрами карты регистров для мониторинга, настройки и управления вводом-выводом модуля. Вам следует обратиться к карте регистрации вашего устройства, чтобы лучше понять его работу. Вам также будет полезно обращаться к карте регистров при рассмотрении функций Modbus, описанных далее в этом документе.

Регистры Modbus организованы в ссылочные типы, идентифицируемые по начальному номеру ссылочного адреса:

 
.

“x” после ведущего символа представляет четырехзначный адрес в памяти данных пользователя
Артикул
0xxxx Чтение/запись дискретных выходов или катушек . Ссылочный адрес 0x используется для передачи выходных данных в канал цифрового вывода.
1хххх Чтение дискретных входов . Состояние ВКЛ/ВЫКЛ 1x эталонного адреса управляется соответствующим цифровым входным каналом.
3хххх Чтение входных регистров . Ссылочный регистр 3x содержит 16-битное число, полученное из внешнего источника, например. аналоговый сигнал.
4хххх Чтение/запись выходных или временных регистров .Регистр 4x используется для хранения 16-битных числовых данных (двоичных или десятичных) или для отправки данных из ЦП в выходной канал.
Начальный символ обычно подразумевается кодом функции и опускается в спецификаторе адреса для данной функции. Начальный символ также идентифицирует тип данных ввода/вывода.

 
Не все функции Modbus работают с регистрами отображения регистров. Например, в модулях Acromag 900MB функции Report Slave ID и Reset Slave не работают с местоположениями на карте регистров.

Обратите внимание, что модули Acromag предоставляют альтернативный метод выполнения сброса, если ваше прикладное программное обеспечение не поддерживает функцию Reset Slave (см. регистр сброса модуля).

РЕЖИМЫ ПОСЛЕДОВАТЕЛЬНОЙ ПЕРЕДАЧИ MODBUS
В стандартных сетях Modbus используется один из двух режимов передачи: режим ASCII или режим RTU.Режим передачи определяет битовое содержимое байтов сообщения, передаваемых по сети, и то, как информация сообщения должна быть упакована в поток сообщений и декодирована. Режим передачи обычно выбирается вместе с другими параметрами связи последовательного порта (скорость передачи данных, четность и т. д.) как часть конфигурации устройства. Некоторые устройства могут поддерживать только один режим или другой. Однако режим передачи и последовательные параметры должны быть одинаковыми для всех устройств, подключенных к сети Modbus.

Режим ASCII
(американский стандартный код для обмена информацией)
В режиме передачи ASCII (американский стандартный код для обмена информацией) каждый байт символа в сообщении отправляется как 2 символа ASCII. Этот режим допускает временные интервалы до секунды между символами во время передачи без возникновения ошибок. Формат каждого байта в режиме ASCII выглядит следующим образом:

Система кодирования Шестнадцатеричные символы ASCII 0–9 и A–F.Один шестнадцатеричный символ содержится в каждом символе ASCII (7 бит) сообщения.
бит на байт 1 стартовый бит + 7 бит данных, младший бит отправляется первым + 1 бит для четности/нечетности или без бита для отсутствия четности + 1 стоповый бит, если используется четность, или 2 стоповых бита без четности.
Поле проверки ошибок Проверка продольного резервирования (LRC)

Имейте в виду, что в режиме ASCII для передачи эквивалентного 8-битного байта в режиме RTU требуется два слова данных (два 7-битных символа). То есть для каждого 4-битного полубайта 8-битного байта RTU требуется один символ ASCII (7 бит). Один байт RTU по существу равен двум байтам в режиме ASCII. Например, значение 6AH отправляется как один 8-битный байт в режиме RTU (0110 1010), но два байта в режиме ASCII, один для ASCII “6” (“6″ = 36H = 011 0110), один для ASCII ” А” (“А” = 41Н = 100 0001). Это делает режим ASCII менее эффективным и менее предпочтительным, чем режим RTU для большинства приложений.

Модули Acromag 900MB не используют режим передачи ASCII, они используют режим RTU, описанный ниже.

Режим RTU
(удаленный терминал)
В режиме RTU (удаленный терминал) каждый 8-битный байт сообщения содержит два 4-битных шестнадцатеричных символа, и сообщение передается непрерывным потоком. Большая эффективная плотность символов увеличивает пропускную способность по сравнению с режимом ASCII при той же скорости передачи данных. Формат каждого байта в режиме RTU выглядит следующим образом:
Система кодирования 8-битный двоичный, шестнадцатеричный 0-9, A-F, два шестнадцатеричных символа в каждом 8-битном поле сообщения.
бит на байт 1 стартовый бит + 8 бит данных, младший бит отправляется первым + 1 бит для четности/нечетности или без бита для отсутствия четности + 1 стоповый бит, если используется четность, или 2 стоповых бита без четности.
Поле проверки ошибок Проверка циклическим избыточным кодом (CRC)

Модули Acromag Series 900MB используют широко распространенный сетевой протокол Modbus в более эффективном режиме последовательной передачи RTU (Remote Terminal Unit).

ФРЕЙМИРОВАНИЕ СООБЩЕНИЙ MODBUS
Сообщение Modbus помещается в кадр сообщения передающим устройством. Не путайте фрейм сообщения с фреймом данных, состоящим из одного байта (режим RTU) или 7-битного символа (режим ASCII). Кадр сообщения используется для отметки начала и окончания сообщения, позволяя принимающему устройству определить, к какому устройству адресовано, и узнать, когда сообщение завершено. Это также позволяет обнаруживать частичные сообщения и в результате помечать ошибки.Каждое слово этого сообщения (включая фрейм) также помещается в фрейм данных, к которому добавляются стартовый бит, стоповый бит и бит четности. В режиме ASCII размер слова равен 7 битам, а в режиме RTU размер слова равен 8 битам. Таким образом, каждые 8 ​​бит сообщения RTU фактически составляют 11 бит с учетом стартового, стопового и контрольного битов кадра данных (за одним исключением — см. примечание ниже).

Примечание:   Некоторое программное обеспечение Modbus ошибочно интерпретирует «отсутствие четности» как эквивалентное «отсутствию передачи битов».В соответствии со стандартом Modbus отсутствие контроля четности добавляет дополнительный стоповый бит (сохранение 11-битного кадра данных в режиме RTU). Во избежание потенциальной несовместимости модули Acromag 900MB предназначены для приема сообщений без контроля четности и 1  или  2 стоповых бита.

Структура кадра данных зависит от режима передачи (ASCII или RTU). Обратите внимание, что в некоторых других типах сетей и в Modbus Plus сетевой протокол обрабатывает кадрирование сообщений и использует начальный и конечный разделители, специфичные для сети.

Кадры сообщений в режиме ASCII
Сообщения в режиме ASCII начинаются с символа двоеточия “:” (ASCII 3AH) и заканчиваются парой символов возврата каретки (CRLF, ASCII 0DH и 0AH). Единственными допустимыми символами для всех остальных полей являются шестнадцатеричные символы 0-9 и A-F. Напомним, что для представления символа ASCII требуется всего 7 значащих битов. Точно так же «байт» или символ данных режима Modbus ASCII имеет длину всего 7 бит.

Допустимые символы режима ASCII
ASCII Шестигранник ASCII Шестигранник Для передачи в режиме ASCII для каждого символа требуется 7 бит данных. Таким образом, каждый символ составляет 10 бит с учетом начального бита, бита четности и стопового бита кадра данных.
0 30ч : 3AH
1 31H ЧР 0ДХ
2 32H НЧ 0АХ
3 33H А 41H
4 34H Б 42H
5 35H С 43H
6 36H Д 44ч
7 37H Е 45Н
8 38H Ф 46Н
9 39H    

В режиме ASCII все сетевые устройства постоянно контролируют сеть на наличие символа двоеточия «начало сообщения» (:). Когда оно получено, каждое сетевое устройство декодирует следующее поле, чтобы определить, является ли оно адресуемым устройством. Между символами сообщения могут возникать интервалы до одной секунды, и если этот интервал больше одной секунды, принимающее устройство будет считать, что произошла ошибка, и сообщение будет проигнорировано (устройство возобновляет поиск другого символа начала двоеточия сообщения) .

Кадр сообщения режима ASCII
Начало Адрес Функция Данные ЛРК Конец
1 символ (двоеточие) 2 символа 2 символа N символ 2 символа 2 символа (CRLF)
х х х х х1…хН х х
                   

Обратите внимание, что для каждого отмеченного выше символа требуется код ASCII для 0–9 и A–F, а для этого требуется 7 бит плюс 3 бита для начального бита, бита четности и стопового бита кадра данных. Например, несмотря на то, что LRC представляет собой 8-битное значение, фактически требуется, чтобы в режиме ASCII передавались 2 байта (два 7-битных байта), по одному на каждую цифру.

Обратите внимание, что некоторые контроллеры могут завершать сообщение ASCII после поля LRC без присоединенного CR LF (в этом случае интервал не менее 1 секунды заменяет пару CR LF). Модули

Acromag Series 900MB не поддерживают режим передачи ASCII и используют более эффективный режим RTU, описанный ниже.

Кадры сообщений режима RTU
Сообщения режима RTU начинаются с интервалом молчания не менее 3.5 периодов символов реализованы как кратные периодам символов при скорости передачи данных, используемой в сети (обозначается как t1t2t3t4 ниже). Первое передаваемое поле — это адрес устройства. Допустимые символы, передаваемые для всех полей, представляют собой шестнадцатеричные значения 0-9, A-F.

Время символа:   время, необходимое для передачи одного символа с выбранной скоростью передачи данных. В режиме RTU на символ приходится 11 бит, и это будет 11 битовых времен.Например, при скорости 9600 бод время одного символа составляет 11 битов или 11 бит/символ* 1/9600 бит/с = 1146 мкс/символ.

 
Сетевое устройство постоянно отслеживает сеть, включая интервалы молчания, и когда первое поле (адрес) получено после интервала молчания не менее 3,5 символов, устройство декодирует его, чтобы определить, является ли оно адресованным устройством. После последнего переданного символа аналогичный интервал молчания в 3,5 символа отмечает конец сообщения, и после этого интервала может начинаться новое сообщение.Типичный кадр сообщения показан ниже.

Кадр сообщения RTU

Начало Адрес Функция Данные CRC Конец
т1т2т3т4 8 бит 8 бит nx8 бит 16 бит т1т2т3т4

Все сообщение должно передаваться как непрерывный поток. Если перед завершением кадра (не непрерывного потока) возникает интервал молчания продолжительностью более 1,5 символов, принимающее устройство сбрасывает незавершенное сообщение и предполагает, что следующий байт будет адресным полем нового сообщения.

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

КАК СИМВОЛЫ ПЕРЕДАЮТСЯ ПОСЛЕДОВАТЕЛЬНО
Когда сообщения передаются по последовательным сетям Modbus, каждый символ или байт отправляется в порядке от младшего значащего бита (LSB) до старшего значащего бита (MSB), как показано ниже (слева направо):

Обрамление символов RTU (без четности)
Старт 0 1 2 3 4 5 6 7 Стоп Стоп

Обрамление символов RTU (с четностью)
Старт 0 1 2 3 4 5 6 7 Контроль четности Стоп

Обратите внимание, что дополнительный стоповый бит передается для заполнения рамки символа без контроля четности. Это четко определено в стандарте Modbus, но часто нарушается в промышленности. То есть некоторые программисты интерпретируют «Нет четности» как «Нет бита» и не понимают, что отсутствие четности эквивалентно добавлению еще одного стопового бита. Модули Acromag Series 900MB были разработаны для приема сообщений без контроля четности и с 1 или 2 стоповыми битами, так что это не будет проблемой.

Кадр символов для передачи в режиме ASCII идентичен режиму RTU, за исключением того, что в режиме ASCII используется только 7 бит данных, а не 8 бит для режима RTU, как показано выше.

АДРЕСА MODBUS
Ведущее устройство обращается к определенному ведомому устройству, помещая 8-битный ведомый адрес в поле адреса сообщения (режим RTU). Поле адреса кадра сообщения содержит два символа (в режиме ASCII) или 8 двоичных битов (в режиме RTU). Действительные адреса от 1-247. Когда ведомое устройство отвечает, оно помещает свой собственный адрес в это поле своего ответа, чтобы ведущее устройство знало, какое ведомое устройство отвечает. Адрес 0 зарезервирован для широковещательного адреса, который распознают все ведомые устройства в сети.Некоторые функции не поддерживают широковещательный адрес. Ведомое устройство не отвечает на широковещательное сообщение.

Все адреса данных в сообщениях Modbus имеют ссылку на 0, при этом первое вхождение элемента данных адресуется как нулевой элемент. Кроме того, поле функционального кода уже указывает, с какой группой регистров он работает (т. е. ссылочные адреса 0x, 1x, 3x или 4x). Например, регистр хранения 40001 адресуется как регистр 0000 в поле адреса данных сообщения.Функциональный код, который работает с этим регистром, определяет операцию «регистра временного хранения», и подразумевается ссылочная группа «4xxxx». Таким образом, регистр временного хранения 40108 фактически адресуется как регистр 006BH (десятичное число 107).

ФУНКЦИИ MODBUS
Поле функционального кода кадра сообщения будет содержать два символа (в режиме ASCII) или 8 двоичных битов (в режиме RTU), которые сообщают подчиненному устройству, какое действие следует предпринять. Допустимые функциональные коды от 1 до 255, но не все коды применимы к модулю, а некоторые коды зарезервированы для использования в будущем.В следующей таблице выделено подмножество стандартных функций Modbus, поддерживаемых модулями Acromag 900MB (также указаны адреса регистров ссылок, с которыми работает эта функция):

Приведенные ниже функции используются для доступа к регистрам, указанным в карте регистров модуля для отправки и получения данных. Команды Report Slave ID и Reset Slave не работают с регистрами карты регистров.
КОД
ФУНКЦИЯ
НОМЕР
01 (01H) Чтение состояния катушки (выход) 0хххх
03 (03H) Чтение регистров хранения 4хххх
04 (04H) Чтение входных регистров 3хххх
05 (05H) Силовая одиночная катушка (выход) 0хххх
06 (06H) Предустановленный одиночный регистр 4хххх
08 (08H) Сброс подчиненного устройства

Скрытый

15 (0FH) Принудительное использование нескольких катушек (выходов) 0хххх
16 (10H) Предустановленные несколько регистров 4хххх
17 (11Н) Сообщить об идентификаторе подчиненного устройства

Скрытый


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

Обычный ответ просто повторяет исходный код функции запроса, в то время как ответ исключения возвращает код, эквивалентный исходному коду функции с его старшим значащим битом (MSB), установленным на логическую 1.  Например, команда Read Holding Registers имеет код функции 0000 0011 (03H).

Если ведомое устройство выполняет запрошенное действие без ошибок, оно возвращает тот же код в своем ответе. Однако, если возникает исключение, он возвращает 1000 0011 (83H) в поле кода функции и добавляет уникальный код в поле данных ответного сообщения, которое сообщает ведущему устройству, какой тип ошибки произошел, или причину исключения ( см. Исключения Modbus).

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

В следующих параграфах описываются некоторые функции Modbus, поддерживаемые модулями Acromag 900MB. Чтобы лучше понять Modbus, обратитесь к карте регистров вашего модуля при просмотре этого материала.

Чтение состояния катушки (01)
Эта команда считывает состояние ВКЛ/ВЫКЛ дискретных выходов или катушек (ссылочные адреса 0x) в ведомом устройстве. Для модулей Acromag 900MB его реакция эквивалентна считыванию состояния включения/выключения твердотельных выходных реле или переключателей. Широковещательная передача не поддерживается.

Запрос Read Coil Status указывает начальную катушку (выходной канал) и количество катушек для чтения. Катушки соответствуют дискретным твердотельным реле этого преобразователя и имеют адресацию, начиная с 0 (до 4 катушек, адресуемых как 0-3 для этой модели).Состояние чтения катушки в ответном сообщении упаковано как одна катушка или канал на бит поля данных. Для модулей 900MB состояние выхода обозначается как 1 для ON (проводящий ток) и 0 для OFF (непроводящий). Младший бит первого байта данных соответствует статусу катушки, адресованной в запросе. Остальные катушки следуют последовательно, двигаясь к старшему концу байта. Так как этот пример имеет только 4 выхода, оставшиеся биты байта данных будут установлены в ноль ближе к неиспользуемому старшему концу байта.


Пример запроса состояния чтения катушки
 


В этом примере считывается состояние выходного канала катушек 0–3 на ведомом устройстве 247.
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 1 (01)
Начальный адрес Старший разряд 0 (00)
Младший начальный адрес 0 (00)
Число точек старшего разряда 0 (00)
Число точек младшего разряда 4 (04)
Проверка ошибок CRC (LRC в режиме ASCII)

Обратите внимание, что начальный символ ссылочного адреса 0x подразумевается кодом функции и опускается в указанном адресе. В этом примере первый адрес — 00001, указанный через 0000H и соответствующий катушке 0. 

Чтение состояния катушки Пример ответа
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 1 (01)
Число байтов 1 (01)
Данные (катушки 3-0) 10 (0А)
Проверка ошибок CRC (LRC в режиме ASCII)

Подводя итог, состояние катушек 3-0 отображается как значение байта 0A в шестнадцатеричном виде или 00001010 в двоичном виде.Катушка 3 — это пятый бит слева от этого байта, а катушка 0 — это младший бит. Четыре оставшихся бита (к старшему концу) равны нулю. Если читать слева направо, состояние выхода катушек 3. .0: ВКЛ-ВЫКЛ-ВКЛ-ВЫКЛ.
Корзина 0 0 0 0 1 0 1 0
Шестигранник 0 А
Катушка нет данных нет данных нет данных нет данных 3 2 1 0

Чтение регистров хранения (03)
Считывает двоичное содержимое регистров временного хранения (4 адреса ссылки) в ведомом устройстве. Широковещательная передача не поддерживается.

Запрос Read Holding Registers указывает начальный регистр и количество регистров для чтения. Обратите внимание, что регистры адресуются, начиная с 0 (регистры 1-16 адресуются как 0-15). Ответное сообщение Read Holding Registers упаковано как два байта на регистр с двоичным содержимым, выровненным по правому краю в каждом байте. Для каждого регистра первый байт содержит старшие биты, а второй байт — младшие биты.

Пример запроса чтения регистра временного хранения
В этом примере считываются регистры хранения 40006…40008 (верхнее предельное значение канала 0, нижнее предельное значение и значение зоны нечувствительности) на ведомом устройстве 247.
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 3 (03)
Начальный адрес Старший разряд 0 (00)
Младший начальный адрес 5 (05)
Число точек старшего разряда 0 (00)
Число точек младшего разряда 3 (03)
Проверка ошибок CRC (LRC в режиме ASCII)

Чтение регистра временного хранения Пример ответа
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 3 (03)
Число байтов 6 (06)
Высокий уровень данных (регистр 40006) (3А)
Низкий уровень данных (регистр 40006) 75%=15000 (98)
Высокий уровень данных (регистр 40007) (13)
Низкий уровень данных (регистр 40007) 25%=5000 (88)
Высокий уровень данных (регистр 40008) (00)
Низкий уровень данных (регистр 40008) 1%=200 (С8)
Проверка ошибок CRC (LRC в режиме ASCII)

Подводя итог нашему примеру, содержимое регистра 40006 (2 байта) соответствует верхнему пределу канала 0, равному 75% (15000=3A98H). Содержимое регистра 40007 (2 байта) — это нижний предел канала 0, равный 25% (5000=1388H). Содержимое регистра 40008 представляет собой значение зоны нечувствительности канала 0 (2 байта), равное 1% (200=00C8H).

Чтение входных регистров (04)
Эта команда будет считывать двоичное содержимое входных регистров (3x эталонных адреса) в ведомом устройстве. Широковещательная передача не поддерживается.

Запрос Read Input Registers указывает начальный регистр и количество регистров для чтения.Обратите внимание, что адреса регистров начинаются с 0.  То есть регистры 1–16 адресуются как 0–15. Ответное сообщение чтения входных регистров упаковано как два байта на регистр с двоичным содержимым, выровненным по правому краю в каждом байте. Для каждого регистра первый байт содержит старшие биты, а второй байт — младшие биты.

Пример запроса чтения входных регистров

В этом примере считываются входные регистры 30003 и 30004 (входное значение и состояние канала 0) на ведомом устройстве 247.
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 4 (04)
Начальный адрес Старший разряд 0 (00)
Младший начальный адрес 2 (02)
Число точек старшего разряда 0 (00)
Число точек младшего разряда 2 (02)
Проверка ошибок CRC (LRC в режиме ASCII)

Чтение входных регистров Пример ответа
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 4 (04)
Число байтов 4 (04)
Высокий уровень данных (регистр 30003) (3Е)
Низкий уровень данных (регистр 30003) 80%=16000 (80)
Высокий уровень данных (регистр 30004) (00)
Низкий уровень данных (регистр 30004) 136 (88)
Проверка ошибок CRC (LRC в режиме ASCII)

Подводя итог нашему примеру, содержимое регистра 30003 (2 байта) представляет собой входное значение канала 1, равное 80% (16000=3E80H). Содержимое регистра 30004 (2 байта) — это флаги состояния канала 0 из 136 (0088H), т.е. помечая превышение верхнего предела.

Одинарная катушка Force (05)
Принудительно включает или выключает одну катушку/выход (ссылочный адрес 0x). При широковещательной передаче (адрес 0) он принудительно использует одну и ту же катушку во всех сетевых ведомых устройствах.

Запрос Force Single Coil указывает адрес ссылки на катушку, которую необходимо принудительно установить, и состояние, в которое она должна быть принудительно переведена. Состояние ВКЛ/ВЫКЛ указывается константой в поле данных запроса.Значение FF00H принудительно включает катушку (т. е. соответствующее твердотельное реле включается или замыкается), а 0000H принудительно выключает катушку (т. е. твердотельное выходное реле выключается или размыкается). Все остальные значения недействительны и не повлияют на катушку.

Обращения к катушкам начинаются с 0 — в нашем примере до 4 катушек имеют адреса от 0 до 3, что соответствует номеру дискретного выходного канала.

Пример принудительного запроса и ответа на одну катушку

В следующем примере дискретный выход 3 принудительно включается на ведомом устройстве 247.
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 5 (05)
Адрес катушки Старший разряд 0 (00)
Младший адрес катушки 3 (03)
Форсировать данные высокого порядка 255 (FF)
Форсировать данные младшего разряда 0 (00)
Проверка ошибок CRC (LRC в режиме ASCII)

Ответное сообщение Force Single Coil — это просто эхо (копия) запроса, как показано выше, но возвращенное после выполнения команды Force Coil. Ответ на широковещательные запросы от ведущего устройства не возвращается.

Предустановленный одиночный регистр (06)
Эта команда установит один регистр временного хранения (4 ссылочных адреса) на определенное значение. Эта команда поддерживает широковещательную передачу и будет действовать для установки одного и того же регистра во всех сетевых ведомых устройствах.

Запрос Preset Single Register указывает ссылочный адрес регистра, который необходимо предварительно установить, и предварительно заданное значение. Обратите внимание, что регистры адресуются, начиная с 0 — регистры 1-16 адресуются как 0-15.Ответное сообщение Preset Single Registers является эхом запроса, возвращаемого после того, как содержимое регистра было предварительно задано.

Предустановленный регистр временного хранения Пример запроса (и ответа)
В этом примере скорость передачи данных 9600 бит/с записывается в регистр хранения 40002 (скорость передачи) на ведомом устройстве 247.
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 6 (06)
Адрес регистра Старший разряд 0 (00)
Младший адрес регистра 1 (01)
Предустановленные данные высокого порядка 0 (00)
Младший разряд предустановленных данных 2 (02)
Проверка ошибок CRC (LRC в режиме ASCII)

Ответное сообщение является просто эхом (копией) запроса, как показано выше, но возвращается после предварительной настройки содержимого регистра.Ответ на широковещательные запросы от ведущего устройства не возвращается.

Несколько катушек Force (15)
Одновременно принудительно включает или выключает последовательность катушек (ссылочные адреса 0x). Эта команда поддерживает широковещательную передачу и будет действовать, чтобы заставить один и тот же блок катушек во всех сетевых ведомых устройствах.

Запрос Force Multiple Coils указывает начальный адрес ссылки на катушку, количество катушек и данные принудительной записи, которые должны быть записаны в порядке возрастания.Состояния ВКЛ/ВЫКЛ определяются содержимым поля данных запроса. Логическая 1 в битовой позиции этого поля требует включения катушки, а логический 0 требует выключения соответствующей катушки.

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

Пример запроса принудительного использования нескольких катушек
В этом примере выходы 1 и 3 выключаются, а 0 и 2 включаются для катушек 0-3 на ведомом устройстве 247.
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 15 (0F)
Адрес катушки Старший разряд 0 (00)
Младший адрес катушки 0 (00)
Количество катушек высшего порядка 0 (00)
Количество катушек младшего разряда 4 (04)
Число байтов 01
Принудительно высокий уровень данных (первый байт) 5 (05)
Проверка ошибок (LRC или CRC)

Обратите внимание, что начальный символ ссылочного адреса 0x подразумевается кодом функции и опускается в указанном адресе.В этом примере первый адрес — 00001, соответствующий катушке 0 и указанный через 0000H. Таким образом, в этом примере переданный байт данных будет адресован катушкам 3…0, причем младший значащий бит адресует младшую катушку в этом наборе следующим образом (обратите внимание, что четыре неиспользуемых старших бита байта данных установлены в ноль):
Корзина 0 0 0 0 0 1 0 1
Шестигранник 0 5
Катушка нет данных нет данных нет данных нет данных 3 2 1 0

Force Multiple Coil Пример ответа
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 15 (0F)
Адрес катушки Старший разряд 0 (00)
Младший адрес катушки 0 (00)
Количество катушек высшего порядка 0 (00)
Количество катушек младшего разряда 4 (04)
Проверка ошибок (LRC или CRC)

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

Предустановленные несколько регистров (16)
Предварительно устанавливает блок регистров хранения (4 ссылочных адреса) на определенные значения. Эта команда поддерживает широковещательную передачу и будет действовать для установки одного и того же блока регистров во всех сетевых ведомых устройствах.

Запрос Preset Multiple Registers указывает начальный адрес ссылки на регистр, количество регистров и данные, которые должны быть записаны в порядке возрастания.Обратите внимание, что регистры адресуются, начиная с 0 — регистры 1-16 адресуются как 0-15.


Предустановленный пример запроса нескольких регистров
 

В этом примере записывается новый подчиненный адрес 200, скорость передачи 28800 бит/с и устанавливается четность путем записи в регистры временного хранения с 40001 по 40003 на ведомом устройстве 247 (изменения подчиненного адреса, скорости передачи и четности вступят в силу после следующее программное обеспечение или сброс при включении питания).
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 16 (10)
Начальный регистр старшего разряда 0 (00)
Стартовый регистр младшего разряда 0 (00)
Число регистров старшего разряда 0 (00)
Число регистров младшего разряда 3 (03)
Старший уровень предустановленных данных (первый регистр) 0 (00)
Низкий уровень предустановленных данных (первый регистр) 200 (С8)
Высокий уровень предустановленных данных (второй регистр) 0 (00)
Низкий уровень предустановленных данных (второй регистр) 5 (05)
Высокий уровень предустановленных данных (третий регистр) 0 (00)
Низкий уровень предустановленных данных (третий регистр) 2 (02)
Проверка ошибок (LRC или CRC)

Предварительно заданные несколько регистров Пример ответа
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 16 (10)
Начальный регистр старшего разряда 0 (00)
Стартовый регистр младшего разряда 0 (00)
Число регистров старшего разряда 0 (00)
Число регистров младшего разряда 3 (03)
Проверка ошибок (LRC или CRC)

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

Отчет об идентификаторе подчиненного устройства (17)
Эта команда возвращает модель, серийный номер и номер микропрограммы ведомого устройства Acromag, состояние индикатора «Работа» и любую другую информацию, относящуюся к устройству. Эта команда не обращается к регистрам карты регистров, и широковещательная передача не поддерживается.

Отчет об идентификаторе подчиненного устройства Пример запроса
Командный запрос просто отправляет адрес ведомого устройства и код функции с проверкой ошибок (CRC), как показано здесь:

Имя поля

Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 17 (11)
Проверка ошибок CRC (LRC в режиме ASCII)


Report Slave ID Пример ответа (только для Acromag 900MB)
Имя поля Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 17 (11)
Число байтов 26 (1А)
Идентификатор ведомой модели Acromag




0 (00H) = 924MB-0900; 1 (01H) = 913MB-0900
2 (02Н) = 914МБ-0900; 3 (03H) = 917MB-0900
4 (04Н) = 918МБ-0900; 5 (05H) = 901MB-0900
6 (06Н) = 902МБ-0900; 7 (07H) = 903MB-0900
8 (08Н) = 904МБ-0900; 9 (09H) = 905MB-0900
10 (0AH) = 906 МБ-0900; 11 (0BH) = 932MB-0900
12 (0CH) = 934MB-0900; 13 (0DH) = 942MB-0900
Состояние индикатора работы (ВКЛ) 255 (FF)
Микропрограмма Строка данных ASCII (поле данных) “АКРОМАГ, 9300-043А, 942МБ-0900,”
(41 43 52 4F 4D 41 47 2C 39 33 30 30 2D 30 34 33 41 2C 39 34 32 4D 42 2D 30 39 30 30 2CH)
Строка ASCII серийного номера (уникальная для каждого модуля) Шесть номеров + версия “123456A”
(31 32 33 34 35 36 41Н)
Контроль ошибок CRC


Сброс подчиненного устройства (08)
Эта команда используется для запуска сброса модуля, и ее действие эквивалентно сбросу модуля при включении питания. Обратите внимание, что для модулей Acromag 900MB изменения скорости передачи данных, адреса ведомого устройства и контроля четности инициируются после сброса.

Команда Reset Slave использует подфункцию 01 (Restart Communications) стандартной диагностической команды Modbus (08) для выполнения сброса и не работает с местоположением на карте регистров. Широковещательная передача не поддерживается. Подождите несколько секунд после сброса, чтобы повторно установить связь с модулем.

Пример запроса сброса ведомого устройства и отраженного ответа
Запрос Reset Slave просто отправляет адрес подчиненного устройства, код функции, код подфункции и данные (данные игнорируются и просто возвращаются обратно) с проверкой ошибок (CRC), как показано здесь.

Имя поля

Пример значения (шестнадцатеричный)
Адрес подчиненного устройства 247 (F7)
Код функции 08 (08)
Старший байт подфункции 0 (00)
Младший байт подфункции 1 (01)
Старший байт поля данных 0 (00)
Младший байт поля данных 0 (00)
Проверка ошибок CRC (LRC в режиме ASCII)

Ответ Reset Slave — это просто эхо-подтверждение, которое возвращается за 91 416 до 91 417 выполнения сброса.

Модули Acromag 900MB обеспечивают альтернативный метод сброса посредством записи в регистр сброса модуля (см. карту регистров конкретного устройства) для программного обеспечения Modbus, которое не поддерживает функцию сброса подчиненного устройства.

ПОЛЕ ДАННЫХ MODBUS
Поле данных предоставляет подчиненному устройству любую дополнительную информацию, необходимую подчиненному устройству для выполнения действия, указанного функциональным кодом. Данные формируются из нескольких байтов символов (пара символов ASCII в режиме ASCII) или двух шестнадцатеричных цифр в режиме RTU в диапазоне 00H-FFH.Поле данных обычно включает в себя адреса регистров, значения счетчиков и записанные данные. Для некоторых сообщений это поле может не существовать (иметь нулевую длину), так как не для всех сообщений требуются данные.

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

Поддерживаемые типы данных
(модули Acromag 900MB)
Доступ ко всем значениям ввода-вывода осуществляется через 16-битные входные регистры или 16-битные регистры хранения (см. карту регистров).Входные регистры содержат информацию, доступную только для чтения. Например, текущее входное значение, считанное из канала, или состояния группы цифровых входов. Регистры хранения содержат информацию для чтения/записи, которая может быть данными конфигурации или выходными данными. Например, верхнее предельное значение функции сигнализации, работающей на входе, или выходное значение для выходного канала.

Значения ввода/вывода модулей Acromag 900MB представлены следующими простыми типами данных для температуры, процента и дискретного включения/выключения.

Сводка типов данных, используемых модулями 900 МБ
Типы данных Описание
Значение счета 16-разрядное целое число со знаком, представляющее число АЦП, число ЦАП, значение времени или частоту в диапазоне от –32768 до +32767.
Значение счета 16-разрядное целое число без знака, представляющее число АЦП, число ЦАП, значение времени или частоту в диапазоне от 0 до 65535.
Процент 16-разрядное целое число со знаком с разрешением 0,005 %/мл. бит. ±20000 используется для представления ±100%. Например, -100%, 0% и +100% представлены десятичными значениями –20000, 0 и 20000 соответственно. Полный диапазон составляет от –163,84% (-32768 десятичных знаков) до +163,835% (+32767 десятичных знаков).
Температура 16-разрядное целое число со знаком с разрешением 0,1 °C/мл. бит. Например, значение 12059 эквивалентно 1205.9°C, значение –187 равно –18,7°C. Максимально возможный диапазон температур составляет от –3276,8°C до +3276,7°C.
Дискретный Дискретное значение обычно обозначается одним битом 16-битного слова. Номер/позиция бита обычно соответствует номеру дискретного канала для этой модели. Если не указано иное для выходов, бит 1 означает, что соответствующий выход закрыт или включен, бит 0 означает, что выход открыт или выключен. Для входов значение 1 означает, что вход находится в высоком состоянии (обычно >> 0 В), а значение 0 указывает, что вход находится в низком состоянии (около 0 В).

ПРОВЕРКА ОШИБКИ MODBUS
В сетях Modbus используются два метода проверки ошибок: проверка четности кадра символа данных (четность, нечетность или отсутствие четности) и проверка кадра в кадре сообщения (проверка циклическим избыточным кодом в режиме RTU или проверка продольным избыточным кодом в режиме ASCII).

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

Если выбрана проверка четности или нечетности, подсчитывается количество битов 1 в части данных каждого символьного кадра. Каждый символ в режиме RTU содержит 8 бит. Затем бит четности будет установлен на 0 или 1, чтобы получить четное (четность) или нечетное (нечетность) общее количество битов 1.

Например, если символьный кадр RTU содержит следующие восемь битов данных: 1100 0011, то, поскольку общее количество битов 1 равно 4 (уже четное число), бит четности кадра будет равен 0, если выбрана четная четность.Если используется нечетная четность, то бит четности будет установлен в 1, что делает общее количество битов нечетным (пять).

При передаче сообщения бит четности вычисляется и применяется к кадру данных каждого передаваемого символа (каждые 7 битов в режиме ASCII или каждые 8 ​​битов в режиме RTU). Принимающее устройство подсчитывает количество битов 1 в части данных кадра и устанавливает флаг ошибки, если подсчет отличается от полученного. Таким образом, проверка четности может обнаружить ошибку только в том случае, если во время передачи из символьного кадра берется или отбрасывается нечетное количество битов. Например, если используется нечетная четность и из символа отбрасываются две единичные биты, результат все равно будет нечетным числом единичных битов, и ошибка четности не будет обнаружена. Обратите внимание, что все устройства в сети Modbus должны использовать одинаковую четность. Если проверка на четность не выбрана, бит четности не передается и проверка на четность не выполняется. Однако дополнительный стоповый бит передается для заполнения рамки символа для выбора без четности.

Проверка продольного резервирования LRC (только в режиме ASCII)
В режиме передачи ASCII кадр символа включает поле LRC в качестве последнего поля, предшествующего символам CRLF.Это поле содержит два символа ASCII, которые представляют собой результат вычисления продольной избыточности для всех полей, кроме начального двоеточия и пары завершающих символов CR LF.

Поле LRC содержит 8-битное двоичное значение, которое вычисляется передающим устройством и добавляется к исходящему сообщению. Приемное устройство также вычисляет значение LRC при приеме сообщения и сравнивает его вычисление со значением, отправленным ему. Если два значения различаются, генерируется ошибка.

Значение LRC рассчитывается путем сложения последовательных 8-битных байтов сообщения и отбрасывания битов переноса для получения 8-битного результата (не включая начальный символ двоеточия или конечные символы CR LF). Затем возьмите дополнение до двух этого 8-битного результата, вычтя его из FFH (дополнение до единицы) и добавив 1, чтобы получить дополнение до двух. Полученное 8-битное значение (2 символа ASCII) затем передается в сообщении с первым символом старшего разряда, за которым следует символ младшего разряда.Например, если 8-битное значение LRC равно A1H (1010 0001), старший символ LRC — это A, и он предшествует младшему символу LRC, равному 1, в кадре данных непосредственно перед символами CR LF.

Модули Acromag 900MB не поддерживают режим ASCII и не используют проверку ошибок LRC. Эти модули используют более эффективный режим RTU и проверку ошибок CRC, как описано ниже.

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

Значение CRC вычисляется передающим устройством и добавляется к сообщению в качестве последнего поля в сообщении — сначала добавляется младший байт, а затем старший байт. Таким образом, старший байт CRC является последним байтом, отправляемым в сообщении. Приемное устройство вычисляет CRC во время приема сообщения и сравнивает вычисленное значение с полученным в поле CRC.Если два значения различаются, возникает ошибка.

CRC запускается путем предварительной загрузки 16-битного регистра CRC во все единицы. Последовательные 8-битные байты сообщения (только 8-битные биты данных в каждом символе — без стартовых, стоповых битов или битов четности) применяются к текущему содержимому регистра, и каждый 8-битный символ обрабатывается с помощью исключающего ИЛИ. с содержимым реестра. Результат исключающего ИЛИ сдвигается в направлении младшего значащего бита (LSB) CRC, при этом ноль помещается в старший значащий бит (MSB).Затем извлекается и проверяется младший бит. Если младший бит равен 1, к регистру применяется исключающее ИЛИ с предустановленным фиксированным значением. Если младший бит равен 0, исключающее ИЛИ не выполняется.

Этот процесс повторяется до тех пор, пока не будет выполнено 8 сдвигов. После последнего (восьмого) сдвига следующий 8-битный байт подвергается операции исключающее ИЛИ с текущим содержимым регистра, и процесс повторяется еще для 8 сдвигов, как описано выше. Окончательное содержимое регистра CRC после применения всех байтов сообщения является значением CRC.

ИСКЛЮЧЕНИЯ MODBUS
Если в модуль отправлен код неподдерживаемой функции, то в поле данных ответного сообщения будет возвращен код исключения 01 (недопустимая функция). Если регистр хранения записан с недопустимым значением, то в ответном сообщении будет возвращен код исключения 03 (недопустимое значение данных).

Коды исключений Modbus
Код Исключение Описание
01 Недопустимая функция Код функции, полученный в запросе, недопустим или недействителен.
02 Недопустимый адрес данных Адрес данных, полученный в запросе, не является допустимым адресом для ведомого устройства или недействителен.
03 Недопустимое значение данных Значение, содержащееся в поле данных запроса, не является допустимым значением для ведомого устройства или является недопустимым.
04 Сбой ведомого устройства Произошла неисправимая ошибка, когда ведомое устройство пыталось выполнить запрошенное действие.
05 Подтвердить Подчиненное устройство приняло запрос и обрабатывает его, но для этого требуется много времени. Этот ответ возвращается, чтобы предотвратить возникновение ошибки тайм-аута в ведущем устройстве.
06 Ведомое устройство занято Ведомое устройство занято обработкой длительной команды программы. Ведущий должен повторно передать сообщение позже, когда ведомый освободится.
07 Отрицательное подтверждение Ведомое устройство не может выполнить программную функцию, полученную в запросе. Этот код возвращается при неудачном запросе программирования с использованием функционального кода 13 или 14 (коды не поддерживаются этой моделью). Ведущий должен запросить диагностическую информацию у ведомого.
08 Ошибка четности памяти Подчиненное устройство попыталось прочитать расширенную память, но обнаружило ошибку четности в памяти.Мастер может повторить запрос, но может потребоваться обслуживание на ведомом устройстве.

В нормальном ответе ведомое устройство повторяет код функции исходного запроса в поле функции ответа. Все функциональные коды имеют старший значащий бит (msb), установленный на 0 (их значения ниже 80H). В ответе об исключении ведомое устройство устанавливает старший бит кода функции в 1 в возвращаемом ответе (т. е. ровно на 80H выше, чем обычно) и возвращает код исключения в поле данных.Это используется ведущим приложением для распознавания ответа об исключении и направления проверки поля данных на наличие применимого кода исключения.

О MODBUS Эта статья предоставлена ​​Acromag, Inc. Автором статьи является Брюс Сайбурт, инженер Acromag. В статье описывается работа Modbus и упоминаются модули ввода-вывода Acromag Series 900MB. Для получения более подробной информации о Modbus вы также можете обратиться к «Справочному руководству по Modicon Modbus», PI-MBUS-300 Rev J, которое можно загрузить с www.modicon.com.

Acromag производит линейку модулей ввода/вывода, поддерживающих Modbus через RS485. Посетите их веб-сайт www.acromag.com, чтобы получить самую свежую информацию об этих и других продуктах Acromag.
Об авторе

Брюс Сайбурт, инженер Acromag  

Для получения дополнительной информации нажмите здесь

Вам понравилась эта замечательная статья?

Ознакомьтесь с нашими бесплатными электронными информационными бюллетенями, чтобы прочитать больше замечательных статей. .

Подписаться

EMR-4000 Карты регистров Modbus®

%PDF-1.4 % 540 0 объект > эндообъект 544 0 объект >поток 8.511.01622018-09-11T05: 10: 54.903-04: 00Openoffice.org 3.3E485FB3F713E0F3EECF8E833E0F3EECF8E833BEF9E766E31E811B60366E31E811B603660WARITER2018-08-31T15: 10: 50.000-04: 002018-08-31T15: 10: 50.000-04: 002015-12-17T11: 04: 17.000-05:00application/pdf2018-09-11T05:12:42.269-04:00

  • EMR-4000 Карты регистров Modbus®
  • uuid:794d4cb1-d531-4c73-affd-634e5bf6d574uuid:3c39d661-2c1f-4373-adb8-bba64a49876bOpenOffice.org 3.3
  • eaton:resources/technical-resources/technical-data-sheets
  • eaton:таксономия продуктов/защита электрических цепей/защитные реле и устройства прогнозирования/двигатели
  • eaton:страна/северная америка/сша
  • eaton:language/en-us
  • конечный поток эндообъект 527 0 объект > эндообъект 489 0 объект > эндообъект 526 0 объект >>> эндообъект 525 0 объект > эндообъект 4 0 объект >поток

    EDR-5000 Карты регистров Modbus®

    %PDF-1. 4 % 489 0 объект > эндообъект 494 0 объект >поток 8.511.01452018-09-11452018-09-112T04: 44: 43.028-04: 00Openoffice.org 3.3BBFCE6A398D74D2EE0C16D2EB54870C16D2EB54870C16D2EB54870C16D2EB58DAB5482222Rister2018-08-31T11: 11: 21.000-04: 002018-08-31T11: 11: 21.000-04: 002015-10-27T11: 00: 35.000-04:00application/pdf2018-09-11T04:46:03.865-04:00

  • EDR-5000 Карты регистров Modbus®
  • uuid:e3e11a22-7e09-47a8-87ce-0d7bba40bec5uuid:eb18233c-28ef-4eb8-9061-1b09da50bdddOpenOffice.org 3.3
  • eaton:resources/technical-resources/technical-data-sheets
  • eaton:таксономия продуктов/защита электрических цепей/защитные реле и устройства прогнозирования/распределительные реле
  • eaton:страна/северная америка/сша
  • eaton:language/en-us
  • конечный поток эндообъект 476 0 объект > эндообъект 438 0 объект > эндообъект 475 0 объект >>> эндообъект 474 0 объект > эндообъект 4 0 объект >поток

    Solinst AquaVent 5: Руководство пользователя MODBUS

    См. Приложение 6.2 для получения дополнительной информации о предположениях смещения регистра.

    Следующие регистры MODBUS относятся к AquaVent 5 и AquaVent.

    Легенда:         Данные, хранящиеся в регистраторе         Данные, хранящиеся в устье скважины         Постоянные данные         R/W=Чтение/Запись

    Регистр Размер Ч/З Тип Пример Описание
    Коллектор
    40001 1 Р uint16 2 Версия карты регистрации
    (1=AquaVent, *2=AquaVent 5)
    40021-022 2 Р uint32 1234567 Серийный номер
    40041-052 12 Р нстрока Регистратор AquaVent Идентификатор продукта (24 символа)
    40061 1 Р uint16 1 Аппаратная версия: 1
    *40071-72 2 Р нстрока XV Идентификатор оборудования (4 символа)
    40121 1 Р uint16 770 Версия ПО: Major * 256 + Minor E. грамм. Версия 3.002 читает 3 * 256 + 2 = 770
    40161-176 16 Р нстрока “000123” Инст. номер /Проект. ID (32 байта)
    40177-200 24       Зарезервировано
    40201-216 16 Р нстрока “СКВАЖИНА 15” Имя местоположения (32 байта)
    40217-240 24       Зарезервировано
    40301 1       Зарезервировано
    40241-242 2 Р одноместный 43.6736 Координата широты (градусы, отрицательная = S)
    40261-262 2 Р одноместный -79.4144 Координата долготы (градусы, отрицательная = W)
    40321-322 2 Р одноместный 987,123 Текущий заряд батареи (мАч)
    40341 ​​ 1 Р uint16 73% Аккумулятор %
    40361-362 2 Р одноместный 2. 96433 Напряжение батареи (В)
    40401-402 2 Вт бит32 0…01 Тестовый вектор (см. раздел 4.5.2)
    40421-422 2 Р бит32 0…01 Результаты тестирования (см. раздел 4.5.2)
    40441 1 Ч/З бит16 0…00000000 Состояние устройства (см. раздел 4.5.1)
    40442-580 138       Зарезервировано
    40581 1 Р uint16 2 Номер. параметров (2 для AquaVent)

    *Доступно только с устьевыми головками AquaVent 5

     

    См. Раздел 3.1, чтобы изменить единицы, используемые AquaVent для измерения уровня и температуры.

    Координаты долготы и широты будут доступны только в том случае, если AquaVent ранее использовался с приложением Solinst Levelogger или если вы записали их в регистратор.

     

    Регистр Размер Ч/З Тип Пример Описание
    Массив переменных процесса – дублируется в регистрах блока параметров.
    40601-602 2 Р одноместный (-)ггммдд DateStamp (отрицание означает год = 19xx) Примечание. Если год указан неверно, проверьте, не нужно ли сбросить время AquaVent.
    40603-604 2 Р одноместный чммсс Отметка времени (военный формат)
    40605-606 2 Р одноместный 30,5 Значение канала 2
    40607-608 2 Р одноместный 676,4 Значение канала 3
    40609-700 92 Зарезервировано для других 46 переменных процесса
    Связь Modbus
    40701 1 Р uint16 199 Адрес устройства (1-247, по умолчанию = 1)
    40721 1 Р uint16 18 Конфигурация последовательной связи
    40741 1 Р uint16 1000 Тайм-аут EOM (конец сообщения для режима ASCII) (1000–15000 мс, по умолчанию = 1000)
    40761 1 Р uint16 1 Максимально допустимая скорость передачи данных (0-7)
    40781 1 Р uint16 256 Max PDU (байты полезной нагрузки, а не символы)
    40801-802 2 Ч/З uint32 74585638 Счетчик хороших сообщений
    40821 1 Ч/З uint16 1 Счетчик плохих сообщений
    40841 1 Ч/З uint16 5 Счетчик ответа на исключение
    timeGMT – Текущее время, Всемирное время (без летнего времени), неперескакивающие эфемеридные секунды.
    40901-906 6 Ч/З uint16   Год (0~65535)
          uint16   Месяц (1~12)
          uint16   День (1~31, в зависимости от месяца)
          uint16   Час (0~23)
          uint16   Минуты (0~59)
          uint16   Секунда (0~59)
    Блоки параметров – также см. массив переменных процесса, данные продублированы для облегчения опроса
    Блок параметров канала 1
    41001-002 2 Р одноместный 30.5 Значение канала 2
    41021-023 3 Р нстрока “градус Цельсия” Блоки Ch2 (6 байт)
    41041-056 16 Р нстрока “Температура” Параметр Ch2 (32 байта)
    41057-200 144       Зарезервировано
    Блок параметров канала 2
    41201-202 2 Р одноместный 676. 4 Значение канала 3
    41221-223 3 Р нстрока “См” Блоки Ch3 (6 байт)
    41241-256 16 Р нстрока “Уровень” Параметр Ch3 (32 байта)
    41261-262 2 Р одноместный 200,7 Смещение канала 3
    *41281-283 3 Р нстрока “мм” Ch3 OffsetUnits (6 байт)
    41263-400 138       Зарезервировано
    41401- 46000 460 0       Зарезервировано для других 23 блоков параметров

    *Доступно только с устьевыми головками AquaVent 5

    О сопоставлении адресов Modbus — драйвер Modbus

    [00:00] Теперь, когда мы знаем, как вручную создавать теги для подключения устройства Modbus, давайте посмотрим, как создать большое количество тегов одновременно с помощью функции сопоставления адресов драйвера Modbus. Мы здесь, в шлюзе, и мы снова на странице «Устройства». Просто для справки, я собираюсь прокрутить вниз. Мы находимся в разделе «Настройка» в разделе «Сервер и устройства OPC-UA». Возвращаясь к началу, у меня есть подключение устройства Modbus, которое я создал ранее. И если вы направитесь вправо, вы увидите раскрывающийся список «Дополнительно», и если вы нажмете на него, в нем будет ссылка «Адреса». Я собираюсь нажать на это. Вы должны увидеть страницу, которая выглядит следующим образом. Эта страница позволяет вам определить несколько диапазонов адресов в устройстве, которые позже будут отображаться на сервере OPC-UA Ignition.Начнем с простого примера. Я собираюсь спуститься ниже, нажмите здесь ссылку «Добавить строку». Появится новая строка, и здесь я могу настроить сопоставление. Итак, начну с префикса. Я просто собираюсь использовать V_ здесь. Префикс является частью имени, которое мы дадим этим сопоставленным элементам. Символы, которые я здесь использую, сами по себе ничего не значат. Я просто произвольно использую их для этого примера. Каждому из элементов, созданных в этой строке, будет присвоено имя V_, а затем номер. Вы можете использовать любой префикс, который вам нравится, за исключением обозначений, используемых драйвером, таких как HR или C.Теперь количество элементов, которые он создает для этого диапазона, зависит от начала и конца здесь. Итак, я скажу, что Начало равно нулю, а Конец равно девяти. Итак, в этом случае будет создано 10 элементов, все с префиксом V. Итак, мы начнем с V_0, V_1 и так далее. Я пока пропущу идентификатор шага и единицы. Я собираюсь оставить Modbus Type как Holding Register Int16, а затем мне нужно указать, где в этой таблице, в этой таблице регистров хранения, мы собираемся начать с нуля. Так что в этом случае я собираюсь сказать, что адрес Modbus один.Таким образом, первый адрес в таблице регистров хранения — это то место, где я собираюсь начать с этого диапазона, а затем каждый элемент будет считаться на единицу. Таким образом, V1 будет вторым адресом Modbus и так далее. Давайте посмотрим, как это выглядит. Итак, я собираюсь нажать кнопку Сохранить. Соединение с устройством будет повторно инициализировано, поэтому, пока оно это делает, я собираюсь прокрутить вниз и посмотреть на Quick Client. Итак, в разделе «Подключения OPC» и «Быстрый клиент» мы перейдем к серверу Ignition OPC-UA в разделе «Устройства» в разделе «Подключение устройства Modbus».Теперь есть папка UnitId 0. Я собираюсь войти туда. Вот моя папка V_0-V-9. И здесь мы видим каждый из сопоставленных элементов. Так что теперь я мог зайти в свой дизайнер, открыть браузер OPC, перетащить эти элементы, эти V, в браузер тегов и создать сразу несколько тегов Ignition. Теперь давайте посмотрим на другой пример. У меня есть несколько конфигураций, сохраненных в формате CSV, которые я хотел бы импортировать. Я нажму кнопку “Назад” в своем браузере. Таким образом, я вернусь на страницу устройств. Я снова нажму на раскрывающееся меню «Дополнительно».И я выберу адреса. На этот раз я поднимусь наверх и воспользуюсь ссылкой «Импорт конфигурации». Итак, я нажму «Выбрать файл». У меня есть готовый файл CSV со всеми моими конфигурациями. Я собираюсь нажать кнопку Открыть. И прежде чем я нажму эту конфигурацию импорта, я хочу отметить, что импорт конфигурации сотрет здесь предыдущие строки. Если у вас уже есть определенные конфигурации, вы можете вместо этого экспортировать и объединить их в файл, который хотите импортировать.Таким образом, у вас будут все ваши конфигурации в одном файле. Поэтому я нажму ссылку «Импорт конфигурации». И если мы прокрутим немного вниз, вы увидите, что он импортировал кучу новых строк. Теперь, прежде чем я нажму кнопку «Сохранить», я хочу указать здесь на Radix. По умолчанию мы начинаем с системы счисления 10. Таким образом, все эти сопоставленные элементы, которые мы создаем, основаны на 10. Теперь в некоторых сценариях может быть предпочтительнее, чтобы это было восьмеричное или восьмеричное число, поэтому я собираюсь изменить основание счисления на восемь, например.И давайте посмотрим на конечный результат. Поэтому я снова нажму кнопку «Сохранить». И, как и раньше, я собираюсь прокрутить вниз. Мы собираемся перейти к нашему Quick Client. Опять же, мы углубимся в наш сервер OPC-UA, вниз к устройствам, нашему соединению устройства Modbus, UnitId 0. У нас есть несколько папок, по одной для каждой строки, в которую мы импортировали. И поскольку это восьмеричные значения, мы начинаем с CC0 , перейдите к 7, а затем перейдите к CC10. Таким образом, даже несмотря на то, что протокол Modbus не поддерживает просмотр, вы можете использовать эту функцию сопоставления адресов для создания доступных для просмотра областей устройства, а затем создать большое количество тегов всего за несколько секунд.

    Теперь, когда мы знаем, как вручную создавать теги для подключения устройства Modbus, давайте посмотрим, как создать большое количество тегов одновременно с помощью функции сопоставления адресов драйвера Modbus. Мы здесь, в шлюзе, и мы снова на странице «Устройства». Просто для справки, я собираюсь прокрутить вниз.Мы находимся в разделе «Настройка» в разделе «Сервер и устройства OPC-UA». Возвращаясь к началу, у меня есть подключение устройства Modbus, которое я создал ранее. И если вы направитесь вправо, вы увидите раскрывающийся список «Дополнительно», и если вы нажмете на него, в нем будет ссылка «Адреса». Я собираюсь нажать на это. Вы должны увидеть страницу, которая выглядит следующим образом. Эта страница позволяет вам определить несколько диапазонов адресов в устройстве, которые позже будут отображаться на сервере OPC-UA Ignition. Начнем с простого примера.Я собираюсь спуститься ниже, нажмите здесь ссылку «Добавить строку». Появится новая строка, и здесь я могу настроить сопоставление. Итак, начну с префикса. Я просто собираюсь использовать V_ здесь. Префикс является частью имени, которое мы дадим этим сопоставленным элементам. Символы, которые я здесь использую, сами по себе ничего не значат. Я просто произвольно использую их для этого примера. Каждому из элементов, созданных в этой строке, будет присвоено имя V_, а затем номер. Вы можете использовать любой префикс, который вам нравится, за исключением обозначений, используемых драйвером, таких как HR или C.Теперь количество элементов, которые он создает для этого диапазона, зависит от начала и конца здесь. Итак, я скажу, что Начало равно нулю, а Конец равно девяти. Итак, в этом случае будет создано 10 элементов, все с префиксом V. Итак, мы начнем с V_0, V_1 и так далее. Я пока пропущу идентификатор шага и единицы. Я собираюсь оставить Modbus Type как Holding Register Int16, а затем мне нужно указать, где в этой таблице, в этой таблице регистров хранения, мы собираемся начать с нуля. Так что в этом случае я собираюсь сказать, что адрес Modbus один.Таким образом, первый адрес в таблице регистров хранения — это то место, где я собираюсь начать с этого диапазона, а затем каждый элемент будет считаться на единицу. Таким образом, V1 будет вторым адресом Modbus и так далее. Давайте посмотрим, как это выглядит. Итак, я собираюсь нажать кнопку Сохранить. Соединение с устройством будет повторно инициализировано, поэтому, пока оно это делает, я собираюсь прокрутить вниз и посмотреть на Quick Client. Итак, в разделе «Подключения OPC» и «Быстрый клиент» мы перейдем к серверу Ignition OPC-UA в разделе «Устройства» в разделе «Подключение устройства Modbus».Теперь есть папка UnitId 0. Я собираюсь войти туда. Вот моя папка V_0-V-9. И здесь мы видим каждый из сопоставленных элементов. Так что теперь я мог зайти в свой дизайнер, открыть браузер OPC, перетащить эти элементы, эти V, в браузер тегов и создать сразу несколько тегов Ignition. Теперь давайте посмотрим на другой пример. У меня есть несколько конфигураций, сохраненных в формате CSV, которые я хотел бы импортировать. Я нажму кнопку “Назад” в своем браузере. Таким образом, я вернусь на страницу устройств. Я снова нажму на раскрывающееся меню «Дополнительно».И я выберу адреса. На этот раз я поднимусь наверх и воспользуюсь ссылкой «Импорт конфигурации». Итак, я нажму «Выбрать файл». У меня есть готовый файл CSV со всеми моими конфигурациями. Я собираюсь нажать кнопку Открыть. И прежде чем я нажму эту конфигурацию импорта, я хочу отметить, что импорт конфигурации сотрет здесь предыдущие строки. Если у вас уже есть определенные конфигурации, вы можете вместо этого экспортировать и объединить их в файл, который хотите импортировать.Таким образом, у вас будут все ваши конфигурации в одном файле. Поэтому я нажму ссылку «Импорт конфигурации». И если мы прокрутим немного вниз, вы увидите, что он импортировал кучу новых строк. Теперь, прежде чем я нажму кнопку «Сохранить», я хочу указать здесь на Radix. По умолчанию мы начинаем с системы счисления 10. Таким образом, все эти сопоставленные элементы, которые мы создаем, основаны на 10. Теперь в некоторых сценариях может быть предпочтительнее, чтобы это было восьмеричное или восьмеричное число, поэтому я собираюсь изменить основание счисления на восемь, например.И давайте посмотрим на конечный результат. Поэтому я снова нажму кнопку «Сохранить». И, как и раньше, я собираюсь прокрутить вниз. Мы собираемся перейти к нашему Quick Client. Опять же, мы углубимся в наш сервер OPC-UA, вниз к устройствам, нашему соединению устройства Modbus, UnitId 0. У нас есть несколько папок, по одной для каждой строки, в которую мы импортировали. И поскольку это восьмеричные значения, мы начинаем с CC0 , перейдите к 7, а затем перейдите к CC10. Таким образом, даже несмотря на то, что протокол Modbus не поддерживает просмотр, вы можете использовать эту функцию сопоставления адресов для создания доступных для просмотра областей устройства, а затем создать большое количество тегов всего за несколько секунд.

    .