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