电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

可编程序控制器原理及应用 吉顺平第06章

69页
  • 卖家[上传人]:E****
  • 文档编号:89108696
  • 上传时间:2019-05-18
  • 文档格式:PPT
  • 文档大小:958.50KB
  • / 69 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第6章 程序结构与中断系统,2,2019/5/18,6.1 西门子PLC的程序结构 6.2 程序控制指令与结构化编程 6.3 S7-200的中断系统 6.4 S7-300/400的中断与组织块 6.5 S7-300/400的系统功能与系统功能块,本章的主要内容,3,2019/5/18,6.1.1 西门子PLC的程序结构概述,本章主要介绍PLC的程序结构。这里的程序指的是用户程序,即用户根据控制要求编写的控制程序。用户程序是在系统程序之上运行的。西门子PLC的用户程序都是编写在一定的程序块中的。在西门子PLC中,程序块是存放程序的基本单元,所有的程序必定属于特定的程序块,所有指令编写的所有程序均可以根据需要放在任意的程序块中。 西门子PLC的程序总体结构由主程序(组织块)和子程序(功能块)等组成。西门子S7-200和S7-300/400 PLC程序结构相似,只是各部分的名称不一样。,4,2019/5/18,6.1.1 西门子PLC的程序结构概述(续),西门子PLC中程序块的执行和调用是按一定规则进行的。根据程序执行的调用机制不同,可以将程序块分为两类。一类是系统调用程序块,这一类程序块在

      2、系统事件或中断事件发生后由系统程序激发,从而得以执行。如主程序块OB1,由于PLC的“循环扫描”的原理,每个周期的开始是一个最重要的事件,系统会在该事件发生后,调用主程序块OB1;又如中断响应子程序(程序块),当相应的中断事件发生后,系统会调用对应的中断响应子程序(程序块)。另一类程序块是程序调用程序块,这一类程序块由其他程序调用后得以执行,如S7-200中的子程序、S7-300/400中的功能(FC)和功能块(FB)等。,5,2019/5/18,6.1.1 西门子PLC的程序结构概述(续),在控制任务简单时,经常将一个工程的全部控制任务都按照工程控制的顺序写在一个程序中,如写在OB1中。程序执行过程中,CPU不断地扫描OB1,按照事先准备好的顺序去执行工作。一般情况下,只要任务稍微复杂一些,就要把一个复杂的过程分解成多个简单的过程,从而写在不同的程序块中。分为多个不同程序块后,程序容易编写,容易调试,从总体上看,分块程序的优势是十分明显的。,6,2019/5/18,6.1.2西门子S7-200 PLC的程序结构,1. 程序结构 西门子S7-200 PLC的程序在结构上是由主程序、子程

      3、序和中断子程序组成的,如图6-1所示。主程序只有一个,每个循环扫描周期,主程序会被执行一遍。主程序执行过程中可以调用子程序。子程序在S7-200中最多可以有64个,名称为SBR0SBR63。子程序可以由主程序、其它子程序或中断子程序调用。子程序调用后,才能执行。中断子程序是一类特殊的子程序,在系统规定的中断请求到来时,调用对应的中断子程序。中断子程序最多有128个,名称为INT0INT127。中断的内容在本章6.3节中讲解。,图6-1西门子S7-200的PLC的程序结构,7,2019/5/18,6.1.2西门子S7-200 PLC的程序结构(续),2.子程序 子程序调用有时不带参数,这时调用比较简单,如图6-2所示。在图示程序中,SM0.0是一直接通的,这是无条件调用。若换成其它接点,则称为有条件调用。不带参数子程序的调用中,子程序和主程序也是可以通过全局变量交换数据的。,图6-2不带参数的子程序的调用,8,2019/5/18,6.1.2西门子S7-200 PLC的程序结构(续),子程序调用也可以带参数。每个子程序调用的输入输出参数最多限制为16个。在带参数的“调用子程序”指令中,参数

      4、必须与子程序局部变量表中定义的变量完全匹配。参数顺序必须以输入参数开始,其次是输入输出参数,然后是输出参数。子程序带参数调用可以充分利用局部变量的优势,使程序更具模块化。图6-3是一子程序符号表,图6-4为带参数子程序调用的举例。,图6-3子程序符号表,9,2019/5/18,6.1.2西门子S7-200 PLC的程序结构(续),图6-4 为带参数子程序调用的举例,10,2019/5/18,6.1.2西门子S7-200 PLC的程序结构(续),3.数据块、符号表与状态图 S7-200 PLC可以定义数据块,数据块定义在V区,因此S7-200 PLC中定义数据块并没有新建变量,而是对已有的变量区域进行再定义,如图6-5所示。,图6-5 S7-200 PLC数据块的定义,11,2019/5/18,6.1.2西门子S7-200 PLC的程序结构(续),S7-200 PLC的数据块定义完成后,这些数据有了初始值,访问这些数据的时候,还使用V区的访问办法进行访问。可以对所有变量的名称和子程序块的名称定义符号名称,在符号表中完成。符号表是给已有的变量等另外取个更容易阅读和理解的名称,主要是注释的功

      5、能,不会下载到PLC中。 S7-200 PLC中还有一个概念叫状态图,也是一个表格,用于在线监控时,把需要监控的变量以各种格式集中在一起,方便变量的监控和程序的调试。状态图既不会创建新的变量,也不会下载到PLC中。,12,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构,1.程序结构 西门子S7-300/400的PLC的程序在结构上是由若干块组成的。根据块的特点不同,分为组织块(OB)、功能块(FB)、功能(FC)、系统功能块(SFB)、系统功能(SFC)和数据块(DB),如图6-6所示。,图6-6西门子S7-300/400的块,13,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),组织块(OB)是系统自动调用的程序块。根据组织块的不同作用,系统会在相应的时候和条件下进行调用。例如,组织块OB1,系统会在每个循环扫描周期调用一次,我们称为主程序。当程序不是很复杂时,我们可以将程序全部写在OB1中。组织块OB100是初始化组织块,系统会在上电后自动调用一次OB100,我们可以把初始化程序写在OB100中。如图6-6所示,除初始化

      6、和循环扫描可以调用相应组织块外,定时和故障会激发相应的中断,从而调用相应的组织块,中断组织块的内容在6.4中讲解。对PLC来说,不同的组织块是有特定功能的。用户不能定义组织块的调用规则,从而不能创建新名称的组织块,而只能将系统的组织块插入程序中,然后编写组织块的程序。,14,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),在STEP中,可以在工程的程序中插入块。如图6-7所示,在工程test的S7 Program(1)的Blocks中,可以插入OB块、FB块、FC块和DB块。而SFC和SFB块,则通过程序调用,由系统自动插入。例如,在图6-8中调用了SFC14(DPRD_DAT),则系统会把SFC14自动加入程序中,如图6-7所示。,图6-7 插入块的操作,15,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),2. 功能(FC)和功能块(FB) 功能块(FB)和功能(FC)是用户定义的子程序。我们可以在程序中任何地方通过程序调用功能块(FB)和功能(FC)。FB和FC是有区别的,FB是带有专用的背景数据块的,FB可以访

      7、问自己的背景数据块,也可以访问共享数据块;FC不带有专用的背景数据块,可以访问共享数据块。 除此之外,FB和FC的使用是一致的。块的调用程序如图6-8所示,第一行程序为条件调用,第二行程序为无条件调用。,16,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),图6-8 块的调用,17,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),与S7-200 PLC相似,在S7-300/400 PLC的块中,可以使用局部变量L,从而支持带参数的调用。局部变量L存储区的大小与PLC型号有关,一般大于256B。局部变量L在块被调用时才分配存储空间,当调用结束后,释放存储空间。 图6-9为一带参数程序块的程序。需要首先定义该程序块的输入和输出参数,当然这些参数是局部变量,在调用时,用实际参数代替局部变量。该图中,定义了输入参数x1和x2,输出参数y,临时的中间变量Temp1。程序中,计算x1和x2的平均值,保存在y中。,18,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),图6-9 带参数程序块的编写,1

      8、9,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),带参数程序块的调用如图6-10所示。FC1为已经定义好的带参数的功能(子程序)在主程序或其他程序中,可以多次调用FC1,调用时需要赋值给x1和x2,计算结果也要指定实际的存储空间。用计算机的术语来讲,x1、x2和y是形式参数,而MW0和MW2等是实际参数。,图6-10 带参数程序块的调用,20,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),系统功能块(SFB)和系统功能(SFC)是系统定义的子程序,是PLC生产厂家将具有特定功能的子程序编好后,提供给用户使用,用户可以直接调用。比如SFC14/15是PROFIBUS数据发送/接收功能。SFB带有背景数据块,而SFC不带。SFB和SFC调用方法与FC的调用一样。了解和掌握系统功能对程序的编写会带来很大的便利 数据块(DB)分为共享数据块和背景数据块。数据块创建后,就是给PLC定义了新的变量,程序可以访问这些变量。,21,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),3. 数据块 数据

      9、块(DB)分为共享数据块和背景数据块。数据块的创建,就是给PLC定义了新的变量,程序可以访问这些变量。数据块的名称是按数字进行编号的,如DB1、DB2等。 在如图6-7所示的界面中,插入数据块。然后对数据块进行定义,如图6-11所示。数据块的创建就是填一张表格,一行一行去填写。“地址”是数据块中的物理地址,由系统自动依次生成;“名称”是数据块中变量的符号名;“类型”是变量的数据类型;在数据块中还可以设定数据的初始值和注释。,22,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),图6-11 数据块DB1的创建,23,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),用户可以在程序中访问数据块中的数据,变量的表达有规定的形式。访问某一位,用DB1.DBXx.y表示,如DB1.DBX0.0和DB1.DBX0.1表示DB1的第1个字节的第1位和第2位,当然也可以用DB1.b0和DB1.b1来表示。访问某一字节,用DB1.DBBx表示,如DB1.DBB1表示DB1的第2个字节,也可以用DB1.x0表示。访问某一个字,用DB1.DBWx表示,如DB1.DBW2表示以DB1的第3个字节开始的一个字,也可以用DB1.x1表示。访问某个双字,用DB1.DBDx表示。以上“x”表示数据块中的字节单元地址。,24,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),创建数据块时,可以创建一些位、字节和字等,而使用时可以把数据块看成一定字节长度的空间,用任意格式访问数据块,不受定义的限制。图6-12中,程序段3的后半段,DBW0表示DB1的前两个字节。因此,有时直接定义成“ARRAY09 BYTE”,表示10个字节的数组。,25,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),图6-12 数据块的访问,26,2019/5/18,6.1.3西门子S7-300/400的PLC的程序结构(续),4. 变量表与符号表 在如图6-7所示的界面中,可以插入变量表,用于在线监控。变量表把需要

      《可编程序控制器原理及应用 吉顺平第06章》由会员E****分享,可在线阅读,更多相关《可编程序控制器原理及应用 吉顺平第06章》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.