1、后台逻辑程序的编写
2、启动、恢复倍率设置方法
3、式下的速度倍率控制
4、以指令的方式直接改写速度倍率值
5、相关系统变量的具体使用方法
以编写后台逻辑的方式控制速度
我们可以通过分配与PLC的交互信号为组信号(GI\GO),来编写机器人后台逻辑程序来实现机器人速度的读写。当然PLC可以把它放到HMI界面上面,我们就可以通过HMI监控和设置机器人速度了。GI、GO读写机器人速度的***简单背景逻辑程序简单示例如下:
1、首先确定程序组掩码为【*,*,*,*,*,*,*,*】,我们需要将获取到的GI值写成机器人速度倍率,那么它应该是这样的:
$MCR.$GENOVERRIDE=(GI[18:OVERRIDE]
2、我想示教器为手动模式的时候不受PLC的控制,那么我将使用***简单的UOP分配里面的UO[8]来区分是否为手动模式。如下:
IF (!UO[8:TPenabled]),$MCR.$GENOVERRIDE=(GI[1:OVERRIDE])
3、现在我只需要向PLC反馈机器人当前速度倍率,如下:
GI[18:OVERRIDE]= ($MCR.$GENOVERRIDE)
4、完成后TP程序代码如下:
IF (!UO[8:TPenabled]),$MCR.$GENOVERRIDE=(GI[1:OVERRIDE])
GO[18:OVERRIDE]= ($MCR.$GENOVERRIDE)
4、将程序放到后台逻辑当中运行,步骤如下:
CM:菜单 – 设置 – 背景逻辑 – F4选择程序 – F2运行
EN: Menu - Setup - BG Logic -F4 Choice – F2 Run
程序正常运行成功后则可以实时进行速度倍率的设置以及反馈了。
生产启动、恢复倍率设置方法
Cm:菜单-设置-单元-生产启动时机器人倍率:***
En:MENU-SETUP-CELL-Production run speed:***
自动模式下的速度倍率控制
在自动模式下我们还可以将示教器上速度倍率键禁用,系统变量中$GENOV_ENB如果设置为 false,那么示教器上面的速度倍率加减键将被禁用,无法通过示教器上面的速度倍率进行速度加减。但是如果示教器为手动模式仍然可以改变速度倍率,也就是说它只在自动模式下生效。设置步骤如下:
CM:菜单 – 系统 – 变量 – $GENOV_ENB
EN: Menu - System - Variables - $GENOV_ENB
以指令的方式直接改写速度倍率值
通过指令的改写控制机器人速度,在程序编辑框中可以使用指令改写机器人倍率,具体操作如下:
Cm:程序编辑框-F1[指令] - 其他 - OVERRIDE
En:程序编辑框-F1 [INST ] - Miscellaneous – OVERRIDE
如:
OVERRIDE = 50%
OVERRIDE =R[5] (R[5]=50)
OVERRIDE = AR[1] (AR[1]= 50
以上3行指令运行哪一行都会将机器人速度倍率设置为50%,但是我不喜欢用这种方式,因为这个指令用后台逻辑程序会报错(无效项目为混合逻辑)。还有就是如果我和PLC组信号GI的化不能直接使用,还需要将GI转为数值寄存器。可以选择封装写一个pc或者宏程序比较好用,例如我之前写过 “Fanuc-Karel中GET\SET_VAR简单应用实例”这个示例应用程序就是速度设置的。
相关系统变量的具体使用方法
如果说机器人由于负载过大,或者由于其他原因导致你的机器人无法以***的速度倍率运行你也可以将$MCR_GRP[1].$PRGOVERRIDE的值改到你机器人允许的***大值。那么示教器就能显示为***,但实际达不到这种速度了。当全局应用常规覆盖时,您可能会注意到每个运动组都是***的。如果您有一个包含多个组的控制器,可以使用来减慢一个组的速度,同时保持另一个组的全速。MCR_GRP[x].$PRGOVERRIDE
CM:菜单 – 系统 – 变量 – MCR_GRP - MCR_GRP[x]-PRGOVERRIDE
EN: Menu - System - Variables -MCR_GRP - MCR_GRP[x]-PRGOVERRIDE
当然这种我也没有在实际现场机器人上面验证过,但是roboguide里面验证是ok没有问题的,同时欢迎大家留言区进行补充哦。
- 下一篇:发那科机器人售后常见问题
- 上一篇:发那科工业机器人:如何调整速度倍增器?