Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Промислові мережі та інтеграційні
технології
MODBUS RTU/ASCII
реєстрація fieldbus_book@ukr.net
автор і лектор: Олександр П...
Modbus over Serial Line (Modbus RTU/ASCII)
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
2
• Згідно стандартів MODBUS....
Modbus Serial – стек протоколів
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
3
• Modbus Protocol – являється протокол...
Поняття канального рівня
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
4
На канальному рівні вирішуються задачі:
• дос...
Modbus Serial – метод доступу та адресація
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
5
На шині RS485 в кожен момен...
Modbus Serial – метод доступу та адресація
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
6
Modbus on RS485
Master
Slav...
Modbus Serial – обмін між Slave
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
7
Modbus on RS485
Master
1K
1S
Modbus
Cl...
Кадр Modbus Serial
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
8
Адреса slave 1 to 247,
0 для широкомовлення
функ
ці...
Звернення до одного Веденого
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
9
Modbus on RS485
Master
Slave 1
Modbus
Cli...
Широкомовна посилка
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
10
Modbus on RS485
MasterSlave 1
Modbus
Client
Modbu...
Modbus Serial – комунікаційні помилки
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
11
• якщо контрольна сума не співп...
Modbus Serial: Modbus RTU та Modbus ASCII
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
12
• Два режими роботи мережі:...
Modbus RTU та Modbus ASCII формат символу
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
13
Modbus RTU: 11 бітний симво...
Modbus RTU (8 bit) формат кадру
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
14
* інтервал тиші мінімум 3.5 x часу си...
Modbus ASCII (7 bit) формат кадру
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
15
1 char
(":")
FunctionAddressBeginni...
Приклад передачі кадру в Modbus ASCII
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
16
функ
ція
03 00 6B
адреса
початк...
Time Diagram Modbus
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
17
Modbus RTU. Приклад методики розрахунку часу
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
18
Як розрахувати час, що п...
Modbus Serial Line – фізичний рівень
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
19
• початкова специфікація обмежув...
2-х провідне підключення Modbus on RS-485
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
20
(+)
(-)
Варіанти термінатор...
4-х провідне підключення Modbus on RS-485
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
21
Що таке 4-ри провідна схема...
Способи підключення до пристроїв
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
22
RS-485
RS-232
Які вимоги до способів...
Вимоги Modbus.ORG до документації
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
23
У документації до засобу з Modbus S...
Modbus Serial Line Implementation Classes
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
24
Modbus Serial Line: приклад налаштування
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
25
Modbus Serial Line: варіанти реалізації
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
26
- у всіх пристроях повинен бу...
Modbus Serial Line: висновки
30.03.2015
NET – Modbus Serial
pupena_san@ukr.net
27
• (+) відкритий, велика кількість підтри...
Upcoming SlideShare
Loading in …5
×

3 2 modbus serial

660 views

Published on

Відкритий лекційний курс "Промислові мережі та інтеграційні технології" 3.2. MODBUS RTU/ASCII Відео http://youtu.be/smUK3CvH8sI

Published in: Engineering
  • Be the first to comment

