Modbus
Modbus - це комунікаційний протокол, заснований на архітектурі «клієнт-сервер». Широко застосовується в промисловості для організації зв'язку між електронними пристроями. Може використовувати для передачі даних через послідовні лінії зв'язку RS-485, RS-422, RS-232, а також мережі TCP/IP (Modbus TCP ).
Не слід плутати MODBUS і Modbus Plus. Modbus Plus - пропріетарний протокол належить компанії Schneider Electric. Фізичний рівень унікальний, схожий на Ethernet 10BASE-T, напівдуплекс по одній витій парі, швидкість 1 Мбіт / с. Транспортний протокол - HDLC, поверх якого специфіковано розширення для передачі PDU MODBUS.
Зміст
Історія
Modbus був розроблений компанією Modicon (в даний час належить Schneider Electric) для використання в її контролерах з програмованою логікою. Вперше специфікація протоколу була опублікована в 1979 році. Це був відкритий стандарт, що описує формат повідомлень і способи їх передачі в мережі яка складається з різних електронних пристроїв.
Спочатку контролери MODICON використовували послідовний інтерфейс RS-232. Пізніше став застосовуватися інтерфейс RS-485, так як він забезпечує більш високу надійність, дозволяє використовувати довші лінії зв'язку і підключати до однієї лінії кілька пристроїв.
Багато виробників електронного устаткування підтримали стандарт, на ринку з'явилися сотні використовуючих його виробів. В наш час розвитком Modbus займається некомерційна організація Modbus-IDA, створена виробниками та користувачами електронних приладів.
Стандарт MODBUS
Специфічна термінологія
- PDU (Protocol Data Unit) - загальна для всіх фізичних рівнів частина пакета MODBUS. Включає в себе код функції і дані пакета.
- ADU (Application Data Unit) - повний пакет MODBUS. Включає в себе специфічну для фізичного рівня частину пакету і PDU.
MODBUS специфікує 4 типи даних:
- Дискретних входів - однобітовий тип, доступний тільки на читання.
- Котушки - однобітовий тип, доступний на читання і на запис.
- Вхідні регістри - 16-бітовий знаковий або беззнакові тип, доступний тільки на читання.
- Проведення регістри - 16-бітовий знаковий або беззнакові тип, доступний на читання і на запис.
Склад стандарту
Стандарти MODBUS складаються з 3 частин:
- Документ Modbus Application Protocol містить специфікацію прикладного рівня мережевої моделі OSI:
- Елементарний пакет протоколу, так званий PDU (Protocol Data Unit), він єдиний для всіх фізичних рівнів. PDU упаковується в індивідуальний для кожного транспорту застосування блоку даних (ADU).
- Коди функцій і складу PDU для кожного коду.
- Документ Modbus по послідовної лінії містить специфікацію канального та фізичного рівнів мережної моделі OSI для фізичних рівнів RS485 і RS232. В принципі може використовуватися будь-який фізичний рівень заснований на асинхронному приймач.
- Документ MODBUS повідомлень по протоколу TCP / IP Керівництво по впровадженню містить специфікацію ADU для транспорту через TCP / IP стек.
Переваги стандарту
Основні переваги стандарту - відкритість і масовість. Величезна кількість датчиків і виконавчих пристроїв випущено промисловістю. Практично всі промислові системи контролю та управління мають програмні драйвера для роботи з мережами MODBUS. [Правити] Недоліки стандарту
Стандарт у своїй основі був написаний дуже давно, і багато актуальних для сучасних промислових мереж питання не були враховані [джерело?]. Стандарт специфікує метод передачі тільки двох типів даних. Відсутність чіткої вказівки в стандарті призвело до того, що з іншими типами даних сторонні виробники MODBUS-рішень надходили на свій розсуд. Розбрід де-факто в цьому питанні не дозволив згодом зробити уточнення в офіційному документі: це викликало б сплеск невдоволення виробників і можливу війну форматів. Стандарт не дозволяє ніякої оперативної сигналізації від кінцевого пристрою до майстра в разі необхідності (переривання). Потрібно чекати своєї черги в опитуванні. Це істотно обмежує застосовність MODBUS-рішень в системах управління реального часу. Стандарт не дозволяє кінцевим пристроям обмінюватися фіксованими даними один з одним без участі майстра. Це істотно обмежує застосовність MODBUS-рішень в системах регулювання реального часу. Стандарт не пропонує жодних рішень по початковій ініціалізації системи. Призначення мережевих адрес і прописування в системі параметрів кожного конкретного пристрою виконуються вручну.