1 引言
現(xiàn)場總線(Fieldbu)是20 世紀80 年代末、90 年代初發(fā)展起來的現(xiàn)場智能設備互連通信網絡,是計算機網絡適應工業(yè)現(xiàn)場環(huán)境的產物,經過十幾年的發(fā)展已成為當今世界自動化技術的熱點。據(jù)不完全統(tǒng)計,目前各類現(xiàn)場總線有40 多種,主要用于解決工業(yè)現(xiàn)場的智能化儀器儀表、控制器、執(zhí)行機構等現(xiàn)場設備間的數(shù)據(jù)通信及這些現(xiàn)場控制設備與高級控制系統(tǒng)之間的信息傳遞問題。
目前,較為流行的現(xiàn)場總線有FF 、LonWorks 、Profibus 、WorldFIP 、CAN 、HART (過渡協(xié)議)等?,F(xiàn)場總線雖然必須設計成開放系統(tǒng),但其網絡結構并不需要保持與OSI 系統(tǒng)完全一致?,F(xiàn)場總線采用了3 層網絡結構--物理層、數(shù)據(jù)鏈路層和應用層。流量控制和差錯控制在數(shù)據(jù)鏈路層中執(zhí)行,報文的可靠傳輸在數(shù)據(jù)鏈路層或應用層中執(zhí)行。
2 Profibus-DP 總線
2.1 Profibus-DP 主從通信
Profibus-DP 網絡是一個主站/從站(Master / Slaver)網絡,典型的DP 配置是單主站結構。DP 主站與DP 從站之間的通信基于主從原理,主站具有總線控制權,周期地讀取從站的輸人信息并周期地向從站發(fā)送輸出信息,而總線上的DP 從站僅僅是對主站作有關應答或響應。數(shù)據(jù)通信由主站和從站進行監(jiān)控。一個DP 系統(tǒng)也可能是多主系統(tǒng)。
2.2 Profibus-DP 總線拓撲
Profibus-DP 系統(tǒng)有2 種總線拓撲結構:一種是RS-485 ,采用屏蔽雙絞線,拓撲結構為總線型,通信速率為9.6kb/s.(12oom )-1, 12Mb/s.(100 m )-1,每段最多節(jié)點數(shù)為32,不支持總線供電;另一種是采用光纖,用于電磁兼容性要求高和長距離要求的場合。
2.3 Profibus-DP主從通信原理
在數(shù)據(jù)鏈路層,Profibus-DP 使用混合的總線存取控制機制來實現(xiàn)相關站之間的通信。其存取控制機制包括用于主站間通信的分散的令牌傳遞機制和用于主站與從站間通信的集中的主-從機制。Profibus-DP的總線存取控制機制與所使用的傳輸介質無關,每個DP 節(jié)點有一個總線上惟一的地址,報文用節(jié)點編址的方法組織。
令牌介質存取中令牌是一種特殊的電文,它在主站間傳遞控制權。連接到Profibus 網絡的主站按其總線地址(由總線存取控制MAC 程序自動判定總線上所有主動節(jié)點地址并記錄在主動站表LAS 中)的升序組成一個邏輯令牌環(huán)。當某個主站得到令牌后,該主站就被允許在以后的一段時間內執(zhí)行主站工作。根據(jù)主從站關系表給其它的主站或從站發(fā)送幀,直到發(fā)完或規(guī)定的時間到,再把令牌按令牌環(huán)規(guī)定的順序傳給其它主站。具有總線地址HAS (最高站地址)的站點例外,它只傳遞令牌給具有最低總線地址的站點,以使邏輯令牌環(huán)閉合。在主-從方式下,由一個主站控制著多個從站,構成主-從系統(tǒng)。主站發(fā)出命令,從站給出響應,配合主站完成對數(shù)據(jù)鏈路的控制,一個主站應與相關的多個從站中的每個從站建立一條數(shù)據(jù)鏈路,從站可以發(fā)送多個偵,直到以下一種情況發(fā)生為止:從站沒有信息幀可發(fā)送,未完成幀的數(shù)目已達最大值或從站被主站停止。典型的Profibus-DP 總線配置是以主-從總線存取程序為基礎的,一個主動節(jié)點(DP 主站)循環(huán)地與被動節(jié)點(DP 從站)交換數(shù)據(jù)。在單主方式中不存在令牌的傳遞,故在本文所討論的系統(tǒng)中只涉及主從機制,也就是說令牌始終在這個主站,該主站是這個系統(tǒng)中惟一具有總線控制權的站。
3 基于Profibus 一DP 主從通信
3 . 1 硬件部分
Profibus 通信的實現(xiàn)主要由帶Profibus通信接口的中央處理器或通信模塊完成,通信模塊有DP 從站、DP 主站、FMS 站及混合DP 和FMS 的通信模塊。本文實驗是基于奧地利貝加萊(B&R) 公司的相關產品在貝加萊-東華大學工業(yè)自動化聯(lián)合實驗室中進行的,以通過Profibus-DP網對下位對象的控制為例介紹Profibus 一DP 網通信的實現(xiàn)。本實驗系統(tǒng)網絡結構如圖1 所示,其中主站為B&R公司的2005 系列,CPU 為CP260 或IF260 ,主站通過網絡模塊EX450 掛接到Profibus - DP 網上。當用EX450 作為主站模塊時,可帶具有IF361 、IF661 或其它接口模塊的從站127 個,也可帶具有Profibus 一DP 口的其它設備,如B&R公司的PROVIT 圖文顯示操作站、ACOPOS 伺服裝置、PANEL WARE 人機界面模塊等,或其它公司的一些產品,如Siemens 公司的ET200系列。2 個從站選用2 種不同配置,其中一個為2003 系列,網絡接口模塊IF361 ;另一個為2005 系列,接口模塊為IF661。接口模塊IF36l 與IF661 內部采用的都是Siemens 公司ASICs 芯片SPC3 , SPC3 是一種用于從站的智能通信芯片,支持Profibus-DP 協(xié)議,可獨立完成全部Profibus-DP 通信功能。

