S7300组织块详解.docx

上传人:小飞机 文档编号:3165490 上传时间:2023-03-11 格式:DOCX 页数:6 大小:39.91KB
返回 下载 相关 举报
S7300组织块详解.docx_第1页
第1页 / 共6页
S7300组织块详解.docx_第2页
第2页 / 共6页
S7300组织块详解.docx_第3页
第3页 / 共6页
S7300组织块详解.docx_第4页
第4页 / 共6页
S7300组织块详解.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《S7300组织块详解.docx》由会员分享,可在线阅读,更多相关《S7300组织块详解.docx(6页珍藏版)》请在三一办公上搜索。

1、S7300组织块详解组织块是操作系统与用户程序的接口,可以从下面几个方面来理解: 1. 组织块不是用户程序调用的,而是由操作系统调用的。其变量声明表中只有临时变量。 2组织块分为三类: 启动组织块用于系统初始化; 主程序OB1是循环执行的; 出现中断事件时,操作系统将会停止执行当前的任务,调用一个分配给该事件的组织块。 3除了自动生成的OB1,其他组织块需要用户生成,组织块中的程序是用户编写的。 4每个组织块都有20个字节的局部变量,其中包含OB的启动信息。这些信息在OB启动时由操作系统提供,包括启动事件、启动日期与时间,错误及诊断事件。 5. 中断的优先级也就是组织块的优先级,如果在执行中断

2、程序时,又检测到一个中断请求,CPU将比较两个中断源的中断优先级。如果优先级相同,按照产生中断请求的先后次序进行处理。如果后者的优先级比正在执行的OB的优先级高,将中止当前正在处理的OB,改为执行较高优先级的OB。 下面是优先级的顺序:背景循环、主程序扫描循环、时间中断、时间延时中断、循环中断、硬件中断、多处理器中断、I/O冗余错误、异步故障(OB8087)、启动和CPU冗余,背景循环的优先级最低。可以用STEP 7修改S7-400 CPU某些组织块的优先级。 6. 时间中断和延时中断有专用的允许处理中断和禁止中断的系统功能。 其他组织块可以用SFC 39“DIS_INT”来禁止处理某些中断,

3、用SFC 40“EN_INT”来激活被禁止的中断。 SFC 41“DIS_AIRT”用来延迟处理比当前优先级更高的中断,直到用SFC 42“EN_ AIRT”来允许立即处理被SFC 41暂时禁止的中断。 每种类型的OB块的分析及其使用方法: 1、自由循环组织块OB1 S7 CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1。在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行。除OB90以外,OB1优先级最低,可以被其他OB中断。OB1默认扫描监控时间为150ms,扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式

4、。 2、日期中断组织块OB10OB17 在CPU属性中,可以设置日期中断组织块OB10OB17触发的日期、执行模式等参数,当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行,与在CPU属性中的设置相比,通过用户程序,可以在CPU运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置。 3、时间延迟中断组织块OB20OB23 时间延迟中断组织块OB20OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,O

5、B号及延迟时间在SFC32参数中设定,延迟时间为160000ms,大大优于定时器精度。 4、循环中断组织块OB30OB38 循环中断组织块OB30OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如)B35默认的时间间隔为100ms,在OB35中的用程序将每隔100ms调用一次,时间间隔可以自由设定,最小时间间隔不能小于55ms。OB中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短,由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU进入停止模式。通过调用SFC3

6、9SFC42系统函数可以禁止、延迟、使能循环中断的调用。循环中断组织块通常处理需要固定扫描周期的用户程序,例如PID函数块通常需在循环中断中调用以处理积分时间的计算。 5、硬件中断组织块OB40OB47 硬件中断也叫过程中断,由外部设备产生,例如功能模块FM、通信处理器CP及数字量输入、输出模块等。通常使用具有硬件中断的数字量输入模块触发中断响应,然后为每一个模块配置相应的中断OB,在模块配置中可以选择输入点的上升沿、下降沿或全部作为触发中断OB的事件。配置中的中断事件出现,中断主程序,执行中断OB中的用户程序一个周期,然后跳回中断处继续执行主程序。使用中断与普通输入信号相比,没有主程序扫描和

7、过程映像区更新时间,适合需要快速响应的应用。 如果输入模块中的一个通道触发硬件中断,操作系统将识别模块的槽号及触发相应的OB,中断OB执行之后发送与通道相关的确认。在识别和确认过程中,该通道再次触发的中断事件将丢失;如果模块其他通道触发中断事件,中断不会丢失,在当前正在运行的中断确认之后触发;如果是不同的模块触发的中断事件,中断请求被记录,中断OB在空闲时触发。通过调用SFC39SFC42系统函数可以禁止、延迟、使能硬件中断的调用。 6、DPV1中断组织块OB55OB57 CPU响应PROFIBUS-DP V1从站触发的中断信息。 7、多处理器中断组织块OB60 用于S7-400系列PLC多C

