尹恩民,徐天芳,朱 強
1 引言
現場(chǎng)總線(xiàn)控制系統(FCS)適應了工業(yè)控制系統向分散化、網(wǎng)絡(luò )化、智能化發(fā)展的需要,給自動(dòng)化系統的最終用戶(hù)帶來(lái)了更大的實(shí)惠和更多方便,因而促使目前生產(chǎn)的自動(dòng)化儀表、集散控制系統(DCS)、可編程控制器(PLC)產(chǎn)品面臨體系結構、功能等方面的重大變革。
然而DCS已在過(guò)程控制領(lǐng)域成功應用了20多年,無(wú)論國內與國外,大多數的控制系統仍然采用的是DCS結構??紤]到開(kāi)發(fā)商與用戶(hù)的投資利益,對于現有大量的DCS,完全由FCS取代也很不現實(shí),因此應更多地考慮現場(chǎng)總線(xiàn)與DCS的集成,在繼承DCS豐富的監控、協(xié)調管理功能的同時(shí)又有所變革。
為此,基于HART協(xié)議的接口卡件和現場(chǎng)儀表的上位機管理軟件應運而生。它要求接口卡件能夠在嵌入原來(lái)的國產(chǎn)分散控制系統SUPMAX500而不影響其對遠程儀表的模擬量進(jìn)行控制的基礎上,支持符合HART協(xié)議的智能儀表與DCS中的分散處理單元(DPU)和上位機進(jìn)行通信。這既兼顧了智能化儀表進(jìn)入DCS,又兼顧了智能化儀表優(yōu)越功能與DCS連接后可得到部分應用與發(fā)揮,即實(shí)現參數調整、改變運行方式、故障診斷和信息反饋。
2 硬件設計
2.1 SUPMAX500的結構
SUPMAX500由工程師站、操作站、現場(chǎng)控制站及通信網(wǎng)絡(luò )等組成。系統從上到下可分為三層網(wǎng)絡(luò )結構:最上層管理網(wǎng)采用符合TCP/IP協(xié)議的以太網(wǎng),波特率為100Mbps,連接了操作站、工程師站、管理計算機等,是實(shí)現全廠(chǎng)綜合管理的信息通道;中間層現場(chǎng)控制網(wǎng)采用10Mbps以太網(wǎng)冗余網(wǎng)絡(luò ),連接操作站與控制站,傳輸各種實(shí)時(shí)信息;底層網(wǎng)絡(luò )為控制站內部網(wǎng),符合IEEE802.4協(xié)議??刂普緝炔恳詸C籠為單位,I/O機籠通過(guò)雙重化高速串行通信總線(xiàn)SBUS與主控制機籠相連,SBUS通信總線(xiàn)指系統控制站的主控制卡、數據轉發(fā)卡、I/O卡之間信息交換的網(wǎng)絡(luò )。
2.2 在SUPMAX500中嵌入HART接口卡件
系統結構如圖1所示。
HART接口卡件通過(guò)SBUS總線(xiàn)與DPU相連,DPU起到上位機與HART接口卡件之間的橋梁作用,對兩者而言它是透明的。一塊DPU所帶數據轉發(fā)卡與HART接口卡的數量受SBUS總線(xiàn)協(xié)議的限制。HART接口卡件向下直接與現場(chǎng)的HART智能儀表相連,共有8個(gè)接線(xiàn)端子,可連接4塊儀表。
HART智能儀表采用總線(xiàn)供電,這個(gè)任務(wù)交給I/O卡來(lái)完成;HART物理層協(xié)議中要求的采樣電阻也位于I/O卡中。而HART接口卡件只是用變壓器獲取疊加在4~20mA模擬信號上的HART數字信號并加以處理。嵌入HART接口卡件之后,SUPMAX500原來(lái)的各種功能包括軟件組態(tài)、硬件組態(tài)、上位機監控和控制站對各個(gè)回路的控制等,沒(méi)有受到絲毫干擾,只是在原有的基礎上增添了DCS對現場(chǎng)儀表的遠程管理功能。
圖1 嵌入HART接口卡件的SUPMAX500系統結構圖
2.3 HART接口卡件
HART接口卡件及其與外部連接示意圖如圖2所示。
圖2 HART接口卡件及其與外部連接示意圖
設計采用主從通信、點(diǎn)對點(diǎn)網(wǎng)絡(luò )。HART接口卡件及上位機中的儀表管理軟件共同完成主設備的功能。上位機發(fā)送遠程管理命令和本地管理命令經(jīng)DPU到HART接口卡件,CPU再根據相應的命令組裝HART數據幀從串口2發(fā)送給HART調制解調芯片,經(jīng)過(guò)調制的HART信號經(jīng)過(guò)驅動(dòng)放大單元再由變壓器疊加到外部的4~20mA模擬信號上。從儀表傳回的響應經(jīng)變壓器從HART通信線(xiàn)路中分離出來(lái),經(jīng)過(guò)解調后傳給CPU并由其完成后續處理,處理完畢后CPU把HART幀中的響應與數據再打包成符合SBUS總線(xiàn)協(xié)議的數據幀傳送至DPU。雖然本質(zhì)上仍然是點(diǎn)對點(diǎn)通信,但從廣義上講實(shí)現了一個(gè)“主設備”掛接多個(gè)HART智能儀表,圖2中的多路開(kāi)關(guān)用來(lái)選擇與HART接口卡件上的哪臺儀表通信。
除了承擔HART協(xié)議中數據鏈路層、物理層的任務(wù)以外,本HART接口卡件還必須負責與DPU之間的通信,這是和典型的HART主從通信最明顯的區別所在。為了更少地占用上位機和DPU的資源,在HART接口卡件能夠完成與DPU通信的基礎上,將HART協(xié)議中的數據有選擇的與上位機進(jìn)行交換以節省資源,加快傳輸速度并保證通信的質(zhì)量。
本HART接口卡件使用的微處理器是Philips公司的80c51 XAG49。它是真正的16位靜態(tài)CPU,采用寄存器-寄存器結構,寄存器組中的任一寄存器都可以象累加器那樣完成各種算術(shù)和邏輯運算并可以作為數據指針使用;地址線(xiàn)高達24位,程序和數據空間都可達16M且自帶64K Flash、2K RAM;具有硬件支持實(shí)時(shí)多任務(wù)的特點(diǎn);具有豐富的中斷源和大大增強的中斷機制,包括事件中斷、例外中斷、軟件中斷和陷阱中斷四大類(lèi)中斷源,總計38個(gè)中斷矢量;時(shí)鐘頻率可達40MHz;兩個(gè)串行口的基本原理和工作模式與80c51基本相同,但具有一套硬件支持的地址自動(dòng)識別機制;I/O口都是可編程的;帶有看門(mén)狗功能等,XAG49完全滿(mǎn)足軟、硬件設計的需要。
本卡件使用的時(shí)鐘頻率是20MHz;串口1工作在模式2,波特率為625Kbps;串口2工作在模式3,用記時(shí)器T2做為它的波特率發(fā)生器,波特率為1200bps。
本卡件采用+5V電源單獨供電,而與現場(chǎng)儀表相連的地方還是用變壓器耦合獲取信號,符合HART協(xié)議中的物理層規范,因而保證了卡件與現場(chǎng)之間有良好的隔離,不會(huì )給對方造成任何不必要的干擾。
圖2中的在線(xiàn)編程單元與485收發(fā)器共用串口1,在2K的Boot ROM中有芯片廠(chǎng)家提供的長(cháng)駐串口通信程序,可以重復往ROM中寫(xiě)程序,極大地方便了軟件與硬件的調試。
3 軟件設計
3.1 與上位機和DPU的通信
HART接口卡件與DPU的通信主要通過(guò)串口1的接收中斷來(lái)完成。由于HART接口卡件與儀表通信的程序是從“監視”→“使能”→“應用”周而復始從不間斷地運行,所以串口1的中斷必須保證不影響卡件與儀表之間的通信。因而此中斷只在主設備狀態(tài)機處于監視和使能狀態(tài)并且是沒(méi)有檢測到載波輸入的情況下才打開(kāi)。而一旦在運行本中斷程序時(shí)發(fā)現有載波輸入,由于HART接口卡件與上位機的通信在接收時(shí)只有5~6個(gè)字節,中斷內要向上發(fā)送的響應也只有5個(gè)字節,而波特率又是625Kbps,傳輸一個(gè)字節只需0.0176ms,所以執行此中斷服務(wù)程序所需的時(shí)間根本不會(huì )影響對HART鏈路上所到來(lái)的HART數據的響應。還有一種可能是在主設備狀態(tài)機記時(shí)RT1、RT2和HOLD的時(shí)候觸發(fā)本中斷,而對RT1、RT2和HOLD的記時(shí)也是通過(guò)中斷來(lái)完成的,每記時(shí)一個(gè)HART字符時(shí)間即9.167ms就觸發(fā)一次記時(shí)器中斷,同樣也不會(huì )造成干擾。
在前面曾提到為了簡(jiǎn)化通信,節約資源而有選擇的把上位機關(guān)心的HART幀中的數據拿來(lái)放到與上位機通信的SBUS幀中來(lái)。
表1 HART接口卡件從DPU接收到的幀的格式
HART卡地址 | 命令類(lèi)型 | 數據長(cháng)度 | 數據1 | 數據2 | … | 數據N | 校驗 |
HART接口卡件從DPU接收到的幀的格式見(jiàn)表1??盏降刂纷止澯|發(fā)串口1的中斷,判斷是本卡件地址后,就繼續接收,否則就退出中斷繼續監視。命令類(lèi)型0表示上位機要進(jìn)行遠程管理,其他類(lèi)型為本地管理,如設置重發(fā)限制、設置前導信號長(cháng)度等。如果是遠程管理,那么數據1代表上位機發(fā)給儀表的HART命令,數據2代表HART接口卡件中所要打開(kāi)的通道號。如果此時(shí)沒(méi)有等待處理的HART命令,就打開(kāi)該通道,并把對應該命令所需的其他數據,如定界符、儀表地址、記數字節和數據等依次送給用來(lái)發(fā)送HART命令幀的變量,等到本卡件獲得HART鏈路的使用權后,交給發(fā)送函數發(fā)送給儀表。
如果在接收上位機命令的時(shí)候出現校驗出錯、字符間隔過(guò)長(cháng)、對本地管理命令成功響應、當前有等待處理的HART遠程管理命令、上位機所要通信的儀表的地址還沒(méi)有準備好等情況時(shí),就需要及時(shí)發(fā)送給上位機相應的響應。
HART卡回送給DPU的幀的格式與表1相同。如果HART接口卡件成功收到儀表的響應,那么HART卡回送給DPU的幀中的數據1代表相應的HART命令,數據2代表對應該儀表的的通道號,數據3、4就是從儀表接收到的HART幀中響應碼,其后是HART幀中的“數據”。據此,上位機就可以觀(guān)察HART儀表的過(guò)程變量,對量程、單位、阻尼時(shí)間、位號等參數進(jìn)行組態(tài),并實(shí)時(shí)監測HART儀表的在線(xiàn)狀態(tài),從而實(shí)現對現場(chǎng)儀表的遠程管理。
3.2 與HART儀表的通信
上電后HART接口卡件并不自動(dòng)檢測所接的4個(gè)通道上是否有HART儀表存在,而是等待上位機發(fā)送command #0,然后它才打開(kāi)相應的通道,利用短幀格式和輪詢(xún)地址0打包后發(fā)送給儀表,在收到響應后,并且只有在收到命令0的響應后,會(huì )把該儀表的制造商ID、設備類(lèi)型和設備ID保存在相應的變量里,等上位機再向該儀表發(fā)送其他命令時(shí),再把這些內容組裝成該儀表的長(cháng)地址用來(lái)通信。
如果原來(lái)通道上的儀表被換掉,那么最初不會(huì )收到來(lái)自這個(gè)儀表的響應,因為HART接口卡件中的地址與實(shí)際地址不符,只有等上位機認為該通道不存在儀表或出現故障時(shí),再發(fā)送一次命令0才能把新的儀表地址保存起來(lái)。為了避免出現這種情況,上位機應定時(shí)用命令0查詢(xún)各個(gè)通道。
程序完全遵從HART數據鏈路層協(xié)議,如第一、第二主設備之間的鏈路仲裁,主設備狀態(tài)之間的轉換、發(fā)送和接收HART數據幀等。
4 結語(yǔ)
HART協(xié)議的特點(diǎn)是在現有模擬信號傳輸線(xiàn)上實(shí)現數字信號通信,屬于模擬系統向數字系統轉變過(guò)程中的過(guò)渡性產(chǎn)品。HART接口卡件及配套軟件已成功應用于上海自動(dòng)化儀表股份有限公司的國產(chǎn)分散控制系統SUPMAX500中,在保留它原有的監測、控制功能的基礎上,還成功實(shí)現了對現場(chǎng)儀表的參數調整、故障診斷和信息反饋。它的應用對如何將DCS逐步轉化為FCS進(jìn)行了有益的探索。