专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

如何理解和使用STEP7的循环中断组织块OB3x_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/7 2:08:06       共计:3595 浏览

如何理解和使用STEP7的循环中断组织块OB3x?

一、S7系列PLC的程序执行过程

要回答这一问题,首先得清楚S7系列PLC程序执行的过程,如下图所示。

PLC得电或由STOP模式切换到RUN模式时,CPU起动,同时清除没有保持功能的位存储器、定时器、计数器,清除中断堆栈和块堆栈的内容,复位保存的硬件中断等。

执行“系统起动组织块”OB100,该组织块可以自定义编程,实现一些初始化的工作; 系统进入周期扫描,并起动循环时间监控;CPU将输出过程映像区的数据写入输出模块;读取输入模块的状态,并写入输入过程映像区; CPU调用OB1,执行用户程序,期间,根据需要可调用其他逻辑块(FB、SFB、FC及SFC),来实现控制任务;在循环结束时,操作系统执行所有挂起的任务,例如下载和删除块、接收和发送全局数据等;CPU重新启动循环时间监控,开始新的循环;

9、在执行用户程序的过程中,如果有中断事件发生,当前执行的块将暂停执行,转而执行相应的组织块,来响应中断。该组织块执行完成后,之前被暂停的块将从中断的地方继续开始执行。OB1具有很低的优先级,除了OB90外,所有的组织块都能中断OB1。

二、循环中断组织块的概念

S7提供了多达九个的循环中断OB (OB30至OB38),它们以固定的时间间隔来中断用户程序。不同的CPU支持的循环中断的个数有所差异,比如CPU315-2DP仅有一个循环中断组织块——OB35;而S7-400系列CPU几乎支持全部的九个循环中断OB,具体支持与否,可查看硬件手册。

循环中断OB的等距启动时间是由时间间隔和相位偏移量决定的。在“硬件组态”中,可以定义循环中断的优先级、两次中断之间的时间间隔以及相位偏移量(在S7-300系列CPU中,只能定义时间间隔),如下图所示。

定义好上述参数后,系统上电、正常运行后,每隔一定的时间,触发一次循环中断,系统暂时中止执行OB1中的程序,转而执行循环中断OB(如OB35)中的程序。循环中断OB中的代码执行完毕后,系统自动回到OB1的断点处,继续执行OB1的程序。直到下一次循环中断的产生,如此,周而复始。

三、什么时候用循环中断

我们知道,OB1由于可能被其他组织块中断,因此,每一次处理周期的时间会不尽相同,因此一些些对“周期时间”要求比较严格的信号,在OB1中处理就不太合适了。

和OB1不同,循环中断OB块的是“等间隔”执行的,其执行间隔可由用户自定义,相比OB1而言,其等时、同步性能更好,比如模拟量的采集和处理,为保证数据的统一性,通常可将代码写在循环中断组织块中。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:Ipad用耳机孔能连接功放吗_服务器 | ·下一条:大家对于测绘类的软件了解有多少_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有