版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章S7-200PLC的基本指令和程序设计教学内容:
5.1
基本指令
5.2程序控制类指令
5.3PLC的编程及应用
5.1S7-200PLC的基本指令
S7-200PLC的基本指令多用于开关量逻辑控制,本节着重介绍梯形图指令和语句表指令,并讨论基本指令的功能及编程方法。
编程时,应注意各操作数的数据类型及数值范围。CPU对非法操作数将生成编译错误代码。
5.1.1基本逻辑指令
基本逻辑指令在语句表语言中是指对位存储单元的简单逻辑运算,在梯形图中是指对触点的简单连接和对标准线圈的输出。
S7-200可编程序控制器使用一个逻辑堆栈来分析控制逻辑,用语句表编程时要根据这一堆栈逻辑进行组织程序,用相关指令来实现堆栈操作,用梯形图和功能框图时,程序员不必考虑主机的这一逻辑,这两种编程工具自动地插入必要的指令来处理各种堆栈逻辑操作。
S7-200可编程序控制器的主机逻辑堆栈结构如表1所示。
5.1.1基本逻辑指令
逻辑堆栈结构是由九个堆栈存储器位组成的串联堆栈,栈顶是布尔型数据进出堆栈的必由之路。进栈时,数据由栈顶压入,堆栈中原来所存的数据被串行下移一格,如果原来STACK(堆叠)8中存有数据,则这数据被推出堆栈而自动丢失。出栈时,数据从栈顶被取出,所有数据串行上移一格,STACK8中随机地装入一个数值。表1逻辑堆栈结构堆栈结构名称说明S0STACK0第一级堆栈
S1STACK1第二级堆栈S2STACK2第三级堆栈S3STACK3第四级堆栈S4STACK4第五级堆栈S5STACK5第六级堆栈S6STACK6第七级堆栈S7STACK7第八级堆栈S8STACK8第九级堆栈栈顶5.1.1基本逻辑指令
栈顶STACK0在此逻辑堆栈的位运算中兼有累加器的作用,存放第一操作数。对于简单逻辑指令,通常是进栈操作和一些最简单的位运算,这些运算是栈顶与第二级堆栈的内容进行与、或、非等逻辑运算。对于复杂指令,可以是堆栈中的其他数据位直接进行运算,结果经栈顶弹出。
基本逻辑指令主要包括标准触点指令、正负跳变指令、置位和复位指令等,主要是与位相关的输入输出及触点的简单连接。
5.1.1基本逻辑指令1.标准触点指令梯形图中常开和常闭触点指令用触点表示,常闭触点中带有“/”符号。当存储器某地址的位值为1时,则与之对应的常开触点的位值也为1,表示常开触点闭合;而与之对应的常闭触点的位值为0,表示常开触点断开。语句表中的标准触点指令有LD、LDN、A、AN、O、ON。这些指令对存储器位在逻辑堆栈中进行操作。由于堆栈存储单元数的限制,语句表中A、O、AN、ON指令最多可以连用有限次。同样,梯形图中,最多一次串联或并联的触点数也有一定限制标准触点指令中,操作数的数据类型为BOOL型,操作数编址范围可以是:I、Q、M、SM、T、C、S、V、L。
5.1.1基本逻辑指令(1)装入常开触点指令:LD
表示一个逻辑梯级的编程开始。在梯形图中,每个从左母线开始的单一逻辑行、每个程序块的开始、功能方框的输入端都必须使用LD和LDN这两条指令。以常开触点开始时用LD指令,以常闭触点开始时则用LDN指令。本指令对各类内部编程元件的常开触点都适用。指令格式:LDbit;例:LDI0.2(2)装入常闭触点指令:LDN
每个以常闭触点开始的逻辑行都使用这一指令,各类内部编程元件的常闭触点都适用。指令格式:LDNbit;例:LDNI0.25.1.1基本逻辑指令(3)与,串联常开触点指令:A
表示触点的串联编程。串联一个常开触点。由于堆栈存储器数量限制,梯形图中,一次最多可有七个常开触点串联。指令格式:Abit;例:AM2.4(4)与非,串联常闭触点指令:AN即在梯形图中串联一个常闭触点。在一个逻辑行中,最多可以连用六次。指令格式:ANbit;例:ANM2.4(5)或,并联常开触点指令:O表示触点的并联编程。并联一个常开触点。在梯形图中,一次最多可以有七个触点相互并联。指令格式:Obit;例:OM2.65.1.1基本逻辑指令(6)非或,并联常闭触点指令:ON并联一个常闭触点。在梯形图中,一次最多可以连用六次。指令格式:ONbit;例:ONM2.6
在语句表中,这几条指令的执行对逻辑堆栈的影响:
CPU执行LD指令,首先,将指令操作数的位(bit)值装入堆栈栈顶,故也称栈装载指令。然后将堆栈其余各级内容下压一级,直至最后一级内容丢失。执行A指令,将操作数的位值“与”栈顶值,运算结果仍存入栈顶,堆栈没有压入和弹出操作。执行O指令,将操作数的位值“或”栈顶值,运算结果仍存入栈顶,堆栈没有压入和弹出操作。执行LDN、AN、ON指令,将操作数的位值取反后,再作相应的“装载”、“与”、“或”操作。5.1.1基本逻辑指令指令LDI0.1(假设I0.1=1)执行情况如表2所示。如果是LDN指令,则将操作数取反后再装入栈顶,其他操作相同。
表2LDI0.1的执行
名称执行前执行后说明STACK0S01将新值I0.1=1装入堆栈STACK1S1S0由S0下移一个单元得到STACK2S2S1由S1下移一个单元得到STACK3S3S2由S2下移一个单元得到STACK4S4S3由S3下移一个单元得到STACK5S5S4由S4下移一个单元得到STACK6S6S5由S5下移一个单元得到STACK7S7S6由S6下移一个单元得到STACK8S8S7由S7下移一个单元得到
原值S0串行下移一个单元,其余以此类推。
原S8自动丢失。
5.1.1基本逻辑指令
指令AI0.2(假设I0.2=0)执行情况如表3所示。如果是AN指令,则将操作数取反后再和栈顶值相与,结果放回栈顶。即:1*1=1→S0
表3
指令AI0.2的执行
名称执行前执行后说明STACK010执行前栈顶值为1。执行时用栈顶值和指令操作数(I0.2的值为0)进行与运算,结果放回栈顶。即:S0*I0.2=1*0=0→S0STACK1S1S1STACK2S2S2STACK3S3S3STACK4S4S4STACK5S5S5STACK6S6S6STACK7S7S7STACK8S8S82、输出指令表示继电器线圈编程(包括内部继电器线圈、输出继电器线圈)。当执行输出指令时,把栈顶值“写”到由操作数地址指定的存储器的对应位中。梯形图中,“()”表示线圈。当执行输出指令时,“能流”到,则线圈被激励。输出映像寄存器或其他存储器的相应位为“1”,反之为“0”。语句表中,输出指令“=”把栈顶值复制到由操作数地址指定的存储器位。指令执行前后堆栈各级栈值不变。指令格式:=bit;例:
=Q2.6
5.1.1基本逻辑指令5.1.1基本逻辑指令程序实例:仔细比较不同编程工具的区别与联系。
LDI0.0//装入常开触点OI0.1//或常开触点AI0.2//与常开触点=Q0.0//输出触点,
//如果本梯级中将I0.1的触点改
//为Q0.0的常开触点,则成为电
//机起动停止控制环节的梯形图
LDNI0.0//装入常闭触点ONI0.0//或常闭触点ANI0.2//与常闭触点=Q0.1///输出触点
LDI0.0//OI0.1//AI0.2//NOT//取非,即输出反相=Q0.3//图9
标准触点LAD和STL例5.1.1基本逻辑指令3.正/负跳变指令
用于检测脉冲的正跳变(上升沿)或负跳变(下降沿),利用跳变让能流接通一个扫描周期,即可以产生一个宽度为一个扫描周期脉冲,常用此脉冲触发内部继电器线圈。梯形图中,正/负跳变指令在梯形图中以触点形式使用。语句表中:(1)正跳变指令:EU一旦发现栈顶的值出现正跳变,该栈顶的值就被置“1”,并持续一个扫描周期的时间。指令格式:EU(无操作数)
5.1.1基本逻辑指令(2)负跳变指令:ED
一旦发现栈顶的值出现负跳变,该栈顶的值就被置“1”,并持续一个扫描周期的时间。指令格式:ED(无操作数)正、负跳变触点指令编程举例如图10所示。
图10
正、负跳变触点指令编程一个扫描周期长度
5.1.1基本逻辑指令4.置位和复位指令
置位即置1,复位即置0。置位和复位指令可以将位存储区的某一位开始的一个或多个(最多可达255个)同类存储器位置1或置0。这两条指令在使用时需指明三点:操作性质、开始位和位的数量。各操作数类型及范围如表4所示。
表4
置位和复位指令操作数类型及范围
操作数范围
类型
位bitI,Q,M,SM,T,C,V,S,LBOOL型
数量NVB,IB,QB,MB,SMB,LB,SB,AC,*VD,*AC,*LDBYTE型(最大255)5.1.1基本逻辑指令(1)置位指令:S
将位存储区的指定位(位bit)开始的N个同类存储器位置位。指令格式:Sbit,N;例:
SQ0.0,
1(2)复位指令:R
将位存储区的指定位(位bit)开始的N个同类存储器位复位。当用复位指令时,如果是对定时器T位或计数器C位进行复位,则定时器或计数器位被复位同时,定时器或计数器的当前值被清零。指令格式:Rbit,N;例:
RQ0.2,
35.1.1基本逻辑指令在语句表(STL)中,当栈顶值为1时,才能执行置位指令S或复位指令R。置位后即使栈顶值变为0,仍保持置位;复位后即使栈顶值变为0,仍保持复位。可见这两条指令均有“记忆”功能。置位和复位指令应用编程序举例如图11所示。
图11置位复位指令5.1.2立即操作指令
立即指令允许对输入和输出点进行快速和直接存取。当用立即指令读取输入点的状态时,相应的输入映像寄存器中的值并未发生更新;用立即指令访问输出点时,访问的同时,相应的输出寄存器的内容也被刷新。只有输入继电器I和输出继电器Q可以使用立即指令。
5.1.2立即操作指令1.立即触点指令
执行立即触点指令时,直接读取物理输入点的值,输入映像寄存器内容不更新,指令操作数仅限于输入物理点的值。梯形图中,立即触点指令用常开和常闭立即触点表示。触点中的“I”表示立即之意。
在语句表中,每个标准触点指令的后面加“I”(表示立即之意)。常开立即触点编程由LDI、AI、OI指令描述,常闭立即触点编程由LDNI、ANI、ONI指令描述。以LDI指令为例,执行时,把物理输入点的位值立即装入栈顶。指令格式:LDIbit例:
LDII0.25.1.2立即操作指令2.立即输出指令用立即指令访问输出点时,把栈顶值立即复制到指令所指定的物理输出点,同时,相应的输出映像寄存器的内容也被刷新。指令格式:=Ibit例:
=IQ0.2立即I/O指令不受PLC循环扫描工作方式的约束,允许对输入、输出物理点进行直接存取,执行立即触点指令时,CPU绕过输入映像寄存器,直接读取物理输入点的状态作为程序执行期间的数据依据,输入映像寄存器不作刷新处理;执行立即输出指令时,则将结果同时立即复制到物理输出点和相应的输出映像寄存器,而不是等待程序执行阶段结束后,转入输出刷新阶段时才把结果传送到物理输出点。从而加快了输入输出响应速度。
必须注意:立即I/O指令比一般指令访问输入输出映像寄存器占用CPU的时间要长,因而不能盲目的使用,否则,会加长扫描周期的时间,反而对系统造成不利的影响。用立即置位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即置位,同时,相应的输出映像寄存器的内容也被刷新。指令格式:SIbit,N;例:
SIQ0.0,
23.立即置位指令5.1.2立即操作指令5.1.2立即操作指令4.立即复位指令
用立即复位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即复位,同时,相应的输出映像寄存器的内容也被刷新。各操作数类型及范围如表5所示。
指令格式:RIbit,N;例:RIQ0.0,1表5
立即置位和立即复位指令操作数类型及范围
操作数范围
类型
位bitQBOOL型
数量NVB,IB,QB,MB,SMB,LB,SB,AC,*VD,*AC,*LD,常数
BYTE型(最大128)5.1.2立即操作指令LDI0.0=Q0.0=IQ0.1//立即输出触点SIQ0.2,1//从Q0.2开始的1个触点被立即置1
LDII0.0//立即输入触点指令=Q0.3//输出触点,非立即图12
立即指令程序图13
波形图5.1.3
复杂逻辑指令(逻辑堆栈)
基本逻辑指令涉及可编程元件的触点和线圈的简单连接,不能表达在梯形图中触点的复杂连接结构。复杂逻辑指令主要用来描述对触点进行的复杂连接,同时,它们对逻辑堆栈也可以实现非常复杂的操作。
逻辑堆栈指令只用于语句表编程。使用梯形图、功能块图时,编辑器会自动插入相关的指令处理堆栈操作。本类指令包括:ALD、OLD、LPS、LRD、LPP和LDS,这些指令中除LDS外,其余指令都无操作数。
5.1.3
复杂逻辑指令(逻辑堆栈)1.栈装载与指令
2.栈装载或指令
OLD,栈装载或指令(或块)。用于将串联电路块进行并联连接。执行OLD指令,将堆栈中的第一级和第二级的值进行逻辑“或”操作,结果置于栈顶(堆栈第一级),并将堆栈中其余各级的内容依次上弹一级。
ALD,栈装载与指令(与块)。用于将并联电路块进行串联连接。执行ALD指令,将堆栈中的第一级和第二级的值进行逻辑“与”操作,结果置于栈顶(堆栈第一级),并将堆栈中的第三级至第九级的值依次上弹一级。
5.1.3
复杂逻辑指令(逻辑堆栈)
栈装载与指令和栈装载或指令的操作过程如图14所示,图中“x”表示不确定值。
图14
栈装载与指令和栈装载或指令的操作过程
5.1.3
复杂逻辑指令(逻辑堆栈)3.逻辑推入栈指令
4.逻辑读栈指令
LPS,逻辑推入栈指令(分支或主控指令)。用于复制栈顶的值并将这个值推入栈顶,原堆栈中各级栈值依次下压一级。在梯形图中的分支结构中,用于生成一条新的母线,左侧为主控逻辑块时,第一个完整的从逻辑行从此处开始。
LRD,逻辑读栈指令。把堆栈中第二级的值复制到栈顶。堆栈没有推入栈或弹出栈操作,但原栈顶值被新的复制值取代。在梯形图中的分支结构中,当左侧为主控逻辑块时,开始第二个和后边更多的从逻辑块。应注意,LPS后第一个和最后一个从逻辑块不用本指令。
5.1.3
复杂逻辑指令(逻辑堆栈)5.逻辑栈弹出指令
6.装入堆栈指令
LPP,逻辑栈弹出指令(分支结束或主控复位指令)。堆栈作弹出栈操作,将栈顶值弹出,原堆栈中各级栈值依次上弹一级,堆栈第二级的值成为新的栈顶值。在梯形图中的分支结构中,用于将LPS指令生成的一条新母线进行恢复。应注意,LPS与LPP必须配对使用。LDSn(n=1~8),装入堆栈指令。复制堆栈中的第n级的值到栈顶。原栈中各级栈值依次下压一级,栈底值丢失。
LPS、LRD、LPP、LDS指令操作过程如图15所示。
5.1.3
复杂逻辑指令(逻辑堆栈)图15LPS、LRD、LPP、LDS指令的操作过程5.1.3
复杂逻辑指令(逻辑堆栈)应用举例:
LDI0.0//装入常开触点LPS//逻辑推入栈,主控AI0.5//与常开触点=Q7.0//输出触点LRD//逻辑读栈,新母线LDI2.1//装入常开触点OI1.3//或常开触点ALD//栈装载与=Q6.0//输出触点LPP//逻辑弹出栈,母线复原LDI3.1//装入常开出触点OI2.0//或常开触点ALD//栈装载与=Q1.3//输出触点图16
逻辑堆栈指令的应用
5.1.4定时器和计数器指令
1.定时器指令
定时器是由集成电路构成,是PLC中的重要硬件编程元件。定时器编程时提前输入时间预设值,在运行时当定时器的输入条件满足时开始计时,当前值从0开始按一定的时间单位增加,当定时器的当前值达到预设值时,定时器发生动作,发出中断请求,以便PLC响应而作出相应的操作。此时它对应的常开触点闭合,常闭触点断开。S7-200PLC的定时器类型有三种:TON(通电延时)、TONR(有记忆通电延时)和TOF(断电延时)。定时器的分辨率(时间增量/时间单位/分辨率)有3个等级:1ms、10ms和100ms,分辨率等级和定时器号关系如表6所示。表6
定时器号和分辨率定时器类型分辩率/ms计时范围/s定时器号TONTOF132.767T32,T9610327.67T33~T36,T97~T1001003276.7T37~T63,T101~T255TONR132.767T0,T6410327.67T1~T4,T65~T681003276.7T5~T31,T69~95定时时间的计算:T=PT☓S‑‑‑(T为实际定时时间,PT为预设值,S为分辨率等级)例如:TON指令用定时器T33,预设值为125,则实际定时时间
T=125☓10=1250ms5.1.4定时器和计数器指令
定时器指令操作数有3个:编号、预设值和使能输入。1)编号:用定时器的名称和它的常数编号(最大255)来表示,即Txxx,如:T4。T4不仅仅是定时器的编号,它还包含两方面的变量信息:定时器位和定时器当前值。定时器位:定时器位与时间继电器的输出相似,当定时器的当前值达到预设值PT时,该位被置为“1”。定时器当前值:存储定时器当前所累计的时间,它用16位符号整数来表示,故最大计数值为32767。2)预设值PT:数据类型为INT型。寻址范围可以是VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。3)使能输入(只对LAD和FBD):BOOL型,可以是I、Q、M、SM、T、C、V、S、L和能流。可以用复位指令来对3种定时器复位,复位指令的执行结果是:使定时器位变为OFF:定时器当前值变为0。5.1.4定时器和计数器指令
5.1.4定时器和计数器指令(1)接通延时定时器指令:TON
用于单一间隔定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为OFF,当前值从0开始计数时间,当前值达到预设值时,定时器位为ON,当前值连续计数到32767。使能输入断开,定时器自动复位,即定时器位OFF,当前值为0。填“计定时器号”,如:T35填“预设值”,如:100指令格式:TONTxxx,PTT例:TONT120,85.1.4定时器和计数器指令(2)有记忆接通延时定时器指令:TONR
用于对许多间隔的累计定时。上电周期或首次扫描,定时器位OFF,当前值保持。使能输入接通时,定时器位为OFF,当前值开始累计计数时间。使能输入断开,定时器位和当前值保持最后状态。使能输入再次接通时,当前值从上次的保持值继续计数,当累计当前值达到预设值时,定时器位ON,当前值连续计数到32767。
填“计定时器号”,如:T31填“预设值”,如:100TONR定时器只能用复位指令进行复位操作,使当前值清零。指令格式:TONRTxxx,PT;例:TONRT20,635.1.4定时器和计数器指令(3)断开延时定时器指令:TOF
用于断开后的单一间隔定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为ON,当前值为0。当使能输入由接通到断开时,定时器开始计数,当前值达到预设值时,定时器位OFF,当前值等于预设值,停止计数。TOF复位后,如果使能输入再有从ON到OFF的负跳变,则可实现再次启动。填“计定时器号”,如:T35填“预设值”,如:100指令格式:TOFTxxx,PT;例TOFT35,65.1.4定时器和计数器指令LDI0.0//使能输入
TONT35,+4//通电延时定时器,延时时间为40ms
LDI0.0//使能输入
TONRT2.+10//有记忆通电延时定时器,
//延时时间为100ms
LDI0.0//使能输入
TOFT36,+3//断电延时定时器,延时时间为30ms
(4)应用举例:图
定时器特性
T35为通电延时定时器T2为有记忆通电延时定时器T36为断电延时定时器5.1.4定时器和计数器指令
上述梯形图程序中输入输出执行时序关系如图所示。
图
定时器时序
5.1.4定时器和计数器指令(5)应用定时器指令应注意的几个问题
①
不能把一个定时器号同时用作断开延时定时器(TOF)和接通延时定时器(TON)。②
使用复位(R)指令对定时器复位后,定时器位位“0”,定时器当前值为“0”。③
有记忆接通延时定时器(TONR)只能通过复位指令进行复位。④对于断开延时定时器(TOF),需要输入端有一个负跳变(由on到off)的输入信号启动计时。⑤不同精度的定时器,它们当前值的刷新周期是不同的,具体情况如下:5.1.4定时器和计数器指令1)1ms分辨率定时器:
启动后,定时器对1ms的时间间隔(时基信号)进行计时。定时器当前值每隔1ms刷新一次,在一个扫描周期中要刷新多次,不和扫描周期同步。
2)10ms分辨率定时器:启动后,定时器对10ms的时间间隔进行计时。程序执行时,在每次扫描周期开始对10ms定时器刷新,在一个扫描周期内定时器当前值保持不变。
3)100ms分辨率定时器:
启动后,定时器对100ms的时间间隔进行计时。只有在定时器指令执行时,100ms定时器的当前值才被刷新。
5.1.4定时器和计数器指令2.计数器指令
计数器用来累计输入脉冲的次数。计数器也是由集成电路构成,是应用非常广泛的编程元件,经常用来对产品进行计数。计数器与定时器的结构和使用基本相似,编程时输入它的预设值PV(计数的次数),计数器累计它的脉冲输入端电位上升沿(正跳变)个数,当计数达到预设值PV时,计数器发生动作,以便PLC作出相应的技术控制处理。计数器指令有3种:增计数CTU、增减计数CTUD和减计数CTD。指令操作数4方面:编号、预设值、脉冲输入和复位输入。5.1.4定时器和计数器指令1)编号:用计数器名称和它的常数编号(最大255)来表示,即Cxxx,如:C6。C6不仅仅是计数器的编号,它还包含两方面的变量信息:计数器位和计数器当前值。计数器位:表示计数器是否发生动作的状态,当计数器的当前值达到预设值PV时,该位被置为“1”。计数器当前值:存储计数器当前所累计的脉冲个数,它用16位符号整数来表示,故最大计数值为32767。2)预设值PV:数据类型为INT型。寻址范围可以是VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。3)脉冲输入:BOOL型,可以是I、Q、M、SM、T、C、V、S、L和能流。
4)复位输入:与脉冲输入同类型和范围。5.1.4定时器和计数器指令(1)增计数器指令:CTU首次扫描,计数器位OFF,当前值为0。在增计数器的计数输入端(CU)脉冲输入的每个上升沿,计数器计数1次,当前值增加1个单位,当前值达到预设值时,计数器位ON,当前值继续计数到32767停止计数。复位输入有效或执行复位指令,计数器自动复位,即计数器位OFF,当前值为0。
指令格式:CTUCxxx,PV;例:CTUC20,3填“计数器器号”,如:C30填“预设值”,如:3脉冲输入复位输入5.1.4定时器和计数器指令应用举例:LDI0.0//计数脉冲信号输入端LDI0.1//复位信号输入端CTUC20,+3//增计数,计数设定值为3个脉冲
LDC20//装入计数器触点=Q0.0//输出触点图
增计数程序及时序5.1.4定时器和计数器指令(2)增减计数器指令:CTUD
该指令有两个脉冲输入端:CU输入端用于递增计数,CD输入端用于递减计数。首次扫描,定时器位OFF,当前值为0。CU输入的每个上升沿,计数器当前值增加1个单位,CD输入的每个上升沿,都使计数器当前值减小1个单位,当前值达到预设值时,计数器位ON。增减计数器计数到32767(最大值)后,下一个CU输入的上升沿将使当前值跳变为最小值(–32768);反之,当前值达到最小值(–32768)时,下一个CD输入的上升沿将使当前值跳变为最大值(32767)。复位输入有效或执行复位指令,计数器自动复位,即计数器位OFF,当前值为0。
指令格式:CTUDCxxx,PV;例:CTUDC30,55.1.4定时器和计数器指令
LDI0.0//增计数输入端
LDI0.1//减计数输入端
LDI0.2//复位端
CTUDC30,+5//增减计数,设定脉冲数为5
LDC30//装入计数器触点
=Q0.0//输出触点应用举例:图
增减计数程序及时序
5.1.4定时器和计数器指令(3)减计数器指令:CTD
首次扫描,定时器位OFF,当前值为预设值PV。计数器检测到CD输入的每个上升沿时,计数器当前值减小1个单位,当前值减到0时,计数器位ON。装载输入(LD)有效,计数器位OFF,当前值为预设值,而不是0。执行复位指令,计数器自动复位.指令格式:CTDCxxx,PV;例:CTDC40,45.1.4定时器和计数器指令应用举例:
LDI0.0//减计数脉冲输入端
LDI0.1//装载输入端
CTDC40,+4//减计数器,设定计数脉冲
//数为4
LDC40//装入计数器触点
=Q0.0//输出触点图减计数程序及时序5.1.5比较指令比较指令是一种比较判断,用于比较两个符号数或无符号数。比较指令的类型有:字节比较、整数比较、双字整数比较和实数比较。比较运算符有:=、>=、<=、>、<和<>(<>表示不等于)。对比较指令可进行LD、A和O的编程。在梯形图中以带参数和运算符号的触点的形式编程,当这两数比较式的结果为真时,该触点闭合。在语句表中使用LD指令进行编程时,当比较式为真时,主机将栈顶置1。使用A/O指令进行编程时,当比较式为真时,则在栈顶执行A/O操作,并将结果放入栈顶。5.1.5比较指令1.字节比较
字节比较用于比较两个字节型整数值IN1和IN2的大小,字节比较是无符号的。比较式可以是LDB、AB或OB后直接加比较运算符构成。如:LDB=、AB<>、OB>=等。整数IN1和IN2的寻址范围:VB、IB、QB、MB、SB、SMB、LB、*VD、*AC、*LD和常数。指令格式例:LDB=VB10,VB12AB<>MB0,MB1OB<=AC1,
1165.1.5比较指令2.整数比较
整数比较用于比较两个一字长整数值IN1和IN2的大小,整数比较是有符号的(整数范围为16#8000和16#7FFF之间)。比较式可以是LDW、AW或OW后直接加比较运算符构成。如:LDW=、AW<>、OW>=等。整数IN1和IN2的寻址范围:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。指令格式例:LDW=VW10,VW12AW<>MW0,MW4OW<=AC2,
11605.1.5比较指令3.双字整数比较双字整数比较用于比较两个双字长整数值IN1和IN2的大小,双字整数比较是有符号的(双字整数范围为16#80000000和16#7FFFFFFF之间)。比较式可以是LDD、AD或OD后直接加比较运算符构成。如:LDD=、AD<>、OD>=等。双字整数IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常数。指令格式例:LDD=VD10,VD14AD<>MD0,
MD8OD<=AC0,
11600004.实数比较
实数比较用于比较两个双字长实数值IN1和IN2的大小,实数比较是有符号的(负实数范围为-1.175495E-38和-3.402823E+38,正实数范围为+1.175495E-38和+3.402823E+38)。比较式可以是LDR、AR或OR后直接加比较运算符构成。如:LDR=、AR<>、OR>=等。实数IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常数。指令格式例:LDR=VD10,VD18AR<>MD0,MD12OR<=AC1,
1160.4785.1.5比较指令5.字符串比较
字符串比较用于比较两个字符串的ASCII码字符IN1和IN2是否相等,比较式可以是LDS、AS或OS后直接加比较运算符=、<>构成。比较指令5.1.5比较指令6.应用举例
控制要求:一自动仓库存放某种货物,最多6000箱,需对所存的货物进出计数。货物多于1000箱,灯L1亮;货物多于5000箱,灯L2亮。其中,L1和L2分别受Q0.0和Q0.1控制,数值1000和5000分别存储在VW20和VW30字存储单元中。5.1.5比较指令LDI0.0//增计数出入端LDI0.1//减计数出入端LDI0.2//复位出入端CTUDC30,+10000//增减计数,设定脉冲数为10000
LDW>=C30,VW20//比较计数器,当前值是否大于等
//于VW20中的值=
Q0.0//输出触点
LDW>=C30,VW30//比较计数器,当前值是否大于等
//于VW30中的值=
Q0.1//输出触点5.1.5比较指令5.2程序控制指令1.有条件结束指令
END,有条件结束指令。指令根据前一个逻辑条件终止主用户程序。条件结束指令用在无条件结束指令(MEND)之前,用户程序必须以无条件结束指令结束主程序。可以在主程序中使用有条件结束指令,但不能在子例行程序或中断例行程序中使用。STEP7-Micro/WIN32自动在主用户程序中增加无条件结束指令(MEND)。两条结束指令在梯形图中以线圈形式编程。STOP,暂停指令。通过暂停指令可将S7-200CPU从RUN模式转换为STOP模式,中止程序执行。如果在中断例行程序中执行STOP指令,中断例行程序立即终止,并忽略全部待执行的中断,继续扫描主程序的剩余部分,在当前扫描结束时从RUN模式转
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《天津中心城区杂草物种的多样性和四十年变化》
- 《CD103~+DC调控NK细胞抗黑色素瘤机制的研究》
- 《基于DSP的故障诊断方法研究》
- 《基于点入渗参数计算土渠床渗漏损失的方法研究》
- 《基于资源循环理论的造纸行业会计确认、计量与信息披露问题研究》
- 《ST辅仁控股股东掏空上市公司案例研究》
- 《基于模型预测的永磁同步电机高速弱磁控制策略研究》
- 2024租用钩机施工合同协议书
- 淮阴工学院《外国文学作品选读》2023-2024学年第一学期期末试卷
- 淮南师范学院《体育舞蹈》2022-2023学年第一学期期末试卷
- 国企应聘面试技巧培训课件
- 服装店规划设计方案
- 单位工程竣工验收自评报告
- 2024领导力培训课程ppt完整版含内容
- 《对外贸易管制概述》课件
- 20以内加减法口算题(10000道)(A4直接打印-每页100题)
- 穷爸爸富爸爸
- 税务会计的年终总结报告
- 宿舍设计问题现状分析报告
- 高铁乘务调研报告
- 虚拟人运动仿真研究的中期报告
评论
0/150
提交评论