Profibus-DP現場息線通信主站設計
關鍵詞 現場總線 Profibus-DP 主站 VxWorks
現場總線是當今自動化領域的熱點之一,它的出現標志著工業控制技術領域又一個新時代的開始。在眾多的現場總線產品中,作為歐洲首屈一指的開放式現場總線Profibus(Process Fieldbus)已經被全世界所接受,成為國際化的開放式現場總線標準,并和基金會現場總線FF成為現場總線的兩大體系,廣泛應用于加工制造、過程和建筑自動化領域中。
嵌入式系統以應用為中心,軟硬件可裁剪,適用于應用系統對功能,可靠性、成本、體積、功耗有嚴格要求的場合,其應用遍及工業控制、軍事、網絡、信息家電、金融等各個領域。
將Profibus-DP技術與嵌入式軟硬件相結合將大大提升系統的品質,提高系統的開放性、實時性和可靠性。
1 Profibus-DP協議結構及技術特性
Profibus根據應用特點可分為:Profibus-FMS (Fieldbus Message Specification)、Profibus-DP(Decen-tralized Periphery)和Profibus-PA(Process Automation)三個兼容版本。
Profibus-FMS用于完成車間級通用性通信任務,適用于中等傳輸速度的監控網絡以及太范圍復雜的通信系統。Profibus-DP用于實現設備一級的高速數據通信,中央控制器通過高速串行線與分散的現場設備進行通信,是一種高速、低成本的通信系統,適用于分布式控制系統的高速數據傳輸。這類系統的構成包括DP 1類主站(DPMl,中央可編程控制器)、DP 2類主站(DPM2,可編程、組態、診斷的設備)和DP從站(進行輸入/輸出信息采集/發送的設備)。Profibus-PA是Profibus-DP向現場的延伸,它具有本質安全的特性,適用于本質安全要求較高的場合和總線供電的站點。
Profibus協議結構在OSI參考模型上進行了一定的簡化,協議結構如圖l所示,這種結構保證了快速而有效的數據傳輸以及系統的低成本性。
Profibus-DP使用了物理層、數據鏈路層和用戶層。物理層規定了線路介質、物理連接的類型和電氣特性。Profihus-DP通常采用RS485傳輸技術,傳輸介質為屏蔽的雙絞銅線電纜,傳輸速度可達9.6 kbps~12 Mbps。在電磁干擾很大或傳輸距離很長的情況下,可以使用光纖傳輸技術。
現場總線數據鏈路層FDL規定介質訪問控制、幀格式、服務內容以及物理層、數據鏈路層的總線管理服務FMAl/2。介質訪問控制(MAC)層描述了Profibus采用的混合訪問方式,即主站與主站之間的令牌傳遞方式,主站與從站之間的主一從方式,主站通過獲取令牌獲得訪問控制權。Profibus規定幀字符由11位組成:開始位O、8位數據、偶校驗位和停止位l。FDL層提供4種服務:SDA、SRD、SDN、CsRD。DP總線的傳輸依靠SDN和SRD這兩種FDL服務。FMAl/2的功能主要有強制復位FDL和PHY、設定參數值、讀狀態、讀事件及進行配置等。
用戶層包括直接數據鏈路映像DDLM和用戶接口/用戶。用戶接口詳細說明了各種不同Profibus-DP設備的設備行為,DDLM將所有在用戶接口中傳送的功能都映射到現場總線數據鏈路層FDL和FMAl/2服務。
2 Profibus-DP通信機理
Profibus-DP的主要日的是在功能強大的主站與若干簡單的從站之間進行快速循環的數據交換,因此系統主要完成主一從通信任務,此外Profibus的混合總線訪問方式也允許1類主站與2類主站之間的主一主通信。
在Profibus-DP系統中。DPMl與DP從站之間的通信類型主要有:讀取從站的診斷信息、參數化設置和組態、循環的用戶數據交換。Profibus-DP主一從通信過程,大致可以分為如下幾個階段:主站對從站的第一次診斷,參數化從站,組態配置從站,主站對從站的第二次診斷以及主站與從站之間的循環數據交換。
對于多主站通信系統,DPMl和DPM2之間的通信有:讀取有關DP從站的診斷信息,參數的上傳和下載,激活總線參數(無需確認),激括與解除激括參數集,選擇DPMl的操作模式等。DPM2與從站之間的通信為非循環的,包括讀取從站的通信接口配置、輸入/輸出數據和設置從站地址。
3 Profibus-DP現場總線主站總體設計
Profibus是開放的標準。原則上,該協議可以在任何處理器上實現,在處理器內部或者外部安裝異步串行通信接口(UART)即可。基于上述特點,在開發Profibus-DP主站時,主要有以下兩種解決方案:
①由微處理器運行完整的協議棧來實現。這種方案完全由軟件來實現Profibus協議,開發整個協議棧軟件難度很大,大多數開發者一般都向專門的開發商購買。
②由協議ASIC芯片外加其擴展固化程序來實現。這種實現方案是采用最多的一種,由專用的ASIC芯片實現Profibus協議數據鏈路層的介質訪問控制功能;而數據鏈路層的其他功能則由微處理器運行其擴展固化程序實現。目前可用于這種方案的ASIC芯片主要有3種:Sie-mens公司的ASPC2、M2C公司的IXl和IAM公司的PBM。在應用此方案實現主站時,可以有兩種選擇:一是向上述3個公司購買完整的開發平臺,包括ASIC芯片、固化程序以及相應的硬件與開發軟件;二是只購買ASIC芯片以及必要的軟硬件開發工具,固化程序由自己編寫實現,此法開發難度大,開發周期長。采用后者實現主站的典型例子是HMS公司,由其開發的Anybus-M主站模塊采用了Siemens公司的ASPC2芯片,但擴展固化程序由HMS公司自己編寫,組成一個完整的模塊后提供給其他開發者。為了縮短開發周期,本主站的設計就是采用HMS公司的Anybus-M主站接口模塊,從而減小在組建DP主站時軟硬件方面的工作量。
本設計組建的是Profibus-DP單主站系統,An5rbus-M模塊在初始化時可以設置為DPMl和DPM2,因此研制的主站除了實現DPMl與DP從站之間的主一從功能(包括讀取DP從站的診斷信息、設置從站參數、通信接口配置檢查、循環數據交換以及全局控制命令)外,還要實現DPM2與DP從站的主-從功能(包括讀取從站的通信接口配置、輸入/輸出數據,設置從站地址等)。
3.1 硬件設計
Profibus-DP主站硬件電路圖如圖2所示。系統硬件主要由基于PC/104總線的CPU模塊SCM7020B、Anybus-M模塊、CPLD邏輯譯碼電路和復位電路組成。
Anybus-M主站接口模塊通過一個DPRAM與外部處理器接口,PC/104通過對此DPRAM的訪問來實現主站與從站的數據交換,以及對主站模塊的訪問控制。通過中斷或者BUSY信號線來解決PC/104與Anybus-M主站接口模塊同時訪問DPRAM的沖突問題。CPLD用于實現地址譯碼,產生片選信號CS和讀/寫控制信號。復位電路用于實現PC/104及Anybus-M模塊的復位。
3.1.1 Anybus-M主站接口模塊
Anybus-M主站接口模塊已經實現了必要的網絡協議,板上自帶微處理器,獨立于自動化設備完成通信協議,同時支持DP和DPVl,具有4KB DPRAM,保證了最多1536字節循環輸入/輸出數據的高速傳輸。此外,該模塊可以集成在工業自動化設備中,實現與工業現場裝置的通信,典型的應用包括人機界面、PLC、數控設備、機器人以及智能可視化設備等。
圖3為Anybus-M主站模塊內部結構簡圖,分為應用程序接口和現場總線接口兩個部分。
①應用程序接口。模塊與微處理器的接口為4KBDPRAM。DPRAM根據其應用被劃分為以下幾個區域:Input/Output Data Area,應用程序向Input區域寫入發送給從站的數據,從Output區域讀取接收的從站數據;Mailbox Input/Output Area,應用程序通過發送信箱命令指示模塊執行某一具體操作(如初始化、讀取從站診斷、設置從站地址等),同時從信箱輸出區域讀取模塊的響應;Fieldbus Specific Arc,a,此區域存儲主站和從站網絡上的信息,如從站組態列表、數據傳輸列表、從站診斷列表、主站狀態表等;Corltrol Register Area,此區域存儲模塊的版本信息、初始化參數、現場總線類型、事件通知原因等信息;Handshake Registers,用于區域的分配和回收、事件通知、發送/接收信箱命令等。
②現場總線接口。該模塊已完成現場總線底層協議而無需應用程序的干預;提供一個RS485接口,通過此接口將模塊連接到Profibus-DP網絡中。
3.1.2 基于PC/104總線的CPU模塊SGM7020B
PC/104作為一種專門為嵌入式控制而定義的工業控制總線,是一種優化的小型堆棧式結構的嵌入式控制系統。它體積小,結構緊湊,可嵌入到對體積和功耗要求都較高的產品中,目前在工業控制領域中應用越來越廣泛。
SCMT020B是采用PC/104總線的嵌入式微處理器,它在板集成了10/100Base-T以太網接口和高性能圖形處理器;采用x86兼容的64位第六代處理器,最高運行速度可達300 MHz,其內存地址D2000~DFFF(8KB)、C8000~CFFF(32 KB)空閑,可以分配給外部擴展RAM;中斷IRQ5、IRQ9、IRQl0可用,可以外接其他中斷源。
3.2 軟件設計
軟件設計是整個主站設計的關鍵和難點。為了提高整個系統的實時性和可靠性,在PC/104上運行世界上廣泛使用的32位實時操作系統VxWorks。軟件設計主要完成VxWorks設備驅動程序的編寫、網絡配置的設定與下載以及Anybus-M主站模塊的訪問控制。
3. 2.1 VxWorks設備驅動程序的編寫
應用程序通過驅動程序與硬件進行數據通信。驅動系統硬件工作是由BSP完成的,BSP中的驅動程序管理特定目標環境中的設備,對其進行控制和初始化。BSP向VxWorks提供與硬件環境的接口,負責完成加電時硬件初始化,為VxWorks訪問硬件驅動程序提供支持,將Vx-Works中與硬件相關以及與硬件無關的軟件進行集成。
3.2.2 網絡配置的設定與下載
網絡的組態可以通過Anybus提供的Anybus Net-Tool配置軟件來實現,也可以通過信箱命令(mailboxmessage)來實現。
Anybus NetTool配囂軟件基于Windows環境,通過拖放式操作實現對Profibus網絡的配置和優化。此外,該工具還具有對I/O數據的監測、修改等在線診斷功能,此獨立的配置上具可以作為Windows OCX組件集成在第三方軟件中。通過Anybus-M主站模塊的ConfigurationInterfacc(RS232串行接口)可以下載配置好的結果。
發送信箱命令方式需要開發人員熟悉Profibus-DP通信協議的具體細節,對網絡的整個組態進行配置,設置主站總線參數集、主站用戶參數集、從站參數集、組態數據集、輸入/輸出地址的分配、輸入/輸出數據格式和從站用戶數據單元集等,并在應用程序中通過發送信箱命令將數據庫裝載到模塊中。
3.2.3 Anybus-M主站模塊的訪問控制
Anybus-M主站模塊提供給應用程序一個4 KB/2KB的DPRAM,應用程序通過DPRAM實現對主站模塊的訪問控制。應用程序分為以下幾個部分。
①初始化程序模塊:包括硬件初始化和軟件初始化。硬件初始化包括DPRAM檢查、通過信箱命令進行硬件檢查。軟件初始化用于設置基本操作參數,如DPRAM input/output長度、操作模式、DPRAM模式(4KB/2 KB)等。
②中斷處理程序模塊;接收到中斷信號時,讀取握手寄存器的內容,判斷產生中斷的原因(如事件通知、信箱通知、模塊被初始化、啟動中斷、區域分配響應等);根據中斷原因,轉入不同的中斷處理程序。
③主程序模塊:在主程序中循環調用信箱處理和數據交換程序。信箱處理程序負責發送信箱命令和讀取響應信息;數據交換程序負責主站讀/寫從站數據,以及必要的控制寄存器區域訪問。
結語
目前,國外Profibus-DP的研究開展較多,應用非常廣泛,但是國內應用多限于對國外產品的系統集成,尤其是針對Profibus-DP主站產品的研究開發甚少,因此開發具有自主知識產權的主站具有重大的意義。本文在研究ProfIbus-DP現場總線標準、總線協議、嵌入式技術的基礎上,提出了高實時性、高可靠性的Profibus-DP主站的實現方案。符合國際標準的Profibus現場總線的推廣應用,可以方便地解決計算機監控系統中不同廠家產品的互連問題,對計算機監控系統向“以監控設備為對象分布的、基于異構系統互連的分布式監控系統”方向發展具有重要的推動作用。
評論