3 3 modbus tcp

14
Промислові мережі та інтеграційні технології MODBUS on TCP/IP реєстрація [email protected] автор і лектор: Олександр Пупена ([email protected]) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua) 07.04.2015 NET - ModbusTCP [email protected] 1

Upload: alexandr-pupena

Post on 15-Jul-2015

95 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: 3 3 modbus tcp

Промислові мережі та інтеграційні технології

MODBUS on TCP/IP реєстрація [email protected]

автор і лектор: Олександр Пупена ([email protected]) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)

07.04.2015 NET - ModbusTCP

[email protected] 1

Page 2: 3 3 modbus tcp

Modbus on TCP/IP

07.04.2015 NET - ModbusTCP

[email protected] 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?

Page 3: 3 3 modbus tcp

Modbus on TCP/IP комунікаційна архітектура

07.04.2015 NET - ModbusTCP

[email protected] 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

Які типи пристроїв можна з'єднати в мережу?

Page 4: 3 3 modbus tcp

Modbus on TCP/IP формат повідомлення

07.04.2015 NET - ModbusTCP

[email protected] 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, однак може бути призначеним на інший

Як передаються запити і відповіді?

Page 5: 3 3 modbus tcp

Modbus on TCP/IP модель зв'язку

07.04.2015 NET - ModbusTCP

[email protected] 5

Стандартним серверним портом є TCPпорт = 502, однак може бути призначеним на інший

Як функціонує весь стек протоколів?

Page 6: 3 3 modbus tcp

Modbus on TCP/IP vs Modbus RTU/ASCII over TCP/IP

07.04.2015 NET - ModbusTCP

[email protected] 6

Modbus RTU/ASCII over TCP/IP в стандартах Modbus.ORG не описані

Яка різниця між Modbus TCP/IP та Modbus RTU/ASCII over TCP/IP ?

функ

ція

03 00 00

адреса

початкового

регістру

кількість

регістрів

00 03 05

Unit

ID

TCP Header 06 00 00 00 XX XX

Transaction

ID

Protocol

ID length

MBAP Header MODBUS PDU

функ

ція

03 00 00

адреса

початкового

регістру

кількість

регістрів

00 03 05

адре

са

Slave

04 4F

контрольн

а сума

TCP Header

RTU RTU MODBUS PDU

Modbus TCP/IP

Modbus RTU/ASCII over TCP/IP (не описаний в MODBUS.ORG)

Page 7: 3 3 modbus tcp

Modbus on TCP/IP: приклад налаштування (1)

07.04.2015 NET - ModbusTCP

[email protected] 7

Page 8: 3 3 modbus tcp

Modbus on TCP/IP: приклад налаштування (2)

07.04.2015 NET - ModbusTCP

[email protected] 8

Page 9: 3 3 modbus tcp

Modbus on TCP/IP: варіанти реалізації

07.04.2015 NET - ModbusTCP

[email protected] 9

Яким чином може бути доступний Modbus on TCP в пристрої?

- у всіх пристроях повинен бути присутній TCP/IP як правило з Ethernet - для непрограмованих пристроїв (периферії, приводів, засобів

вводу/виводу): прошитий на рівні мікропрограми чи ОС пристрою, або його модулю;

- для ПЛК може бути присутній у вигляді: - прошитих в ОС ПЛК функцій як Клієнт так і Сервер; - прошитих в комунікаційний модуль функцій як Клієнт так і Сервер; - бібліотечної функції як Клієнт так і Сервер; - самописної функції як Клієнт так і Сервер;

- для SCADA/HMI може бути присутній у вигляді: - драйверу протоколу, як правило Клієнт (рідко Сервер); - проміжного шлюзу (наприклад OPC, DDE)

Page 10: 3 3 modbus tcp

Modbus on TCP/IP: приклад програмної реалізації клієнта

07.04.2015 NET - ModbusTCP

[email protected] 10

AI0

AI3

MW200

MW207

VIPA Speed7 NET

AI 4x12 bits IM253-NET

VIPA System 200V

IP=192.168.0.2

IP=192.168.0.1 VIPA S7 NET VIPA System 200v

кросс-кабель UTP

NET X5 (PG/OP)

X2 (MP2I)

X8 (TP)

X3 (PB-DP)

AI 4

x12

bit

s Рис.6.30. Схема мережних з’єднань до

прикладу 6.7

IM 2

53

-N

ET

Для реалізації обміну: • конфігурують з’єднувальні канали (Connections) • для кожного каналу вказують:

• локальний процесор, для якого конфігурується канал (порт TP);

• точку виходу в мережу, тобто комунікаційний модуль; • ідентифікатор з’єднання; • активність з’єднання, тобто чи ініціює даний вузол

з’єднання; • адреса комунікаційного партнеру, з яким настроюється

з’єднання (IP та TCP port); • локальний TCP port для з’єднання.

Page 11: 3 3 modbus tcp

Modbus on TCP/IP: приклад програмної реалізації клієнта

07.04.2015 NET - ModbusTCP

[email protected] 11

Рис.6.33. Блок DB11 для отримання відповіді серверу MODBUS (до прикладу

6.7).

Рис.6.31. Блок DB10 для формування клієнтського запиту MODBUS до прикладу 6.7.

Page 12: 3 3 modbus tcp

Modbus on TCP/IP: приклад програмної реалізації клієнта

07.04.2015 NET - ModbusTCP

[email protected] 12

Рис.6.32. Частина програми (Network1-3),

яка відповідає за відправку запитів, (до

прикладу 6.7).

Page 13: 3 3 modbus tcp

Modbus on TCP/IP: приклад програмної реалізації клієнта

07.04.2015 NET - ModbusTCP

[email protected] 13

Рис.6.34. Частина програми (Network4-5), яка відповідає за отримання відповіді з

вхідного буферу комунікаційного модулю (до прикладу 6.7).

Page 14: 3 3 modbus tcp

Modbus on TCP/IP: висновки

07.04.2015 NET - ModbusTCP

[email protected] 14

• (+) плюси ті самі що в Modbus Serial Line • (+) як правило базується на Ethernet – висока швидкість; • (+) TCP/IP – легка інтеграція в систему, використання плюсів

маршрутизації; • (+) немає обмежень на кількість клієнтів в мережі, на одному пристрої

може бути і клієнт і сервер;

• (-) великі витрати на обробку: для періодичного оновлення кожен раз формування запиту і його обробка; неможливість буферного підходу (як в Prfibus, CANOpen); TCP vs UDP

• (-) обмежена кількість об'єктів обміну (змінних); • (-) недостатня жорсткість вимог і не дотримання обов'язкових вимог

стандарту (із-за відсутності ліцензування) – часта несумісність засобів (наприклад "отвори" в областях змінних)

• (-) не достатньо продумані сервіси конфігурування, відсутність команд управління вузлом …

• (-) як правило базується на Ethernet – на сьогоднішній день пристрої з Ethernet дорожче аналогічних з RS-485; якщо Ethernet не промисловий, може не працювати в промислових умовах;

• ….