王英杰,左希慶
(湖州職業(yè)技術學院 機電與汽車工程學院,浙江 湖州 313000)
摘要:數(shù)控仿真技術對于數(shù)控程序可靠性檢驗和切削過程預測有良好的效果。文章對數(shù)控仿真系統(tǒng)各項功能進行了研究,選擇 Delphi7作為開發(fā)環(huán)境,實現(xiàn)了西門子802D數(shù)控仿真系統(tǒng)的交互界面設計,開發(fā)西門子802D數(shù)控仿真系統(tǒng)的界面及菜單,實現(xiàn)了仿真系統(tǒng)對用戶操作的響應。
關鍵詞:數(shù)控仿真技術;交互界面;西門子802D數(shù)控仿真系統(tǒng)
0引言
數(shù)控機床從發(fā)展至今,給制造業(yè)帶來了巨大的便利。但其價格相對較高,中小型企業(yè)和大部分學校引進的數(shù)控機床有限,不足以滿足培訓需求,而且直接操作數(shù)控機床有一定的危險性[1]。數(shù)控仿真技術可以較好地解決以上問題。數(shù)控仿真技術是為虛擬制造建立一個真實的加工環(huán)境,與實際機床的性能、特征相同,可以通過仿真實現(xiàn)對各環(huán)節(jié)產(chǎn)品質(zhì)量控制的評估,成為虛擬制造的一個重要分支和基礎。利用數(shù)控仿真技術,不僅可以高效率、高安全性、高準確性地評估數(shù)控程序的正確性,還可以依據(jù)仿真結果快速修改加工程序,避免因試切過程造成時間和材料的不必要浪費,提高了生產(chǎn)率[2 3]。
1西門子802D數(shù)控系統(tǒng)整體設計思想
西門子802D系統(tǒng)是西門子公司發(fā)行的數(shù)控系統(tǒng),它以其友好的操作界面以及強大的數(shù)控加工功能,在國內(nèi)數(shù)控機床中占有了非常大的比重。西門子802D數(shù)控系統(tǒng)是一款經(jīng)濟型數(shù)控系統(tǒng)[4],主要包括面板控制單元(PCU)、鍵盤、機床控制面板(MCP)、SIMODRIVE模塊式驅(qū)動系統(tǒng)、帶編碼器的1FK7伺服電機、IΠO模塊PP72/48、電子手輪[5]等幾大部分。其數(shù)控系統(tǒng)功能采用模塊化的設計方法,主要包括POSITON、PROGRAM、OFFSET PARAM 、PROGRAM MANAGER 、SYSTEM ALARM、CUSTOM 6個模塊。整體設計思路如圖1所示。
2西門子802D數(shù)控仿真系統(tǒng)的界面實現(xiàn)
Delphi是由Borland公司開發(fā)的深受廣大程序員所喜愛的可視化和面向?qū)ο蟮能浖_發(fā)工具。與Visual C++相比,Delphi更簡單、更易于掌握,因此選用Delphi作為西門子802D數(shù)控仿真系統(tǒng)的開發(fā)工具能快速有效地開發(fā)出界面友好、功能強大的數(shù)控仿真系統(tǒng)。數(shù)控仿真系統(tǒng)交互界面由屏幕顯示區(qū)域、系統(tǒng)操作區(qū)域、系統(tǒng)輸入?yún)^(qū)域組成,如圖2所示。
各個區(qū)域分別定義一個TPanel組件,然后再在TPanel組件上添加TImage組件、TButton組件、TLabel組件、TStringGrid組件等來完成整個數(shù)控仿真系統(tǒng)界面的顯示。整個系統(tǒng)設計工程量較大,本文僅介紹POSITION狀態(tài)下屏幕顯示區(qū)域的實現(xiàn),其他單元的設計與此類似。
POSITION狀態(tài)下屏幕顯示區(qū)域使用的組件及要設置組件的屬性如表1所示。
在Delphi7開發(fā)界面的組件欄[6]上選擇所需要的組件,如圖3所示。
當組件在Form上添加好以后就需要在對象編輯器里設置組件的各種屬性了,如圖4所示。
以上就是仿真系統(tǒng)界面開發(fā)的基本步驟,所有組件都通過上述方法添加和設置。
POSITION狀態(tài)下屏幕顯示區(qū)域和系統(tǒng)狀態(tài)區(qū)域均由TLabel組件和TPanel組件構成。通過設置Label.Caption來顯示不同的狀態(tài),在Panel上添加Label來顯示機床坐標位置和機床工藝參數(shù)。其界面如圖5所示。
3西門子802D仿真系統(tǒng)內(nèi)部響應的實現(xiàn)
在系統(tǒng)操作區(qū)域主要的功能有機床急停開關的狀態(tài),機床操作方式Per Point、Jog、VAR INC、Auto、MDA的設置,機床快速進給的操作,主軸進給倍率的調(diào)節(jié),主軸轉動倍率的調(diào)節(jié),手輪的操作。當進行這些操作時,仿真系統(tǒng)需要處理這些響應事件并把處理結果顯示在屏幕上。本文僅介紹主軸快速運動的實現(xiàn)。
在點擊“Z+”(或“Z-”)按鈕時,機床主軸將會進行快速移動,Z軸的坐標值也會隨其變化。但機床主軸只有在某些操作狀態(tài)下才會進給,因此需要檢查機床狀態(tài)標志的變量值,在此需要檢查3個標志機床狀態(tài)的全局變量。首先檢查機床急停開關的狀態(tài),如果NC_Stop=1則正常,否則給出提示信息要求關閉急停開關。其次再檢查機床操作方式的狀態(tài)的全局變量NC_Status的值,如果NC_Status=2,即機床處于“JOG”模式下,主軸才能運動。機床主軸運動時主軸進給倍率會影響主軸運動的速度,因此需要通過判斷NC_M的值來獲取當前主軸的進給倍率。代碼如下:
case NC_M of//獲取主軸進給倍率
1:Label27.Caption:=‘0’;
2:Label27.Caption:=‘2’;
……
14:Label27.Caption:=‘110’;
15:Label27.Caption:=‘120’;
在仿真系統(tǒng)的屏幕顯示界面會顯示出當前主軸進給倍率,如圖6所示。
當機床主軸運動時先獲取當前坐標值Label10.Caption,由于這是個字符串,要先通過StrToFloat( )函數(shù)把它轉化為Float型,再把主軸進給倍率Label27.Caption轉化為Float型。由于數(shù)控機床的主軸運動是在一定范圍內(nèi)進行的,一旦超出這個范圍機床就會報錯。因此在機床主軸運動時還需要對主軸進行超行程檢查,一旦超出機床運動行程則給出提示信息。機床Z軸坐標變化實現(xiàn)代碼如下:
procedureTForm1.Image75MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
begin
NC_Stop:=Waring;//機床急停開關檢查
if(NC_Stop< >0) then
begin
Image75.Picture.LoadFromFile('pic\\b17-1.bmp');
Z1:=StrToFloat(Label10.Caption);//獲取當前Z軸坐標值并轉換為Float型
if NC_Status =2 then
begin
if(Z1<=-400) then//機床最大行程檢查
ShowMessage('達到最大行程')
else
begin
Z1:=Z1-1.55*StrToFloat(Label27.Caption)/100;
Label10.Caption:=FloatToStr(Z1);//把Z軸坐標值轉化為字符型并在屏幕上顯示end;
end;
end;
end;
在仿真系統(tǒng)屏幕顯示區(qū)域的變化如圖7所示。
4結束語
利用Delphi7強大的可視化開發(fā)技術,完成了西門子802D數(shù)控仿真系統(tǒng)的交互界面開發(fā),實現(xiàn)西門子802D數(shù)控仿真系統(tǒng)對用戶操作的內(nèi)部響應,為后續(xù)機床實體仿真奠定了良好的基礎。
參考文獻
?。?] 段英宏. 仿真技術在數(shù)控系統(tǒng)中的應用與發(fā)展[C].2007系統(tǒng)仿真技術及其應用學術研討會,2007:481-483.
?。?] 張泉. 數(shù)控加工中心切削過程仿真系統(tǒng)的研究與開發(fā)[D].天津:天津大學,2005.
?。?] 鄧遵義,李攀峰. 數(shù)控仿真軟件在數(shù)控教學中的應用淺析[J]. 中國電力教育,2010(2):81-82.
?。?] 王德軍. 經(jīng)濟型數(shù)控系統(tǒng)與可編程序控制器(PLC)接口設計[J].哈爾濱軸承,2005,26 (4):62-64.
[5] 王新如. 西門子802D數(shù)控系統(tǒng)在車床改造中的應用[J]. 中國高新技術企業(yè),2008(18):125.
?。?] 張宏林. Delphi7程序設計與開發(fā)技術大全[M].北京:人民郵電出版社,2004.