邴 旭 林劍峰 徐兆成 化春雷
(沈陽(yáng)機(jī)床(集團(tuán))有限責(zé)任公司,遼寧 沈陽(yáng) 110142)
人機(jī)界面,即HMI(Human Machine Interface),是用戶與機(jī)床互相傳遞信息的媒介。數(shù)控系統(tǒng)自帶的標(biāo)準(zhǔn)人機(jī)界面,可以用來(lái)實(shí)現(xiàn)操作、監(jiān)控、編程、設(shè)置和診斷功能,但并不是對(duì)所有機(jī)床都是最優(yōu)的設(shè)計(jì)。為了能夠滿足不同客戶的需要以及不同機(jī)床特性,系統(tǒng)提供了用戶自己開(kāi)發(fā)人機(jī)界面的功能。如西門(mén)子、FANUC、海德漢以及一些國(guó)產(chǎn)系統(tǒng)的人機(jī)界面的開(kāi)發(fā)方法,其目的就是要利用專(zhuān)業(yè)的開(kāi)發(fā)軟件,開(kāi)發(fā)出具有自身特色的、實(shí)用的個(gè)性化界面,進(jìn)一步發(fā)揮數(shù)控系統(tǒng)的性能,提高我國(guó)數(shù)控機(jī)床的檔次。
從機(jī)床的發(fā)展趨勢(shì)來(lái)看,人機(jī)界面的需求主要集中在以下幾個(gè)方面:
(1)專(zhuān)用機(jī)床上的應(yīng)用 專(zhuān)用磨床、激光切割機(jī)床等,需要有自己的專(zhuān)用界面,這樣才方便對(duì)設(shè)備的操作、管理,也使專(zhuān)用機(jī)床的效益得到充分的發(fā)揮。
(2)特殊結(jié)構(gòu)上的應(yīng)用 在機(jī)床的應(yīng)用中,往往許多機(jī)床都有其自身特有的部分,用戶為了操作需要,經(jīng)常會(huì)提出定制相關(guān)操作界面的需求。
(3)簡(jiǎn)化操作的需要 以提高工作效率等為目的人機(jī)界面開(kāi)發(fā)需求無(wú)疑是所占界面開(kāi)發(fā)需求比重最大的,把常用參數(shù)和常用的功能歸納到若干個(gè)畫(huà)面中,并且可以直接修改,用戶操作起來(lái)就會(huì)更加方便。
目前,常用的西門(mén)子數(shù)控系統(tǒng)有802D sl、810D、840D pl。其中802D sl由于面向低端經(jīng)濟(jì)型數(shù)控機(jī)床,其人機(jī)界面能夠滿足絕大多數(shù)用戶的需要,因此不需要進(jìn)行界面的二次開(kāi)發(fā),而實(shí)際上西門(mén)子公司也沒(méi)有提供802D sl系統(tǒng)人機(jī)界面的開(kāi)發(fā)方法。
810D和840D pl系統(tǒng)是一個(gè)開(kāi)放式的數(shù)控系統(tǒng),其人機(jī)界面HMI Advanced具有擴(kuò)展用戶接口、HMI編程包(HMI Programming Package)和WinCC Flexible三種開(kāi)發(fā)方法。它們各自的特點(diǎn)見(jiàn)表1所示。
表1 HMI Advanced界面的開(kāi)發(fā)方法比較
西門(mén)子公司新推出的828D和840D sl系統(tǒng),其人機(jī)界面是HMI Operate。它支持?jǐn)U展用戶接口,只是語(yǔ)法稍有不同,對(duì)于840D sl系統(tǒng),還可以購(gòu)買(mǎi)相應(yīng)版本的HMI Operate的編程包進(jìn)行二次開(kāi)發(fā)。
綜上,西門(mén)子系統(tǒng)人機(jī)界面的開(kāi)發(fā)方法可以分為擴(kuò)展用戶接口、HMI編程包、西門(mén)子專(zhuān)業(yè)組態(tài)軟件WinCC Flexible三類(lèi)。下面以常用的HMI Advanced為例,說(shuō)明這三類(lèi)開(kāi)發(fā)方法的應(yīng)用。
擴(kuò)展用戶接口配置的畫(huà)面可實(shí)現(xiàn)定義畫(huà)面中的軟鍵和變量、動(dòng)態(tài)改變畫(huà)面、定義操作等級(jí)、讀寫(xiě)NC/PLC變量等功能,并可做算術(shù)和邏輯運(yùn)算。它定義標(biāo)準(zhǔn)界面上的空白軟鍵,激活存放在標(biāo)準(zhǔn)循環(huán)目錄(或制造商循環(huán)、用戶循環(huán))下的com文件中,該文件是文本格式的,按照一定語(yǔ)法規(guī)則編寫(xiě)的文件。但是鑒于語(yǔ)法中的參數(shù)過(guò)于復(fù)雜,只適合開(kāi)發(fā)一些非常簡(jiǎn)單的界面。
HMI編程包允許用戶將使用VB和VC++編寫(xiě)的應(yīng)用程序加入HMI Advanced,并可通過(guò)編程包提供的接口訪問(wèn)NC/PLC變量、實(shí)現(xiàn)多幅畫(huà)面的調(diào)用、管理NC數(shù)據(jù)、實(shí)現(xiàn)復(fù)雜的計(jì)算和畫(huà)面。用戶可在HMI編程包提供的Sample基礎(chǔ)上開(kāi)發(fā)界面程序。下面以程序oembsp1.exe為例說(shuō)明界面程序的開(kāi)發(fā)方法。界面運(yùn)行效果如圖1所示。
(1)打開(kāi)HMI編程包自帶的例子程序oembsp1.vbp,根據(jù)需要添加控件并設(shè)計(jì)界面外觀,調(diào)用編程包中提供的函數(shù)訪問(wèn)數(shù)控系統(tǒng),編程結(jié)束后生成oembsp1.exe文件。
(2)修改配置文件:
①改RE_UK.ini,配置接口軟鍵文本,在HMI中將6號(hào)軟鍵的標(biāo)簽修改為“test”:
HSK6=“test”
②修改Regie.ini,為6號(hào)軟鍵配置應(yīng)用程序oembsp1.exe:
Task6=name:=oembsp1,Timeout:=60000
(3)放入下面兩個(gè)文件:
①oembsp1.mdi:定義了所有程序內(nèi)部子窗口及其類(lèi)型。
②oembsp1.zus:定義了oem程序的狀態(tài)及動(dòng)作。
(4)在oembsp1.ini文件中定義上面兩個(gè)文件的位置:
MDIList=OEMBSP1OEMBSP1.MDI
ControlFile=OEMBSP1OEMBSP1.ZUS
(5)在oemlanguage目錄中的o1_UK.dll文件中,定義OEM程序內(nèi)的軟鍵文本。
WinCC Flexible是西門(mén)子公司的專(zhuān)業(yè)組態(tài)軟件,適用于西門(mén)子的各種操作面板,可實(shí)現(xiàn)鼠標(biāo)和功能鍵的處理,輸入/輸出域,bar條,歷史曲線等等。應(yīng)用WinCC Flexible開(kāi)發(fā)的畫(huà)面既可以作為HMI Advanced的擴(kuò)展,也可單獨(dú)運(yùn)行。圖2為應(yīng)用WinCC Flexible軟件開(kāi)發(fā)的機(jī)床HMI界面。
應(yīng)用WinCC Flexible軟件開(kāi)發(fā)界面的特點(diǎn)是具有強(qiáng)大的圖形化組態(tài)功能,簡(jiǎn)單高效、易于上手、開(kāi)發(fā)周期短。它提供了智能化的向?qū)Чぞ吆凸┯脩羰褂玫呢S富圖庫(kù)及操作對(duì)象,并支持用戶自定義對(duì)象。它還具有強(qiáng)大的通信組態(tài)功能,支持多種通信類(lèi)型,可組態(tài)基于Windows CE的SIMATIC HMI設(shè)備、西門(mén)子的C7、乃至PC機(jī)??梢耘c西門(mén)子的STEP7、iMap和Scout等軟件集成在一起。并且具有優(yōu)良的開(kāi)放性和擴(kuò)展性,支持VB腳本和C腳本功能。
目前,F(xiàn)ANUC系統(tǒng)人機(jī)界面的開(kāi)發(fā)方法有三種:宏執(zhí)行器、C語(yǔ)言執(zhí)行器、FANUC PICTURE。這三種開(kāi)發(fā)方法的特點(diǎn)如表2所示。
宏執(zhí)行器通常用于集成加工程序,制作特殊加工固定循環(huán),或者簡(jiǎn)單地自定義畫(huà)面;C語(yǔ)言執(zhí)行器功能強(qiáng)大,是被廣泛應(yīng)用的計(jì)算機(jī)語(yǔ)言,基本上可以取代宏執(zhí)行器,國(guó)外高檔機(jī)床、特殊機(jī)床應(yīng)用較多,但是使用C語(yǔ)言執(zhí)行器開(kāi)發(fā)界面周期長(zhǎng),調(diào)試過(guò)程復(fù)雜。
運(yùn)用C語(yǔ)言執(zhí)行器開(kāi)發(fā)界面,將源文件(.src)編譯為二進(jìn)制文件(.rel),可通過(guò)中間文件(.lst)看編譯錯(cuò)誤記錄。
usage:mcompi[SRC File][-0/-30]
-0:Macro compile for FS0i-D
-30:Macro compile for FS30i
然后,通過(guò)Link控制文件(.lnk),鏈接二進(jìn)制文件和庫(kù)文件(.mex)最終生成Rom文件(.rom),再將Rom文件轉(zhuǎn)換為存儲(chǔ)卡格式文件(.mem),最后傳到CNC中。
運(yùn)用C語(yǔ)言執(zhí)行器開(kāi)發(fā)界面,首先要安裝WinRiver Compiler,從源文件到最終文件生成的過(guò)程由Win-River Compiler直接完成,相關(guān)內(nèi)容定義都在批處理文件Makefile中,執(zhí)行時(shí)只需輸入nmake.exe命令即可。最終文件為存儲(chǔ)卡文件格式(.mem),最后傳到CNC中。
表2 FANUC系統(tǒng)人機(jī)界面的開(kāi)發(fā)方法比較
FANUC PICTURE采用圖形化設(shè)計(jì)界面,特別適合畫(huà)面的制作,能夠滿足絕大部分用戶界面開(kāi)發(fā)的需要。開(kāi)發(fā)界面程序過(guò)程如下:
(1)首先創(chuàng)建一個(gè)新工程,對(duì)CNC硬件做參數(shù)配置,在多語(yǔ)言設(shè)定選項(xiàng)卡中可以設(shè)定語(yǔ)言種類(lèi)和不同語(yǔ)言的切換方式。
(2)用編輯環(huán)境設(shè)計(jì)畫(huà)面,畫(huà)面的編輯過(guò)程就是設(shè)置通用控件以及FANUC專(zhuān)有控件的位置和屬性的過(guò)程。
(3)為了與CNC系統(tǒng)交換信息,必須給各圖形元素賦予對(duì)應(yīng)CNC各種信息的功能。為此FANUC PICTURE設(shè)計(jì)了兩種功能指令庫(kù):CNC窗口庫(kù)和PMC窗口庫(kù)。繪圖時(shí)點(diǎn)擊圖形元素的屬性,在屬性項(xiàng)中將相應(yīng)的功能賦予該元素即可完成與CNC系統(tǒng)的鏈接,所繪畫(huà)面即會(huì)具有操作CNC與顯示CNC信息的功能。
(4)編程結(jié)束后,將執(zhí)行文件傳入CNC的Flash ROM中存儲(chǔ),在數(shù)控系統(tǒng)上運(yùn)行。圖3所示為應(yīng)用FANUC PICTURE開(kāi)發(fā)的軸狀態(tài)顯示界面。
海德漢數(shù)控系統(tǒng)的界面修改與制作大體分為兩種方法,第一種方法是通過(guò)菜單編輯軟件MenuDesign來(lái)編輯界面,這種方法操作簡(jiǎn)便,但是不夠靈活,可以改變界面中右側(cè)軟鍵的圖標(biāo)樣式,及點(diǎn)擊后產(chǎn)生的PLC時(shí)序功能,與PLC程序可以很好的結(jié)合。圖4所示為利用MenuDesign編輯器開(kāi)發(fā)的界面,在原有界面右側(cè)空白軟鍵處,增加了一個(gè)帶有“SYMG”標(biāo)志的圖形軟鍵,按下該軟鍵,會(huì)進(jìn)入如圖5所示的自己開(kāi)發(fā)的各伺服軸運(yùn)行狀態(tài)畫(huà)面,該畫(huà)面中顯示有機(jī)床各個(gè)軸運(yùn)動(dòng)時(shí)的實(shí)際速度等信息。
第二種界面開(kāi)發(fā)方法需要用到Python、Glade和Winpdb等第三方軟件,結(jié)合海德漢的PLC程序及宏程序,來(lái)實(shí)現(xiàn)界面的修改及制作。該方法的特點(diǎn)是制作過(guò)程比較復(fù)雜,但應(yīng)用效果很靈活。其中,Python OEM程序選裝,是為機(jī)床制造商提供的面向?qū)ο蟮目刂葡到y(tǒng)高級(jí)編程語(yǔ)言,開(kāi)發(fā)的程序可以通過(guò)熟悉的PLC窗口導(dǎo)入到PLC中,也可以顯示在單獨(dú)可用的窗口中,這個(gè)窗口可擴(kuò)展為T(mén)NC的全屏顯示。制作過(guò)程如圖6所示。
首先用Glade軟件制作需要顯示的界面,再通過(guò)對(duì)Python和PLC的編程,將該界面需要導(dǎo)入的觸發(fā)事件和顯示模式做好,之后一并送入到NC的控制核心進(jìn)行運(yùn)算,最終達(dá)到預(yù)期的目的。
國(guó)產(chǎn)數(shù)控系統(tǒng)使用較多的有華中數(shù)控、廣州數(shù)控、沈陽(yáng)高精、大連光洋以及飛陽(yáng)系統(tǒng)。其中,廣州數(shù)控系統(tǒng)、沈陽(yáng)高精以及飛陽(yáng)系統(tǒng)尚未提供人機(jī)界面的開(kāi)發(fā)方法。不過(guò)對(duì)于大批量訂購(gòu)的系統(tǒng),廠家可以在系統(tǒng)出廠前按用戶的要求定制界面。目前只有華中數(shù)控和大連光洋系統(tǒng)提供了人機(jī)界面開(kāi)發(fā)的解決方案。
華中數(shù)控的人機(jī)界面開(kāi)發(fā)使用的是華中數(shù)控2000型數(shù)控底層控制軟件包HCNC-API2.0。該軟件的運(yùn)行平臺(tái)是MS-DOS5.0或以上版本,并需要先安裝Borland C++3.1。在安裝目錄下運(yùn)行N.BAT即可裝載底層并運(yùn)行DEMO程序,運(yùn)行N1.BAT即可裝載底層并運(yùn)行IIPDEMO.EXE,運(yùn)行E.BAT底層控制程序退出。其界面的開(kāi)發(fā)是基于C/C++,可以完成屏幕背景的設(shè)置、清屏、移動(dòng)光標(biāo)等基本功能,在程序的開(kāi)始部分需要使用putch()、textattr()等指令進(jìn)行初始化與底層NCBIOS的接口,獲取NCBIOS通信區(qū)指針,將部分通信區(qū)數(shù)據(jù)賦初值,通過(guò)這一過(guò)程來(lái)完成HMI與NC數(shù)據(jù)的通信連接。在主程序中可以通過(guò)memset()、gptoxy()和ch_move_rel()等指令與其操作面板上的F1~F7按鈕的配合來(lái)進(jìn)行各個(gè)軸運(yùn)動(dòng)的控制。
大連光洋數(shù)控系統(tǒng)從整體結(jié)構(gòu)上分為OHMI、通信服務(wù)器和CNC內(nèi)核三部分。通信服務(wù)器負(fù)責(zé)CNC內(nèi)核和OHMI之間的通信工作以及對(duì)客戶端指令的解釋和處理??蛻舳烁鶕?jù)通信服務(wù)器提供的通信協(xié)議與通信服務(wù)器進(jìn)行數(shù)據(jù)的通信。對(duì)用戶開(kāi)放的是HMI部分,因?yàn)閷?duì)用戶開(kāi)放,所以光洋數(shù)控系統(tǒng)的開(kāi)放式HMI也稱OHMI。OHMI的開(kāi)發(fā)主要使用C/C++,遵循socket通信協(xié)議。用戶可以使用C/C++語(yǔ)言根據(jù)不同的需要開(kāi)發(fā)客戶端程序,所有客戶端程序的統(tǒng)稱為OHMI。
隨著對(duì)數(shù)控系統(tǒng)更深層次的研究,對(duì)其結(jié)構(gòu)和系統(tǒng)硬件的分析,可以獲得重要的技術(shù)參數(shù),通過(guò)對(duì)人機(jī)界面的開(kāi)發(fā),便能夠?qū)⒆赃m應(yīng)控制、模糊控制、神經(jīng)網(wǎng)絡(luò)控制和前饋控制等先進(jìn)的控制技術(shù)應(yīng)用于數(shù)控機(jī)床,這無(wú)疑會(huì)進(jìn)一步提高機(jī)床整體的性能與質(zhì)量,進(jìn)而增加產(chǎn)品附加值,提升產(chǎn)品競(jìng)爭(zhēng)力。
[1]高峰.西門(mén)子OEM軟件在數(shù)控凸輪軸磨床上的開(kāi)發(fā)與應(yīng)用[J].制造技術(shù)與機(jī)床,2006(10):122-125.
[2]侯春明,化春雷,邴旭,等.基于西門(mén)子840D數(shù)控系統(tǒng)的倒置式立式車(chē)床人機(jī)界面開(kāi)發(fā)[J].制造技術(shù)與機(jī)床,2010(2):81-84.
[3]汪木蘭.?dāng)?shù)控原理與系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2005.