張 露 彭克立 黃貴剛 張育平 鄒鵬舉
(湖大海捷(湖南)工程技術研究有限公司,湖南 長沙410013)
目前西門子數控系統由原來的840D升級到了840D sl。840D sl數控系統采用了新一代的驅動與元器件,性能提高,故障率大幅下降。原先使用840D數控系統的企業都開始選擇840D sl。而840D sl 數控系統采用hmi operate/Windows系統平臺,不同于之前的hmi advance/Windows系統平臺。以前使用VB等語言開發的OEM人機界面不再適用于840D sl 數控系統,需重新開發。
當前,滿足用戶需求已經不單單只是制作一個專用友好的人機界面,更需要一個能為用戶智能推導,對凸輪軸日常磨削中起指導作用的凸輪軸磨削工藝數據庫來充分發揮數控機床的作用。本文基于840D sl 數控系統,采用Visual Studio 2008(以下簡稱VS 2008)中C#編程語言,設計制作面向客戶的凸輪軸磨削專用工藝數據界面。
目前開發界面有3種方法:(1) VS 2008 + QT +Operater Programming Package。該方法需要在安裝軟件包時開通QT授權,授權需收費,功能強大,嵌入性好,適合對界面功能要求高的企業。(2)VS 2008 + Operate OA .Net。該方法無需額外費用,雖然界面的嵌入性不及方法(1),但功能強大,支持復雜運算、數據庫等。適合小型企業或者對界面要求不太高的企業。(3)Easy Screen/用戶擴展接口。該方法無需額外費用,且容易開發,但實現功能簡單,整體開發結構調試困難。
本文采用方法(2),開發語言:VS 2008 C#。開發前需先安裝VS 2008,后安裝Operate OA .Net,這樣VS 2008 才可通過由西門子統一安裝的開始菜單來啟動,只有這樣才會有進行訪問接口所必需的環境設置。
工藝數據庫軟件不僅需要設計友好的人機界面,建立與NC/PLC的通訊,也需要建立后臺數據庫用以存儲、查看、推導數據。
根據凸輪軸磨床需實現的功能和工作要求,HMI的安排如圖1所示。

