SlideShare a Scribd company logo
1 of 14
Download to read offline
Промислові мережі та інтеграційні
технології
MODBUS on TCP/IP
реєстрація fieldbus_book@ukr.net
автор і лектор: Олександр Пупена (pupena_san@ukr.net)
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
1
Modbus on TCP/IP
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
2
http://modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf
• Згідно стандартів MODBUS.ORG Modbus on TCP/IP функціонує
поверх стека протоколів TCP/IP, тобто носієм Modbus запитів є
пакети TCP а для адресації вузлів IP-адреси;
• є реалізації Modbus on UDP/IP, однак в стандартах
MODBUS.ORG не описані
• є реалізації Modbus RTU/ASCII over TCP/IP, однак в стандартах
MODBUS.ORG не описані (кадр RTU/ASCII інкапсулюється в
пакет TCP або UDP)
• нижніми рівнями стеку є як правило Ethernet, але це не
обов'язково
Що таке Modbus on TCP/IP?
Modbus on TCP/IP комунікаційна архітектура
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
3
• Різні типи пристроїв:
• MODBUS TCP/IP Клієнти і Сервери підключені до мережі TCP/IP;
• міжмережні пристрої типу мостів, маршрутизаторів або шлюзів для
з’єднання TCP/IP мережі з послідовними лініями підмереж, що
дозволяє обмінюватися даними з MODBUS Serial Веденими
• Протоколом Modbus on TCP/IP (Modbus/TCP) передбачена
можливість шлюзування на Modbus RTU/ASCII
• кількість клієнтів і серверів не обмежено на мережу
• один вузол може бути одночасно і клієнтом і сервером
• синонімія понять (історична):
• Modbus TCP/IP Client часто називають Modbus TCP/IP Master
• Modbus TCP/IP Server часто називають Modbus TCP/IP Slave
Які типи пристроїв можна
з'єднати в мережу?
Modbus on TCP/IP формат повідомлення
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
4
ADU – Application Data Unit
Поле MBAP
Header
Дов-
жина
(байт)
Пояснення Клієнт Сервер
TransactionID 2
ідентифікація транзакцій
запитів/ відповідей
ініціалізує Клієнт в
запиті
копіює з запиту у
повідомлення -
відповідь
ProtocolID 2
тип протоколу, 0=MODBUS
протокол
ініціалізує Клієнт в
запиті
копіює з запиту у
повідомлення -
відповідь
Length 2 кількість наступних байтів
ініціалізує Клієнт в
запиті
ініціалізує Сервер у
відповіді
UnitID 1
адреса Веденого, який
підключений до вузла (1-
247, 255 або 0 – призначено
самому вузлу
ініціалізує Клієнт в
запиті
копіює з запиту у
повідомлення -
відповідь
MBAP Header = 7 байт
Стандартним серверним портом є TCPпорт = 502, однак може
бути призначеним на інший
Як передаються запити і відповіді?
Modbus on TCP/IP модель зв'язку
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
5
Стандартним серверним портом є TCPпорт = 502, однак може
бути призначеним на інший
Як функціонує весь стек протоколів?
Modbus on TCP/IP vs Modbus RTU/ASCII over TCP/IP
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
6
Modbus RTU/ASCII over TCP/IP в стандартах Modbus.ORG не описані
Яка різниця між Modbus TCP/IP та Modbus RTU/ASCII over TCP/IP ?
функ
ція
03 00 00
адреса
початкового
регістру
кількість
регістрів
00 0305
Unit
ID
TCP Header 06000000XXXX
Transaction
ID
Protocol
ID
length
MBAP Header MODBUS PDU
функ
ція
03 00 00
адреса
початкового
регістру
кількість
регістрів
00 0305
адре
са
Slave
04 4F
контрольн
а сума
TCP Header
RTU RTUMODBUS PDU
Modbus TCP/IP
Modbus RTU/ASCII over TCP/IP (не описаний в MODBUS.ORG)
Modbus on TCP/IP: приклад налаштування (1)
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
7
Modbus on TCP/IP: приклад налаштування (2)
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
8
Modbus on TCP/IP: варіанти реалізації
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
9
Яким чином може бути доступний Modbus on TCP в пристрої?
- у всіх пристроях повинен бути присутній TCP/IP як правило з Ethernet
- для непрограмованих пристроїв (периферії, приводів, засобів
вводу/виводу): прошитий на рівні мікропрограми чи ОС пристрою, або
його модулю;
- для ПЛК може бути присутній у вигляді:
- прошитих в ОС ПЛК функцій як Клієнт так і Сервер;
- прошитих в комунікаційний модуль функцій як Клієнт так і Сервер;
- бібліотечної функції як Клієнт так і Сервер;
- самописної функції як Клієнт так і Сервер;
- для SCADA/HMI може бути присутній у вигляді:
- драйверу протоколу, як правило Клієнт (рідко Сервер);
- проміжного шлюзу (наприклад OPC, DDE)
Modbus on TCP/IP: приклад програмної реалізації
клієнта
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
10
AI0
…
AI3
MW200
…
MW207
VIPA Speed7 NET
AI 4x12 bitsIM253-NET
VIPA System 200V
IP=192.168.0.2
IP=192.168.0.1VIPA S7 NET VIPA System 200v
кросс-кабель UTP
NETX5
(PG/OP)
X2
(MP2I)
X8
(TP)
X3
(PB-DP)
AI4x12bits
Рис.6.30. Схема мережних з’єднань до
прикладу 6.7
IM253-
NET
Для реалізації обміну:
• конфігурують з’єднувальні канали (Connections)
• для кожного каналу вказують:
• локальний процесор, для якого конфігурується канал (порт
TP);
• точку виходу в мережу, тобто комунікаційний модуль;
• ідентифікатор з’єднання;
• активність з’єднання, тобто чи ініціює даний вузол
з’єднання;
• адреса комунікаційного партнеру, з яким настроюється
з’єднання (IP та TCP port);
• локальний TCP port для з’єднання.
Modbus on TCP/IP: приклад програмної реалізації
клієнта
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
11
Рис.6.33. Блок DB11 для отримання відповіді серверу MODBUS (до прикладу
6.7).
Рис.6.31. Блок DB10 для формування клієнтського запиту MODBUS до прикладу 6.7.
Modbus on TCP/IP: приклад програмної реалізації
клієнта
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
12
Рис.6.32. Частина програми (Network1-3),
яка відповідає за відправку запитів, (до
прикладу 6.7).
Modbus on TCP/IP: приклад програмної реалізації
клієнта
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
13
Рис.6.34. Частина програми (Network4-5), яка відповідає за отримання відповіді з
вхідного буферу комунікаційного модулю (до прикладу 6.7).
Modbus on TCP/IP: висновки
07.04.2015
NET - ModbusTCP
pupena_san@ukr.net
14
• (+) плюси ті самі що в Modbus Serial Line
• (+) як правило базується на Ethernet – висока швидкість;
• (+) TCP/IP – легка інтеграція в систему, використання плюсів
маршрутизації;
• (+) немає обмежень на кількість клієнтів в мережі, на одному пристрої
може бути і клієнт і сервер;
• (-) великі витрати на обробку: для періодичного оновлення кожен раз
формування запиту і його обробка; неможливість буферного підходу (як
в Prfibus, CANOpen); TCP vs UDP
• (-) обмежена кількість об'єктів обміну (змінних);
• (-) недостатня жорсткість вимог і не дотримання обов'язкових вимог
стандарту (із-за відсутності ліцензування) – часта несумісність засобів
(наприклад "отвори" в областях змінних)
• (-) не достатньо продумані сервіси конфігурування, відсутність команд
управління вузлом …
• (-) як правило базується на Ethernet – на сьогоднішній день пристрої з
Ethernet дорожче аналогічних з RS-485; якщо Ethernet не промисловий,
може не працювати в промислових умовах;
• ….

More Related Content

What's hot

2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейси2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейсиПупена Александр
 
2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК 2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК Пупена Александр
 
1.1 призначення промислових комунікацій
1.1 призначення промислових комунікацій1.1 призначення промислових комунікацій
1.1 призначення промислових комунікаційПупена Александр
 
1.2 функції, градація промислових мереж
1.2 функції, градація промислових мереж1.2 функції, градація промислових мереж
1.2 функції, градація промислових мережПупена Александр
 
Підсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПідсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПупена Александр
 
Технологія трансляції мережних адрес NAT
Технологія трансляції мережних адрес NATТехнологія трансляції мережних адрес NAT
Технологія трансляції мережних адрес NATShevchenko Andriy
 
Лабораторно-Практична робота
Лабораторно-Практична роботаЛабораторно-Практична робота
Лабораторно-Практична роботаAnna Popravka
 
Лабораторно-Практична робота
Лабораторно-Практична роботаЛабораторно-Практична робота
Лабораторно-Практична роботаAnna Popravka
 
Computers and Computing Works lecture №9
Computers and Computing Works lecture №9Computers and Computing Works lecture №9
Computers and Computing Works lecture №9Lesia Sobolevska
 

What's hot (20)

2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейси2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейси
 
4 2 1 Протоколи IP (частина 1)
4 2 1 Протоколи IP (частина 1)4 2 1 Протоколи IP (частина 1)
4 2 1 Протоколи IP (частина 1)
 
2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК 2 3 утиліти для роботи з COM-портами ПК
2 3 утиліти для роботи з COM-портами ПК
 
5.1 profibus intro
5.1 profibus intro5.1 profibus intro
5.1 profibus intro
 
4 1 1 ethernet base
4 1 1 ethernet base 4 1 1 ethernet base
4 1 1 ethernet base
 
4 4 1 app
4 4 1 app 4 4 1 app
4 4 1 app
 
4 4 s security
4 4 s security 4 4 s security
4 4 s security
 
1.1 призначення промислових комунікацій
1.1 призначення промислових комунікацій1.1 призначення промислових комунікацій
1.1 призначення промислових комунікацій
 
1.2 функції, градація промислових мереж
1.2 функції, градація промислових мереж1.2 функції, градація промислових мереж
1.2 функції, градація промислових мереж
 
1 4 фізичний рівень
1 4 фізичний рівень1 4 фізичний рівень
1 4 фізичний рівень
 
Підсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПідсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. Modbus
 
5.3 profibus dp0
5.3 profibus dp05.3 profibus dp0
5.3 profibus dp0
 
5.2 PROFIBUS фізичний рівень
5.2 PROFIBUSфізичний рівень5.2 PROFIBUSфізичний рівень
5.2 PROFIBUS фізичний рівень
 
Profibus (УКР)
Profibus (УКР)Profibus (УКР)
Profibus (УКР)
 
лр3 основи modbus
лр3 основи modbusлр3 основи modbus
лр3 основи modbus
 
Технологія трансляції мережних адрес NAT
Технологія трансляції мережних адрес NATТехнологія трансляції мережних адрес NAT
Технологія трансляції мережних адрес NAT
 
лр4 основи modbus
лр4 основи modbusлр4 основи modbus
лр4 основи modbus
 
Лабораторно-Практична робота
Лабораторно-Практична роботаЛабораторно-Практична робота
Лабораторно-Практична робота
 
Лабораторно-Практична робота
Лабораторно-Практична роботаЛабораторно-Практична робота
Лабораторно-Практична робота
 
Computers and Computing Works lecture №9
Computers and Computing Works lecture №9Computers and Computing Works lecture №9
Computers and Computing Works lecture №9
 

Similar to 3 3 modbus tcp

5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPCПупена Александр
 
network
networknetwork
networkjudin
 
Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Пупена Александр
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_netRingonoki
 
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ..."Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...Fwdays
 
I2CHUB_V1 Datasheet UA - розгалужувач інтерфейсів шини I2C
I2CHUB_V1 Datasheet UA - розгалужувач інтерфейсів шини I2CI2CHUB_V1 Datasheet UA - розгалужувач інтерфейсів шини I2C
I2CHUB_V1 Datasheet UA - розгалужувач інтерфейсів шини I2CIoTdevices
 
урок 27
урок 27урок 27
урок 27Serega89
 
Lec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпеченняLec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпеченняcit-cit
 

Similar to 3 3 modbus tcp (16)

лр5 основи modbus tcp
лр5 основи modbus tcpлр5 основи modbus tcp
лр5 основи modbus tcp
 
лр6 використання modbus для scada
лр6 використання modbus для scada лр6 використання modbus для scada
лр6 використання modbus для scada
 
Opc
OpcOpc
Opc
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC
 
Rpc
RpcRpc
Rpc
 
network
networknetwork
network
 
20 internet
20 internet20 internet
20 internet
 
Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131
 
Wcf module 3.1
Wcf module 3.1Wcf module 3.1
Wcf module 3.1
 
пIм метод лаб2112
пIм метод лаб2112пIм метод лаб2112
пIм метод лаб2112
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_net
 
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ..."Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
 
I2CHUB_V1 Datasheet UA - розгалужувач інтерфейсів шини I2C
I2CHUB_V1 Datasheet UA - розгалужувач інтерфейсів шини I2CI2CHUB_V1 Datasheet UA - розгалужувач інтерфейсів шини I2C
I2CHUB_V1 Datasheet UA - розгалужувач інтерфейсів шини I2C
 
урок 27
урок 27урок 27
урок 27
 
Dbase
DbaseDbase
Dbase
 
Lec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпеченняLec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпечення
 

More from Пупена Александр

Розроблення підсистеми трендів
Розроблення підсистеми трендівРозроблення підсистеми трендів
Розроблення підсистеми трендівПупена Александр
 
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenonПупена Александр
 
8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізаціїПупена Александр
 
Анімовані компоненти та навігація
Анімовані компоненти та навігаціяАнімовані компоненти та навігація
Анімовані компоненти та навігаціяПупена Александр
 
Розроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівРозроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівПупена Александр
 
Підсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПідсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПупена Александр
 
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIЗагальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIПупена Александр
 
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІПупена Александр
 
2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсуПупена Александр
 
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDМастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDПупена Александр
 
Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Пупена Александр
 
Git и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаGit и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаПупена Александр
 
Короткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMКороткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMПупена Александр
 
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0 Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0 Пупена Александр
 

More from Пупена Александр (20)

Node-RED довідник
Node-RED довідникNode-RED довідник
Node-RED довідник
 
Інші підсистеми
Інші підсистемиІнші підсистеми
Інші підсистеми
 
11 Підсистеми захисту
11 Підсистеми захисту11 Підсистеми захисту
11 Підсистеми захисту
 
Розроблення підсистеми трендів
Розроблення підсистеми трендівРозроблення підсистеми трендів
Розроблення підсистеми трендів
 
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
 
8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації
 
Анімовані компоненти та навігація
Анімовані компоненти та навігаціяАнімовані компоненти та навігація
Анімовані компоненти та навігація
 
Розроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівРозроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементів
 
Підсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПідсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часі
 
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIЗагальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
 
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
 
2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI
 
2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу
 
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDМастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
 
Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0»
 
Git и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаGit и GitHub для создания учебного контента
Git и GitHub для создания учебного контента
 
Короткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMКороткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOM
 
Git4 all
Git4 allGit4 all
Git4 all
 
Presentation 111019 1
Presentation 111019 1Presentation 111019 1
Presentation 111019 1
 
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0 Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
Модель компетенцій спеціалістів Industrial Automation в епоху 4.0
 

3 3 modbus tcp

  • 1. Промислові мережі та інтеграційні технології MODBUS on TCP/IP реєстрація fieldbus_book@ukr.net автор і лектор: Олександр Пупена (pupena_san@ukr.net) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua) 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 1
  • 2. Modbus on TCP/IP 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 2 http://modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf • Згідно стандартів MODBUS.ORG Modbus on TCP/IP функціонує поверх стека протоколів TCP/IP, тобто носієм Modbus запитів є пакети TCP а для адресації вузлів IP-адреси; • є реалізації Modbus on UDP/IP, однак в стандартах MODBUS.ORG не описані • є реалізації Modbus RTU/ASCII over TCP/IP, однак в стандартах MODBUS.ORG не описані (кадр RTU/ASCII інкапсулюється в пакет TCP або UDP) • нижніми рівнями стеку є як правило Ethernet, але це не обов'язково Що таке Modbus on TCP/IP?
  • 3. Modbus on TCP/IP комунікаційна архітектура 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 3 • Різні типи пристроїв: • MODBUS TCP/IP Клієнти і Сервери підключені до мережі TCP/IP; • міжмережні пристрої типу мостів, маршрутизаторів або шлюзів для з’єднання TCP/IP мережі з послідовними лініями підмереж, що дозволяє обмінюватися даними з MODBUS Serial Веденими • Протоколом Modbus on TCP/IP (Modbus/TCP) передбачена можливість шлюзування на Modbus RTU/ASCII • кількість клієнтів і серверів не обмежено на мережу • один вузол може бути одночасно і клієнтом і сервером • синонімія понять (історична): • Modbus TCP/IP Client часто називають Modbus TCP/IP Master • Modbus TCP/IP Server часто називають Modbus TCP/IP Slave Які типи пристроїв можна з'єднати в мережу?
  • 4. Modbus on TCP/IP формат повідомлення 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 4 ADU – Application Data Unit Поле MBAP Header Дов- жина (байт) Пояснення Клієнт Сервер TransactionID 2 ідентифікація транзакцій запитів/ відповідей ініціалізує Клієнт в запиті копіює з запиту у повідомлення - відповідь ProtocolID 2 тип протоколу, 0=MODBUS протокол ініціалізує Клієнт в запиті копіює з запиту у повідомлення - відповідь Length 2 кількість наступних байтів ініціалізує Клієнт в запиті ініціалізує Сервер у відповіді UnitID 1 адреса Веденого, який підключений до вузла (1- 247, 255 або 0 – призначено самому вузлу ініціалізує Клієнт в запиті копіює з запиту у повідомлення - відповідь MBAP Header = 7 байт Стандартним серверним портом є TCPпорт = 502, однак може бути призначеним на інший Як передаються запити і відповіді?
  • 5. Modbus on TCP/IP модель зв'язку 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 5 Стандартним серверним портом є TCPпорт = 502, однак може бути призначеним на інший Як функціонує весь стек протоколів?
  • 6. Modbus on TCP/IP vs Modbus RTU/ASCII over TCP/IP 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 6 Modbus RTU/ASCII over TCP/IP в стандартах Modbus.ORG не описані Яка різниця між Modbus TCP/IP та Modbus RTU/ASCII over TCP/IP ? функ ція 03 00 00 адреса початкового регістру кількість регістрів 00 0305 Unit ID TCP Header 06000000XXXX Transaction ID Protocol ID length MBAP Header MODBUS PDU функ ція 03 00 00 адреса початкового регістру кількість регістрів 00 0305 адре са Slave 04 4F контрольн а сума TCP Header RTU RTUMODBUS PDU Modbus TCP/IP Modbus RTU/ASCII over TCP/IP (не описаний в MODBUS.ORG)
  • 7. Modbus on TCP/IP: приклад налаштування (1) 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 7
  • 8. Modbus on TCP/IP: приклад налаштування (2) 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 8
  • 9. Modbus on TCP/IP: варіанти реалізації 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 9 Яким чином може бути доступний Modbus on TCP в пристрої? - у всіх пристроях повинен бути присутній TCP/IP як правило з Ethernet - для непрограмованих пристроїв (периферії, приводів, засобів вводу/виводу): прошитий на рівні мікропрограми чи ОС пристрою, або його модулю; - для ПЛК може бути присутній у вигляді: - прошитих в ОС ПЛК функцій як Клієнт так і Сервер; - прошитих в комунікаційний модуль функцій як Клієнт так і Сервер; - бібліотечної функції як Клієнт так і Сервер; - самописної функції як Клієнт так і Сервер; - для SCADA/HMI може бути присутній у вигляді: - драйверу протоколу, як правило Клієнт (рідко Сервер); - проміжного шлюзу (наприклад OPC, DDE)
  • 10. Modbus on TCP/IP: приклад програмної реалізації клієнта 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 10 AI0 … AI3 MW200 … MW207 VIPA Speed7 NET AI 4x12 bitsIM253-NET VIPA System 200V IP=192.168.0.2 IP=192.168.0.1VIPA S7 NET VIPA System 200v кросс-кабель UTP NETX5 (PG/OP) X2 (MP2I) X8 (TP) X3 (PB-DP) AI4x12bits Рис.6.30. Схема мережних з’єднань до прикладу 6.7 IM253- NET Для реалізації обміну: • конфігурують з’єднувальні канали (Connections) • для кожного каналу вказують: • локальний процесор, для якого конфігурується канал (порт TP); • точку виходу в мережу, тобто комунікаційний модуль; • ідентифікатор з’єднання; • активність з’єднання, тобто чи ініціює даний вузол з’єднання; • адреса комунікаційного партнеру, з яким настроюється з’єднання (IP та TCP port); • локальний TCP port для з’єднання.
  • 11. Modbus on TCP/IP: приклад програмної реалізації клієнта 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 11 Рис.6.33. Блок DB11 для отримання відповіді серверу MODBUS (до прикладу 6.7). Рис.6.31. Блок DB10 для формування клієнтського запиту MODBUS до прикладу 6.7.
  • 12. Modbus on TCP/IP: приклад програмної реалізації клієнта 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 12 Рис.6.32. Частина програми (Network1-3), яка відповідає за відправку запитів, (до прикладу 6.7).
  • 13. Modbus on TCP/IP: приклад програмної реалізації клієнта 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 13 Рис.6.34. Частина програми (Network4-5), яка відповідає за отримання відповіді з вхідного буферу комунікаційного модулю (до прикладу 6.7).
  • 14. Modbus on TCP/IP: висновки 07.04.2015 NET - ModbusTCP pupena_san@ukr.net 14 • (+) плюси ті самі що в Modbus Serial Line • (+) як правило базується на Ethernet – висока швидкість; • (+) TCP/IP – легка інтеграція в систему, використання плюсів маршрутизації; • (+) немає обмежень на кількість клієнтів в мережі, на одному пристрої може бути і клієнт і сервер; • (-) великі витрати на обробку: для періодичного оновлення кожен раз формування запиту і його обробка; неможливість буферного підходу (як в Prfibus, CANOpen); TCP vs UDP • (-) обмежена кількість об'єктів обміну (змінних); • (-) недостатня жорсткість вимог і не дотримання обов'язкових вимог стандарту (із-за відсутності ліцензування) – часта несумісність засобів (наприклад "отвори" в областях змінних) • (-) не достатньо продумані сервіси конфігурування, відсутність команд управління вузлом … • (-) як правило базується на Ethernet – на сьогоднішній день пристрої з Ethernet дорожче аналогічних з RS-485; якщо Ethernet не промисловий, може не працювати в промислових умовах; • ….