Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции СКМ.doc
Скачиваний:
29
Добавлен:
02.03.2016
Размер:
776.19 Кб
Скачать

5.4. Прикладний рівень.

Забезпечує комунікацію між пристроями типу «мастер/слейв». Прикладний рівень незалежить від фізичного і канального рівнів, зокрема, він може використовувати протоколи Ethernet Тср/ip (Modbus Тср/ip), Modbus Plus (багатомастерна мережа з передачею маркера), інтерфейси RS-232, RS-422, RS-485, оптоволоконні, радіоканали і інші фізичні середовища для передачі сигналів.

Прикладний рівень Modbus базується на запитах за допомогою кодів функцій. Код функції вказує слейв-пристрою, яку операцію він повинен виконати.

При використанні протоколу прикладного рівня з різними протоколами транспортного і канального рівнів зберігається незмінним основний блок Modbus-повідомлення, що включає код функції і дані. Цей блок називається PDU (Protocol Data Unit) — елемент даних протоколу. До блоку PDU можуть додаватися додаткові поля при використанні його в різних промислових мережах і тоді він називається ADU (Application Data Unit) — елемент даних додатку.

Коди функцій. Стандартом Modbus передбачено три категорії кодів функцій: встановлені стандартом, такі, що задаються користувачем і зарезервовані.

Коди функцій є числами в діапазоні від 1 до 127. Коди в діапазоні від 65 до 72 і від 100 до 110 відносяться до користувацьких, що задаються, функції, в діапазоні від 128 до 255 зарезервовані для пересилки кодів помилок у відповіді повідомлення. Код «0» не використовується.

Коди помилок використовуються слейв-пристроєм, щоб визначити, яку дію виконати для їх обробки. Значення кодів і їх сенс описані в стандарті на Modbus RTU.

Поле даних (див. рис. 5.1) в повідомленні, посланому від голованого пристрою залежному, містить додаткову інформацію, яку слейв-пристрій використовує, щоб виконати функцію, вказану в полі «код функції».

Поле даних може містити значення станів дискретних входів/виходів, адреси регістрів, з яких треба зчитувати (записувати) дані, кількість байт даних, посилання на змінні, число змінних, код підфункцій і тому подібне. Якщо слейв-пристрій нормально виконав прийняту від головного пристрою функцію, то у відповіді поле «код функції» містить ту ж інформацію, що і в запиті. Інакше слейв-пристрій повертає код помилки. У разі помилки код функції у відповіді рівний коду функції в запиті, збільшеному на 128.

Зміст поля даних. У повідомленні головного пристрою слейв-пристрою поле даних містить додаткову інформацію, необхідну для виконання вказаної функції. Наприклад, якщо код функції вказує, що необхідно прочитати дані з групи регістрів пристрою введення (код функції 03 hех), то поле даних містить адресу початкового регістру і кількість регістрів. Якщо головний пристрій посилає команду запису даних в групу регістрів (код функції 10 hех), то поле даних повинне містити адресу початкового регістра, число регістрів, кількість байтів даних і дані для запису в регістр.

Конкретний зміст поля даних встановлюється стандартом для кожної функції окремо.

У деяких повідомленнях поле даних може мати нульову довжину.

Контрольні питання

1. Переваги та недоліки протоколу Modbus.

2. Охарактеризувати різновиди протоколу Modbus.

3. Як реалізується Modbus-шина за допомогою магістрального кабелю?

4. Опишіть формат кадру та структуру поля даних протоколу Modbus RTU.

5. Структура Modbus RTU повідомлення та засоби контролю помилок.

6. Що забезпечує прикладний рівень протоколу Modbus?

ЛЕКЦІЯ 6. Промисловий Ethernet.

6.1. Особливості Ethernet.

6.2. Фізичний рівень.

6.3. Канальний рівень.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]