回复:通讯故障时调用ob

yaoliwen

  • 帖子

    14
  • 精华

    0
  • 被关注

    5

论坛等级:新手

注册时间:2007-07-07

普通 普通 如何晋级?

发布于 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主站时,这一点也同样适用。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。