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