KUKA机器人自定义4个工艺按键

我们先来看看四大家族,其他三个品牌的自定义功能按键:

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说明手册。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 2
关注 21
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