2, OB83 诊断
OB83是插拔中断组织块。
对于 PROFINET IO,OB83赋予了一些新的特点,对于S7 CPU31x-2PN/DP可以使用
OB83来评估模块插拔中断。而对于
Profibus-DP 系统中的
s7-300则无法使用OB83。
在下列情况下CPU 操作系统调用OB83:
• 组态的模板插入/ 拔出之后。
• 在STEP 7 下修改了模板参数并在RUN 状态下装所作修改到CPU。
模板插入和拔出在RUN、STOP 和ST ARTUP 方式时每次组态的模板插入或拔出,就产
生了插入/ 拔出中断(电源模板、CPU、适配模块和IM 不能在这种方式下移出)。
对于S7-300
PLC不允许热插拔中央机架的模块。然而,存在一些特殊情况:
• S7 CPU31 x-2PN/DP 仅支持分布式IO设备插拔模板中断。
• S7 CPU IM151- 7 DP和CPU IM151-8 PN支持中央机架IO的插拔(1块IO模板)。
如果没有遵守上述要求,例如在CPU IM151-8 PN的中央机架插拔2块IO模板。那么即使
在CPU中加入了OB83,CPU也会停机,同时报告“Stop caused by I/O manageme nt ”,只
有这些故障消除才能启动CPU。所以在操作时必须遵守模板安装规范,防止不必要的停机。
当它检测到故障时,它输出一个插拔中断请求给CPU。于是操作系统调用OB83。如果
没有下载OB83到PLC 中,那么PLC 会停机。具体相关变量信息可以查看Step7 在线帮助
OB83。
下面举一个模块更换的例子,假如一个DO模块损坏,然后替换一个新的模块,如果新的
模块的类型与被替换的类型不一致,报告相应的错误。
例子程序如下:
A(
L #OB83_EV_CLASS
L B#16#38 //module insert
==I
)
A(
L #OB83_FLT_ID
L W#16#55 //Fault ID
==I
) //PROFINET IO subm odule inserted, but does not match
configured submodule
A(
L #OB83_MDL_TYPE
L W#16#81 02
) //confirm again
A(
L #OB83_RESERVE D_1
L B#16#C4
)
JCN ne xt
L #OB83_MDL_AD DR
T MW 130 //read th e addr ess of the module
L #OB83_RACK_ N UM
L 2#111111 111 11
AW
T MW 132 //determine the devic e number
next: NOP 0