8、PU处理功能,通过调用SFC35,可以触发OB60在多个CPU中同时执行。 8、时钟同步中断组织块OB61OB64 用于处理PROFIBUS-DP V1等时钟同步,从采集各个从站的输入到逻辑结果输出,需要经过从站输入信号采样循环、从站背板总线循环、PROFIBUS-DP总线循环、程序执行循环、PROFIBUS-DP总线循环、从站背板总线循环及模块输出循环7个循环,时钟同步中断将7个循环同步,优化数据的传递并保证PROFIBUS-DP各个从站数据处理的同步性。PROFIBUS时钟同步中断只能用于S7-400系列PLC CPU。 9、工艺同步处理中断组织块OB65 用于T-CPU工艺块与开始程序的

9、同步处理。 10、冗余故障中断组织块OB70、OB72 用于S7-400H冗余系统,当I/O冗余故障,例如冗余的PROFIBUS-DP从站故障时,触发OB70的调用,当CPU冗余故障,如CPU切换、同步故障时,触发OB72的调用。如果I/O冗余,或者CPU冗余故障而在CPU中没有创建OB70、OB72,CPU不会进入停止模式。 11、异步故障中断组织块OB80OB87 异步故障中断用于处理各种故障事件。 OB80:处理时间故障、CIR后的重新运行等功能,例如OB1或OB35运行超时,CPU自动调用OB80报错,如果程序中没有创建OB80,CPU进入停止模式。 OB81:处理与电源相关的各种信息

10、,出现故障,CPU自动调用OB81报错,如果程序中没有创建OB81,CPU不会进入停止模式。 OB82:诊断中断,如果使能一个具有诊断中断模块的诊断功能,出现故障时调用OB82,如果程序中没有创建OB82,CPU进入停止模式。诊断中断还对CPU所有内外部故障,包括模块前连接器拔出、硬件中断丢失等作出响应。 OB83:用于模块插拔事件的中断处理,事件出现,CPU自动调用OB83报警,如果程序中没有创建OB83,CPU进入停止模式。 OB84:用于处理存储器、冗余系统中两个CPU的冗余连接性能降低等事件。 OB85:用于处理操作系统访问模块故障、更新过程映像区时I/O访问故障、事件触发但相应的OB

11、没有下载到CPU等事件,事件出现,CPU自动调用OB85报错,如果程序中没创建OB85,CPU进入停止模式。 OB86:用于处理扩展机架、PROFIBUS-DP主站、PROFIBUS-DP或PROFINET I/O分布I/O系统中站点故障等事件,事件出现,CPU自动调用OB86报错,如果程序中没有创建,CPU进入停止模式。 OB87:用于处理MPI GD 通信及时钟同步故障,事件出现,CPU自动调用OB87报错,如果程序中没有创建,CPU不会进入停止模式。 12、处理中断组织块OB88 用于处理程序嵌套、区域数据分配故障,故障出现,CPU自动调用OB88报错,如果程序中没有创建,CPU进入停止

12、模式。 13、背景循环中断组织块OB90 优先级最低,保证CPU最短的扫描时间,避免过程映像区更新过于频繁。程序的下载和CPU中程序的删除触发OB90的调用。只能用于S7-400系列PLC CPU。 14、启动中断组织块OB100OB102 用于处理CPU启动事件,暖启动CPU调用OB100,热启动CPU调用OB101,冷启动CPU调用OB102,温度越低,CPU启动时清除存储器中数据区的类型越多。 15、同步错误中断组织块OB121、OB122 OB121处理与编程故障有关的事件,例如调用的函数没有下载到CPU中、BCD码出错等,OB122处理与I/O地址访问故障有关的事件,例如访问一个I/

13、O模块时,出现读故障等。如果上述故障出现,在程序中没有创建OB121、OB122,CP进入停止模式。 注意:不是所有的OB都可以在S7 CPU中使用,例如S7-300系列PLC PU中只有暖启动OB100,操作系统不能调用OB101、OB102,CPU中可以使用的OB请参考CPU选型手册。 S7-300系列PLC中组织块的优先级是固定的,不能修改,在S7-400系列PLC中下列组织块的优先级可以进行修改: OB10OB47:优先级修改范围223。 OB70OB72:优先级修改范围238。 OB81OB87:优先级修改范围226,优先级2426确保异步故障中断不被其他的事件中断。 几个组织块可以具有相同的优先级,当事件同时出现时,组织块按事件出现的先后顺序触发,如果超过12个相同优先级的OB同进触发,中断可能丢失。 我的理解是OB快分为三种: 第一种用于执行用户所需程序,它们都是用户为满足控制需要所必须执行的程序。 第二种是用于诊断,它们可以使用户在系统出现故障时确定故障点。 第三种是用于保持CPU运行,它们可以使系统即使出现故障也不至于停机。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号