郭峰, 鄔鐸, 化春雷, 仇健, 李正男
(沈陽機(jī)床(集團(tuán))有限責(zé)任公司,沈陽 110142)
SINUMERIK 808D是一款針對(duì)普及型數(shù)控設(shè)備的操作系統(tǒng),其通過采用智能、堅(jiān)固和易于操作的硬件方案,為普及型數(shù)控設(shè)備樹立了新典范。在機(jī)床行業(yè)如何與對(duì)手的產(chǎn)品差異化競(jìng)爭(zhēng)成為各個(gè)廠家樹立自己品牌的新出發(fā)點(diǎn),除了機(jī)床自身的性能上的提升,數(shù)控系統(tǒng)的個(gè)性化成為能否成功的重要因素。為了實(shí)現(xiàn)這種個(gè)性化的要求,SINUMERIK 808D提供了靈活性極高的開放式結(jié)構(gòu)。本文將討論自定義畫面功能在普及型數(shù)控車床上的功能應(yīng)用。
1)基本信息介紹:售后信息,機(jī)型介紹,功能特點(diǎn),圖片或文本方式較多;2)基本調(diào)試支持:I/O狀態(tài)監(jiān)控,機(jī)床數(shù)據(jù)修改,與PLC進(jìn)行數(shù)據(jù)交換(DB/M/I/O);3)基本狀態(tài)信息及加工關(guān)聯(lián):機(jī)床基本狀態(tài)讀取(坐標(biāo)/刀具號(hào)/倍率/速度),與加工宏程序機(jī)型關(guān)聯(lián)(R變量)。
1)格式的注意原則
有始有終:

逐級(jí)對(duì)應(yīng):


2)基本格式與層級(jí)模式(見圖1)。
1)Include
功能:寫在 xmldial.xml中,用于聲明還是用到了哪些寫有代碼的文件。
格式:<·INCLUDE src=“xxxx"·>
2)Menu
功能:聲明需要打開的form,定義該對(duì)話框中的軟按鍵。
格式:<o(jì)pen_formname=“…”/>
3)Let
功能:聲明一個(gè)自定義的變量,并根據(jù)需要定義變量的格式和預(yù)設(shè)值。

圖1 基本格式與層級(jí)
格式:<let name=“名稱”type=“int/float/double/string”>預(yù)設(shè)值</let>
4)Op
功能:用于賦值。
格式:<o(jì)p>“plc/m0.0”=1</op>
5)Function_body
功能:該指令用于自定義一個(gè)函數(shù),以供在其他部分需要使用該函數(shù)邏輯的時(shí)候進(jìn)行調(diào)用。可根據(jù)需要,創(chuàng)建不同的函數(shù)類型。

6)Form
功能:在當(dāng)前界面中所顯示的全部?jī)?nèi)容和計(jì)算都在該標(biāo)簽中進(jìn)行定義,form中包含許多執(zhí)行功能的標(biāo)簽。
7)Init
功能:在該標(biāo)簽中主要進(jìn)行初始化輸入單元,該標(biāo)簽里的內(nèi)容會(huì)在每次進(jìn)入到對(duì)應(yīng)界面中的時(shí)候優(yōu)先進(jìn)行處理,且只處理一次。
8)Caption
功能:用在init標(biāo)簽內(nèi)部,用于指明該界面的標(biāo)題。
示例:<CAPTION>機(jī)床調(diào)試界面</CAPTION>
9)Control
功能:用于創(chuàng)建控制單元(即界面中需要用來輸入和顯示內(nèi)容的數(shù)據(jù)框)
示例:<control name=“…”xpos=“….”ypos=“…”height=“…” width=“…”refvar= “…” fieldtype=“…”hotlink=“true”format=“…”item_data=“數(shù)字”time=“…”font=“…”color=“#......” display_format=“…” ></control>
10)Paint
功能:該標(biāo)簽中主要放三類語句,用來顯示文本,圖片和矩形圖形。系統(tǒng)會(huì)在識(shí)別出部分對(duì)話框需要重新顯示時(shí)處理該標(biāo)簽
11)Text
功能:用于顯示文本。
示例:<text xpos=“左上角X坐標(biāo)值”ypos=“左上角Y坐標(biāo)值”>要顯示的文本內(nèi)容</text>
12)Img
功能:用于顯示圖片。
示例:<img xpos=“左上角X坐標(biāo)值”ypos=“左上角Y坐標(biāo)值”name=“f:/appl/圖片名稱.png”/>
13)Box
功能:用于顯示矩形圖形,多用于用作分割線。
<boxxpos=“左上角X坐標(biāo)值”ypos=“左上角Y坐標(biāo)值”width=“X方向長(zhǎng)度"height=“Y方向長(zhǎng)度”color=“#顏色代碼”/>
14)Timer
功能:系統(tǒng)對(duì)該標(biāo)簽中的內(nèi)容作周期性循環(huán)處理,大約每100 ms處理一次。
15)If
格式:<IF>


16)Switch
格式:<SWITCH>

17)For
格式:<LET name=“count”>0</LET>

