Більш
детально про мережі Modbus Ви можете почитати в розділі 6.
2.4.1.1.Походження MODBUS. Мережі MODBUS RTU/ASCII
розроблені фірмою Gould Inc. (Modicon) для побудови промислових розподілених
систем управління. Вони одні з найпоширеніших у світі. Використання MODBUS приваблює простота протоколу й
використання стандартних промислових інтерфейсів. Популярність MODBUS RTU та широке впровадження Etherenet та технологій
Intranet в область промислових мереж, привело до появи мережі MODBUS TCP/IP. На сьогоднішній день просуванням всіх мереж MODBUS
займається некомерційна організація MODBUS-IDA.
2.4.1.2.Фізичний рівень MODBUS RTU/ASCII. Спеціальний
фізичний інтерфейс для MODBUS RTU/ASCII не визначений, а
вибирається з ряду стандартних: RS-232C,
RS-422, RS-485, USB або струмова петля. Однак стандартами MODBUS-IDA визначені правила для використання RS-485. Бітова швидкість вибирається
однією з двох 19200 біт/с або 9600 біт/с. Для кодування переданих даних на
канальному рівні використаються формати ASCII з 7-бітним символом та RTU з
8-бітним символом.
2.4.1.3.Канальний рівень MODBUS RTU/ASCII. В MODBUS RTU/ASCII
використовується класична схема доступу Ведучий-Ведений. Конфігурація на основі
цього протоколу припускає наявність одного Ведучого вузла й до 247 Ведених.
Тільки Ведучий ініціює цикли обміну даними, тобто тільки його прикладний Процес
може бути клієнтським. Кожне повідомлення-запит на канальному рівні Ведучого
додатково обрамляються адресою вузла Веденого (адреса 0 використається для
широкомовної передачі) та контрольною сумою (CRC16 для RTU та LRC для ASCII). Запит
відправляється Веденому, який його обробляє і повертає повідомлення-відповідь,
тим самим підтверджуючи запит.
2.4.1.4. Прикладний рівень MODBUS RTU/ASCII. Протокол прикладного
рівня MODBUS (MBAP протокол) базується на клієнт-серверній моделі обміну
повідомленнями. Повідомлення запит складається з коду команди (читання, запис і
т.д.) та додаткових даних. Протокол MBAP забезпечує ациклічний доступ по запиту
до змінних іншого вузла (Input Registers, Holding Registers, Discrete Inputs, Discrete Coils), діагностичними сервісами, сервісами запису/зчитування програми. Циклічно-періодичні
операції протоколом не визначені і можуть бути реалізовані тільки в прикладній
програмі.
2.4.1.5. Походження та структура MODBUS TCP/IP. MODBUS TCP/IP на прикладному рівні
базується на системі MODBUS повідомлень
(MBAP протокол), на транспортному та
мережному – використовує стек протоколів TCP/IP, а на канальному та фізичному – мережу Ethernet. Таке поєднання дає можливість простої і практично
безперешкодної інформаційної інтеграції між вузлами різних рівнів управління. На
відміну від MODBUS RTU та ASCII прикладний Процес одночасно може виступати як в якості Клієнта
так і Серверу. Це значить, що кількість MODBUS Клієнтів та MODBUS Серверів в
єдиній мережі практично не обмежується. Протокол MODBUS TCP/IP внесений до стандартів МЕК разом з протоколом реального
часу RTPS (див. розділ 10).
Характеристики MODBUS RTU/ASCII та MODBUS TCP/IP зведені в таблицю 2.6.
Таблиця 2.6
Характеристики MODBUS RTU/ASCII та TCP/IP.
|
|
характеристика
|
|
MODBUS RTU/ASCII
|
|
MODBUS TCP/IP
|
|
|
|
|
NetArea
|
|
-
рівень датчиків/контролерів
|
|
-
рівень датчиків/контролерів
|
|
|
прикладний
|
|
AppService
|
|
Протокол
MBAP
(MODBUS Application Protocol)
|
|
|
ациклічне по запиту читання/запис
даних процесу та параметричних даних (16 бітні слова, біти); управління
станом вузлів; діагностичні сервіси; функції програмування вузла;
|
|
|
|
|
доступ до змінних
вузлів-Ведених MODBUS RTU (шлюз)
|
|
|
AppModel
|
|
клієнт-серверна модель обміну повідомленнями для
даних процесу та параметричних даних; клієнт тільки на
вузлі Ведучого
|
|
клієнт-серверна модель
обміну повідомленнями для даних процесу та параметричних даних;
|
|
|
AppProcData
|
|
циклічний трафік не
визначений, для ациклічного – теоретично 65536 об’єктів з кожної області
пам’яті на вузол
|
|
|
AppResolut
|
|
залежить від швидкості та
реалізації на вузлах (див. розділ 6).
|
|
|
транспорт
|
|
TpService
|
|
не визначений
|
|
визначені протоколом TCP
|
|
|
мережний
|
|
NtService
|
|
визначені протоколом IP
|
|
|
канальний
|
|
ChAddModel
|
|
Відправник-Адерсат-msg,
адреси тільки у Ведених 1-247, 0 - широкомовна;
|
|
Відповідно до протоколу EthernetІІ/IEEE 802.2/3
|
|
|
ChAccess
|
|
Ведучий-Ведений;
|
|
|
ChChecksum
|
|
LRC для ASCII та CRC16 для RTU
|
|
|
фізичний
|
|
PhInterface*
|
|
RS-232,RS-422, RS-485, CL , USB
|
|
Відповідно до протоколу EthernetІІ/IEEE 802.3
|
|
|
PhMedia*
|
|
подвійна екранована вита пара (для RS-485)
|
|
|
PhTopology*
|
|
шина
(для RS-485)
|
|
|
PhLdrop*
|
|
<=20
м, мультипортові <= 40 м / кількість портів (для RS-485)
|
|
|
PhBaudRate*
|
|
9600
біт/с або 19200 біт/с (для RS-485)
|
|
|
PhSegment
|
|
кількість сегментів залежить від реалізації
інтерфейсу
|
|
|
PhNodes*
|
|
32 (для RS-485)
|
|
|
PhLength*
|
|
<1200 м (для RS-485)
|
|
|
* - згідно
MODBUS-IDA