您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第3章PLC的基本指令及程序设计
第3章PLC基本指令和程序设计本章主要内容3.1PLC的基本逻辑指令及举例3.2程序控制指令3.3PLC初步编程指导3.4典型的简单电路编程3.5PLC程序的简单设计法及应用举例3.1PLC的基本逻辑指令及举例1.逻辑取及线圈驱动指令指令LD(Load):取指令。LDN(LoadNot):取反指令。=(Out):线圈驱动指令。NOT:取反指令。用法2.触点串联指令指令A(And):与指令。用于单个常开触点的串联连接。AN(AndNot):与反指令。用于单个常闭触点的串联连接。用法3.触点并联指令指令O(OR):或指令。用于单个常开触点的并联连接。ON(OrNot):或反指令。用于单个常闭触点的并联连接。用法使用说明单个触点的O、ON指令可连续使用。O、ON指令的操作数为:I、Q、M、SM、T、C、V、S和L。4.置位/复位指令指令用法5.RS触发器指令指令SR(SetDominantBistable):置位优先触发器指令。当置位信号(S1)和复位信号(R)都为真时,输出为真。RS(ResetDominantBistable):复位优先触发器指令。当置位信号(S)和复位信号(R1)都为真时,输出为假。用法没有STL形式6.立即指令立即指令是为了快速I/O(I、Q)而设置的,它不受PLC循环扫描的影响,允许对输入和输出物理点进行快速直接操作。指令7.边沿脉冲指令指令举例8.逻辑堆栈操作指令堆栈堆栈是一组能够存储和取出数据的暂存单元。遵循“先进后出”的原则。堆栈深度为“9层”。可以存储最新的逻辑运算(中间)结果,以便后续逻辑环节使用该结果。逻辑堆栈操作主要来完成触电复杂逻辑连接的编程。指令1OLD(或块指令)ALD(与块指令)OLD(OrLoad)串联电路块的并联连接指令(或块指令)用于串联电路块的并联连接什么是串联电路块?两个以上触点串联形成的支路叫串联电路块。用法使用说明除在网络块逻辑运算的开始使用LD或LDN指令外,在块电路的开始也要使用LD和LDN指令。每完成一次块电路的并联时要写上OLD指令。OLD指令无操作数。ALD(AndLoad)并联电路块的串联连接指令(与块指令)用于并联电路块的串联连接。什么是并联电路块?两条以上支路并联形成的电路叫并联电路块。用法使用说明在块电路开始时要使用LD和LDN指令。在每完成一次块电路的串联连接后要写上ALD指令。ALD指令无操作数。指令2LPS(LogicPush)逻辑入栈指令(分支电路开始指令)LRD(LogicRead)逻辑读栈指令LPP(LogicPop)逻辑出栈指令(分支电路结束指令)LPS/LRD/LPP举例例1LPS/LRD/LPP举例例2LPS/LRD/LPP举例例3指令3与ENO指令AENOENO是LAD中指令盒的布尔能量流出端。该指令使用较少。举例9.比较指令作用:比较指令是将两个数值或字符串按指定条件进行比较,条件成立时,触点就闭合。所以比较指令实际上也是一种位指令。类型:字节比较、整数比较、双字整数比较、实数比较和字符串比较。数值比较指令的运算符有:=、=、、=、和等6种,字符串比较指令有=和两种。对比较指令可进行LD、A和O编程。比较指令属于“位指令”具体指令(细节见表5-6)使用举例10.定时器及其使用最常用的器件几个基本概念种类:TON(接通延时定时器)TONR(有记忆接通延时定时器)TOF(断开延时定时器)分辩率与定时时间的计算单位时间的时间增量称为定时器的分辨率,即精度。S7-200PLC定时器有3个精度等级:1ms、10ms和100ms。定时器定时时间T的计算:T=PT×S。式中:T为实际定时时间,PT为设定值,S为分辨率。例如:TON指令使用T97(为10ms的定时器),设定值为100,则实际定时时间为:T=100×10=1000ms定时器的设定值PT:数据类型为INT型。操作数可为:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数,其中常数最为常用。定时器的编号定时器的编号用定时器的名称和它的常数编号(最大为255)来表示,即T***。如:T40。定时器的编号包含两方面的变量信息:定时器位和定时器当前值。定时器位:与其他继电器的输出相似。当定时器的当前值达到设定值PT时,定时器的触点动作。定时器当前值:存储定时器当前所累计的时间,它用16位符号整数来表示,最大计数值为32767。定时器的编号编号表TON和TOF使用相同范围的定时器编号,所以在同一个PLC程序中决不能把同一个定时器号同时用作TON和TOF。例如在程序中,不能既有接通延时(TON)定时器T32,又有断开延时(TOF)定时器T32。定时器的指令及使用指令定时器的指令及使用接通延时定时器TON(On-DelayTimer)接通延时定时器用于单一时间间隔的定时。上电周期或首次扫描时,定时器位为OFF,当前值为0。输入端接通时,定时器位为OFF,当前值从0开始计时,当前值达到设定值时,定时器位为ON,当前值仍连续计数到32767。输入端断开,定时器自动复位,即定时器位为OFF,当前值为0。记忆接通延时定时器TONR(RetentiveOn-DelayTimer)记忆接通延时定时器具有记忆功能,它用于对许多间隔的累计定时。上电周期或首次扫描时,定时器位为掉电前的状态,当前值保持在掉电前的值。当输入端接通时,当前值从上次的保持值继续计时,当累计当前值达到设定值时,定时器位ON,当前值可继续计数到32767。TONR定时器只能用复位指令R对其进行复位操作。TONR复位后,定时器位为OFF,当前值为0。掌握好对TONR的复位及启动是使用好TONR指令的关键。断开延时定时器TOF(Off-DelayTimer)断开延时定时器用于断电后的单一间隔时间计时。上电周期或首次扫描,定时器位为OFF,当前值为0。输入端接通时,定时器位为ON,当前值为0。当输入端由接通到断开时,定时器开始计时。当达到设定值时定时器位为OFF,当前值等于设定值,停止计时。输入端再次由OFF→ON时,TOF复位,这时TOF的位为ON,当前值为0。如果输入端再从ON→OFF,则TOF可实现再次启动。定时器的指令及使用举例定时器的刷新方式和正确使用1ms、10ms、100ms定时器的刷新方式是不同的,从而在使用方法上也有很大的不同。这和其他PLC是有很大区别的。1ms定时器1ms定时器由系统每隔1ms刷新一次,与扫描周期及程序处理无关。它采用的是中断刷新方式。因此,当扫描周期大于1ms时,在一个周期中可能被多次刷新。其当前值在一个扫描周期内不一定保持一致。10ms定时器10ms定时器由系统在每个扫描周期开始时自动刷新,由于是每个扫描周期只刷新一次,故在一个扫描周期内定时器位和定时器的当前值保持不变。100ms定时器100ms定时器在定时器指令执行时被刷新,因此,如果100ms定时器被激活后,如果不是每个扫描周期都执行定时器指令或在一个扫描周期内多次执行定时器指令,都会造成计时失准,所以在后面讲到的跳转指令和循环指令段中使用定时器时,要格外小心。100ms定时器仅用在定时器指令在每个扫描周期执行一次的程序中。时间间隔定时器这是在最新版本的CPU中增加的有特殊功能的定时器,说是定时器,其实是2条指令。使用这2条指令可以记录某一信号的开通时刻以及开通延续的时间。PLC停电后,停止记录。触发时间间隔(BITIM,BeginningIntervalTime)该指令用来读取PLC中内置的1毫秒计数器的当前值,并将该值存储于OUT。双字毫秒值的最大计时间隔为2的32次方,即49.7天。计算时间间隔(CITIM,CalculateIntervalTime)该指令计算当前时间与IN所提供时间的时间差,并将该差值存储于OUT。双字毫秒值的最大计时间隔为2的32次方,即49.7天。2条指令的有效操作数为:IN和OUT端均为双字。时间间隔定时器举例11.计数器及其使用应用几个基本概念种类CTU(增计数器)CTUD(增减计数器)CTD(减计数器)编号计数器的编号用计数器名称和数字(0~255)组成,即C***,如C6。计数器的编号包含两方面的信息:计数器的位和计数器当前值。计数器位:计数器位和继电器一样是一个开关量,表示计数器是否发生动作的状态。当计数器的当前值达到设定值时,该位被置位为ON。计数器当前值:其值是一个存储单元,它用来存储计数器当前所累计的脉冲个数,用16位符号整数来表示,最大数值为32767。计数器输入端和操作数设定值输入:数据类型为INT型。寻址范围:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。一般情况下使用常数作为计数器的设定值。指令及其使用指令指令及其使用CTU首次扫描时,计数器位为OFF,当前值为0。在计数脉冲输入端CU的每个上升沿,计数器计数1次,当前值增加一个单位。当前值达到设定值时,计数器位为ON,当前值可继续计数到32767后停止计数。复位输入端有效或对计数器执行复位指令,计数器自动复位,即计数器位为OFF,当前值为0。注意:在语句表中,CU、R的编程顺序不能错误。指令及其使用CTU指令及其使用CTUD增减计数器有两个计数脉冲输入端:CU输入端用于递增计数,CD输入端用于递减计数。首次扫描时,计数器位为OFF,当前值为0。CU输入的每个上升沿,计数器当前值增加1个单位;CD输入的每个上升沿,都使计数器当前值减小1个单位,当前值达到设定值时,计数器位置位为ON。增减计数器当前值计数到32767(最大值)后,下一个CU输入的上升沿将使当前值跳变为最小值(-32768);当前值达到最小值-32768后,下一个CD输入的上升沿将使当前值跳变为最大值32767。复位输入端有效或使用复位指令对计数器执行复位操作后,计数器自动复位,即计数器位OFF,当前值为0。注意:在语句表中,CU、CD、R的顺序不能错误。指令及其使用CTUD指令及其使用CTD首次扫描时,计数器位为ON,当前值为预设定值PV。对CD输入端的每个上升沿计数器计数1次,当前值减少一个单位,当前值减小到0时,计数器位置位为ON。复位输入端有效或对计数器执行复位指令,计数器自动复位,即计数器位OFF,当前值复位为设定值。注意:减计数器的复位端是LD,而不是R。在语句表中,CD、LD的顺序不能错误。指令及其使用CTD3.2程序控制指令程序控制指令实现使程序结构灵活及优化、控制程序流向的指令。程序控制指令主要包括结束、暂停、看门狗、跳转、循环和顺序控制等指令。1.结束指令END和MEND结束指令分为有条件结束指令(END)和无条件结束指令(MEND)。使用说明:结束指令只能用在主程序中,不能在子程序和中断程序中使用。而有条件结束指令可用在无条件结束指令前结束主程序。在调试程序时,在程序的适当位置插入无条件结束指令可实现程序的分段调试。可以利用程序执行的结果状态、系统状态或外部设置切换条件来调用有条件结束指令,使程序结束。使用方法:软件自动处理。2.暂停指令停止指令STOPSTOP指令有效时,可以使主机CPU的工作方式由RUN切换到STOP,从而立即中止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。STOP指令可以用在主程序、子程序和中断程序中。如果在中断程序中执行STOP指令,则中断处理立即中止,并忽略所有挂起的中断。继续扫描程序的剩余部分,在本次扫描周期结束后,完成将主机从RUN到STOP的切换。STOP和END指令通常在程序中用来对突发紧急事件进行处理,以避免实际生产中的重大损失。3.看门狗指令WDR(Wa
本文标题:第3章PLC的基本指令及程序设计
链接地址:https://www.777doc.com/doc-5281773 .html