Стандартные команды протокола Modbus

контроллеры могут интерпретировать свои данные, используя четыре типа параметров, которым выделены пространства адресов. Соответствие адресов и контролируемых параметров обычно указывается в технической документации на контроллер. На чтение/изменение значений параметров каждого типа в протоколе существуют соответствующие команды.

Таблица 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) Команда состоит из адреса элемента, количества изменяемых элементов, количества передаваемых байт устанавливаемых значений и самих устанавливаемых значений. В ответе ведомый передает начальный адрес и количество изменённых элементов.

Читайте также

Одномодовые оптические волокна
В одномодовых оптических волокнах (SM ОВ) диаметр сердцевины соизмерим с длиной волны, и за счет этого в нем существует только одна основная направляемая мода LP01. Рис. 1. Р ...

Организация системы контроля доступа и видеонаблюдения в учреждении образования
Система контроля доступа - это совокупность программно-технических средств и чётко сформированной системы управления движением персонала и временем его нахождения на объекте. Основными ...

Проект устройства со световыми эффектами на основе микроконтроллера ATtiny12 семейства AVR фирмы Atmel
Популярность микроконтроллеров ATtiny постоянно увеличивается. Не последнюю роль в этом играет соотношение показателей «цена/ быстродействие/ энергопотребление», являющееся одним из ...

Основные разделы

Все права защищены! (с)2022 - www.generallytech.ru