唐俊
摘 要:針對(duì)當(dāng)前制造業(yè)生產(chǎn)、檢測(cè)設(shè)備存在的位置分散、種類繁多,接口互異,標(biāo)準(zhǔn)不一,難以有效跟蹤的情況,提出了一種異構(gòu)設(shè)備接口數(shù)據(jù)的集成采集方案,該方案采用一種多層次的數(shù)據(jù)采集架構(gòu),分別從設(shè)備級(jí)、實(shí)驗(yàn)室級(jí)、中心級(jí)三個(gè)不同層次,實(shí)現(xiàn)了異構(gòu)設(shè)備接口數(shù)據(jù)的截取、格式轉(zhuǎn)換、傳輸、保存與查詢分析,并基于該方案實(shí)現(xiàn)了一套實(shí)驗(yàn)室自動(dòng)化數(shù)據(jù)采集系統(tǒng),結(jié)果表明該方案可以有效滿足異構(gòu)非標(biāo)準(zhǔn)設(shè)備的數(shù)據(jù)采集需求。
關(guān)鍵詞:異構(gòu)設(shè)備接口;數(shù)據(jù)采集;集成
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
隨著制造業(yè)信息化的快速發(fā)展和普及,各類生產(chǎn)和經(jīng)營(yíng)數(shù)據(jù)的采集也越來越引起經(jīng)營(yíng)管理者的重視,然而,由于制造業(yè)中的各類設(shè)備目前尚缺乏統(tǒng)一的標(biāo)準(zhǔn)接口和格式,難以實(shí)現(xiàn)以通用的采集方案進(jìn)行數(shù)據(jù)采集[1]。本文作者在開發(fā)實(shí)驗(yàn)室數(shù)據(jù)自動(dòng)采集系統(tǒng)中,涉及多種國(guó)內(nèi)外檢測(cè)儀器,涵蓋RS232打印口,以及自帶工作站的標(biāo)準(zhǔn)文本存儲(chǔ),ACCESS數(shù)據(jù)庫(kù)存儲(chǔ),SQLite數(shù)據(jù)庫(kù)存儲(chǔ),二次開發(fā)接口和保密文件格式等八種數(shù)據(jù)接口,因此需研究和設(shè)計(jì)一種通用的異構(gòu)設(shè)備數(shù)據(jù)接口集成采集方案,實(shí)現(xiàn)異構(gòu)接口設(shè)備實(shí)驗(yàn)數(shù)據(jù)的自動(dòng)采集。
2 采集方案的分析與設(shè)計(jì)(Analysis and design of
acquisition scheme)
2.1 設(shè)備接口分析
通過對(duì)現(xiàn)場(chǎng)儀器接口的分析,其大體可分為三類:
(1)接口設(shè)備,此類設(shè)備無任何接口,通常只提供觀測(cè)讀數(shù)如烘箱。
(2)預(yù)留標(biāo)準(zhǔn)接口設(shè)備:此類設(shè)備預(yù)留有串口和并口接口,如薄膜厚度儀、陰燃儀。
(3)配備專用軟件設(shè)備:此類設(shè)備通常已通過硬件接口和專用軟件實(shí)現(xiàn)數(shù)據(jù)采集,但未向第三方開放編程接口和數(shù)據(jù)格式,此類設(shè)備種類繁多,接口互異,從最簡(jiǎn)單的文本文件、到完全加密的數(shù)據(jù)存儲(chǔ)格式,數(shù)量眾多,典型設(shè)備有拉力儀、白度儀、摩擦系數(shù)儀等。
2.2 采集方案設(shè)計(jì)
(1)無接口設(shè)備采集方案:對(duì)于無接口的儀器設(shè)備除另加裝相關(guān)采集設(shè)備,如位移計(jì)、溫度傳感器等擴(kuò)展設(shè)備外,最簡(jiǎn)單的處理方式是提供純軟件錄入界面。
(2)預(yù)留標(biāo)準(zhǔn)接口設(shè)備采集方案:預(yù)留標(biāo)準(zhǔn)接口的設(shè)備多留有RS232串口或并口的設(shè)備,其中并口可以通過定制接線將其轉(zhuǎn)為串口,而對(duì)于串口設(shè)備的采集目前主流的方式有直接集成和使用串口服務(wù)器集成兩種方案。
直接集成方案,即直接使用串口線連接設(shè)備,但必須解決串口數(shù)量有限和通信距離較短的問題,通??梢允褂枚啻诳ê蚏S485協(xié)議可以來解決串口數(shù)量有限和通信距離短的問題,但仍然存在:受PC內(nèi)置接口數(shù)量限制、接線制作和編程復(fù)雜的問題。因此,考慮到擴(kuò)展性和編程方案的一致性,目前對(duì)于多串口設(shè)備集成采集較為成熟的方案是使用串口服務(wù)器集成采集[2]。
串口服務(wù)器是串口和以太網(wǎng)之間的一個(gè)轉(zhuǎn)換設(shè)備,其內(nèi)置處理器、嵌入式操作系統(tǒng)和完整的網(wǎng)絡(luò)協(xié)議棧,可以完成串口數(shù)據(jù)和網(wǎng)絡(luò)IP包之間的格式轉(zhuǎn)換、實(shí)現(xiàn)串口設(shè)備和以太網(wǎng)之間的數(shù)據(jù)雙向透明傳輸和設(shè)備聯(lián)網(wǎng)功能,具有不占用主機(jī)資源,轉(zhuǎn)換效率高,運(yùn)行可靠的特點(diǎn),目前在工業(yè)控制領(lǐng)域有著廣泛的應(yīng)用?;诖诜?wù)器的數(shù)據(jù)采集方案如圖1所示。
(3)配備專用軟件設(shè)備采集方案
配備專用軟件的設(shè)備,其特點(diǎn)是設(shè)備數(shù)據(jù)已采集并存儲(chǔ)到工作站中,但存儲(chǔ)格式不一,目前典型的接口格式有標(biāo)準(zhǔn)文本文件格式、標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)存儲(chǔ)格式和加密格式三種,其中對(duì)于加密格式又可分為提供二次開發(fā)接口和未提供接口兩種,因此本文的一個(gè)研究重點(diǎn)即是研究如何解析各類數(shù)據(jù)文件實(shí)現(xiàn)此類設(shè)備的數(shù)據(jù)采集。針對(duì)文件解析類數(shù)據(jù)采集的基本要求,設(shè)計(jì)以下文件解析類設(shè)備數(shù)據(jù)采集方案,如圖2所示。
對(duì)于文件解析類設(shè)備的數(shù)據(jù)采集,一般可以分為三步,即截獲、解析和轉(zhuǎn)發(fā)。截獲是實(shí)現(xiàn)此類數(shù)據(jù)采集的關(guān)鍵和基礎(chǔ),對(duì)于多數(shù)已知數(shù)據(jù)文件格式的設(shè)備而言,采用基于文件系統(tǒng)的監(jiān)測(cè)是最主要和方便的實(shí)現(xiàn)形式,而對(duì)于部分加密數(shù)據(jù)文件格式的設(shè)備而言,使用打印驅(qū)動(dòng)截獲報(bào)表數(shù)據(jù)是唯一方式。解析是指從截獲的數(shù)據(jù)中獲取需要采集的關(guān)鍵數(shù)據(jù),可根據(jù)數(shù)據(jù)格式分為標(biāo)準(zhǔn)文本格式解析,標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)格式解析和根據(jù)二次開發(fā)接口進(jìn)行解析。發(fā)送數(shù)據(jù),是指將解析的有效數(shù)據(jù)使用TCP/IP協(xié)議發(fā)送到指定的數(shù)據(jù)采集服務(wù)程序。
3 采集方案的實(shí)現(xiàn)(Implementation of acquisition
scheme)
3.1 總體設(shè)計(jì)
通過以上分析,本文提出一種針對(duì)異構(gòu)非標(biāo)準(zhǔn)格式數(shù)據(jù)的集成數(shù)據(jù)采集方法,即對(duì)于提供串口的設(shè)備使用串口服務(wù)器進(jìn)行數(shù)據(jù)采集,對(duì)于提供接口文件的設(shè)備使用文件解析方式進(jìn)行數(shù)據(jù)采集,從而實(shí)現(xiàn)了非標(biāo)準(zhǔn)格式的數(shù)據(jù)采集和保存,系統(tǒng)的總體結(jié)構(gòu)如圖3所示。
其中終端數(shù)據(jù)采集程序是本系統(tǒng)實(shí)現(xiàn)通用數(shù)據(jù)采集方案的核心模塊,需根據(jù)設(shè)備的接口特性,進(jìn)行定制,通常需實(shí)現(xiàn)數(shù)據(jù)截獲、數(shù)據(jù)解析和數(shù)據(jù)發(fā)送三大核心功能。數(shù)據(jù)抽取的方式包括抽取RS232串口設(shè)備數(shù)據(jù)和解析自帶工作站和已采集的設(shè)備數(shù)據(jù)兩種,其中抽取RS232串口數(shù)據(jù)采用串口服務(wù)器將數(shù)據(jù)發(fā)送到數(shù)據(jù)采集服務(wù)程序,重點(diǎn)是處理異構(gòu)設(shè)備的數(shù)據(jù)解析,解析方式包括標(biāo)準(zhǔn)文本解析、數(shù)據(jù)庫(kù)文件解析、ActiveX控件二次開發(fā)和打印驅(qū)動(dòng)數(shù)據(jù)截取四種方式[3,4]。
3.2 數(shù)據(jù)文件截獲機(jī)制的實(shí)現(xiàn)
數(shù)據(jù)文件的截獲其目的是截獲最新的設(shè)備檢測(cè)數(shù)據(jù),從時(shí)機(jī)上來看應(yīng)在設(shè)備完成相關(guān)檢測(cè)后進(jìn)行,從目前的實(shí)際情況看,多數(shù)自帶工作站的設(shè)備都會(huì)將獲取的設(shè)備數(shù)據(jù)進(jìn)行保存,因此通過監(jiān)視設(shè)備數(shù)據(jù)文件的方式實(shí)現(xiàn)數(shù)據(jù)文件的截獲是一種較為可行的方式。文獻(xiàn)[5]介紹了一種基于.NET實(shí)現(xiàn)的文件系統(tǒng)監(jiān)控方式,根據(jù)此類思路,可以輕易實(shí)現(xiàn)Windows平臺(tái)下的文件監(jiān)控系統(tǒng),因此數(shù)據(jù)采集文件監(jiān)控系統(tǒng)的流程圖設(shè)計(jì)如圖4所示。
使用System.IO.File SystemWatcher可以實(shí)現(xiàn)對(duì)特定文件或文件夾的監(jiān)視,當(dāng)指定文件夾中有新文件被創(chuàng)建,會(huì)觸發(fā)Created事件,如指定文件的文件大小或最后寫入時(shí)間等屬性發(fā)生變化則會(huì)觸發(fā)Changed事件,如有文件被刪除則會(huì)觸發(fā)Deleted事件。通過Path屬性可以指定要監(jiān)聽的文件或文件夾,通過Filter屬性可以設(shè)置要監(jiān)視的文件類型,如設(shè)為“*.*”則表示監(jiān)視全部文件。通過NotifyFilter屬性可以指定要監(jiān)視的事件類型,通過EnableRaisingEvents來確定是否啟動(dòng)監(jiān)聽。
3.3 數(shù)據(jù)文件解析方式的實(shí)現(xiàn)
數(shù)據(jù)文件的解析重點(diǎn)是獲取對(duì)用戶有意義的數(shù)據(jù),因此根據(jù)數(shù)據(jù)文件格式的不同可以分為標(biāo)準(zhǔn)文本文件解析、標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)文件解析和二次開發(fā)方式解析。利用.NET技術(shù)可以輕易地實(shí)現(xiàn)對(duì)文本文件、數(shù)據(jù)庫(kù)文件和VBA的編程,本文僅介紹標(biāo)準(zhǔn)文本文件解析方式的實(shí)現(xiàn)。
標(biāo)準(zhǔn)文本文件解析,指的是設(shè)備配備的數(shù)據(jù)處理程序會(huì)將采集到的數(shù)據(jù)以標(biāo)準(zhǔn)文本形式存儲(chǔ)在工作站上,此類設(shè)備會(huì)通過其自帶數(shù)據(jù)處理軟件生成標(biāo)準(zhǔn)文本格式的文件,通過監(jiān)測(cè)和分析此類文件,可獲取相關(guān)數(shù)據(jù)。標(biāo)準(zhǔn)文本文件的讀取,在.NET中可使用System.IO.StreamReader對(duì)象進(jìn)行讀取。
3.4 數(shù)據(jù)文件的發(fā)送
發(fā)送模塊負(fù)責(zé)實(shí)現(xiàn)數(shù)據(jù)的發(fā)送功能,可采用標(biāo)準(zhǔn)網(wǎng)絡(luò)通信協(xié)議實(shí)現(xiàn),考慮到實(shí)現(xiàn)的可靠性,建議采用TCP協(xié)議和并發(fā)編程的方式實(shí)現(xiàn),在.NET中可使用TCPClient對(duì)象來實(shí)現(xiàn)數(shù)據(jù)的發(fā)送。
4 采集方案的應(yīng)用(Application of acquisition
scheme)
某理化指標(biāo)實(shí)驗(yàn)室管理有天平、長(zhǎng)度儀、白度儀等21類檢測(cè)設(shè)備,共計(jì)45臺(tái)儀器,負(fù)責(zé)進(jìn)行水分、長(zhǎng)度、重量、白度等多個(gè)理化指標(biāo)的檢定和產(chǎn)品質(zhì)量管控,鑒于實(shí)驗(yàn)儀器設(shè)備眾多,地理位置分散,接口繁雜,以往通常采用人工錄入的方式填報(bào)批次試驗(yàn)指標(biāo)的平均值,并進(jìn)行合格判定。然而此種方式只能保存批次平均長(zhǎng)度和合格判定,無法存儲(chǔ)每次試驗(yàn)的詳細(xì)數(shù)據(jù),同時(shí)部分試驗(yàn)存在著大量的反復(fù)操作,人工抄填、計(jì)算、錄入的傳統(tǒng)方式工作強(qiáng)度大,枯燥乏味,易出錯(cuò),因此需建立一套基于通用異構(gòu)非標(biāo)準(zhǔn)格式數(shù)據(jù)采集方法的實(shí)驗(yàn)室自動(dòng)化數(shù)據(jù)采集系統(tǒng),實(shí)現(xiàn)試驗(yàn)數(shù)據(jù)的自動(dòng)采集,長(zhǎng)期保存和查詢、分析。
該系統(tǒng)分為設(shè)備端、工作站端和數(shù)據(jù)查詢分析系統(tǒng)三個(gè)部分,采用層次遞進(jìn)結(jié)構(gòu),其整體軟件結(jié)構(gòu)如圖5所示。
設(shè)備端程序是主要實(shí)現(xiàn)文件解析類數(shù)據(jù)的采集,通過文件監(jiān)控和數(shù)據(jù)解析獲取設(shè)備數(shù)據(jù),通過TCP/IP協(xié)議發(fā)送到工作站端數(shù)據(jù)采集服務(wù)程序。
工作站端數(shù)據(jù)采集服務(wù)程序是整套數(shù)據(jù)自動(dòng)采集系統(tǒng)的中間層,其核心功能是數(shù)據(jù)接收,指標(biāo)解析、格式轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā)。其數(shù)據(jù)接收模塊需要接收和處理來自設(shè)備端程序和串口服務(wù)器兩類不同格式的數(shù)據(jù),并根據(jù)業(yè)務(wù)規(guī)則從中解析出需要保存的有效指標(biāo)數(shù)據(jù),將其統(tǒng)一轉(zhuǎn)換成標(biāo)準(zhǔn)的JSON格式,再通過HTTP協(xié)議轉(zhuǎn)送到數(shù)據(jù)采集分析系統(tǒng),這里使用HTTP協(xié)議可以確保數(shù)據(jù)可以安全的通過各類防火墻。
數(shù)據(jù)查詢分析系統(tǒng)是一個(gè)基于Web的B/S結(jié)構(gòu)應(yīng)用程序,采用經(jīng)典的多層結(jié)構(gòu)分為視圖層和Web服務(wù)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,負(fù)責(zé)實(shí)現(xiàn)數(shù)據(jù)分析和數(shù)據(jù)共享兩類核心需求,具有檢驗(yàn)數(shù)據(jù)填報(bào),質(zhì)量數(shù)據(jù)預(yù)警、歷史數(shù)據(jù)查詢和數(shù)據(jù)趨勢(shì)分析、數(shù)據(jù)導(dǎo)出和數(shù)據(jù)集成等功能,同時(shí)還提供數(shù)據(jù)字典和用戶權(quán)限管理等基礎(chǔ)功能模塊,其功能結(jié)構(gòu)如圖6所示。
本系統(tǒng)采用微軟的Visual Studio 2010作為開發(fā)工具,C#作為開發(fā)語(yǔ)言,對(duì)于設(shè)備端程序考慮到其兼容性,使用.NET Framework 2.0運(yùn)行環(huán)境;對(duì)于查詢分析端,考慮到擴(kuò)展性和可維護(hù)性,采用了基于.NET Framework 4.5的ASP.NET MVC架構(gòu)進(jìn)行實(shí)現(xiàn),目前已上線運(yùn)行,實(shí)現(xiàn)了對(duì)實(shí)驗(yàn)檢測(cè)數(shù)據(jù)的自動(dòng)化采集,有效地減輕了試驗(yàn)人員的重復(fù)勞動(dòng)和工作強(qiáng)度,提高了試驗(yàn)數(shù)據(jù)采集的準(zhǔn)確程度和效率,獲得了較好的應(yīng)用成效。
5 結(jié)論(Conclusion)
隨著制造業(yè)信息化的不斷深入發(fā)展,各類異構(gòu)設(shè)備接口的聯(lián)網(wǎng)需求和數(shù)據(jù)采集需求也日益迫切,本文提出了一種異構(gòu)設(shè)備接口的自動(dòng)化數(shù)據(jù)采集方案,并基于該方案實(shí)現(xiàn)了一套實(shí)驗(yàn)室自動(dòng)化數(shù)據(jù)采集系統(tǒng),結(jié)果表明該方案可以有效滿足異構(gòu)非標(biāo)準(zhǔn)設(shè)備的數(shù)據(jù)采集需求。但本文的方法在數(shù)據(jù)采集層面還必須針對(duì)設(shè)備進(jìn)行定制開發(fā),目前系統(tǒng)所涉及的設(shè)備種類和接口類型還有待進(jìn)一步擴(kuò)展。
參考文獻(xiàn)(References)
[1] Grzegorz wika.Methods of Manufacturing Data Acquisition for Production Management-A Review[J].Advanced Materials
Research,2014,2845(837):618-623.
[2] Kim R,Chi S,Yoon W C.Data integration and arrangement in the shop floor based-on time stamp:An illustrative study of CNC machining[C].Ubiquitous and Future Networks (ICUFN),2016 Eighth International Conference on. IEEE,2016:121-124.
[3] Kai Bu,et al.A High Speed and Compact Data Acquisition
and Storage System[J].Advanced Materials Research,2013,
2526(753):3125-3128.
[4] 李水田.一種基于VBA的非標(biāo)準(zhǔn)格式數(shù)據(jù)采集方法的研究與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2014(24):187
[5] 張志杰,劉金勝,謝曉峰.氣象水文到報(bào)監(jiān)測(cè)的實(shí)時(shí)性設(shè)計(jì)[J].計(jì)算技術(shù)與自動(dòng)化,2013(03):110-116.
作者簡(jiǎn)介:
唐 ?。?978-),男,碩士,高級(jí)工程師,系統(tǒng)分析師.研究領(lǐng)域:軟件工程,系統(tǒng)集成.