контроллеры могут интерпретировать свои данные, используя четыре типа параметров, которым выделены пространства адресов. Соответствие адресов и контролируемых параметров обычно указывается в технической документации на контроллер. На чтение/изменение значений параметров каждого типа в протоколе существуют соответствующие команды.
Таблица 3.5.1 - Типы данных modbus
Тип параметра |
Тип величины |
Формат |
Возможные операции |
Команды Modbus |
Coils (регистры флагов) |
Дискретные |
1 бит |
чтение/запись |
1/5,F |
Discret Inputs (дискретные входы) |
Дискретные |
1 бит |
чтение |
2 |
Input Registers (регистры ввода) |
Аналоговые |
16 бит |
чтение |
4 |
Holding Registers (регистры хранения) |
Аналоговые |
16 бит |
чтение/запись |
3/6 |
Физически эти регистры - ячейки памяти ОЗУ контроллера.
Для чтения значений из этих таблиц данных используются функции с кодами 1-4 (0x01-0x04): 1 (0x01) - чтение значений из нескольких регистров флагов (Read Coil Status) 2 (0x02) - чтение значений из нескольких дискретных входов (Read Discrete Inputs) 3 (0x03) - чтение значений из нескольких регистров хранения (Read Holding Registers) 4 (0x04) - чтение значений из нескольких регистров ввода (Read Input Registers) Запрос состоит из адреса первого элемента таблицы, значение которого требуется прочитать, и количества считываемых элементов. Адрес и количество данных задаются 16-битными числами, старший байт каждого из них передается первым. В ответе передаются запрошенные данные. Количество байт данных зависит от количества запрошенных элементов. Перед данными передается один байт, значение которого равно количеству байт данных.
Запись одного значения происходит при помощи следующих функций: 5 (0x05) - запись значения одного флага (Force Single Coil) 6 (0x06) - запись значения в один регистр хранения (Preset Single Register)
Команда состоит из адреса элемента (2 байта) и устанавливаемого значения (2 байта). Если команда выполнена успешно, ведомое устройство возвращает копию запроса.
Запись нескольких значений задается функциями: 15 (0x0F) - запись значений в несколько регистров флагов (Force Multiple Coils) 16 (0x10) - запись значений в несколько регистров хранения (Preset Multiple Registers) Команда состоит из адреса элемента, количества изменяемых элементов, количества передаваемых байт устанавливаемых значений и самих устанавливаемых значений. В ответе ведомый передает начальный адрес и количество изменённых элементов.
Читайте также
Передаточная функция разомкнутой системы
1. Определить
передаточную функцию разомкнутой системы рис.1, представить её в канонической
.форме. Построить её логарифмические частотные характеристики.
2. Оценить
показатели к ...
Проектирование РЭА
При конструкторском проектировании РЭА (радиоэлектронной
аппаратуры) решаются задачи, связанные с поиском наилучшего варианта
конструкции, удовлетворяющего требованиям технического задан ...
Поверка электронного вольтметра В7-26 по напряжению постоянного тока
Считается, что первый вольтметр изобрел М. Фарадей, причем в 1830
году, ещё за год до того, как он же открыл явление электромагнитной индукции,
на котором основано действие целого класса ...