s7-200基本指令及应用_第1页
s7-200基本指令及应用_第2页
s7-200基本指令及应用_第3页
s7-200基本指令及应用_第4页
s7-200基本指令及应用_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章S7-200系列PLC基本指令系统及应用,5.1指令及结构5.2位逻辑指令5.3定时器、计数器和比较指令5.4运算指令5.5数据处理指令5.6程序控制指令与子程序指令,5.1指令及结构,5.1.1指令的组成语句指令(STL)由一个操作码和一个操作数组成。例如:AI1.0梯形逻辑指令(LAD)用图形元素表示PLC要完成的操作。如图5-1,图5-1梯形逻辑指令,5.1.2操作数操作数标识符及参数操作数由操作数标识符和参数组成。操作数标识符由主标识符和辅助标识符组成。主标识符有:I输入过程映像存储区、Q输出过程映像存储区、V变量存储区、M位存储区、T定时器存储区、C计数器存储区、HC高速计数器、AC累加器、SM特殊存储器、L局部变量存储器、AI模拟量输入映像存储器、AQ模拟量输出映像存储器。辅助标识符有:X位、B字节、W字(字节)、D双字(字节)。,5.1.2操作数操作数的表示法:物理地址(绝对地址)表示法;符号地址表示法。,5.1.3寻址方式直接寻址:位寻址格式、特殊器件的寻址格式、字节、字和双字的寻址格式。CPU存储区域的间接寻址,5.1.4S7-200系列PLC的编程数据类型,5.2位逻辑指令,5.2.1触点指令标准触点指令装载常开触点指令格式:LDbit装载常闭触点指令格式:LDNbit与常开触点指令格式:Abit与常闭触点指令格式:ANbit或常开触点指令格式:Obit或常闭触点指令格式:ONbit,程序实例:,LDI0.0/装入常开触点OI0.1/或常开触点AI0.2/与常开触点=Q0.0/输出触点,/如果本梯级中将I0.1的触点改/为Q0.0的常开触点,则成为电/机起动停止控制环节的梯形图LDNI0.0/装入常闭触点ONI0.1/或常闭触点ANI0.2/与常闭触点=Q0.1/输出触点LDI0.0/OI0.1/AI0.2/NOT/取非,即输出反相=Q0.3/,标准触点LAD和STL例,返回,5.2.1触点指令,图5-3触点指令在梯形图中的表示符号,5.2.1触点指令立即触点指令LDI、LDNI、AI、ANI、OI和ONI格式:LDIbit取反指令格式:NOT(NOT指令无操作数)正负跳变指令正跳变触点指令格式:EU(无操作数)负跳变触点指令格式:ED(无操作数),5.2.2线圈指令标准输出线圈指令格式:=bit立即输出线圈指令格式:=Ibit置位线圈指令格式:Sbit,N复位线圈指令格式:Rbit,N立即置位线圈指令格式:SIbit,N立即复位线圈指令格式:RIbit,N,5.2.2线圈指令,图5-5线圈指令在梯形图中的表示符号,5.2.4逻辑堆栈指令ALD,栈装载与指令(与块)OLD,栈装载或指令(或块)LPS,逻辑进栈指令(分支或主控指令)LPP,逻辑出栈指令(分支结束或主控复位指令)LRD,逻辑读栈指令LDS,载入堆栈指令,LPS、LRD、LPP、LDS指令的操作过程,这里n3,LPS与LPP必须配对使用,应用举例:,LDI0.0/装入常开触点OI2.2/或常开触点LDI0.1/被串的块开始LDI2.0/被并路开始AI2.1/与常开触点OLD/栈装载或,并路结束ALD/栈装载与,串路结束=Q5.0/输出触点LDI0.0/装入常开触点LPS/逻辑推入栈,主控AI0.5/与常开触点=Q7.0/输出触点LRD/逻辑读栈,新母线LDI2.1/装入常开触点OI1.3/或常开触点ALD/栈装载与=Q6.0/输出触点LPP/逻辑弹出栈,母线复原LDI3.1/装入常开出触点OI2.0/或常开触点ALD/栈装载与=Q1.3/输出触点,复杂逻辑指令的应用,返回,LPS后第一和最后一个从逻辑块不用LRD指令,5.3定时器、计数器和比较指令,5.3.1定时器指令接通延时定时器格式:TONTXXX,PT有记忆接通延时定时器格式:TONRTXXX,PT断开延时定时器格式:TOFTXXX,PT,图5-9定时器指令在梯形图中的表示符号,表5-11定时器号和分辨率,定时时间的计算:T=PTS(T为实际定时时间,PT为预设值,S为分辨率等级)例如:TON指令用定时器T33,预设值为125,则实际定时时间T=12510=1250ms,定时器指令操作数有3个:编号、预设值和使能输入。1)编号:用定时器的名称和它的常数编号(最大255)来表示,它还包含两方面的变量信息:定时器位和定时器当前值。定时器位:当定时器的当前值达到预设值PT时,该位被置为“1”。定时器当前值:存储定时器当前所累计的时间,它用16位有符号整数来表示,故最大计数值为32767。2)预设值PT:数据类型为INT型。3)使能输入(只对LAD和FBD):BOOL型可以用复位指令来对3种定时器复位,(1)接通延时定时器指令:TON,用于单一间隔定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为OFF,当前值从0开始计数时间,当前值达到预设值时,定时器位为ON,当前值连续计数到32767。使能输入断开,定时器自动复位,即定时器位OFF,当前值为0。,填“计定时器号”,如:T35,填“预设值”,如:100,指令格式:TONTxxx,PT例:TONT120,8,返回,(2)有记忆接通延时定时器指令:TONR,用于对许多间隔的累计定时。上电周期或首次扫描,定时器位OFF,当前值保持。使能输入接通时,定时器位为OFF,当前值从0开始累计计数时间。使能输入断开,定时器位和当前值保持最后状态。使能输入再次接通时,当前值从上次的保持值继续计数,当累计当前值达到预设值时,定时器位ON,当前值连续计数到32767。,填“计定时器号”,如:T31,填“预设值”,如:100,TONR定时器只能用复位指令进行复位操作,使当前值清零。指令格式:TONRTxxx,PT;例:TONRT20,63,(3)断开延时定时器指令:TOF,用于断开后的单一间隔定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为ON,当前值为0。当使能输入由接通到断开时,定时器开始计数,当前值达到预设值时,定时器位OFF,当前值等于预设值,停止计数。TOF复位后,如果使能输入再有从ON到OFF的负跳变,则可实现再次启动。,填“计定时器号”,如:T35,填“预设值”,如:100,指令格式:TOFTxxx,PT;例TOFT35,6,(4)应用定时器指令应注意的几个问题,不能把一个定时器号同时用作断开延时定时器(TOF)和接通延时定时器(TON)。使用复位(R)指令对定时器复位后,定时器位为“0”,定时器当前值为“0”。有记忆接通延时定时器(TONR)只能通过复位指令进行复位。对于断开延时定时器(TOF),需要输入端有一个负跳变(由on到off)的输入信号启动计时。不同精度的定时器,它们当前值的刷新周期是不同的,5.3.2计数器指令增计数器指令格式:CTUCxxx,PV减计数器指令格式:CTDCxxx,PV增/减计数器指令格式:CTUDCxxx,PV,图5-13计数器指令在梯形图中的表示符号,1)编号:用计数器名称和它的常数编号(最大255)来表示,即Cxxx,包含两方面的变量信息:计数器位和计数器当前值。计数器位:当计数器的当前值达到预设值PV时,该位被置为“1”。计数器当前值:存储计数器当前所累计的脉冲个数,它用16位符号整数(INT)来表示,故最大计数值为32767。2)预设值PV:数据类型为INT型。3)脉冲输入:BOOL4)复位输入:与脉冲输入同类型和范围。,计数器指令操作数有4个:,(1)增计数器指令:CTU,首次扫描,定时器位OFF,当前值为0。在增计数器的计数输入端(CU)脉冲输入的每个上升沿,计数器计数1次,当前值增加1个单位,当前值达到预设值时,计数器位ON,当前值继续计数到32767停止计数。复位输入有效或执行复位指令,计数器自动复位,即计数器位OFF,当前值为0。,指令格式:CTUCxxx,PV;例:CTUC20,3,填“计数器器号”,如:C30,填“预设值”,如:3,脉冲输入,复位输入,应用举例:,LDI0.0/计数脉冲信号输入端LDI0.1/复位信号输入端CTUC20,+3/增计数,计数设定值为3个脉冲LDC20/装入计数器触点=Q0.0/输出触点,图5-25增计数程序及时序,复位与计数脉冲同时有效时,优先执行复位。,(2)增减计数器指令:CTUD,该指令有两个脉冲输入端:CU输入端用于递增计数,CD输入端用于递减计数。CU输入的每个上升沿,计数器当前值增加1,CD输入的每个上升沿,都使计数器当前值减小1,当前值达到预设值时,计数器位ON。计数到32767(最大值)后,下一个CU输入的上升沿将使当前值跳变为最小值(32768);反之,当前值达到最小值(32768)时,下一个CD输入的上升沿将使当前值跳变为最大值(32767)。复位输入有效或执行复位指令,计数器自动复位,即计数器位OFF,当前值为0。,指令格式:CTUDCxxx,PV;例:CTUDC30,5,返回,LDI0.0/增计数输入端LDI0.1/减计数输入端LDI0.2/复位端CTUDC30,+5/增减计数,设定脉冲数为5LDC30/装入计数器触点=Q0.0/输出触点,应用举例:,增减计数程序及时序,当前值大于(或小于)设定值后,仍然随计数脉冲而变化,而计数器位保持。,(3)减计数器指令:CTD,首次扫描,定时器位OFF,当前值为预设值PV。计数器检测到CD输入的每个上升沿时,计数器当前值减小1个单位,当前值减到0时,计数器位ON,停止计数。复位输入有效或执行复位指令,计数器自动复位,即计数器位OFF,当前值复位为预设值,而不是0。,指令格式:CTDCxxx,PV;例:CTDC40,4,应用举例:,LDI0.0/减计数脉冲输入端LDI0.1/复位输入端CTDC40,+4/减计数器,设定计数脉冲/数为4LDC40/装入计数器触点=Q0.0/输出触点,图5-27减计数程序及时序,当前值减到0后,计数脉冲对当前值和位都不起作用。,0,4,4,2,2,3,3,4,4,1,(4)应用举例:a.某自动门,内外侧各装一个超声波探测器,当探测到有人后0.5秒自动门打开,探测到无人后1秒,自动门关闭。b.由两个或多个定时器串联组成一个长时间定时器c.由定时器和计数器构成一个长时间的定时器d.利用计数器的串联构成扩展计数器e.利用特殊标志寄存器和计数器构成定时器f.脉冲发生器,5.3.3比较指令比较指令用于两个相同数据类型的有符号或无符号数IN1和IN2的比较判断操作。比较运算符有:等于(=),大于等于(=),大于(),小于等于(),小于(),不等于()。字节比较指令格式:LDB比较运算符IN1,IN2AB比较运算符IN1,IN2OB比较运算符IN1,IN2,5.3.3比较指令整数比较指令格式:LDW比较运算符IN1,IN2AW比较运算符IN1,IN2OW比较运算符IN1,IN2双整数比较指令格式:LDD比较运算符IN1,IN2AD比较运算符IN1,IN2OD比较运算符IN1,IN2,5.3.3比较指令实数比较指令格式:LDR比较运算符IN1,IN2AR比较运算符IN1,IN2OR比较运算符IN1,IN2,应用举例,(1)一自动仓库存放某种货物,最多6000箱,需对所存的货物进出计数。货物多于1000箱,灯L1亮;货物多于5000箱,灯L2亮。其中,L1和L2分别受Q0.0和Q0.1控制,数值1000和5000分别存储在VW20和VW30字存储单元中。本控制系统的程序如图5-30所示。程序执行时序如图5-31所示。,LDI0.0/增计数出入端LDI0.1/减计数出入端LDI0.2/复位出入端CTUDC30,+10000/增减计数,设定脉冲数为10000LDW=C30,VW20/比较计数器,当前值是否大于等/于VW20中的值“1000”Q0.0/输出触点LDW=C30,VW30/比较计数器,当前值是否大于等/于VW30中的值“5000”Q0.1/输出触点,图5-30程序举例,返回,时序图:,图5-31时序图,举例2传送带控制,控制要求:运货车到位,开关闭合,传送带开始送工件,到3件时,推板机推工件到货车上,此时传送带停止运行;工件被推到货车后推板返回,传送带又开始运行,如此循环动作。输入信号:启动开关:I0.0件数检测仪(有工件时为0):I0.1货车到位:I0.2输出信号:传送带运行:Q0.0推板机:Q0.1,5.4运算指令,5.4.1算术运算指令加、减、乘、除指令(1)加法指令:+I:整数加法指令格式:+IIN1,OUT+D:双整数加法指令格式:+DIN1,OUT+R:实数加法指令格式:+RIN1,OUT,在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2OUT。在STL中,通常将IN2与OUT共用一个地址单元,执行结果:IN1+OUTOUT。指令格式:+IIN1,OUT,程序实例:,LDI0.1/使能输入端MOVWVW0,VW4/VW0VW4+IVW2,VW4/VW2+VW4VW4,LAD中IN2和OUT可用同一单元。,5.4.1算术运算指令(2)减法指令-I:整数减法指令格式:-IIN2,OUT-D:双整数减法指令格式:-DIN2,OUT-R:实数减法指令格式:-RIN2,OUT,程序实例:,指令格式:-IIN2,OUT/整数减法,OUT-IN2OUT-DIN2,OUT/双整数减法-RIN2,OUT/实数减法,LDI0.0/使能输入端-IVW2,VW0/整数减法/VW0-VW2VW0,表5.16操作数执行前后的结果,5.4.1算术运算指令(3)乘法指令I:整数乘法指令格式:IIN1,OUTMUL:完全整数乘法指令格式:MULIN1,OUTD:双整数乘法指令格式:DIN1,OUTR:实数乘法指令格式:RIN1,OUT,程序实例:完全整数乘法(常规乘法)指令:MUL,LDI0.0/使能输入端*IVW0,VW2/整数乘法/VW0*VW2VW2,使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。指令格式:*IIN1,OUT,32位OUT的低位字(16位)被用作乘数,5.4.1算术运算指令(4)除法指令/I:整数除法格式:/IIN2,OUTDIV:完全整数除法格式:DIVIN2,OUT/D:双整数除法格式:/DIN2,OUT/R:实数除法格式:/RIN2,OUT,在整数除法中,两个16位的整数相除,产生一个16位的整数商,不保留余数。双整数除法也同样过程,只是位数变为32位。在整数完全除法中,两个16位的符号整数相除,产生一个32位结果,其中,低16位为商,高16位为余数。32位结果的低16位运算前期被兼用存放被除数。,程序实例:,LDI0.0/使能输入端MOVW+12345,VW12/12345VW12MOVW+100,VW20/100VW20LDI0.1/使能输入端DIVVW20,VD10/VW12/VW20VD1,整数完全除法例,5.4.1算术运算指令递增和递减指令字节递增指令格式:INCBOUT字节递减指令格式:DECBOUT,图5-27字节递增和递减指令在梯形图中的表示,5.4.1算术运算指令递增和递减指令字递增指令格式:INCWOUT字递减指令格式:DECWOUT,图5-28字递增和递减指令在梯形图中的表示,5.4.1算术运算指令递增和递减指令双字递增指令格式:INCDOUT双字递减指令格式:DECDOUT,图5-29双字递增和递减指令在梯形图中的表示,5.4.2逻辑运算指令字节逻辑运算指令ANDB:字节与指令格式:ANDBIN1,OUTORB:字节或指令格式:ORBIN1,OUTXORB:字节异或指令格式:XORBIN1,OUTINVB:字节取反指令格式:INVBOUT,图5-32字节逻辑运算指令在梯形图中的表示符号,5.4.2逻辑运算指令字逻辑运算指令ANDW:字与指令格式:ANDWIN1,OUTORW:字或指令格式:ORWIN1,OUTXORW:字异或指令格式:XORWIN1,OUTINVW:字取反指令格式:INVWOUT,图5-33字逻辑运算指令在梯形图中的表示符号,5.4.2逻辑运算指令双字逻辑运算指令ANDD:双字与指令格式:ANDDIN1,OUTORD:双字或指令格式:ORDIN1,OUTXORD:双字异或指令格式:XORDIN1,OUTINVD:双字取反指令格式:INVDOUT,图5-34双字逻辑运算指令在梯形图中的表示符号,5.5数据处理指令,5.5.1传送类指令单一传送指令MOVB:字节传送指令格式:MOVBIN1,OUTBIR:字节立即读传送指令格式:BIRIN1,OUTBIW:字节立即写传送指令格式:BIWIN1,OUTMOVW:字传送指令MOVD:双字传送指令MOVR:实数传送指令,单一传送指令,BIR:输入映象寄存器不更新BIW:输出映象寄存器刷新,块传送指令BMB:字节块传送指令格式:BMBIN1,OUT,NBMW:字块传送指令格式:BMWIN1,OUT,NBMD:双字块传送指令格式:BMDIN1,OUT,N,图5-36块传送指令在梯形图中的表示符号,5.5.2移位指令左移和右移指令SLB字节左移指令格式:SLBOUT,NSRB字节右移指令格式:SRBOUT,NSLW字左移指令格式:SLWOUT,NSRW字右移指令格式:SRWOUT,NSLD双字左移指令格式:SLDOUT,NSRD双字右移指令格式:SRDOUT,N,左移和右移指令,图5-37左移和右移指令在梯形图中的表示符号,(1)字节左移和字节右移指令:SLB,SRB,使能输入有效时,把字节输入数据IN左移或右移N位后,再将结果输出到OUT所指的字节存储单元(在语句表中,IN与OUT使用同一个单元)。最大实际可移位次数为8。,指令格式:SLBOUT,N(字节左移)SRBOUT,N(字节右移)例:SLBMB0,2SRBLB0,3,以第一条指令SLBMB0,2为例,指令执行情况如表5-12所示,表5-12左移指令SLB执行结果,(2)字左移和字右移指令:SLW,SRW,指令盒与字节移位比较,只有名称变为SHLW和SHRW。最大实际可移位次数为16。指令格式:SLWOUT,N(字左移)SRWOUT,N(字右移)例:SLWMW0,2SRWLW0,3,返回,以第二条指令SRWLW0,3为例,指令执行情况如表5-13所示。,表5-13右移指令SRW执行结果,(3)双字左移和双字右移指令:SLD,SRD,指令盒与字节移位比较,只有名称变为SHLDW和SHRDW,其他部分完全相同。最大实际可移位次数为32。,指令格式:SLDOUT,N(双字左移)SRDOUT,N(双字右移)例:SLDMD0,2SRDLD0,3,循环左移和循环右移指令RLB字节循环左移指令格式:RLBOUT,NRRB字节循环右移指令格式:RRBOUT,N,图5-38字节循环左移和字节循环右移指令,循环左移和循环右移指令RLW字循环左移指令格式:RLWOUT,NRRW字循环右移指令格式:RRWOUT,NRLD双字循环左移指令格式:RLDOUT,NRRD双字循环右移指令格式:RRDOUT,N,(1)字节循环左移和字节循环右移指令:RLB,RRB,使能输入有效时,把字节型输入数据IN循环左移或循环右移N位后,再将结果输出到OUT所指的字节存储单元(在语句表中,IN与OUT使用同一个单元)。指令格式:RLBOUT,N(字节循环左移)RRBOUT,N(字节循环右移)例:RLBMB0,2RRBLB0,3,(2)字循环左移和字循环右移指令:RLW,RRW,指令盒与字节循环移位只有名称变为ROLW和RORW,其他部分完全相同。使能输入有效时,把字型输入数据IN循环左移或循环右移N位后,再将结果输出到OUT所指的字存储单元(在语句表中,IN与OUT使用同一个单元)。实际移位次数为设定值取以16为底的模所得的结果。指令格式:RLWOUT,N(字循环左移)RRWOUT,N(字循环右移)例:RLWMD0,2RRWLD0,3,(3)双字循环左移和双字循环右移指令:RLD,RRD,指令盒与字节循环移位只有名称变为ROLDW和RORDW,其他部分完全相同。使能输入有效时,把双字型输入数据IN循环左移或循环右移N位后,再将结果输出到OUT所指的双字存储单元(在语句表中,IN与OUT使用同一个单元)。实际移位次数为设定值取以32为底的模所得的结果。指令格式:RLDOUT,N(双字循环左移)RRDOUT,N(双字循环右移)例:RLDMD0,2RRDLD0,3,返回,以指令RRWLW0,3为例,指令执行情况如表5-14所示。,表5-14指令RRW执行结果,移位寄存器指令SHRB指令格式:SHRBDATA,S-BIT,N,图5-39移位寄存器指令,3.寄存器移位,SHRB,寄存器移位指令。该指令在梯形图中有3个数据输入端:DATA为数值输入,将该位的值移入移位寄存器;SBIT为移位寄存器的最低位端;N指定移位寄存器的长度。每次使能输入有效时,整个移位寄存器移动1位。,移位特点:移位寄存器长度在指令中指定,没有字节型、字型、双字型之分。可指定的最大长度为64位,可正也可负。移位数据存储单元的移出端与SM1.1(溢出)相连,所以最后被移出的位被放到SM1.1位存储单元。,指令格式:SHRBDATA,SBIT,N例:SHRBI0.5,V20.0,5以本条指令为例,指令执行情况如表5-15所示。,表5-15指令SHRB执行结果,应用举例:彩灯控制,(1)六盏灯控制控制要求如下:按下启动按钮,按1、2、3、4、5、6顺序点亮,每1秒亮一盏灯,到全亮,再过1秒又按1至6的顺序每

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论