BÀI GIẢNG MẠNG TRUYỀN THƠNG CƠNG NGHIỆP
Hướng Dẫn Truyền Thơng Ethernet Giữa Các PLC S7-300-400
Truyền thông 2 PLC bằng lệnh PUT/GET
Giới thiệu
Lệnh PUT/GET là một trong các phương pháp giúp kết nối 2 PLC Siemens với nhau.
Đây là kiểu kết nối nằm trong bộ S7 connection và là kiểu truyền thông đơn phương – tức
là bạn chỉ cần lập trình trên 1 thiết bị, thiết bị cịn lại khơng cần lập trình truyền thơng gì
cả.
Đầu tiên, để hiểu được PUT/GET, chúng ta hãy cùng tìm hiểu về bộ S7-connection
nhé.
S7 Connection là gì?
S7 connection là một phương thức truyền thơng dành cho các PLC của hãng Siemens.
Vì vậy chỉ những PLC thuộc hãng Siemens mới có thể giao tiếp được với nhau thông qua
chuẩn này. S7 Connection gồm có các cặp lệnh truyền nhận BSEND/BRCV,
USEND/URCV và PUT/GET.
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 1
BÀI GIẢNG MẠNG TRUYỀN THƠNG CƠNG NGHIỆP
Các lệnh truyền thơng trong S7-connection không phụ thuộc vào kiểu kết nối vật lý.
Các bạn có thể dùng cáp Profinet/IE, Profibus hoặc MPI đều có thể dùng được và cấu hình
giống như nhau.
Trong đó, PUT/GET là kiểu cấu hình đơn phương, bạn chỉ cần cấu hình trên 1 thiết
bị. Cịn BSEND/BRCV và USEND/URCV là cấu hình song phương. Chúng ta phải cấu
hình trên cả 2 thiết bị mới có thể truyền nhận được.
Bảng tóm tắt các đặc điểm của S7-Connection
Trong bài ngày hơm nay, chúng ta sẽ tìm hiểu cặp lệnh truyền thơng đầu tiên trong
bộ S7-connection. Đó là Put/Get
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 2
BÀI GIẢNG MẠNG TRUYỀN THƠNG CƠNG NGHIỆP
Các thơng số trong cặp lệnh PUT/GET
Về nguyên lý, lệnh PUT/GET sẽ được lập trình trên 1 PLC. Vì vậy chúng ta sẽ xem
xét PLC nào chủ động thì sẽ lập trình PUT/GET trên PLC đấy.
Lệnh PUT
Ta có sơ đồ kết nối như sau: PLC local sẽ lấy dữ liệu trong DB1 gửi sang và ghi vào
DB2 của PLC partner.
Khi đó lệnh PUT sẽ có các ngõ vào ra như sau:
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 3
BÀI GIẢNG MẠNG TRUYỀN THƠNG CƠNG NGHIỆP
Trong đó chi tiết các thơng số:
Các bạn lưu ý là ID có kiểu Word và dạng số Hex. Vì vậy chúng ta phải ghi dưới
dạng W#16#ID.
Cấu trúc ghi địa chỉ DB như sau: P#DBa.DBXx.y BYTE n
Trong đó: a: chỉ số của DB; x, y: chỉ số của bit bắt đầu dãy ô nhớ. n: số byte sẽ
truyền/nhận
Lệnh GET
Tương tự như vậy, ta có sơ đồ kết nối như sau: PLC local sẽ lấy dữ liệu từ DB3 gửi
sang và lưu vào DB2 của mình (PLC Local).
Khi đó lệnh GET sẽ có các ngõ vào ra như sau:
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 4
BÀI GIẢNG MẠNG TRUYỀN THƠNG CƠNG NGHIỆP
Trong đó chi tiết các thông số:
Lưu ý khi thực hiện lệnh PUT/GET
Lưu ý 1: Các bạn phải tắt chế độ Optimized block access của DB đi. Khi đó các
biến nhớ trong DB có địa chỉ xác định thì mới có thể truyền thông được.
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 5
BÀI GIẢNG MẠNG TRUYỀN THÔNG CÔNG NGHIỆP
Lưu ý 2: Đối với các dịng PLC S7-1200/S7-1500 thì các bạn phải vào Properties của PLC
và bật cho phép tính năng Put/Get hoạt động nhé. Như vậy thì PLC khác mới có thể dùng PUT/GET
truy cập vào ô nhớ của PLC được.
Tham khảo thêm
Hàm ghi dữ liệu:
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 6
BÀI GIẢNG MẠNG TRUYỀN THÔNG CÔNG NGHIỆP
Hàm nhận dữ liệu:
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 7
BÀI GIẢNG MẠNG TRUYỀN THƠNG CƠNG NGHIỆP
Hướng Dẫn Truyền Thơng Ethernet Giữa Các PLC S7-300-400
1. Cấu hình phần cứng:
- Yêu cầu PLC phải có hỗ trợ ethernet với đi “PN” <=> cổng LAN RJ45
2. Đặt địa chỉ IP
- 2 PLC trong kết nối truyền thơng phải cùng 1 lớp mạng
Ví dụ: 192.168.0.1 phần tô màu vàng phải giống nhau:
-
2 PLC phải được kết nối chung 1 mạng:
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 8
BÀI GIẢNG MẠNG TRUYỀN THÔNG CÔNG NGHIỆP
3. Gọi các khối hàm hỗ trợ truyền thơng đó là các khối OB bỏ lỗi
- Các OB bỏ lỗi thường dùng OB80 OB87 và OB121 OB122
-
Thêm các chương trình con và các khối dữ liệu:
-
2 PLC mình sẽ cấu hình tương tự nhau
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 9
BÀI GIẢNG MẠNG TRUYỀN THƠNG CƠNG NGHIỆP
Tạo vùng dữ liệu:
Ví dụ thông số nhiệt độ hoặc áp suất CPU 1 địa chỉ B1 B4; CPU 2 địa chỉ C1 C4
4. Viết chương trình truyền thơng
- Viết chương trình tạo xung
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 10
BÀI GIẢNG MẠNG TRUYỀN THÔNG CÔNG NGHIỆP
-
Lệnh cộng số thực Real
-
Chương trình con truyền nhận dữ liệu
Chọn System Function Blocks
- Lệnh nhận dữ liệu:
a) REQ: Nhập xung tạo với ý nghĩa khi có xung thì dữ liệu sẽ ghi hoặc đọc 1 lần.
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 11
BÀI GIẢNG MẠNG TRUYỀN THÔNG CÔNG NGHIỆP
b) ID: địa chỉ Local ID, giá trị là hexa ví dụ địa chỉ cấu hình 2: W#16#2
c) ADDR_1: Địa chỉ của PLC cần đọc hoặc cần ghi: ví dụ 4 byte: "DATA".B1
d) RD_1: Đọc dữ liệu: nhập vùng địa chỉ cần lưu giá trị đọc về: ví du: "DATA".B2
-
Lệnh ghi dữ liệu:
a) REQ: Nhập xung tạo với ý nghĩa khi có xung thì dữ liệu sẽ ghi hoặc đọc 1 lần.
b) ID: địa chỉ Local ID, giá trị là hexa ví dụ địa chỉ cấu hình 2: W#16#2
c) ADDR_1: Địa chỉ của PLC cần đọc hoặc cần ghi: ví dụ 4 byte: "DATA".B2
d) RD_1: Đọc dữ liệu: nhập vùng địa chỉ cần lưu giá trị đọc về: ví du:
"DATA".B1
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 12
BÀI GIẢNG MẠNG TRUYỀN THƠNG CƠNG NGHIỆP
-
Gọi chương trình con
Biên soạn: Ths. Nguyễn Xuân Toại 0979816178
Page | 13