使用下面的例程你可以在S7-200CPU之間設置一個簡單的Modbus通訊。這個例子是關于Modbus功能碼6的(寫從站保持寄存器), 也可以作為其他所支持的功能碼:1, 2, 3, 4, 5, 15 和16 的基本參數(shù)設置步驟 。
要求:要使用Modbus協(xié)議必須先在STEP 7 Micro/Win上安裝指令庫 。Modbus主站協(xié)議只支持STEP 7 Micro/Win V4.0 SP5及其以上版本.。
硬件設置
參數(shù)匹配
指令庫的存儲地址
保持寄存器值得傳輸
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)。

2.參數(shù)匹配對于MODBUS通訊, 主站側需要程序庫 "MBUS_CTRL" 和 "MBUS_MSG",
①從站側需要程序庫 "MBUS_INIT" and "MBUS_SLAVE"。
在 Micro/WIN 中您需要為主站和從站新建一個項目,程序與參數(shù)設置見圖02。必須要保證主站與從站的“Baud”和"Parity"的參數(shù)設置要一致,并且程序塊"MBUS_MSG"中的"Slave"地址要與程序塊"MBUS_INIT"中的"Addr"所設置的一致 (見圖.02)。Micro/WIN“系統(tǒng)塊”中設置的0通訊口的波特率與MODBUS協(xié)議無關("Mode" = "1")。

下面的表格列出了程序塊各個參數(shù)選項及其意義
主站
MBUS_CTRL

表 01
1)參看STEP 7 Micro/WIN 幫助: "MODBUS主站執(zhí)行MBUS_MSG時的錯誤代碼MBUS_MSG" 。
MBUS_MSG

表 02
1)參看STEP 7 Micro/WIN 幫助: "MODBUS主站執(zhí)行MBUS_MSG時的錯誤代碼MBUS_MSG" 。
從站
MBUS_INIT

表 03
2)最大的地址取決于所用CPU的類型及其最大值。3)參看STEP 7 Micro/WIN 幫助: “MODBUS從站協(xié)議的錯誤代碼”。
MBUS_SLAVE

表 04
3)參看STEP 7 Micro/WIN 幫助: “MODBUS從站協(xié)議的錯誤代碼” 。
3.庫的存儲地址項目完成后必須要在Micro/WIN中定義庫的存儲地址,當定義完存儲區(qū)后, 要保證在任何情況下不能再被其它程序所使用 (主站側: "DataPtr" + "Count" 從站側: "HoldStart" + "MaxHold"

4.保持寄存器值的傳輸將程序下載到相應的CPU后,可以在狀態(tài)表中給主站側的V存儲區(qū)賦值,然后監(jiān)視從站的變化。當主站的I0.0使能后,VW2中的內容就被發(fā)送到從站并寫入從站的VW2 。
①保持寄存器值的傳輸見圖.04。指針"DataPtr" 代表了V區(qū)被讀的起始地址。參數(shù) "Count" 表明了地址"Addr" = "4xxxx" (保持寄存器)以字為單位被讀的個數(shù)。主站中被讀取的V存儲區(qū)被寫入地址為"Addr" = "40002" ("RW" = "1")的保持寄存器中。保持寄存器是以字為單位工作的,它與從站的V區(qū)地址對應。指針 "HoldStart" 明確了與保持寄存器起始地址40001相對應的V存儲區(qū)的初始地址。可以這樣計算從站的V區(qū)目標指針:
2 * (Addr - 40001) + HoldStart = 2 * (40002 - 40001) + &VB0 = &VB2
另外,要保證"MaxHold" 定義的數(shù)據(jù)區(qū)能夠包含主站側所要寫入的數(shù)據(jù)區(qū) :
MaxHold >= Addr - 40001 + Count = 40002 - 40001 + 1 = 2

-
寄存器
+關注
關注
31文章
5608瀏覽量
129998 -
cpu
+關注
關注
68文章
11279瀏覽量
225012 -
S7-200
+關注
關注
13文章
412瀏覽量
52774
原文標題:西門子S7-200 Modbus最強解析圖解
文章出處:【微信號:GKB1508,微信公眾號:工控幫】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
西門子S7-1200 MODBUS RTU通訊溫度控制器和變頻器教程
西門子SMARTS7-200PLC與S7-1200PLC以太網(wǎng)通訊及PPI集成實現(xiàn)工業(yè)機械控制
西門子SMARTS7-200與S7-1200PLC以太網(wǎng)通訊配置詳解(含上位機對接)
西門子SMARTS7-200PLC與S7-1500PLC以太網(wǎng)通訊及PPI集成實現(xiàn)分布式IO控制
plc以太網(wǎng)通訊模塊實現(xiàn):S7-200與S7-1200借PPI助力農業(yè)自動化發(fā)展
西門子S7-200與S7-1200通過PPI以太網(wǎng)模塊通訊,賦能汽車制造行業(yè)發(fā)展
西門子 S7-200?與 S7-1200?借 PPI?以太網(wǎng)模塊通訊,賦能食品行業(yè)進步
依托 PPI 以太網(wǎng)模塊,西門子 S7-200 與 S7-1200 通訊助推食品行業(yè)前行
基于Modbus TCP的WinCC監(jiān)控S7-1200/200SMT應用實例
請問西門子S7-1200 如何實現(xiàn)Modbus TCP 通訊?
依托PPI以太網(wǎng)模塊,西門子S7-200與S7-1200通訊助力食品加工行業(yè)進步
西門子S7-200PLC借助于以太網(wǎng)模塊與STEP7上位機通訊應用配置案例
S7-200Smart與S7-1200通過Modbus協(xié)議對接到上位機
S7-200CPU之間設置一個簡單的Modbus通訊
評論