S7 300PLC之旅——用户程序的入口“OB1”
在SIMATIC S7中,用户的程序都维护在一个个的逻辑块中。Block是用户程序最重要的组成部分。STEP 7有三大类块:
1、逻辑块 Logic blocks:OB、FB、FC、SFB、SFC五种
2、数据块 Data blocks:DB、SDB
3、用户自定义数据类型 User-defined data types:UDT
今天,我们一起探讨一下OB块,并着重介绍一下OB1。
OB即组织块(Organization block)。它是指CPU的操作系统与用户程序之间的接口。OB用于执行特定的程序段:
启动CPU时
在循环或定时执行过程中
出错时
发生硬件中断时。
组织块按照已分配的优先级来执行。
OB块大致可以分为以下几类:
程序周期循环组织块OB1;
时间日期中断组织块OB10~OB17;
延时中断组织块OB20~OB23;
循环中断组织块OB30~OB38;
硬件中断组织块OB40~OB47;
等等。。。
Siemens的S7系列CPU,提供了丰富的组织块,我们可以根据实际需求,灵活的调用相应的组织块,完成既定的控制目标。
程序循环组织块OB1
OB1是S7程序的入口,它与C语言中的main()函数有些许类似。系统上电、自检、启动完成后,系统会周期性的执行OB1。我们用户可以在OB1中编写控制程序,处理输入数据、控制输出设备,以完成生产控制要求。
在所有的OB块中,OB1的优先级最低,除了OB90外的所有其他OB块都能中断OB1的执行。
OB1执行后,系统会发送全局数据。在再次执行OB1之前,系统会做以下三件事:
将过程输出映像的数据传给输出模块;
更新过程输入映像;
接收全局数据。
S7会监控程序的扫描时间。系统预设的最大扫描周期为150ms(改时间可更改),同时通过调用SFC43可以重启时间监控。如果OB1的程序执行时间超过了最大扫描周期,系统会调用OB80(时间错误中断),进行中断响应。如果OB80没有专门编程,CPU则会进入STOP模式。
系统除了最大扫描周期之外,还有最小扫描周期。如果OB1程序太小,执行完一次后,仍未达到最小扫描周期,程序会停止执行,直到其达到最小扫描周期。
一个良好的编程习惯是,每类现场设备的控制程序最好编写在独立的FB块或FC块中,然后在OB1中根据需要,随时调用相应的块即可。
下一篇我们将汇总一下FB块、FC块以及DB块的功能和编程要点,尽请期待。
使用变址和子程序实现多任务入口的PLC程序编制方法
【原创 】
加工设备的制造有时是根据客户的要求量身定制(如制造企业常用专用设备,简称专机),为的是提高生产效率、节约成本。而专机有时需要几个部件运行时的不同组合,形成多个任务工序,才能完成工件的加工。
对于这种多任务电气控制,怎样编制PLC程序,PLC程序控制器为我们提供了大量编程指令,只要运用好指令间组合,就能使之程序结构简单而又能可靠运行。
根据某专机要求:专机由四个部件组成,每个部件各有一个状态传感器。需有16种运行方式。而16种运行方式是根据每个部件状态传感器信息组合产生的。以此为示例。根据要求和给的条件,因有4个传感器,通过4个传感器状态信号以二进制组合,刚好有16种运行方式,再使用变址和子程序方式,就能实现16个任务入口(子程序)的PLC程序。
下面是简易的以二进制组合(X0~X3)传送到变址寄存器V,后通过调用子程序的指针变址,进入相应的子程序,在子程序中完成相应变量的置位或复位,最后在主程序中对相应执行元器件输出(Y0~Y3)通断改变。简易程序如下:
简易多任务程序
从上面多任务简易程序看出,程序在结构上层次清晰、分明。此简易程序采用了三菱PLC编制软件编制。
阅后,如对多任务程序编制有更好的方法和思路,请在下方评论区指教,或对本文编制方式给予赞同,请点赞、转发,在此一并感谢。
相关问答
怎么通过电脑读出PLC程序-ZOL问答
不管是什么PLC读取PLC程序的方法基本都一样。第一步:在电脑上安装与PLC对应的编程软件(一般买PLC时就随机带光盘,没有就网上下载)第二步:要有该PLC对应的数据...
s7-200编程软件肿么打开plc程序-ZOL问答
可以,在step7micro/win中选PLC菜单里面有清除选项,清除后上电复位就是空的了。有用(0)回复建议如果你需要安装的工控软件比较多的话还是使用XP,WIN7对很多工...
你好,请问在欧姆龙官网肿么下载plc编程软件的详细过程,谢谢-...
樱花漫画官方网站入口是什么?2.1万浏览3回答肿么查询电脑windows版本6591浏览4回答删除去的网页历史记录怎么找回1.3万浏览9回答马斯克有华人血脉...
如何弄微信小程序哪家服务高端信捷plc程序如何导出?
[回答]朋友推荐找的,非常不错!下载旁边就有个上传的图标,中间有个带锁的下载图标那是加密下载,如果别人采用的是加密下载的话是无法上传的,除非找你懂的...
没有注释的梯形图程序怎么看?
没有注释的梯形图程序可以通过观察代码的结构和逻辑来尝试理解。首先,你可以先观察程序的整体框架,看看它是如何组织的。找到程序的入口点(通常是main函数),...
wincc怎么样读取并显示plcs7-300的日期和时间-ZOL问答
樱花漫画官方网站入口是什么?2.1万浏览3回答1.6万浏览1.4万浏览1.3万浏览5回答微信公众号置顶肿么没有了?7824浏览5回答多多买菜客户服务电话2...
谁有西门子plc200的编程软件的下载地址-ZOL问答
西门子S7-300plc编程软件STEP7V5.4SP5中文版含授权送视频教程,含西门子S7-G...樱花漫画官方网站入口是什么?2.1万浏览3回答我的微信群被人举报了,肿么可...
电脑怎么和三菱Q系列PLC通讯-ZOL问答
三菱的PLC编程口都只有一个,且不能一个并一个。海泰克的PWS触摸屏没有穿透功能(据说海泰克有种EXTER系列的可以穿透,不过没有见过这种屏),所以想通过触摸屏来连...
他人传给我的三菱PLC程序,FX系列的怎么才能进入到里面去啊...
连接后把程序下载到PLC有用(0)回复evolved你有编程软件就可以打开有用(0)回复dsdpjhpjgavq他们说的对,要先安装编程软件(三菱GXDeveloper)版本高点好...
plc怎么加暂停指令?
...可以使用CJ指令来实现。定时器和计数器如果被CJ指令跳过,跳步期间它们的当前值被冻结,如果在跳步开始时定时器和计数器正在工作,在跳步期间,它们将停止计...