张绍军
(西门子工厂自动化工程有限公司 西安分公司 西安 710065)
随着专业化,数字化的要求,越来越多的机床需要在数控系统标准人机界面(以下简称HMI)之外再开发出针对本类型机床专用的HMI,以方便编程、操作和维护诊断。SINUMERIK828D是当前西门子中端数控系统的主流产品,其 HMI软件为SINUMERIK Operate(以下简称Operate)。Operate具有良好的二次开发能力,开发工具包含 Easy Screen,Easy XML,WinCC V12,Visual Studio等。
芬兰DIGIA公司的Qt是基于C++的一个跨操作系统平台的图形用户界面(GUI)应用程序开发框架,Easy Screen是基于Qt的一种纯文本编程的开发工具,其编译器被内嵌于 Operate软件之中。创建设计文件时使用PC中的ASCII编辑器编写所需的文本文件,然后将这些文件复制进入NC系统的规定文件目录中,内置于Operate软件内的Easy Screen编译器即可以生成用户自定义界面。这种工具方法无需具有专业的 IT高级语言基础即可由机床电气设计工程师迅速掌握,实现机床的个性创新。基本功能支持生成5个专用界面,购买选项后专用界面数量不限。
Easy Screen使用操作树原理,即:使用数控系统操作面板预留的“CUSTOM”按键、现成的8个水平软按键和8个垂直软按键、以及返回按键,逐个逐级进入和退出若干个专用自定义界面。专用界面内可以包含:软键、系统变量、文本和帮助文本、图形和帮助画面。多个相连的自定义界面构成了一个操作树,通过水平或者垂直软键可以返回上级界面或者进入其它任意一个界面。
Easy Screen项目文件主要包含4个部分:后缀为“.com”的源文件、后缀为“ini”的配置文件、后缀为“txt”的语言文件和后缀为“png”的图片文件。
这些文件分别位于828D系统软件CF卡目录:“cardoemsinumerikhmi”中的“proj”、“cfg”、“lng”和“ico”目录中,如图1所示。
后缀为“.com”的源文件是核心文件,源文件具体描述了Easy Screen 用户界面的所有内容以及实现的具体功能。“ini”配置文件用来描述 Easy Screen 专用界面如何嵌入828D的HMI中、嵌入的方式以及一些相关的功能定义,配置文件一般会有若干个,包含“easyscreen.ini”,“slamconfig.ini”,“custom.ini”等。“txt”语言文件包含各种与语言显示文字相关的文件,如 “aluc_chs.txt、aluc_eng.txt”等,当专用界面需要切换到不同语言环境时需要这些文件。“png” 图片文件是显示在专用界面中所使用到的png格式图片,当界面里配置有图片说明时,界面会更为形象丰富和对话友好。
以上源文件、配置文件、语言文件和图片文件一般在PC上进行创建和编辑,基本满足要求后被复制进入NC系统文件对应目录,HMI重启即可生成专用界面。此时如需少量修改即可以在828D的HMI上直接进行编辑,如图2所示,而无需再使用PC,经过编辑修改后的文件在HMI重启后生效。
图2 HMI编辑界面
为了迅速对 Easy Screen项目开发有一个整体全面的理解,在这里以某型专用齿轮磨床的一个在线测量专用界面开发例子进行解读。在理解了项目的整体结构和设计方法后,在实际使用开发时可再查阅相关资料了解详细语法。
专用界面要求为:在线测量子程序将“齿轮分度圆标准值”、“分度圆测量值”和“测量齿轮个数”写在3个R参数中。按下面板上的“CUSTOM”按键,进入用户界面的第一级,左下第一软键为“在线测量”软键,再按下此软键,进入在线测量专用界面。此界面将“分度圆标准值”,“分度圆测量值”和“测量齿轮个数”显示出来,操作者可以直接观察并判断加工结果是否在公差带范围之内。专用界面左下第一软键为“退出”,按此软键退出此界面。最终显示效果如图3~图5所示。
图3 操作界面
图4 测量观察界面
图5 测量结果界面
此 Easy Screen开发的专用界面项目整体至少包含5个文件和一个图片,分别为:“cfg”目录下的“custom.ini”,“easyscreen.ini”和“slamconfig.ini”文件,“proj”目录下的“custom.com”和“custom_celing.com”文件,以及“ico”的 640×480目录下的“828D.png”图片(此机床加工区域的图片)。
专用界面加载方式为:“easyscreen.ini”作为初始化配置文件第一个被使用,用于指定启动文件名字,启动文件内规定了专用界面的启动方式和描述专用对话框的源文件。因此指定启动文件名是加载专用界面的第一步。本例的“easyscreen.ini”内容如下:
文件含义为客户界面文字标题为“Custom”,同时装入“ico”目录中的640x480目录下的名字为“828D.png”的图片,即界面中间的本机床加工区域的图片。
文件含义是激活 CUSTOM 操作区,一般为固定格式写法。可视激活后,操作区 Custom显示为带有可设置标题的空窗口,所有的水平和垂直软键都是可设置的。
含义是:左下角第一个软键即为软键 1,其标题是“在线测量”,在NC的钥匙开关0级别即可使用,按下该软键后装入“custom_celiang.com”文件所定义的专用界面。到此,主要文件之间的关系就比较清楚了:“easyscreen.ini”配置文件指定“custom.com”为启动源文件,启动文件里又调用了“custom_celiang.com”专用界面源文件,通过几个文件的依次调用,最终完成专用界面的生成。
“.com”源文件直接生成专用界面本身,文件内可以包含定义变量,定义功能函数,定义软键,定义动作相应方式,数学运算和逻辑运算等。源文件内容相对复杂,需要按照一定的语法格式进行编写,由于篇幅所限,在此不详细展开。
“custom_celiang.com”源文件所生成的界面即为齿轮分度圆测量界面。本例中仅为读取R参数显示出来,因此文件内容比较简单。内容如下:
;******************Mask1: 参数界面*******************
//M(Mask1/"在线测量参数"/)
DEF TXT1={st="齿轮分度圆测量",FS=2,txt_x="30",txt_y="10",wr=1},
DEF VAR1=(R3///,"分度圆标准值",,"mm"/wr1//"/Channel/Parameter/rpa[u1,0]"/30,55,1 00/200,55,100,//),
DEF VAR2=(R3///,"分度圆测量值",,"mm"/wr1//"/Channel/Parameter/rpa[u1,1]"/30,80,1 00/200,80,100,//),
DEF VAR3=(R3///,"测量齿轮个数",,""/wr1//"/Channel/Parameter/rpa[u1,11]"/30,105,10 0/145,105,100,//),
HS1=("退出")
PRESS(HS1) ;Main
EXIT
END_PRESS
此文件的核心语句是读取NC数据中的变量R0、R1和R11共3个R参数。读取语句含义举例如:
DEF VAR1=(R3///,"分度圆标准值",,"mm"/wr1//"/Channel/Parameter/rpa[u1,0]"/30,55,1 00/200,55,100,//),
DEF VAR1:定义变量1
R3:变量1为实数,精度为小数点后3位
分度圆标准值:是要显示的文本
mm:变量1的单位为mm
wr1:变量1为只读属性
Channel/Parameter/rpa[u1,0]:NC通道数据中的R0参数作为变量的固定写法,与此类似 rpa[u1,1]和rpa[u1,11]为R1和R11参数
30,55,100:文本在屏幕的位置(横向,高度,宽度)
200,55,100:变量输入栏目在屏幕的位置(横向,高度,宽度)
综上可见本句含义为:定义变量1显示文字为“分度圆标准值”,变量的单位为mm,精确到小数点后3位,变量内容来自于NC数据中的R0参数,并将以上内容显示在屏幕规定的位置。
文件开头的文本定义语句如下:
DEF TXT1={st="齿轮分度圆测量",FS=2,txt_x="30",txt_y="10",wr=1},
本句含义为,定义文本1为“齿轮分度圆测量”,字体为2号,文本为只读,文本在屏幕的(30,10)位置。
文件的最后4句表示左下角第一软键为“退出”,按下此软键后退出当前界面。
在此,一个小而完整的使用Easy Screen开发的项目被完整展示出来。可见使用此工具无需 IT专业高级语言编程背景,机床电气设计工程师专注于工艺本身和对机床数据变量的操作即可,不用考虑底层操作系统,制作的都是文本文件,文件占用空间小。生成的专用界面嵌入标准界面中互相补充,切换迅速操作方便,满足机床专业化个性化的要求。