摘要:為實現(xiàn)不同廠商、不同品牌數(shù)控系統(tǒng)及不同通信接口的機床數(shù)據(jù)采集,研究探討一種車間數(shù)控機床規(guī)?;瘮?shù)據(jù)采集的方法,通過直接與NCDDE服務(wù)器進行DDE會話建立通信的方式來獲取所需的機床系統(tǒng)數(shù)據(jù)。設(shè)計大數(shù)據(jù)采集工具MDA,嵌入機床,采用DDE技術(shù)與NCDDE服務(wù)器實時交互,獲取NC/PLC系統(tǒng)數(shù)據(jù),采集坐標(biāo)位置、移動速度、進給倍率,負(fù)載、電壓、電流、扭矩,刀具壽命、尺寸、磨損等數(shù)據(jù)。數(shù)采工具MDA和數(shù)據(jù)處理單元Gateway通信,Gateway將接收并處理采集的數(shù)據(jù),借助數(shù)據(jù)緩存文件上傳至數(shù)據(jù)庫中進行存儲。數(shù)據(jù)處理和緩存的系統(tǒng)性能損耗全部轉(zhuǎn)移至數(shù)據(jù)庫服務(wù)器端。
關(guān)鍵詞:數(shù)據(jù)采集;MDA;DDE;Gateway
0? ? 引言
近年來,隨著生產(chǎn)車間自動化水平的不斷提升,企業(yè)對生產(chǎn)效率的要求也越來越高。尤其是國內(nèi)互聯(lián)網(wǎng)大數(shù)據(jù)分析技術(shù)的蓬勃發(fā)展,迫切要求制造車間能夠提升信息化管理水平,為車間透明化生產(chǎn)提供助益。對于機加行業(yè)的生產(chǎn)管理者來說,刀具管理一直是一項非常重要的工作內(nèi)容。刀具的使用與保養(yǎng)、刀具如何快速更換、如何減少斷刀故障、刀具成本核算等一直是企業(yè)管理者關(guān)心的重要課題,特別是對于生產(chǎn)昂貴產(chǎn)品(諸如汽車發(fā)動機、變速箱等)的制造企業(yè),其往往高價購買進口機床,機床生產(chǎn)相對穩(wěn)定,故障率低,使用高可靠性刀具以及減少換刀時間可帶來明顯的經(jīng)濟效益。這些相關(guān)課題的深入研究都需要以從機床系統(tǒng)采集大量數(shù)據(jù)為基礎(chǔ)。
在機加生產(chǎn)企業(yè)的車間現(xiàn)場,一般都會有來自不同廠商品牌的機床,使用的數(shù)控系統(tǒng)也不盡相同,同品牌的數(shù)控系統(tǒng)也存在因產(chǎn)品的更新迭代造成的系統(tǒng)通信接口差異很大……種種因素為車間信息化之路帶來了不少阻力。
針對這一現(xiàn)狀,本文研究探討一種車間數(shù)控機床規(guī)?;瘮?shù)據(jù)采集的方法。結(jié)合課題實際情況,借助于局域網(wǎng),實現(xiàn)計算機與車間50臺西門子840D/840D SL數(shù)據(jù)系統(tǒng)的通信,遠程采集數(shù)控系統(tǒng)的相關(guān)坐標(biāo)位置、軸負(fù)載參數(shù)、刀具等信息,并實現(xiàn)數(shù)據(jù)的實時穩(wěn)定存儲,為后續(xù)借助互聯(lián)網(wǎng)平臺實現(xiàn)大數(shù)據(jù)分析提供數(shù)據(jù)支撐。
1? ? 西門子840D/840D SL數(shù)控系統(tǒng)采集方式簡介
西門子840D系統(tǒng)是20世紀(jì)90年代推出的高性能數(shù)控系統(tǒng),采用Windows XP作為操作系統(tǒng),擁有比同時期一般數(shù)控系統(tǒng)更好的人機交互和上層應(yīng)用能力。接口相對豐富,但不支持OPC UA等現(xiàn)在應(yīng)用較廣的數(shù)據(jù)采集方式。840D SL系統(tǒng)則是近年來西門子主流的高性能數(shù)控系統(tǒng),接口豐富,支持OPC UA等近來使用較廣泛的數(shù)據(jù)通信方式。基于本文研究實際情況,為統(tǒng)一數(shù)采方式,OPC UA的采集方式不做討論。目前常見的幾種采集840D/840D SL系統(tǒng)數(shù)據(jù)的方式如圖1所示。
(1)通過PLC方式采集。將所需的NC變量通過西門子軟件NC-Var-Selector提取,生成PLC程序可識別的*.awl的源文件,然后再通過PLC編程塊FB2編程,讀寫NC變量。
這種方式存在的問題是,如果存在大量數(shù)據(jù)在NC/PLC之間交換,容易出現(xiàn)通信數(shù)據(jù)堵塞的情況,對機床的運行性能產(chǎn)生影響。
(2)通過NCDDE方式采集。840D和840D SL控制器中包含一個叫做NCDDE的數(shù)據(jù)通信接口程序,可通過編寫動態(tài)數(shù)據(jù)交換(DDE)通信程序,實現(xiàn)對數(shù)控系統(tǒng)數(shù)據(jù)的采集。這是一種早期的Windows操作系統(tǒng)用戶程序間的動態(tài)數(shù)據(jù)交換技術(shù)。用戶可通過自定義的運行程序與NC系統(tǒng)運行的程序?qū)崿F(xiàn)通信,交換所需的數(shù)據(jù)。
在常見的監(jiān)控方式中也普遍采用的是數(shù)據(jù)采集工具直接與NCDDE服務(wù)器進行通信或通過Visual Basic控制組件DCTL控制器開發(fā)用戶程序與NCDDE服務(wù)器進行通信,來獲得數(shù)控系統(tǒng)NC/PLC數(shù)據(jù)。
本文即通過直接與NCDDE服務(wù)器進行DDE會話建立通信的方式來獲取所需的機床系統(tǒng)數(shù)據(jù)。
2? ? 數(shù)據(jù)采集內(nèi)容與要求
2.1? ? 數(shù)據(jù)的實時性、準(zhǔn)確性與穩(wěn)定性
對于實時采集的數(shù)據(jù),以1 s的采集周期采集所需數(shù)據(jù)。對于更新速率較低的數(shù)據(jù),如刀具相關(guān)值,可采用2 min的采集周期。
采集數(shù)據(jù)應(yīng)與實際值正確關(guān)聯(lián)對應(yīng),避免不同軸的數(shù)據(jù)錯位情形;采集的穩(wěn)定性方面,要求日數(shù)據(jù)丟失率不高于0.1%。
2.2? ? 數(shù)據(jù)歸檔要求
對于重要的分析數(shù)據(jù)如各伺服軸和主軸功率、負(fù)載、電流,主軸溫度,刀具等,需要做歸檔處理;對于實時監(jiān)控用的數(shù)據(jù)如軸的速度、坐標(biāo)等值,可僅做實時呈現(xiàn),不做存儲。
2.3? ? 采集的數(shù)據(jù)內(nèi)容
所有伺服軸、主軸的相關(guān)數(shù)據(jù),刀具的相關(guān)數(shù)據(jù)。具體如下:
(1)軸數(shù)據(jù):坐標(biāo)位置、移動速度、進給倍率等;
(2)驅(qū)動數(shù)據(jù):負(fù)載、電壓、電流、扭矩等;
(3)刀具數(shù)據(jù):刀具壽命、尺寸、磨損值等。
3? ? 數(shù)據(jù)采集架構(gòu)設(shè)計
本文設(shè)計大數(shù)據(jù)采集工具MDA,嵌入機床,采用DDE技術(shù)與NCDDE服務(wù)器實時交互,獲取NC/PLC系統(tǒng)數(shù)據(jù),具體采集架構(gòu)如圖2所示。MDA采集數(shù)據(jù)后,發(fā)送給Gateway網(wǎng)關(guān)。Gateway是數(shù)據(jù)采集網(wǎng)關(guān),負(fù)責(zé)將采集的數(shù)據(jù)處理后存儲至數(shù)據(jù)庫。數(shù)據(jù)庫采用Oracle數(shù)據(jù)庫。
3.1? ? DDE技術(shù)簡介
DDE是一種動態(tài)數(shù)據(jù)交換機制,它采用Windows內(nèi)部通信機制,使用共享內(nèi)存在程序之間交換數(shù)據(jù),一個應(yīng)用程序中的數(shù)據(jù),可通過DDE服務(wù)器自動更新至另一個應(yīng)用程序。
DDE協(xié)議采用三層識別系統(tǒng):服務(wù)名(service)、主題名(topic)、項目名(item),兩個程序間DDE通信稱為“DDE會話”(即進行數(shù)據(jù)交換活動),通常提供數(shù)據(jù)源的一方稱之為服務(wù)器應(yīng)用程序(服務(wù)器),獲取數(shù)據(jù)的一方稱之為客戶應(yīng)用程序(客戶)。服務(wù)器應(yīng)用程序應(yīng)首先運行,再由客戶應(yīng)用程序啟動,發(fā)起會話。如表1所示,客戶應(yīng)用程序可通過三種鏈接方式進行數(shù)據(jù)交換:冷鏈接(Cold Link)、溫鏈接(Warm Link)和熱鏈接(Hot Link)。
3.2? ? 數(shù)據(jù)采集框架設(shè)計
數(shù)采工具MDA和數(shù)據(jù)處理單元Gateway的通信與設(shè)計是本課題實現(xiàn)的核心。
如圖3所示,數(shù)據(jù)采集及存儲主要有兩種思路:
(1)思路一:考慮MDA直接與數(shù)據(jù)庫進行通信,存儲數(shù)據(jù),在機床設(shè)置緩存機制,確保數(shù)據(jù)庫異常的情況下,也不致引起數(shù)據(jù)丟失。但這種方式存在的問題是,數(shù)據(jù)的采集及處理全部放置在機床端,對系統(tǒng)資源占用率較高,會影響到系統(tǒng)性能,給生產(chǎn)帶來安全隱患。
(2)思路二:MDA僅負(fù)責(zé)數(shù)據(jù)采集和轉(zhuǎn)發(fā),設(shè)計數(shù)據(jù)處理網(wǎng)關(guān)Gateway將接收并處理采集的數(shù)據(jù),最后借助數(shù)據(jù)緩存文件上傳至數(shù)據(jù)庫中進行存儲。數(shù)據(jù)處理和緩存的系統(tǒng)性能損耗全部轉(zhuǎn)移至數(shù)據(jù)庫服務(wù)器端,這可通過選擇高性能的服務(wù)器解決服務(wù)器資源消耗的問題。
MDA和Gateway各自負(fù)責(zé)的內(nèi)容如圖4所示。
其中Socket傳輸?shù)膱笪脑O(shè)計按照【報文頭+數(shù)據(jù)】格式,報文頭設(shè)計有【時間戳+數(shù)據(jù)源地址+報文類型+后續(xù)長度】,這樣在報文數(shù)據(jù)解析時,時間戳來自機床,可確保數(shù)據(jù)采集時間的準(zhǔn)確性,在部署前應(yīng)啟用Windows時間同步的功能。
3.3? ? 數(shù)采工具MDA開發(fā)設(shè)計
MDA通過DDE技術(shù)訪問840D的NCDDE服務(wù)器讀取機床NC數(shù)據(jù)和PLC數(shù)據(jù),集成Socket通信的相關(guān)組件,生成數(shù)據(jù)傳送的報文發(fā)送給Gateway。MDA采用VB編程開發(fā),生成可執(zhí)行文件,嵌入至840D系統(tǒng)中,并設(shè)置隨機床啟動,如圖5所示。
在實際開發(fā)時,主要考慮如下幾個因素:
(1)數(shù)據(jù)實時性。如軸的坐標(biāo)、電流、負(fù)載等值,在采集時要求有較高的采集頻率,才能準(zhǔn)確觀察生產(chǎn)過程中的軸數(shù)據(jù)變化規(guī)律。
(2)數(shù)據(jù)準(zhǔn)確性。保證數(shù)據(jù)的準(zhǔn)確性,需要確保DDE變量的路徑正確性。不同機臺和不同型號的機床,同一軸可能對應(yīng)不同的變量路徑,錯誤的路徑將導(dǎo)致DDE出現(xiàn)錯誤,影響采集的效率。
(3)數(shù)據(jù)穩(wěn)定性。MDA定時采集數(shù)據(jù)可通過定時器觸發(fā),但VB自帶定時器穩(wěn)定性難以保證,易造成比較嚴(yán)重的數(shù)據(jù)丟失,約在20%。因此,通過自行設(shè)計定時器,確保Timer事件能夠準(zhǔn)確穩(wěn)定觸發(fā)。
(4)報文傳輸效率。通過分開自行設(shè)計傳實數(shù)值的報文和傳刀具的報文(數(shù)據(jù)包含字符串),提高數(shù)據(jù)處理的效率:
1)數(shù)值處理。類似軸坐標(biāo)數(shù)據(jù)、速度、負(fù)載、電流、扭矩、功率等實數(shù)值,在進行報文傳輸時,可乘以一定的系數(shù)轉(zhuǎn)化為整數(shù)值再進行傳輸。
2)數(shù)據(jù)壓縮。報文傳輸整數(shù)值應(yīng)采用十六進制數(shù)而非轉(zhuǎn)化為字符串,可有效降低報文長度,提高數(shù)據(jù)處理的速度。
3)報文的靈活性。設(shè)置不同類型報文,傳輸不同類型的數(shù)據(jù)。采用固定長度的報文數(shù)據(jù)格式,有利于報文解析和數(shù)據(jù)擴充。
3.4? ? 數(shù)據(jù)處理Gateway網(wǎng)關(guān)設(shè)計開發(fā)
Gateway基于.Net平臺,采用C#開發(fā)可執(zhí)行的exe文件。Gateway執(zhí)行數(shù)據(jù)存儲采用緩存機制:當(dāng)在數(shù)據(jù)采集服務(wù)器運行的Gateway啟動后,可與MDA建立Socket通信,發(fā)送和接收報文。Gateway解析報文,并整理數(shù)據(jù)生成可執(zhí)行的SQL語句,存入數(shù)據(jù)緩存文件中。然后Gateway定時檢查并執(zhí)行緩存文件中的SQL語句,將相應(yīng)的數(shù)據(jù)發(fā)送至數(shù)據(jù)庫進行存儲。
采用緩存數(shù)據(jù)文件的設(shè)計機制既保證了在進行大數(shù)據(jù)采集時快速的數(shù)據(jù)處理能力,又可防止在數(shù)據(jù)庫出現(xiàn)異常時(數(shù)據(jù)庫滿或其他阻塞數(shù)據(jù)存儲的情形)造成數(shù)據(jù)的異常丟失。當(dāng)與數(shù)據(jù)庫的通信恢復(fù)后,Gateway將自動繼續(xù)執(zhí)行緩存文件中的數(shù)據(jù)條目,保證數(shù)據(jù)存儲的穩(wěn)定性。
3.5? ? 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫中設(shè)計變量存儲表,并設(shè)計數(shù)據(jù)存儲過程save_num_
in和save_str_in保存值類型數(shù)據(jù)和字符串類型數(shù)據(jù)。
Gateway處理報文后,可將數(shù)據(jù)整合成執(zhí)行存儲過程的SQL語句存儲至緩存文件中,再執(zhí)行緩存文件中的語句將數(shù)據(jù)存儲至數(shù)據(jù)庫,如圖6所示。
4? ? 機床刀具數(shù)據(jù)管理與采集
刀具壽命的采集主要是對刀具尺寸和壽命值的采集。西門子系統(tǒng)自帶有刀具管理系統(tǒng),激活相應(yīng)的管理功能后,在刀具使用時,刀具將按照設(shè)定好的壽命計算方式、磨損值等自動更新刀具數(shù)據(jù)。其中西門子系統(tǒng)刀具壽命的監(jiān)控方式有三種:(1)按照加工時間監(jiān)控;(2)按照使用次數(shù)監(jiān)控;(3)按照磨損量進行監(jiān)控。課題研究中機床按照使用次數(shù)監(jiān)控。
圖7是機床刀具信息的相關(guān)畫面,數(shù)據(jù)采集時,每個刀片對應(yīng)有表2中的相關(guān)參數(shù)數(shù)據(jù),可根據(jù)需要選擇所要采集的數(shù)據(jù)。具體按照刀具名稱和刀片可獲取指定刀片的數(shù)據(jù)。
因為刀具管理存在增加、刪除刀具的情形,在設(shè)計數(shù)據(jù)庫存儲刀具信息時,充分考慮了這一情形,設(shè)置靈活的數(shù)據(jù)存儲方式,確保數(shù)據(jù)存儲的正確性,避免出現(xiàn)數(shù)據(jù)錯位存儲的情形。
5? ? 結(jié)語
本文基于某機加制造車間的50臺西門子840D/840D SL數(shù)據(jù)系統(tǒng),設(shè)計并實現(xiàn)了一套大數(shù)據(jù)采集的架構(gòu),在進行數(shù)據(jù)采集的基礎(chǔ)上增加了可行的緩存機制,實現(xiàn)了大數(shù)據(jù)實時監(jiān)控以及數(shù)據(jù)穩(wěn)定存儲的功能,為機床刀具大數(shù)據(jù)分析和機床監(jiān)控以及刀具成本核算平臺提供了重要的數(shù)據(jù)依據(jù),也為車間信息化建設(shè)鋪平了道路。
[參考文獻]
[1] 楊家榮,徐志明,王浩林,等.基于DDE技術(shù)的機床遠程診斷技術(shù)研究[J].裝備機械,2010(2):26-29.
[2] 高煒,姜萬生,張磊剛,等.NCDDE技術(shù)在機床遠程監(jiān)控中的應(yīng)用[J].機械工程師,2019(3):73-75.
[3] 趙明生,李愛梅.DDE技術(shù)及其在先進控制技術(shù)中的應(yīng)用[J].計算機工程與設(shè)計,2005,26(9):2546-2549.
[4] 朱傳敏,秦德斌.異構(gòu)數(shù)控機床群控系統(tǒng)關(guān)鍵技術(shù)研究及應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2016,6(3):108-110.
[5] 肖士利.數(shù)控機床狀態(tài)數(shù)據(jù)實時采集與監(jiān)視系統(tǒng)的研究開發(fā)[D].南京:南京航空航天大學(xué),2008.
收稿日期:2020-08-13
作者簡介:于會龍(1979—),男,吉林長春人,工程師,研究方向:機床設(shè)計與制造。