0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

请问一下$err故障变量该如何使用呢?

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:微笑应对 2022-09-14 15:14 次阅读

7591de7c-304c-11ed-ba43-dac502259ad0.png

$ err

具有有关当前程序信息的结构

该变量可用于评估相对于提前运行的当前执行程序。例如,该变量可用于评估程序中的错误,以便能够使用适当的故障服务功能对其进行响应。

该变量具有写保护,只能被读取。

该变量可用于评估相对于提前运行的当前执行程序。例如,该变量可用于评估程序中的错误,以便能够使用适当的故障服务功能对其进行响应。

该变量具有写保护,只能被读取。

$ ERR对于机器人和提交解释器是分别存在的。每个解释器只能访问其自己的变量。对于命令解释器,$ ERR不存在。

每个子程序级别都有其自己的$ ERR表示形式。这样,来自一个级别的信息不会覆盖来自不同级别的信息,并且可以同时从不同级别读取信息。

ON_ERROR_PROCEED在当前解释器和当前级别从$ ERR隐式删除信息。

$ERR=Information

信息类型:Error_T

列出有关当前正在执行的程序的信息.

STRUC Error_T INT number, PROG_INT_E interpreter, INT_TYP_E int_type, INT int_prio, line_nr, CHAR module[24], up_name[24], TRIGGER_UP_TYPE trigger_type

Number:发生运行时错误时的消息编号。如果未发生错误,则显示零值。

Interpreter:当前解释器

#R_INT:机器人解释器

#S_INT:提交解释器

int_type当前图片类型和中断状态

#I_NORMAL:该程序不是中断程序。

#I_INTERRUPT:该程序为中断程序。

#I_STOP_INTERRUPT:通过$ STOPMESS中断(错误停止)

int_prio中断优先级

1,2,4…39

81…128

line_nr当前程序中的行号

module[]当前程序的目录和名称

up_name[]当前子程序的目录和名称

trigger_type

触发属于子程序的触发器的上下文

#TRG_NONE:该子程序不是触发子程序。
#TRG_REGULAR:在向前运动期间切换了触发器子程序。
#TRG_BACKWARD:触发子程序在向后运动期间被切换。
#TRG_RESTART:触发子程序已打开,切换回正向运动。
#TRG_REPLAY:触发子程序在向后运动后反复切换。

注意:此组件在KUKA System Software 8.3或更高版本中可用。

如何使用呢?

1.ERR_RAISE() 的示例:

如果不想不输出所有可能存在的运行时间错误信息,而是只不输出特定的信息,则可以通过 SWITCH … ENDSWITCH 进行该区分。在该示例中只不输出信息 1422。可能存在的其他运行时间错误信息将显示。

1 DEF myProg ()

2 DECL E6POS myPos

3 INI

4 ON_ERROR_PROCEED

5 myPos = $POS_INT

行 5 将触发信息 1422 {$ 变量 } 值无效 。(此外由中断调用该程序。)

6 SWITCH ($ERR.NUMBER) 情况区分取决于 $ERR.NUMBER获取机器人故障号

7 CASE 0

如果在行 5 中未出现错误,则 $ERR.NUMBER==0。在这种情况下不需要任何操作。

8 CASE 1422

如果触发了信息 1422,则 $ERR.NUMBER==1422。在需要时可以编程设定一个错误策略。

9 ;在需要时编程设定错误策略

...

10 DEFAULT

11 ERR_RAISE ($ERR)

如果触发了一个不同于 1422 的信息,则现在 (随后)通过 ERR_RAISE 输出该信息。

12 ENDSWITCH

...

13 END

2.ON_ERROR_PROCEED的示例:

1 DEF myMainProg ()

2 INT myVar, myVar2

3 INI

4 ON_ERROR_PROCEED

行 5 触发信息 1422 {$ 变量 } 值无效 ,因为 myVar 未安装,因此无法将其传输给子程序。该行中的 ON_ERROR_PROCEED 事先抑制错误信息。

5 mySubProg (myVar)

6 HALT

如果在此通过变量修正读取 $ERR,则以下分量具有以下值:$ERR.number == 1422/$ERR.line_nr == 15/$ERR.module[] == "MYMAINPROG"/ $ERR.up_name[] == "MYMAINPROG".

3.$ ERR不仅可以用于错误处理,还可以用于确定当前环境。

在此示例中,参数从机器人程序和提交程序都转换为子程序。在子程序中,系统确定参数来自哪个解释器。所执行的操作取决于结果。

机器人程序:

GLOBALDEF mySUB (par:IN)

INTpar

INI