18)While/Do_while
格式:<let name=“var”>3</let>

19)Focus_in
功能:當(dāng)control中使用到了item_data語句,并且光標(biāo)移動(dòng)到該輸入框上的時(shí)候,立刻處理該標(biāo)簽中的內(nèi)容。為了識(shí)別控制單元,系統(tǒng)將控制單元的名稱(即control中的name)復(fù)制到變量 $focus_name中并將item_data的數(shù)值復(fù)制到變量$focus_item_data中。20)Print
功能:將內(nèi)容顯示在界面下方的信息顯示框中:
<PRINT text=“text%格式化”> 變量,… </PRINT>
將文本或數(shù)值復(fù)制到指定的變量中:
<PRINT name=“變量名稱”text=“text%格式化”>
變量,…
</PRINT>
21)Control_reset
功能:可以實(shí)現(xiàn)重啟控制器的功能(多用于需要通過重啟實(shí)現(xiàn)某些參數(shù)的設(shè)置生效時(shí),可以softkey結(jié)合使用)。
示例:<Softkey_OK>

22)Request
功能:只能用于 init標(biāo)簽內(nèi),用于當(dāng)所標(biāo)識(shí)的數(shù)據(jù)發(fā)生變化時(shí),立即執(zhí)行相關(guān)聯(lián)的函數(shù)。
示例:<function_body name=“R_changed”>

23)預(yù)定義函數(shù)
字 符 處 理 類 :String.icmp,String.length,String.remove,String.delete;

圖2 開發(fā)流程圖
函數(shù)計(jì)算類:sin,cos,tan,arcsin,arccos,arctan等;
文 字 處 理 類 :doc.read fromfile,doc.writetofile,doc.remove,doc.exist;
其 他 常 用 語 句 :control.setfocus,ncfunc.password,control.localtime。

圖3 功能界面
采用基于XML的腳本語言,這是一種標(biāo)記語言,在之前廣泛應(yīng)用于制作網(wǎng)頁界面。自定義工具軟件適用于靜態(tài)頁面的開發(fā),可在軟件生成的代碼中添加XML函數(shù),實(shí)現(xiàn)復(fù)雜頁面的開發(fā)。
1)開發(fā)流程(見圖2)。

圖4 界面制作

圖5 修改代碼
2)界面功能介紹。Visual XML for 808D軟件可以分為菜單欄、項(xiàng)目管理區(qū)、編輯區(qū)和屬性區(qū)幾個(gè)部分。菜單欄:用來新建保存打開項(xiàng)目,語言和分辨率切換,軟件介紹。項(xiàng)目管理區(qū):顯示當(dāng)前運(yùn)行的項(xiàng)目,包含主菜單和用戶創(chuàng)建的子菜單。項(xiàng)目編輯區(qū):供用戶使用的圖形化編輯界面,其工具欄具有選中、文本編輯、輸入輸出框、開關(guān)按鈕、進(jìn)度條、矩形框、列表、對(duì)齊方式、層級(jí)及撤銷恢復(fù)等控件。屬性區(qū):選擇某一控件時(shí),其對(duì)應(yīng)參數(shù)將在此區(qū)域中顯示,用戶可通過此區(qū)域進(jìn)行編輯操作。一般具有位置參數(shù)、大小參數(shù)、顏色參數(shù)、數(shù)據(jù)格式參數(shù)及數(shù)據(jù)源參數(shù)等,具體視各控件而定,功能界面如圖3所示。
首先,我們需要在Visual XML for 808D中“畫”出界面,如圖4所示。
其次,在項(xiàng)目文件夾中找到代碼文件,在相應(yīng)的代碼文件中添加XML代碼,進(jìn)行二次開發(fā)(見圖5),以滿足更多功能。
最后,可以在808D on PC端或者將代碼文件拷入數(shù)控系統(tǒng)中測(cè)試自定義功能是否完善。
1)Visual XML for 808D目前僅支持靜態(tài)自定義畫面的制作,如需實(shí)現(xiàn)數(shù)據(jù)讀取、寫入、判斷、循環(huán)、跳轉(zhuǎn)等功能,需要在生成的代碼中進(jìn)行二次開發(fā)。2)該工具需在自定義畫面制作前期使用,經(jīng)過手動(dòng)編輯好的二次開發(fā)XML腳本文件用該工具打開后,會(huì)造成代碼混亂。3)部分控件(輸入框、進(jìn)度條)需在生成的腳本中手動(dòng)添加功能代碼。
本文介紹了在SINUMERIK 808D控制系統(tǒng)中,通過Visual XML for 808D軟件建立用戶自定義界面,這種方法可以方便用戶在系統(tǒng)中查看機(jī)床設(shè)備的狀態(tài)和編輯常用的機(jī)床數(shù)據(jù)。而且可以根據(jù)用戶的自身需要,編輯出不同的展示畫面。這個(gè)功能的特點(diǎn)在于強(qiáng)大的開放性,在808D用戶自定義提供的功能里,客戶可以自由地編輯界面,從而實(shí)現(xiàn)更好的人機(jī)交互效果。