2.1.1 創建項目
人機界面主要分為六大塊,即圖1所示前兩行,最后一行有關子類包含于上一行窗體中。每一塊為一個窗體,共需六個窗體。最后一行有關子類包含于上一行窗體中。首先創建首頁窗體,新建-項目-項目類型(Visual C#)-Windows窗體應用程序。由于界面包含多個窗體,我們將首頁窗體設置為父窗體,在該窗體屬性中設置:IsMdiContainer=True。其余窗體均為子窗體,通過添加-windows窗體逐個添加。
創建窗體項目后,為了能使用接口,應在項目中添加接口引用:“Siemens.Sinumerik.Operate.Services”。在窗體項目的每個源代碼文件的開頭都使用 using 指令:using Siemens.Sinumerik.Operate.Services。新建項目時應注意,項目所使用的.NET-Framework 的版本不能高于目標系統上.NET-Framework 的版本,否則將無法運行。
2.1.2 各窗體功能
窗體分別如下:
【首頁】主要介紹公司、軟件相關情況,提供各功能窗體的選項按鈕。
【工件參數】主要顯示凸輪軸磨床各軸坐標值、余程值、尺寸補償、對刀坐標等R參數值,以及凸輪軸的加工狀態等,可嵌入動平衡窗體,直觀地查看動平衡狀態。建立與NC/PLC的通訊,對參數進行讀寫。
【修整參數】主要對修整參數的設置包括修整量、修整起點等。
【工件編程】主要是制作工件程序、繪制凸輪升程曲線圖等。
【基礎數據庫】主要是包含現有的多類數據。
【工藝數據庫】主要是對現有數據進行分析、推導可行的工藝數據用于磨削。
2.1.3 部分程序代碼
(1)通過label1查看坐標軸1代碼:[Item itemRead0 = new Item("/channel/geometricAxis/actToolBasePos[u1,1]");m_DataSvcReadWrite.Read(itemRead0);label1.Text = itemRead0.Value.ToString();]
(2)繪制凸輪升程曲線:數組x為坐標值,數組y為凸輪升程值:[this.chart1.Series[1].Points.DataBindXY(x, y);]
(3)通過點擊List1控件中多個型號數據中的某個,查看該型號下所有數據:[ClickList1 = List1.SelectedItem.Text; String Sql1 = "select * from 機床庫 where 編號=" & ClickList1 & ""]
NC 和 PLC 上的數據訪問使用 DataSvc 對象來實現。首先創建類型為 DataSvc 的成員變量:DataSvc m_DataSvcReadWrite = null。在主函數Main()中生成 DataSvc 對象:m_DataSvcReadWrite = new DataSvc()。讀取參數,比如讀取R1參數:Item itemRead = new Item(“/channel/parameter/r[u1,1]”);m_DataSvcReadWrite.Read(itemRead)。改寫R1參數: Item itemWrite = new Item(“/channel/parameter/r[u1,1]”);itemWrite.Value = 1;m_DataSvcReadWrite.Write(itemWrite)。在編寫程序時可以用數組的方式同時讀寫多個控制系統的參數。
數據庫的建立要求數據的有效性、完整性較強,數據實用性、安全性較好。目前基礎數據庫中包含上千個有效數據,這些數據都來自于大量凸輪軸磨削行業從業人員經驗的積累與現場調試人員不斷的采集,對于凸輪軸現場磨削有很強的指導和借鑒作用。而工件知識庫則主要注重磨削數據的推導與磨削程序的規則驗證,可根據現有的工件參數推導出一組全新的實用的凸輪軸磨削數據。
2.3.1 數據庫的建立
本工藝數據庫采用microsoft sql server來進行底層數據的建立。(1)在每個窗體的源代碼開頭導入命名空間:using System.Data; using System.Data.SqlClient。(2)創建連接:SqlConnection data_con = New SqlConnection("Server=HDHJGC;Database= HJdata;uid=HJ1;pwd=123456")。(3)打開連接: data_con.Open()。 通過打開數據庫查看現有的磨削數據,也可以采集正在磨削的工件的有效數據,不斷充實數據庫。
2.3.2 數據庫功能
基礎數據庫主要包含6個子類數據庫:機床庫、砂輪庫、磨削液庫、修整庫、材料庫、實例庫。機床庫主要涵蓋國內十多種凸輪軸類磨削機床的相關數據,這些數據里有機床功率、尺寸等機床本身參數,也有該機床可磨削凸輪軸工件規格、精度等機床相關參數。這些參數對后面的數據推導也起到決定作用。砂輪庫、磨削液庫、修整庫和材料庫主要是包含國內凸輪軸磨床所用到的一些砂輪、磨削液、修整、材料的相關數據,這些數據對操作者可查看選擇,對維修、選型有一定的指導作用。實例庫則是包含幾百種在磨床上磨削過且磨削工藝可靠的凸輪軸類工件相關數據,這些數據對后面的數據推理也起指導和借鑒作用。
2.3.3 數據庫推導
數據的推理采用貝葉斯網絡算法:如圖2所示:當已知凸輪軸工件長度、凸輪數量、升程、凸輪軸工件工藝要求等工件數據時,推導出一組可靠的、實用的磨削數據進行有效磨削。
(1)根據工件升程換算出磨削工件的形狀(偏心、凹面、扇面、外圓等)、尺寸初步判斷該工件是否可在該機床上磨削。
(2)根據工件數據查找在基礎數據庫中是否有與該工件非常相似或相同的工件,有則可以直接調用此工件的磨削數據。無則根據機床性能、磨削要求、工件程序推導出合適的工藝參數。機床性能主要因素有機床可磨削軸類最高精度、硬度、是否復合磨削、是否修砂輪等決定工藝參數。磨削要求主要是操作人員決定是精度優先還是效率優先。精度優先則磨削速度降低,單圈磨削量減少。效率優先則磨削速度增加,單圈磨削量增多。根據工件凸輪升程數據制作工件磨削程序導入數控系統中, 工件程序主要因素有工件周向在哪一度起升程、最大升程,是否偏心輪,是否存在凹面等。如圖2所示。

如何將設計好的工藝數據庫完好地嵌入到840D sl系統上,需先授權,后修改相關配置文件,再將工藝數據庫軟件存放在合適的位置。
在840D sl 系統上開通P66選項,這個是SINUMERIK HMI sl Runtime OA..net開發包運行授權,在機床授權管理中開通:SINUMERIK HMI sl Runtime OA..net:BFC5800-0AP66-0YB0。
(1) systemconfiguration.ini:這個配置文件用于描述啟動我們軟件的名稱、路徑以及相關屬性設置。在該文件[processes]段下方添加以下代碼:“PROC600=process:=oem2OEM,cmdline:="oem2.exe",oemframe:=true,deferred:=true,windowname:="HICAM OEM";”。 在該文件[areas]段下方添加:“AREA600=name:=HICAMOEM, process:=oem2OEM ; ”
(2) slamconfig.ini:這個配置文件主要用于設置在標準主畫面中定義我們軟件的啟動按鈕相關屬性,在該文檔內末端添加以下代碼:
[HICAMOEM] ;用戶自定義的區域,與 systemconfiguration.ini 中需一致
Picture = mypicture.png ;顯示在啟動軟鍵上的圖標
SoftkeyPosition = 7 ;啟動軟鍵在主菜單中的位置
AccessLevel = 5 ;軟鍵訪問的等級
嵌入的凸輪軸磨削工藝軟件oem2.exe存放在“hmi sl/oem/sinumerik/hmi/appl/”目錄下。配置文件systemconfiguration.ini 與slamconfig.ini 存放在“hmi sl/oem/sinumerik/hmi/cfg/”目錄下。
基于840D sl 數控系統,采用C#編程語言,microsoft sql server搭建底層數據庫,貝葉斯網絡算法推導數據,形成一款凸輪軸磨削工藝數據庫軟件,嵌入西門子數控系統,在試驗磨床上試驗成功,能夠實現用戶需求的自動編程和自動加工,解決大部分凸輪軸類工件的智能磨削問題,具有實用性和示范性。
[1]王照亮,于會龍,邢雨.基于840 Dsl OEM開發組件的數控系統電氣調試方法[J].制造技術與機床,2012(5):161-165.
[2]吳艷花,雷俊杰.基于840D數控系統的人機界面二次開發[J].機床與液壓,2011,39(10):118-120.