SIEMENS辽宁省丹东市西门子变频器、驱动、PLC(授权)一级代理商——西门子东北总代理

供应商
广东湘恒智能科技有限公司
认证
西门子总代理
PLC
西门子一级代
驱动
西门子代理商
伺服电机
联系电话
15903418770
手机号
15915421161
联系人
张经理
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
更新时间
2024-06-14 07:00

详细介绍

geterror 与 geterrorid 指令的使用

在 step7 11 中,可以通过geterror (获取本地错误信息)或者geterrorid (获取本地错误id)指令查询块内出现的错误。

请注意:geterror 和 geterrorid 均支持块内的错误处理。当在程序块中调用geterror 或geterrorid指令后,如果该程序块发生错误,cpu则将忽略任何预定义的系统响应。也就是说cpu 会忽略此错误,而且cpu 的error灯(红色)也不会亮,cpu 也不会停机。所以说该指令在某种程度上也起到了抑制程序错误的作用,同时有一定的风险存在。

建议该指令在程序块中的后一个网络中调用, 这样可以诊断整个程序块中的错误,如果在程序中间调用该指令,则后面的程序如果有错误,cpu也会忽略错误,不会停机,也没有相关报错,将不利于问题的诊断。

 1.geterror 与 geterrorid 的调用 

在编程界面下, 点击右侧 “指令-> 基本指令-> 程序控制操作” 中可以找到geterror及geterrorid两个指令。(见下图1)

2. gererror 指令的使用

geterror:使用“获取本地错误信息”指令,可以查询块内出现的错误。如果在块执行期间出现错误,则发生的第一个错误的详细信息将保存在输出 error中。消除第一个错误后,该指令会在error 处输出下一个错误的信息。仅当使能输入 en的信号状态为“1”且显示了错误信息时,才置位“获取本地错误信息”指令的使能输出 eno。

geterror 指令的输出参数error的数据类型为:errorstruct(见图2),请注意:常规的变量类型中并未包含此类型。

定义error 变量的步骤:

1. 需要创建一个全局数据块并定义变量,例如变量名为error,在db 块中手动输入" errorstruct",该变量类型无法通过下拉列表选择(见图3)。

通常输入“ e ” 时就可以看见该变量类型,可以直接点选。(见图4)

定义后的error 结构如下:(见图5),详细的参数介绍请参考该指令的帮助文件。(选中块, 按键盘上功能键 f1) 

3. 定义完成后可以直接在引脚输入所创建的db 块的名称,即可在下拉框中找到所定义的error 变量( 见图6)。

直接选择error 即可完成输出参数的定义

可以通过打开db 块,监控error的状态判断程序是否报错。详细报错信息请参考该块的帮助(选中块, 按键盘上功能键 f1) 


例如: 在fc1 中编程调用一个不存在的地址 db1.dbx0.0,此时geterror 指令执行, cpu 运行正常,没有error 灯亮,诊断缓冲区也不会报错

注意:在tia protal v11 中,如果程序中使用了未定义的变量或未创建的变量,编译将会报警,但程序可以下载,未定义变量不能通过变量分配,见下图

此时监控db 块中error 变量的状态, 根据监视值查询帮助可以知道 fc1 中调用的全局数据块 db1 中,偏移地址0不存在

3. geterrorid 的使用

geterrorid:使用“获取本地错误id”指令(见图11),可以查询块内出现的错误。如果在块执行过程中系统信号出错,会将发生的第一个错误的 id 保存在输出 id的变量中。id 输出中只能指定 word数据类型的操作数(见图12)。消除第一个错误后,该指令才会输出发生的下一个错误的id。仅当“获取本地错误id”指令的输入的信号状态为“1”且显示了错误信息时,才置位该指令的输出。

下表列出了getrrrorid 指令的输出参数 id 可以输出的值对应的报错信息。(geterror指令输出结构变量中的errorid适用于下表)  


PLC,变频器,代理商,一级代理,伺服电机

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话