結合 Profibus 規范 EN50170,PNC)的 Specification Slave Redundancy給出了冗余從站的通信模型如下圖, FSPMS層根據MS0,MS1提供的服務生成相應的 服務給冗余從站應用使用,冗余從站根據FSPMS層提 供的事件,RedCom事件,內部運行情況產生事件進行 處理,主要事件有:
RedC_Check.req/ind/res/ cnf,RedC_Switchover. req/ind/res/cnf,FSPMS Reset.req/cnf,FSPMS Set Slave Diag.req/cnf,FSPMS Set Output.req/cnf,FSPMS Get In-put.req, FSPMS Abort.req, FSPMS Prm Cmd.ind,FSPMS Stopped.ind, FSPMS_New_Output.ind.
所有這些事件G處理可以通過規范中定義的狀態 機進行處理。
具體而言,在實現時按下述狀態進行跳轉,在圖5中,
對狀態跳轉作了簡單介紹,在上電初期,兩個從站接口通 過競爭關系確定兩個狀態;S_Prima ry,S_Waiting。一個從
站接口處于S_Priimry狀態,另一個處于S_Waiting狀態。 處于S_Primary狀態的從站接口準備好與Profibus DP主 站建立通信連接,而處于^Waiting狀態的從站接口則處 于復位狀態,不能與Profibus DP主站建立連接。在啟動時 I司(Start_Up_Time)內處于S_Primary狀態的從站接口按
照標準從站狀態機啟動,一旦收到正確的SET_PRM, SET_CFG報文,從站將進入數據交換狀態,此時如果主站 發送PRM_CMD命令過來,則該從站接口的冗余狀態機
會進入第一從站狀態。如果在啟動時間內S_Primary狀態 的從站接口沒有被主站正確參數化并進入數據交換狀態, 那么該從站接口會主動發起切換,從S—Primary狀態切換 到S_Waiting狀態。另一個處于S_Waiting狀態的從站接 口切換$IS_Primary狀態。如果兩個從站接口一直都沒有
被正確參數化,那么啟動時間以2S的倍數增加,直到32S 為止。在任何'狀態,一旦接收到二類主站的讀寫請求,都予 以響應,進入C_Configure狀態
5基于DPC31的冗余Profibus DP智能電動執 行機構實現
根據Profibus DP冗余規范定義,可以發現,冗余從站比單一通道從站復雜,在實現形式上有兩種,一種是采用單CPU+雙鏈路層控制器,在單CPU中實現兩個協議棧并構成軟件形式的冗余通道;另一種是采用雙CPU+雙鏈路層控制器的方式,這種形式下一般CPU和鏈路層控制器集成在一起,每個CPU內部實現一個協議棧,兩個CPU之間采用專用硬件實現冗 余通道。從可靠性來說,后一種方案高于前一種方案,從實現難易程度來看,前一種方案優于后一種方案。我們采用后一種方案實現了冗余Profibus DP智能電動執行機構。如框圖6.
5.1硬件方案
在圖6的實現方案中,選用Siemens公司DPC31作為核心CPU,DPC31(集成8031內核的DP控制器)是一款高度集成的Profibus從站芯片。它可以用于 Profibus DPV0/DPV1以及PA應用中。該芯片具有廣泛的用途,一方面,可以用于需要集成的C31內核的簡單、智能應用中。另一方面,也可用于有增強通訊要 求的高性能從站方案中。增強的通訊要求可以借助達 6k字節內部RAM來實現。大約有5.5k字節的通訊存儲空間供用戶使用。DPC31具有8位并行可擴展微處理器接口,可連接Siemens,Intel,Motorola的處理器;SPI接口可擴展EEPROM,掉電時存儲用戶參數;內部集成的C31核可以完成預處理;多達40位的I/O 接口;支持同步曼徹斯特編碼,可實現PA設備開發。
冗余通道采用FPGA實現,可以針對冗余從站的 冗余信息交換需要隨時定制接口,提高交換效率,避免使用雙口 RAM等昂貴器件,另一方面可以大量集成 冗余從站中其他數字邏輯,節省電路板空間。
IM執行機構本體是公司目前正常生產的執行機構,接口統一,在IM執行機構本體與Profibus DP冗余 通信板之間通過串行通信方式交換數據。
由于Profibus DP從站物理層是RS485接口,因此在驅動電路部分按照Profibus規范進行設計,采用光電隔離和RS485驅動芯片實現底層信號傳輸,通過設置終端電阻,保證信號阻抗匹配。
5.2軟件設計
由于軟件主要分為三個部分:DPC31鏈路層控制器的初始化及中斷處理,Profib us DP從站狀態機,冗余協議棧實現。其中DPC31鏈路層控制器在上電復 位后即進行初始化,配置各個寄存器。中斷處理程序 中處理DPC31發生的各種事件,包括參數化,全局控制命令,進入/退出數據交換狀態事件,配置下載,設置從站地址,t僉測到波特率,看門狗溢出等等。Profibus DP從站狀態機嚴格按照Profibus DP協議要求實現, 見圖7。
由于DPC31內部集成了狀態機,需要用戶程序 對各種事件進行處理并控制狀態機跳轉。冗余協議棧 軟件實現中主要考慮冗余狀態機跳轉及冗余通道設
計,其中冗余狀態跳轉同Profibus DP從站狀態機及冗 余通道數據交換聯系緊密,在系統設計時采用單CPU 方案,用軟件實現冗余通道,可以保證冗余數據交換的
實時彳生。試驗證明冗余數據交換的實時彳生及冗余狀態 機的及時切換是冗余電動執彳虧機構可靠運行的前提。
5.3 GSD文件設計要點
除了在協議實現方面要符合冗余從站規范要求, 在GSD中需要增加一些關鍵字: Prm_Block_Structure_supp = 1 PrmCmd一 supp = 1
Slave 一Max一 Switch一 Over一Time = 5 Slave 一 Redundancy一supp = 8
這樣冗余DP主‘才能配合從站的切換,及時發 出切換報文PRM一CMD。
6結論
從站冗余作為一種可靠彳生技術,隨著S7-400H冗 余控制系統的大規模應用,在電廠等需要高可靠性的 場合必然形成對符合從站冗余規范要求的冗余從站的 迫切需求,本文以雙CPU方案為例,探索了 Profibus DP冗余從站的實-問,,開發出具有自儀@色的 Profibus DP冗余電動執行機構,并在S7-400H系統下 通過集成測試,有部分產品成功運用到污水處理廠等 典型工業控制現場。