Gần đây 4rum hơi quá tải do chưa nâng cấp được Sever, mong các bạn thông cảm khi viết bài nhé! Có vấn đề j cứ pm cho lão Admin.
Trang 1/2 12 cuốicuối
kết quả từ 1 tới 10 trên 17
  1. #1
    Tham gia ngày
    Jul 2012
    Bài gởi
    15

    Kết nối truyền thông Modbus 2 CPU S7 200?

    Xem ra dự án tới phải áp dụng cái này vào rồi, mọi người ai đã từng lam hay có tài liệu gì thì chia sẻ, thảo luận trong chủ đề này với nhé!

    ►Lượt Xem: 4205 ►Đánh Giá: 5Sao

  2. #2
    Tham gia ngày
    Jul 2012
    Bài gởi
    91

    Truyền thông Modbus giữa 2 CPU S7 200 cơ bản

    Cài đặt phần cứng:
    Trong ví dụ này, việc cài đặt và thiết lập cấu hình giao tiếp Modbus giữa 2 Port 0 của 2 CPU S7200. Ở Master, ta cũng có thể thiết lập Port1, lúc đó khối hàm sử dụng là “MBUS_CTRL_P1” và “MBUS_MSG_P1”.
    Giao tiếp truyền thông giữa các CPU thông qua Port 1 sử dụng cáp PROFIBUS (kết nối nối tiếp các chân 3,3,7 và 8 à xem hình 01). Trong trường hợp này lưu ý nối đất (M) chung giữa các PLC.

    Hãy đăng ký thành viên để được hỗ trợ tốt nhất. ]


    Hình. 01

    2. Thông số tương thích:

    Lập trình cho Master cần: "MBUS_CTRL" và "MBUS_MSG", và "MBUS_INIT" và "MBUS_SLAVE" ở Slave.
    Trong MicroWin, tạo mới 1 project và thiết lập mạng giao tiếp cho Master và Slave như hình 2
    Ở đây, bạn phải chắc chắn một điều rằng tốc độ “Baud” và chỉ số “Parity” là giống hệt nhau, địa chỉ “Slave” của khối “MBUS_MSG” khớp với địa chỉ thong số “Addr” của khối “MBUS_INIT” (xem hình 2)
    Tốc độ baud cài đặt cho Port 0 trong “System data block” của Micro/Win không liên quan tới tốc độ baud trong chuẩn giao thức MODBUS (“Mode”=”1”)

    Hãy đăng ký thành viên để được hỗ trợ tốt nhất. ]

    Hình. 02

    Bảng giải thích các khối hàm trong thự viện:
    MASTER
    MBUS_CTRL

    Thông số Giải thích Các lựa chọn
    EN Cho phép
    Mode Chuẩn giao thức 0=PPI, 1=MODBUS
    Baud Tốc độ baud 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
    Parity Chẵn lẽ 0=none, 1=odd, 2=even
    Timeout Thời gian đáp ứng tính bằng ms cho Slave
    Done Báo kết thúc
    Error Mã lỗi 1)

















    Bảng01
    1) Xem phần STEP 7 Micro/WIN Help: "Error codes for the execution of the MODBUS master operation MBUS_MSG"

    MBUS_MSG

    Thống số Giải thích Các lựa chọn
    EN Release
    First Activation
    Slave Slave address
    RW "Read" or "Write" 0=read, 1=write
    Addr MOBDUS initial address 0 .. 128 = digital outputs Q0.0 .. Q15.7
    10001 .. 10128 = digital inputs I0.0 .. Q15.7
    30001 .. 30092 = analog inputs AIW0 .. AIW62
    40001 .. 49999 = holding register 2
    Count Number of bits (0xxxx, 1xxxx) / words (3xxxx, 4xxxx)
    DataPtr Pointer to start of variable memory
    Done 'Finished' message
    Error Error code 1)

    Bảng 02
    1) Xem STEP 7 Micro/WIN Help: "Error codes for the execution of the MODBUS master operation MBUS_MSG"

    SLAVE

    MBUS_INIT

    Parameter Meaning Selection options
    EN Release
    Mode Protocol specification 0=PPI, 1=MODBUS
    Addr Slave address
    Baud Transmission rate in kbps 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
    Parity Parity 0=none, 1=odd, 2=even
    Delay Signal stretching in ms
    MaxIQ Number of available digital inputs and outputs 2)
    MaxAI Number of available analog input words 2)
    MaxHold Max. number of holding register word entries 2)
    HoldStart Pointer to the start of the holding register (40001)
    Done 'Finished' message
    Error Error code 3)

    Bảng 03
    2) Địa chỉ lớn nhất có thể dung phụ thuộc vào kiểu CPU được sử dụng quy định
    3) Xem STEP 7 Micro/WIN Help: "Error codes for the execution of the MODBUS slave protocol"
    MBUS_SLAVE

    Parameter Meaning Selection options
    EN Release
    Done 'Finished' message
    Error Error code 3)

    Bảng 04
    3) Xem STEP 7 Micro/WIN Help: "Error codes for the execution of the MODBUS slave protocol"
    3. Memory addressing for the libraries
    Sau khi hoàn thành Project, bạn phải định ghĩa vùng nhớ cho thư viện trong khối chương trình Mico/WIN.
    Khi đặt vùng nhớ thì lưu ý rằng vùng nhớ đã được chọn không được chồng chéo lên vùng nhớ biến (với Master: “DataPtr” + “Count” và với Slave: “HoldStart” + “MaxHold”)

    Hãy đăng ký thành viên để được hỗ trợ tốt nhất. ]
    Hình. 03

    4. Truyền dữ liệu
    Sau khi load Project xuống CPU, ta có thể ghi dữ liệu vào vùng nhớ đã chọn ở Master bằng cách active bảng trạng thái và quan sát trên Slave.
    Khi ở Master: I0.0 được active, nội dung của word VW2 được gửi tới CPU Slave và ghi ra VW2 ở slave này.
    Thanh ghi giữ giá trị truyền thể hiện ở hình 04
    Con trỏ “DataPtr” chỉ tới vùng nhớ được đọc. Thông số “Count” chỉ định số word được ghi dữ liệu vào thanh ghi định địa chỉ “Addr” = “4xxxx”
    Vùng nhớ được lựa chọn sẻ được ghi dữ liệu vào từ thanh ghi trên bắt đầu từ địa chỉ "Addr" = "40002" (khi "RW" = "1").
    Thanh ghi giữ giá trị truyền làm việc như 1 bộ phận giữ tạm dữ liệu trung gian trước khi ghi vào vùng nhớ Slave.
    Con trỏ “HoldStart” chỉ định địa chỉ khởi tạo của vùng nhớ được ghi dữ liệu vào và có địa chỉ giống địa chỉ bắt đầu 40001 của thanh ghi
    Ta có thể tính tìm vùng nhớ được ghi dữ liệu vào ở Slave như sau:


    2 * (Addr - 40001) + HoldStart = 2 * (40002 - 40001) + &VB0 = &VB2
    Tính MaxHold:
    MaxHold >= Addr - 40001 + Count = 40002 - 40001 + 1 = 2

    Hãy đăng ký thành viên để được hỗ trợ tốt nhất. ]

    Hình. 04
    thay đổi nội dung bởi: PSVN_PLC, 08-15-2012 lúc 12:18 AM


  3. The Following 9 Users Say Thank You to PSVN_PLC For This Useful Post:

    baotoan.dhdi (05-24-2013),DiepTranTDA (07-31-2013),duc.thao (09-30-2012),firedra (10-12-2012),Lang_Tu.TM (06-20-2013),Mr_V2T (01-08-2013),sirateo (10-23-2013),tieugiagia_1991 (12-01-2012),truongson (12-15-2012)

  4. #3
    Tham gia ngày
    Jun 2012
    Bài gởi
    76
    Để thử coi, nghe hấp dẫn đấy!
    Đỉnh cao của phức tạp là sự đơn giản


  5. #4
    Tham gia ngày
    Aug 2012
    Bài gởi
    29
    Trích Nguyên văn bởi PSVN_PLC View Post
    Cài đặt phần cứng:
    Trong ví dụ này, việc cài đặt và thiết lập cấu hình giao tiếp Modbus giữa 2 Port 0 của 2 CPU S7200. Ở Master, ta cũng có thể thiết lập Port1, lúc đó khối hàm sử dụng là “MBUS_CTRL_P1” và “MBUS_MSG_P1”.
    Giao tiếp truyền thông giữa các CPU thông qua Port 1 sử dụng cáp PROFIBUS (kết nối nối tiếp các chân 3,3,7 và 8 à xem hình 01). Trong trường hợp này lưu ý nối đất (M) chung giữa các PLC.

    Hãy đăng ký thành viên để được hỗ trợ tốt nhất. ]


    Hình. 01

    2. Thông số tương thích:

    Lập trình cho Master cần: "MBUS_CTRL" và "MBUS_MSG", và "MBUS_INIT" và "MBUS_SLAVE" ở Slave.
    Trong MicroWin, tạo mới 1 project và thiết lập mạng giao tiếp cho Master và Slave như hình 2
    Ở đây, bạn phải chắc chắn một điều rằng tốc độ “Baud” và chỉ số “Parity” là giống hệt nhau, địa chỉ “Slave” của khối “MBUS_MSG” khớp với địa chỉ thong số “Addr” của khối “MBUS_INIT” (xem hình 2)
    Tốc độ baud cài đặt cho Port 0 trong “System data block” của Micro/Win không liên quan tới tốc độ baud trong chuẩn giao thức MODBUS (“Mode”=”1”)

    Hãy đăng ký thành viên để được hỗ trợ tốt nhất. ]

    Hình. 02

    Bảng giải thích các khối hàm trong thự viện:
    MASTER
    MBUS_CTRL

    Thông số Giải thích Các lựa chọn
    EN Cho phép
    Mode Chuẩn giao thức 0=PPI, 1=MODBUS
    Baud Tốc độ baud 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
    Parity Chẵn lẽ 0=none, 1=odd, 2=even
    Timeout Thời gian đáp ứng tính bằng ms cho Slave
    Done Báo kết thúc
    Error Mã lỗi 1)

















    Bảng01
    1) Xem phần STEP 7 Micro/WIN Help: "Error codes for the execution of the MODBUS master operation MBUS_MSG"

    MBUS_MSG

    Thống số Giải thích Các lựa chọn
    EN Release
    First Activation
    Slave Slave address
    RW "Read" or "Write" 0=read, 1=write
    Addr MOBDUS initial address 0 .. 128 = digital outputs Q0.0 .. Q15.7
    10001 .. 10128 = digital inputs I0.0 .. Q15.7
    30001 .. 30092 = analog inputs AIW0 .. AIW62
    40001 .. 49999 = holding register 2
    Count Number of bits (0xxxx, 1xxxx) / words (3xxxx, 4xxxx)
    DataPtr Pointer to start of variable memory
    Done 'Finished' message
    Error Error code 1)

    Bảng 02
    1) Xem STEP 7 Micro/WIN Help: "Error codes for the execution of the MODBUS master operation MBUS_MSG"

    SLAVE

    MBUS_INIT

    Parameter Meaning Selection options
    EN Release
    Mode Protocol specification 0=PPI, 1=MODBUS
    Addr Slave address
    Baud Transmission rate in kbps 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
    Parity Parity 0=none, 1=odd, 2=even
    Delay Signal stretching in ms
    MaxIQ Number of available digital inputs and outputs 2)
    MaxAI Number of available analog input words 2)
    MaxHold Max. number of holding register word entries 2)
    HoldStart Pointer to the start of the holding register (40001)
    Done 'Finished' message
    Error Error code 3)

    Bảng 03
    2) Địa chỉ lớn nhất có thể dung phụ thuộc vào kiểu CPU được sử dụng quy định
    3) Xem STEP 7 Micro/WIN Help: "Error codes for the execution of the MODBUS slave protocol"
    MBUS_SLAVE

    Parameter Meaning Selection options
    EN Release
    Done 'Finished' message
    Error Error code 3)

    Bảng 04
    3) Xem STEP 7 Micro/WIN Help: "Error codes for the execution of the MODBUS slave protocol"
    3. Memory addressing for the libraries
    Sau khi hoàn thành Project, bạn phải định ghĩa vùng nhớ cho thư viện trong khối chương trình Mico/WIN.
    Khi đặt vùng nhớ thì lưu ý rằng vùng nhớ đã được chọn không được chồng chéo lên vùng nhớ biến (với Master: “DataPtr” + “Count” và với Slave: “HoldStart” + “MaxHold”)

    Hãy đăng ký thành viên để được hỗ trợ tốt nhất. ]
    Hình. 03

    4. Truyền dữ liệu
    Sau khi load Project xuống CPU, ta có thể ghi dữ liệu vào vùng nhớ đã chọn ở Master bằng cách active bảng trạng thái và quan sát trên Slave.
    Khi ở Master: I0.0 được active, nội dung của word VW2 được gửi tới CPU Slave và ghi ra VW2 ở slave này.
    Thanh ghi giữ giá trị truyền thể hiện ở hình 04
    Con trỏ “DataPtr” chỉ tới vùng nhớ được đọc. Thông số “Count” chỉ định số word được ghi dữ liệu vào thanh ghi định địa chỉ “Addr” = “4xxxx”
    Vùng nhớ được lựa chọn sẻ được ghi dữ liệu vào từ thanh ghi trên bắt đầu từ địa chỉ "Addr" = "40002" (khi "RW" = "1").
    Thanh ghi giữ giá trị truyền làm việc như 1 bộ phận giữ tạm dữ liệu trung gian trước khi ghi vào vùng nhớ Slave.
    Con trỏ “HoldStart” chỉ định địa chỉ khởi tạo của vùng nhớ được ghi dữ liệu vào và có địa chỉ giống địa chỉ bắt đầu 40001 của thanh ghi
    Ta có thể tính tìm vùng nhớ được ghi dữ liệu vào ở Slave như sau:


    2 * (Addr - 40001) + HoldStart = 2 * (40002 - 40001) + &VB0 = &VB2
    Tính MaxHold:
    MaxHold >= Addr - 40001 + Count = 40002 - 40001 + 1 = 2

    Hãy đăng ký thành viên để được hỗ trợ tốt nhất. ]

    Hình. 04
    Mình vẫn chưa hình dung đc cách giải thích về cách tính Maxhold của Pro ta. Theo những câu lệnh mà Pro giải thích thì mình hiểu thế này, khi I0.0 Acticve thì Master sẽ ghi 1 Word (VW2) vào địa chỉ 40002 (Địa chỉ Modbus) của thằng Slave, vậy địa chỉ 40002 của thằng Slave thì tương ứng với ô nhớ nào? Pro có bảng ánh xạ ô nhớ trong PLC vào địa chỉ Modbus k?
    Đồng thời cái HoldStart là có chức năng gì zậy?
    Thanks


  6. #5
    Tham gia ngày
    Aug 2012
    Bài gởi
    290
    MaxHold -->Max. number of holding register word entries (Số lượng max các thanh ghi giữ word nhận vào)

    Địa chỉ 40002 của thằng Slave thì tương ứng với ô nhớ VW2

    Con trỏ “HoldStart” chỉ định địa chỉ khởi tạo của vùng nhớ được ghi dữ liệu vào và có địa chỉ giống địa chỉ bắt đầu 40001 của thanh ghi

    Hình 4 thể hiện bảng ánh xạ đấy bác


  7. #6
    Tham gia ngày
    Aug 2012
    Bài gởi
    29
    Ah hiểu rùi, giờ thì nghiệm ra òi, Thanks chú Thắng


  8. #7
    Tham gia ngày
    Jun 2012
    Bài gởi
    76
    Khi nào chỉ lại ae với nha Bác
    Đỉnh cao của phức tạp là sự đơn giản


  9. #8
    Tham gia ngày
    Aug 2012
    Bài gởi
    29
    Ok chú Thắng


  10. #9
    Tham gia ngày
    Apr 2013
    Bài gởi
    1
    Ai đó có thể trình bày cách truyền dữ liệu trong modbus được ko?


  11. #10
    Tham gia ngày
    Aug 2012
    Bài gởi
    290
    Chương 12: Hãy đăng ký thành viên để được hỗ trợ tốt nhất. ]


  12. Các thành viên đã cảm ơn Thangnguyen789 cho bài viết này:

    DiepTranTDA (07-31-2013)

Trang 1/2 12 cuốicuối

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)