【文档说明】-05S7-300程序结构与程序设计01课件.ppt,共(39)页,1.066 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-2154.html
以下为本文档部分文字说明:
第5章S7-300程序结构与程序设计电气控制技术与PLC应用第5章S7-300程序结构与程序设计25.1S7-300CPU中的程序◼S7-300CPU程序分操作系统和用户程序:✓操作系统:由PLC的生产厂家提供,完成PLC起动、刷新、调用用户程序、中断/诊断/通信处理等任务。✓用户
程序:用户为完成特定的任务而编写的应用程序,由STEP7编写,编译后下载到PLC的CPU中。第5章S7-300程序结构与程序设计第5章S7-300程序结构与程序设计35.1.1用户程序中的块◼STEP7用文件块的形式管理用户编写的
程序及程序运行所需的数据,组成结构化的用户程序。◼结构化编程可使程序组织明确、结构清晰、易于阅读和修改。◼STEP7用户程序块:•组织块(OB)•功能块(FB)•功能(FC)•数据块(DB)逻辑块第5章S7-300程序结构与程序设计41.
组织块OB◼OB1是主程序循环块,在任何情况下都必须存在。◼OB100~OB102用于系统初始化——只上电执行一次。◼OB10~OB17用于日期时间中断——CPU属性设置。◼OB30~OB38用于循环中断—
—CPU属性设置。OB10...17日期时间中断OB80...87异步错误OB20...23延时中断定期的程序执行OB30...38循环中断事件驱动的程序执行OB40...47硬件中断OB100OB10
1启动OB102循环的程序执行OB1OB121,122同步错误错误OB中断OB第5章S7-300程序结构与程序设计52.功能块FB和功能FC◼FB、FC是用户“子程序”;◼FB带“记忆”功能,数据记忆在FB带有的背景
数据块DB(InstanceDataBlock)中;◼在FB块结束时数据继续保持,即被“记忆”。◼功能FC不带“记忆”,没有背景数据块。3.系统功能块SFB和系统功能SFC◼SFB和SFC集成在S7功
能程序库中;◼用户可以直接调用,但不能修改。第5章S7-300程序结构与程序设计64.数据块DB◼DB是用户定义的用于存取数据的存储区,可以被打开或关闭。◼DB可以是某个FB的背景数据块;也可以是通用的全局数据块,用于FB或FC的数据存储。◼数据块分类:•全局(共享)数据块•背
景数据块•用户定义数据块。第5章S7-300程序结构与程序设计7第5章S7-300程序结构与程序设计85.FC和FB的区别◼FB带自己的存储区(背景数据块);◼FC不带存储区;◼调用FB可以通过背景数据块传递参数,因此必须指定一背景数据块;◼调用FC必须通过
实参和形参互传参数。第5章S7-300程序结构与程序设计9块调用的分层结构背景DB共享DBFB/SFB背景DBFB/SFBOB操作系统FC/SFCFC/SFC共享DB第5章S7-300程序结构与程序设计STEP7的块
第5章S7-300程序结构与程序设计115.1.2用户程序设计方法:1.线性化编程◼把用户程序全部放置在一个循环程序块(OB1)中,块中的程序按顺序逐条执行;◼CPU通过反复执行OB1来实现自动化控制任务。◼这种结构和PLC所代替的硬接线继电器控制类似。2.
模块化编程(分部式)◼把整个程序按任务分成若干个部分,并分别放置在不同的功能(FC)、功能块(FB)及组织块中;◼在一个块中可以进一步分解成段。◼在组织块OB1中包含按顺序调用这些块的指令,并控制程序执行。第5章S7-3
00程序结构与程序设计123.结构化编程◼根据控制任务,把过程要求类似或相关的功能进行分类,分割为几个通用的小任务,这些小任务用相应的程序段表示,称为块(FC或FB)。◼OB1通过调用这些程序块来完成自动化控制任务。特点:◼每个块(FC或FB)在OB1
中可能会被多次调用,以完成相同工艺要求但不同参数的控制对象。◼简化程序设计过程、减小代码长度、提高编程效率。◼适合较复杂的自动化控制任务的设计。第5章S7-300程序结构与程序设计135.2数据块中的数据存储5.2.1数据存储区
◼数据以变量形式存储,且具唯一。◼数据可以存储在PII、PIQ、M、L堆栈和DB中。◼数据可以基本数据类型、复杂数据类型或参数类型。◼全局变量——符号表或共享数据块中声明的变量。◼局部变量——OB、FC和FB的变量声明表中的变量。第5章S7-300程序结构与程序设计145.2.2数据块
1.数据块的分类◼符号表:只为方便程序阅读,用于给变量设定名称;符号表中变量为全局变量,可在程序所有地方使用。◼全局(共享)数据块:存储全局数据,所有逻辑块(OB、FC、FB)都可以访问共享数据块的数据。◼
背景数据块:私有存储器区,只用作FB的存储器。•背景数据块中包含了FB的参数和静态变量。•背景数据块由编辑器生成,不能由用户编辑。◼用户定义数据块:以UDT为模板所生成的数据块。第5章S7-300程序结构与程序设计152.数据块寄存
器◼CPU有两个数据块寄存器:✓DB(共享数据块):DBX、DBB、DBW、DBD✓DI(背景数据块):DIX、DIB、DIW、DID✓可以同时被打开。第5章S7-300程序结构与程序设计165.2.3数据块的数据结构◼数据块中含有不同数
据类型的数据;◼在STEP7数据块中的数据包括:•基本数据类型•复杂数据类型•用户定义数据类型(UDT)第5章S7-300程序结构与程序设计175.2.4建立数据块◼STEP7中,只要使用数据块就必须先建立数
据块,并在块中定义变量。◼数据块定义:变量名、数据类型以及初始值等。◼数据块中变量的顺序及类型决定了数据块的数据结构,变量的数量决定了数据块的大小。说明:数据块建好后,必须同程序块一起下载到CPU中才能被程序访
问,否则CPU进入STOP状态。第5章S7-300程序结构与程序设计18方法1:用SIMATICManager创建数据块。第5章S7-300程序结构与程序设计19方法2:用S7程序编辑器创建数据块。输入数
据块名称点击“新建”图标选择项目类型选择S7项目选择数据块类型第5章S7-300程序结构与程序设计20新建DB类型选择窗口创建共享数据块创建UDT数据块指定相配套的UDT指定相配套的FB创建背景数据块第5章S7
-300程序结构与程序设计21编辑共享数据块(变量定义)DB1原始窗口在DB1内声明变量第5章S7-300程序结构与程序设计225.2.5访问数据块◼用户程序有多个数据块,在访问数据块时,必须指明数据块的编号、数据类型与位置。◼如果访问
不存在的数据单元或数据块,又没有编写错误处理OB块,CPU将进入STOP模式。第5章S7-300程序结构与程序设计23◼数据块的寻址第5章S7-300程序结构与程序设计241.打开数据块然后访问数据◼可用装入L或传送T指令访问已经打开的DB块。【例5-2-2】打开并访问共享数据块。第5章S
7-300程序结构与程序设计25【例5-2-3】打开并访问背景数据块。第5章S7-300程序结构与程序设计262.直接访问数据块✓指令中直接给出数据块的编号和数据在数据块中的地址。✓可以用绝对地址,也可用符号地址直接访问数据块。⑴用绝对地址直接访问数据块:⑵用符号地址
直接访问数据块:第5章S7-300程序结构与程序设计275.3逻辑块(FC和FB)的结构及编程逻辑块——FC、FB和OB。◼FB:带有背景数据块,其数据结构与该FB参数相同。FB调用结束后数据保存在背景数据块
中。◼FC:不带背景数据块,FC调用结束后数据不保存。◼OB:由操作系统直接调用。第5章S7-300程序结构与程序设计285.3.1逻辑块(FC和FB)的结构◼逻辑块由变量声明表、代码段及其属性等部分组成。第5章S7-300程序结构与程序设计29◼FB的变量声
明表◼FC的变量声明表第5章S7-300程序结构与程序设计301.局部变量声明表◼逻辑块上部都有变量声明表——局部变量声明表。◼局部数据分为参数和局部变量。◼局部变量包括静态变量和临时变量。变量名类型
说明输入参数In由调用它的块提供参数,输入给本逻辑块输出参数Out向调用它的块返回参数,即从本逻辑块输出数据I/O参数In_Out参数的值由被调用的块提供,经本块运算后再返回静态变量Stat存储在背景数据块中,块调用结束后其内容被保留临时变量T
emp本块执行过程中暂存变量值,本块结束变量值丢失第5章S7-300程序结构与程序设计31数据块数据的存储:◼FB:•带有背景数据块,内部包含参数变量,FB的运行结果保存在背景数据块中。•在调用FB时,若没有提供实参,则功能块
使用背景数据块中的数值。◼FC:•不带背景数据块,不能使用静态变量。•在调用FC时,必须使用实参。◼OB:调用OB由操作系统管理的,用户不能参与。第5章S7-300程序结构与程序设计322.逻辑块局部变量的数据类型◼基本数据类型、复式数据类型、参数类型。◼参数类型
包括定时器、计数器、块的地址或指针等。第5章S7-300程序结构与程序设计33◼局部变量的设置如下:第5章S7-300程序结构与程序设计345.3.2逻辑块(FC和FB)的编程对逻辑块编程时必须编辑下列三个部分:变量声明:◼定义形参、静态变
量(FC没有)和临时变量;◼选择变量名(Name)、数据类型(DataType);◼如果需要,设置变量初始值(InitialValue)、加注释(Comment)。◼局部变量的地址(Address)由STEP7自动产生。代码段:用不同编程语言对PLC进行编程。块属性:块属性包含一些附加信息
。第5章S7-300程序结构与程序设计351.临时变量的定义和使用第5章S7-300程序结构与程序设计362.形式参数的定义◼形式参数有3种:•IN:只读,输入•OUT:只写,输出•IN_OUT:读/写,输入/输出第5章S7-300程序结构与程序设计37选择参数类型输入参数名称数据类型参数注解
定义输入参数定义输出参数定义输入/输出参数数据类型下拉列表第5章S7-300程序结构与程序设计383.编写控制程序◼编写逻辑块(FC和FB)程序时,可以用以下两种方式使用局部变量:①使用变量名:变量名前加
前缀“#”。②使用局部变量的地址,只适用于背景数据块。◼在调用FB块时,要指定背景数据块。第5章S7-300程序结构与程序设计39梯形图编程的基本规则❖触点只能与左母线相连,不能与右母线相连;❖线圈只能与右母线相连,不能直接与左母线相连,右母线可以省略;❖线圈可以并联,不能串联连接;
❖指令执行顺序:从左到右,从上到下。