logo
ВСІ ВІДПОВІДІ Dimka

79.Протокол промислової мережі Modbus.

Modbus відноситься до протоколів прикладного рівня мережевої моделі OSI. [3] Контролери на шині Modbus взаємодіють, використовуючи клієнт-серверну модель, засновану на транзакція х, що складаються із запиту і відповіді.

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

Специфікація Modbus описує структуру запитів і відповідей. Їх основа - елементарний пакет протоколу, так званий PDU (Protocol Data Unit). Структура PDU не залежить від типу лінії зв'язку і включає в себе код функції і поле даних. Код функції кодується однобайтові полем і може приймати значення в діапазоні 1 ... 127. Діапазон значень 128 ... 255 зарезервований для кодів помилок. Поле даних може бути змінної довжини. Розмір пакета PDU обмежений 253 байтами.

Modbus PDU

номер функції

дані

1 байт

N <253 (байт)

Для передачі пакету по фізичних лініях зв'язку PDU поміщається в інший пакет, що містить додаткові поля. Цей пакет має назву ADU (Application Data Unit). Формат ADU залежить від типу лінії зв'язку.

Існують три основні реалізації протоколу Modbus, дві для передачі даних по послідовних лініях зв'язку, як мідним EIA/TIA-232-E (RS-232), EIA-422, EIA/TIA-485-A (RS -485), так і оптичним і радіо:

і для передачі даних по мережах Ethernet поверх TCP/IP:

Загальна структура ADU наступна (у залежності від реалізації, деякі з полів можуть бути відсутні):

адресу відомого пристрою

код функції

дані

блок виявлення помилок

де

Відомі пристрої відповідають тільки на запити, що надійшли на їх адресу. Відповідь також починається з адреси відповідає відомого пристрою, який може змінюватися від 1 до 247. Адреса 0 використовується для широкомовної передачі, його розпізнає кожне пристрій, адреси в діапазоні 248 ... 255 - зарезервовані;.

Максимальний розмір ADU для послідовних мереж RS232/RS485 - 256 байт, для мереж TCP - 260 байт.