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