




免费预览已结束,剩余52页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章可编程控制器的基本指令,9.1可编程控制器的逻辑指令9.1.1触点指令及线圈驱动指令1LD(load):常开触点逻辑运算开始。2LDN:常闭触点逻辑运算开始。3=(OUT):线圈驱动。LD、LDN指令用于公共线(输入母线)相连的触点,也可以与OLD、ALD指令配合使用于分支回路的开头。=指令用于输出继电器、辅助继电器(线圈),不用于输入继电器(触点)。操作数:指令可以操作的对象。,常开触点在其寄存器对应位值为0时,其梯形图中触点是断开的,触点的状态为OFF或为0,当寄存器对应位中值为1时,触点闭合。常闭触点在其寄存器中对应位值为0时,其触点是闭合的,因为LDN指令从寄存器对应位读出数据后要取反,使0变成1,则常闭触点状态为闭合。当常闭触点寄存器值为1时,触点状态为断开。,为了使梯形图和传统继电接触控制线路一一对应,输入控制电器的触点尽可能接成常开形式。,9.1.2触点串并联指令A:常开触点串联;AN:常闭触点串联;用于单个触点的串联,可连续使用。图9-2按正确顺序编程,可以反复使用=指令。图9-3多触点组成的组合回路串联时,不能使用该指令。,9.1.3触点并联指令O:常开触点并联;ON:常闭触点并联。做单个触电的连接指令,紧接在LD、LDN指令后边使用,对LD、LDN规定的触点再并联一个触点,可以连续使用。图9-4若将两个以上触点串联的回路和其他回路并联时,不能使用该指令。,9.1.4串联电路块的并联指令OLD:串联电路块的并联连接。几个串联支路并联连接时,其支路起点以LD、LDN开始,支路终点用OLD指令。如果需要多个支路并联,从第二个支路开始,在每一个支路后面加OLD指令。并联支路的个数没有限制。图9-5OLD无操作数。,9.1.5并联电路块的串联指令ALD:用于并联电路块的串联连接。并联电路块与前边电路串联连接时,使用ALD指令。分支的起点用LD、LDN指令,并联电路块结束后,用ALD指令与前边电路串联。图9-6如果有多个并联电路块串联,顺次以ALD指令与前边支路连接,支路数量没有限制。ALD指令无操作数。,9.1.6置位/复位指令置位:SS-BIT,N复位:RS-BIT,N语句格式及含义图9-7a、b置位即置1,复位即清零。置位和复位指令可以将位存储区的某一位开始的一个或多个同类寄存器位置1或清零。最多达255个。当置位信号来临(为1)时,操作对象被置位,即使置位信号变成0,被置位对象的状态仍然为1,直到其复位信号到来。图9-7c当复位信号来临(为1)时,操作对象被复位,即使复位信号变成0,被复位对象的状态仍然为0,直到其置位信号到来。如果被复位的是定时器或计数器,定时器、计数值清零。由于扫描的工作方式,置位和复位指令,写在后面的有优先权。即一个扫描周期结束后,存储器对应位是置位还是复位要看最后使用的是置位语句还是复位语句。,9.1.7脉冲生成指令EU:在对应EU指令前的逻辑运算结果有一个上升沿时(由OFF到ON)产生一个宽度为一个扫描周期的脉冲,驱动其后的输出线圈。ED:对应ED前逻辑运算结果有下降沿时(由ON到OFF)产生一个宽度为一个扫描周期的脉冲,驱动其后的输出线圈。图9-8a、b、c,宽度为一个周期的脉冲含义:在PLC程序中,程序反复循环执行,每个循环为一个扫描周期。脉冲宽度只有一个扫描周期意味着某个值只能维持一次循环,下次程序循环的时候该值回到原来的状态。,9.1.8逻辑堆栈的操作S7-200PLC有9层堆栈,用于处理所有逻辑操作。当线路的逻辑复杂时,也可以借助堆栈指令描述。从堆栈的角度解释ALD与OLD(堆栈动作自动完成)。ALD:把逻辑堆栈第一、二级值作“与”操作,结果置于栈顶。ALD指令执行后,堆栈下方数据上移一级。OLD:把逻辑堆栈第一、二级值作“或”操作,结果置于栈顶。OLD指令执行后,堆栈下方数据上移一级。图9-9,逻辑入栈指令LPS:把栈顶值复制后压入堆栈,栈底值压出丢失。在梯形图中,用于生成一条新的母线,其左侧为原来的主控逻辑块,右侧为新的逻辑块。图9-9逻辑读栈指令LRD:将堆栈中第二级的值复制到栈顶,堆栈中没有入栈或出栈操作,只是栈顶的值被第二级的值取代。在梯形图中,当新母线左侧为主控逻辑块时,LPS开始右侧第一个从逻辑块编程,LRD开始第二个以后的从逻辑块编程。图9-9逻辑出栈指令LPP:将栈顶值弹出,原堆栈中各级栈值向上一次弹一级,堆栈第二级的值成为新的栈顶值。在梯形图中,LPP用于LPS产生的新母线右侧最后一个从逻辑模块编程,它在读取完离它最近的LPS压入堆栈内容时,复位该条新母线。图9-9,从梯形图的角度写指令:图9-10LDI0.0LPS(新母线开始第一个逻辑块用LPS)LDI0.1OI0.2ALD=Q0.0LRD(新母线第二个逻辑块用LRD)LDI0.3ONI0.4ALD=Q0.1LPP(新母线最后一个逻辑块用LPP)AI0.5ANI0.6=Q0.2,图9-10指令对应堆栈的变化,LPS、LPP必须配对使用,它们之间的LRD可以使用多次或不使用。写出下列梯形图对应的指令语句:,9.1.9定时器TON:延时通电定时器(接通延时)。1TON:定时器标识符,表示延时通电定时器;IN:启动电平输入端,数据类型BOOL;PT:时间设定值输入端,数据类型为整型;Tn为定时器编号,如T33表示精度为10ms的接通延时型定时器。,定时时间计算:根据定时器编号,确定定时器分辨率(精度)1ms、10ms、100ms(见表8-9),定时时间T=PT*定时器分辨率。如T37,精度100ms,预设值PT为120,定时时间为12000ms。定时器状态位:存储定时器当前状态,当定时器当前值达到预设值PT时,该位被置为1.定时器当前值:存储定时器当前的累计时间,它用16位有符号整数表示,故最大值为32767.定时器的当前值大小是有限的,所以,定时器的计时也是有限的,最大计时值=32767*精度。(1ms、10ms、100ms)定时器的状态位和定时器的当前值都用其编号Tn来表示。,5接通延时定时器的工作过程:A当启动信号IN的状态为0时,定时器的当前值为0,定时器状态位也为0,其对应的常开触点打开,常闭触点闭合,定时器没有工作。B当启动信号IN状态从0变成1时,定时器开始工作,每过一个基本时间间隔,定时器的当前值加1.若定时器的当前值大于等于预设值PT时,定时器的状态位由0变成1,常开触点闭合,常闭触点打开。C在定时器当前状态改变后,定时器值继续计时,直到32767才停止计时,当前值也停留在32767,只要当前值大于PT值,定时器状态位就为1.D当IN信号从1变成0,则当前值复位为0,状态位也为0.当IN信号从0变为1后,维持的时间不足以使当前值达到PT值,定时器状态位不会从零变成1.,6延时通定时器梯形图与指令表,图9-11。7时序图,图9-118不同精度的定时器刷新(更新计数)方式不同。A1ms:系统每隔1ms刷新一次计数,刷新与扫描周期无关,。因而在扫描周期较长时,一个周期内可能被刷新多次,其当前值在一个扫描周期内不一定保持一致。B10ms:每个扫描周期开始时自动刷新。由于每个扫描周期只刷新一次,故每个扫描周期内,其当前值为常数。假设扫描周期为20ms,每个扫描周期开始,定时器值加2.(系统程序中,定时器刷新程序编写在扫描循环开始的位置,见159页图7-5),C100ms:定时器当前值在定时器指令被执行时刷新。在子程序和中断程序中,不宜使用100ms定时器,因为子程序或中断程序不一定每个扫描周期都被执行,若在扫描循环中时间达到100ms,但由于子程序或中断程序不能被执行,所以计数次数要少一次。同一100ms定时器不宜在一个扫描周期中使用多次,因为当达到100ms刷新时间时,定时器会被刷新多次,增加了计数次数。,9用定时器的常闭触点做本定时器的激励时输入时,三种分辨率定时器的运行(图9-13):A1ms定时器很可能不会工作。如果刷新时机恰当,可以使Q0.0接通一个扫描周期。B10ms分辨率定时器不能工作。C100ms定时器可以工作,使Q0.0接通一个扫描周期。D不建议使用图9-13a的接法,如果希望Q0.0只接通一个扫描周期,可以使用9-13b的接法,断电延时型定时器,TON与TOF定时器编号相同,在使用时,它们不能共享相同的定时器编号。TOF指令在输入端IN接通时,定时器状态位置1,当前值清零。输入端IN断开后,开始从零计时,当计时值等于预设值PT时,定时器清零,当前值保持不变,直到输入端IN接通。,保持型延时通定时器TONR1保持型延时通定时器具有记忆功能,它可以累计输入信号的接通时间。当IN从0变为1,定时器状态位为0,当前值从0开始累计计数。若IN从1变为0时,定时器状态位和当前值保持最后状态。当IN从0再变到1时,当前值从上次的保持值继续计数,当累计的计数值达到预设值时,定时器状态位为1,当前值连续计数到32767才停止计数。2梯形图、语句表、时序图9-123TONR定时器只能通过复位指令R对其进行复位操作,使当前值清零。,9.1.10计数器计数器用来累计输入脉冲的次数。有增计数器CTU、增减计数器CTUD,计数器编号共256个,从C0到C255,计数器的状态和计数器的当前值都用其编号来表示。CTU加计数器1CTU为计数器标识符;Cn为计数器编号;CU为计数脉冲输入端;R为复位信号输入端,数据类型为BOOL;PV为脉冲设定值输入端,整型。,2加计数器在复位端信号为1时,其计数当前值为0,计数器状态位也为0.当复位信号为0时,计数器可以工作。在计数器每个脉冲输入的上升沿,计数器计数1次,计数器的当前值加1.当计数器的当前值大于等于设定值PV时,计数器状态位变为1,这时再来计数脉冲时,计数器的当前值仍然不断累加,直到32767(16位有符号)时停止计数。当复位信号到来时,计数器当前值复位清零,状态位清零。3写语句表时,一定要按照CU端、R端、PV端的顺序输入,不能颠倒。,写出下面梯形图的指令语句,加/减计数器CTUD1CTUD为计数器标识符;Cn为计数器编号;CU为加计数脉冲输入端;CD为减计数输入端;R为复位信号输入端,数据类型为BOOL;PV为脉冲设定值输入端,整型。,2加/减计数器复位信号为1时,计数器的状态位为0,计数当前值也为0.当复位信号为0时,计数器可以工作。当CU输入端每一个脉冲上升沿到来时,计数器的当前值加1,当计数器当前值大于等于PV预设值时,状态位变为1.这时再来加计数脉冲时,计数器当前值仍然不断累加,直到32767(0111111111111111),下一个计数器脉冲到来时,计数器值会变为最小,-32768(二进制1000000000000000)变成-32768后继续加计数,会由负数向零变化。,3当一个减计数脉冲到来时,计数器的当前值进行减1操作。计数器的当前值小于PV时,计数器状态位变为0.再来计数脉冲时,计数器的当前值仍不断递减,达到最小值-32768后,下一个CD脉冲上升沿使计数值跳变为32767.(如果继续减计数,数值从32767向0递减。4梯形图、语句表、时序图:图9-14,9.1.11NOT及NOP指令NOT为非,为逻辑结果取反。NOP为空操作,对程序没有实质影响。LDI0.0AI0.1=Q0.0NOT=Q0.1,9.1.12比较指令1比较指令是将两个操作数按照指定条件进行比较。当比较条件成立时,触点闭合。(即比较指令的触点是常开触点)比较条件有=、=、不等于6种。比较指令操作数的类型有:字节比较、整数比较、双字整数比较和实数比较(32位,CPU214以上),梯形图、语句表IN1、IN2为比较的操作数,B表示字节比较,LDB=IN1,IN2表示对两个字节IN1、IN2进行相等比较,如果IN1=IN2,则触点闭合。,梯形图中I表示整数比较,16位。所以语句表中用W表示。,梯形图中,D表示双字整数比较,共32位。R表示实数比较,32位。字节比较是无符号的,其他类型比较是有符号比较。,LDBVB1,VB2=Q0.0(按字节访问变量寄存器V,当VB1大于VB2时,触点闭合)LDI0.0AW=C40,2000(计数器C40和2000做比较,计数器16位有符号整数)=Q0.1LDI0.1OD-150000000,VD1=Q0.2LDR=VD2,3.14=Q0.3(32位,实数比较),9.2程序控制指令,9.2.1跳转指令及标号JMP:跳转指令,把程序跳转到指定的标号。LBL:指定跳转的目标标号。跳转指令表示形式:梯形图、语句表表9-6语句举例:图9-15跳转指令及标号必须使用在主程序内,或同一子程序、中断程序,不能在主程序、子程序、中断程序之间跳转。若在步进程序中使用跳转指令,JMP和LBL必须在同一块中。JMP、LBL必须成对使用,不过多条JMP指令可以对应同一条LBL指令,但不允许一条JMP指令对应多条LBL指令。,执行跳转指令时,跳过的程序段中各元件状态如下:A各输出线圈保持跳转前的状态。B计数器停止计数,当前值保持跳转之前的计数值。C1ms、10ms定时器保持跳转之前的工作状态,原来工作的继续工作,到设置值后可以正常动作,当前值要累积到32767才停止。100ms定时器在跳转时停止工作,但不会复位,保持当前值不变,跳转结束后若条件允许可继续计时。,9.2.2结束指令ENDEND:条件结束指令,结束主程序,回到程序执行起点。MEND:无条件结束指令,结束主程序,返回主程序起点。用户必须以无条件结束指令结束主程序。条件结束指令,用在无条件结束指令之前结束主程序。在程序结束时一定要写上MEND,否则会出错,STEP-Micro/WIN32没有MEND指令,但它会自动加一无条件结束指令到每个主程序的结尾。MEND可以用于程序的分段调试。,9.2.3停止指令STOP当执行条件成立时,CPU由RUN转到STOP。,9.2.4警戒时钟刷新指令WDRWDR:警戒时钟刷新指令,刷新警戒时钟,延长扫描周期。警戒时钟的作用:防止程序在单个扫描周期中不能退出。PLC单次扫描有最大时间范围(300ms),如果这个时间范围单次扫描没有完成,则PLC停止运行。如果用户程序执行时间过长,会导致PLC停止运行。这时使用WDR可以刷新警戒时钟,是扫描周期延长。STOP、END、WDR举例图9-16,9.2.5子程序调用、子程序入口、子程序返回指令CALL:将程序执行转到子程序n处。SBR:子程序入口指令,表示n号子程序的开始位置。CRET:子程序条件返回指令,当条件成立时,返回原调用处。REC:无条件结束子程序,返回原调用处。操作数n:0-63STEP7-Micro/WIN32没有子程序无条件返回指令,但它会自动加一条无条件返回指令到每个子程序的结尾。当子程序结束时,程序执行应返回原调用指令CALL的下一条指令。子程序可嵌套,最大为8层。不禁止子程序自调用。例见图9-17,调用子程序时的堆栈:在子程序执行时也需要使用堆栈,为了不改变原主程序堆栈的堆栈情况,需要在进入子程序前对主程序堆栈进行保护,即子程序调用时,整个逻辑堆栈另存别处,然后栈顶置1,其余栈位置零。子程序执行完毕后,逻辑堆栈恢复到原调用点的值。,9.2.6中断程序标号、中断程序的返回指令子程序由用户主动调用,而中断可以由特定的事件“触发”,如通信口接收信息完成事件,I0.0输入的上升沿,高速计数器的各种动作等等。INT:中断程序标号,INT表示n号中断程序的开始(入口)。CRETI:中断程序条件返回指令,CRETI根据前面逻辑条件决定是否返回。RETI:中断程序无条件返回指令。STEP7-Micro/WIN32没有RETI指令,RETI指令是自动加的。中断号n:0-127,取决于CPU型号。,9.2.7开中断、关中断指令ENI:开中断指令,允许所用中断事件中断。DISI:关中断指令,禁止所有中断事件产生中断。CPU进入RUN状态时,禁止中断。但可以通过执行ENI指令全面开放中断。执行关中断指令后,中断列队仍然产生,但不执行中断程序。,9.3PLC梯形图可编程原则,9.3.1两个基本概念软继电器非实际继电器,靠PLC内部存储器位的状态来决定继电器的状态。软继电器的线圈定义号只能有一个,而对它的接点状态可以做多次读出(可以有多个触点,使用在多条梯形图线路中),可以常开可以常闭。能流:梯形图中,并没有真是的电流流动,为了便于分析,可以假想梯形图中有“电流”流动,这就是能流。能流在梯形图中只能做单方向流动,从左到右。层次的改变只能先上后下。,9.3.2梯形图的设计规则触点应画在水平线上,不能画在垂直分支上。图9-18不包含触点的分支应放在垂直方向,不可放在水平位置,以便于识别触点的组合和对输出线圈的控制路径。图9-19在几个串联回路相并联时,应将触点回路最多的那个串联回路放在梯形图的最上面。几个并联回路向串联时,应将触点最多的并联回路放在梯形图最左面。这样梯形图简洁明了,指令少。图9-20.不能将触点画在线圈右边,只能在触点的右边接线圈。图9-21推荐画法:图9-22,上重下轻,左重右轻。,9.3.3指令表编程规则编程顺序:从左到右,自上而下。图9-23适当的编程顺序可以减少程序步数。1串联多的电路尽量放在上边。2并联多的电路尽量靠近母线。图9-24,9.4PLC指令应用实例,9.4.1延时断开电路电路功能:当I0.0有输入信号时,Q0.0自锁。状态为1,当输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第22章 二次函数 单元测试(含答案)人教版(2024)数学九年级上 册
- 2025年中高端衡器合作协议书
- 校长招考试题及答案
- 2025年湖南省长沙市雅礼外国语学校中考数学模拟试卷(3月份)(含答案)
- 工程造价信息题库及答案
- 2025年心理与健康考试题及答案
- 2025年阜阳中考试卷及详细答案
- 2025年宁夏二建考试试题及答案
- 2025年分类考试笔试题目及答案
- 慢性伤口概述
- 阳光晾衣房钢结构专项施工方案
- 肿瘤科实习生入科培训课件
- 国际商务谈判英文版课件PPT
- 【课件】1.2 点线传情——造型元素之点线面 课件-2021-2022学年高中美术人美版(2019)选修绘画
- 注塑机安全操作规程
- 运动处方(课堂PPT)
- 第2章曲柄压力机
- 物资储备与物流方案
- 数学课堂教学技能训练
- 译林英语五年级上册教材分析
- 关于加强铁路企业年金管理的指导意见
评论
0/150
提交评论