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