邴 旭 化春雷 李 焱 劉春時(shí)
(沈陽機(jī)床(集團(tuán))有限責(zé)任公司,遼寧沈陽 110142)
人機(jī)界面(Human Machine Interface,HMI)是用戶與機(jī)床互相傳遞信息的媒介,用來實(shí)現(xiàn)信息的輸入與輸出。數(shù)控系統(tǒng)已經(jīng)具備比較通用的人機(jī)界面功能,用來實(shí)現(xiàn)操作、監(jiān)控、編程、設(shè)置和診斷功能。
隨著我國工業(yè)化進(jìn)程的日益推進(jìn),機(jī)械零部件加工工藝的不斷翻新,對高性能、高精度機(jī)床的需求也越來越大。因此,國家撥出了專項(xiàng)資金,進(jìn)行多款新型機(jī)床的研制。然而,隨著新型機(jī)床的不斷涌現(xiàn),通用的HMI界面已經(jīng)不能很好地滿足用戶的需要,為使人機(jī)界面向著更加人性化、更加高科技化的方向發(fā)展,機(jī)床企業(yè)非常有必要投入人力物力對人機(jī)界面的二次開發(fā)進(jìn)行系統(tǒng)的研究。通過對通用HMI界面的二次開發(fā),機(jī)床制造商可以針對不同機(jī)床和不同應(yīng)用場合,開發(fā)出獨(dú)具特色的人機(jī)交互界面。
從機(jī)床的發(fā)展趨勢來看,人機(jī)界面的需求主要集中在以下幾個方面:
(1)專用機(jī)床上的應(yīng)用
專用機(jī)床如專用磨床、激光切割機(jī)床等,需要有自己的專用界面,這樣才方便對設(shè)備進(jìn)行操作和管理,也使專用機(jī)床的效益得到充分的發(fā)揮。因此隨著專用機(jī)床所占市場份額的增加,人機(jī)界面二次開發(fā)的需求量也相應(yīng)增加。
(2)特殊結(jié)構(gòu)上的應(yīng)用
在機(jī)床的應(yīng)用中,往往許多機(jī)床都有其自身特有的部分,用戶為了操作需要,經(jīng)常會提出定制相關(guān)操作界面的需求。
(3)簡化操作的需要
如果能夠把機(jī)床的一些常用參數(shù)和常用的功能歸納到若干個畫面中,并且可以直接修改,用戶操作起來就會更加方便和靈活。以提高工作效率等為目的的人機(jī)界面開發(fā)需求無疑是所占界面開發(fā)需求比重最大的。其需求大致可以分為以下幾方面:
①參數(shù)設(shè)定 用來設(shè)置運(yùn)行時(shí)間、系統(tǒng)參數(shù)以及改變測量系統(tǒng)等的界面;
②系統(tǒng)診斷 用來處理I/O信息及報(bào)警處理等的界面;
③功能擴(kuò)展 對標(biāo)準(zhǔn)的系統(tǒng)功能進(jìn)行深度擴(kuò)展。
目前,國內(nèi)外常用的西門子數(shù)控系統(tǒng)有802D sl、810D、840D pl。其中802D sl由于面向低端經(jīng)濟(jì)型數(shù)控機(jī)床,其人機(jī)界面能夠滿足絕大多數(shù)用戶的需要,因此不需要進(jìn)行界面的二次開發(fā),而實(shí)際上西門子公司也沒有提供802D sl系統(tǒng)人機(jī)界面的開發(fā)方法。
810D和840D pl系統(tǒng)都是開放式的數(shù)控系統(tǒng),其配套的人機(jī)界面HMI Embeded或HMI-Advanced建立在Windows System-embed之上。針對HMI的二次開發(fā),西門子提供了3種開發(fā)方法,分別是系統(tǒng)預(yù)留的擴(kuò)展用戶接口、HMI編程包(HMI programming package)以及西門子公司開發(fā)的專業(yè)組態(tài)軟件 WinCC Flexible。它們各自的特點(diǎn)如表1所示。
表1 3種界面開發(fā)方法的特點(diǎn)比較
最近,西門子公司新推出了兩款數(shù)控系統(tǒng),分別是用于中檔機(jī)床的828D和用于高端機(jī)床的840D sl,它們相應(yīng)的HMI軟件是基于Linux操作系統(tǒng)的operator。針對operator的二次開發(fā),西門子提供了兩種開發(fā)方法,一種是擴(kuò)展用戶接口,一種是針對operator的開發(fā)包。這兩種開發(fā)方法與針對HMI Embedded或HMIAdvanced的擴(kuò)展用戶接口和HMI開發(fā)包非常相似,只是語法和軟件上稍有不同。
綜上所說,我們可以看出,針對西門子系統(tǒng)的HMI界面二次開發(fā)方法,可以分為擴(kuò)展用戶接口、HMI編程包、西門子專業(yè)組態(tài)軟件WinCC Flexible三類。下面以開發(fā)常用的HMI-Advanced界面為例,說明一下3種開發(fā)方法的應(yīng)用。
擴(kuò)展用戶接口適用于 MMC、HMI Embedded和HMI Advanced,通過它配置的畫面可實(shí)現(xiàn)下列功能:
(1)定義畫面中的軟鍵、變量、表格、文本和圖片等。
(2)對打開畫面,輸入數(shù)值,按壓軟鍵以及退出畫面等動作做出響應(yīng);動態(tài)改變畫面,如改變畫面中軟鍵、文字和圖片等。
(3)定義操作等級,在不同的系統(tǒng)保護(hù)等級下顯示不同的內(nèi)容。
(4)執(zhí)行功能,讀寫NC/PLC變量,并可做算術(shù)和邏輯運(yùn)算;可通過軟鍵或PLC的信號調(diào)用畫面,進(jìn)行多個畫面間的數(shù)據(jù)交換。
它利用并定義標(biāo)準(zhǔn)界面上的空白軟鍵激活存放于標(biāo)準(zhǔn)循環(huán)(或制造商循環(huán),或用戶循環(huán))目錄下的畫面配置文件(com文件)。畫面配置文件是文本格式的按照一定語法規(guī)則編寫的文件,具體語法和格式可以參考Doc on CD中的SINUMERIK 840D/840Di/810D HMI Installation and Start-Up Guide文檔。
使用此種方法,可編寫出與 SINUMERIK810D/840D/840Di加工循環(huán)幫助畫面相似的畫面,并且在SINUMERIK 840D/810D使用的工具盒(Toolbox)中提供了若干實(shí)例,幫助初學(xué)的用戶理解和掌握此方法。該方法是系統(tǒng)標(biāo)準(zhǔn)功能,畫面配置語句多,能夠完成一些常用畫面的編制,但是鑒于語法中的參數(shù)過于復(fù)雜,只適合開發(fā)一些非常簡單的界面,不建議應(yīng)用該方法開發(fā)較復(fù)雜的界面。
HMI編程包(HMI Programming Package)不是系統(tǒng)標(biāo)配的,需要額外訂購。應(yīng)用HMI編程包,允許用戶將使用VB或VC++編寫的應(yīng)用程序加入HMI Advanced,并可通過提供的接口實(shí)現(xiàn)諸多功能。例如,訪問NC/PLC變量、多畫面的調(diào)用、NC數(shù)據(jù)管理、復(fù)雜的計(jì)算、輸出加工數(shù)據(jù)等功能。
由于PCU上預(yù)裝的都是英文的XP系統(tǒng),因此建議最好在英文Windows系統(tǒng)下安裝HMI編程包并進(jìn)行界面二次開發(fā),以防止英文開發(fā)軟件和中文操作系統(tǒng)兼容性不好而造成若干問題。
開發(fā)時(shí)需要將HMI開發(fā)包提供的模塊、窗體加入到創(chuàng)建的工程中。由于相關(guān)的模塊和窗體較多,建議用戶可在HMI編程包自帶的Sample的基礎(chǔ)上開發(fā)自己的oem程序。
我們開發(fā)的界面程序以及相關(guān)配置文件,需放置在oem,hmi_adv,mmc2中才可正常運(yùn)行,如果這幾個目錄中的同名文件的配置不同,則oem中的文件配置生效,因此,我們要將界面相關(guān)的文件放置在oem或其子文件夾中。下面以應(yīng)用VB為例說明界面程序的開發(fā)和嵌入過程:
(1)打開例子HMI編程包自帶的程序oembsp1.vbp,根據(jù)需要設(shè)計(jì)自己的界面,最后生成可執(zhí)行文件oembsp1.exe。這與開發(fā)普通VB程序的過程幾乎沒什么區(qū)別,只是HMI提供的控件與VB或VC標(biāo)準(zhǔn)控件的外觀和屬性會稍有不同。
(2)修改配置文件:
①修改oem目錄中的RE_UK.ini,配置軟鍵6(可以根據(jù)需要設(shè)定調(diào)用開發(fā)界面的入口軟鍵)的文本,將6號軟鍵的標(biāo)簽修改為“test”:
②修改oem目錄中的Regie.ini,為6號軟鍵配置我們開發(fā)的界面程序oembsp1.exe:
(3)根據(jù)需要修改在oemoembsp1目錄中的2個文件:
①修改.mdi 定義了所有程序內(nèi)部子窗口及其類型。
②修改.zus 定義了oem程序的狀態(tài)及動作。例如如下文件中的矩陣定義了State 0時(shí),水平與垂直軟鍵擴(kuò)展數(shù)為0,包含有OEM1與OEM2兩個子窗口,按下軟鍵0將觸發(fā)狀態(tài)1。
[0] 0 0 “OEM1””O(jiān)EM2” ”0”1
(4)根據(jù)需要修改在oem目錄下的oembsp1.ini文件中的CONTROL字段,指定上面2個文件的位置。例如:
(5)在 oemlanguageo1_UK.dll中,定義了界面程序中軟鍵的文本,可用VC++以“資源”方式查看并修改。
最后可以把所需的文件統(tǒng)一制作成一個安裝包。這樣可以實(shí)現(xiàn)一鍵式安裝界面,操作十分簡便,只要懂一點(diǎn)基礎(chǔ)的電腦知識,即使不是專業(yè)設(shè)計(jì)人員也可以安裝該界面。此外,當(dāng)不需要該界面時(shí),可以在PCU今后windows后,很方便地卸載。
筆者應(yīng)用HMI開發(fā)包開發(fā)了幾個界面,如為某型號臥式加工中心開發(fā)了一套方便電氣設(shè)計(jì)員調(diào)試的調(diào)試界面(圖1);為某型號機(jī)床開發(fā)了一套托盤交換操作界面(圖2),應(yīng)用此界面能夠省掉一套按鈕操作面板,而且也方便了設(shè)計(jì)人員。
WinCC Flexible是西門子公司開發(fā)的專業(yè)組態(tài)軟件,若要應(yīng)用于數(shù)控機(jī)床人機(jī)界面的開發(fā),還要安裝一個SINUMERIK配置包。WinCC Flexible適用于西門子的各種操作面板,可組態(tài)基于Windows CE的SIMATIC HMI設(shè)備、西門子的 C7、乃至 PC機(jī)。支持TIA,可以與西門子的STEP7、iMap和Scout等軟件集成在一起。WinCC Flexible易于上手,功能強(qiáng)大,圖庫和操作對象豐富,提供智能化的向?qū)Чぞ?,支持VB腳本和C腳本功能。
應(yīng)用WinCC Flexible組態(tài)了HMI界面后,要把生成的運(yùn)行文件復(fù)制到MMC或PCU上。這種方法生成的畫面可以嵌入HMI Advanced,也可單獨(dú)運(yùn)行(多用于生產(chǎn)線或機(jī)床的輔助面板等)。下面以設(shè)計(jì)一個如圖3所示的界面為例,來說明應(yīng)用WinCC Flexible開發(fā)界面的過程。
(1)設(shè)計(jì)界面外觀
在WinCC Flexible的設(shè)計(jì)窗口中繪制界面的外觀。根據(jù)需要在設(shè)計(jì)窗口中添加控件,常用的控件有如各種形狀、IO域、按鈕、文本框等。界面空間的布局應(yīng)簡潔明了,設(shè)計(jì)人員應(yīng)根據(jù)對現(xiàn)實(shí)操作物的理解設(shè)計(jì)出能給用戶帶來方便的界面。
(2)配置與NCU的通訊連接
首先在WinCC Flexible的連接配置窗口中添加連接,如果是訪問PLC變量需要添加SINUMERIK PLC連接,如果還要訪問NC變量,則還需要添加SINUMERIK NC連接。添加了連接之后,還要在變量配置窗口中添加所需要訪問的PLC變量、NC變量以及WinCC Flexible界面程序的內(nèi)部變量。
(3)為控件關(guān)聯(lián)變量、定義事件
為了讓界面中的控件能夠?qū)崟r(shí)顯示機(jī)床的狀態(tài)并控制機(jī)床的動作,我們需要為控件配置PLC變量和NC變量、定義事件。例如,在IO域的general選項(xiàng)中,設(shè)置tag屬性為所要顯示的變量,即可在界面運(yùn)行時(shí)實(shí)時(shí)顯示該變量。又如在按鈕控件的事件選項(xiàng)中,可為各種鼠標(biāo)和鍵盤等事件配置所要觸發(fā)的系統(tǒng)函數(shù),如果想要觸發(fā)一系列動作,可以先編寫動作腳本,然后再調(diào)用。腳本語言可以根據(jù)設(shè)計(jì)人員的實(shí)際情況采用VB腳本語言或者是C腳本語言。
(4)設(shè)置報(bào)警
在WinCC Flexible的報(bào)警管理器中可以設(shè)置模擬量和數(shù)字量的報(bào)警。設(shè)置了觸發(fā)報(bào)警的條件后,界面運(yùn)行時(shí),一旦滿足報(bào)警條件就能夠即時(shí)發(fā)出報(bào)警。例如,設(shè)置當(dāng)主軸溫度傳感器的測量值超過某一設(shè)置值時(shí)發(fā)出主軸溫度高報(bào)警。這樣調(diào)試人員就可以根據(jù)報(bào)警立刻知道問題所在,及時(shí)解決故障。
(5)生成界面運(yùn)行文件
界面編制好之后,通過編譯或者運(yùn)行都會生成一個.fwx文件,這個文件就是界面程序的運(yùn)行文件。把該文件復(fù)制到要運(yùn)行的電腦上(如PCU或筆記本電腦),并在該電腦上裝好WinCC Flexible安裝程序的Runtime部分后,即可運(yùn)行界面程序的運(yùn)行文件。
EPS、ARTIS等軟件是獨(dú)立于SIEMENS系統(tǒng)的具有遠(yuǎn)程診斷功能和刀具監(jiān)測功能的專業(yè)軟件。我們需要將其嵌入在系統(tǒng)HMI內(nèi)部,通過軟鍵來調(diào)用,實(shí)現(xiàn)某些專業(yè)的功能。例如圖4為通過按頁面下的“ARTIS”軟鍵,調(diào)出圖5所示的ARTIS軟件操作界面。
按照如下的方法修改配置文件后,即可在HMI Advanced中調(diào)出ARTIS程序。
(1)修改RE_UK.ini,配置入口軟鍵文本:
(2)修改Regie.ini,為6號軟鍵配置應(yīng)用程序ARTIS.exe:
下面例舉2個實(shí)用的第三方程序嵌入HMI Advanced的例子。
例1:在HMI Advanced嵌入WinCC Flexible運(yùn)行文件。
修改RE_UK.ini,配置接口軟鍵7(可根據(jù)需要設(shè)置軟鍵)文本HSK 7=“WinCC",并按如下格式修改Regie.ini。
例2:在HMI中嵌入Step7軟件,這樣在PCU上就可以修改NCU中的PLC程序而不用其他調(diào)試用的設(shè)備。
修改RE_UK.ini,配置接口軟鍵7(可根據(jù)需要設(shè)置軟鍵)文本HSK 7=“Step7",并按如下格式修改Regie.ini。
今后,隨著我們對數(shù)控系統(tǒng)結(jié)構(gòu)和硬件的深入研究,自適應(yīng)控制、模糊控制、神經(jīng)網(wǎng)絡(luò)控制和前饋控制等先進(jìn)控制技術(shù)在數(shù)控機(jī)床領(lǐng)域的應(yīng)用,無疑將進(jìn)一步提高我國數(shù)控機(jī)床的性能與質(zhì)量。在這種情況下,機(jī)床制造企業(yè)需要通過對HMI界面的二次開發(fā)來實(shí)現(xiàn)為數(shù)控機(jī)床添加可靠性更高、專業(yè)性更強(qiáng)的功能,開發(fā)出操作更加靈活方便、功能更加全面的人機(jī)界面,進(jìn)而增加產(chǎn)品的附加值,提升產(chǎn)品的競爭力。
[1]高峰.西門子OEM軟鍵在數(shù)控凸輪軸磨床上的開發(fā)與應(yīng)用[J].制造技術(shù)與機(jī)床,2006(10):122-125.