首页 历史故事循环中断组织块的使用技巧

循环中断组织块的使用技巧

【摘要】:循环中断组织块用于按一定时间间隔循环执行中断程序,例如周期性地定时执行闭环控制系统的PID运算程序等。对于循环中断OB201,已设置时间基数为20 ms,对于循环中断OB202,已设置时间基数为100 ms。使用循环中断组织块,每隔1 s MW20的值加1。在项目视图项目树中,双击PLC设备程序块下的“添加新块”项,选择添加“Cyclic interrupt”类型的OB块,则新建编号为200的循环中断组织块。图6-46 设置循环中断组织块属性图6-47 编写程序

循环中断组织块用于按一定时间间隔循环执行中断程序,例如周期性地定时执行闭环控制系统的PID运算程序等。循环中断OB与循环程序执行无关。循环中断OB的启动时间通过循环时间基数和相位偏移量来指定。循环时间基数定义循环中断OB启动的时间间隔,是基本时钟周期1 ms的整数倍,循环时间的设置范围为1~60000 ms。相位偏移量是与基本时钟周期相比启动时间所偏移的时间。如果使用多个循环中断OB,当这些循环中断OB的时间基数有公倍数时,可以使用该偏移量防止同时启动。

下面给出使用相位偏移的实例。假设已在用户程序中插入两个循环中断OB:循环中断OB201和循环中断OB202。对于循环中断OB201,已设置时间基数为20 ms,对于循环中断OB202,已设置时间基数为100 ms。时间基数100 ms到期后,循环中断OB1第5次到达启动时间,而循环中断OB2是第一次到达启动时间,此时需要执行循环中断OB偏移,为其中一个循环中断OB输入相位偏移量。

用户定义时间间隔时,必须确保在两次循环中断之间的时间间隔中有足够的时间处理循环中断程序。各循环中断OB的执行时间必须明显小于其时间基数。如果尚未执行完循环中断OB,但由于周期时钟已到而导致执行再次暂停,则将启动时间错误OB。

【例6-6】使用循环中断组织块,每隔1 s MW20的值加1。

在项目视图项目树中,双击PLC设备程序块下的“添加新块”项,选择添加“Cyclic interrupt”类型的OB块,则新建编号为200的循环中断组织块。在项目树中右键点击该循环中断组织块,选择“属性”,打开其属性对话框,在“循环中断”项中设置循环时间为100 ms,相移为0 ms,如图6-46所示。

在OB200中编写PLC程序,如图6-47所示。

978-7-111-34922-8-Chapter06-57.jpg

图6-46 设置循环中断组织块属性

978-7-111-34922-8-Chapter06-58.jpg

图6-47 编写程序