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

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

3天内不再提示

探究$err 故障变量的用法

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-04-12 11:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

$ 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

编辑:jq

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

    关注

    213

    文章

    30580

    浏览量

    219476
  • 编程
    +关注

    关注

    90

    文章

    3707

    浏览量

    96746
  • 解释器
    +关注

    关注

    0

    文章

    103

    浏览量

    6935

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    常用变量的介绍

    extern:用在全局变量上表示该变量在其他文件中已经定义;用在函数上作用同全局变量; static:用在全局变量上,和非静态全局变量相比,
    发表于 11-21 07:05

    C语言的printf基本用法介绍

    个简单的例子: printf(\"C语言\"); 这个语句可以在屏幕上显示“C语言”,与puts(\"C语言\");的效果类似。 输出变量 abc 的值
    发表于 11-12 07:04

    MADDT1205A21驱动器的故障代码ERR14如何解决?

    MADDT1205A21驱动器故障代码‌ ERR14 ‌(过电流或接地错误)的解决方法如下: 1. ‌ 检查电机与电缆 ‌ ‌ 短路/接地故障 ‌:断开电机电缆,单独通电测试。若仍报ERR
    的头像 发表于 10-25 09:01 878次阅读

    MADDT1205A21驱动器有哪些故障代码?

    MADDT1205A21驱动器的常见故障代码及处理方法如下: 1. ‌ 电源与电压类故障 ‌ ‌ ERR11 ‌:控制电源欠电压,检查输入电压是否低于额定值(如三相200V±10%)‌ 1
    的头像 发表于 10-25 08:59 980次阅读

    MADDT1205A21驱动器有哪些常见故障

    MADDT1205A21驱动器作为松下MINAS A4系列伺服驱动器,常见故障及处理方法如下: 1. ‌ 电源与电压异常 ‌ ‌ 欠压/过压报警(ERR11/12) ‌:主电源或控制电源电压不稳定
    的头像 发表于 10-25 08:55 743次阅读

    PLC中Static和Temp变量的区别

    大家好,收到粉丝投稿,让博主讲下Static变量和Temp变量的区别,新入行的兄弟可能会对这两个概念不太能理解。
    的头像 发表于 09-24 14:51 911次阅读
    PLC中Static和Temp<b class='flag-5'>变量</b>的区别

    abb变频器故障代码及解决方案

    推杆。 MF COMM ERR 故障原因 :主、从总线通讯无效。 解决方法 :检查主、从总线连接和光纤连接,确保连接紧密,清洁光纤头;若硬件正常,可在程序中强制变频器接触器输出线圈动作 5min 左右
    发表于 07-11 10:58

    UIAbility组件基本用法说明

    UIAbility组件基本用法 UIAbility组件的基本用法包括:指定UIAbility的启动页面以及获取UIAbility的上下文UIAbilityContext。 指定UIAbility
    发表于 05-16 06:32

    harmony OS NEXT-Navagation基本用法

    # Navagation基本用法 > Navigation组件是路由导航的根视图容器,一般作为Page页面的根容器使用,其内部默认包含了标题栏,内容栏和公工具栏,其中内容区默认首页显示导航内容
    的头像 发表于 04-27 17:39 697次阅读

    Ansible Playbook中的变量使用技巧

    在inventory中定义的连接变量(比如ansible_ssh_user);优先级第二。
    的头像 发表于 04-15 10:26 671次阅读

    称重传感器故障检测方法与策略探究

    中,称重传感器难免会出现故障,影响数据的准确性和系统的稳定性。因此,探索有效的称重传感器故障检测方法与策略,对于保障生产效率和安全至关重要。 一、传统故障检测方法的局限性 传统的称重传感器故障
    的头像 发表于 02-07 08:38 1033次阅读
    称重传感器<b class='flag-5'>故障</b>检测方法与策略<b class='flag-5'>探究</b>

    探究故障电弧探测器的使用场景 以及故障电弧的安全性

    的插座线路频繁插拔使用。经过长时间的运转,线路老化、接触不良等问题极易悄然滋生,进而催生故障电弧。故障电弧探测器宛如忠诚的卫士,可精准安装在配电箱、插座回路等关键位置,全天候实时监测电路的一举一动。一旦捕捉到故障电弧的踪迹,便
    的头像 发表于 01-21 15:11 1013次阅读

    探究传感器故障的主要原因

    在现代科技和工业应用中,传感器作为连接物理世界和数字世界的桥梁,扮演着至关重要的角色。它们能够实时监测环境变化、设备状态以及各类物理量,为决策提供关键数据。然而,传感器故障时有发生,不仅影响系统
    的头像 发表于 12-25 14:03 1820次阅读

    自动控制系统的常见故障分析

    自动控制系统通过反馈机制来调节和控制过程变量,以实现预定的性能标准。这些系统可能包括传感器、控制器、执行器和被控对象。尽管设计精良,但自动控制系统仍然可能因为多种原因出现故障。 1. 传感器故障
    的头像 发表于 12-18 09:52 3368次阅读

    DAC7562的CLR引脚怎么用法?可以悬空吗?

    DAC7562的CLR引脚怎么用法?可以悬空吗?能不能详细解释一下?谢谢
    发表于 12-17 08:16