閱讀 | 訂閱
閱讀 | 訂閱
控製係統

使用Modbus協議建立S7-200與紫金橋軟件之間的通訊

星之球激光 來源:中國自動化網2012-01-05 我要評論(0 )   

在使用西門子S7-200時,在不增加其它通訊接口模塊時,紫金橋軟件可以通訊PPI協議與(yu) S7-200直接通訊。但這種通訊方式由於(yu) 受通訊協議本身限製,在通訊數據較多時,通訊速度...

在使用西門子S7-200時,在不增加其它通訊接口模塊時,紫金橋軟件可以通訊PPI協議與(yu) S7-200直接通訊。但這種通訊方式由於(yu) 受通訊協議本身限製,在通訊數據較多時,通訊速度相對較慢,使用Modbus協議則通訊速度可以提高約一倍。下麵就介紹一下怎麽(me) 使用Modbus協議建立S7-200與(yu) 紫金橋軟件之間的通訊:

硬件連接

在使用Modbus協議時,計算機與(yu) S7-200之間通訊直接使用PPI通訊電纜即可。但如果通訊距離較遠,或者需要將多個(ge) S7-200連接到一個(ge) 通訊總線上時,我們(men) 可以通過如下方法配製通訊鏈路。

  • 選配一個計算機通訊端口

由於(yu) S7-200通訊端口物理層使用的是RS-485通訊規範,因此我們(men) 需要在計算機端增加一個(ge) RS-485通訊端口,才能與(yu) 計算機通訊建立通訊。如果計算機閑置的串口,我們(men) 可以選配一個(ge) RS-232轉RS-484轉換器即可;如果沒有閑置的串口,我們(men) 通過在計算機中增加一個(ge) RS-485通訊卡也可以;現在很多計算機都有USB口,我們(men) 也可以在計算機上外接一個(ge) USB轉RS-485轉換器。

  • 連接通訊電纜

S7-200的通訊端口是一個(ge) 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)與(yu) RS-485板卡或RS-485/RS-232轉換器之間接線,如下圖所示:

S7-200編程及設置

在缺省情況下S7-200的通訊端口是不支持Modbus協議的,要想實現Modbus通訊必需在PLC的主程序模塊中調用Modbus通訊子程序。Modbus通訊子程序可以從(cong) “STEP 7-Micro/WIN Add-On: Instruction Library (STEP 7-Micro/WIN附件:指令庫)”中獲得。在安裝了“STEP 7-Micro/WIN附件:指令庫”後,在導航樹“指令/庫”下麵我們(men) 可以找到“Modbus Protocol”。在其下麵包含了MBUS_INIT和MBUS_SLAVE兩(liang) 個(ge) 子程序,MBUS_INIT用於(yu) 對Modbus通訊進行初始化,MBUS_SLAVE用於(yu) 在指定端口上提供Modbus從(cong) 站通訊服務。下在介紹如何在主程序中調相關(guan) 子程序及環境參數設置:

調用Modbus通訊初始化命令

首先為(wei) MBUS_INIT命令建立一個(ge) 觸發條件(隻觸發一次),如:SM0.1;從(cong) 導航樹“指令/庫/ Modbus Protocol”下麵,將MBUS_INIT指令拖拽到主程序塊中。再就是正確設置MBUS_INIT各項調用參數和執行結果輸出地址,我們(men) 可以建立一下如下圖所示初始化調用過程:

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,有線連接設置為(wei) 0即可。

MaxIQ:0~128,映射在離散輸入寄存器或離散輸出寄存器中的I或Q數。建議為(wei) :128。

MaxAI:0~32;映射在模擬輸入寄存器中AIW數;CPU 221為(wei) 0,CPU 222為(wei) 16,CPU 224、226和226XM為(wei) 32。

MaxHold:V內(nei) 存映射在保持寄存器中的寄存器數。

HoldStart:V內(nei) 存的映射時的起始地址。

Done:初始化指完成時,輸出為(wei) 開狀態;開關(guan) 量(Bit)。

Error:初始化錯誤代碼,請參閱Modbus從(cong) 機協議執行錯誤代碼;輸出為(wei) 字節。

調用Modbus從機通訊命令

初始化完成後,就可以調用Modbus從(cong) 機通訊命令(MBUS_SLAVE)了。通常Modbus從(cong) 機通訊命令在主程序塊的每個(ge) 執行周期都要初執行(始終保持通訊狀態),因為(wei) 可以用一個(ge) 常開量作為(wei) 命令的觸發條件,如:SM0.0。從(cong) 導航樹“指令/庫/ Modbus Protocol”下麵,將MBUS_SLAVE指令拖拽到主程序塊中。調用過程如下圖所示:

Done: 當MBUS_SLAVE指令響應對Modbus請求時,"Done"為(wei) 開狀態。沒通訊請求時"Done"為(wei) 關(guan) 狀態。

Error:指令執行結果。隻有"Done"為(wei) 開狀態時,此狀態有效。請參閱Modbus從(cong) 機協議執行錯誤代碼;輸出為(wei) 字節。

