КАТЕГОРИИ: Архитектура-(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
Дата добавления: 2015-07-02; Просмотров: 471; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |