GIAO TIẾP MODBUS - TCP
NHÓM
: 07
Thành viên
:
Nguyễn Quyết Tiến
B18DCDT211
Thiều Quang Trường
B18DCDT259
Phạm Duy Thành B18DCDT235
Trương Đình Thặng
B18DCDT243
Trần Quang Tùng
B18DCDT227
Khái quát chung về
01
Modbus
Modbus TCP là gì ?
02
Modbus TCP
03
04
Bảo mật của Modbus
TCP
Demo ứng dụng
01
Khái quát chung về Modbus
•
Khái niệm modbus
•
Phân loại
Khái niệm Modbus
Modbus là một giao thức truyền thông tầng Application theo
mơ hình OSI (nói một cách đơn giản nó là tập hợp các quy tắc
được đặt ra nhằm hỗ trợ 2 hay nhiều thiết bị tương tác và
trao đổi thông tin với nhau)
Phân loại
Modbus RTU
•
•
Sử dụng các cổng truyền thơng vật lý
Kết nối điểm với điểm
Gửi rõ từng ký tự, phù hợp với việc
truyền tin viễn thơng cần độ chính xác
(cổng COM rs232 485)
•
Modbus TCP
Modbus ASC II
cao.
•
Dùng 2byte truyền thơng cho 1 byte dữ
liệu
•
Là Modbus RTU truyền thơng qua
Ethernet
•
nó sử dụng địa chỉ IP để quản lý các
thiết bị con.
•
Đồng thời dữ liệu modbus được đóng
gói trong 1 gói tin TCP/IP
•
Được sử dụng rộng rãi nhất hiện
nay.
02
•
Tổng quát về modbus TCP
Modbus TCP
•
Phương thức kết nối
•
Cấu trúc gói tin
•
Dữ liệu truyền trên modbus
là gì?
Tổng quát về modbus TCP
-
Modbus-TCP/IP là giao thức Modbus được sử dụng trên đường truyền
Ethernet.
-
Modbus xác định các quy tắc để tổ chức dữ liệu (độc lập với các
phương tiện truyền tin)
-
TCP/IP giúp đảm bảo gói tin được gửi đến đúng nơi cũng như sự tồn
vẹn của gói tin
-
TCP là giao thức điều khiển đường truyền, IP là giao thức ethernet.
Dữ liệu được chuyển tới TCP nơi thông tin bổ sung được đính kèm giúp
kiểm tra tính tồn vẹn của gói tin tại điểm nhận và sau đó cấp cho IP.
IP lúc này đặt nó vào trong gói tin và gửi đi đồng thời đảm bảo gói tin
đã đc xử lý và định tuyến chính xác.
Phương thức kết nối
Modbus – RTU
Modbus – TCP
RTU được kết nối theo phương thức dây truyền (daisy chain
Sử dụng cáp ethernet thông thường và các bộ Switch đẻ giao
network), các điểm hoạt động với cùng 1 tốc độ baute và khơng
tiếp với nhau.
thể kết nối dưới dạng hình sao
Cấu trúc gói tin của modbus
- Modbus TCP sử dụng khối PDU ( protocol Data Unit) của khung tin
nhắn RTU sau đó trèn thêm MBAP(Modbus Application Protocol) vào
phần đầu khung tin nhắn của mình. Đồng thời loại nó bỏ địa chỉ của
thiết bị slave và hàm kiểm tra dự phòng theo chu kì ở cuối.
- Tiêu đề MBAP đã chứa tồn bộ thơng tin nhận dạng cần thiết để
định tuyến dữ liệu đến đúng địa chỉ được chỉ định.
- Modbus sử dụng công 502 cho giao tiếp TCP/IP (cổng dành riêng
cho Modbus và nó quan trọng khi dữ liệu phải qua tường lửa).
Cấu trúc header MBAP
Transaction
Transaction Identifier
Identifier (2
(2 bytes)
bytes)
Protocol
Protocol Identifier
Identifier (2
(2 bytes)
bytes)
Length
Length (2
(2 bytes)
bytes)
Được sử dụng để phân biệt các thông điệp khi có nhiều thơng điệp khác nhau
truyền đi từ một kết nối TCP.
Trường này luôn đặt bằng 0 với Modbus, các giá trị khác mở rộng
cho tương lai.
Cho biết độ dài của các trường còn lại gồm Unit ID, Function code,
Data.
Có giá trị từ 0-255, sử dụng để nhận dạng các thiết bị trong mạng
Unit
Unit ID
ID (1
(1 byte)
byte)
Modbus TCP có ý nghĩa như trường địa chỉ (address) trong Modbus
chuẩn.
Lưu trữ dữ liệu của Modbus
Với 2 bảng lưu trữ các giá trị rời
rạc(ON/OFF) – được
gọi là coil.
Hai bảng lưu trữ các giá trị analog 16bit – được gọi là
registers(thanh ghi).
Với mỗi bảng dữ liệu lại có một bảng chỉ đọc và một
bảng đọc/ghi.
Function code
Function code là các mã số đơn giản, cho các thiết bị
con biết nên truy cập vào bảng dữ liệu nào, đọc
hay ghi vào bảng đó.
Ví dụ
Một gói tin Modbus TCP được gửi đi như sau :
0001 0000 0006 11 03 006B 0003
0001
0001 0000
0000 0006
0006 11
11
Là gói truyền tin MBAP header
006B
006B
Địa chỉ dữ liệu của thanh ghi đầu tiên được yêu
cầu. (40108-40001 = 107 = 6B hex)
03
03
Function code đọc một dãy thanh ghi đầu ra tương
tự (Analog Output Holding Registers)
0003
0003
Tổng số thanh ghi được yêu cầu. (đọc 3
thanh ghi 40108 đến 40110)
03
Bảo mật của TCP
•
Sử dụng kết hợp với TLS(Transport Layer Security).
•
Sử dụng thêm mã khóa AES128 cùng mã khóa mật chỉ client
và server nắm
Transport Layer Security (TLS)
Sử dụng thêm mã khóa AES128 cùng mã khóa mật
THANKS!
Cảm ơn cô và các bạn đã chú ý
lắng nghe! !!