庫存儲區分配

在完成前麵兩(liang) 個(ge) 指令調用後,還要為(wei) 庫指令使用的符號分配內(nei) 存。當庫指令被插入到主程序塊中,在導航樹“程序塊”下會(hui) 出現一個(ge) “庫”節點。在“庫”節點上點擊鼠標右鍵,在彈出菜單中選擇“庫存儲(chu) 區”,進入“庫存儲(chu) 區分配”對話框。

在地址框中輸入分配內(nei) 存的開始地址,或者通過點擊“建議地址”按鈕自動分配內(nei) 存。注意,分配的內(nei) 存不要與(yu) 已使用的內(nei) 存重疊。

紫金橋軟件組態

完成PLC編程和配製後,還要對紫金橋軟件進行配製,這樣才能獲取、處理、查測、存儲(chu) 和顯示相應的數據。組態過程分為(wei) 兩(liang) 個(ge) 步驟:(1)設備組態,即建立一個(ge) 與(yu) PLC相對應的邏輯設備;(2)點組態,即建立過程數據庫點的過程參量與(yu) PLC中變量的對應關(guan) 係,從(cong) 而利用點的自身功能進行處理、檢測和存儲(chu) 。當然要將過程數據在計算機上展現給用戶,還要進行交互界麵(窗口)組態。但這一過程對所有應用是相同這,這裏就不介紹了。#p#分頁標題#e#

設備組態

設備組態就根據PLC使用的通訊協議及在網上的節點地址、端口屬性等對通訊參數進行定義(yi) 的過程。

進入紫金橋開發環境,將導航樹切換到“數據庫”,在導航樹上選擇“設備驅動/MODBUS/
MODBUS(ASCII&RTU串口通訊)”,單擊鼠標右鍵,在單出菜單中選擇“增加設備驅動”會(hui) 彈出發下所示對話框:

在對話框中輸入設備名稱、設備地址(與(yu) PLC中MBUS_INIT初始化的Addr參數一致),選擇串口號,並且設置(點擊“設置”按鈕)端口屬性,使用它與(yu) PLC中MBUS_INIT命令設置的屬性一致。點擊“下一步”:

在Modbus設備定義(yi) 對話框中將協議類型選擇為(wei) “RTU”,存貯器類型選擇“32位”(即長整和浮點型4字節的數據的傳(chuan) 送格式為(wei) 高位在前,低位在後)。單擊“完成”按鈕,則設備組態完成。

點組態及I/O連接

完成了點組態還要進行點組態I/O連接,這樣才能將PLC中的變量映射到紫金橋軟件中。

進入紫金橋開發環境,將導航樹切換到“數據庫”,在導航樹上雙擊“點組態”,進入點組窗口:

選擇點類型,建點,設置常規參數是點組態的基本操作,對所有應用是相同的,這裏就不詳細說明了。下麵重點介紹一下I/O連接及與(yu) 變量對應關(guan) 係。

這裏以模擬I/O點的I/O連接為(wei) 例。新建一個(ge) 模擬I/O點後,輸入點名,切換到“數據連接”屬性頁:

從(cong) 該屬性的設備列表框中選擇在上一步驟中建立的設備(如:MOD),點擊“增加連接項”按鈕,進入“Modbus組點對話框”:

這裏的“內(nei) 存區”、“偏置”和“數據格式”是與(yu) PLC中部分內(nei) 存類型和地址相對應的。對於(yu) 在Modbus協議中不能對應的PLC內(nei) 存類型,如果需要上傳(chuan) 到過程數據庫中,可以先它們(men) 先移動到V內(nei) 存區,再通過V內(nei) 存區讀取。S7-200內(nei) 存區與(yu) 紫金橋I/O連接對應關(guan) 係如下所示:


 

 

S7-200地址

紫金橋軟件I/O連接

內(nei) 存區

偏置

Q0.0

DO離散輸出量

0

Q0.1

1

Q0.2

2

……(Qm.n)

……(m*8+n)

Q15.6

126

Q15.7

127

I0.0

DI離散輸入量

0

I0.1

1

I0.2

2

……(Im.n)

……(m*8+n)

I15.6

126

I15.7

127

AIW0

AR輸入寄存器

0

AIW2

1

AIW4

2

……(AIW2n)

……(n)

AIW62

31

Hold Start(如:VB0)

 

0

Hold Start+2(如:VB2)

 

1

Hold Start+4(如:VB4)

 

2

……

 

……

Hold Start+(HoldMax-1)*2

 

HoldMax-1

#p#分頁標題#e#

在完成存貯區和地址組態,還要注意一點就是數據類型一致性,隻有類型一致才能從(cong) PLC上獲得正確數據。我們(men) 可以從(cong) “數據格式”中選擇格式。對於(yu) 字寄存器我們(men) 也可以將它拆分為(wei) 位,從(cong) 而獲得某個(ge) 位的狀態。

注:對新組態的數據庫點隻有重新啟動後才會(hui) 生效。

轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