摘 要:CAN總線基于自身的特點,特別適合工業過程監控設備的互連。本文給出一種基于CAN總線的溫度與壓力控制系統的設計方案,說明了系統的總體設計思路和各部分的結構原理,并結合控制軟件詳細闡述了實時數據庫的接口和應用設計。還介紹了多線程技術,用以保證實時數據庫的實時性。
關鍵詞:實時數據庫;CAN總線;數據處理;多線程
中圖分類號:TP31113 文獻標識碼:B
文章編號: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
現場總線是用于過程自動化和制造自動化最底層的現場設備或現場儀表互連的通信網絡,是現場通信網絡與計算機控制系統的集成。目前,常用的現場總線有:基金會現場總線(Foundation Fieldbus,FF)、LonWorks現場總線、PROFIBUS現場總線(Process Field Bus)、CAN(Controller Area NetWork)現場總線和HART(Highway Addressable Remote Transducer)現場總線等。其中,CAN總線因具有可靠性高、協議精煉、價格低、貨源廣泛等優點而在工業測控領域獲得廣泛應用。將CAN總線技術應用于溫度與壓力控制系統,并結合實時數據庫,可以對工業現場的溫度和壓力進行精確控制。
1 系統的硬件設計
1.1 系統結構原理
溫度與壓力控制系統由工業控制計算機(IPC)、CAN接口適配卡和被測的各節點模塊構成。各節點模塊將數據信息通過CAN通信協議傳送至CAN接口適配卡,適配卡再與計算機進行通訊,從而實現統一調度和管理的功能。圖1為系統的結構原理圖。
1.2 CAN接口適配卡
CAN接口適配卡用來完成計算機與各節點模塊間的通信任務。他主要由微控制器AT89C52、CAN通信控制器SJA1000、PC總線接口電路、雙端口RAM、復位電路DS1232、CAN總線驅動82C250構成。SJA1000具有2種工作模式:基本CAN(BasicCAN)模式和增強CAN(PeliCAN)模式。這2種模式都支持具有新功能的CAN 20B協議規范。SJA1000的最高速率可達1 Mb/s,有較強的抗干擾能力,最多節點數可達110個。CAN接口適配卡的結構原理圖如圖2所示。
實時數據庫融合了實時系統和數據庫2個領域的技術和特點,與傳統數據庫相比,主要在調度機制和事務管理方面有較大的區別。實時數據庫在本系統中是應用軟件的運行平臺,也是現場儀表、控制器的數據收集器,負責實時數據的讀/寫、管理、歷史歸檔、維護、安全審核、報警生成、事件記錄、時間同步等。實時數據庫的系統結構如圖3所示。
2 實時數據庫
圖3中,“資源管理”部分對系統資源進行管理,主要任務是:對CPU進行調度管理,合理利用CPU資源,滿足實時要求;對時間進行調度管理,觸發與時間相關的實時事務執行;對存儲空間進行分配和管理,考慮定時限制的調度算法以及與實時應用有關的I/O調度。
“實時事務管理”部分包括管理實時事務的產生、執行和結束,解決調度實時性問題。主要任務是:實時調度;實時并發控制;事務恢復機制。“數據管理”部分實現對數據的存取操作和其他處理,主要任務是管理實時數據和歷史數據。
2.1 數據庫接口設計
實時數據庫是本系統的重要組成部分。他是現場總線控制系統的數據處理核心和交換樞紐,起著承上啟下的作用。實時數據庫采用了OPC接口,OPC接口是由OPC基金會(OPC Foundation)制定的一套標準的OLE/COM接口協議。在本系統中,利用OPC的COM技術,實現了高性能的遠程數據訪問能力;利用OPC的報警和事件規范,能更好地捕捉控制過程中各種報警和事件,并給予相應的處理;利用OPC的數據冗余技術,使軟件具有了更好的開放性和互操作性。
在圖1中,各節點模塊提供的數據信息通過CAN總線適配卡和IPC進行通訊。實時數據庫嵌入在控制程序中實時處理節點模塊傳送的數據。圖4給出了實時數據庫在本系統中的作用和地位。
2.2 實時數據庫的應用設計
本系統的數據庫系統采用了美國AspenTech公司開[CM(20*2]發的InfoPlus.21數據庫。該數據庫具備開放結構的特點,
能夠提供高速、及時的實時數據庫服務,還能有效地集成異構控制系統,提供分布式的數據服務。在本系統中,
利用InfoPlus.21的子系統Cim-I0或Scan.21,控制程序進行數據的采集、分析、寫入操作。
InfoPlus.21數據庫中的數據信息由記錄(record)和記錄中的各字段(field)構成。本系統中各數據點均來自于現場中的節點模塊,一般包含3類數據:模擬量、數字量和文本量;數據量的規模大致為500個;采樣周期可統一為20 s。
本系統利用VC++6.0作為用戶界面的開發程序,重新封裝了編程函數包IP.21 API中的庫函數,實現應用程序和數據庫的通訊。同時考慮到實時數據庫任務繁重,為保障他的實時性,在程序設計時利用了多線程技術。這些線程主要包括:與現場進行數據交換的線程;數據庫操作線程;人機交互主線程。使用多線程技術后,當任何一個功能模塊若發生故障,都不會影響整個程序的運行,也不會使整個軟件癱瘓,這就使系統的可靠性有了極大提高。同時,利用Visual C++6.0提供的數據結構,實現了數據的合理組織和快速檢索。
3 結 語
本文所設計的溫度和壓力控制系統,可用于一些對溫度和壓力要求較高的工業過程,如液化氣的生產和運輸、化工生產線、熱點供銷等。采用本系統的設計方案,可以最大限度地挖掘硬件潛力,提高驅動程序的性能,并且可以避免開發的重復性,使開發費用大大降低,同時也可以使系統和設備之間達到無縫、開放、便捷的通信。
參 考 文 獻
[1]鄔寬明.現場總線技術應用選編[M].北京:北京航空航天大學出版社,2004.
[2]鄒益仁,馬增良,蒲維.現場總線控制系統的設計和開發[M].北京:國防工業出版社,2003.
[3]NI Company.FCS Tutorial[Z].NI Company,1998.
[4]裘玉瑞.現場總線智能儀表功能模塊[J].世界儀表與自動化,2001,5(8):30-32,50.
[5]萬力.工業實時數據庫的應用設計及多源數據接口開發[D].杭州:浙江大學,2006.
作者簡介 郭 磊 男,1978年出生,河南洛陽人,工程師。研究方向為測控技術。
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”