контроллеры могут интерпретировать свои данные, используя четыре типа параметров, которым выделены пространства адресов. Соответствие адресов и контролируемых параметров обычно указывается в технической документации на контроллер. На чтение/изменение значений параметров каждого типа в протоколе существуют соответствующие команды.
Таблица 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) Команда состоит из адреса элемента, количества изменяемых элементов, количества передаваемых байт устанавливаемых значений и самих устанавливаемых значений. В ответе ведомый передает начальный адрес и количество изменённых элементов.
Читайте также
Нанотехнологии в науке и технике
В течение тысячелетий человек использовал в быту и технике
макроскопические тела, состоящие из большого числа атомов, будь это каменный
топор или авиалайнер. Первая научно- ...
Проектирование мультивибратора на трёх логических элементах серии КМОП
Генераторы
- специальные элементы цифровых устройств, предназначенные для формирования
последовательности электрических сигналов различной формы. Генераторы
обеспечивают работу цифровог ...
Моделирование мобильных систем связи
При организации сети сотовой связи для определения оптимального места
установки и числа базовых станций, а также для решения других задач необходимо
уметь рассчитывать характеристики сиг ...