840d操作扩展界面的编程与二次开发_第1页
840d操作扩展界面的编程与二次开发_第2页
840d操作扩展界面的编程与二次开发_第3页
840d操作扩展界面的编程与二次开发_第4页
840d操作扩展界面的编程与二次开发_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 10 章 操作员扩展界面的编程与二次开发 10.1 功能概述 操作员扩展界面功能是基于 MMC 或 PCU 的一种系统自带的编程文件编译器,它是一种文本结构 的语言,通过 ASCII 文件配置来实现,比如记事本或者 HMI 编辑器。新编写扩展出来的操作界面存储 在设计文件中,这些文件经过数控系统的 HMI 软件自动编译并显示在屏幕上结果,在供货时并不提供 设计文件,必须由机床制造厂家或者使用户来实现这种界面的扩展和二次开发。 使用“操作员扩展界面”可以实现以下功能: (1)显示对话框并提供操作软键、变量和表格、文本和帮助文本、图形和帮助画面; (2)通过操作软键或者选择 PLC 实现调用对话框; (3)动态重组对话框,包括修改或删除操作软键、定义并设计变量栏、显示文本或图形、更换文 本或图形、删除文本或图形; (4)用户通过不同的动作启动不同的响应; (5)实现对话框间的数据交换; (6)读写 NC 变量、PLC 变量、用户变量并运算; (7)执行子程序、文件功能、PI 服务以及外部功能; (8)根据用户组设计不同的保护等级。 在 HMI 操作界面中,多个相连的对话框构成了一个操作树,如果能从一个对话框切换入另一个对 话框,则表示这两个对话框间存在联系。通过对话框内重新定义的水平或者垂直软键可以返回上级对 话框或者进入任意一个对话框。在每个登入软键下都可以生成一个操作树,如图 10-1 所示。 图 10-1 窗体操作树原理 在一个规定的设计文件中定义作为操作过程出发点的一个或者多个登入软键。操作软键的定义决 定执行下一步动作的自定义对话框或者其他软键栏,按下登入软键则载入所属的对话框,同时属于对 话框的相应软键激活。 10.2 编程语法 10.2.1 登入软键与组态文件 在数控系统的缺省 HMI 界面上有空白软键,机床制造厂家或者用户可以给这些空白软键自行定义 其功能,如表 10-1 所示。在相应的 COM 文件中,可以定义操作软键的显示文本或图形标签,当这些 软键按下时,系统会自动搜寻固定文件名的组态文件,通过组态文件内部的编程,形成用户个性化的 界面,并显示在 HMI 界面上。 表 10-1 空白软件及所对应的组态文件 基本画面 水平软键 设计文件 加工 JOG 1 MA_JOG.COM 加工 MDA 1 MA_MDA.COM 加工 自动方式 2 MA_AUTO.COM Parameter 7 PARAM.COM Program 8 PROG.COM Service 7 SERVICE.COM Diagnose 7 DIAG.COM Startup 7, 扩展软键栏 6, 7 STARTUP.COM 编辑器(已占用) 2, 3, 4, 5 AEDITOR.COM 编辑器 6, 扩展软键栏 6, 7 AEDITOR.COM 在 HMI Advanced 软件中,系统按照 CUS.DIR-CST.DIR-CMA.DIR 的顺序搜索上述组态文件。 10.2.2 窗体 设计组态文件的组成部分包括:登入软键说明、对话框定义、变量定义、块说明以及软键栏定义, 如下所示例。 /S (START) ; 登入软键定义 /END /M (.) ; 对话框定义 DEF . ; 变量定义 LOAD ; 块说明 . END_LOAD UNLOAD . END_UNLOAD ACTIVATE . END_ACTIVATE . /END /S (.) ; 软键栏定义 /END 对话框是操作界面上的一个组成部分,操作界面包含标题行、对话框单元和/或图形、显示消 息的输出行以及 8 个水平软键和 8 个垂直软键,如图 10-2 所示。 对话框窗体包括变量、 帮助画面、文本、属性、系统或者用户变量、短文本的位置、输入/输出栏 的位置、颜以及帮助等组成。对话框说明的结构如下表 10-2 所示。 图 10-2 对话框窗体的构成 表 10-2 对话框结构定义 说明块 功能注释 /M. ;对话框的开始标识 DEF Var1=. . ;变量 HS1=(.) . ;软键 PRESS(HS1) LM. END_PRESS ;方法的开始标识 ;动作 ;方法的结束标识 /END ;对话框的结束标识 对话框编程的句法为:/M( 名称/ 标题/图形/尺寸/系统或用户变量/图形位置/属性) ,参数 说明如表 10-3 所示。 表 10-3 定义对话框的参数说明 参数 功能说明 名称 对话框的名称 标题 对话框的文本标题或者从和语言相关的文本文件中调用文本(例如 $85060 是个 文本号,在自定义的 ALUC_XX 中,XX 代表语言,CH,GR,UK,FR,SP,IT 等,这 里也可以直接写上要显示标签的文字,要用双引号,比如: “DATA“。) 图形 图形文件,路径在双引号内 尺寸 对话框的位置和大小,单位像素(和左/右边缘的间距、宽度、高度),以屏幕的 左上角为基准,数据值用逗号相隔。 系统或者用户变量 指定当前光标位置的系统和用户变量,可以通过系统或者用户变量将光标位置传 送给 NC 或 PLC。 第一个变量索引为 1,变量的顺序和变量设计顺序一致。 图形的位置 图形的位置,单位像素(和左/上边缘的间距),以对话框的左上角为基准。 和 上边缘的最低间距为 18 像素,数据值用逗号相隔。 属性 给定的属性用逗号相隔,CM0 为预设置,每行单独分列;CM1 为以包含最多列 的行为标准分列。CB0 为预设置,在打开对话框时处理所有 CHANGE 部分; CB1 为只有在附属的值改变后才处理 CHANGE 部分。 在 PCU50 的 F:dhcst.dir 目录下创建一个文件“MA_AUTO.COM”,可以用记事本 文件编辑好,然后传到 PCU50 的这个指定目录下,编辑内容如下: /S(Start) HS2=(“Sample“,ac7,se1) PRESS(HS2) LM(“MASK1“) END_PRESS /END /M(MASK1/“my screen“) DEF VAR_A=(R3/“Please input R parameter“,“Diameter(R3)“,“,“mm“/wr2,ac7/“$R3“/10,70,150/120,70) DEF abcde=(R3/“Please change X1 G0 Speed“,“X1_G0_Speed“,“,“mm/min“/wr2,ac7/“$ma_max_ax_velox1“/10,100,150/120,100) HS1=(“) HS2=(“) HS3=(“) HS4=(“) HS5=(“) HS6=(“) HS7=(“) HS8=(“EXIT“,ac7,se1) vs1=(“) vs2=(“) vs3=(“) vs4=(“) vs5=(“) vs6=(“) vs7=(“) vs8=(“) PRESS(HS8) EXIT END_PRESS /END 定义 HS2 为”Sample”,访问等级 7,显示状态为“可见”。LM 功能用于调用另外一个画面,定义为 “MASK1” 定义画面属性 10.2.3 软件菜单 软键菜单指的是在窗体内显示的所有的水平和垂直软键,除了已经存在的软键菜单外,用户可以 重新定义新的软键菜单,它可以部分或完全覆盖已存在的软键菜单。所有水平软键和所有垂直软键分 别布置在一起称作软键栏,HSx(x 1 - 8):水平软键 1 至 8;VSy(y 1 8):垂直软键 1 至 8。操作 软键栏的描述如表 10-4 所构建。 表 10-4 软键栏的构成 说明块 功能注释 /S. ;软键栏开始标记 HSx=. ;定义软键 HS1=(.) . ;软键 PRESS(HS1) LM. END_PRESS ;方法的开始标识 ;动作 ;方法的结束标识 /END ;软键栏结束标记 操作软键定义句法:SK = (文本, 存取等级, 状态 ),参数说明如表 10-5 所示。 表 10-5 操作软键定义句法 说明 功能注释 SK 软键,例如: HS1 到 HS8, VS1 到 VS8 文本 定义文本 图文件名称 “my_pic.bmp“或者通过单独的文本文件$85199,例如:和语言相关的文本 文件的下列文本: 85100 0 0 “c:picmy_pic.bmp“ ,显示在软键上的图形大 小:最大 80 x 34 像素。 存取等级 ac0 到 ac7 (ac7: 预设置) 状态 se1: 可见(预设置) se2: 不可操作(灰色标签) se3: 高亮显示(最后操作的软键) 操作员只能访问符合其保护等级和各个低于其保护等级的信息,不同的保护等级有下列不同的含 义:ac0 是最高的保护等级,ac7 是最低的保护等级,如表 10-6 所示。 表 10-6 系统访问权限定义 保护等级 禁用密码 区域 ac0 密码 西门子 ac1 密码 机床制造商 ac2 密码 维修 ac3 密码 用户 ac4 钥匙开关位置 3 编程员,调试员 ac5 钥匙开关位置 2 合格的操作员 ac6 钥匙开关位置 1 受过培训的操作员 ac7 钥匙开关位置 0 学过相关内容的操作员 下面以一个例子来说明操作软键的定义,在记事本中编写如下文本: /S(软键栏 1) ; 软键栏开始标记 HS1=(“新建“,ac6,se2) ; 定义软键 HS1,分配标签 “OK“,保护等级 6 和状态“不可操作” HS3=(“图 1.bmp“) ; 分配图形给软键 HS5=(“Exit“) VS2=(“子屏幕窗口“) VS3=($85011, ac7, se2) VS7=(“取消“, ac1, se3) ; 定义软键 VS7,分配标签“ 取消”,保护等级 1 和状态“高亮” VS8=(“OK“, ac6, se1) ; 定义软键 VS8,分配标签 “OK“,保护等级 6 和状态“可见”。 PRESS(HS1) ; 方法开始标记 HS1.st=“计算” ; 分配标签文本给软键 . END_PRESS ; 方法结束标记 PRESS(RECALL) ; 方法开始标记 LM(“屏幕窗口 21”) ; 载入对话框 END_PRESS ; 方法结束标记 /END ; 软键栏结束标记 登入软键是和对话框无关的软键,它不由对话框调用,而是在第一个新对话框之前设计,为了可 以到达登入对话框或者一个登入软键栏,必须对登入软键进行定义。 通过登入软键只可以触发特定的功能: (1)通过功能 LM 可以装载另一个对话框。 LM(“名称 “,“文件“) (2)通过功能 LS 可以显示另一个软键栏。 LS(“名称“, “文件“, 合并) (3)通过功能 “EXIT“ 可以离开新配置的操作界面并返回标准应用程序。 (4)通过功能 “EXITLS“可以离开当前的操作界面并装载一个定义的软键栏。 (5)通过功能 “EXE“ 可以在 HMI 高级上调用一个程序,该程序通过 HMI 高级的 OEM 包建立作为应用程序,或者调用自由轮廓编程。 另外还有回调 按键可用于操作,该按键不必定义, 在运行期间内,可以向按键分配 属性“状态”和“存取等级”。如果该按键没有指定动作,即功能、变量计算、属性改变等,则可以 通过回调 按键退出新配置的操作界面并返回标准应用程序。 在程序运行中,通过方法(如 PRESS)中可以读取和更改软键属性中的 Text、Access level 以及 Status,其中 SK.st = “文本“、SK.ac = 存取等级、SK.se = 状态。 10.2.4 窗体中的方法 在对话框和与对话框相关的软键栏中(软键栏由新设计的对话框调用),可以通过不同的事件 (退出输入栏,按下软键)触发某些特定的动作,这些动作设计在方法中。 (1)CHANGE 当变量值已改变时运行 CHANGE(改变)方法,即在 CHANGE(改变)方法中设计变量改变时 立即运行的变量计算。单元特定的 CHANGE 方法和全局的 CHANGE 方法有所不同,如果系统或者用 户变量已分配一个变量,则可以在 CHANGE 方法中循环更新变量值,通过如下例子来说明: DEF VAR1=(S/“DB20.DBB1“) ; Var1 分配一个系统变量 CHANGE(VAR1) ; 编程单元特定的 CHANGE 方法 IF VAR1.Val 变量 2,则对话框行中显示文本“值过大!”。 ENDIF (7)删除程序 功能 DP(删除程序)删除一个被动的 HMI 文件系统或者主动的 NC 文件系统的文件。使用格式 为:DP(“MPF.DIRCFI.MPF“),需要输入要删除文件的完整路径。 (8)评估 功能 EVAL 评估作出的输出结果然后执行,因此可以首先在运行期间建立表达式,可用于变量上 的显示存取。应用例程如下: VAR1=(S) VAR2=(S) VAR3=(S) VAR4=(S) CHANGE() REG7 = EVAL(“VAR“1 VAR3.GT=“ERR“ VAR3.FC=7 ELSE VAR3.GT=“OK“ VAR3.FC=3 ENDIF END_LOAD 在已编译变量定义后运行 LOAD 方法,此时对话框还未显示,用于分配变量的值。通过属性值 (名称.val)可以继续传送一个数组存取值;var3.ut=“KG/L ”申明单位文本的名称。 VAR3.GT=“ERR“ 定义图形文本名称,VAR3.FC=7 定义前景颜色。 PRESS(HS1) BYTE.WR=2 END_PRESS 申明变量属性 BYTE.WR=2 读取和写入(行以白色显示) CHANGE (BYTE) BY1=BYTE+1 BY2=BYTE+2 BY3=BYTE+3 BY6=BYTE+6 BY7=BYTE+7 FEED.VAR=“IB“1 VAR3.GT=“ERR“ VAR3.FC=7 ELSE VAR3.GT=“OK“ VAR3.FC=3 ENDIF END_CHANGE FOCUS DLGL(“causion! please input correct value“) END_FOCUS 当对话框中聚焦(光标)定位在另一个栏上时,运行 FOCUS 方法。“DLGL”在对话框的对话框 行中可以根据确定的情况给出短文本(信息或者输入帮助)。 PRESS(HS2) LM(“FORM2“,1,VAR1,VAR2) DLGL(“FORM1 ONLY INTERRUPT,NOT EXIT“) ;return from form2,in the dialog line of screen display “ END_PRESS PRESS(VS8) EXIT END_PRESS PRESS(VS7) VS7.st=“dd“ end_press PRESS(HS3) LS(“MENU1“,1) END_PRESS PRESS(HS4) LM(“FORM3“,1) END_PRESS PRESS(HS5) LM(“FORM4“,0) END_PRESS PRESS(HS6) LM(“FORM5“,0) END_PRESS PRESS(HS7) LM(“FORM6“) END_PRESS /END /M(FORM2/“Workpiece diameter“/“test.bmp“) DEF STA=(R/0/“START ANGLE“,“STA1“,“degree“/280,20,100/380,20,100) DEF AFSL=(R/0/“INC ANGLE“,“AFSL“,“degree“/280,40,100/380,40,100) DEF rad=(r/0/“radius“,“RAD“,“mm“/280,60,100/380,60,100) DEF wid=(r/0/“POCKET WIDTH“,“WID“,“mm“/280,80,100/380,80,100) DEF SUM=(R/0/“SUM OF NUMBER“,“SUM“,“mm“/WR1/280,100,100/380,100,100) DEF YEAR=(I/“$A_YEAR“) HS3=(“calculate“) HS4=(“) HS5=(“) HS6=(“) HS7=(“) HS8=(“OK“) VS1=(“) VS2=(“) VS3=(“) VS4=(“) VS5=(“) VS6=(“exit“) LOAD STA.VAL=10 AFSL.VAL=10 RAD.VAL=5 WID.VAL=90 sum.val=(var1+var2+sta+afsl+rad+wid)/6 END_LOAD OUTPUT(CODE1) “CYCLE123(“STA“,“AFSL“,“RAD“,“WID“,“SUM“)“ “M30“ END_OUTPUT PRESS(HS8) GC(“CODE1“,“F:DHMPF.DIRGCTEST.MPF“) END_PRESS PRESS(HS3) SUM.WR=2 END_PRESS CHANGE() sum.val=(var1+var2+sta+afsl+rad+wid)/6 SUM.WR=1 end_CHANGE press(vs6) EXIT END_PRESS /END /M(FORM3/“PLC IN/OUT LIST“,“) DEF VAR1=(IBB/“,“QB32“,“/WR2/“QB32“/20,20,100/130,20,100) DEF VAR2=(IBB/“,“QB33“,“/WR2/“QB33“/20,40,100/130,40,100) DEF VAR3=(IBB/“,“IB36“,“/WR3/“IB36“/20,60,100/130,60,100) DEF VAR4=(IBB/“,“IB37“,“/WR3/“IB37“/20,80,100/130,80,100) HS1=(“) HS2=(“) HS3=(“) HS4=(“) HS5=(“) HS6=(“) HS7=(“) HS8=(“) VS1=(“) VS2=(“) VS3=(“) VS4=(“) VS5=(“) VS6=(“) VS7=(“CHANGE“,se1) VS8=(“EXIT“) PRESS(VS8) EXIT END_PRESS PRESS(VS7) WNP(“QB32“,var3.val);when change qb32 to 2#11111111,LED Light as well as to 2#0,led dark.or press vs7,then set qb32 to ib36 END_PRESS /END /M(FORM4/“ENCODER CHANGE“,“) DEF VAR1=(I/“ENCODER NUMBER“,“X_ENC_NO“,“/WR2/20,20,100/180,20,100) DEF VAR2=(I/“2nd ENCODER TYPE“,“ENC2_TYPE“,“/WR2/20,40,100/180,40,100) DEF VAR3=(I/“,“VAR“,“/WR3/20,60,100/180,60,100);ONLY TEST,SEE VAR TRANSFER DEF VAR4=(I/“,“VAR1“,“/WR3/20,80,100/180,80,100);ONLY TEST,SEE VAR TRANSFER HS1=(“) HS2=(“) HS3=(“) HS4=(“) HS5=(“) HS6=(“) HS7=(“) HS8=(“) VS1=(“) VS2=(“) VS3=(“) VS4=(“) VS5=(“) VS6=(“) VS7=(“CHANGE“,AC1,se1) VS8=(“EXIT“) LOAD VAR1.VAL=RNP(“$MA_NUM_ENCS1“);READ MD30200 VAR2.VAL=RNP(“$MA_ENC_TYPE1.1“);READ MD302401 VAR3=VAR1.VAL VAR4=VAR2.VAL END_LOAD CHANGE(VAR1) VAR3=VAR1.VAL END_CHANGE CHANGE(VAR2) VAR4=VAR2.VAL END_CHANGE PRESS(VS7) WNP(“$MA_NUM_ENCS1“,VAR3);WRITE MD30200 WNP(“$MA_ENC_TYPE1.1“,VAR4);WRITE MD302401 WNP(“P_UIFR1,X1,TR“,69.3) END_PRESS PRESS(VS8) EXIT END_PRESS /END /M(FORM5/“PI SERVICE“,“) HS1=(“LOGIN“) HS2=(“LOGOUT“) HS3=(“CREAT TOOL “) HS4=(“CREAT TOOL EDGE“) HS5=(“) HS6=(“) HS7=(“) HS8=(“) VS1=(“) VS2=(“) VS3=(“) VS4=(“) VS5=(“) VS6=(“) VS7=(“) VS8=(“) RECALL=() PRESS(HS1) PI_SERVICE(“_N_LOGIN“,“EVENING “) END_PRESS PRESS(HS2) PI_SERVICE(“_N_LOGOUT“) END_PRESS PRESS(HS3) PI_SERVICE(“_N_CREATO“,19) END_PRESS PRESS(HS4) PI_SERVICE(“_N_CRCEDN“,17,3) END_PRESS /END /S(MENU1) HS1=(“) HS2=(“EXIT“) HS3=(“CAL“) HS4=(“) HS5=(“) HS6=(“) HS7=(“) HS8=(“) VS1=(“OK“) VS2=(“) VS3=(“) VS4=(“) VS5=(“) VS6=(“) VS7=(“) VS8=(“) PRESS(VS1) IF VS1.st=“OK“ VS1.ST=“FF“ ELSE VS1.ST=“OK“ END_PRESS press(hs2) EXIT end_press PRESS(HS3) EXE(CALC) END_PRESS /END /M(FORM6/“CODE GENERATION:“) DEF VAR1=(R/1) DEF VAR2=(R/2) DEF D_NAME LOAD VAR1=123 VAR2=-6 END_LOAD OUTPUT(CODE1) “CYCLE123(“VAR1“,“VAR2“)“ “M30“ END_OUTPUT PRESS(VS1) D_NAME=“MPF.DIRMESSEN.MPF“ GC(“CODE1“,D_NAME) END_PRESS PRESS(HS8) AP(“MPF.DIRMESSEN.MPF“) SP(“MPF.DIRMESSEN.MPF“) END_PRESS /END /END 10.5 用户访问等级的界面扩展 扩展一个用户操作界面用于输入操作员的访问等级,如图 10-5 所示。在 “dhcma.dir”目录下建立一个文件 “STARTUP.COM”,编辑该文件如下所示: /S(Start) HS7=(“ACCESS LEVEL“,ac7,se1) Press(HS7) LM(“SCH“) END_PRESS /END /M(SCH/$85310/0,254,131) DEF VAR1 =(IDBU/wr0/“DB101.DBB2002“) DEF PVAR = (S/,$86092/380,80/3,3) DEF BEKA VS1=(“LEVEL1“,ac7,se1) VS2=(“LEVEL2“,ac7,se2) VS3=(“LEVEL3“,ac7,se2) VS4=(“LEVEL4“,ac7,se2) VS5=(“,se1) VS6=(“,se1) V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论