-
Thành viên cấp 1
Gửi bởi
hiennguyen
@nguyenphong bạn nói việc dùng hàm dễ vậy bạn đã làm trên thiết bị thật chưa hay chỉ là lí thuyết???
Khà khà, tất nhiên là phải thật rồi mới dám khẳng định như vậy chứ. Mình đã từng cấu hình 1 Master và 8 Slave, trong đó có 2 con CPU có cổng DP trên đó dùng để làm Master và Slave, còn lại là dùng CP342-5, và tại sao phải dùng CP 342-5 vì mình tích hợp hệ thống cũ của nhà máy vô mạng profibus nên phải gắn CP 342-5 lên trên con CPU cũ của nhà máy.
-
-
Thành viên cấp 1
Gửi bởi
hiennguyen
câu này là không đúng rồi,mình phải phân biệt rõ ràng con nào master và con nào slave để cấu hình và sử dụng khối hàm mới đúng được bạn ơi.
Hehe, bạn khẳng định chắc như bắp vậy, cái nhiệm vụ của khối hàm là dùng để chuyển byte đi thui, làm gì có phân biệt dành cho Master hay Slave. Bạn đọc tài liệu chưa kĩ rồi, lần sau thì đặt câu hỏi thay vì câu khẳng định nhé.
-
-
Thành viên cấp 1
Gửi bởi
anhlv.ddt
lực sỹ nguyễn phong ơi, cái trên tớ hỉu xong cái tớ bôi đỏ kia thì tớ không hỉu hic
Keke, mình diễn giải như thế này để anhlv.ddt hiểu thêm nhé: khi bạn giao tiếp dữ liệu với nhiều PLC với nhau, ví dụ như 1 con Master và 10 con Slave thì để 1 con Slave giao tiếp với con Master thì trên con Master phải viết hàm truyền nhận với con Slave, ở đây bạn nên tạo 1 khối DB dùng để cho việc truyền và 1 khối DB dùng cho việc nhận, và nên tạo mảng trong khối DB đó, ok hén.
Như vậy 10 con Slave thì mình phải tạo tổng cộng là 20 khối DB, trong các khối DB đó thì ko có tên tuổi gì cả, chỉ là 1 cái mảng thui. Nên ở đây các bạn phải tạo 1 thêm 20 khối DB nữa, và các khối DB này sẽ có tên tuổi của các biến mà mình muốn con Slave truyền về.
Nhưng con Slave truyền về thì có thể sài ít dữ liệu, ví dụ như bạn thiết kế cái mảng đó là 100 byte nhưng con Slave bạn truyền về khoảng 70 byte dữ liệu đi còn các byte còn lại các bạn phải để SPARE ==> Chỗ này phải dùng lệnh BLK_MOV để đẩy toàn bộ những cái byte ko có tên tuổi ở DB truyền nhận đưa vào các byte có tên tuổi của mình tạo ra, chứ chả lẽ bạn lại dùng lệnh L và T thì chắc có chít.
Và khi đọc đến đây thì có thể nhiều bạn hỏi là tại sao lại phải làm dài dòng lê thê như thế, keke, nhưng bạn nên nhớ là nếu bạn quản lý biến ít thì ok, bạn mún làm gì làm, nhưng quản lý nhiều thì chắc chắn là bạn sẽ sai xót rất nhiều. Ví dụ như là con Slave thứ 1 chẳng hạn, truyền về tín hiệu nhiệt độ dạng thực, tức là có 4 byte, rồi lưu lượng, áp suất, tín hiệu sensor tùm lum khoảng chừng 60 byte đi, bạn làm xong đã đời rồi nhưng sau đó lại thấy thiếu 1 tín hiệu nữa, bạn tiếp tục truyền về, nếu bạn quản lý ko kĩ chỗ này sẽ dễ bị rối và dễ đập máy tính lắm
==> Nói túm lại là 1 con Slave thì bạn NÊN tạo 4 khối DB tất cả, 2 khối dạng mảng, 2 khối có tên tuổi, và bạn làm gì làm thì chỉ quan tâm đến 2 khối tên tuổi kia thui, ko đụng vào phần truyền nhận của PLC nữa. Hehe, đó là kinh nghiệm thực tế khi bạn lập trình mạng và tích hợp hệ thống PLC cũ.
Và kinh nghiệm xương máu nữa là tích hợp hệ thống cũ của nhà máy sẽ khó gấp 10 lần việc làm 1 hệ thống mới, Kaka.
-
-
Thành viên Đồng
đọc đến đây thì mình đã hỉu, thank lực sỹ phong nha ^^!
-
-
-
-
Thành viên Đồng
Gửi bởi
nguyenphong
Kaka, trả lời nhanh vậy, tưởng bạn anhlv.ddt ngủ rồi chứ.
Việc hỗ trợ
của Siemen rất tốt, cài đặt chương trình là có 1 đống documents để đọc và vừa làm vừa nhấn F1 cũng rất hay nên các bạn cứ an tâm mà đọc
rồi làm theo là OK à.
Mình vẫn làm như bạn nói, ấn F1. Xong có những chỗ do khả năng tiếng anh còn hạn chế, đọc không hiểu được nghĩa của nó. khi đang làm cái gì đó mà không ra được thì không tài nào ngủ được ^^!
-
-
Thành viên cấp 9
@nguyenphong e vẫn chưa hiểu chỗ tại sao xài 4 khối DB lận ta,lúc trước e tưởng chỉ xài có 2 khối DB cho việc nhận và gửi ko àh test thật thì báo lỗi,mong anh chỉ thêm ,àh anh đã dùng qua liên kết dùng SFC72,73 chưa??
-
-
Thành viên cấp 1
Gửi bởi
hiennguyen
@nguyenphong e vẫn chưa hiểu chỗ tại sao xài 4 khối DB lận ta,lúc trước e tưởng chỉ xài có 2 khối DB cho việc nhận và gửi ko àh test thật thì báo lỗi,mong anh chỉ thêm
,àh anh đã dùng qua liên kết dùng SFC72,73 chưa??
Vì mình mún là sau khi bạn truyền nhận giữa Master và Slave xong thì bạn ko đụng đến phần truyền nhận gì thêm nữa, đã đúng rồi thì ko sửa tới sửa lui nữa, vì rất dễ rối và sai xót. Nên 2 khối đầu thì bạn phải khai báo mảng cho khối DB đó, rồi dùng hàm truyền nhận đẩy toàn bộ mảng đó qua bên con Slave và bên Slave cũng làm y chang vậy.
Vậy khối DB khai báo mảng thì bạn ko thể đặt tên tuổi cho chúng được, vì bạn đã khai báo mảng mừh. Nên phải có thêm 2 khối DB có tên tuổi nữa để gán những giá trị truyền nhận của khối DB kia sang khối DB có tên tuổi của mình.
Test thật nó báo lỗi thì có nhiều dạng lỗi lắm, nhưng mà thường thì thiêu cái khối OB chức năng che ngắt, ví dụ như bạn cấu hình cho 10 con Slave, nhưng bạn mới join vô mạng đc 3 con thui, thì chắc chắn nó sẽ báo lỗi vì thiếu đến 7 con nữa mừh, nên ở đây bạn phải tạo cái khối OB che cái lỗi thiếu mấy con Slave kia đi. Nếu còn lỗi nữa thì bạn phải check xem cái đầu dây profibus đã ok chưa, nhiều lúc bạn siết ốc thấy chặt rồi nhưng mà nó vẫn không ăn đâu, keke.
Còn mấy khối SFC kia thì mình chưa dùng.
-
-
Thành viên cấp 9
uhm lúc đầu mình dùng khối db mà ko được sau đổi qua xài M thì ok,để vài bưã làm lại hi,mình có xài các ob che lỗi rồi,thanks a
-
-
Thành viên cấp 2
-
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à 07:33 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu