发表于:2015/3/16 13:59:42
#0楼
1.诊断错误 OB82 的功能
OB82 是唯一支持诊断错误事件的 OB ,出现故障,故障解除均会触发诊断中断 OB82 。当模块检测到故障并且在软件中使能了诊断错误中断时,操作系统将启动诊断错误中断,诊断错误中断 OB82 将中断正常的循环程序优先执行。此时无论程序中有没有诊断中断 OB82,CPU 都会保持 RUN 模式,同时 CPU 的 ERROR 指示灯闪烁。如果希望 CPU 在接收到该类型的错误时进入 STOP 模式,可以在 OB82 中加入 STP 指令使 CPU 进入 STOP 模式。
2.诊断的相关信息
当触发诊断错误中断时,通过 OB82 的接口变量可以读取相应的启动信息,帮助确定事件发生的设备、通道和错误原因。
例如:模拟量输出模块 SM1232 的电压输出通道,对于通道1使能短路诊断,当通道1出现短路错误时,随即触发诊断错误 OB82 ,此时可从 OB82 的启动参数中读取诊断信息。
1.创建诊断错误 OB82
OB82 中编程如下图,创建地址为 MW100、MW102、MW104 的变量用于存储出现诊断错误时读取到的启动信息。
在硬件组态窗口中,选中模拟量输出模块,选择模拟量输出通道1的“启用短路诊断”功能。
测试结果:程序下载后,在监控表中给“channel1”设置输出值5000,如果此时出现了短路故障,则将立即触发诊断错误功能。
常见问题:
触发诊断错误中断时,CPU 如何响应?
1、启用诊断错误中断且 CPU 中创建了 OB82 ;
2、OB82 是唯一支持诊断错误事件的 OB ;一次只能报告一个通道的诊断错误;
3、如果多通道设备的两个通道出现错误,则第二个错误只会在以下情况触发 OB82 :第一个通道错误已清除,由第一个错误触发的 OB82 已执行完毕,并且第二个错误仍然存在;
4、事件的进入或离开都会触发一次 OB82
5、触发 OB82 ,CPU 不会进入 STOP 模式。
哪些情况会触发诊断错误中断?
如下错误将触发诊断错误中断 OB82 :
① 无用户电源
② 超出上限
③ 超出下限
④ 断路(电流输出、电流4~20mA输入、RTD、TC)
⑤ 短路(电压输出)
OB82 是唯一支持诊断错误事件的 OB ,出现故障,故障解除均会触发诊断中断 OB82 。当模块检测到故障并且在软件中使能了诊断错误中断时,操作系统将启动诊断错误中断,诊断错误中断 OB82 将中断正常的循环程序优先执行。此时无论程序中有没有诊断中断 OB82,CPU 都会保持 RUN 模式,同时 CPU 的 ERROR 指示灯闪烁。如果希望 CPU 在接收到该类型的错误时进入 STOP 模式,可以在 OB82 中加入 STP 指令使 CPU 进入 STOP 模式。
2.诊断的相关信息
当触发诊断错误中断时,通过 OB82 的接口变量可以读取相应的启动信息,帮助确定事件发生的设备、通道和错误原因。
例如:模拟量输出模块 SM1232 的电压输出通道,对于通道1使能短路诊断,当通道1出现短路错误时,随即触发诊断错误 OB82 ,此时可从 OB82 的启动参数中读取诊断信息。
1.创建诊断错误 OB82
OB82 中编程如下图,创建地址为 MW100、MW102、MW104 的变量用于存储出现诊断错误时读取到的启动信息。
在硬件组态窗口中,选中模拟量输出模块,选择模拟量输出通道1的“启用短路诊断”功能。
测试结果:程序下载后,在监控表中给“channel1”设置输出值5000,如果此时出现了短路故障,则将立即触发诊断错误功能。
常见问题:
触发诊断错误中断时,CPU 如何响应?
1、启用诊断错误中断且 CPU 中创建了 OB82 ;
2、OB82 是唯一支持诊断错误事件的 OB ;一次只能报告一个通道的诊断错误;
3、如果多通道设备的两个通道出现错误,则第二个错误只会在以下情况触发 OB82 :第一个通道错误已清除,由第一个错误触发的 OB82 已执行完毕,并且第二个错误仍然存在;
4、事件的进入或离开都会触发一次 OB82
5、触发 OB82 ,CPU 不会进入 STOP 模式。
哪些情况会触发诊断错误中断?
如下错误将触发诊断错误中断 OB82 :
① 无用户电源
② 超出上限
③ 超出下限
④ 断路(电流输出、电流4~20mA输入、RTD、TC)
⑤ 短路(电压输出)
总有一天我不再做枝头上夜莺的哀吟
像沙翁中的云雀,我会一翅冲天
为泱泱大国的中华唱出我赞美的诗章;
像沙翁中的云雀,我会一翅冲天
为泱泱大国的中华唱出我赞美的诗章;