Для протокола Modbus реализованы следующие функции:
- 3 (Read holding registers) – получение значения одного или нескольких регистров;
- 6 (Preset single register) – запись нового значения в регистр;
- 16 (Preset multiple registers) – установка новых значений нескольких последовательных регистров;
- 17 (report slave ID) – чтение имени прибора и версии прошивки.
Диапазон допустимых адресов: от 1 до 247. Адрес 0 является широковещательным адресом и допускается к использованию только с командами записи. Квитанция на широковещательный адрес отсутствует.
Для оперативных параметров не поддерживается групповой опрос. В каждом запросе должны производиться чтение/запись только одного параметра.
Структура запроса и ответа функции 17 приведены ниже.
Запрос функции 17
Адрес | Функция | Контрольная сумма |
|---|---|---|
от 1 до 247 | 0х11 | — |
Ответ функции 17
Адрес | Функция | Размер поля данных | Поле данных (коды ASCII) | Контрольная сумма |
|---|---|---|---|---|
от 1 до 247 | 0х11 | 14 | МВ110-TD vX.YY* | — |
* X – номер версии прошивки, YY – номер подверсии прошивки. | ||||
Перечень параметров протокола Modbus представлен в таблицах ниже:
Регистры протокола Modbus
Команда | Адрес регистра | Количество регистров | Допустимые значения | Примечание |
|---|---|---|---|---|
Исполнение прибора tdev | 0x0 | 1 | 0 – 1 канал (МВ110-224.1ТД); 1 – 4 канала (МВ110-224.4ТД) | Только чтение |
Режим питания (возбуждения) датчиков E.Rgm | 0x35 | 1 | 0 – постоянным напряжением; 1 – знакопеременным напряжением | Чтение/запись. По умолчанию: 0 Только для четырехканального прибора |
Частота дискретизации измерительного тракта Set.F | 0x91 | 1 | 0…13 – МВ110-224.1ТД; 0…3 – МВ110-224.4ТД | Чтение/запись. По умолчанию: 1* |
Скорость обмена bPS | 0x1 | 1 | Byte: 0 – 2,4 кбит/с; 1 – 4,8 кбит/с; 2 – 9,6 кбит/с; 3 – 14,4 кбит/с; 4 – 19,2 кбит/с; 5 – 28,8 кбит/с; 6 – 38,4 кбит/с; 7 – 57,6 кбит/с; 8 – 115,2 кбит/с | По умолчанию: 2 |
Тип контроля четности слова данных PrtY | 0x2 | 1 | Byte: 0 – контроля нет; 1 – четность; 2 – нечетность | По умолчанию: 0 |
Количество стоп-бит в посылке Sbit | 0x3 | 1 | Byte: 0 – 1 бит; 1 – 2 бита | По умолчанию: 0 |
Длина сетевого адреса A.Len | 0x4 | 1 | Byte: 0 – 8 бит; 1 – 11 бит | По умолчанию: 0 |
Базовый адрес прибора Addr | 0x5 | 1 | от 0 до 2047 | По умолчанию: 16 |
Код последней сетевой ошибки n.Err | 0x6 | 1 | — | Только чтение |
Задержка ответа от прибора rS.dL | 0x7 | 1 | от 0 до 45 мс | По умолчанию: 2 |
Применение настроек Aply | 0x8 | 1 | 0 | Только запись |
Состояние канала Ch.St | 0x9: 1 канал; 0xA: 2 канал; 0xB: 3 канал; 0xC: 4 канал | 1 | 0 – отключен; 1 – подключен | Чтение/запись. По умолчанию: 1 |
Учет веса тары Cnt.P | 0xD: 1 канал; 0xE: 2 канал; 0xF: 3 канал; 0x10: 4 канал | 1 | 0 – не учитывать; 1 – учитывать | Чтение/запись. По умолчанию: 0 |
Чувствительность подключенного датчика Sens | 0x11: 1 канал; 0x12: 2 канал; 0x13: 3 канал; 0x14: 4 канал | 1 | 0 – ± 1 мВ/В; 1 – ± 2 мВ/В; 2 – ± 4 мВ/В; 3 – ± 8 мВ/В; 4 – ± 16 мВ/В; 5 – ± 32 мВ/В; 6 – ± 64 мВ/В | Чтение/запись. По умолчанию: 1 |
Минимальное значение физической величины v.Min | 0x15–0x16 – 1 канал; 0x17–0x18 – 2 канал; 0x19–0x1A – 3 канал; 0x1B–0x1C – 4 канал | 2 | — | Чтение/запись. Тип данных: Float_32* По умолчанию: 0 |
Максимальное значение физической величины v.Max | 0x1D–0x1E – 1 канал; 0x1F–0x20 – 2 канал; 0x21–0x22 – 3 канал; 0x23–0x24 – 4 канал | 2 | — | Чтение/запись. Тип данных: Float_32* По умолчанию: 100 |
Вес тары P.Wgh | 0x25–0x26 – 1 канал; 0x27–0x28 – 2 канал; 0x29–0x2A – 3 канал; 0x2B–0x2C – 4 канал | 2 | — | Чтение/запись. Тип данных: Float_32* По умолчанию: 0 |
Мультипликатор веса тары P.Cnt | 0x2D – 1 канал; 0x2E – 2 канал; 0x2F – 3 канал; 0x30 – 4 канал | 1 | от 0 до 65535 | Чтение/запись. По умолчанию: 0 |
На весах – тара U.Wgh | 0x31 – 1 канал; 0x32 – 2 канал; 0x33 – 3 канал; 0x34 – 4 канал | 1 | 0 | Только запись. Вес, находящийся на весах, принимается за вес P.Wgh. Новый вес будет использован только после Init |
Режим питания (возбуждения) датчика E.Rgm | 0x35 | 1 | 0 – постоянным напряжением; 1 – знакопеременным напряжением | Чтение/запись. По умолчанию: 0 |
Применить внесенные изменения Init | 0x39 | 1 | 0 | Только запись. Параметры всех каналов переносятся в энергонезависимую память и применяются (перестройка сетевых параметров не выполняется) |
Сброс конфигурационных параметров в значения «по умолчанию» S.Def | 0x3A – 1 канал; 0x3B – 2 канал; 0x3C – 3 канал; 0x3D – 4 канал | 1 | 0 | Только запись. В энергонезависимую память прибора заносятся значения по умолчанию, сетевые параметры остаются неизменными |
Длина фильтра скользящего среднего MAv.L | МВ110-224.1ТД: 0x90. МВ110-224.4ТД: 0x92 – 1к.; 0x93 – 2к.; 0x94 – 3к.; 0x95 – 4к | 1 | 1…100 – МВ110-224.1ТД; 1…50 – МВ110-224.4ТД | Чтение/запись. По умолчанию: 10 |
* Значение хранится в двух последовательных регистрах. Старшие разряды хранятся в регистре, имеющем меньший адрес. | ||||
Оперативные параметры протокола Modbus
Команда | Адрес регистра | Количество регистров | Тип данных | Примечание |
|---|---|---|---|---|
Измеренное значение напряжения, мВ Rd.fV | 0x3E–0x3F – 1 канал; 0x40–0x41 – 2 канал; 0x42–0x43 – 3 канал; 0x44–0x45 – 4 канал | 2 | Float32* | Только чтение |
Измеренное значение физической величины, ед. Rd.fF | 0x46–0x47 – 1 канал; 0x48–0x49 – 2 канал; 0x4A–0x4B – 3 канал; 0x4C–0x4D – 4 канал | 2 | Float32* | Только чтение |
Измеренное значение физической величины, % Rd.pF | 0x4E–0x4F – 1 канал; 0x50–0x51 – 2 канал; 0x52–0x53 – 3 канал; 0x54–0x55 – 4 канал | 2 | Float32* | Только чтение |
Чтение статуса Rd.St | 0x56 | 1 | Int16 | Только чтение. Побитовая расшифровка слова статуса приведена в таблице |
* Значение хранится
в двух последовательных регистрах. Старшие разряды хранятся в регистре,
имеющем меньший адрес. | ||||
Сеанс юстировки начинается командами zU.Sh или zU.Fn и заканчивается командой U.Apl, любой командой модификации конфигурационных или сетевых параметров или тайм-аутом, равным 10 минутам. В случае завершения юстировки не командой U.Apl в регистре статуса установится бит 5–8 (см. таблицу), запись в энергонезависимую память произведена не будет.
Технологические параметры протокола Modbus
Команда | Адрес регистра | Количество регистров | Тип данных | Примечание |
|---|---|---|---|---|
Коэффициент смещения «заводской» юстировки zU.Sh | 0x5A – 1 канал; 0x5B – 2 канал; 0x5C – 3 канал; 0x5D – 4 канал | 1 | Int16 | Только запись |
Коэффициент масштаба «заводской» юстировки zU.Sc | 0x5E – 1 канал; 0x5F – 2 канал; 0x60 – 3 канал; 0x61 – 4 канал | 1 | Int16 | Только запись |
Юстировка минимального значения физической величины zU.Fn | МВ110-224.1ТД: 0x62…0x63. МВ110-224.4ТД: 0x62–0x63 – 1 канал; 0x64–0x65 – 2 канал; 0x66–0x67 – 3 канал; 0x68–0x69 – 4 канал | 1 | Float32* | Только запись. Передается значение напряжения, соответствующее минимальному значению физической величины |
Юстировка максимального значения физической величины zU.Fx | МВ110-224.1ТД: 0x66…0x67. МВ110-224.4ТД: 0x6C–0x6D – 1 канал; 0x6E–0x6F – 2 канал; 0x70–0x71 – 3 канал; 0x72–0x73 – 4 канал | 1 | Float32* | Только запись. Передается значение напряжения, соответствующее максимальному значению физической величины |
Применить юстировочные коэффициенты U.Apl | 0x6A | 1 | Int16 | Только запись. По данной команде юстировочные параметры всех каналов записываются в энергонезависимую память |
* Значение хранится в двух последовательных регистрах. Старшие разряды хранятся в регистре, имеющем меньший адрес. | ||||