IF($ERR.INTERPRETER==#R_INT) THEN -如果故障时机器人解释器-发出输出

$OUT_C[par]= TRUE

ELSE

$OUT[par]= TRUE

ENDIF

...

END

75efb966-304c-11ed-ba43-dac502259ad0.png




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28266

    浏览量

    206722
  • 触发器
    +关注

    关注

    14

    文章

    1997

    浏览量

    61081
  • 解释器
    +关注

    关注

    0

    文章

    103

    浏览量

    6504

原文标题:$err 故障变量的用法

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问一下ADS1118-Q1的内部基准电压是多少

    请问一下ADS1118-Q1的内部基准电压是多少? 谢 。
    发表于 11-26 06:25

    请问一下TLV320aic33的驱动配置需要什么条件

    您好!TLV320aic33目前只使用了其ADC的功能,将个模拟信号转换为音频数据,IIC的方式进行配置。 目前IIC是通过之前使用过的IIC转板直接进行的命令,再进行读回所的命令读取不到,应该是通讯不成功,
    发表于 10-22 07:42

    请问一下OPA818在做TIA电路时,跨阻为3K时,带宽可以达到多少

    请问一下OPA818在做TIA 电路时,跨阻为3K 时,带宽可以达到多少
    发表于 07-29 06:41

    请问ENV设置环境变量怎么保存?

    我按照手册设置好了环境变量 可是如果重启一下env窗口 刚刚设置的又清掉了 请问下有没有人知道怎么保存这个环境变量
    发表于 07-09 06:24

    伺服驱动器err13故障原因怎么解决

    伺服驱动器ERR13故障种常见的伺服驱动器故障,通常表示伺服驱动器的编码器信号异常。为了解决这个问题,我们需要从多个方面进行分析和排查。本文将详细介绍
    的头像 发表于 06-06 12:10 1.5w次阅读

    请问访问XMC4400的FW_TRACE_ERR (63H) 的JTAG指令是什么?

    英飞凌 xmc4400_rm_v1.6_2016-UM-v01_06-EN.pdf 中 XMC4400 的 FW_TRACE_ERR (63H) 是用于访问的 JTAG 指令? 25.3.2 故障
    发表于 05-17 12:25

    请问头文件能不能定义变量

    最近在编译个工程的时候,突然遇到了变量重复定义的问题,根据提示打开这几个 C 文件,并没有发现定义变量的地方。后来再找找,原来变量定义在
    的头像 发表于 04-28 09:33 1101次阅读

    请问一下PLC能控制哪些电机

    PLC具有广泛的应用范围,能够控制多种类型的电机。以下是些常见的PLC可以控制的电机类型
    的头像 发表于 04-16 10:32 818次阅读

    工控主板发生故障怎么办?

    工控主板发生故障怎么办?前几天有个客户问了我这个问题,大部分情况下出现的故障并不可怕,主要是用户粗心大意造成的。那今天小编就来讲解一下工控主板
    的头像 发表于 04-11 18:19 850次阅读

    字符型、指针型等变量如何初始化

     对于数值类型的变量往往初始化为0,但对于其他类型的变量,如字符型、指针型等变量如何初始化
    的头像 发表于 03-18 11:02 1324次阅读

    请问一下spice仿真怎么产生时钟信号

    SPICE是种用于模拟和分析电子电路的计算机程序。在SPICE仿真中,产生时钟信号是许多电路设计和模拟任务中的关键步骤。
    的头像 发表于 02-06 14:22 1029次阅读

    请问一下LDO旁路电容如何选择

    虽然很多工程师们在解决噪声问题上往往认为电容是种有效的途径,但是电容本身的作用可不仅于此。
    的头像 发表于 01-24 17:27 1690次阅读
    <b class='flag-5'>请问</b><b class='flag-5'>一下</b>LDO旁路电容<b class='flag-5'>该</b>如何选择<b class='flag-5'>呢</b>?

    萌新想请问一下各位佬关于pcb布线的些问题!!

    请问一下佬们,在pcb布线的时候,我看其他人画的板子,同样的电压输出例如都是3.3V或者5V为什么线宽不,这个是怎么判断线宽给多少。还有例如这种引脚为什么线宽也要拉大
    发表于 01-17 20:58

    请问下位机与上位机如何保持时钟同步

    。本文将详细介绍下位机与上位机如何进行时钟同步,并探讨些常见的技术和方法。 首先,让我们了解一下时钟同步的基本原理。在系统中,时钟被用于指导事件的发生和处理。在下位机和上位机之间,会存在定的时延。这意味着
    的头像 发表于 01-16 17:11 1408次阅读

    KUKA系统变量$err说明

    变量可用于评估相对于提前运行的当前执行程序。例如,变量可用于评估程序中的错误,以便能够使用适当的故障服务功能对其进行响应。
    的头像 发表于 12-18 15:41 776次阅读