使用下面的例程你可以在S7-200CPU之間設置一個簡單的Modbus通訊的梯形圖實例。
這個例子是關于Modbus功能碼6的(寫從站保持寄存器), 也可以作為其他所支持的功能碼:1, 2, 3, 4, 5, 15 和16 的基本參數設置步驟 。
要求:
要使用Modbus協議必須先在STEP 7 Micro/Win上安裝指令庫 。
Modbus主站協議只支持STEP 7 Micro/Win V4.0 SP5及其以上版本。。
1. 硬件設置
2. 參數匹配
3. 指令庫的存儲地址
4. 保持寄存器值得傳輸
1. 硬件設置
例程中的Modbus通訊是在兩個S7-200 CPU的0號通訊口間進行的(最好每個CPU都有兩個通訊口)。在主站側也可以選擇相應庫文件 “MBUS_CTRL_P1” 和 “MBUS_MSG_P1”通過1號通訊口通信。通訊口1與Micro/WIN建立PG或PC連接,兩個CPU的通訊口0通過PPI電纜進行連接(電纜的 針腳 連接為2,3,7,8)。
圖1
2. 參數匹配
對于MODBUS通訊, 主站側需要程序庫 “MBUS_CTRL” 和 “MBUS_MSG”, 從站側需要程序庫 “MBUS_INIT” and “MBUS_SLAVE”。
在 Micro/WIN 中您需要為主站和從站新建一個項目,程序與參數設置見圖.02。
必須要保證主站與從站的“Baud”和“Parity”的參數設置要一致,并且程序塊“MBUS_MSG”中的“Slave”地址要與程序塊“MBUS_INIT”中的“Addr”所設置的一致 (見圖。 02)。
Micro/WIN“系統塊”中設置的0通訊口的波特率與MODBUS協議無關(“Mode” = “1”)。
圖2
下面的表格列出了程序塊各個參數選項及其意義
主站
MBUS_CTRL
表 01
1) 參看STEP 7 Micro/WIN 幫助: “MODBUS主站執行MBUS_MSG時的錯誤代碼MBUS_MSG” 。
MBUS_MSG
表 02
1)參看STEP 7 Micro/WIN 幫助: “MODBUS主站執行MBUS_MSG時的錯誤代碼MBUS_MSG” 。
從站
MBUS_INIT
表 03
2) 最大的地址取決于所用CPU的類型及其最大值。
3)參看STEP 7 Micro/WIN 幫助: “MODBUS從站協議的錯誤代碼”。
MBUS_SLAVE
表 04
3)參看STEP 7 Micro/WIN 幫助: “MODBUS從站協議的錯誤代碼” 。
3. 庫的存儲地址
項目完成后必須要在Micro/WIN中定義庫的存儲地址,當定義完存儲區后, 要保證在任何情況下不能再被其它程序所使用 (主站側: “DataPtr” + “Count” 從站側: “HoldStart” + “MaxHold”)。
圖3
圖4
關于STEP 7 Micro/WIN MOBDUS 庫的更多信息可以參看 S7-200 系統手冊 ( Entry ID 1109582) 和 STEP 7 Micro/WIN 幫助。
如何在 STEP 7 Micro/WIN 中找到 Modbus RTU 協議和 USS 協議操作庫?
說明:
在 STEP 7 Micro/WIN 中,Modbus RTU 協議和 USS 協議操作庫位于操作樹的“庫”文件夾中。MODBUS 函數庫要求 STEP 7 Micro/WIN 為 V3.2 或更高版本。
圖1: 添加函數庫
這些庫是附加函數庫,并非組態軟件 STEP 7 Micro/WIN 的組成部分。
您如果需要使用 Modbus RTU 協議,必須購買“SIMATIC STEP 7 Micro/WIN ADD ON: FuncTIon Library V1.1 (USS + MODBUS) for STEP 7 Micro/WIN 32”軟件。
這個可選附加函數庫的訂貨號是 6ES7830-2BC00-0YX0。
安裝順序:
先安裝“STEP 7 Micro/WIN 32 Toolbox V1.0”(包括庫),然后安裝“STEP 7 Micro/WIN”。
注意:
這個函數庫包含可以在 STEP 7 Micro/WIN V3.2 中使用的 Modbus RTU 協議庫和 USS 協議庫。
如果您安裝了 STEP 7 Micro/WIN V4.0 SP5 或者更高版本,那么操作庫中就會包含下列函數:
Modbus RTU Master V1.2 對應端口 0 和端口 1
Modbus RTU Slave V1.0 對應端口 0
USS protocol V2.3 對應端口 0 和端口 1