■宜昌長機(jī)科技有限責(zé)任公司(湖北 443003)王樂強(qiáng) 胡天明
人機(jī)界面(Human Machine Interface,HMI) 是用戶與機(jī)床互相傳遞信息的媒介,用來實現(xiàn)信息的輸入與輸出。數(shù)控系統(tǒng)已經(jīng)具備比較通用的人機(jī)界面功能,用來實現(xiàn)操作、監(jiān)控、編程、設(shè)置和診斷功能。
隨著機(jī)械零部件加工工藝的不斷創(chuàng)新,新型數(shù)控系統(tǒng)的不斷涌現(xiàn),同時也加大了用戶在安裝、調(diào)試、編程、操作和維護(hù)等方面的難度。在工件的加工過程中或在系統(tǒng)的調(diào)試和維護(hù)過程中,系統(tǒng)與用戶之間通過人機(jī)界面有著大量的交互過程。因此,開發(fā)出一個友好的、針對性強(qiáng)的人機(jī)界面,對于用戶和數(shù)控系統(tǒng)制造商來說都有很重要的意義。用戶既可以簡化操作,又可以提高生產(chǎn)率。而對于數(shù)控系統(tǒng)制造商,人機(jī)界面對數(shù)控系統(tǒng)的推廣使用也有很大的影響。
通用型數(shù)控系統(tǒng)的發(fā)展趨勢之一是界面友好、易操作。然而通用的數(shù)控系統(tǒng)界面對所有類型的機(jī)床展現(xiàn)的是同一種形式,不能根據(jù)用戶的需求進(jìn)行相應(yīng)的調(diào)整。通過對通用的人機(jī)界面進(jìn)行二次開發(fā),機(jī)床制造商可以針對不同的機(jī)床和不同的場合,開發(fā)出獨具特色的人機(jī)交互界面。
目前,常用的西門子數(shù)控系統(tǒng)有802Dsl、810D、840Dpl。其中810D和840Dpl屬于中高端的數(shù)控系統(tǒng)功能很強(qiáng)大,進(jìn)行人機(jī)界面開發(fā)功能也很完善,目前大部分機(jī)床廠家都是在這些系統(tǒng)上進(jìn)行了人機(jī)界面的開發(fā),應(yīng)用也是最為廣泛的,但是相應(yīng)的成本較高,開發(fā)軟件和使用的系統(tǒng)環(huán)境都是要收費的,而且在界面的開發(fā)過程中要使用到VB、VC等高級編程語言,對于很多數(shù)控工程師來說難度較大,耗時也較長。
而802Dsl作為經(jīng)濟(jì)型數(shù)控系統(tǒng),過去人機(jī)界面的開發(fā)一直不被重視,普遍認(rèn)為其人機(jī)界面能夠滿足絕大多數(shù)用戶的需要,因此國內(nèi)對該系統(tǒng)的界面開發(fā)研究較少。隨著數(shù)控技術(shù)的不斷進(jìn)步和用戶要求的不斷提高,802Dsl系統(tǒng)功能也更加完善,可以滿足很多專用機(jī)床的控制要求,在實際中應(yīng)用也是越來越多,更重要的是該系統(tǒng)性價比高,而它所提供的人機(jī)界面的開發(fā)工具是基于XML語言的,可以保證開放性,它能夠讓用戶設(shè)計出客戶專用和應(yīng)用專用的HMI界面。開發(fā)的難度較低,卻可以實現(xiàn)參數(shù)設(shè)定、參數(shù)的保存調(diào)用、加工信息的顯示、人機(jī)交互等很多過去高端數(shù)控系統(tǒng)所具有的功能,并且開發(fā)的成本和難度比中高端數(shù)控系統(tǒng)要低很多,而且開發(fā)的軟件和過程都是完全免費的,因此具有很大的應(yīng)用前景。
(1)802Dsl數(shù)控系統(tǒng)為用戶提供的是基于XML語言進(jìn)行開發(fā)的自定義界面,它能在V1.4.3以上版本的系統(tǒng)上運行,可以實現(xiàn)的功能有:①軟鍵切換界面。②動態(tài)顯示和圖形顯示。③與系統(tǒng)NC、PLC、Drive進(jìn)行數(shù)據(jù)交換。④條件判斷、循環(huán)的使用。⑤多種語言的切換顯示。⑥預(yù)定義功能函數(shù)使用等。
(2)人機(jī)界面文件的組成。為了進(jìn)行用戶對話框的配置,需要使用控制系統(tǒng)中“制造商驅(qū)動器”目錄中的以下文件:①腳本文件*.xml存放路徑為/Machine manufacture/appl。②文本文件aluc.txt存放路徑/Machine manufacture/ing。③圖片文件*.bmp或*.png 存放路徑/Machine manufacture/ico 。
其中xmldial.xml是用戶自定義界面的主文件,也即是自定義界面的入口。
多個相連的對話框構(gòu)成了一個菜單樹。如果能從一個對話框切換入另一個對話框,則表示這兩個對話框間存在聯(lián)系。通過此對話框內(nèi)重新定義的水平或者垂直軟鍵可以返回上級對話框或者進(jìn)入任意一個對話框。
可以在登入菜單后通過配置好的登入軟鍵生成更多的菜單樹。
登入菜單:在文件“xmldial.xml”中使用名稱“main”來定義登入菜單。登入菜單是操作流程自身的輸出點。使用主菜單可將自定義對話框和其他軟鍵條的載入結(jié)合起來。通過這些軟鍵條可以繼續(xù)執(zhí)行其他操作。
返回標(biāo)準(zhǔn)應(yīng)用程序:可以退出新定義的操作界面并返回到標(biāo)準(zhǔn)應(yīng)用程序。
圖1 用戶對話框菜單樹
(3)基本框架:①軟鍵定義。定義畫面中的軟鍵按下時,畫面執(zhí)行的動作,可以實現(xiàn)畫面的切換跳轉(zhuǎn)、參數(shù)載入、文件的調(diào)用等功能。畫面上的軟鍵從左至右水平軟鍵按照從1~8的序號依次排列,右邊的豎直軟鍵從上之下依次為9~16,畫面上一共有16個軟鍵。②菜單定義。在菜單的定義中包括了所有軟鍵的定義以及打開的界面。包括用來指定打開的界面,配置軟件在畫面中的位置,軟件在畫面中顯示的內(nèi)容和軟件指向菜單的名稱等。③界面定義。在界面中可以進(jìn)行界面名稱的定義,初始化配置,界面屬性、動態(tài)控件、文本文字、圖片的設(shè)置,獲取光標(biāo)位置進(jìn)行各種擴(kuò)展應(yīng)用,局部變量、實時計算以及周期循環(huán)執(zhí)行等功能。
(1)首先進(jìn)行初始化定義:初始化配置都包含在語句中。
在init中的內(nèi)容必須包含:控件連接類別定義等擴(kuò)展功能。
(2)控件的配置基本格式如下:
Name為控鍵標(biāo)識符,局部變量;Xpos/Ypos為控鍵在界面中擺放位置的X坐標(biāo)與Y坐標(biāo);Refvar為與控鍵相關(guān)聯(lián)的系統(tǒng)內(nèi)部變量;Hotlink為當(dāng)控鍵與系統(tǒng)內(nèi)部變量值發(fā)生改變時,是否支持實時更新;Format為變量顯示類型;Fieldtype為控鍵類型:Edit為控鍵為可編輯型;Readonly為控鍵為只讀型;Combobox為控鍵為選項型;Progressbar為控鍵顯示為進(jìn)度條。Property為控件屬性:min為輸入最小值;max為輸入最大值;Color_bk為輸入框背景色;Color_fg為輸入框中值的顏色;font為字體大小。
(3)文字的配置:
Xpos/Ypos為文字在界面中擺放位置的X坐標(biāo)與Y坐標(biāo);color為文字的顏色。
(4)圖片的配置
Xpos/Ypos為圖片在界面中擺放位置的X坐標(biāo)與Y坐標(biāo);Name為圖片所在文件夾的路徑。
(5)框體的配置:
Xpos/Ypos為框體在界面中擺放位置的X坐標(biāo)與Y坐標(biāo);Width/height為框體的高度與寬度;color為框體的填充顏色。
(6)參數(shù)、變量的使用:在用戶自定義的界面中可以使用的參數(shù)有系統(tǒng)的全局變量,PLC地址變量,機(jī)床和驅(qū)動參數(shù)以及系統(tǒng)GUD變量等。NC變量地址如:Nck/Channel/Parameter/R[1];nck/Channel/GeometricAxis/actToolEdgeCenterPos[0];PLC變量地址如:PLC/mb170;PLC/V10001000.1;機(jī)床參數(shù)如:$MA_ENC_TYPE[0,AX1];$SA_SPIND_MAX_VELO_G26[AX3];驅(qū)動參數(shù)如:drive/cu/r0002;drive/dc/r0002[do1];GUD變量如:Gud/_ZSFR[6]。
(7)其他擴(kuò)展功能指令:運算指令
(8)語言切換:為了使用多語言環(huán)境的切換,因此需要用報警文本代替靜態(tài)文字。報警文本的編輯是用西門子的軟件RCS802來進(jìn)行的。在使用時,把需要切換語言的文本用$$8xxxx代替,其中數(shù)字8xxxx代表報警文本所對應(yīng)的文本記錄。
可以使用報警文本替代的有:①標(biāo)題:。②文字:。③消息框:
(9)xml程序的調(diào)試:將編寫完成的各個界面文件的內(nèi)容傳入系統(tǒng)“制造商驅(qū)動器”的對應(yīng)文件夾內(nèi),制作好用于語言切換的語言文本之后,就可以在802Dsl數(shù)控系統(tǒng)上進(jìn)行xml程序的調(diào)試了,在系統(tǒng)上進(jìn)行調(diào)試需要制造商口令以上才能進(jìn)行。
在界面的下方顯示有一排調(diào)試功能的圖標(biāo),分別提供了單步程序運行、程序運行、設(shè)定斷點、中斷程序執(zhí)行、顯示狀態(tài)窗口、隱藏狀態(tài)窗口和結(jié)束調(diào)試的功能(見圖2)。
圖2 系統(tǒng)界面的開發(fā)調(diào)試畫面
筆者應(yīng)用XML語言開發(fā)出了幾個界面,為公司的數(shù)控插齒機(jī)設(shè)計了適合數(shù)控齒輪插齒機(jī)的人機(jī)對話界面,用戶可以修改和設(shè)置加工零件的參數(shù),從而無需重新編寫加工程序,大大簡化了操作,節(jié)約了時間,提高了生產(chǎn)率。而且還開發(fā)了獨有的加工參數(shù)保存和調(diào)用功能,特別使用于多品種大批量的零件加工。
(1)首先建立sgud.ini初始化文件,初始化文件中可以定義在界面和G碼加工程序中可用的參數(shù)類型REAL和數(shù)目CSR[200]。
N200 DEF CHAN APR 13 APW 13 REAL CSR[200]
(2)參數(shù)保存和調(diào)用的實現(xiàn)。在xmldial.xml中定義了保存參數(shù)和調(diào)入?yún)?shù)的功能函數(shù)WriteData,CallData通過按下界面上“保存參數(shù)”和“調(diào)入?yún)?shù)”兩個軟鍵調(diào)用相應(yīng)的函數(shù),就能實現(xiàn)將參數(shù)寫入一個文本文件或是從文件中讀取出來并寫入系統(tǒng)參數(shù)CSR中。
(3)界面Form文件的編寫。包含了文本文字,動態(tài)控件以及圖片等內(nèi)容的界面Form文件可以放在xmldial.xml文件中,也可以為了方便查看和編輯,獨立編寫成一個*.xml文件,但是都需要用xmldial.xml文件中的定義應(yīng)用,并和xmldial.xml文件一起放置于系統(tǒng)“制造商驅(qū)動器”中的“appl”文件夾下。并在xmldial.xml文件中包含相應(yīng)的*.xml文件。
例如有一個單獨的Generalform.xml文件,則在xmldial.xml文件中需要用以下語句將該文件包含進(jìn)來。
(4)在不改變原有的數(shù)控系統(tǒng)界面的基礎(chǔ)上,進(jìn)入顯示自主開發(fā)的界面只需要按下系統(tǒng)操作界面上的“CUSTOM”按鍵即可運行專用的人機(jī)界面,如圖3、圖4所示。
圖3 各軸左邊顯示畫面
圖4 加工參數(shù)輸入界面
經(jīng)過長期的試驗,在西門子802Dsl系統(tǒng)上開發(fā)的數(shù)控插齒機(jī)專用參數(shù)界面,能極大地方便這種專用機(jī)床的使用,提高了工作效率。這種開發(fā)的方法也為西門子802Dsl數(shù)控系統(tǒng)進(jìn)行專用應(yīng)用的界面開發(fā)具有普遍的參考價值。機(jī)床制造企業(yè)通過對數(shù)控系統(tǒng)人機(jī)界面進(jìn)行二次開發(fā)可以實現(xiàn)專業(yè)性更強(qiáng)和更加靈活的功能,開發(fā)出更加方便操作,應(yīng)用更加全面的人機(jī)界面,進(jìn)而增加產(chǎn)品的附加值,提升產(chǎn)品的競爭力。
[1]邴旭,化春雷,李焱,等.西門子數(shù)控系統(tǒng)人機(jī)界面二次開發(fā)方法研究[J].制造技術(shù)與機(jī)床,2011(10):163-167.
[2]張莉軍,杜宏祺,武玉明.大型滾齒加工設(shè)備只能切削軟件系統(tǒng)的開發(fā)[J].金屬加工(冷加工),2012(9):61-64.
專家點評
現(xiàn)在通用的數(shù)控系統(tǒng)界面對所有類型的機(jī)床展現(xiàn)的是同一種形式,不能根據(jù)用戶的需求進(jìn)行相應(yīng)的調(diào)整。本文作者通過對通用的人機(jī)界面進(jìn)行二次開發(fā),得到了獨具特色的人機(jī)交互界面。
重點介紹了人機(jī)界面初始化定義及文字、圖片、框體配置應(yīng)用方法,同時介紹了語言切換、參數(shù)、變量及xml程序調(diào)試的步驟,這對于用戶和數(shù)控系統(tǒng)制造商來說都有很重要的指導(dǎo)意義。