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