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