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