3 2 modbus serial

  1. 1. Промислові мережі та інтеграційні технології MODBUS RTU/ASCII реєстрація fieldbus_book@ukr.net автор і лектор: Олександр Пупена (pupena_san@ukr.net) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua) 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 1
  2. 2. Modbus over Serial Line (Modbus RTU/ASCII) 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 2 • Згідно стандартів MODBUS.ORG, Modbus over Serial Line (Modbus RTU або Modbus ASCII) може функціонувати поверх RS-485 або RS-232. • На практиці Modbus over Serial Line може працювати поверх будь-яких стандартних послідовних асинхронних інтерфейсів (RS-422, CL). • Замість словосполучення "Modbus over Serial Line" частіше використовують "мережа Modbus" (Modbus network), "шина Modbus" (Modbus bus), Modbus Serial або прямо вказують Modbus RTU чи Modbus ASCII. • Щоб вказати повний стек протоколів та інтерфейсів для конкретної реалізації мережі краще використовувати щось типу "Modbus RTU on RS485" http://modbus.org/docs/Modbus_over_serial_line_V1_02.pdf Що таке Modbus over Serial Line?
  3. 3. Modbus Serial – стек протоколів 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 3 • Modbus Protocol – являється протоколом прикладного рівня*, він не визначає яким чином проводиться доставка PDU від Клієнту до Серверу та в зворотному напрямку, це залежить від типу мережі Modbus • у Modbus Serial доставку PDU виконує канальний рівень, протоколом канального рівня є Modbus Serial Line Protocol *Протокол прикладного рівня – система правил взаємодії прикладних процесів (програм). Чого не вистачає протоколу Modbus щоб функціонувати поверх послідовних ліній?
  4. 4. Поняття канального рівня 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 4 На канальному рівні вирішуються задачі: • доступ до середовища передачі тобто визначається метод доступу (наприклад, вирішення в шинах на базі RS485, який вузол в кожен момент часу може передавати) • розмежування кадрів (часове, символьне…) • доставка кадрів за місцем призначення (адресація вузлів) • перевірка кадрів на цілісність (контрольні суми) Канальний рівень – забезпечує доставку даних від вузла до вузла, які знаходяться в одній фізичній мережі. Оперує кадрами. Modbus on RS4851 2 У Modbus Serial протоколом канального рівня є Modbus Serial Line Protocol Що таке канальний рівень мережі?
  5. 5. Modbus Serial – метод доступу та адресація 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 5 На шині RS485 в кожен момент часу тільки один вузол може передавати, тому необхідно визначити метод доступу У Modbus Serial метод доступу Master-Slave (Ведучий-Ведений): 1. один вузол являється Master усі інші Slave 2. кожен Slave при налаштуванні отримує унікальну адресу від 1 до 247 3. Master передає свій кадр у будь який момент при необхідності, у Modbus Serial це передача в кадрі запиту до Серверу 4. Slave може передати свій кадр тільки тоді, коли дозволяє Master, у Modbus Serial це передача в кадрі відповіді до Клаєнту 5. у Modbus Serial може функціонувати тільки один Клієнт на вузлі Master, на усіх інших вузлах (Slave) виконуються тільки процеси- Сервери Modbus on RS4851 2 Master Slave 5 MasterSlave1 Slave2 Slave3 Slave4Slave5 Slave6Slave7 У якій послідовності пристрої доступаються до загальної шини?
  6. 6. Modbus Serial – метод доступу та адресація 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 6 Modbus on RS485 Master Slave 1 1K 2S Modbus Client Modbus Server Позначення: 1K, 3К, 4К – клієнтські запити, 2S – серверні відповіді Modbus Server Modbus Client 4К 3К Slave 2 Slave 3 Slave 4Slave 5Slave 6Slave 7 У деяких засобах можливе переключення ролей Master/Slave, механізм такої "мультимастерності" не визначений протоколом Modbus Serial Line. Приклади: ПЛК Мікрол, Twido. Які пристрої можуть обмінюватися даними в одній мережі Modbus?
  7. 7. Modbus Serial – обмін між Slave 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 7 Modbus on RS485 Master 1K 1S Modbus Client Modbus Server Modbus Server Slave 5 Slave 7 А як можна передати дані від одного Slave до іншого? 2S 1К. Ведучий робить запит на зчитування потрібних змінних. 1S. Ведений віддає значення змінних. 2K. Везучий записує ці значення змінних Веденому. 2S. Ведений відповідає підтвердженням. Такий спосіб не описаний в протоколі і реалізовується самостійно! Необхідно переписати значення з Slave5 в Slave7 .
  8. 8. Кадр Modbus Serial 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 8 Адреса slave 1 to 247, 0 для широкомовлення функ ція 03 00 6B адреса початкового регістру HI LO кількість регістрів 00 03 HI LO читати Holding Registers *починаючи з 107 3 штуки відповідь на читання Holding Registers передаю 6 байт дані функ ція 03 06 лічил ьник значення регістрів СD 6B 400108-й 400109-й 00 05 00 64 400110-й контрольна сума: для RTU – CRC, ASCII - LRC 05 адре са Slave 05 адре са Slave XX XX контрольн а сума YY YY контрольн а сума Кажу Веденому5: контрольна сума = XXXX контрольна сума = YYYYЯ,Ведений5, відповідаю: 1. Кадр запиту Клієнту до Серверу на Веденому з номером 5 2. Кадр відповіді Як формуються кадри для передачі запитів та відповідей?
  9. 9. Звернення до одного Веденого 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 9 Modbus on RS485 Master Slave 1 Modbus Client Modbus Server Slave 2 Slave 3 Slave 4Slave 5Slave 6Slave 7 1K 03 00 6B 00 0305 XX XX1K 2S 03 06 СD 6B 00 05 00 6405 YY YY2S
  10. 10. Широкомовна посилка 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 10 Modbus on RS485 MasterSlave 1 Modbus Client Modbus Server Slave 2 Slave 3 Slave 4Slave 5Slave 6Slave 7 03 00 6B 00 0300 XX XX Кадри-відповіді не повертається. У широкомовних кадрах можливі тільки запити на запис!
  11. 11. Modbus Serial – комунікаційні помилки 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 11 • якщо контрольна сума не співпадає – кадр ігнорується • якщо символ не пройшов перевірку біту паритета – кадр ігнорується • відповідь від Веденого очікується протягом TimeOut • Ведучий може повторити запит декілька раз при помилці TimeOut Як себе ведуть вузли при комунікаційних помилках?
  12. 12. Modbus Serial: Modbus RTU та Modbus ASCII 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 12 • Два режими роботи мережі: Modbus RTU та Modbus ASCII. • Усі вузли в мережі повинні функціонувати в однакових режимах і з однаковими комунікаційними параметрами. По замовченню - режим Modbus RTU. • Modbus RTU та Modbus ASCII відрізняються форматом кадрів, які переносять Modbus Serial Line PDU • Modbus RTU: кожен байт Modbus Serial Line PDU передається окремим символом (8 біт даних) • Modbus ASCII: всі числові значення передаються як ASCII символ, тобто 7-бітним кодом; один байт – два символи Яка різниця між режимом RTU та ASCII?
  13. 13. Modbus RTU та Modbus ASCII формат символу 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 13 Modbus RTU: 11 бітний символ, два варіанти: • з паритетом: 1 стартовий, 8 даних, 1 паритет, 1 стоповий • без паритету: 1 стартовий, 8 даних, 2 стопових Modbus ASCII: 10 бітний символ, два варіанти: • з паритетом: 1 стартовий, 7 даних, 1 паритет, 1 стоповий • без паритету: 1 стартовий, 7 даних, 2 стопових Які формати символів для режимів RTU та ASCII?
  14. 14. Modbus RTU (8 bit) формат кадру 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 14 * інтервал тиші мінімум 3.5 x часу символу ** у алгоритмі розрахунку CRC16 використовуються усі попередні поля, сам алгоритм та варіант програми наведені на сайті www.MODBUS.org Тиша* FunctionAddressBeginning Data CRC16** End 1 byte 1 byte 0 to 252 bytes 2 bytes Тиша* 256 bytes maximum Master message Slave response >= 3.5 char <= 1.5 char >= 3.5 char > 1.5 char Frame not OK Як передається кадр в режимі RTU?
  15. 15. Modbus ASCII (7 bit) формат кадру 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 15 1 char (":") FunctionAddressBeginning Data LRC* End 2 chars 2 chars 0 to 2 x 252 chars 2 chars 2 chars (CR + LF) 513 characters maximum час паузи між кадрами не має значення Master message Slave response Frame OK 0316 буде передаватися як ASCII-код символів „0” (3016) и „3” (3316) 0110000 0110011 * у алгоритмі розрахунку LRC використовуються усі попередні поля окрім символу початку ":", сам алгоритм та варіант програми наведені на сайті www.MODBUS.org Як передається кадр в режимі ASCII?
  16. 16. Приклад передачі кадру в Modbus ASCII 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 16 функ ція 03 00 6B адреса початкового регістру HI LO кількість регістрів 00 03 HI LO 05 адре са Slave 8A контрольн а сума LRC 3A 30 3035 33 30 30 36 42 30 30 30 33 38 41 0D 0A Modbus Serial Line PDU (ASCII) Кадр Modbus ASCII : 350 0 0 0 6 B 0 0 0 3 8 A (CR)(LF)
  17. 17. Time Diagram Modbus 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 17
  18. 18. Modbus RTU. Приклад методики розрахунку часу 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 18 Як розрахувати час, що потрібний для виконання обміну з усіма Веденими ? Слід враховувати: 1) час, необхідний для передачі кадрів запитів та відповідей; 2) час обробки запитів та формування відповіді; 3) можливі таймаути
  19. 19. Modbus Serial Line – фізичний рівень 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 19 • початкова специфікація обмежувалась описом кадру, в стандарті MODBUS.ORG вказуються вимоги та рекомендації на фізичному рівні; • базується на RS-485 та RS-232 • Бітові швидкості 9600 біт/с та 19200 біт/с (за замовченням), інші швидкості є опціональними; • метод кодування NRZ • для RS-485 шина з трьома способами підключення : 1. безпосередньо до магістрального (trunk) кабелю, так званим способом daisy- chain; 2. через пасивну коробку підключення та кабель відгалуження (Derivation); до 20 м при 9600 біт/с; для мультипортових 40/n м (n – кількість портів) 3. через активну коробку та специфічний кабель відгалуження Які вимоги до реалізації фізичного інтерфейсу?
  20. 20. 2-х провідне підключення Modbus on RS-485 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 20 (+) (-) Варіанти термінаторів (LT) : • резистор 150 Ом, 0.5 Вт; • конденсатор (1 нФ, 10 В мінімум) + резистор номіналом 120 Ом (0.25 Вт) Захисне зміщення: PullIUp та PulDown від 450 Ом до 650 Ом в залежності від кількості пристроїв (650 Ом при великій кількості). Проводиться тільки в одній точці лінії, як правило на стороні Ведучого. Максимальна кількість пристроїв з реалізованою поляризацією зменшується на 4 порівняно з системою без поляризації. Як правильно підключати по RS-485?
  21. 21. 4-х провідне підключення Modbus on RS-485 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 21 Що таке 4-ри провідна схема RS-485?
  22. 22. Способи підключення до пристроїв 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 22 RS-485 RS-232 Які вимоги до способів підключення пристроїв?
  23. 23. Вимоги Modbus.ORG до документації 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 23 У документації до засобу з Modbus Serial мусить бути описані: - перелік усіх підтримуваних запитів; - операційні режими; - візуальна діагностика; - доступні змінні (регістри/біти) та підтримувані коди функцій; - правила інсталяції (монтажу), зкорема: - правила монтажу 2-х та 4-х провідного Modbus - способи поляризації (захисного зміщення); - правильна прокладка кабелів - вказані опціональні режими передачі, швидкості, паритети, живлення, способи конфігурації порта, інтерфейси - максимальна кількість пристроїв без репітерів
  24. 24. Modbus Serial Line Implementation Classes 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 24
  25. 25. Modbus Serial Line: приклад налаштування 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 25
  26. 26. Modbus Serial Line: варіанти реалізації 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 26 - у всіх пристроях повинен бути присутній фізичний інтерфейс - для непрограмованих пристроїв (периферії, приводів, засобів вводу/виводу): прошитий на рівні мікропрограми чи ОС пристрою, або його модулю; - для ПЛК може бути присутній у вигляді: - прошитих в ОС ПЛК функцій як Master так і Slave; - прошитих в комунікаційний модуль функцій як Master так і Slave; - бібліотечної функції як Master так і Slave; - самописної функції як Master так і Slave; - для SCADA/HMI може бути присутній у вигляді: - драйверу протоколу, як правило Master (рідко Slave); - проміжного шлюзу (наприклад OPC, DDE) Яким чином може бути доступний Modbus Serial Line в пристрої?
  27. 27. Modbus Serial Line: висновки 30.03.2015 NET – Modbus Serial pupena_san@ukr.net 27 • (+) відкритий, велика кількість підтримуваних пристроїв з вбудованим протоколом; • (+) базується на стандартних промислових інтерфейсах, промислові умови експлуатації; • (+) відкритий та простий, можливість самостійної реалізації; • (+) детермінований, можливо визначити час доставки; • (-) порівняно повільний (9600 біт/с, 19200 біт/с); • (-) великі витрати на обробку: для періодичного оновлення кожен раз формування запиту і його обробка; неможливість буферного підходу (як в Prfibus, CANOpen); • (-) тільки один клієнт на всю мережу; • (-) обмежена кількість об'єктів обміну (змінних); • (-) недостатня жорсткість вимог і не дотримання обов'язкових вимог стандарту (із-за відсутності ліцензування) – часта несумісність засобів (наприклад "отвори" в областях змінних, малі буфери для кадрів) • (-) не достатньо продумані сервіси конфігурування, відсутність команд управління вузлом … • ….

×