-
Thành viên cấp 3
SFB52, SFB53 của S7 để đọc trạng thái qua Profibus DP
Em gặp vấn đề này mong các Bác giúp:
Em đang muốn đọc trạng thái của Slave qua mạng Profibus dùng SFB 52 và 53. Em đọc các thanh ghi của Slave.
Bác nào đã dùng qua mấy hàm này thì cho em lời khuyên với.
Thank.
-
-
Little PLC
Bạn dùng Module Profibus chứ không phải dòng tích hợp đúng ko?. Cấu hình Hardware cho vùng cho phép giống như truyền I/O và sau đó dùng khối hàm đọc. nhớ chứ ý nó dùng Pointer.
Chúc thành công.
-
-
Thành viên cấp 4
có 1 số lưu ý thôi, với các parameter:
-ID: nếu slave là 1 output module thì bít thứ 15 phải dc set
-RECORD: k thể ngắn hơn thông số MLEN
Nhận hợp tác lập trình các loại PLC và xử lý sự cố về hệ thống tự động hóa
Gm:
Hidden Content
-
-
Thành viên cấp 3
Gửi bởi
Mechatronic_Hieu
có 1 số lưu ý thôi, với các parameter:
-ID: nếu slave là 1 output module thì bít thứ 15 phải dc set
-RECORD: k thể ngắn hơn thông số MLEN
Mình đã tìm hiểu về 2 hàm này nhưng không chạy được. Cụ thể thế này ở đây người ta dùng thiết bị điều khiển động cơ được gọi la Tesys T của Schneider qua Profibus DP. Mình đang cần đọc giá trị các trạng thái phản hồi của Tesys về WinCC. Mà chỉ có thể truy cập qua các thanh ghi để đọc nó. 2 hàm này mình chưa dùng bao giờ. Định dùng hàm SFC58/59 nhưng 2 cái này nó giới hạn thanh ghi 0-240. Mà cái mình cần đọc là trên 455. Vấn đề mình gặp phải khi dùng SFB52/53 là:
1. Khi tạo nó bắt buộc phải tạo 1 DB đi kèm, đồng nghĩa với đấy không thể tạo 1 FB chung cho 50 con Tesys.
2. ID mình mình lấy là địa chỉ I Adress khi cấu hình profibus. Vd Tesys 1: 2200..2209( IW-QW).
3. Index gán đại chỉ thanh ghi: VD thah ghi 455 bit 7: Trạng thái Running của thiết bị. PS. Theo cáo bạn đặt như thế nào.
4. Mlen: Dựa trên đâu để đặt thông số này. Vì vùng nhớ chương trình khá nhiều, mình không muốn lạm dụng.
5. Record: Như thế nào là không thể ngắn hơn Mlen. Vì Record kiểu dữ liệu là Any, mình tạo thêm 1 DB kiểu data block định dạng kiểu mảng. Trên cơ sở đâu để so sánh với Mlen.
Đấy là 1 số thắc mắc của mình. Mong các bạn các anh giúp đỡ.
-
-
Little PLC
SFB/FB thì tất nhiên như bạn nói là phải dùng DB instance rồi điều đó là hiển nhiên. Còn theo như bạn nói là bạn link giữa Siemens và thiết bị hãng khác theo Profibus thì lúc này tốt nhất bạn kiếm lại GSD file + (FB) được viết mà bên hãng kia hỗ trợ (schneider, ABB, Yokogawa...) thì hầu như mỗi hàng muốn nhập vào hệ Profibus thì những thiết bị đó đều được nhà sản xuất viết hỗ trợ hết. Bạn đưa ra 1 đầu bài không rõ ràng và rồi tới khi có người trả lời thì mới cho lại cái đầu bài thì ai biết được cái ý bạn mà lần cho nổi.
-
-
Thành viên cấp 3
Gửi bởi
tran_hieu0983
SFB/FB thì tất nhiên như bạn nói là phải dùng DB instance rồi điều đó là hiển nhiên. Còn theo như bạn nói là bạn link giữa Siemens và thiết bị hãng khác theo Profibus thì lúc này tốt nhất bạn kiếm lại GSD file + (FB) được viết mà bên hãng kia hỗ trợ (schneider, ABB, Yokogawa...) thì hầu như mỗi hàng muốn nhập vào hệ Profibus thì những thiết bị đó đều được nhà sản xuất viết hỗ trợ hết. Bạn đưa ra 1 đầu bài không rõ ràng và rồi tới khi có người trả lời thì mới cho lại cái đầu bài thì ai biết được cái ý bạn mà lần cho nổi.
Vâng anh Hiếu. Có lẽ anh chưa hiểu ý em. Mạng này đã được cấu hình và chay. Có GSD file rõ ràng. Cấu hình HW em ví dụ bên trên. Bây giờ người ta muốn bổ sung dọc trạng thái thiết bị. Tuy nhiên các DB và FB đã được tạo trước nếu thay đổi sẽ rất lâu mà mất time. Em muốn tạo 1 FB và DB mới cho động cơ. Và những cái em đưa ra trên là những cái em thắc mắc về hàm này. Mong các anh chỉ điểm. 1 vài thông số em không hiểu
-
-
Thành viên cấp 4
1. Khi tạo nó bắt buộc phải tạo 1 DB đi kèm, đồng nghĩa với đấy không thể tạo 1 FB chung cho 50 con Tesys.
Dùng multiply instance FB là có thể chứa trong 1 DB và 1 FB dc.
2. ID mình mình lấy là địa chỉ I Adress khi cấu hình profibus. Vd Tesys 1: 2200..2209( IW-QW).
Cái này là địa chỉ vật lý của slave. VD: address la 2200 thì bạn chuyển qua hex và đặt DW#16#898
Mlen: Dựa trên đâu để đặt thông số này. Vì vùng nhớ chương trình khá nhiều, mình không muốn lạm dụng.
Dựa vào số lượng data bạn muốn lấy về
Record: Như thế nào là không thể ngắn hơn Mlen. Vì Record kiểu dữ liệu là Any, mình tạo thêm 1 DB kiểu data block định dạng kiểu mảng. Trên cơ sở đâu để so sánh với Mlen.
thông số này chỉ định vùng nhớ bạn sẽ chứa dữ liệu lấy về do đó k thể bé hơn Max length dc. Ví dụ Mlen bạn khai báo 10 word thì ở thông số này bạn phải khai báo >= 10word. kiểu any vẫn khai biết bao nhiêu word mà .VD: db0.dbx0.0 byte 20
Nhận hợp tác lập trình các loại PLC và xử lý sự cố về hệ thống tự động hóa
Gm:
Hidden Content
-
-
Thành viên cấp 3
Gửi bởi
Mechatronic_Hieu
Dùng multiply instance FB là có thể chứa trong 1 DB và 1 FB dc.
Cái này là địa chỉ vật lý của slave. VD: address la 2200 thì bạn chuyển qua hex và đặt DW#16#898
Dựa vào số lượng data bạn muốn lấy về
thông số này chỉ định vùng nhớ bạn sẽ chứa dữ liệu lấy về do đó k thể bé hơn Max length dc. Ví dụ Mlen bạn khai báo 10 word thì ở thông số này bạn phải khai báo >= 10word. kiểu any vẫn khai biết bao nhiêu word mà .VD: db0.dbx0.0 byte 20
Cảm ơn anh.
-
-
Thành viên cấp 3
Gửi bởi
tran_hieu0983
SFB/FB thì tất nhiên như bạn nói là phải dùng DB instance rồi điều đó là hiển nhiên. Còn theo như bạn nói là bạn link giữa Siemens và thiết bị hãng khác theo Profibus thì lúc này tốt nhất bạn kiếm lại GSD file + (FB) được viết mà bên hãng kia hỗ trợ (schneider, ABB, Yokogawa...) thì hầu như mỗi hàng muốn nhập vào hệ Profibus thì những thiết bị đó đều được nhà sản xuất viết hỗ trợ hết. Bạn đưa ra 1 đầu bài không rõ ràng và rồi tới khi có người trả lời thì mới cho lại cái đầu bài thì ai biết được cái ý bạn mà lần cho nổi.
EM vừa đọc lại Comment của anh. Ồ FB còn được nhà cung cấp cấp à anh. Em tưởng chỉ mỗi GSD file thôi chứ. Anh có thế nói qua về cái này được không?
-
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à 09:23 PM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu