-05S7-300程序结构与程序设计01课件_第1页
-05S7-300程序结构与程序设计01课件_第2页
-05S7-300程序结构与程序设计01课件_第3页
-05S7-300程序结构与程序设计01课件_第4页
-05S7-300程序结构与程序设计01课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章 S7-300程序结构与程序设计电气控制技术与PLC应用5.1 S7-300 CPU 中的程序S7-300 CPU程序分操作系统和用户程序:操作系统:由PLC的生产厂家提供,完成PLC起动、刷新、调用用户程序、中断/诊断/通信处理等任务。用户程序:用户为完成特定的任务而编写的应用程序,由STEP 7编写,编译后下载到PLC的CPU中。第5章 S7-300程序结构与程序设计25.1.1 用户程序中的块STEP7用文件块的形式管理用户编写的程序及程序运行所需的数据,组成结构化的用户程序。结构化编程可使程序组织明确、结构清晰、易于阅读和修改。STEP7 用户程序块:组织块(OB)功能块(FB)

2、功能(FC)数据块(DB)逻辑块31.组织块OBOB1是主程序循环块,在任何情况下都必须存在。OB100OB102用于系统初始化 只上电执行一次。OB10OB17用于日期时间中断 CPU属性设置。OB30OB38用于循环中断 CPU属性设置。OB10.17日期时间中断OB80.87异步错误OB20.23延时中断定期的程序执行OB30.38循环中断事件驱动的程序执行OB40.47硬件中断OB100OB101启动OB102循环的程序执行OB1OB121, 122同步错误错误OB中断OB42.功能块FB和功能FCFB、FC是用户“子程序”;FB带“记忆”功能,数据记忆在FB带有的背景数据块DB(In

3、stance Data Block)中;在FB块结束时数据继续保持,即被“记忆”。功能FC不带“记忆”,没有背景数据块。3.系统功能块SFB和系统功能SFCSFB和SFC集成在S7功能程序库中;用户可以直接调用,但不能修改。54.数据块DBDB是用户定义的用于存取数据的存储区,可以被打开或关闭。DB可以是某个FB的背景数据块;也可以是通用的全局数据块,用于FB或FC的数据存储。数据块分类:全局(共享)数据块背景数据块用户定义数据块。675.FC和FB的区别FB带自己的存储区(背景数据块);FC不带存储区;调用FB可以通过背景数据块传递参数,因此必须指定一背景数据块;调用FC必须通过实参和形参互

4、传参数。8块调用的分层结构9STEP7的块5.1.2 用户程序设计方法:1.线性化编程把用户程序全部放置在一个循环程序块(OB1)中,块中的程序按顺序逐条执行;CPU通过反复执行OB1来实现自动化控制任务。这种结构和PLC所代替的硬接线继电器控制类似。2.模块化编程(分部式) 把整个程序按任务分成若干个部分,并分别放置在不同的功能(FC)、功能块(FB)及组织块中;在一个块中可以进一步分解成段。在组织块OB1中包含按顺序调用这些块的指令,并控制程序执行。113. 结构化编程根据控制任务,把过程要求类似或相关的功能进行分类,分割为几个通用的小任务,这些小任务用相应的程序段表示,称为块(FC或FB

5、)。OB1通过调用这些程序块来完成自动化控制任务。特点:每个块(FC或FB)在OB1中可能会被多次调用,以完成相同工艺要求但不同参数的控制对象。简化程序设计过程、减小代码长度、提高编程效率。适合较复杂的自动化控制任务的设计。125.2 数据块中的数据存储5.2.1 数据存储区数据以变量形式存储,且具唯一。数据可以存储在PII、PIQ、M、L堆栈和DB中。数据可以基本数据类型、复杂数据类型或参数类型。全局变量符号表或共享数据块中声明的变量。局部变量 OB、FC和FB的变量声明表中的变量。135.2.2 数据块1.数据块的分类符号表:只为方便程序阅读,用于给变量设定名称;符号表中变量为全局变量,可

