发表于:2015/2/10 7:15:54
#0楼
1.GetError 和 GetErrorID 均支持块内的错误处理。当在程序块中调用GetError 或GetErrorID 指令后,如果该程序块发生错误, CPU 会忽略此错误,而且CPU 的Error 灯(红色)也不会亮,CPU 也不会停机。所以说该指令在某种程度上也起到了抑制程序错误的作用,同时有一定的风险存在。
2.定义Error 变量需要创建一个全局数据块并定义变量,例如变量名为Error,在DB 块中手动输入" Errorstruct ";
3.GetErrorID: 使用“获取本地错误 ID”指令,可以查询块内出现的错误。如果在块执行过程中系统信号出错,会将发生的第一个错误的 ID 保存在输出 ID 的变量中。 ID 输出中只能指定 WORD 数据类型的操作数。 消除第一个错误后,该指令才会输出发生的下一个错误的ID。仅当“获取本地错误 ID”指令的输入的信号状态为“1”且显示了错误信息时,才置位该指令的输出。
4.GetError 与GetErrorID 区别在于 GetError 可以得到比较详细的信息,如块编号,偏移地址等, 便于问题的快速诊断及定位。GetErrorID 指令仅输出简单报错信息;
5.可以在一个块中( FC 或 FB )中不同的网络段中(Network)多次调用 GetError 或 GetError ID 指令;
6.可以在 OB1 中调用GetError 或 GetError ID 指令;
7.GetErrorID 或GetError 指令是基于块的指令,只能诊断调用它的块中的错误,如果出错的程序中未调用该指令,则无法诊断该块中的错误。
2.定义Error 变量需要创建一个全局数据块并定义变量,例如变量名为Error,在DB 块中手动输入" Errorstruct ";
3.GetErrorID: 使用“获取本地错误 ID”指令,可以查询块内出现的错误。如果在块执行过程中系统信号出错,会将发生的第一个错误的 ID 保存在输出 ID 的变量中。 ID 输出中只能指定 WORD 数据类型的操作数。 消除第一个错误后,该指令才会输出发生的下一个错误的ID。仅当“获取本地错误 ID”指令的输入的信号状态为“1”且显示了错误信息时,才置位该指令的输出。
4.GetError 与GetErrorID 区别在于 GetError 可以得到比较详细的信息,如块编号,偏移地址等, 便于问题的快速诊断及定位。GetErrorID 指令仅输出简单报错信息;
5.可以在一个块中( FC 或 FB )中不同的网络段中(Network)多次调用 GetError 或 GetError ID 指令;
6.可以在 OB1 中调用GetError 或 GetError ID 指令;
7.GetErrorID 或GetError 指令是基于块的指令,只能诊断调用它的块中的错误,如果出错的程序中未调用该指令,则无法诊断该块中的错误。
总有一天我不再做枝头上夜莺的哀吟
像沙翁中的云雀,我会一翅冲天
为泱泱大国的中华唱出我赞美的诗章;
像沙翁中的云雀,我会一翅冲天
为泱泱大国的中华唱出我赞美的诗章;