在使用Modbus協議時,計算機與S7-200之間通訊直接使用PPI通訊電纜即可。但如果通訊距離較遠,或者需要將多個S7-200連接到一個通訊總線上時,我們可以通過如下方法配制通訊鏈路。
選配一個計算機通訊端口
由于S7-200通訊端口物理層使用的是RS-485通訊規范,因此我們需要在計算機端增加一個RS-485通訊端口,才能與計算機通訊建立通訊。如果計算機閑置的串口,我們可以選配一個RS-232轉RS-484轉換器即可;如果沒有閑置的串口,我們通過在計算機中增加一個RS-485通訊卡也可以;現在很多計算機都有USB口,我們也可以在計算機上外接一個USB轉RS-485轉換器。連接通訊電纜
S7-200的通訊端口是一個9孔(famel)D型插頭,針腳分布如下所示:
針腳 | 信號 |
1 | 地線 (RS-485 邏輯地) |
2 | 24 V 地線 (RS-485 邏輯地) |
3 | 信號B (RxD/TxD+) |
4 | RTS (TTL level) |
5 | 地線 (RS-485 邏輯地) |
6 | (空) |
7 | 24 V 電源 |
8 | 信號A (RxD/TxD-) |
9 | 通訊選擇 |
S7-200通訊端口(端口0)與RS-485板卡或RS-485/RS-232轉換器之間接線,如下圖所示:
S7-200編程及設置
在缺省情況下S7-200的通訊端口是不支持Modbus協議的,要想實現Modbus通訊必需在PLC的主程序模塊中調用Modbus通訊子程序。Modbus通訊子程序可以從“STEP 7-Micro/WIN Add-On: Instruction Library (STEP 7-Micro/WIN附件:指令庫)”中獲得。在安裝了“STEP 7-Micro/WIN附件:指令庫”后,在導航樹“指令/庫”下面我們可以找到“Modbus Protocol”。在其下面包含了MBUS_INIT和MBUS_SLAVE兩個子程序,MBUS_INIT用于對Modbus通訊進行初始化,MBUS_SLAVE用于在指定端口上提供Modbus從站通訊服務。下在介紹如何在主程序中調相關子程序及環境參數設置:調用Modbus通訊初始化命令
首先為MBUS_INIT命令建立一個觸發條件(只觸發一次),如:SM0.1;從導航樹“指令/庫/ Modbus Protocol”下面,將MBUS_INIT指令拖拽到主程序塊中。再就是正確設置MBUS_INIT各項調用參數和執行結果輸出地址,我們可以建立一下如下圖所示初始化調用過程:
Mode:協議類型,1-Modbus協議;0-PPI協議。
Addr: PLC地址,1~247,。
Baud: 通訊波特率,1200、2400、4800、9600、19200、38400、57600或11520。
Parity: 校驗方式,0-無校驗;1-奇數校驗;2-偶數校驗。
Delay:信息結束超時時間,0~32767,有線連接設置為0即可。
MaxIQ:0~128,映射在離散輸入寄存器或離散輸出寄存器中的I或Q數。建議為:128。
MaxAI:0~32;映射在模擬輸入寄存器中AIW數;CPU 221為0,CPU 222為16,CPU 224、226和226XM為32。
MaxHold:V內存映射在保持寄存器中的寄存器數。
HoldStart:V內存的映射時的起始地址。
Done:初始化指完成時,輸出為開狀態;開關量(Bit)。
Error:初始化錯誤代碼,請參閱Modbus從機協議執行錯誤代碼;輸出為字節。調用Modbus從機通訊命令
初始化完成后,就可以調用Modbus從機通訊命令(MBUS_SLAVE)了。通常Modbus從機通訊命令在主程序塊的每個執行周期都要初執行(始終保持通訊狀態),因為可以用一個常開量作為命令的觸發條件,如:SM0.0。從導航樹“指令/庫/ Modbus Protocol”下面,將MBUS_SLAVE指令拖拽到主程序塊中。調用過程如下圖所示:
Done: 當MBUS_SLAVE指令響應對Modbus請求時,"Done"為開狀態。沒通訊請求時"Done"為關狀態。
Error:指令執行結果。只有"Done"為開狀態時,此狀態有效。請參閱Modbus從機協議執行錯誤代碼;輸出為字節。庫存儲區分配
在完成前面兩個指令調用后,還要為庫指令使用的符號分配內存。當庫指令被插入到主程序塊中,在導航樹“程序塊”下會出現一個“庫”節點。在“庫”節點上點擊鼠標右鍵,在彈出菜單中選擇“庫存儲區”,進入“庫存儲區分配”對話框。
在地址框中輸入分配內存的開始地址,或者通過點擊“建議地址”按鈕自動分配內存。注意,分配的內存不要與已使用的內存重疊
-
轉換器
+關注
關注
27文章
8724瀏覽量
147417 -
RS-485
+關注
關注
11文章
684瀏覽量
84313 -
ModBus協議
+關注
關注
3文章
177瀏覽量
33463
原文標題:西門子S7-200使用Modbus協議(最全解析)
文章出處:【微信號:GKYXT1508,微信公眾號:工控云學堂】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論