曹明瑞 丁嘉輝 王子良 唐大衛(wèi) 劉玲 劉白雪
遼寧科技大學(xué)電子與信息工程學(xué)院,中國·遼寧 鞍山 114051
LabVIEW 是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā),類似于C 和BASIC 開發(fā)環(huán)境,但是Lab-VIEW 與其他計(jì)算機(jī)語言的顯著區(qū)別是:其他計(jì)算機(jī)語言都是采用了文本式的代碼,而LabVIEW 使用的是圖形化語言,也被叫做G 語言,程序是由框圖的形式編寫,它擁有一個(gè)完成任何編程任務(wù)的龐大函數(shù)庫。LabVIEW 的函數(shù)庫有數(shù)據(jù)采集、GPIB、串口控制、數(shù)據(jù)分析、顯示及數(shù)據(jù)存儲等等。LabVIEW 也有傳統(tǒng)的程序調(diào)試工具,便于程序的調(diào)試。Lab-VIEW 是一種圖形化的編程語言的開發(fā)環(huán)境,目前它已經(jīng)廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,視為一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件,并且已經(jīng)擁有了許多書籍提供學(xué)習(xí)參考[1]。論文通過結(jié)合經(jīng)典狀態(tài)機(jī)框架和其他框架,制作成上位機(jī),以達(dá)到智能高效目的。
在工業(yè)測量領(lǐng)域,尤其是鋼廠產(chǎn)品檢測方面,以往傳統(tǒng)的檢測方式是需要工人對產(chǎn)品檢測得出的數(shù)據(jù)進(jìn)行記錄并人工比對,由于檢測的產(chǎn)品數(shù)量往往很多,耗費(fèi)人力也浪費(fèi)鋼廠的財(cái)力,而且檢測效率極低,沒有實(shí)時(shí)性。為滿足上述需求,利用下位機(jī)卡尺檢測數(shù)據(jù),并多卡尺同時(shí)傳送數(shù)據(jù),即實(shí)現(xiàn)一對多或多對一功能,傳輸?shù)缴衔粰C(jī)進(jìn)行數(shù)據(jù)比對,數(shù)據(jù)處理,方便檢測員或老板復(fù)檢[2]。
論文提出基于無線通信的多卡尺數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)上位機(jī)的設(shè)計(jì)方案。論文重點(diǎn)解決以下幾點(diǎn)問題:
(1)上位機(jī)的總體框架設(shè)計(jì)。
(2)上位機(jī)數(shù)據(jù)處理及應(yīng)用方案。
(3)上位機(jī)數(shù)據(jù)庫處理方案。
狀態(tài)機(jī)是LabVIEW 中的一種高效的編程模式,在While循環(huán)中加入枚舉控件,通過自定義枚舉控件,讓系統(tǒng)處于不同狀態(tài)時(shí)做出該狀態(tài)的工作,通過While 循環(huán)的嵌套讓系統(tǒng)進(jìn)行不間斷的狀態(tài)判斷跳躍工作,數(shù)據(jù)通過移位寄存器儲存,最后發(fā)送到數(shù)據(jù)處理模塊,達(dá)到高效,迅速,簡單的編程模式。而創(chuàng)建LabVIEW 狀態(tài)機(jī)包含四個(gè)基本執(zhí)行元素:
(1)While 循環(huán)-執(zhí)行多個(gè)迭代直至符合停止條件。
(2)條件結(jié)構(gòu)-包含表示狀態(tài)機(jī)每個(gè)狀態(tài)的特殊代碼。
(3)狀態(tài)枚舉-定義狀態(tài)機(jī)的所有狀態(tài)。
(4)移位寄存器-包含在當(dāng)前迭代中執(zhí)行的前一個(gè)迭代指定的狀態(tài)。
基于無線通信的多卡尺數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)采用了經(jīng)典的狀態(tài)機(jī)系統(tǒng)框架,本系統(tǒng)通過經(jīng)典狀態(tài)機(jī)系統(tǒng)改良,以測量三個(gè)測量點(diǎn)為模型創(chuàng)建了6 個(gè)自定義狀態(tài):初始化、等待、測量點(diǎn)A、測量點(diǎn)B、測量點(diǎn)C、結(jié)束。通過下位機(jī)卡尺數(shù)據(jù)上傳,上位機(jī)進(jìn)行對測量點(diǎn)狀態(tài)跳轉(zhuǎn),進(jìn)入測量點(diǎn)狀態(tài)通過數(shù)據(jù)對比模塊判斷,再通過狀態(tài)燈的狀態(tài)顯示是否合格,達(dá)到數(shù)據(jù)狀態(tài)跳轉(zhuǎn)效果,數(shù)據(jù)通過移位寄存器儲存,然后送入數(shù)據(jù)處理分析模塊,將數(shù)據(jù)簡單應(yīng)用計(jì)算,數(shù)據(jù)處理上傳數(shù)據(jù)庫,結(jié)束后通過波形圖方式,觀察標(biāo)準(zhǔn)差波形圖可以可視化觀察數(shù)據(jù)是否合格以及偏差狀況。
基于無線通信的多卡尺數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)系統(tǒng)圖如圖1所示:
圖1 游標(biāo)卡尺控制系統(tǒng)圖
LabVIEW 經(jīng)典狀態(tài)機(jī)系統(tǒng)框架[3]如圖2所示:
圖2 LabVIEW 經(jīng)典狀態(tài)機(jī)系統(tǒng)框架
通過模擬測量數(shù)據(jù)為三個(gè)點(diǎn),建立一個(gè)三個(gè)點(diǎn)的系統(tǒng)模型,達(dá)到檢測三個(gè)測量點(diǎn)的數(shù)據(jù)采集傳輸,數(shù)據(jù)比對,數(shù)據(jù)計(jì)算,數(shù)據(jù)處理,數(shù)據(jù)庫建立,數(shù)據(jù)偏離波形圖等功能模塊,建立其以上功能模塊界面,并且通過模塊指示燈可以指示模塊使用與否狀態(tài),通訊指示燈用于指示上位機(jī)和模塊間的通訊狀態(tài),再建立其輔助按鈕進(jìn)行各模塊化運(yùn)行。具體上位機(jī)界面如圖3所示:
圖3 多卡尺數(shù)據(jù)采集系統(tǒng)上位機(jī)界面
首先建立合格率自定義輸入框,數(shù)據(jù)采集后通過自定義合格率進(jìn)行數(shù)據(jù)計(jì)算,通過數(shù)據(jù)比對模塊進(jìn)行計(jì)算比對,在狀態(tài)機(jī)框架下進(jìn)行循環(huán)工作。數(shù)據(jù)比對模塊部分界面如圖4所示:
圖4 數(shù)據(jù)比對模塊部分界面
在工業(yè)現(xiàn)場,檢測其元器件時(shí)通常要求計(jì)算周長,面積,體積等指標(biāo)。本系統(tǒng)通過While 循環(huán)與條件循環(huán)嵌套,在數(shù)據(jù)采集及計(jì)算按鈕輔助下進(jìn)行計(jì)算。部分簡單輔助功能如圖5所示。
圖5 圓形(球)型的應(yīng)用簡單計(jì)算界面
由于積累數(shù)據(jù)過于龐大,在工廠里各數(shù)據(jù)都需要人工進(jìn)行測量、統(tǒng)計(jì)、計(jì)算,耗費(fèi)人力,基于上位機(jī)系統(tǒng),為了達(dá)到實(shí)時(shí)監(jiān)測數(shù)據(jù)合格程度與偏離程度,通過數(shù)據(jù)處理以波形圖形式呈現(xiàn)實(shí)時(shí)數(shù)據(jù)偏離程度,并且實(shí)時(shí)記錄數(shù)據(jù)日志。此功能基于通過狀態(tài)機(jī)框架,通過狀態(tài)跳轉(zhuǎn),各個(gè)測量點(diǎn)獨(dú)立建立波形圖,通過選項(xiàng)卡整合到一起,達(dá)到實(shí)時(shí)觀看效果。部分?jǐn)?shù)據(jù)偏離可視圖功能如圖6所示:
圖6 數(shù)據(jù)偏離可視圖功能界面
由于工廠中生產(chǎn)數(shù)據(jù)過于龐大,各數(shù)據(jù)都需要人工進(jìn)行測量、統(tǒng)計(jì)、計(jì)算,耗費(fèi)人力,為了解決數(shù)據(jù)記錄功能,基于DB Tools Insert Data VI 互通接口功能與Microsoft office Access 數(shù)據(jù)庫軟件結(jié)合[4],再基于狀態(tài)機(jī)框架,將數(shù)據(jù)表格和數(shù)據(jù)庫功能置于數(shù)據(jù)等待區(qū),在每一組數(shù)據(jù)工作結(jié)束后進(jìn)行上傳及顯示,并且在數(shù)據(jù)表格及數(shù)據(jù)庫中也明確標(biāo)明了時(shí)間,工作人員編號,測量點(diǎn)數(shù)據(jù),測量點(diǎn)是否合格的實(shí)時(shí)數(shù)據(jù),能讓檢測人員通過訪問Microsoft office Access 數(shù)據(jù)庫時(shí)利用搜索排除功能達(dá)到檢測不合格的零件。數(shù)據(jù)表格與數(shù)據(jù)庫功能如圖7所示。
圖7 數(shù)據(jù)表格與數(shù)據(jù)庫功能界面
由于下位機(jī)通過了使用串口進(jìn)行數(shù)據(jù)讀取,并通過WiFi無線模塊將數(shù)據(jù)傳至pc 終端,則利用LabVIEW 的TCP/IP打開數(shù)據(jù)模塊,TCP/IP 讀取數(shù)據(jù)模塊,TCP/IP 寫入數(shù)據(jù)模塊和TCP/IP 關(guān)閉數(shù)據(jù)模塊,連接組合構(gòu)成經(jīng)典LabVIEW TCP/IP 通訊模塊,便可以建立起下位機(jī)對上位機(jī)傳輸數(shù)據(jù)。TCP/IP 通訊界面如圖8所示:
圖8 TCP/IP 通訊界面
上位機(jī)和下位機(jī)在獨(dú)立編寫完成之后,對其進(jìn)行實(shí)地通訊調(diào)試。
利用下位機(jī)與游標(biāo)卡尺結(jié)合對所測鋼管進(jìn)行數(shù)據(jù)采集,將采集的數(shù)據(jù)由游標(biāo)卡尺通過串口轉(zhuǎn)WiFi 形式,將數(shù)據(jù)傳至PC 上位機(jī)終端。上位機(jī)通過接收數(shù)據(jù)后進(jìn)行校驗(yàn)比對,數(shù)據(jù)處理,數(shù)據(jù)分析并進(jìn)行數(shù)據(jù)表格整理歸納。
實(shí)驗(yàn)表明上位機(jī)能和下位機(jī)能穩(wěn)定通訊、上位機(jī)能穩(wěn)定工作,上位機(jī)能穩(wěn)定快速控制下位機(jī)無線采集模塊,上位機(jī)能穩(wěn)定的讀取、存儲下位機(jī)傳回的實(shí)驗(yàn)采集數(shù)據(jù)。
上位機(jī)流程圖如圖9所示[5]:
論文實(shí)現(xiàn)基于無線通信多卡尺的數(shù)據(jù)采集系統(tǒng)的上位機(jī)系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了一對多或多對一的無線數(shù)據(jù)傳輸,以及數(shù)據(jù)比對,數(shù)據(jù)處理,數(shù)據(jù)分析等功能,完成了對整個(gè)無線數(shù)據(jù)采集系統(tǒng)調(diào)試運(yùn)行工作?;跓o線通信多卡尺的數(shù)據(jù)采集系統(tǒng)的上位機(jī)系統(tǒng),通過下位機(jī)的數(shù)據(jù)采集,以TCP/IP通訊方式傳輸給上位機(jī),上位機(jī)進(jìn)行對其數(shù)據(jù)比對,數(shù)據(jù)處理,數(shù)據(jù)分析,數(shù)據(jù)庫表歸納等功能,將不合格產(chǎn)品自動(dòng)報(bào)警,相對于人工檢測,大大降低了誤判幾率,大幅度提高了工作效率,系統(tǒng)工作完成后的數(shù)據(jù)庫表格考研方便后續(xù)測量人員測量檢查。