6、在程序所有地方使用。全局(共享)数据块:存储全局数据,所有逻辑块(OB、FC、FB)都可以访问共享数据块的数据。背景数据块:私有存储器区,只用作FB的存储器。背景数据块中包含了FB的参数和静态变量。背景数据块由编辑器生成,不能由用户编辑。用户定义数据块:以UDT为模板所生成的数据块。142.数据块寄存器CPU有两个数据块寄存器:DB(共享数据块):DBX、DBB、DBW、DBDDI(背景数据块): DIX、DIB、DIW、DID可以同时被打开。 155.2.3 数据块的数据结构数据块中含有不同数据类型的数据;在STEP 7数据块中的数据包括:基本数据类型复杂数据类型用户定义数据类型(UDT)1

7、65.2.4 建立数据块STEP7中,只要使用数据块就必须先建立数据块,并在块中定义变量。数据块定义:变量名、数据类型以及初始值等。数据块中变量的顺序及类型决定了数据块的数据结构,变量的数量决定了数据块的大小。说明:数据块建好后,必须同程序块一起下载到CPU中才能被程序访问,否则CPU进入STOP状态。17方法1:用SIMATIC Manager创建数据块。 18方法2:用S7程序编辑器创建数据块。 输入数据块名称点击“新建”图标选择项目类型选择S7项目选择数据块类型19新建DB类型选择窗口 创建共享数据块创建UDT数据块指定相配套的UDT指定相配套的FB创建背景数据块20编辑共享数据块(变量

8、定义) DB1原始窗口在DB1内声明变量215.2.5 访问数据块用户程序有多个数据块,在访问数据块时,必须指明数据块的编号、数据类型与位置。如果访问不存在的数据单元或数据块,又没有编写错误处理OB块,CPU将进入STOP模式。22数据块的寻址231.打开数据块然后访问数据可用装入L或传送T指令访问已经打开的DB块。【例5-2-2】打开并访问共享数据块。 24【例5-2-3】打开并访问背景数据块。 252. 直接访问数据块指令中直接给出数据块的编号和数据在数据块中的地址。可以用绝对地址,也可用符号地址直接访问数据块。用绝对地址直接访问数据块:用符号地址直接访问数据块:265.3 逻辑块(FC和

9、FB)的结构及编程逻辑块 FC、FB和OB。FB:带有背景数据块,其数据结构与该FB参数相同。FB调用结束后数据保存在背景数据块中。FC:不带背景数据块,FC调用结束后数据不保存。OB:由操作系统直接调用。275.3.1 逻辑块(FC和FB)的结构逻辑块由变量声明表、代码段及其属性等部分组成。28FB的变量声明表FC的变量声明表291. 局部变量声明表逻辑块上部都有变量声明表局部变量声明表。局部数据分为参数和局部变量。局部变量包括静态变量和临时变量。变量名类型说 明输入参数In由调用它的块提供参数,输入给本逻辑块输出参数Out向调用它的块返回参数,即从本逻辑块输出数据I/O参数In_Out参数

10、的值由被调用的块提供,经本块运算后再返回静态变量Stat存储在背景数据块中,块调用结束后其内容被保留临时变量Temp本块执行过程中暂存变量值,本块结束变量值丢失30数据块数据的存储:FB:带有背景数据块,内部包含参数变量,FB的运行结果保存在背景数据块中。在调用FB时,若没有提供实参,则功能块使用背景数据块中的数值。FC:不带背景数据块,不能使用静态变量。在调用FC时,必须使用实参。OB:调用OB由操作系统管理的,用户不能参与。312.逻辑块局部变量的数据类型基本数据类型、复式数据类型、参数类型。参数类型包括定时器、计数器、块的地址或指针等。32局部变量的设置如下:335.3.2 逻辑块(FC

11、和FB)的编程对逻辑块编程时必须编辑下列三个部分:变量声明:定义形参、静态变量(FC没有)和临时变量;选择变量名(Name)、数据类型(Data Type);如果需要,设置变量初始值(Initial Value)、加注释(Comment)。局部变量的地址(Address)由STEP7自动产生。代码段:用不同编程语言对PLC进行编程。块属性:块属性包含一些附加信息。 341.临时变量的定义和使用352.形式参数的定义形式参数有3种:IN:只读,输入OUT:只写,输出IN_OUT:读/写,输入/输出36选择参数类型输入参数名称数据类型参数注解定义输入参数定义输出参数定义输入/输出参数数据类型下拉列表373.编写控制程序编写逻辑块(FC和F

温馨提示

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

最新文档

评论

0/150

提交评论