摘要:采用HART通信協議的現場儀表廣泛應用于過程控制系統。在構建西門子PCS7作為主控制器的控制系統時,shou先要解決好主控Profibus-DP網絡與HART儀表的通信問題。選擇網關將HART協議數據上傳給Profibus-DP網絡時,主控系統無法正確顯示HART協議數據所代表的過程變量。在對數據結構和存儲方式分析的基礎上,自主研發程序,將主控系統接收的現場信號進行數據轉換,并編寫功能塊FB、連續功能圖CFC程序,實現主控系統對現場設備運行狀態和過程變量等信息的識別,為HART與Profibus-DP異構協議兼容系統的構建提供數據通信基礎。
高速可尋址變送器(HighwayAddressableRemoteTransducer,HART)協議是在4mA~20mA模擬信號上疊加頻率信號,使模擬信號與數字信號雙向通信同時進行,互不干擾[1]。基于HART協議的儀表既有模擬儀表的性能,又兼顧數字通信的性能,在不對現有系統進行改造的情況下即可實現儀表的數字化,所以在過程控制系統中得到廣泛應用。通過手操器可以實現HART儀表硬件、工程單位、過程參數量程的上下限以及節點地址等設定,也可以提取并顯示儀表設備編號、設備類型以及生產廠商信息[2-4]。在構建以HART儀表為現場設備、以西門子PCS7為主控制器的控制系統時,通過網關使HART儀表與Profibus-DP網絡通信,實現異種協議的現場總線系統集成。由于HART儀表傳輸的數據類型復雜,盡管網關將HART儀表輸出信號傳給了遠程的PCS7,但PCS7讀取的信息,無法從接受數據中提取現場設備的運行狀況、過程參數信息,沒有根本上解決協議兼容的問題。本文通過在線采集現場HART儀表的運行參數,進行數據結構和存儲方式分析,應用自主研發程序,并編寫功能塊(FunctionBlock)FB、連續功能圖CFC(ContinuousFunctionChart,CFC)程序,將PCS7接收的現場信號進行數據轉換,從而保證主控系統對HART信息的識別,實現了HART與Profibus-DP的通信兼容[5]。
通信協議
1.1Profibus-DP協議
Profibus是ProcessFieldbus的縮寫,是一種面向工廠自動化和流程自動化的國際性現場總線標準。主要包含Profibus-DP、Profibus-FMS、Profibus-PA三種協議。Profibus-DP面向工業現場,在可編程控制器、傳感器、執行器等設備之間傳遞數據信息,采用RS-485的物理連接方式,其傳輸速率為9.6kbit/s~12Mbit/s,#大傳輸距離為1000m,使用中繼器可達10km。西門子PCS7系統在自動控制站間、自動控制站與現場設備之間的數據交換采用Profibus-DP通信協議,該協議支持主從通信方式,#多可掛接127個從站,有3種從站類型:PLC控制器,分布式遠程I/O,智能現場設備。主站具有對總線的控制權,可主動發送信息。從站等待主站請求指令,然后執行數據交換[6-7]。
1.2HART協議
HART協議方式是在4mA~20mA模擬信號上疊加數字量信號,在二線制變送器與電源之間串接250Ω以上電阻,以保證數字量信號的傳輸,模擬量和數字量雙向通信同時進行,傳輸速率為1200bit/s,支持掛接15個現場設備。HART命令可分為:通用命令,適用于所有的HART智能設備,指令代碼為1-30;普通專用命令,適用于大多數HART變送器,指令代碼為32-126;設備專用命令,針對每一種具體設備的特殊性,指令代碼為128-253。HART儀表通過命令與上位級實現數據交換[8-9]。
2、Profibus-DP與HART異構兼容系統
搭建HART儀表與西門子PCS7之間的數據交換系統,主控系統PCS7可以監視HART儀表的測量參數、設備運行狀態、設備序列號等基本信息,也可以采集參數報警、維護狀態等實時監管信息,從而提高整個系統運行的可靠性和安全性[10]。
2.1異構兼容系統設計方案
Profibus-DP與HART異構兼容系統以西門子PCS7系統為上位級,羅斯蒙特3051壓力變送器和若干現場設備為下位級。因西門子PCS7系統采用Profibus-DP現場總線通信協議,而現場智能設備羅斯蒙特3051壓力變送器采用HART現場總線通信
協議,需要解決異構協議兼容問題,增加網間協議轉換器(網關),實現不同現場總線協議標準的兼容。選取能夠支持HART/Profibus-DP協議數據轉換的網關,完成數據格式的轉換和數據的讀寫操作,將HART協議網絡與Profibus-DP協議網絡進行硬連接,實現西門子PCS7上位級對現場智能設備的監視與管理。
2.2系統硬件組成
該異構兼容系統包括上位監控PC機、主控系統PCS7、羅斯蒙特3051壓力變送器、網關等設備,系統結構如圖1所示。
上位監控PC機既是上位級的服務器、操作員站以及工程師站,承擔PCS7組態、數據采集、信息交換和系統維護工作。PC機與控制站S7-400PLC通過工業以太網實現信息交互。網關選用上海泗博公司生產的網關HPM-610。西門子S7-400PLC與網關HPM-610通過Profibus-DP連接,西門子S7-400PLC是Profibus-DP的主站,網關HPM-160是Profibus-DP從站,網關HPM-160與羅斯蒙特3051壓力變送器通過HART總線聯接,網關HPM-160是HART主站,羅斯蒙特3051壓力變送器是HART從站[11-13]。
3通信檢測與數據轉換
在成功搭建硬件系統以后,進行系統組態與調試,即PCS7組態、HPM-610配置、羅斯蒙特3051壓力變送器組態,以及各部分和全系統的通信測試與調試,檢測數據交互的正確性與實時性。
3.1PCS7讀取HART儀表標識碼
主控PCS7要獲取并在監控畫面顯示羅斯蒙特3051壓力變送器的設備信息,需要在網關HPM-160的專用軟件HT-123中作相應配置。網關HPM-610依據組態中的命令功能,從現場級提取數據,向上位主控系統傳送現場設備信息、運行參數、過程
值變量等數據[14-15]。
命令0的功能是讀取現場HART儀表的設備類型代碼、版本和設備標識碼,并傳送到主控系統。命令0執行后在PCS7分配給網關的存儲區中占用14個字節,前兩個字節為設備的現場狀態信息,后面的數據對應設備類型的具體信息,存儲區中字節所代表的設備信息如圖2所示,從字節0到字節11表示網關采集現場設備的標識碼信息。字節1為制造商ID號,字節2是制造商設備類型,字節3為HART數據幀的前導碼信息。
在執行命令0之前,shou先診斷命令0檢測到的現場設備信息,診斷結果見圖3(a)所示。然后執行命令0,主控PCS7獲取到3051壓力變送器的設備信息,存儲于主控PCS7分配給網關的地址寄存器中。如圖3(b)所示,從IW550到IW562的值即執行命令0的返回信息。
IW550的值W#16#0040(2個字節),表示現場設備的通信狀態,從IW552到IW562共12個字節是羅斯蒙特3051壓力變送器標識碼,數制是十六進制,轉換為十進制后見表1所示,與圖3(a)所示字節的十進制數值完全相同,表明命令0可以檢測到現場設備信息并正確上傳給主控系統。而且,命令0返回的現場設備信息可以在監控畫面上顯示。
3.2PCS7讀取HERT儀表的過程變量值
主控PCS7讀取且在監控畫面上顯示羅斯蒙特3051壓力變送器的過程變量(PV)值,需在HT-123軟件上作相應配置后,使用命令1,命令1的功能是以浮點數類型返回主變量的值,返回路徑為:現場總線智能儀表將現場過程值送到網關HPM-610,網關HPM-610將數據上傳到PCS7系統,PCS7接收到十六進制現場過程變量值轉換為浮點數在監控畫面上顯示。
在執行命令1指令后,PCS7系統從網關讀取并顯示的數據是十六進制數,存儲在IW512到IW518地址中,如圖4所示,占用4個字,8個字節,前兩個字節為設備的現場狀態信息,后面的數據對應過程變量值。IW512字節表示現場設備的狀態信息,IW514的高字節16#ED表示過程變量的單位MPa,IW514的低位字節、IW516字節和IW518的高位字節共4個字節,表示現場過程量。這4個字節以十六進制的形式存儲在3個字中,目前要用一個雙字(4個字節)表示現場過程變量,并且在上位系統監控畫面顯示,在對PCS7系統接收到的數據進行提取、數制轉換、整合等數據轉換過程后,#終以十進制浮點數的形式在監控畫面上實時顯示[16]。
以現場壓力測量值0.55MPa為例,分析PCS7系統接收的數據結構,進行數據轉換。由圖4可知,命令1返回到PCS7的數據由8個字節組成:分別是IW512;IW514;IW516;IW518。其中:IW512為現場設備狀態信息;IW514的高字節ED表示現場過程變量單位(MPa),低字節3F是測量值的有效數據;IW516是測量值的有效數據;IW518的高字節CE是測量值的有效數據,這4個字節數據對應現場壓力測量值。即:3F,0D7F,CE表示現場過程量。
上位監控系統以單精度浮點數的形式顯示現場壓力測量值,是一個雙字,即4個字節32位,存儲在一個雙字寄存器中,以浮點數的形式在監控畫面上顯示現場過程量,而PCS7接收的數據是4個字節,放在4個輸入寄存器中,并非一個完整的雙字。故需要對當前PCS7接收到的數據進行轉換,從返回的4個字中提取出有效數據的4個字節,整合后存放在一個雙字存儲器中,再將這個雙字轉換為單精度浮點數,即現場壓力測量值,然后在監控畫面上顯示。
數據轉換過程的程序流程如圖5所示:①定義PCS7接收到的數據為:HART通道1-HART通道4;②將HART通道2(IW514)據轉換為雙字,向左移24位并保存在中間存儲器,即3F保存在雙字的#高位。③將HART通道3(IW516)數據轉換為雙字,向左移8位并保存在中間存儲器,即0D7F存到雙字的中間位置。④將HART通道4(IW518)數據轉換為雙字,向右移8位并保存在中間存儲器,即CE存到雙字的#低位。⑤用“或”指令將三個雙字移位整合為一個雙字;⑥用雙字與浮點數的轉換指令將雙字轉為單精度浮點數0.55(MPa)。
數據轉換程序使用西門子結構化控制語言StructruedText(STL)編寫,生成功能塊(Function Block) FB678,可在程序中直接調用,實現了主控系 統接受數據與現場測量值的數值類型的一致性轉 換,確保主控系統可以實時檢測并正確顯示現場測 量值。數據轉換的部分程序如圖 6 所示。 FUNCTION_BLOCK FB678 HART_01: WORD; / /HART 輸入通道 01 N_IN_02: WORD: = 16#0018; / /通道 02 位移_6 移 DATA_01: DWORD; / /通道 01 雙字輸出 N_OUT_01: WORD; / /通道 01 位移位數輸出 DATA_DWORD_04: =WORD_TO_DWORD( HART_04) ; DATA_04: =DATA_DWORD_04; N_OUT_04: =N_IN_04; / /通道 04 數據類型轉換為雙字
圖 6 數據轉換的部分程序
4 遠程監視
主控系統對現場的遠程監控是實現智能化、無 人化工廠的基本條件。在西門子 PCS7 系統組態操 作員站,創建監控變量,創建監控畫面,通過連續功 能圖 Continuous Function Chart( CFC) 編寫程序,調用功能塊 FB678 和顯示模塊,并建立變量與監控畫 面的連接,現場過程變量值就可以直接在 WinCC 監 控畫面上實時顯示,實現了 PCS7 對生產過程的遠程實時在線監控[17-18]。 主控系統的監控畫面是異構系統的人機接口。通過畫面信息,運行人員可以監視和管理現場設備 的運行狀態,而不需要在現場、或者依賴就地運行人 員傳送數據。監控畫面可根據用戶的需要進行組 態,主要信息包括: 羅斯蒙特 3051 壓力變送器的設備版本號、設備 ID 號、實時壓力測量值、設定的壓力 信號上下限值等,如圖 7 所示。
5 結論
通過搭建 Profibus-DP 與 HART 協議的異構兼 容系統,基于 HART 協議的現場智能儀表可以直接 上傳設備運行參數,實現了不同協議的信息交互。 在研究現場數據與主控系統采集到的數據不同數制 的情況下,編寫了數據轉換程序,確保主控系統可以 查看相同數制下的過程變量。通過 CFC 編程,將變 量信息與監視畫面進行連接,遠程監控畫面顯示現 場智能儀表參數與運行狀況,實現了異構兼容系統的遠程監控。 這種異構現場總線協議兼容系統可以拓展 HART 協議智能儀表的應用。在模擬儀表向數字儀 表的過渡過程中,完善了 HART 智能儀表數據轉 換,實現了主控系統對智能儀表的遠程管控,該方案 可為智能一體化遠程系統建設提供參考。