您现在的位置是:首页 > PLC技术 > PLC技术

S7-300 PLC的模块热插拔中断组织块( OB83)

来源:艾特贸易2017-06-04

简介(1) 操作系统调用 OB83 的情况 1) 组态的模块插入 / 拔出之后; 2) 在 STEP 7 下修改了模块参数并在 RUN 状态安装到 CPU 之后,可以借助 SFC39 至 SFC42 禁止 / 延时 / 使能插 /V 拔出中断 OB 。 模

    (1)操作系统调用OB83的情况    1)组态的模块插入/拔出之后;    2)STEP 7下修改了模块参数并在RUN状态安装到CPU之后,可以借助SFC39SFC42禁止/延时/使能插/V拔出中断OB    模块插入和拔出在RUNSTOPSTARTUP方式时,每次组态的模块插入或拔出,就产生了插入/拔出中断(电源模块、CPU、适配模块和IM不能在这种方式下移出)。该中断引起有关CPU的诊断缓冲区和系统状态表的记录。如果CPURUN方式也启动插入/拔出OB,该OB未编程,CPU变为STOP方式。    系统以秒间隔查询S7 -400模块以检测插入或拔出。为使CPU能检测出S7-400模块的拔出和插入,拔出和插入之间最小时间间隔必须超出2秒。对其他模块最小时间更高一些。    如果在RUN方式下拔出组态的模块,OB83启动。由于仅以1秒的间隔监视模块的存在,如果模块被直接访问或当过程映像被刷新时可能首先检测出访问故障。如果在RUN方式下在组态的插槽中插入一块模块,操作系统检查插入的模块类型是否与组态记录一致。如果模块类型匹配,于是OB83被启动并且参数被赋值。    (2)重新组态模块    在运行时,修改系统组态可以重新选择已存在模块的参数。参数的重新选择通过传送所需的参数数据到模块来进行。过程如下:    1)在用STEP 7为一块模块选择了新的参数并且在RUN方式下安装该参数组态到CPUOB83启动(启动事件W#16 #3367)。相应的OB启动信息为逻辑起始地址(OB83MDL_ ADDR)和模块类型(OB83MDLTYPE)。模块I/O数据现在可能不对,这意味着不可能有SFC忙于发送数据记录到该模块。    2) OB83执行之后模块参数被重新赋值。    3)参数设置之后OB83将再次启动(启动事件W#16#3267,成功提供参数设置,或W#16#3968如果故障)。模块I/O数据响应与插入中断后的响应相同,也就是,现在它们可能不正确。可以再次调用SFC发送数据记录到该模块。    对于S7 -400系列的PLC,除了CPU模块、电源模块和带适配器的S5模块外,允许带电热插拔已经组态的其他模块,此时要产生模块热插拔中断。此外用STEP 7修改模块的参数后,在RUN模式下安装到CPU中时,也要产生模块热插拔中断,调用OB83。可以用SFC39~SFC42来禁止、延时和激活OB83    如果CPU正在运行时插入已组态的模块,则CPU检查所插入的模块类型是否与组态记录一致。如果一致,则调用OB83,通过HW Config程序,用已组态在CPU上的参数集装入该模块。在编写OB83的程序时,要根据OB83的启动信息,调用SFC55~SFC59,对新插入的模块的参数设置。表5-11OB83的变量声明表。    5-11    OB83变量声明表
OB83变量声明表