发布于 2008-01-11 19:10:19
0楼
ob82的描述,不知道对你是否有用
如果具有诊断功能的模块(已为其启用了诊断中断)检测到错误,则它会输出一个诊断中断的请求给CPU(当事件进入和离开时)。则操作系统调用OB82。
OB82的局部变量包含逻辑基址和四字节的故障模块的诊断数据(请参见下表)。
如果OB82尚未编程,则CPU转为STOP模式。
可以使用SFC 39至42禁用或延迟,并重新启用诊断中断OB。
诊断中断OB的本地数据
下表说明了诊断中断OB的临时(TEMP)变量。变量名为OB82的缺省名称。
变量 类型 描述
OB82_EV_CLASS BYTE 事件等级和标识符:B#16#38:离开事件B#16#39:进入事件
OB82_FLT_ID BYTE 错误代码(B#16#42)
OB82_PRIORITY BYTE 优先级,可通过STEP 7分配(硬件配置)
OB82_OB_NUMBR BYTE OB编号(82)
OB82_RESERVED_1 BYTE 保留
OB82_IO_FLAG BYTE 输入模块: B#16#54输出模块: B#16#55
OB82_MDL_ADDR WORD 发生故障的模块的逻辑基址
OB82_MDL_DEFECT BOOL 模块发生故障
OB82_INT_FAULT BOOL 内部故障
OB82_EXT_FAULT BOOL 外部故障
OB82_PNT_INFO BOOL 通道故障
OB82_EXT_VOLTAGE BOOL 外部电压故障
OB82_FLD_CONNCTR BOOL 未插入前面板连接器
OB82_NO_CONFIG BOOL 未组态模块
OB82_CONFIG_ERR BOOL 模块中的参数不正确
OB82_MDL_TYPE BYTE 位0至3:模块等级位4:存在通道信息位5:存在用户信息位6:来自替换者的诊断中断位7:保留
OB82_SUB_MDL_ERR BOOL 子模块丢失或存在错误
OB82_COMM_FAULT BOOL 通讯问题
OB82_MDL_STOP BOOL 操作模式(0:RUN,1
:STOP)
OB82_WTCH_DOG_FLT BOOL 监视狗定时器响应
OB82_INT_PS_FLT BOOL 内部电源故障
OB82_PRIM_BATT_FLT BOOL 电池耗尽
OB82_BCKUP_BATT_FLT BOOL 整个备份失败
OB82_RESERVED_2 BOOL 保留
OB82_RACK_FLT BOOL 扩展机架故障
OB82_PROC_FLT BOOL 处理器故障
OB82_EPROM_FLT BOOL EPROM故障
OB82_RAM_FLT BOOL RAM故障
OB82_ADU_FLT BOOL ADC/DAC错误
OB82_FUSE_FLT BOOL 保险丝断开
OB82_HW_INTR_FLT BOOL 硬件中断丢失
OB82_RESERVED_3 BOOL 保留
OB82_DATE_TIME DATE_AND_TIME 调用OB时的DATE_AND_TIME
注意如果使用了具有DPV1功能的CPU,可借助于SFB54 "RALRM"获取有关中断的其它信息,这些信息不止包含OB的起始信息。在S7兼容模式下操作DP主站时,这一点也同样适用。