我们先来看看四大家族,其他三个品牌的自定义功能按键:
ABB:可编程按键
FANUC:宏命令
安川:键定义
KUKA :UserTech
对于ABB、FANUC、安川这三个品牌的机器人来说,都提供了相应的设置界面和配置关联界面,但是KUKA就比较不友好和人性化了,接下来我们来看看如何的不友好和不人性化:1、选项:需要KUKA.UserTech选项包,本案例使用的机器人系统为KRC 8.3.4,选项包版本为KUKA.UserTech 3.3,选项包的安装和卸载就不在这里说明了。
2、KUKA.UserTech除了使用的不友好和人性化之外,功能还是挺多的;
定义用户特定的联机表单;
定义用户特定的信息;
定义用户特定的工艺键和按键;
定义用户特定的联机表单和工艺键脚本;
定义用户特定的联机表单折叠夹 (Fold);
将用户特定的联机表单和工艺键集成到 KUKA smartHMI 操作界面中;
3、这里我们只说明其中的一个功能,定义用户特定的工艺键和按键,实现示教器左下角4个按键分别对应4个输出信号的强制控制,具体步骤如下:
3.1-工艺编程,创建KFD文件安装KUKA.UserTech选项包后,在 C:\KRC\TP\USERTECH\TEMPLATE 中有MyTech.kfd和TestStat.fkd两个KFD文件。复制出任意个,更改名称(英文),然后用OrangeEdit软件可以进行编辑,具体程序如下:
MyTech.kfd和TestStat.fkd两个KFD文件
所需图片
;**********************************************************
DEFTP Jineng ; DEFTP...ENDTP 定义工艺名称
; DECL STATKEY: 定义说明4个工艺按键,从上到下依次为1-4
; PICTURE[]: 默认按键右侧显示的图片路径,图片要求:32 px*32 px,格式为bmp或ico
; NEED_PROSTATEO 63 : 工艺键与提交解释器的运行状态无关,始终处于激活状态;
DECL STATKEY Key1 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\shanxian.bmp",NEED_PROSTATEO 63}
DECL STATKEY Key2 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\yinran.bmp",NEED_PROSTATEO 63}
DECL STATKEY Key3 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\chuansong.bmp",NEED_PROSTATEO 63}
DECL STATKEY Key4 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\xuruo.bmp",NEED_PROSTATEO 63}
;**********************************************************
DEFSCRIPT ScKeyUp1 ;定义脚本文件,按键1 松开所执行的程序
SETVAR (FULLPATH[] "$OUT[1]", VALUE[] "FALSE") ;松开按键1,$OUT[1]置为FALSE
; 按键1 松开时右侧显示的图片路径
SET Key1 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\shanxian.bmp",BUTTOMTEXT[] "OFF"}
; 按键1 松开时信息栏的信息提示为$OUT[1]=OFF
MESSAGE "$OUT[1]=OFF"
ENDSCRIPT
DEFSCRIPT ScKeyDown1 ;定义脚本文件,按键1 按下所执行的程序
SETVAR (FULLPATH[] "$OUT[1]", VALUE[] "TRUE") ;按下按键1,$OUT[1]置为TRUE
; 按键1 按下时右侧显示的图片路径
SET Key1 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\jinghua.bmp",BUTTOMTEXT[] "ON"}
; 按键1 按下时信息栏的信息提示为$OUT[1]=ON
MESSAGE "$OUT[1]=ON"
ENDSCRIPT
; 设置工艺按键1,按下工艺键时将运行脚本 ScKeyDown1,运行脚本之后:$OUT[1]==TRUE
松开工艺键时将运行脚本 ScKeyUp1,运行脚本之后:$OUT[1]==FALSE
SET Key1 = {ONKEYDOWN ScKeyDown1, ONKEYUP ScKeyUp1}
;剩下的三个按键设置一样
;**********************************************************
DEFSCRIPT ScKeyUp2
SETVAR (FULLPATH[] "$OUT[2]", VALUE[] "FALSE")
SET Key2 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\yinran.bmp",BUTTOMTEXT[] "OFF"}
MESSAGE "$OUT[2]=OFF"
ENDSCRIPT
DEFSCRIPT ScKeyDown2
SETVAR (FULLPATH[] "$OUT[2]", VALUE[] "TRUE")
SET Key2 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\zhiliao.bmp",BUTTOMTEXT[] "ON"}
MESSAGE "$OUT[2]=ON"
ENDSCRIPT
SET Key2 = {ONKEYDOWN ScKeyDown2, ONKEYUP ScKeyUp2}
;**********************************************************
DEFSCRIPT ScKeyUp3
SETVAR (FULLPATH[] "$OUT[3]", VALUE[] "FALSE")
SET Key3 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\chuansong.bmp",BUTTOMTEXT[] "OFF"}
MESSAGE "$OUT[3]=OFF"
ENDSCRIPT
DEFSCRIPT ScKeyDown3
SETVAR (FULLPATH[] "$OUT[3]", VALUE[] "TRUE")
SET Key3 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\pingzhang.bmp",BUTTOMTEXT[] "ON"}
MESSAGE "$OUT[3]=ON"
ENDSCRIPT
SET Key3 = {ONKEYDOWN ScKeyDown3, ONKEYUP ScKeyUp3}
;**********************************************************
DEFSCRIPT ScKeyUp4
SETVAR (FULLPATH[] "$OUT[4]", VALUE[] "FALSE")
SET Key4 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\xuruo.bmp",BUTTOMTEXT[] "OFF"}
MESSAGE "$OUT[4]=OFF"
ENDSCRIPT
DEFSCRIPT ScKeyDown4
SETVAR (FULLPATH[] "$OUT[4]", VALUE[] "TRUE")
SET Key4 = {PICTURE[] "C:\KRC\TP\USERTECH\TEMPLATE\PICTURES\chengjie.bmp",BUTTOMTEXT[] "ON"}
MESSAGE "$OUT[4]=ON"
ENDSCRIPT
SET Key4 = {ONKEYDOWN ScKeyDown4, ONKEYUP ScKeyUp4}
;**********************************************************
; 设置工艺键栏Test,工艺键栏由4个工艺键组成 (= Key1-4)
Decl StatKeyBar Test = {STATKEY[1] Key1,STATKEY[2] Key2,STATKEY[3] Key3,STATKEY[4] Key4}
ENDTP
3.2-工艺集成于 KUKA smartHMI
用户定义的联机表单和工艺键必须在配置文件 SmartHMI.User.Config 中已进行说明。SmartHMI.User.Config 位于目录 C:\KRC\USER 中。可以用txt,notepad++,uedit等软件打开编辑,具体程序如下,插入到默认的SmartHMI.User.Config 中即可。
<!-- Demo to implement a UserTech LOL-->
<MenuRoot SystemName="MainMenu"> ;主菜单
<MenuFolder DisplayName="MenuBar#Config"> ;配置
<MenuFolder DisplayName="MenuBar#ConfigStatKeys" MergeOrder="210"> ;状态键
<MenuItem DisplayName="MenuBar#LOL"> ;LOL
<CommandCall Target="LegacyLoader.InvokeModuleProc"> ;调用菜单项功能
<Argument Name="PlugInName">USERSTATKEYBAROCX</Argument> ;功能模块为工艺按键
<Argument Name="ProcID">11</Argument> ;工艺按键
<Argument Name="ParamList">KUKATPUSER;Jineng.TEST</Argument> ;调用KFD中设置参数
</CommandCall>
</MenuItem>
</MenuFolder>
</MenuFolder>
</MenuRoot>
语法说明
定义好的状态键“LOL”
3.3-将做好的KFD文件和 SmartHMI.User.Config 文件,以及需要的图片分别放到指定的路径下面,以重新读入文件的方式重启就好了。 重启总结:总体来说还是比较麻烦的,以上只是其中的工艺按键的自定义,当然还可以做一些联机表格的指令和专用功能程序调用什么的。
在此简述,仅供参考,如有不足,请给予指正,交流,详情也可以查阅UserTech说明手册。