Đăng Ký
Kết quả 1 đến 9 của 9
  1. #1
    Thành viên cấp 3
    Ngày tham gia
    Sep 2012
    Bài viết
    254
    Thanks
    21
    30 lượt trong 30 bài viết

    Question 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.

  2. #2
    Little PLC

    Ngày tham gia
    Mar 2011
    Đang ở
    Mọi câu hỏi hãy đưa lên diễn dàn. Tôi không dùng hộp thư riêng.
    Bài viết
    3,151
    Thanks
    257
    1,085 lượt trong 567 bài viết
    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.
    Hidden Content

    Trần Văn Hiếu
    Email: Hidden Content
    Sđt: (+84)987 - 338 - 334

  3. #3
    Thành viên cấp 4
    Ngày tham gia
    Oct 2011
    Bài viết
    300
    Thanks
    17
    89 lượt trong 75 bài viết
    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

  4. #4
    Thành viên cấp 3
    Ngày tham gia
    Sep 2012
    Bài viết
    254
    Thanks
    21
    30 lượt trong 30 bài viết
    Trích dẫn Gửi bởi Mechatronic_Hieu Xem bài viết
    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 đỡ.

  5. #5
    Little PLC

    Ngày tham gia
    Mar 2011
    Đang ở
    Mọi câu hỏi hãy đưa lên diễn dàn. Tôi không dùng hộp thư riêng.
    Bài viết
    3,151
    Thanks
    257
    1,085 lượt trong 567 bài viết
    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.
    Hidden Content

    Trần Văn Hiếu
    Email: Hidden Content
    Sđt: (+84)987 - 338 - 334

  6. #6
    Thành viên cấp 3
    Ngày tham gia
    Sep 2012
    Bài viết
    254
    Thanks
    21
    30 lượt trong 30 bài viết
    Trích dẫn Gửi bởi tran_hieu0983 Xem bài viết
    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

  7. #7
    Thành viên cấp 4
    Ngày tham gia
    Oct 2011
    Bài viết
    300
    Thanks
    17
    89 lượt trong 75 bài viết
    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

  8. #8
    Thành viên cấp 3
    Ngày tham gia
    Sep 2012
    Bài viết
    254
    Thanks
    21
    30 lượt trong 30 bài viết
    Trích dẫn Gửi bởi Mechatronic_Hieu Xem bài viết
    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.

  9. #9
    Thành viên cấp 3
    Ngày tham gia
    Sep 2012
    Bài viết
    254
    Thanks
    21
    30 lượt trong 30 bài viết
    Trích dẫn Gửi bởi tran_hieu0983 Xem bài viết
    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?

Đánh dấu

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
  •  
Back to Top