Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функции, реализуемые протоколом MODBUS




Поле контрольной суммы

Поле данных

Поле данных занимает все поле “Данные” канального уровня. Поле данных, передаваемое ведущим устройством, содержит дополнительную информацию, необходимую для выполнения команды, определяемой полем кода функции. Поле данных, передаваемое ведомым устройством, может содержать:

1. В случае, если действие выполнено правильно – запрашиваемые ведущим устройством данные (или ничего, если никакие данные не запрашиваются).

2. В случае, если кадр от ведущего устройства принят неправильно или произошла ошибка при выполнении действия – 1 байт - соответствующий код исключения.

Поле контрольной суммы полностью занимает поле “Контрольная сумма” канального уровня. Размер поля контрольного уровня всегда – 1 байт в случае режима ASCII (на канальном уровне он раскладывается на два байта, каждый из которых содержит ASCII-код шестнадцатеричной цифры – тетрады контрольной суммы, см. раздел «Режим ASCII») и 2 байта – в режиме RTU. Способ расчета контрольной суммы также определяется режимом работы на канальном уровне ASCII или RTU. Расчет контрольной суммы выполняется по всем байтам кадра прикладного уровня (а не по байтам канального уровня, например, в режиме ASCII). Части кадра, не присутствующие в кадре прикладного уровня (сигнал запуска, сигнал окончания кадра) в расчете не учитываются.

Алгоритмы подсчета контрольной суммы методом LRC и CRC – на самостоятельное изучение.

 

Протокол MODBUS имеет ярко выраженный характер “Ведущий – ведомый”, то есть при его использовании всегда существует ведущее устройство, которое управляет как процессом обмена данными, так и поведением второго, ведомого устройства (иногда его называют сервером). По существу каждый пакет, передаваемый от ведущего устройства к ведомому, является командой на выполнение того или иного действия. Тип действия определяет код функции, содержащейся в поле “Код функции” пакета. Каждый пакет может содержать код только одной функции. Код функции может принимать значения от 0 до 127.

Существуют три стандартные категории кодов функций MODBUS:

8. Коды стандартных функций.

Это коды функций, уникальность которых гарантирована. Данные коды утверждены сообществом modbus.org, имеют документальное подтверждение в MB IETF RFC. Использовать их в целях, отличных от стандартных, нельзя.

9. Коды функций, определяемых пользователем.

Данные функции могут создаваться пользователем и не являются стандартными для всех устройств. Коды данных функций могут располагаться в диапазонах 65¸72 и 100¸110.

10. Коды функций, зарезервированные в настоящее время некоторыми компаниями для наследования свойств своей продукции.

Кроме поля “Код функции”пакет прикладного уровня MODBUS содержит поле данных, несущее дополнительную информацию, необходимую для выполнения функции, либо возвращающее запрашиваемую информацию от сервера. Протокол MODBUS предполагает, что внутреннее устройство сервера MODBUS может быть подразделено на 4 стандартных типа данных типа устройств памяти и ввода/вывода:

1) Discretes Input – дискретные входные линии, предназначенные для считывания входных логических сигналов. Данная линия представляет собой цифровой бит (то есть может принимать только два значения – 0 и 1), недоступна для записи. Реально в устройстве это могут быть не только входные линии, но и любые внутренние битовые флаги, доступные только для чтения.

2) Coils – дискретные линии ввода/вывода или внутренние битовые флаги. Отличие от типа Discretes Input – в том, что данные линии доступны не только для чтения, но и для записи.

3) Input Registers – 16-битовые регистры, доступные только для чтения. В качестве таковых могут выступать как входные цифровые порты устройства, так и внутренние регистры состояния.

4) Holding Registers – (дословно – регистры с защелками) – 16 битовые регистры, отличающиеся от Input Registers только тем, что они доступны и для записи.

Вследствие такой структуры стандартных данных поле данных пакета MODBUS может содержать либо битовые флаги, либо 16-битовые слова. В последнем случае первым в пакете располагается старший, а вторым – младший байт.

Некоторые стандартные функции MODBUS представлены в таблице:

 

Табл. 4.1. Некоторые стандартные функции MODBUS

Описание функции Код функции (HEX) Субкод функции (HEX)
Чтение внешних дискретных линий и внутренних битовых флагов системы управления 01h  
Побитовое чтение дискретных внешних входных линий системы управления 02h  
Чтение 16-битных регистров внешних входных сигналов или внутренних 16-битных регистров системы управления 03h  
Чтение 16-битовых регистров внешних входных сигналов системы управления 04h  
Вывод битового значения во внешнюю выходную дискретную линию или во внутренний битовый флаг системы управления 05h  
Запись значения в один 16-битный регистр внешних сигналов или 16-битный внутренний регистр системы управления 06h  
Запись нескольких внешних выходных дискретных линий или внутренних битовых флагов системы управления, сгруппированных в 8-битовые регистры 0Fh  
Запись значений в 16-битные регистры внешних входных сигналов или внутренние 16-битные регистры системы управления 10h  
Побитовая модификация 16-битного регистра внешних входных сигналов или внутреннего 16-битового регистра системы управления 16h  
Чтение/Запись внутренних 16-битных регистров внешних сигналов или 16-битных регистров системы управления 17h  
Чтение идентификатора устройства 2Bh 0Eh

 

 




Поделиться с друзьями:


Дата добавления: 2015-07-02; Просмотров: 444; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.