Xin chào,
Hôm nay, admin xin chia sẽ cách lập trình giao tiếp truyền dữ liệu giữa 2 PLC S7 1200.
Bước 1: tạo một dự án mới.
Bước 2: thêm 2 PLC master và slave
PLC master là CPU 1214c AC/DC/Rly, model BG40
Và PLC slave là CPU 1212 DC/DC/Rly, model HE40
Bước 3: vào Network view và kết nối 2 PLC lại với nhau. Nhấp và giữ chuột để kết nối 2 ô vuông màu xanh lá cây.
Bước 4: cấu hình địa chỉ Ethernet cho 2 PLC
Địa chỉ PLC master là 192.168.0.1 và địa chỉ PLC slave là 192.168.0.2
1 điều quan trọng cần làm là cho phép truy cập bằng giao tiếp PUT/GET cho 2 PLC
Thiết lập cơ chế kết nối, chúng ta tích vào ô “Permit access with PUT/GET communication from remote partner”
Làm tương tự cho PLC slave
Đổi tên PLC1 thành Master và PLC2 thành Slave
Bước 5: lập trình đọc dữ liệu từ Slave và chuyển đến Master.
Trong OB1 của Master, trong Communication, phần S7 communication, chọn module GET và kéo đến nơi làm việc của chương trình. Đây là tên của module GET này, tôi để tên mặc định là GET_DB.
Chúng ta cần cấu hình kết nối cho module GET
Click chuột phải và chọn Properties
Vào mục Connection parameter, ở phần partner ở đây chúng ta chọn PLC slave, sau khi chọn xong thì những thông tin tiếp theo sẽ tự động hiện ra.
Bước 6: đến mục Block parameter để cấu hình tham số của module GET:
Đầu tiên là Request input, đây là yêu cầu sử dụng module này.
Tham số tiếp theo là vùng đọc Read area, đây là địa chỉ trong PLC slave mà PLC master sẽ đọc dữ liệu từ đó.
Tiếp theo là vùng lưu Store area, đây là địa chỉ trong PLC master mà master sẽ lưu trữ dữ liệu đọc từ slave
Tiếp theo là output của module, request completed (NDR), tín hiệu này được chỉ ra khi yêu cầu hoàn tất thành công.
Error được chỉ ra bất cứ khi nào có lỗi xảy ra trong khi xử lý yêu cầu
Và cuối cùng là Status để hiển thị thông tin lỗi.
OK, bây giờ chúng ta thêm thẻ vào tham số của module GET tại đây.
REQ tại đây, chúng ta đặt GET_DB và REQ
Đối với ID, để mặc định
NDR, ERROR và STATUS gán tag trong GET_DB
Bước 7: nhập vùng đọc của PLC slave và vùng lưu trữ trong PLC master.
Đối với vùng lưu trữ trong PLC master, tạo khối dữ liệu mới DataFromSlave tại đây và tạo 3 thẻ REAL, từ data1 đến data3
Và đối với vùng đọc trong PLC slave, hãy đến PLC slave và tạo khối dữ liệu mới tên DataToMaster và tạo 3 tag REAL, data1, data2, data3.
Đã tạo xong vùng đọc và vùng lưu trữ, bây giờ chúng ta đưa vào module GET.
Nhấp chuột phải vào module GET, đến READ AREA, nhập số DB vào slave PLC, DBx.DBx0.0
“0.0” ở đây là offset của dữ liệu, ở đây (mở DB) nếu chúng ta muốn đọc từ dữ liệu này từ 0.0, chúng ta nhập 0.0, nếu chúng ta muốn đọc dữ liệu từ 4.0, chúng ta nhập 4.0
Nếu chúng ta muốn đọc 3 dữ liệu thực, chúng ta nhập 3 và Real ở dòng length.
Đến STORE AREA, nhập số DB vào master PLC và DBx0.0
Chúng ta muốn lưu trữ 3 dữ liệu thực, chúng ta nhập 3 và Real ở dòng length
Vậy là xong đối với module GET.
Bây giờ để module GET có thể yêu cầu liên tục, chúng ta cần SET và RESET bit REQ.
Chúng ta thêm 1 lệnh SR, đầu ra là GET_DB.REQ
Điều này có nghĩa là bất cứ khi nào 1 yêu cầu được thực hiện hoặc có lỗi, bit REQ sẽ được reset
Như vậy là đã hoàn thành cho module GET.
Bước 8: chúng ta lập trình cho module PUT.
Chúng ta làm tương tự như module GET.
Bước 9: Sau khi lập trình xong, chúng ta biên dịch.
Trong dự án này, tôi sử dụng PLCsim để mô phỏng 2 PLC.
Download
Và online: dữ liệu data1, data2, data3 ở DataToSlave và DataFromMaster giống nhau, nghĩa là giao tiếp giữa 2 PLC đã thành công.
Bài viết bởi: Admin Chợ Thiết Bị Công Nghiệp