Step7OB组织块介绍和使用技巧.doc
3页Step7OB组织块介绍和使用技巧 导读: 在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行除OB90以外,OB1优先级最低,可以被其他OB中断OB1默认扫描监控时间为150ms(可设置), 扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式 每种类型的OB块的分析及其使用方法: 1、自由循环组织块OB1 S7 CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行 除OB90以外,OB1优先级最低,可以被其他OB中断OB1默认扫描监控时间为150ms(可设置),扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式 2、日期中断组织块OB10_OB17 在CPU属性中,可以设置日期中断组织块OB10_OB17触发的日期、执行模式(到达设定的触发日期后,OB只执行一次或按每分、每小时、每周、每月周期执行)等参数, 当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。
在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行, 与在CPU属性中的设置相比,通过用户程序,可以在CPU运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置 3、时间延迟中断组织块OB20_OB23 时间延迟中断组织块OB20_OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,OB号及延迟时间在SFC32参数中设定, 延迟时间为1_60000ms,大大优于定时器精度 4、循环中断组织块OB30_OB38 循环中断组织块OB30_OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如)B35默认的时间间隔为100ms, 在OB35中的用程序将每隔100ms调用一次,时间间隔可以自由设定,最小时间间隔不能小于55msOB中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短, 由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU进入停止模式。
通过调用SFC39_SFC42系统函数可以禁止、延迟、使能循环中断的调用 循环中断组织块通常处理需要固定扫描周期的用户程序,例如PID函数块通常需在循环中断中调用以处理积分时间的计算 5、硬件中断组织块OB40_OB47 硬件中断也叫过程中断,由外部设备产生,例如功能模块FM、通信处理器CP及数字量输入、输出模块等通常使用具有硬件中断的数字量输入模块触发中断响应, 然后为每一个模块配置相应的中断OB(一个模块只能良一个中断OB,S7-300系列PLC CPU只能触发硬件中断OB40),在模块配置中可以选择输入点的上升沿、下降沿或全部作为触发中断OB的事件 配置中的中断事件出现,中断主程序,执行中断OB中的用户程序一个周期,然后跳回中断处继续执行主程序使用中断与普通输入信号相比,没有主程序扫描和过程映像区更新时间,适合需要快速响应的应用 如果输入模块中的一个通道触发硬件中断,操作系统将识别模块的槽号及触发相应的OB,中断OB执行之后发送与通道相关的确认在识别和确认过程中,该通道再次触发的中断事件将丢失; 如果模块其他通道触发中断事件,中断不会丢失,在当前正在运行的中断确认之后触发;如果是不同的模块触发的中断事件,中断请求被记录,中断OB在空闲(没有模块其他通道的中断请求)时触发。
通过调用SFC39_SFC42系统函数可以禁止、延迟、使能硬件中断的调用 6、DPV1中断组织块OB55_OB57 CPU响应PROFIBUS-DP V1从站触发的中断信息 7、多处理器中断组织块OB60 用于S7-400系列PLC多CPU(一个机架中最多插入4个CPU完成同一个复杂任务)处理功能,通过调用SFC35,可以触发OB60在多个CPU中同时执行。





