【摘要】:S7CPU提供循环中断OB,可用于按一定时间间隔中断循环程序的执行,例如周期性地定时执行闭环控制系统的PID运算程序,间隔时间从STOP切换到RUN模式时开始计算。各CPU可以使用的循环中断OB的个数与CPU的型号有关,S7-300 CPU只能使用OB35。如果两个OB的时间间隔成整倍数,不同的循环中断OB可能同时请求中断,造成处理循环中断服务程序的时间超过指定的循环时间。
S7CPU提供循环中断OB,可用于按一定时间间隔中断循环程序的执行,例如周期性地定时执行闭环控制系统的PID运算程序,间隔时间从STOP切换到RUN模式时开始计算。
用户定义在时间间隔时,必须确保在两次循环中断之间的时间间隔中且有足够的时间处理循环中断程序。
各CPU可以使用的循环中断OB(OB30~OB38)的个数与CPU的型号有关,S7-300 CPU(不包括CPU 318)只能使用OB35。OB30~OB38默认的时间间隔和中断优先级见表6-10。如果两个OB的时间间隔成整倍数,不同的循环中断OB可能同时请求中断,造成处理循环中断服务程序的时间超过指定的循环时间。为了避免出现这样的错误,用户可以定义一个相位偏移。相位偏移用于在循环时间间隔到达时,延时一定的时间后再执行循环中断。相位偏移m的单位为ms,应有0〈m〈n,式中n为循环的时间间隔。
没有专用的SFC来激活和禁止循环中断,可以用SFC40和SFC39来激活和禁止它们。SFC40“EN_INT”是用于激活新的中断和异步错误的系统功能,其参数MODE为0时激活所有的中断和异步错误,为1时激活部分中断和错误,为2时激活指定的OB编号对应的中断和异步错误。SFC39“DIS_INT”是禁止新的中断和异步错误的系统功能,MODE为2时禁止指定的OB编号对应的中断和异步错误,MODE必须用十六进制数来设置。(www.xing528.com)
表6-10 循环OB默认参数
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。