趙立本
中國(guó)石化山東分公司,山東 濟(jì)南 250014
測(cè)控系統(tǒng)在現(xiàn)代生產(chǎn)和生活當(dāng)中具有重要意義。數(shù)據(jù)采集作為測(cè)控系統(tǒng)的重要組成部分,是指從傳感器和其它待測(cè)設(shè)備等模擬和數(shù)字被測(cè)單元中自動(dòng)采集信息的過程。在這個(gè)微電子技術(shù)和微處理器技術(shù)不斷發(fā)展的今天,大量新的智能儀表不斷涌現(xiàn),智能儀表和數(shù)據(jù)采集已進(jìn)入了嶄新的發(fā)展階段??蓴U(kuò)展的數(shù)據(jù)采集軟件系統(tǒng)具有高通用性和高移植性,可以通過不同參數(shù)配置實(shí)現(xiàn)對(duì)不同的數(shù)據(jù)采集模塊(數(shù)據(jù)采集通信協(xié)議)的調(diào)用,從而實(shí)現(xiàn)對(duì)不同數(shù)據(jù)采集設(shè)備的數(shù)據(jù)采集。因工程需求,需要添加新的數(shù)據(jù)采集設(shè)備時(shí),只需要編寫小量數(shù)據(jù)采集模塊的代碼,而不用更改源程序代碼,就可以實(shí)現(xiàn)對(duì)新添加的數(shù)據(jù)采集設(shè)備進(jìn)行數(shù)據(jù)采集了。可擴(kuò)展的數(shù)據(jù)采集軟件系統(tǒng)設(shè)計(jì)方法的應(yīng)用,將會(huì)大大降低項(xiàng)目開發(fā)成本,節(jié)約項(xiàng)目開發(fā)時(shí)間,有效避免了程序的二次開發(fā)。
圖1 數(shù)據(jù)采集應(yīng)用系統(tǒng)的層次結(jié)構(gòu)圖
數(shù)據(jù)采集應(yīng)用系統(tǒng)是獲取監(jiān)控對(duì)象的數(shù)據(jù),完成數(shù)據(jù)處理、分析與顯示功能的一套系統(tǒng)。它分為三個(gè)層次:物理層、采集層、應(yīng)用層。層次結(jié)構(gòu)圖如圖1所示。其中數(shù)據(jù)采集設(shè)備位于物理層,它通過傳感器獲取監(jiān)控對(duì)象的數(shù)據(jù);數(shù)據(jù)管理系統(tǒng)位于管理層,它對(duì)數(shù)據(jù)進(jìn)行計(jì)算處理;可擴(kuò)展的數(shù)據(jù)采集軟件系統(tǒng)位于監(jiān)控系統(tǒng)的采集層,一方面它接收來自物理層的各種數(shù)據(jù)采集設(shè)備的數(shù)據(jù),另一方面又把數(shù)據(jù)傳送給管理層的數(shù)據(jù)管理系統(tǒng)。
可擴(kuò)展的數(shù)據(jù)采集系統(tǒng)的包括五個(gè)模塊,其中參數(shù)配置模塊是一個(gè)單獨(dú)的模塊,不與其他模塊之間發(fā)生關(guān)系,只是把配置信息寫入配置文件,而數(shù)據(jù)采集模塊,接口初始化模塊,配置信息存儲(chǔ)模塊都是通過主控程序進(jìn)行調(diào)用的。系統(tǒng)的工作流圖如圖2所示。主控程序作為核心部分調(diào)控各個(gè)模塊之間的執(zhí)行順序。它首先通過socket建立一個(gè)TCP/IP服務(wù)器監(jiān)聽特定網(wǎng)絡(luò)端口的數(shù)據(jù),當(dāng)獲取到數(shù)據(jù)管理程序發(fā)送過來的start命令之后,主控程序首先根據(jù)配置文件信息,對(duì)所有與數(shù)據(jù)采集設(shè)備連接的接口進(jìn)行初始化,然后再建立一個(gè)數(shù)據(jù)采集線程,線程里面運(yùn)行一個(gè)Timer,這個(gè)Timer按照一定的采樣周期循環(huán)調(diào)用數(shù)據(jù)獲取函數(shù),獲取數(shù)據(jù)采集設(shè)備采集到的數(shù)據(jù),然后再建立一個(gè)TCP/IP客戶端,把數(shù)據(jù)發(fā)送給數(shù)據(jù)管理程序。在這個(gè)數(shù)據(jù)獲取函數(shù)內(nèi)部通過一個(gè)for循環(huán)讀取配置文件中每個(gè)數(shù)據(jù)采集設(shè)備的配置信息,把這個(gè)設(shè)備的配置信息保存在配置信息存儲(chǔ)模塊中,然后根據(jù)這個(gè)數(shù)據(jù)采集設(shè)備的型號(hào)動(dòng)態(tài)調(diào)用與該數(shù)據(jù)采集設(shè)備相對(duì)應(yīng)類,調(diào)用這個(gè)類里面的數(shù)據(jù)采集函數(shù),并傳遞一個(gè)參數(shù),該參數(shù)是配置信息存儲(chǔ)模塊的一個(gè)類。
其中數(shù)據(jù)采集模塊中的類是這么規(guī)定的,每個(gè)數(shù)據(jù)采集設(shè)備,對(duì)應(yīng)一個(gè)數(shù)據(jù)采集的類,該類放在程序的特定文件當(dāng)中,當(dāng)添加新的設(shè)備時(shí),只要按照程序設(shè)計(jì)的要求寫上該類,從新編譯一下就可以了。如圖2。
外部接口:參數(shù)配置接口:用戶可以根據(jù)配置值界面設(shè)定每個(gè)設(shè)備的配置信息。
采集系統(tǒng)與數(shù)據(jù)管理系統(tǒng)通信接口:
采集系統(tǒng)與數(shù)據(jù)管理系統(tǒng)通過socket相互聯(lián)系,它們可以通過socket協(xié)議去獲取對(duì)方的數(shù)據(jù),只要在數(shù)據(jù)管理系統(tǒng)中設(shè)定采集系統(tǒng)的IP地址,以便能向數(shù)據(jù)采集系統(tǒng)所在的主機(jī)發(fā)送數(shù)據(jù)。而數(shù)據(jù)采集系統(tǒng)則是直接通過程序獲取數(shù)據(jù)管理系統(tǒng)的IP地址,返回它采集到的數(shù)據(jù)。數(shù)據(jù)采集系統(tǒng)與數(shù)據(jù)管理系統(tǒng)的通信涉及兩個(gè)socket,一個(gè)作為服務(wù)器接收數(shù)據(jù)管理系統(tǒng)發(fā)送過來的解釋命令,一個(gè)作為客戶端,周期性的向數(shù)據(jù)管理系統(tǒng)發(fā)送數(shù)據(jù)。
它們之間相互通信方式如圖3所示,它們之間的交換的數(shù)據(jù)是一種具有特定數(shù)據(jù)格式的數(shù)據(jù)。采集系統(tǒng)獲取的數(shù)據(jù)包括:控制命令、采樣周期。數(shù)據(jù)管理系統(tǒng)獲取的數(shù)據(jù)為從采集設(shè)備采集后經(jīng)過組合的特定數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)。各數(shù)據(jù)的數(shù)據(jù)描述如下表所示。
表1 接口數(shù)據(jù)表
圖2 系統(tǒng)工作流程圖
圖3 采集系統(tǒng)與數(shù)據(jù)管理系統(tǒng)外部數(shù)據(jù)接口圖
計(jì)算機(jī)與采集設(shè)備接口:具有數(shù)據(jù)采集設(shè)備需要用到的計(jì)算機(jī)外部接口。
設(shè)備配置文件中的數(shù)據(jù)項(xiàng)如表2所示。模塊內(nèi)部、以及模塊之間的數(shù)據(jù)項(xiàng)在詳細(xì)設(shè)計(jì)文檔當(dāng)中會(huì)有詳細(xì)描述。
表2 數(shù)據(jù)項(xiàng)描述表
數(shù)據(jù)結(jié)構(gòu):
初始化接口所需參數(shù)信息:struct interface{
commport,stopbit,baudrate,parity,databit,address};
設(shè)備信息:struct instrument{ Manufacturer,model,id };
傳感器信息:struct sensor{voultageU,courrentA,powerP,frequencyf };
其它模塊內(nèi)部設(shè)計(jì)到得數(shù)據(jù)結(jié)構(gòu)在詳細(xì)設(shè)計(jì)的模塊中有詳細(xì)描述。
運(yùn)行模塊組合:參數(shù)配置模塊單獨(dú)執(zhí)行,其它模塊在主控程序模塊的調(diào)控下執(zhí)行。
運(yùn)行控制:主控程序模塊在收到數(shù)據(jù)管理系統(tǒng)發(fā)送過來的命令之后,調(diào)用各個(gè)模塊的函數(shù),完成參數(shù)配置設(shè)定的功能。
本文作者創(chuàng)新觀點(diǎn):本文設(shè)計(jì)了一種能夠根據(jù)智能儀表的不同進(jìn)行不同參數(shù)配置實(shí)現(xiàn)不用功能數(shù)據(jù)采集系統(tǒng),具有高擴(kuò)展性和高通用性,將會(huì)很好地解決用戶在使用不同類型的數(shù)據(jù)采集設(shè)備時(shí)重寫程序的麻煩。
[1]王琳,商周,王學(xué)偉. 數(shù)據(jù)采集系統(tǒng)的發(fā)展與應(yīng)用. 電測(cè)與儀表,2004,41(8):4~8
[2]羅光坤,張令彌,王彤. 基于 GPIB 接口的儀器與計(jì)算機(jī)之間的通訊.儀器儀表學(xué)報(bào),2006,27(6):634~637
[3]楊會(huì)民,田秋成,邢建功等. 基于GPIB 接口的自動(dòng)測(cè)試系統(tǒng).微計(jì)算機(jī)信息,2005,21(1):93~94,147
[4]邱健,揚(yáng)冠玲,何振江.實(shí)現(xiàn)波形和數(shù)據(jù)采集的虛擬儀器技術(shù). 國(guó)外電子測(cè)量技術(shù),2002,21(3):24~27
[5]李瑩,孟軍霞. USB 接口通訊的分析與研究. 焦作大學(xué)學(xué)報(bào),2006,2:67~68。
[6]周娟,陳向華. 在VB中使用Winsock 控件建立基于UDP協(xié)議的應(yīng)用程序. 成都電子機(jī)械高等??茖W(xué)校學(xué)報(bào),2005,2:17~20
[7]鄧緋,陳印. 使用Winsock控件開發(fā)服務(wù)器/客戶端程序.四川職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2004,14(4):105~107
[8]Zhongwen Guo, Pengpeng Chen, Yuan Feng, Yongguo Jiang, and Feng Hong“ISDP: Interactive Software Development Platform for Household Appliances Testing Industry” IEEE TRANS. ON INSTRUM. MEAS., JUNE 10, 2009:4-6
[9]S. Frattesi, L. Andrenacci, L. Pasqualini, and L. Starna, “A modern approach