徐東,黃海艇,肖楠
(工業(yè)互聯(lián)網(wǎng)創(chuàng)新中心(上海)有限公司,上海 200232)
隨著機(jī)械制造業(yè)的快速發(fā)展,機(jī)械生產(chǎn)的合格率由于受到多方面影響而逐漸下降,為了提升產(chǎn)品的合格率,需要加強(qiáng)機(jī)械制造業(yè)生產(chǎn)線加工數(shù)據(jù)的采集。在機(jī)械加工過程中,生產(chǎn)線的運(yùn)行狀態(tài)對(duì)機(jī)械產(chǎn)品質(zhì)量的影響非常關(guān)鍵,因此需要設(shè)計(jì)一種采集系統(tǒng)采集機(jī)械生產(chǎn)線的運(yùn)行數(shù)據(jù)和加工數(shù)據(jù),以此評(píng)估機(jī)械生產(chǎn)線的運(yùn)行狀態(tài)[1-2]。機(jī)械生產(chǎn)線運(yùn)行狀態(tài)采集在MES 平臺(tái)中起著重要的作用,MES 是制造執(zhí)行系統(tǒng),在機(jī)械生產(chǎn)線數(shù)據(jù)采集系統(tǒng)中解決系統(tǒng)硬件和軟件連接上的問題[3-4]。
為了實(shí)現(xiàn)機(jī)械生產(chǎn)線數(shù)據(jù)的采集,相關(guān)學(xué)者對(duì)此問題進(jìn)行了研究。有學(xué)者設(shè)計(jì)了基于LabVIEW的機(jī)械生產(chǎn)線數(shù)據(jù)采集系統(tǒng),在采用LabVIEW 技術(shù)后,通過系統(tǒng)硬件中的射頻芯片對(duì)機(jī)械生產(chǎn)線數(shù)據(jù)進(jìn)行采集,該系統(tǒng)雖實(shí)現(xiàn)了生產(chǎn)線數(shù)據(jù)的實(shí)時(shí)采集,但系統(tǒng)的采集靈敏度較低。有學(xué)者設(shè)計(jì)了基于ZigBee 的機(jī)械生產(chǎn)線嵌入式數(shù)據(jù)采集系統(tǒng),該系統(tǒng)通過ZigBee 技術(shù)實(shí)現(xiàn)了生產(chǎn)線運(yùn)行數(shù)據(jù)的采集,但是在采集時(shí)會(huì)產(chǎn)生很高的誤碼率,同時(shí)也很容易出現(xiàn)丟包問題[5-6]。
為了解決以上出現(xiàn)的問題,該文設(shè)計(jì)了基于MES 平臺(tái)的生產(chǎn)線數(shù)據(jù)自動(dòng)化采集系統(tǒng),該系統(tǒng)設(shè)計(jì)了硬件和軟件環(huán)境,系統(tǒng)硬件主要實(shí)現(xiàn)生產(chǎn)線數(shù)據(jù)的采集、處理和存儲(chǔ),軟件方面給出了系統(tǒng)的采集流程,最后通過實(shí)驗(yàn)驗(yàn)證了該文系統(tǒng)的實(shí)際使用效果。
該文設(shè)計(jì)的基于MES 平臺(tái)的生產(chǎn)線數(shù)據(jù)自動(dòng)化采集系統(tǒng)硬件結(jié)構(gòu)如圖1 所示。
圖1 基于MES平臺(tái)的生產(chǎn)線數(shù)據(jù)自動(dòng)化采集系統(tǒng)硬件結(jié)構(gòu)
數(shù)據(jù)采集器是基于MES 平臺(tái)的生產(chǎn)線數(shù)據(jù)自動(dòng)化采集系統(tǒng)的核心硬件設(shè)備,為提升系統(tǒng)對(duì)生產(chǎn)線數(shù)據(jù)的采集效率和精度,該系統(tǒng)采用STM32F103VE微處理器作為數(shù)據(jù)采集器的核心控制器和數(shù)據(jù)處理器。STM32F103VE單片機(jī)本身集成AD轉(zhuǎn)換器和模數(shù)轉(zhuǎn)換器,其中,模數(shù)轉(zhuǎn)換器的主要功能是對(duì)采集生產(chǎn)線數(shù)據(jù)信號(hào)進(jìn)行分析,確定數(shù)據(jù)處理器的處理方式[7]。數(shù)據(jù)采集器結(jié)構(gòu)如圖2 所示。
圖2 數(shù)據(jù)采集器結(jié)構(gòu)
轉(zhuǎn)換器利用12次逐漸逼近,設(shè)定數(shù)據(jù)傳輸通道共有16 個(gè),單通道的AD 平均數(shù)據(jù)采集時(shí)間為1.17 μs,利用最慢數(shù)據(jù)采集周期設(shè)定時(shí)鐘周期,能夠?qū)⒉杉哪M信號(hào)量轉(zhuǎn)化為數(shù)字信號(hào),大大提升了系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換效率和處理速度。除此之外,該文設(shè)計(jì)的數(shù)據(jù)采集器能夠?qū)Σ杉瘮?shù)據(jù)進(jìn)行基礎(chǔ)的數(shù)據(jù)識(shí)別、數(shù)據(jù)分類等預(yù)處理,針對(duì)部分生產(chǎn)線數(shù)據(jù),可自定義數(shù)據(jù)采集范圍,數(shù)據(jù)采集誤差低于1%[8-9]。
設(shè)定可編程邏輯控制器以及數(shù)字電子設(shè)備,從而替代傳統(tǒng)的大型機(jī)電設(shè)備,其主動(dòng)控制是系統(tǒng)運(yùn)行的核心之一,被廣泛應(yīng)用于我國的工業(yè)控制領(lǐng)域[10-13]??紤]到系統(tǒng)功能的復(fù)雜化,采用STC89C52RC 型微處理器作為PLC 控制器的核心處理器,實(shí)現(xiàn)PLC 控制器低功耗的同時(shí),提升控制器的性能,從而提高PLC 控制器數(shù)據(jù)處理運(yùn)算能力和功能數(shù)量,借助STC89C52RC 型微處理器的8 kB 系統(tǒng)可編程Flash存儲(chǔ)器,利用邏輯運(yùn)算法和定時(shí)時(shí)鐘等操作滿足用戶的控制需求,同時(shí),其較強(qiáng)的可編譯性支持多種語言的運(yùn)行,通過修改運(yùn)行腳本可擴(kuò)展PLC 的控制功能,提升其應(yīng)用的靈活性。PLC 控制器電路圖如圖3 所示。
圖3 PLC控制器電路圖
為解決系統(tǒng)各硬件設(shè)備在數(shù)據(jù)傳輸和通信方面的困難,該文設(shè)計(jì)的數(shù)據(jù)自動(dòng)化采集系統(tǒng)采用國際標(biāo)準(zhǔn)的OPC 接口為現(xiàn)場硬件設(shè)備、應(yīng)用軟件、控制應(yīng)用之間統(tǒng)一的數(shù)據(jù)接口[14-15]。OPC 接口建立在對(duì)象連接和嵌入的基礎(chǔ)上,OPC 接口的應(yīng)用使得系統(tǒng)內(nèi)的每一設(shè)備和服務(wù)器之間能夠自由地通信和連接。每一個(gè)設(shè)備端可看作是OPC 的客戶端,通過連接OPC 接口,可忽略不同設(shè)備間的數(shù)據(jù)存儲(chǔ)格式差異,直接提取設(shè)備信息,這種存在于客戶端和開發(fā)端之間的規(guī)則,使傳輸數(shù)據(jù)對(duì)二者來說是透明的,在這種情況下,開發(fā)者不必了解系統(tǒng)硬件結(jié)構(gòu)和功能,只需考慮接口嵌入和連接需求和數(shù)據(jù)傳輸協(xié)議等。其次,利用OPC 接口建立系統(tǒng)通信網(wǎng)絡(luò)時(shí),一般需對(duì)PLC 控制器進(jìn)行協(xié)議匹配,即在PLC控制器允許的前提下通過特定的組態(tài)完成各設(shè)備端的接口設(shè)計(jì)。
Linux驅(qū)動(dòng)程序移植的關(guān)鍵在于讀懂?dāng)?shù)據(jù)自動(dòng)化采集系統(tǒng)所用操作系統(tǒng)內(nèi)核原有的驅(qū)動(dòng)程序,根據(jù)硬件平臺(tái)的需求和運(yùn)行特性,修改驅(qū)動(dòng)程序代碼,移植RS232 串口,實(shí)現(xiàn)控制臺(tái)的運(yùn)行[16]。針對(duì)該文設(shè)計(jì)的系統(tǒng)硬件平臺(tái),Linux驅(qū)動(dòng)程序移植步驟如圖4 所示。
圖4 Linux驅(qū)動(dòng)程序移植步驟
1)設(shè)定系統(tǒng)操作系統(tǒng),在操作系統(tǒng)中引入arch目錄,在硬件平臺(tái)對(duì)文件進(jìn)行初始化操作。
2)讀懂對(duì)應(yīng)硬件的內(nèi)核驅(qū)動(dòng)程序,了解程序架構(gòu)框架,結(jié)合該文設(shè)計(jì)的硬件設(shè)備的實(shí)際情況進(jìn)行修改,通常情況下,修改只針對(duì)關(guān)鍵性的代碼語句,設(shè)定硬件參數(shù),修改參數(shù)內(nèi)部的源碼driver 目錄。
3)修改系統(tǒng)操作系統(tǒng)內(nèi)核配置目錄,添加相應(yīng)硬件設(shè)備的軟件支持。
Linux 驅(qū)動(dòng)程序開發(fā)是實(shí)現(xiàn)驅(qū)動(dòng)程序從無到有的過程,從本質(zhì)上講,Linux 驅(qū)動(dòng)程序利用系統(tǒng)操作數(shù)據(jù),設(shè)定內(nèi)核,Linux 驅(qū)動(dòng)程序的開發(fā)能夠完善系統(tǒng)對(duì)硬件設(shè)備的控制,實(shí)現(xiàn)種類更多、包含面更廣泛的系統(tǒng)功能。在了解系統(tǒng)硬件原理的基礎(chǔ)上,Linux驅(qū)動(dòng)程序的開發(fā)步驟如圖5 所示。
圖5 Linux驅(qū)動(dòng)程序開發(fā)步驟
首先,了解按鍵驅(qū)動(dòng)程序結(jié)構(gòu)體,明確程序支持所需的文件操作,查看驅(qū)動(dòng)程序源代碼的結(jié)構(gòu)初始化,實(shí)現(xiàn)按鍵打開、按鍵關(guān)閉、按鍵讀取、按鍵測驗(yàn)等基礎(chǔ)按鍵操作。
其次,初始化按鍵驅(qū)動(dòng),卸載key-int 和key-exit函數(shù),初始化按鍵設(shè)備結(jié)構(gòu),調(diào)用module 函數(shù)注冊(cè)初始化函數(shù)。
然后,將編寫完成的驅(qū)動(dòng)程序加入到系統(tǒng)操作系統(tǒng)內(nèi)核源碼中,修改內(nèi)核文件,執(zhí)行編譯操作。
最后,將經(jīng)過配置修改和編譯完成的程序投入硬件平臺(tái)中進(jìn)行運(yùn)行,利用編碼程序分析工作數(shù)據(jù),確定異常數(shù)據(jù),并重新編寫異常數(shù)據(jù),使檢驗(yàn)通過的程序允許運(yùn)行[17]。
為了驗(yàn)證該文設(shè)計(jì)的基于MES 平臺(tái)的生產(chǎn)線數(shù)據(jù)自動(dòng)化采集系統(tǒng)的實(shí)際工作效果,將基于LabVIEW 的機(jī)械生產(chǎn)線數(shù)據(jù)采集系統(tǒng)與該文系統(tǒng)進(jìn)行對(duì)比實(shí)驗(yàn)。
首先對(duì)比兩種系統(tǒng)的反應(yīng)靈敏度。實(shí)驗(yàn)中,選用一部分材料均勻的毛坯,一部分材料不均勻的毛坯,分別在機(jī)械加工生產(chǎn)線上進(jìn)行加工操作,記錄兩種采集系統(tǒng)的機(jī)床主軸振動(dòng)情況。兩種采集系統(tǒng)的對(duì)比結(jié)果如圖6 所示。
圖6 采集系統(tǒng)靈敏度實(shí)驗(yàn)結(jié)果
通過對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析可知,通過兩種系統(tǒng)都可以實(shí)現(xiàn)生產(chǎn)線數(shù)據(jù)的自動(dòng)化采集,但機(jī)床主軸的振動(dòng)情況不同,當(dāng)采用材料均勻的毛坯進(jìn)行加工時(shí),該文系統(tǒng)的機(jī)床主軸振動(dòng)正常,生產(chǎn)線數(shù)據(jù)采集較為順利,而采用基于LabVIEW 的機(jī)械生產(chǎn)線數(shù)據(jù)采集系統(tǒng)中的機(jī)床主軸振動(dòng)出現(xiàn)了一處波動(dòng),造成生產(chǎn)線數(shù)據(jù)采集緩慢,采集的生產(chǎn)線數(shù)據(jù)不完整,這是由于基于LabVIEW 的生產(chǎn)線數(shù)據(jù)采集系統(tǒng)對(duì)毛坯的材料識(shí)別精度較低,反應(yīng)較慢。當(dāng)采用材料不均勻的毛坯進(jìn)行加工時(shí),該文系統(tǒng)的機(jī)床主軸振動(dòng)異常,在機(jī)床剛開始對(duì)毛坯進(jìn)行加工時(shí),機(jī)床異常振動(dòng)一次,在加工的第300 s 時(shí),機(jī)床又異常振動(dòng)一次,在第500 s 時(shí),機(jī)床發(fā)生了較大頻率的振動(dòng),并且機(jī)床上的報(bào)警裝置自動(dòng)報(bào)警,提示機(jī)床中的材料出現(xiàn)問題,需要作出響應(yīng);而基于LabVIEW 的生產(chǎn)線數(shù)據(jù)采集系統(tǒng),機(jī)床只出現(xiàn)了一次異常振動(dòng),并且沒有進(jìn)行及時(shí)報(bào)警,反應(yīng)靈敏度較低,由此可驗(yàn)證該文系統(tǒng)的靈敏度優(yōu)于基于LabVIEW 的生產(chǎn)線數(shù)據(jù)采集系統(tǒng)的靈敏度,這是由于在該文設(shè)計(jì)的生產(chǎn)線數(shù)據(jù)自動(dòng)化采集系統(tǒng)具有MES 平臺(tái),它為采集系統(tǒng)提供了較為完善的生產(chǎn)線數(shù)據(jù)管理系統(tǒng),能夠?qū)崟r(shí)監(jiān)測機(jī)床的振動(dòng)情況,以此判斷機(jī)床生產(chǎn)線的運(yùn)行狀態(tài),可以將生產(chǎn)線的實(shí)時(shí)運(yùn)行狀態(tài)上報(bào)給工作人員,實(shí)現(xiàn)對(duì)生產(chǎn)線運(yùn)行狀態(tài)的監(jiān)測。
基于以上得到的系統(tǒng)靈敏度對(duì)比結(jié)果,對(duì)兩種采集系統(tǒng)的誤碼率和丟包率進(jìn)行對(duì)比實(shí)驗(yàn)。
在生產(chǎn)線數(shù)據(jù)進(jìn)行自動(dòng)化采集的過程中,在采集生產(chǎn)線數(shù)據(jù)時(shí)會(huì)出現(xiàn)誤碼和丟包的情況,這會(huì)影響生產(chǎn)線數(shù)據(jù)的采集效果,造成生產(chǎn)線數(shù)據(jù)的部分丟失,不能保證生產(chǎn)線數(shù)據(jù)的完整性。為了更準(zhǔn)確地對(duì)比出兩種采集系統(tǒng)的誤碼率和丟包率,設(shè)定生產(chǎn)線數(shù)據(jù)的初始采集速率為1.5 pkts/s,使系統(tǒng)同時(shí)采集兩臺(tái)機(jī)床上的生產(chǎn)線數(shù)據(jù),隨著采集速率的不斷提升,記錄兩種采集系統(tǒng)采集生產(chǎn)線數(shù)據(jù)的數(shù)量,通常情況下采集的生產(chǎn)線數(shù)據(jù)越多,數(shù)據(jù)的丟包率越低,其中,誤碼率=數(shù)據(jù)個(gè)數(shù)/采集速率×100%。兩種系統(tǒng)的丟包率對(duì)比結(jié)果如圖7 所示。
圖7 丟包率實(shí)驗(yàn)結(jié)果
通過對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析可知,隨著采集速率的不斷升高,該文系統(tǒng)和基于LabVIEW 的生產(chǎn)線數(shù)據(jù)采集系統(tǒng)采集的數(shù)據(jù)數(shù)量均逐漸升高,兩種系統(tǒng)均出現(xiàn)了誤碼和丟包的現(xiàn)象,但該文設(shè)計(jì)的基于MES 平臺(tái)的生產(chǎn)線數(shù)據(jù)自動(dòng)化采集系統(tǒng)采集的生產(chǎn)線數(shù)據(jù)數(shù)量要遠(yuǎn)遠(yuǎn)高于基于LabVIEW 的生產(chǎn)線數(shù)據(jù)采集系統(tǒng)采集的數(shù)據(jù)量,在任何一個(gè)采集速率下,數(shù)據(jù)量都較高,因此該文系統(tǒng)的丟包率低于基于LabVIEW 的生產(chǎn)線數(shù)據(jù)采集系統(tǒng)的丟包率,通過對(duì)誤碼率的計(jì)算,可得出該文系統(tǒng)的誤碼率低于基于LabVIEW 的生產(chǎn)線數(shù)據(jù)采集系統(tǒng)的誤碼率,說明該文系統(tǒng)的采集效果更好,可以采集更多的生產(chǎn)線數(shù)據(jù)。
綜上所述,該文設(shè)計(jì)的基于MES 平臺(tái)的生產(chǎn)線數(shù)據(jù)自動(dòng)化采集系統(tǒng)優(yōu)于基于LabVIEW 的生產(chǎn)線數(shù)據(jù)采集系統(tǒng),該文系統(tǒng)的采集靈敏度更好,數(shù)據(jù)的丟包率和誤碼率更低,采集效果更佳。
綜上所述,該文為了了解生產(chǎn)線情況、確定生產(chǎn)線內(nèi)部的管理水平、確保生產(chǎn)效率可以得到提高,利用硬件對(duì)數(shù)據(jù)進(jìn)行采集,設(shè)置軟件程序執(zhí)行硬件操作,最后通過對(duì)比實(shí)驗(yàn)驗(yàn)證了該文設(shè)計(jì)的基于MES平臺(tái)的生產(chǎn)線數(shù)據(jù)自動(dòng)化采集系統(tǒng)優(yōu)于基于LabVIEW 的生產(chǎn)線數(shù)據(jù)采集系統(tǒng),具有一定的應(yīng)用價(jià)值。