圖1 系統(tǒng)網絡結構圖
3.2 軟件部分
( l )網絡組態(tài)。網絡組態(tài)部分實際上就是形成整個Profibus-DP 網絡的網絡配置,包括網絡波特率、主從站地址及主從關系表等參數(shù);上位機中裝有B&R PCC 通信程序開發(fā)平臺Automation Studio (AS)軟件及B&R Fieldbus Configurator(Sycon)網絡配置軟件,分別用于對PCC 編程和對Profibus-DP 網進行組態(tài)、通信設置及監(jiān)控。
Profibus-DP 網絡的配置相當靈活,網絡允許單子網或多子網配置,既可以單主-從網絡,又可多主-從網絡。通過B&R 公司軟件B&R Fieldbus Configurator可對整個網絡進行配置,設置相關的參數(shù)。通過該軟件,不僅可配置Profibus-DP網絡,對InterBus , CANopen , DeviceNet , ControlNet , SDS , As-Interface 都可以進行相關配置。組建Profibus-DP 網絡的設備通過讀取相應GSD 文件而加人到同一總線系統(tǒng)中。GSD文件是電子設備數(shù)據(jù)文件。為了將不同廠家的Profibus 產品集成在一起,生產廠家必須以GSD 文件方式提供這些產品的功能參數(shù)。GSD 文件應該包括3 個部分:總體規(guī)范(生產廠商和設備名稱、硬件和軟件版本、波特串等)、與DP 有關的規(guī)范(主站的各項參數(shù))、與DP 從站有關的規(guī)范(輸人輸出通道數(shù)、 類型、診斷數(shù)據(jù)等)。從站與主站之間的通信是通過使用設備數(shù)據(jù)庫文件(GSD )實現(xiàn)的。另外,B&R 公司軟件FieldBus Configurator 還可以用于對整個網絡進行診斷,并可對網絡的通信信息進行監(jiān)控。
系統(tǒng)具體配置過程如下:
?、?通過GSD 文件組態(tài)網絡,設置網絡波特率、主從站地址,給從站模塊在主站內存區(qū)分配映射緩沖區(qū),確定映射區(qū)起始地址及大?。◤恼驹谥髡揪彌_區(qū)中分配的映射區(qū)是連續(xù)的),將配置文件下載至EX450 。
?、?從站IF361是在程序中設置從站地址及波特率的,而從站IF661從站地址是通過硬件撥碼設置的,此撥碼設定須與主站配置軟件中的設置一致。
?、?將兩從站AS編寫的通信程序通過模塊上的RS-232 口下載至對應模塊。
?、?在B&R Fieldbus Configurator軟件診斷模式下測試整個網絡,查看從站激活情況,然后由軟件生成主站通信程序所需要的網絡配置數(shù)據(jù)模塊。
?、?在主站程序中加人主站Profibus-DP 庫,并加人上面生成的數(shù)據(jù)模塊,編寫主站通信程序,下載至主站CPU 中。
( 2 )通信編程。在該網絡配置完成后,物理架構上的主從網絡已實現(xiàn),下面就是要實現(xiàn)主從站之間的通信。從站程序主要設置從站緩沖區(qū)大小及實現(xiàn)主站相應緩沖區(qū)與從站緩沖區(qū)的數(shù)據(jù)交換。它并不參與數(shù)據(jù)交換的協(xié)調過程,整個數(shù)據(jù)交換過程完全由主站程序控制。主站程序中,首先在初始化程序段通過Init 函數(shù)初始化模塊,并檢查網絡配置模塊是否存在(標志變量與Config是否為1 )。若標志變量Config 與run 都為1 ,直接調用I/O函數(shù)進人循環(huán)數(shù)據(jù)交換階段;若標志變量Config為0 ,調用Config命令將配置模塊傳送到通信模塊中;若標志變量run為0 ,說明當前未在數(shù)據(jù)交換階段,則調用Start 函數(shù)開始數(shù)據(jù)交換,進人循環(huán)數(shù)據(jù)交換階段。在循環(huán)數(shù)據(jù)交換階段,通過I/O函數(shù)復制需傳送的數(shù)據(jù)到相應的緩沖區(qū)中,由Command 函數(shù)檢查總線狀態(tài),判斷總線是否忙,并進行同步處理。由SlaveState 函數(shù)來診斷當前網絡從站是否存在并處于激活狀態(tài),并由slaveExtStat 函數(shù)給出詳細的從站狀態(tài)信息。若一切正常,則配合從站程序,實現(xiàn)從站程序緩沖區(qū)與主站緩沖區(qū)中的數(shù)據(jù)交換,最后由Stop終止數(shù)據(jù)交換。主站通信控制程序流程如圖2 所示。

