郭峰, 邬铎, 化春雷, 仇健, 李正男
(沈阳机床(集团)有限责任公司,沈阳 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用户自定义提供的功能里,客户可以自由地编辑界面,从而实现更好的人机交互效果。