为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

西门子S7-1200 PLC编程与应用 教学课件 作者 刘华波 06 程序设计

2019-12-28 70页 ppt 1MB 14阅读

用户头像 个人认证

希望

暂无简介

举报
西门子S7-1200 PLC编程与应用 教学课件 作者 刘华波 06 程序设计青岛大学-西门子先进自动化技术联合实验室第6章程序设计青岛大学-西门子先进自动化技术联合实验室6.1经验设计法在一些典型梯形图程序的基础上,结合实际控制要求和PLC的工作原理不断修改和完善,这种方法称为经验设计法。青岛大学-西门子先进自动化技术联合实验室启保停电路青岛大学-西门子先进自动化技术联合实验室延时接通/断开电路青岛大学-西门子先进自动化技术联合实验室闪烁电路青岛大学-西门子先进自动化技术联合实验室PLC是由继电接触器控制发展而来的,但是与之相比,PLC的编程应该遵循以下基本原则。(1)外部输入、输出、内部继电器(位存...
西门子S7-1200 PLC编程与应用 教学课件 作者 刘华波 06 程序设计
青岛大学-西门子先进自动化技术联合第6章程序设计青岛大学-西门子先进自动化技术联合实验室6.1经验设计法在一些典型梯形图程序的基础上,结合实际控制要求和PLC的工作原理不断修改和完善,这种方法称为经验设计法。青岛大学-西门子先进自动化技术联合实验室启保停电路青岛大学-西门子先进自动化技术联合实验室延时接通/断开电路青岛大学-西门子先进自动化技术联合实验室闪烁电路青岛大学-西门子先进自动化技术联合实验室PLC是由继电接触器控制发展而来的,但是与之相比,PLC的编程应该遵循以下基本原则。(1)外部输入、输出、内部继电器(位存储器)等器件的触点可多次重复使用。(2)梯形图每一行都是从左侧母线开始。(3)线圈不能直接与左侧母线相连。(4)梯形图程序必须符合顺序执行的原则,从左到右,从上到下地执行,如不符合顺序执行的电路不能直接编程。(5)应尽量避免双线圈输出。使用线圈输出指令时,同一编号的线圈指令在同一程序中使用两次以上,称为双线圈输出。双线圈输出容易引起误动作或逻辑混乱,因此一定要慎重。青岛大学-西门子先进自动化技术联合实验室双线圈输出例子青岛大学-西门子先进自动化技术联合实验室6.2顺序功能图使用顺序控制设计法时首先根据系统的工艺过程,画出顺序功能图,然后根据顺序功能图编写梯形图程序。有的可编程序控制器则提供了顺序功能图编程语言,用户在编程软件中生成顺序功能图后便完成了编程工作,如西门子S7-300/400PLC中的S7Graph编程语言。顺序控制设计法是一种先进的设计方法,很容易被初学者接受,对于有经验的工程师,也会提高设计的效率,程序的调试、修改和阅读也很方便。青岛大学-西门子先进自动化技术联合实验室组合机床动力头运动示意图青岛大学-西门子先进自动化技术联合实验室动力头控制的顺序功能图青岛大学-西门子先进自动化技术联合实验室1.步将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为步(Step)。青岛大学-西门子先进自动化技术联合实验室当系统正处于某一步所在的阶段时,称该步处于活动状态,即该步为“活动步”,可以通过编程元件的位状态来表征步的状态。步处于活动状态时,执行相应的动作。2.活动步青岛大学-西门子先进自动化技术联合实验室3.有向连线与转换条件有向连线表明步的转换过程,即系统输出状态的变化过程。顺序控制中,系统输出状态的变化过程是按照的程序进行的,顺序功能图中的有向连线就是该顺序的体现。有向连线的方向若是从上到下或从左至右,则有向连线上的箭头可以省略;否则应在有向连线上用箭头注明步的进展方向,通常为易于理解加上箭头。青岛大学-西门子先进自动化技术联合实验室4.与步对应的动作或命令系统每一步中输出的状态或者执行的操作标注为步对应的动作或命令,用矩形框中的文字或符号表示。5动作A动作B5动作A动作B青岛大学-西门子先进自动化技术联合实验室5.子步(Microstep)在顺序功能图中,某一步可以包含一系列子步和转换,如图6-9所示,通常这些序列表示系统的一个完整的子功能。青岛大学-西门子先进自动化技术联合实验室顺序控制设计法的基本思路青岛大学-西门子先进自动化技术联合实验室顺序功能图的基本结构1.单序列2.选择序列3.并列序列青岛大学-西门子先进自动化技术联合实验室绘制顺序功能图的基本规则1.转换实现的条件在顺序功能图中,步的活动状态的进展是由转换的实现来完成的。转换实现必须同时满足两个条件:(1)该转换所有的前级步都是活动步;(2)相应的转换条件得到满足。青岛大学-西门子先进自动化技术联合实验室2.转换实现应完成的操作转换实现时应完成以下两个操作:(1)使所有由有向连线与相应转换符号相连的后续步都变为活动步;(2)使所有由有向连线与相应转换符号相连的前级步都变为不活动步。青岛大学-西门子先进自动化技术联合实验室绘制顺序功能图的注意事项(1)顺序功能图中两个步绝对不能直接相连必须用一个转换将它们隔开;(2)顺序功能图中两个转换不能直接相连必须用一个步将它们隔开;(3)顺序功能图中的初始步一般对应于系统等待启动的初始状态,不要遗漏这一步;(4)实际控制系统应能多次重复执行同一工艺过程,因此在顺序功能图中一般应有由步和有向连线组成的闭环回路,即在完成一次工艺过程的全部操作之后,应该根据工艺要求返回到初始步或下一工作周期开始运行的第一步;(5)在顺序功能图中,只有当某一步的前级步是活动步时,该步才有可能变成活动步。青岛大学-西门子先进自动化技术联合实验室使用启保停电路6.3顺序控制设计法青岛大学-西门子先进自动化技术联合实验室整个程序分为两大部分,转换条件控制步序标志部分和步序标志实现输出部分,这样程序结构非常清晰,为以后的调试和维护提供了极大的方便。青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室使用置位复位指令青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室6.4使用数据块根据使用方法,数据块可以分为全局数据块(也叫共享数据块)和背景数据块。用户程序的所有逻辑块(包括OB1)都可以访问全局数据块中的信息,而背景数据块是分配给特定的FB,仅在所分配的FB中使用。青岛大学-西门子先进自动化技术联合实验室添加新块对话框青岛大学-西门子先进自动化技术联合实验室数据块编辑器青岛大学-西门子先进自动化技术联合实验室例:计算其中a为整数,存储在MW0中,b为整数,存储在MW2,c为实数,存储在MD4中。青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室数据单元示意图青岛大学-西门子先进自动化技术联合实验室复杂数据类型的使用1、数组(ARRAY)青岛大学-西门子先进自动化技术联合实验室2、结构(STRUCT)青岛大学-西门子先进自动化技术联合实验室3、字符串(STRING)青岛大学-西门子先进自动化技术联合实验室4、长日期和时间(DTL)青岛大学-西门子先进自动化技术联合实验室6.5结构化编程PLC有三种编程方法:线性化编程,模块化编程和结构化编程。线性化编程是将整个用户程序放在主程序OB1中,在CPU循环扫描时执行OB1中的全部指令。其特点是结构简单、但效率低下。另一方面,某些相同或相近的操作需要多次执行,这样会造成不必要的编程工作。再者,由于程序结构不清晰,会造成管理和调试的不方便。所以在编写大型程序时,应避免线性化编程。青岛大学-西门子先进自动化技术联合实验室模块化编程是将程序根据功能分为不同的逻辑块,且每一逻辑块完成的功能不同。在OB1中可以根据条件调用不同的功能FC或功能块FB。其特点是易于分工合作,调试方便。由于逻辑块是有条件的调用,所以可以提高CPU的利用率。结构化编程是将过程要求类似或相关的任务归类,在功能FC或功能块FB中编程,形成通用解决。通过不同的参数调用相同的功能FC或通过不同的背景数据块调用相同的功能块FB。其特点是结构化编程必须对系统功能进行合理、分解和综合,所以对设计人员的要求较高,另外,当使用结构化编程方法时,需要对数据进行管理。青岛大学-西门子先进自动化技术联合实验室模块化编程举例[例]两台电动机的起保停控制。青岛大学-西门子先进自动化技术联合实验室[例]采用模块化编程思想实现公式:青岛大学-西门子先进自动化技术联合实验室临时变量的使用青岛大学-西门子先进自动化技术联合实验室结构化编程结构化编程有如下优点:(1)程序只需生成一次,它显著地减少了编程时间。(2)该块只在用户存储器中保存一次,显著地降低了存储器用量。(3)该块可以被程序任意次调用,每次使用不同的地址。该块采用形式参数(INPUT,OUTPUT或IN/OUT参数)编程,当用户程序调用该块时,要用实际地址(实际参数)给这些参数赋值。青岛大学-西门子先进自动化技术联合实验室结构化编程举例1:启保停程序青岛大学-西门子先进自动化技术联合实验室结构化编程举例1:启保停程序青岛大学-西门子先进自动化技术联合实验室结构化编程举例2:求平方和的平方根青岛大学-西门子先进自动化技术联合实验室[例]工业生产中,经常需要对采集的模拟量进行滤波处理。本例通过将最近三个采样值求和除以3的方式来进行软件滤波。假设模拟量输入处理后的工程量存储在MD44中,为浮点数数据类型。编程思路:将采集的最近的三个数保存在三个全局地址区域,每个扫描周期进行更新以确保是最新的三个数,三数相加求平均即可。首先定义FC5的形式参数,如图6-41所示。注意:定义的形式参数中,三个采集值Value1,Value2和Value3的参数类型为IN_OUT型,不能为TEMP型,否则将无法保存该数值。青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室FB的使用FB的优点如下:(1)当编写FC程序时,必须寻找空的标志区或数据区来存储需保持的数据,并且要自己编写程序来保存它们。而FB的静态变量可由STEP7的软件来自动保存。(2)使用静态变量可避免两次分配同一存储区的危险。青岛大学-西门子先进自动化技术联合实验室定义FB的形式参数结合前面例子,如果用FB块实现FC1的功能,并用静态变量“EarlyValue,LastValue和LatestValue”来代替原来的形式参数,如表6-4所示,将可省略这三个形式参数,简化了块的调用。 参数类型 名称 数据类型 注释 IN RawValue REAL 要处理的原始数值 STAT EarlyValue REAL 最早的一个数 STAT LastValue REAL 较早的一个数 STAT LatestValue REAL 最近的一个数 OUT ProcessedValue REAL 处理后的数 TEMP temp1 REAL 中间结果 TEMP temp2 REAL 中间结果青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室6.6使用组织块能够启动OB的事件 事件类别 OB号 OB数目 启动事件 OB优先级 优先级组 循环程序 1,>=200 >=1 启动或结束上一个循环OB 1 1 启动 100,>=200 >=0 STOP到RUN的转换 1 延时中断 >=200 最多4个 延迟时间结束 3 2 循环中断 >=200 等长总线循环时间结束 4 硬件中断 >=200 最多50个(通过DETACH和ATTACH指令可使用更多) 上升沿(最多16个)下降沿(最多16个) 5 HSC:计数值=参考值(最多6次)HSC:计数方向变化(最多6次)HSC:外部复位(最多6次) 6 诊断错误中断 82 0或1 模块检测到错误 9 时间错误 80 0或1 超出最大循环时间 26 3 仍在执行所调用的OB队列溢出因中断负载过高而导致中断丢失青岛大学-西门子先进自动化技术联合实验室不触发OB启动的事件 事件类别 事件 事件优先级 系统响应 插入/卸下 插入/卸下模块 21 STOP 访问错误 过程映像更新期间的I/O访问错误 22 忽略 编程错误 块中的编程错误(如果激活了本地错误处理,则会执行块程序中的错误处理程序) 23 STOP I/O访问错误 块中的I/O访问错误(如果激活了本地错误处理,则会执行块程序中的错误处理程序) 24 STOP 超出最大循环时间两倍 超出最大循环时间两倍 27 STOP青岛大学-西门子先进自动化技术联合实验室启动组织块接通CPU后,S7-1200CPU在开始执行循环用户程序之前首先执行启动程序。通过适当编写启动OB,可以在启动程序中为循环程序指定一些初始化变量。对启动OB的数量没有要求,即可以在用户程序中创建一个或多个启动OB,或者一个也不创建。启动程序由一个或多个启动OB(OB编号为100或大于等于200)组成。S7-1200CPU支持三种启动模式:不重新启动模式,暖启动-RUN模式,暖启动-断电前的工作模式。不管选择哪种启动模式,已编写的所有启动OB都会执行。S7-1200暖启动期间,所有非保持性位存储器内容都将删除并且非保持性数据块内容将复位为来自装载存储器的初始值。保持性位存储器和数据块内容将保留。青岛大学-西门子先进自动化技术联合实验室例:S7-1200中要利用实时时钟,如交通灯不同时间段切换不同的控制策略等,则启动运行时,需要检测实时时钟是否丢失,若丢失,则警示灯Q0.7亮。青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室循环中断组织块循环中断组织块用于按一定时间间隔循环执行中断程序,例如周期性地定时执行闭环控制系统的PID运算程序等。循环中断OB与循环程序执行无关。循环中断OB的启动时间通过循环时间基数和相位偏移量来指定。循环时间基数定义循环中断OB启动的时间间隔,是基本时钟周期1ms的整数倍,循环时间的设置范围为1ms至60000ms。相位偏移量是与基本时钟周期相比启动时间所偏移的时间。如果使用多个循环中断OB,当这些循环中断OB的时间基数有公倍数时,可以使用该偏移量防止同时启动。青岛大学-西门子先进自动化技术联合实验室例:使用循环中断组织块,每隔1秒钟MW20的值加1。青岛大学-西门子先进自动化技术联合实验室硬件中断组织块可以使用硬件中断OB来响应特定事件。只能将触发报警的事件分配给一个硬件中断OB,而一个硬件中断OB可以分配给多个事件。最多可使用50个硬件中断OB,它们在用户程序中彼此独立。下面我们通过一个简单例子演示硬件中断OB的使用。S7-1200CPU1214C集成输入点可以逐点设置中断特性。新建一个硬件中断组织块OB200,通过硬件中断在I0.0上升沿时将Q1.0置位,在I0.1下降沿时将Q1.0复位。青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室青岛大学-西门子先进自动化技术联合实验室延时中断组织块可以采用延时中断在过程事件出现后延时一定的时间再执行中断程序;硬件中断则用于需要快速响应的过程事件,事件出现时马上中止循环程序,执行对应的中断程序。PLC中的普通定时器的工作与扫描工作方式有关,其定时精度受到不断变化的循环扫描周期的影响。使用延时中断可以获得精度较高的延时,延时中断以毫秒(ms)为单位定时。延时中断OB在经过操作系统中一段可组态的延迟时间后启动。在调用中断指令SRT_DINT后开始计算延迟时间。延迟时间的测量精度为1ms。延迟时间到达后可立即再次开始计时。可以使用中断指令CAN_DINT阻止执行尚未启动的延时中断。青岛大学-西门子先进自动化技术联合实验室下面通过一个简单例子演示延时中断OB的组态方法。要求:在I0.0的上升沿用SRT_DINT启动延时中断OB202,10s后OB202被调用,在OB202中将Q1.0置位,并立即输出。青岛大学-西门子先进自动化技术联合实验室时间错误组织块诊断组织块
/
本文档为【西门子S7-1200 PLC编程与应用 教学课件 作者 刘华波 06 程序设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索