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