摘 要:CAN總線基于自身的特點(diǎn),特別適合工業(yè)過(guò)程監(jiān)控設(shè)備的互連。本文給出一種基于CAN總線的溫度與壓力控制系統(tǒng)的設(shè)計(jì)方案,說(shuō)明了系統(tǒng)的總體設(shè)計(jì)思路和各部分的結(jié)構(gòu)原理,并結(jié)合控制軟件詳細(xì)闡述了實(shí)時(shí)數(shù)據(jù)庫(kù)的接口和應(yīng)用設(shè)計(jì)。還介紹了多線程技術(shù),用以保證實(shí)時(shí)數(shù)據(jù)庫(kù)的實(shí)時(shí)性。
關(guān)鍵詞:實(shí)時(shí)數(shù)據(jù)庫(kù);CAN總線;數(shù)據(jù)處理;多線程
中圖分類號(hào):TP31113 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004373X(2008)0117202
Application of the Real-time Database in Control System of Temperature and Pressure
GUO Lei1,LI Zirong1,WANG Daming2
(1.China Airborne Missile Academy,Luoyang,471009,China;2.Air Force in Luoyang Representative Office,Luoyang,471009,China)
Abstract:Based on the character of itself,CAN bus especially fits the interconnection of industrial process monitoring equipments.In this dissertation,a design project of temperature and pressure control system based on the CAN bus is proposed.Meanwhile,the overall design thought of the system and the configuration principle of every part is represented.Considering control soft,the interface of real time database and application design is described in detail.In order to ensure the real-time characteristic of the real time database,multithreading technique is also introduced in this dissertation.
Keywords:real-time database;CAN bus;data processing;multithreading
現(xiàn)場(chǎng)總線是用于過(guò)程自動(dòng)化和制造自動(dòng)化最底層的現(xiàn)場(chǎng)設(shè)備或現(xiàn)場(chǎng)儀表互連的通信網(wǎng)絡(luò),是現(xiàn)場(chǎng)通信網(wǎng)絡(luò)與計(jì)算機(jī)控制系統(tǒng)的集成。目前,常用的現(xiàn)場(chǎng)總線有:基金會(huì)現(xiàn)場(chǎng)總線(Foundation Fieldbus,F(xiàn)F)、LonWorks現(xiàn)場(chǎng)總線、PROFIBUS現(xiàn)場(chǎng)總線(Process Field Bus)、CAN(Controller Area NetWork)現(xiàn)場(chǎng)總線和HART(Highway Addressable Remote Transducer)現(xiàn)場(chǎng)總線等。其中,CAN總線因具有可靠性高、協(xié)議精煉、價(jià)格低、貨源廣泛等優(yōu)點(diǎn)而在工業(yè)測(cè)控領(lǐng)域獲得廣泛應(yīng)用。將CAN總線技術(shù)應(yīng)用于溫度與壓力控制系統(tǒng),并結(jié)合實(shí)時(shí)數(shù)據(jù)庫(kù),可以對(duì)工業(yè)現(xiàn)場(chǎng)的溫度和壓力進(jìn)行精確控制。
1 系統(tǒng)的硬件設(shè)計(jì)
1.1 系統(tǒng)結(jié)構(gòu)原理
溫度與壓力控制系統(tǒng)由工業(yè)控制計(jì)算機(jī)(IPC)、CAN接口適配卡和被測(cè)的各節(jié)點(diǎn)模塊構(gòu)成。各節(jié)點(diǎn)模塊將數(shù)據(jù)信息通過(guò)CAN通信協(xié)議傳送至CAN接口適配卡,適配卡再與計(jì)算機(jī)進(jìn)行通訊,從而實(shí)現(xiàn)統(tǒng)一調(diào)度和管理的功能。圖1為系統(tǒng)的結(jié)構(gòu)原理圖。
1.2 CAN接口適配卡
CAN接口適配卡用來(lái)完成計(jì)算機(jī)與各節(jié)點(diǎn)模塊間的通信任務(wù)。他主要由微控制器AT89C52、CAN通信控制器SJA1000、PC總線接口電路、雙端口RAM、復(fù)位電路DS1232、CAN總線驅(qū)動(dòng)82C250構(gòu)成。SJA1000具有2種工作模式:基本CAN(BasicCAN)模式和增強(qiáng)CAN(PeliCAN)模式。這2種模式都支持具有新功能的CAN 20B協(xié)議規(guī)范。SJA1000的最高速率可達(dá)1 Mb/s,有較強(qiáng)的抗干擾能力,最多節(jié)點(diǎn)數(shù)可達(dá)110個(gè)。CAN接口適配卡的結(jié)構(gòu)原理圖如圖2所示。
實(shí)時(shí)數(shù)據(jù)庫(kù)融合了實(shí)時(shí)系統(tǒng)和數(shù)據(jù)庫(kù)2個(gè)領(lǐng)域的技術(shù)和特點(diǎn),與傳統(tǒng)數(shù)據(jù)庫(kù)相比,主要在調(diào)度機(jī)制和事務(wù)管理方面有較大的區(qū)別。實(shí)時(shí)數(shù)據(jù)庫(kù)在本系統(tǒng)中是應(yīng)用軟件的運(yùn)行平臺(tái),也是現(xiàn)場(chǎng)儀表、控制器的數(shù)據(jù)收集器,負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)的讀/寫(xiě)、管理、歷史歸檔、維護(hù)、安全審核、報(bào)警生成、事件記錄、時(shí)間同步等。實(shí)時(shí)數(shù)據(jù)庫(kù)的系統(tǒng)結(jié)構(gòu)如圖3所示。
2 實(shí)時(shí)數(shù)據(jù)庫(kù)
圖3中,“資源管理”部分對(duì)系統(tǒng)資源進(jìn)行管理,主要任務(wù)是:對(duì)CPU進(jìn)行調(diào)度管理,合理利用CPU資源,滿足實(shí)時(shí)要求;對(duì)時(shí)間進(jìn)行調(diào)度管理,觸發(fā)與時(shí)間相關(guān)的實(shí)時(shí)事務(wù)執(zhí)行;對(duì)存儲(chǔ)空間進(jìn)行分配和管理,考慮定時(shí)限制的調(diào)度算法以及與實(shí)時(shí)應(yīng)用有關(guān)的I/O調(diào)度。
“實(shí)時(shí)事務(wù)管理”部分包括管理實(shí)時(shí)事務(wù)的產(chǎn)生、執(zhí)行和結(jié)束,解決調(diào)度實(shí)時(shí)性問(wèn)題。主要任務(wù)是:實(shí)時(shí)調(diào)度;實(shí)時(shí)并發(fā)控制;事務(wù)恢復(fù)機(jī)制。“數(shù)據(jù)管理”部分實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取操作和其他處理,主要任務(wù)是管理實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)。
2.1 數(shù)據(jù)庫(kù)接口設(shè)計(jì)
實(shí)時(shí)數(shù)據(jù)庫(kù)是本系統(tǒng)的重要組成部分。他是現(xiàn)場(chǎng)總線控制系統(tǒng)的數(shù)據(jù)處理核心和交換樞紐,起著承上啟下的作用。實(shí)時(shí)數(shù)據(jù)庫(kù)采用了OPC接口,OPC接口是由OPC基金會(huì)(OPC Foundation)制定的一套標(biāo)準(zhǔn)的OLE/COM接口協(xié)議。在本系統(tǒng)中,利用OPC的COM技術(shù),實(shí)現(xiàn)了高性能的遠(yuǎn)程數(shù)據(jù)訪問(wèn)能力;利用OPC的報(bào)警和事件規(guī)范,能更好地捕捉控制過(guò)程中各種報(bào)警和事件,并給予相應(yīng)的處理;利用OPC的數(shù)據(jù)冗余技術(shù),使軟件具有了更好的開(kāi)放性和互操作性。
在圖1中,各節(jié)點(diǎn)模塊提供的數(shù)據(jù)信息通過(guò)CAN總線適配卡和IPC進(jìn)行通訊。實(shí)時(shí)數(shù)據(jù)庫(kù)嵌入在控制程序中實(shí)時(shí)處理節(jié)點(diǎn)模塊傳送的數(shù)據(jù)。圖4給出了實(shí)時(shí)數(shù)據(jù)庫(kù)在本系統(tǒng)中的作用和地位。
2.2 實(shí)時(shí)數(shù)據(jù)庫(kù)的應(yīng)用設(shè)計(jì)
本系統(tǒng)的數(shù)據(jù)庫(kù)系統(tǒng)采用了美國(guó)AspenTech公司開(kāi)[CM(20*2]發(fā)的InfoPlus.21數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)具備開(kāi)放結(jié)構(gòu)的特點(diǎn),
能夠提供高速、及時(shí)的實(shí)時(shí)數(shù)據(jù)庫(kù)服務(wù),還能有效地集成異構(gòu)控制系統(tǒng),提供分布式的數(shù)據(jù)服務(wù)。在本系統(tǒng)中,
利用InfoPlus.21的子系統(tǒng)Cim-I0或Scan.21,控制程序進(jìn)行數(shù)據(jù)的采集、分析、寫(xiě)入操作。
InfoPlus.21數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息由記錄(record)和記錄中的各字段(field)構(gòu)成。本系統(tǒng)中各數(shù)據(jù)點(diǎn)均來(lái)自于現(xiàn)場(chǎng)中的節(jié)點(diǎn)模塊,一般包含3類數(shù)據(jù):模擬量、數(shù)字量和文本量;數(shù)據(jù)量的規(guī)模大致為500個(gè);采樣周期可統(tǒng)一為20 s。
本系統(tǒng)利用VC++6.0作為用戶界面的開(kāi)發(fā)程序,重新封裝了編程函數(shù)包IP.21 API中的庫(kù)函數(shù),實(shí)現(xiàn)應(yīng)用程序和數(shù)據(jù)庫(kù)的通訊。同時(shí)考慮到實(shí)時(shí)數(shù)據(jù)庫(kù)任務(wù)繁重,為保障他的實(shí)時(shí)性,在程序設(shè)計(jì)時(shí)利用了多線程技術(shù)。這些線程主要包括:與現(xiàn)場(chǎng)進(jìn)行數(shù)據(jù)交換的線程;數(shù)據(jù)庫(kù)操作線程;人機(jī)交互主線程。使用多線程技術(shù)后,當(dāng)任何一個(gè)功能模塊若發(fā)生故障,都不會(huì)影響整個(gè)程序的運(yùn)行,也不會(huì)使整個(gè)軟件癱瘓,這就使系統(tǒng)的可靠性有了極大提高。同時(shí),利用Visual C++6.0提供的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)了數(shù)據(jù)的合理組織和快速檢索。
3 結(jié) 語(yǔ)
本文所設(shè)計(jì)的溫度和壓力控制系統(tǒng),可用于一些對(duì)溫度和壓力要求較高的工業(yè)過(guò)程,如液化氣的生產(chǎn)和運(yùn)輸、化工生產(chǎn)線、熱點(diǎn)供銷等。采用本系統(tǒng)的設(shè)計(jì)方案,可以最大限度地挖掘硬件潛力,提高驅(qū)動(dòng)程序的性能,并且可以避免開(kāi)發(fā)的重復(fù)性,使開(kāi)發(fā)費(fèi)用大大降低,同時(shí)也可以使系統(tǒng)和設(shè)備之間達(dá)到無(wú)縫、開(kāi)放、便捷的通信。
參 考 文 獻(xiàn)
[1]鄔寬明.現(xiàn)場(chǎng)總線技術(shù)應(yīng)用選編[M].北京:北京航空航天大學(xué)出版社,2004.
[2]鄒益仁,馬增良,蒲維.現(xiàn)場(chǎng)總線控制系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)[M].北京:國(guó)防工業(yè)出版社,2003.
[3]NI Company.FCS Tutorial[Z].NI Company,1998.
[4]裘玉瑞.現(xiàn)場(chǎng)總線智能儀表功能模塊[J].世界儀表與自動(dòng)化,2001,5(8):30-32,50.
[5]萬(wàn)力.工業(yè)實(shí)時(shí)數(shù)據(jù)庫(kù)的應(yīng)用設(shè)計(jì)及多源數(shù)據(jù)接口開(kāi)發(fā)[D].杭州:浙江大學(xué),2006.
作者簡(jiǎn)介 郭 磊 男,1978年出生,河南洛陽(yáng)人,工程師。研究方向?yàn)闇y(cè)控技術(shù)。
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文?!?/p>