Professional Documents
Culture Documents
Hình 5.2. Định dạng chung các gói tin của Modbus
Trong đó:
- AD là một đơn vị dữ liệu ứng dụng tương ứng với một gói tin của Modbus Master
- PDU là một đơn vị giao thức với dữ liệu được Master yêu cầu tới Slave
Định dạng gói tin của RTU và TCP/IP minh họa như hình 5.3.
Bước 2: tạo vùng nhớ dữ liệu DB1 với tên Modbus_Data để lưu trữ thông tin đọc
về từ các slave
Bước 3: Khởi tạo vùng dữ liệu để truy vấn thông tin từ các slave:
Modbus_Data[DB1] Open Add new đổi tên là PM_1, PM_2, PM_3 chọn
kiểu dữ liệu data type là sentron_data.
Bước 4: Khởi tạo vùng dữ liệu DB2 để lưu trữ các tham số khai báo cấu hình cũng
như các biến chuyển trạng thái khi đọc các slave
Bước 4: Tạo thời gian trễ (tùy chọn) để cho hoàn thành việc thiết lập truyền thông
(network 3).
Bước 5: Gọi lệnh đọc tín hiệu đồng hồ đo điện bằng SENTRON 1: Network 4
Instructions Communication Communication Processor MODBUS
Modbus_Master.
Bước 8: Thực hiện chuyển tiếp trạng thái để đọc đồng hồ thứ 3 với địa chỉ slave là
12 (Network 7).
Bước 9: Đọc thông tin của đồng hồ SENTRON 3 ở network 8.
Bước 10: Thực hiện chuyển tiếp trạng thái để thực hiện vòng lặp cho phép đọc đồng
hồ 1 với địa chỉ 10 (network 9).
Bước 11: Gọi chương trình con Modbus [FC1] ở chương trình OB1.
Bài toán 2: Thiết lập truyền thông Modbus RTU giữa Master và Slave với PLC
S7 trên TIA Portal
a) Đặt vấn đề
Sử dụng giao thức Modbus RTU với PLC S7 -1200/1500 thực hiện truyền thông
trao đổi dữ liệu giữa 2 PLC.
b) Yêu cầu phần cứng
- Sử dụng CPU 1214C làm Modbus slave và CPU 1511 làm Modbus Master.
- Modul mở rộng RS485 cho PLC: CM 1241 (RS422/485) và CM PtP RS422/485
HF.
Bước 5: Khởi tạo vùng dữ liệu Holding Register: HoldReg [DB1] Open Add
new đổi tên là Data chọn kiểu dữ liệu data type là Array[1..100] of Word. Tùy theo
mục đích và số lượng dữ liệu truyền mà người sử dụng có thể dùng Word, Int, Dint,
Real…
Bước 6: Tạo hàm FC1 với chức năng Modbus: Program blocks Add new block
Function, đặt tên Modbus OK.
Bước 7: Gọi lệnh thực hiện khởi tạo cấu hình trong FC1: FC1 Network 1
Instructions Communication Communications processor MODBUS hoặc
MODBUS RTU Modbus_Comm_Load.
- MB_DB sẽ được chỉ định vào MB_DB của Modbus_Slave. Được thực hiện khai
báo sau khi gọi lệnh Modbus_Slave.
Bước 8: Gọi lệnh thiết lập Modbus slave cho PLC S7: FC1 network 2
Instructions Communication Communication Processor MODBUS RTU
Modbus_Slave.
- Đặt tên DB Instance cho lệnh là Slave_DB.
- Địa chỉ tùy chọn từ 1 – 247 và không trùng với bất kỳ slave nào có trên đường
mạng. Ở đây chọn là 1.
- Địa chỉ con trỏ DATA_PRT: Tùy theo số lượng và kiểu dữ liệu cần truyền về cho
master: P#DB1.DBX0.0 WORD 100.
Lưu ý: Sau khi thực hiện lệnh khởi tạo Modbus Slave cho PLC S7 thì thanh ghi bắt
đầu của Holding register là 40001.
Bước 9: Gọi chương trình con Modbus [FC1] ở chương trình OB1.
Bước 8: Gọi lệnh Modbus_Master truy xuất dữ liệu tới Slave: Network 2
Instructions Communication Communication Processor MODBUS RTU
Modbus_Master. Ở đây ta thực hiện đọc 50 word liên tục với tần số 10 Hz từ PLC RTU
Slave.
Bước 9: Gọi chương trình con Modbus [FC1] ở chương trình OB1