版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲:任伟认识S7-1200PLC的程序结构
目录CONTENTS123理解S7-1200PLC模块模块化的编程结构掌握组织块、数据块、函数及函数块的生成方法掌握函数和函数块的编程及调用方法1组织块OB
用户程序中包含不同的程序块,各程序块实现的功能不同,S7-1200
CPU支持的程序块类型及功能描述如表所示。程序块描述组织块(OB)由操作系统调用,决定用户程序的结构的代码块。函数块(FB)FB是有“存储区”的代码块。可将值存储在背景数据块中,即使在块执行完后,这些值仍然有效。函数(FC)FC是不带“存储区”的代码块。全局数据块DB用于存储用户的数据区域,供所有代码块访问,其数据格式由用户定义背景数据块DB用于保存相关FB的输入、输出、输入输出和静态变量,其数据在编译时自动生成。
组织块是操作系统(OS)与用户程序的接口,由操作系统OS调用。操作系统在每一个循环中调用主程序。操作系统与主程序的关系如下:
用户程序采用结构化编程,将程序根据任务分层划分,每一层控制程序作为上一层控制任务的子程序,同时调用下一层的子程序,形成嵌套调用。1组织块OB1组织块OB
每个组织块的OB编号是唯一的,默认OB1是主程序,123之前的某些编号是保留的,其它OB的编号应该大于等于123;OB之间不能相互调用,也不能被函数FC和函数块FB调用,只有启动事件,如诊断中断事件或周期性中断事件可以启动OB执行。(1)程序循环组织块:
CPU循环执行操作系统程序,操作系统每个周期调用一次OB1。所有的程序循环OB执行完成后,操作系统再重新调用程序循环OB。S7-1200CPU支持多个程序循环OB,按编号顺序由小到大依次执行。程序循环OB的优先级为1(最低)且不可修改。1组织块OB(2)启动组织块:
当CPU从STOP切换到RUN模式时,
执行一次启动OB,来初始化程序循环OB中的某些变量。所以用户可以在启动OB中编写初始化程序;可以有多个启动OB,默认的启动OB编号为OB100。
如果有多个启动OB,按照编号顺序由小到大依次执行。多个循环OB多个启动OB1组织块OB(3)中断组织块:
用来实现对特殊内部事件或外部事件的快速响应。出现中断事件,CPU暂停正在执行的程序块,自动调用一个分配给该事件的组织块(即中断程序)来处理中断事件。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。1组织块OB
数据块属性的默认状态是“优化的块访问”,如果启用了块属性中的“优化的块访问”,将不能用绝对地址访问数据块和代码块的接口区中的临时局部数据。数据块DB2
全局数据块必须先定义才能在程序中使用。双击左侧创建的数据块,可以定义数据的名称、类型、启动值及保持值等属性。全局数据块存储的数据能被所有OB、FB、和FC访问。数据块DB2背景数据块与函数块FB相关联,用于存储FB的输入、输出、输入输出参数及静态变量,其变量只能在FB中定义,不能在背景数据块中直接创建。数据块DB2
函数FC是用户编写的子程序,用于完成特定任务的程序。FC没有可以存储块接口数据的存储数据区,在FC的接口区可以生成该函数的局部变量,生成的局部变量只能在该块中使用。在调用FC时,需要给FC的形参分配实参。函数FC3函数FC的局部变量的作用如表所示。接口类型读写访问描述Input只读调用函数时,将用户程序数据传递到FC中,实参可以为常数Output读写调用函数时,将FC执行结果传递到用户程序中,实参不能为常数InOut读写接收数据后进行运算,然后将执行结果返回,实参不能为常数Temp读写仅在FC调用时生效,用于存储临时中间结果的变量Constant只读声明常量符号名后,FC中可以使用符号名代替常量函数FC3
设压力变送器量程的下限为0MPa,上限为HighMPa,经A/D转换后得到0~27648的整数。转换后的数字N和压力P之间的计算公式为P=(High
N)/27648(MPa)
用函数FC1实现上述运算。举例说明:函数FC3(1)创建新项目,名称为“压力计算”。(2)添加新设备,型号为CPU1214C。(3)生成函数FC1,名称为“计算压力”。函数FC3(4)定义函数局部变量用鼠标右键单击FC1,在属性中去掉“优化的块访问”勾选;在函数的接口区定义变量;单击工具栏中的“编译”按钮,生成变量表中的“偏移量”列。➊➋➌➍➎➏函数FC3(5)设计FC1程序➊
用转换指令CONV将参数“#输入数据”接收的A-D转换后的整数(0~27648)转换为实数;➋
用乘法指令MUL求出式子中的(High
N)的值;➌
用除法指令DIV求出P值。➊➋➌函数FC3(6)在OB1中调用FC1创建PLC变量:IW64是CPU集成的模拟输入通道0的地址。双击主程序OB1,拖放FC1到OB1程序编辑区;函数FC3方框内的参数为形式参数,简称形参,只在FC内部的程序中使用
方框外的参数为实参,调用FC时需要为形参指定实际参数。
FC编程需注意:如果FC接口区参数被修改,必须编译整个程序,并重新定义FC的实参,执行“一致性下载”。如果再FC中没有写入该块的Output参数,则将使用特定数据类型的预定义值。FC的形参只能用符号访问,不能用绝对地址访问。函数FC3
FB:与函数FC相比,调用FB时必须为之分配背景数据块,用于存储块的参数值,这些值在FB执行后仍然有效;FB的临时变量不存储在背景数据块中,FB执行后失效。4函数块FB
举例说明:用函数块FB实现对电动机的控制。
具体要求:用输入参数“起动按钮”和“停止按钮”控制InOut参数“电动机”。按下停止按钮,断开延时定时器(TOF)开始定时,输出参数“制动器”为1状态,经过输入参数“定时时间”设置的时间预置值后,停止制动。(1)创建新项目,名称为“电动机控制”。(2)添加新设备,型号为CPU1214C。(3)生成函数FB1,名称为“电动机启停控制”。(4)定义函数块的局部变量。4函数块FBFB1被OB1调用时,将分配如图所示的背景数据块。
如果需要修改或删除FB1变量,只能在接口区而不能直接在背景数据块中进行。?4函数块FB在FB1中,定时器如果使用一个固定的背景数据块,在同时多次调用该FB时,该数据块将会被同时用于两处或多处;在块接口中生成数据类型为IEC_TIMER变量的“定时器DB”后,每次调用FB1时,在FB1不同的背景数据块中,不同的被控对象都有保存定时器的背景数据的存储区定时器DB”。每次执行完FB1后,都需要保存“定时器DB”中的数据,所以该变量不能放在临时数据区(Temp区),只能为静态变量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东省陆丰市高考物理一模测试卷及参考答案详解AB卷
- 2026年湖北省仙桃市高考物理一轮复习模拟卷【考点提分】附答案详解
- 2025年河南省禹州市高考物理周测试卷附参考答案详解【模拟题】
- 片状金属陶瓷发热体全球前13强生产商排名及市场份额(by QYResearch)
- 2026年浙江省慈溪市高考物理二模试卷汇编附答案详解
- 2025年辽宁省开原市高考物理二轮专题试卷含答案详解(巩固)
- 2025年湖北省汉川市高考物理学业考试测试卷及参考答案详解(研优卷)
- 2026年吉林省集安市高考物理一模考试卷(重点)附答案详解
- 2026年江苏省溧阳市高考物理5月学情自测考试卷及答案详解(典优)
- 2025年福建省漳平市高考物理模拟预测试卷附答案详解(培优A卷)
- 2026年金华永康市建设工程检测有限公司公开招聘合同制员工6人笔试备考试题及答案详解
- 理论联系实际思考:为什么说中国式现代化创造了人类文明新形态?(一)
- 储备粮仓库场区道路方案
- (2026版)《国有企业领导人员廉洁从业规定学习与解读》课件
- 2026年上海市青浦区中考数学二模试卷(含解析)
- 安环部安全知识培训内容
- 肝母细胞瘤中国肿瘤整合诊治指南2026
- TSG 08-2026 特种设备使用管理规则(2026 年 5 月 1 日施行)
- 陶粒砂生产前安全培训课件
- 实验室成果转化中的知识产权保护策略
- 肺部流域地形图+2.0+原理、技术规范及临床应用胸外科专家共识(2024版)解读
评论
0/150
提交评论