回复:请问如果io故障恢复是调用哪个组织块?

youhm

  • 帖子

    4924
  • 精华

    81
  • 被关注

    51

论坛等级:至圣

注册时间:2008-06-28

普通 普通 如何晋级?

发布于 2010-06-13 09:46:29

5楼

quote:以下是引用shine在2010-06-13 08:57:26的发言:
故障恢复时也会自动调用OB122,在入口参数中有一个参数是表示故障的到来和离去的。


在OB122的帮助里,看不出有故障离开时也会调用OB122的描述

[COLOR=blue]描述

只要在访问模块上的数据时出错,CPU的操作系统即调用OB122。例如,如果在访问I/O模块上的数据时,CPU检测到读取错误,操作系统将调用OB122。


了解I/O访问错误OB的操作

执行OB122时所处优先级与中断OB的优先级相同。如果OB122未编程,则CPU将由RUN模式改变为STOP模式。

S7提供了下列SFC,用于在执行程序期间屏蔽和取消屏蔽OB122的启动事件:

?SFC36 (MSK_FLT):屏蔽特定的错误代码

?SFC37 (DMSK_FLT):取消屏蔽由SFC36屏蔽的错误代码

?SFC38 (READ_ERR):读取错误寄存器


I/O访问错误OB的本地数据

下表说明了I/O访问错误OB的临时(TEMP)变量。变量名为OB122的默认名称。



变量 类型 描述
OB122_EV_CLASS BYTE 事件等级和标识符:B#16#29
OB122_SW_FLT BYTE 错误代码:?B#16#42:I/O访问错误,读取 ?B#16#43:I/O访问错误,写入
OB122_PRIORITY BYTE 优先级: ?出错OB的优先级
OB122_OB_NUMBR BYTE OB编号(122)
OB122_BLK_TYPE BYTE 出错块的类型(B#16#88:OB,B#16#8C:FC,B#16#8E:FB) (未在此处为S7-300输入有效编号)
OB122_MEM_AREA BYTE 存储器区域和访问类型:?位7至4:访问类型- 0: 位访问- 1: 字节访问- 2: 字访问- 3: 双字访问?位3至0:存储器区- 0: I/O区域- 1: 输入的过程映像 2: 输出的过程映像
OB122_MEM_ADDR WORD 出错的内存地址
OB122_BLK_NUM WORD 具有导致错误的MC7命令的块编号(未在此处为S7-300输入有效的编号)
OB122_PRG_ADDR WORD 导致错误的MC7命令的相对地址(未在此处为S7-300输入有效编号)
OB122_DATE_TIME DATE_AND_TIME 调用OB时的DATE_AND_TIME[/COLOR]

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54615条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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