王 萌,閆 磊
(1.南陽(yáng)理工學(xué)院數(shù)理學(xué)院,河南南陽(yáng) 473004;2.南陽(yáng)理工學(xué)院智能制造學(xué)院,河南南陽(yáng) 473004;3.南陽(yáng)市先進(jìn)制造技術(shù)重點(diǎn)實(shí)驗(yàn)室,河南南陽(yáng) 473004)
工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)采集技術(shù)所采集的數(shù)據(jù),為制造執(zhí)行系統(tǒng)(MES)提供實(shí)時(shí)、詳細(xì)的現(xiàn)場(chǎng)信息,為生產(chǎn)決策、調(diào)度、設(shè)備監(jiān)控提供可靠依據(jù)[1]。數(shù)控機(jī)床是制造業(yè)生產(chǎn)車間的基礎(chǔ)設(shè)備,機(jī)床運(yùn)行數(shù)據(jù)及現(xiàn)場(chǎng)生產(chǎn)數(shù)據(jù)是車間信息化的基礎(chǔ),是發(fā)展智能制造的關(guān)鍵環(huán)節(jié)[2]。主軸是數(shù)控設(shè)備的關(guān)鍵部件,其工作性能決定了機(jī)床運(yùn)行狀況的好壞。主軸負(fù)載的頻繁波動(dòng)將會(huì)降低主軸的壽命和加速刀具磨損,一定程度上制約了零件質(zhì)量和加工效率[3]。
工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)采集技術(shù)主要有:手工采集、半自動(dòng)采集、自動(dòng)采集等[4]。針對(duì)數(shù)控設(shè)備,現(xiàn)場(chǎng)采集數(shù)據(jù)的方法主要有PLC 信號(hào)點(diǎn)法、宏程序法、DNC 接口法、網(wǎng)絡(luò)接口及OPC規(guī)范法等。上述方法盡管能實(shí)現(xiàn)數(shù)控設(shè)備現(xiàn)場(chǎng)數(shù)據(jù)采集,但是仍然存在或多或少的缺點(diǎn)。PLC 限號(hào)電法雖然不受數(shù)控系統(tǒng)類型限制,但是采集信號(hào)少,不能訪問(wèn)數(shù)控系統(tǒng)內(nèi)部信息。宏程序法在NC程序中編寫代碼實(shí)現(xiàn)對(duì)數(shù)控設(shè)備不同信息的采集,但是需要主控設(shè)備支持用戶使用宏程序,且采集狀態(tài)信息類型有限[5]。DNC 接口法可采集信息量大,數(shù)據(jù)類型多,但是數(shù)控廠商對(duì)DNC接口的訪問(wèn)都設(shè)置了技術(shù)障礙,必須使用廠商自己的系統(tǒng)軟件才能采集[6]。
OPC 法基于同一的接口、方法、數(shù)據(jù)格式,降低了設(shè)備間的數(shù)據(jù)不兼容和集成開(kāi)發(fā)成本,但是OPC開(kāi)發(fā)依賴于Window 平臺(tái),且只能依賴設(shè)備供應(yīng)商提供的Server,靈活性受限。另外,多數(shù)數(shù)控設(shè)備不提供OPC服務(wù)[7]。
針對(duì)以上數(shù)控設(shè)備采集方法存在的問(wèn)題,基于軟件二次開(kāi)發(fā)的方法越來(lái)越引起研究者的興趣。高端數(shù)控系統(tǒng)都會(huì)提供針對(duì)本系統(tǒng)的開(kāi)發(fā)包,開(kāi)發(fā)人員基于此進(jìn)行二次開(kāi)發(fā),可以方便地開(kāi)發(fā)軟件實(shí)現(xiàn)與數(shù)控系統(tǒng)的通信?;谲浖伍_(kāi)發(fā)的方法,可以采集較為全面的數(shù)據(jù),還可以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控[8]。
FOCAS開(kāi)發(fā)包是FANUC數(shù)控系統(tǒng)提供的針對(duì)具備以太網(wǎng)功能的硬件系統(tǒng)的數(shù)據(jù)采集接口[9]。該開(kāi)發(fā)包提供了以下功能,對(duì)數(shù)控機(jī)床主軸、伺服軸相關(guān)信息的讀寫;實(shí)現(xiàn)對(duì)零部件加工程序的所有操作,程序錄入、調(diào)試等;操作CNC 內(nèi)部各種數(shù)據(jù)文件,如刀具偏置、工件坐標(biāo)偏置等;訪問(wèn)用戶操作歷史等。本文基于FOCAS 開(kāi)發(fā)接口,設(shè)計(jì)開(kāi)發(fā)針對(duì)FANUC 數(shù)控系統(tǒng)數(shù)據(jù)采集與主軸負(fù)載監(jiān)視系統(tǒng),實(shí)現(xiàn)對(duì)FANUC 數(shù)控系統(tǒng)機(jī)床的機(jī)床坐標(biāo)、絕對(duì)坐標(biāo)、相對(duì)坐標(biāo)、加工信息、主軸實(shí)時(shí)數(shù)據(jù)采集等功能,為實(shí)現(xiàn)MES 系統(tǒng)打下堅(jiān)實(shí)基礎(chǔ)。
現(xiàn)如今Visual Studio 2017 是較為常用的集成開(kāi)發(fā)環(huán)境,C#改進(jìn)并創(chuàng)新了版本的轉(zhuǎn)換功能、事件及垃圾的回收功能等,另外.NET框架具有豐富的類庫(kù),能有效減少程序的開(kāi)發(fā)周期。本系統(tǒng)基于FOCAS 應(yīng)用開(kāi)發(fā)接口,使用C#編程語(yǔ)言,VisualStudio2017作為開(kāi)發(fā)環(huán)境。
本系統(tǒng)基于FOCAS實(shí)現(xiàn)了絕對(duì)坐標(biāo)、相對(duì)坐標(biāo)、機(jī)械坐標(biāo)、刀具號(hào)、進(jìn)給速度、主軸轉(zhuǎn)速、主軸負(fù)載、加工信息等數(shù)據(jù)的實(shí)時(shí)采集。由于大部分信息為動(dòng)態(tài)信息,隨時(shí)間變化很快,為了提高數(shù)據(jù)采集速度,本系統(tǒng)采用多線程技術(shù)。主線程負(fù)責(zé)界面顯示,用于更新界面顯示信息;數(shù)據(jù)采集線程用于采集數(shù)據(jù),由定時(shí)器觸發(fā)。數(shù)據(jù)采集線程作為本系統(tǒng)的核心線程,其主要工作步驟為定時(shí)器定時(shí)觸發(fā)、與機(jī)床實(shí)現(xiàn)連接、調(diào)用FOCAS接口逐個(gè)采集對(duì)應(yīng)數(shù)據(jù)、更新數(shù)據(jù)到界面、持久化數(shù)據(jù)、斷開(kāi)連接。整個(gè)系統(tǒng)流程如圖1所示。
圖1 系統(tǒng)工作流程圖
軟件界面是實(shí)現(xiàn)人機(jī)交互的有效手段,為方便用戶操作本采集系統(tǒng),基于.NET WinForm 框架設(shè)計(jì)實(shí)現(xiàn)了圖2 所示交互界面。該交互界面包括坐標(biāo)數(shù)據(jù)顯示、刀具主軸信息顯示、系統(tǒng)信息顯示、連接/斷開(kāi)等操作區(qū)?!斑B接”按鈕實(shí)現(xiàn)連接到機(jī)床并開(kāi)始采集數(shù)據(jù),“斷開(kāi)”按鈕實(shí)現(xiàn)停止采集。
圖2 人機(jī)交互界面
采集軟件與數(shù)控系統(tǒng)的通信連接是采集一切數(shù)據(jù)的前提,基于FOCAS開(kāi)發(fā)接口,本文封裝了Connect函數(shù)。該函數(shù)以機(jī)床IP 地址、端口號(hào)、超時(shí)時(shí)間為參數(shù),函數(shù)實(shí)現(xiàn)如圖3所示。
圖3 Connect函數(shù)實(shí)現(xiàn)
數(shù)據(jù)采集函數(shù)由定時(shí)器觸發(fā)調(diào)用,定時(shí)器啟動(dòng)后,每隔固定的時(shí)間會(huì)觸發(fā)調(diào)用一次采集函數(shù),采集函數(shù)負(fù)責(zé)采集所有需要的數(shù)據(jù)。定時(shí)器觸發(fā)函數(shù)如圖4所示。
圖4 Timer_Tick函數(shù)實(shí)現(xiàn)
Read函數(shù)針對(duì)不同的采集數(shù)據(jù)需求,封裝調(diào)用了FOCAS開(kāi)發(fā)庫(kù)的對(duì)應(yīng)函數(shù);另外,界面更新、數(shù)據(jù)持久化等功能的實(shí)現(xiàn)限于篇幅,不再贅述。
基于所開(kāi)發(fā)的Fanuc 數(shù)控系統(tǒng)數(shù)據(jù)采集軟件,基于GLS-2000LY車銑復(fù)合機(jī)床,進(jìn)行了數(shù)據(jù)采集實(shí)驗(yàn),并針對(duì)主軸負(fù)載進(jìn)行了監(jiān)視。該機(jī)床使用Fanuc數(shù)控系統(tǒng)。本次實(shí)驗(yàn)分兩組進(jìn)行實(shí)驗(yàn),非加工狀態(tài)和加工狀態(tài),其中加工狀態(tài)分為加工尼龍棒和45#鋼,加工過(guò)程如圖5所示。
圖5 加工過(guò)程
針對(duì)加工尼龍棒和加工45#鋼兩種材質(zhì)的零件,分別進(jìn)行了主軸負(fù)載與轉(zhuǎn)速監(jiān)控,并采集了對(duì)應(yīng)數(shù)據(jù)。兩種加工條件下主軸轉(zhuǎn)速、主軸負(fù)載隨時(shí)間變化如圖6、圖7 所示??梢钥闯?,分別加工尼龍棒與鋼件時(shí),在刀具的進(jìn)給速度和主軸轉(zhuǎn)速大小相同的條件下,鋼件的主軸負(fù)載相對(duì)較大一些,負(fù)載變化更加劇烈,很好地實(shí)現(xiàn)了對(duì)機(jī)床負(fù)載的監(jiān)控,避免因主軸負(fù)載頻繁波動(dòng)而造成的刀具磨損、加工質(zhì)量下降。
圖6 加工尼龍棒主軸負(fù)載與轉(zhuǎn)速關(guān)系
圖7 加工45#鋼主軸負(fù)載與轉(zhuǎn)速關(guān)系
本文針對(duì)FANUC 數(shù)控系統(tǒng)機(jī)床,基于FOCAS 軟件開(kāi)發(fā)SDK,設(shè)計(jì)開(kāi)發(fā)了數(shù)據(jù)采集與主軸負(fù)載監(jiān)控系統(tǒng)。在此基礎(chǔ)上,針對(duì)實(shí)際加工過(guò)程進(jìn)行數(shù)據(jù)采集實(shí)驗(yàn),并對(duì)不同材料主軸負(fù)載變化情況進(jìn)行了監(jiān)控、分析。實(shí)現(xiàn)了車間數(shù)控設(shè)備的數(shù)據(jù)采集,為開(kāi)發(fā)MES 系統(tǒng)奠定基礎(chǔ)。目前,該軟件已經(jīng)用于南陽(yáng)理工學(xué)院南陽(yáng)市先進(jìn)制造實(shí)驗(yàn)室數(shù)控設(shè)備,作為MES系統(tǒng)數(shù)控設(shè)備數(shù)據(jù)采集的一部分。