賈冠偉 韓秋實(shí) 彭 浩 陳雨暉
(①北京信息科技大學(xué)機(jī)電工程學(xué)院,北京 100192;②北京第二機(jī)床廠有限公司,北京 100165)
目前,有些數(shù)控凸輪軸磨床使用西門子840D數(shù)控系統(tǒng),840D系統(tǒng)具有優(yōu)越的動(dòng)態(tài)品質(zhì)和控制精度,適用于各種復(fù)雜加工任務(wù)的控制,但840D系統(tǒng)封閉且OEM監(jiān)測(cè)軟件昂貴價(jià)格。為了方便用戶使用、降低成本,及開發(fā)自主知識(shí)產(chǎn)權(quán)的840D數(shù)控系統(tǒng)的實(shí)時(shí)監(jiān)測(cè)系統(tǒng),本文重點(diǎn)研究開發(fā)了在西門子840D數(shù)控系統(tǒng)中基于DDE技術(shù)實(shí)現(xiàn)數(shù)據(jù)的采集,并利用VB6.0軟件實(shí)現(xiàn)凸輪加工實(shí)時(shí)采集數(shù)據(jù)并同步將圖形有效顯示在控制界面內(nèi),同時(shí)保存采集的多組數(shù)據(jù)以備分析使用。此方法不需要增加額外的物理數(shù)據(jù)采集裝置,僅通過軟件控制都能實(shí)現(xiàn),簡(jiǎn)單易行,節(jié)約成本。數(shù)據(jù)的動(dòng)態(tài)圖形顯示為數(shù)據(jù)分析提供了一個(gè)動(dòng)態(tài)、直觀的印象,是數(shù)據(jù)分析的重要環(huán)節(jié),在實(shí)際的加工應(yīng)用中取得了良好的效果。
SINUMERIK 840D是西門子公司20世紀(jì)90年代末推出的用于各種復(fù)雜加工的新一代高性能全數(shù)字式數(shù)控系統(tǒng)。SINUMERIK 840D與SINUMERIK_611數(shù)字驅(qū)動(dòng)系統(tǒng)和SIMATIC可編程控制器一起,構(gòu)成全數(shù)字控制系統(tǒng),它適于各種復(fù)雜加工任務(wù)的控制,具有優(yōu)于其他系統(tǒng)的動(dòng)態(tài)品質(zhì)和控制精度。
SINUMERIK 840D的突出之處在于其不斷擴(kuò)展的特性和強(qiáng)大的網(wǎng)絡(luò)功能,使其突現(xiàn)現(xiàn)代化管理成為可能。為機(jī)床的自動(dòng)化提供了全方位的解決方案:全數(shù)字化的系統(tǒng)、革新的系統(tǒng)結(jié)構(gòu)、更高的控制品質(zhì)、更高的系統(tǒng)分辨率以及更短的采樣時(shí)間,確保工件質(zhì)量。SINUMERIK 840D強(qiáng)大的系統(tǒng)功能還可以實(shí)現(xiàn)許多特殊的NC功能,如:各種同步功能、多種補(bǔ)償功能、齒輪排隙功能。在SINUMERIK 840D數(shù)控系統(tǒng)的控制器中,本文要用到數(shù)據(jù)通訊接口服務(wù)器程序NCDDE(Numerical Control Dynamic Data Exchange)。NCDDE服務(wù)端是一種處理變化響應(yīng)和實(shí)時(shí)程序數(shù)據(jù)交換服務(wù)的輔助程序。DDE是關(guān)于窗口應(yīng)用程序和NCDDE服務(wù)端的動(dòng)態(tài)數(shù)據(jù)交換過程。根據(jù)這種通訊方式的統(tǒng)一的接口規(guī)范,通過VB6.0編寫DDE客戶端通訊程序,客戶可讀取NCK中的各種變量和數(shù)據(jù)。如圖1所示。
DDE動(dòng)態(tài)數(shù)據(jù)交換(Dynamic Data Exchange)是Windows操作系統(tǒng)應(yīng)用內(nèi)部DDE通信協(xié)議為兩個(gè)不同的Windows程序提供通信服務(wù)。DDE技術(shù)可實(shí)現(xiàn)應(yīng)用程序間彼此交換數(shù)據(jù)和發(fā)送指令,使用共享內(nèi)存實(shí)現(xiàn)進(jìn)程間的數(shù)據(jù)交換,使用協(xié)議達(dá)到傳遞數(shù)據(jù)的同步。如圖2所示DDE工作原理與結(jié)構(gòu)圖。通過DDE方式鏈接起來的Server/Client兩個(gè)客戶端程序,一旦Client和Server建立了鏈接關(guān)系,當(dāng)Server中的數(shù)據(jù)發(fā)生變化后就會(huì)馬上通知Client。通過DDE方式建立的數(shù)據(jù)連接通道是雙向的,即Client不但能夠讀取Server中的數(shù)據(jù),而且可以通過其進(jìn)行修改。
為了與DDE服務(wù)器建立起鏈接,客戶端必須建立以下識(shí)別信息:應(yīng)用程序名(Application)、主題名(Topic)和數(shù)據(jù)項(xiàng)(Item)。應(yīng)用程序名為 DDE中Server/Client雙方的名稱,如SINUMERIK 840D數(shù)控系統(tǒng)中的應(yīng)用程序名“NCDDE”。主題名規(guī)定了服務(wù)器應(yīng)用程序會(huì)話的主題內(nèi)容,Server應(yīng)用程序可支持1個(gè)或多個(gè)主題名。數(shù)據(jù)項(xiàng)名確定了具體通信傳輸?shù)脑敿?xì)內(nèi)容,可以為字符串或數(shù)據(jù),每個(gè)主題名可擁有1個(gè)或多個(gè)項(xiàng)目名。
建立DDE鏈接后,客戶端應(yīng)用程序和服務(wù)端應(yīng)用程序通過以下3種鏈接方式進(jìn)行數(shù)據(jù)的交換和傳輸,分別為:冷鏈接(Cold Link)、溫鏈接(Warm Link)和熱鏈接(Hot Link)。冷鏈接:Client應(yīng)用程序申請(qǐng)數(shù)據(jù),Server應(yīng)用程序馬上給客戶應(yīng)用程序發(fā)送數(shù)據(jù),Server應(yīng)用程序處于主動(dòng)地位。溫鏈接:Server應(yīng)用程序通知Client應(yīng)用程序數(shù)據(jù)項(xiàng)發(fā)生了變化,但并沒有將已改變的值發(fā)送給Client應(yīng)用程序。熱鏈接:當(dāng)數(shù)據(jù)項(xiàng)發(fā)生變化時(shí),Server應(yīng)用程序立即把變化后的值發(fā)送給Client應(yīng)用程序,Server應(yīng)用程序處于主動(dòng)地位。
本文使用了Visual Basic6.0開發(fā)了客戶應(yīng)用程序,此客戶應(yīng)用程序?qū)⒁訢DE方式從NCDDE服務(wù)器端讀取NCU的各種變量數(shù)據(jù),顯示圖形并備份數(shù)據(jù),實(shí)現(xiàn)了在線監(jiān)測(cè)系統(tǒng)的開發(fā)。圖3為監(jiān)測(cè)系統(tǒng)流程圖。
在VB6.0提供的標(biāo)準(zhǔn)控件欄中,使用 MSChart、TxtBox、Lable還有 Form 具有動(dòng)態(tài)數(shù)據(jù)的交換功能。通過這些控件可以實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接受??蛻舳说膽?yīng)用程序?qū)崿F(xiàn)方式有以下步驟:
(1)新建一個(gè)窗體;
(2)向窗體中加入相應(yīng)的控件并命名和改變屬性,例 如 MSChart、 TxtBox、Lable、Command、Timer 控件;
(3)編寫代碼并運(yùn)行測(cè)試;
(4)將運(yùn)行測(cè)試成功的程序,編譯生成可執(zhí)行文件在840D上進(jìn)行運(yùn)行測(cè)試。
本文以VB6.0為客戶應(yīng)用程序編寫軟件,在Form窗體中,添加TxtBox控件命名為TxtCCmdPos(角度C的命令值),并將通過DDE方式從Server端NCDDE中讀取的CCmdPos數(shù)據(jù),動(dòng)態(tài)地顯示在TxtBox中,同時(shí)也將圖形顯示于MSChart控件內(nèi);添加2個(gè)Command控件,分別命名為Connect和End;添加Timer控件,分別設(shè)置其屬性并編寫相應(yīng)的代碼:建立DDE鏈接;斷開鏈接并關(guān)閉保存數(shù)據(jù)的文件;設(shè)置Timer控件并將數(shù)據(jù)寫入文件保存;在Form中設(shè)置MSChart控件的屬性并打開保存數(shù)據(jù)文件。
編寫完以上的控件程序后,將其編譯成可執(zhí)行文件EXE,再將此文件復(fù)制粘貼到SINUMERIK 840D數(shù)控系統(tǒng)的Windows操作系統(tǒng)中。當(dāng)840D數(shù)控系統(tǒng)啟動(dòng)時(shí),進(jìn)行相應(yīng)的操作可以進(jìn)入Windows操作系統(tǒng),啟動(dòng)HMI即可獲得當(dāng)前數(shù)控系統(tǒng)加工程序中角度C的理論位置信息,同時(shí)還有X軸的理論位置信息、C-X實(shí)際加工位置信息、C軸加工位置的跟隨誤差CError、X軸加工位置的跟隨誤差XError。這些數(shù)據(jù)顯示于TxtBox內(nèi),并實(shí)時(shí)傳輸給MSChart控件畫出C-X的位置關(guān)系圖。同時(shí)也可以將實(shí)際加工的C-X對(duì)應(yīng)的關(guān)系圖、CError圖和 XError圖分別顯示于不同 MSChart控件內(nèi),形成兩條對(duì)比曲線。程序結(jié)束時(shí),數(shù)據(jù)采集文件也保存了實(shí)際采集的數(shù)據(jù),為以后的分析奠定基礎(chǔ)。監(jiān)測(cè)系統(tǒng)界面圖如圖4所示。
通過此程序可以進(jìn)一步開發(fā)840D數(shù)控系統(tǒng)其他方面的監(jiān)測(cè)軟件。例如,監(jiān)測(cè)數(shù)控系統(tǒng)其他坐標(biāo)的位置信息、R參數(shù)、8位的PLC狀態(tài)變量等。此過程只需對(duì)原有監(jiān)測(cè)系統(tǒng)進(jìn)行相應(yīng)的參數(shù)改動(dòng)即可實(shí)現(xiàn)。
在使用西門子840D數(shù)控系統(tǒng)凸輪加工過程中采集數(shù)據(jù)的困難,可通過DDE方式設(shè)計(jì)的西門子840D數(shù)控監(jiān)測(cè)系統(tǒng)來解決。降低了可視開發(fā)數(shù)控監(jiān)測(cè)系統(tǒng)的難度,根據(jù)實(shí)際監(jiān)測(cè)對(duì)象進(jìn)行數(shù)值和圖形的實(shí)時(shí)顯示。同時(shí)根據(jù)840D中的NCDDE可以更好地進(jìn)行數(shù)據(jù)監(jiān)測(cè)系統(tǒng)的開發(fā),同時(shí)也為使用840D系統(tǒng)的其他種類機(jī)床的監(jiān)測(cè)系統(tǒng)的開發(fā)提供了有效的手段。結(jié)合DDE方式可以更加有效地對(duì)數(shù)控系統(tǒng)中的凸輪軸加工過程中的各種數(shù)據(jù)進(jìn)行讀取、分析和優(yōu)化,可及時(shí)提高和改進(jìn)機(jī)床的整體性能,提高加工質(zhì)量。
[1]裴暢貴,白培康.凸輪軸制造工藝及國(guó)內(nèi)外發(fā)展趨勢(shì)[J].新技術(shù)新工藝,2009(3).
[2]徐潔蘭.西門子數(shù)控系統(tǒng)概述[J].制造技術(shù)與機(jī)床,2005(2):100-102.
[3]楊斌.西門子SINUMERIK 840D數(shù)控系統(tǒng)介紹[J].現(xiàn)代制造,2004(6):87-89.
[4]宗瑜婷.利用DDE技術(shù)實(shí)現(xiàn)組態(tài)軟件與應(yīng)用程序的數(shù)據(jù)通信[J].電腦編程技巧與維護(hù),2008(8):48,72.
[5]SINUMERIK?Documentation.SINUMERIK840D/840Di/810DRPC SINUMERIK computer link[Z],2005.
[6]楊家榮,徐志明,王浩林,等.基于DDE技術(shù)的機(jī)床遠(yuǎn)程診斷技術(shù)研究[J].裝備機(jī)械,2010(2):26-29.
[7]鄭阿奇,曹弋.Visual Basic使用教程[M].2版.北京:電子工業(yè)出版社,2004.
[8]明日科技.Visual Basic程序開發(fā)范例寶典[M].2版.北京:人民郵電出版社,2009.