圖2 主站程序流程
( 3 )通信監(jiān)控。通過B&R Fieldbus configurator軟件本身帶有的監(jiān)控程序I/O Watch ,可以實時看到主從站數(shù)據(jù)緩沖區(qū)中數(shù)據(jù)的變化。在此實驗系統(tǒng)中,在主站程序設置一個兩元素的數(shù)組,數(shù)組元素自加,通過SYSCON 的I/O Watch 監(jiān)控功能可以得到數(shù)據(jù)交換。
4 結語
本文從研究的角度討論了Profibus -DP網絡的基本特性、拓撲形式、通信原理等,結合具體的實驗系統(tǒng)介紹了實現(xiàn)該網絡主從通信的具體方法并取得了良好的實驗效果。在本文所論述方法的基礎上,通過修改應用程序可很好地滿足實際工程中主站對從站的配置監(jiān)控、主從站數(shù)據(jù)通信等要求,具有很廣泛的通用性。由于Profibus -DP的開放性、實時性好,數(shù)據(jù)傳輸速度快,系統(tǒng)實現(xiàn)簡單,可靠性高,符合現(xiàn)代工業(yè)網絡發(fā)展的趨勢,將在未來一段時間內得到廣泛的應用。
參考文獻
[1] 陽憲惠,魏慶福,徐田娥.現(xiàn)場總線技術及其應用[M].北京:清華大學出版社,1999.
[2] 齊蓉,肖維榮.可編程計算機控制器高級技術[M].西安:西北工業(yè)大學出版社,2002 .
[3] B&R 公司.B&R FieldBus Configurator 用戶手冊[Z] .
[4] 張浩,譚克勤,朱守云.現(xiàn)場總線與工業(yè)以太網絡應用技術手冊(第一冊)[M] .上海:上??茖W技術出版社,2002 .