-
Thành viên Mới
Truyền thông giữa 2 con S7 - 1200 dùng lệnh TSEND_C và TRCV_C
Mình đang gặp vấn đề về truyền thông giữa 2 con S7 - 1200. Giả sử con PLC1 có địa chỉ IP cuối là 0.3, con này là con để truyền dữ liệu.Mình muốn truyền 1 khối dữ liệu được đóng gói trong khối DB ( gồm 2 giá trị kiểu Real) được truyền bằng lệnh TSEND_C.
Con PLC2 có địa chỉ IP cuối 0.2 là con nhận dữ liệu từ con thứ PLC 1, dùng lệnh TRCV_C để nhận. Mình đã cấu hình đầy đủ thông số đều ok hết. Nhưng kết quả nhận được của con PLC 2 là chỉ nhận được 1 giá trị đầu tiên của con PLC1, còn giá trị thứ 2 thì không nhận được.
Mình muốn hỏi tại sao lại không nhận được tất cả các giá trị đã đóng gói trong khối DB đã gửi đi.
Mong mọi người giúp đỡ
Lần sửa cuối bởi khoatoan, ngày 10-07-2016 lúc 09:28 PM.
-
-
Thành viên cấp 1
Hi khoatoan,
- Nếu xài TIA V13 SP1 trở xuống, bạn có thể gởi chương trình mình test dùm cho nhe.
-
-
Thành viên Mới
Vậy b đưa gmail dùm mình, mình gửi chương trình cho. Có gì test dùm mình với, cảm ơn b nhùi
-
-
Thành viên Mới
Cái này do LEN của bạn chưa đủ.
Nếu là 2 giá trị kiểu Real thì nhập LEN phải là 8 (8 byte).
-
-
Thành viên cấp 3
Gửi bởi
khoatoan
Mình đang gặp vấn đề về truyền thông giữa 2 con S7 - 1200. Giả sử con PLC1 có địa chỉ IP cuối là 0.3, con này là con để truyền dữ liệu.Mình muốn truyền 1 khối dữ liệu được đóng gói trong khối DB ( gồm 2 giá trị kiểu Real) được truyền bằng lệnh TSEND_C.
Con PLC2 có địa chỉ IP cuối 0.2 là con nhận dữ liệu từ con thứ PLC 1, dùng lệnh TRCV_C để nhận. Mình đã cấu hình đầy đủ thông số đều ok hết. Nhưng kết quả nhận được của con PLC 2 là chỉ nhận được 1 giá trị đầu tiên của con PLC1, còn giá trị thứ 2 thì không nhận được.
Mình muốn hỏi tại sao lại không nhận được tất cả các giá trị đã đóng gói trong khối DB đã gửi đi.
Mong mọi người giúp đỡ
Anh gửi cho em vào gmail em xem với : [email protected]
-
-
Thành viên Mới
mình gửi vào gmail bạn rồi đó, có gì bạn tham khảo nhé. Rồi mọi người cùng thảo luận.
-
-
Thành viên cấp 3
Gửi bởi
khoatoan
mình gửi vào gmail bạn rồi đó, có gì bạn tham khảo nhé. Rồi mọi người cùng thảo luận.
Em không có PLC thật nên em ko test được cho anh, down vào PLCSIM thì ko down được. Em thấy anh đang để độ dài dữ liệu truyền là 0 trong khi cả khối DB của anh có tận 18 bytes. Cái tham số LEN trong đó mặc định là 0, nếu LEN bằng 0 thì chỉ truyền 1 byte thôi anh nhé, anh thử để 18 xem có truyền được cả khối DB đó không! Với lại cái anh để tham số DATA truyền là P#DB1.DBX0.0 BYTE 18 nữa nhé. Của anh đang là P#DB1.DBX0.0 REAL 3. Em gửi link ví dụ truyền.
https://www.fshare.vn/file/CG1GWXPGUNI8
Lần sửa cuối bởi kochodoi, ngày 10-14-2016 lúc 03:50 PM.
-
-
Little PLC
Gửi bởi
khoatoan
Mình đang gặp vấn đề về truyền thông giữa 2 con S7 - 1200. Giả sử con PLC1 có địa chỉ IP cuối là 0.3, con này là con để truyền dữ liệu.Mình muốn truyền 1 khối dữ liệu được đóng gói trong khối DB ( gồm 2 giá trị kiểu Real) được truyền bằng lệnh TSEND_C.
Con PLC2 có địa chỉ IP cuối 0.2 là con nhận dữ liệu từ con thứ PLC 1, dùng lệnh TRCV_C để nhận. Mình đã cấu hình đầy đủ thông số đều ok hết. Nhưng kết quả nhận được của con PLC 2 là chỉ nhận được 1 giá trị đầu tiên của con PLC1, còn giá trị thứ 2 thì không nhận được.
Mình muốn hỏi tại sao lại không nhận được tất cả các giá trị đã đóng gói trong khối DB đã gửi đi.
Mong mọi người giúp đỡ
Có thể sử dụng coi lại trạng thái trigger của lệnh. Tạo 1 pointer với khoảng 10 real xem dữ liệu truyền nhận sao.
-
Quyền viết bài
- Bạn Không thể gửi Chủ đề mới
- Bạn Không thể Gửi trả lời
- Bạn Không thể Gửi file đính kèm
- Bạn Không thể Sửa bài viết của mình
-
Nội quy - Quy định
Back to Top
Múi giờ GMT +7. Bây giờ là 01:43 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu