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

逐級對應:


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

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

6)Form
功能:在當前界面中所顯示的全部內容和計算都在該標簽中進行定義,form中包含許多執行功能的標簽。
7)Init
功能:在該標簽中主要進行初始化輸入單元,該標簽里的內容會在每次進入到對應界面中的時候優先進行處理,且只處理一次。
8)Caption
功能:用在init標簽內部,用于指明該界面的標題。
示例:<CAPTION>機床調試界面</CAPTION>
9)Control
功能:用于創建控制單元(即界面中需要用來輸入和顯示內容的數據框)
示例:<control name=“…”xpos=“….”ypos=“…”height=“…” width=“…”refvar= “…” fieldtype=“…”hotlink=“true”format=“…”item_data=“數字”time=“…”font=“…”color=“#......” display_format=“…” ></control>
10)Paint
功能:該標簽中主要放三類語句,用來顯示文本,圖片和矩形圖形。系統會在識別出部分對話框需要重新顯示時處理該標簽
11)Text
功能:用于顯示文本。
示例:<text xpos=“左上角X坐標值”ypos=“左上角Y坐標值”>要顯示的文本內容</text>
12)Img
功能:用于顯示圖片。
示例:<img xpos=“左上角X坐標值”ypos=“左上角Y坐標值”name=“f:/appl/圖片名稱.png”/>
13)Box
功能:用于顯示矩形圖形,多用于用作分割線。
<boxxpos=“左上角X坐標值”ypos=“左上角Y坐標值”width=“X方向長度"height=“Y方向長度”color=“#顏色代碼”/>
14)Timer
功能:系統對該標簽中的內容作周期性循環處理,大約每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
功能:當control中使用到了item_data語句,并且光標移動到該輸入框上的時候,立刻處理該標簽中的內容。為了識別控制單元,系統將控制單元的名稱(即control中的name)復制到變量 $focus_name中并將item_data的數值復制到變量$focus_item_data中。20)Print
功能:將內容顯示在界面下方的信息顯示框中:
<PRINT text=“text%格式化”> 變量,… </PRINT>
將文本或數值復制到指定的變量中:
<PRINT name=“變量名稱”text=“text%格式化”>
變量,…
</PRINT>
21)Control_reset
功能:可以實現重啟控制器的功能(多用于需要通過重啟實現某些參數的設置生效時,可以softkey結合使用)。
示例:<Softkey_OK>

22)Request
功能:只能用于 init標簽內,用于當所標識的數據發生變化時,立即執行相關聯的函數。
示例:<function_body name=“R_changed”>

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

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

圖3 功能界面
采用基于XML的腳本語言,這是一種標記語言,在之前廣泛應用于制作網頁界面。自定義工具軟件適用于靜態頁面的開發,可在軟件生成的代碼中添加XML函數,實現復雜頁面的開發。
1)開發流程(見圖2)。

圖4 界面制作

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