西门子S7-1200PLC教程 课件 第5章 S7-1200 PLC程序块_第1页
西门子S7-1200PLC教程 课件 第5章 S7-1200 PLC程序块_第2页
西门子S7-1200PLC教程 课件 第5章 S7-1200 PLC程序块_第3页
西门子S7-1200PLC教程 课件 第5章 S7-1200 PLC程序块_第4页
西门子S7-1200PLC教程 课件 第5章 S7-1200 PLC程序块_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章S7-1200程序块5.1OB 5.2FC 5.3FB 5.4DB 5.5思考题第5章S7-1200程序块S7-1200的用户程序结构采用模块化的编程结构,模块换编程可以将复杂的自动化任务划分为对应生产过程的技术功能较小的子任务,每个子任务对应于一个称为“块”的子程序,可以通过块与块之间的相互调用来组织程序,这样的块的程序易于修改和调试。块描述组织块(OB)是CPU操作系统与用户程序的接口,决定用户程序的结构。被操作系统自动调用,在使用中有中断组织块、启动组织块等。使用时必须有OB1组织块,操作系统每个扫描周期执行一次OB1。函数块(FB)用户编写的包含经常使用的功能的子程序,有专用背景数据块,运行时需要调用各种参数,于是就产生了背景数据块DB,所以需要用的数据就存储在DB中,即使结束调用,数据也不会丢失。函数(FC)用户编写的包含经常使用的功能的子程序,无专用背景数据块,运行时产生临时变量,执行结束后,数据丢失,不具备存储功能。背景数据块(DB)用于保存FB的输入变量、输出变量和静态变量,其数据在编译时自动生成。全局数据块(DB)用于存储用户的数据区域,供所有的代码块访问。OB1是用户程序的主程序,CPU操作系统会在每个扫描周期,循环扫描执行OB1中的程序,而对于FB或FC需要在OB1中调用后才会被PLC扫描执行。背景DB1循环组织块OB1FB1FC1背景DB2FB2背景DB3FB3FC2FC3全局DB45.1OB组织块(OB)是操作系统和用户程序之间的接口。OB用于执行具体的程序:在CPU启动时、循环程序处理、在循环或延时时间到达时,当发生外部条件触发时,当发生故障、错误时。OB内部调用FB、FC,并且这些FB、FC还可以继续向下嵌套调用FB、FC。除主程序和启动OB以外,其他OB的执行是根据各种中断条件(错误、时间、硬件等)来触发的,OB无法被FB、FC调用。5.2FCFC(功能)是不含存储区的代码块,常用于对一组输入值执行特定运算,例如:可使用FC执行标准运算和可重复使用的运算(如数学计算)或者执行工艺功能(如使用位逻辑运算执行独立的控制)。FC也可以在程序中的不同位置多次调用,简化了对经常重复发生的任务的编程。首先需要说明的是FC和FB中变量声明表(接口参数)中都有Input(可读)、Output(可写)、Inout(可读可写)、Temp(可读可写)、Costant(常数)。无参数调用有参数调用5.2FC(无参数调用)5.2FC(有参数调用)2.FC(有参数调用)对于FC来说,产生大量的中间变量时,放在Temp区不能同时调用,放在Inout区又会产生大量的外部接口,同时又需要设置大量的实参与之对应。于是FB就出现了。5.2FC例1:设备维护提醒按下启动按钮,电机开始工作,开始计时。按下停止按钮,电机停止计时。统计设备的运行时间:天、时、分、秒。电机累计工作10天,发出报警提示(报警需闪烁),但电机正常工作,设备正常计时。发出报警提示,工作人员需要按下停止按钮,对电机进行维护保养,维护保养之后,按下复位按钮,报警灯熄灭。计时从零开始。3.FB5.3FB5.3FB因为FC中的变量是没有存储地址的,必须分配实参才可以。而对于FB来说是非必须的,因为它的背景DB已经给其分配了存储地址。因为在背景DB中已经给这些变量提供了存储地址,就是DB地址。当然也可以给其分配一些地址,比如I区、Q区、M区地址。Static中的变量可以存储数据,但是不会生成外部接口。5.3FB3.FB(多重背景)只能放在Static接口区中。这样就确定了要集成的接口区。如何集成呢?如何把FB2中的参数打包在FB1的Static接口区?既然是接口,就需要新建一个变量,能否通过变量名称来打包参数?不能。变量名称仅仅是一个代号。只能通过数据类型来打包参数。所以建立一个变量M1,数据类型选择“电机控制”3.FB(多重背景)3.FB(多重背景)多重背景是专门为了解决在FB嵌套过程中多次调用时所产生的背景DB不易监控,不易处理等问题而做的改进,它是数据的集中处理,可减少DB块的个数。实施步骤如下:在高层FB变量声明表的Static接口中新建变量,而变量的数据类型就是所调用FB的块名称,这样就把下层FB的变量声明表中的变量Input、Output、Inout、Static的每个变量都集成到了高层FB的变量声明表中的Static接口中。从而在上层FB的背景DB中分配了唯一的绝对地址。全局DB全局DB全局DB(输出为Q0.0时,上位机显示不受控)全局DB(输出为Q0.0时,上位机显示受控)全局DB(输出为Q0.0时,上位机显示受控)全局DB(实际按钮控制时,上位机输出显示受控,输入不受控,输出为Q0.0)全局DB(实际按钮控制时,上位机输出显示受控,输入不受控,输出为Q0.1)全局DB(到底是控制第一个还是第二FB呢?不确定。所以这里的输出不能用实参,那么该如何处理呢?可以在Inout中设置一个变量V。)全局DB(到底是控制第一个还是第二FB呢?不确定。所以这里的输出不能用实参,那么该如何处理呢?可以在Inout中设置一个变量V。)全局DB(到底是控制第一个还是第二FB呢?不确定。所以这里的输出不能用实参,那么该如何处理呢?可以在Inout中设置一个变量V。)全局DB(到底是控制第一个还是第二FB呢?不确定。所以这里的输出不能用实参,那么该如何处理呢?可以在Inout中设置一个变量V。)全局DB(这样在FB的左下角就多了一个接口,连接全局DB中的运行1和运行2就可以了)

全局DB()那么如果要同时监控启动、停止、运行怎么实现呢?需要再设置四个变量吗,然后在FB程序内部一一关联,且在FB1的左下角又会出现两个接口?那么若要监控更多的变量呢?显然这种方法是行不通的。试想一下,能否把这些变量做在一起,每调用一次就分配一次地址?即把这些变量进行打包,这样的类型就称为用户自定义类型(User

DefinedDataType),简称UDT。UDT在PLC数据类型中“添加新数据类型”,这样就出现了“用户自定义数据类型1”UDT这样在全局DB中把原来的那些变量删掉,重

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论