




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,第4章S7-200PLC的指令系统,S7-200系列PLC主机中有两类指令集:IEC11313指令集:是国际电工委员会制定的PLC国际标准11313ProgrammingLanguage(编程语言)中推荐的标准语言,只能用梯形图(LAD)和功能块图(FBD)编程语言编程,通常指令执行时间较长。SIMATIC指令集:是西门子公司为S7-200PLC设计的编程语言,该指令通常执行时间短,而且可以用梯形图(LAD)、功能块图(FBD)和语句表(STL)三种编程语言。,.,4.1S7-200PLC编程基础4.1.1编程语言,梯形图(LAD)语句表(STL)功能块图(FBD),.,4.2.1基本逻辑指令,主要是与位相关的输入输出及触点的简单连接。基本逻辑指令在语句表语言中是指对位存储单元的简单逻辑运算,在梯形图中是指对触点的简单连接和对标准线圈的输出。,.,4.2.1基本逻辑指令,主要包括:标准触点指令正负跳变指令置位指令复位指令等,.,4.2.1基本逻辑指令,1.标准触点指令标准触点指令有LD、LDN、A、AN、O、ON、NOT、=指令(语句表)。这些指令对存储器位在逻辑堆栈中进行操作。由于堆栈存储单元数的限制,语句表中A、O、AN、ON指令最多可以连用有限次。同样,梯形图中,最多一次串联或并联的触点数也有一定限制,功能框图中AND和OR指令盒中输入的个数也不能超过这个范围标准触点指令中如果有操作数,则为BOOL型,操作数的编址范围可以是:I、Q、M、SM、T、C、S、VL。,.,4.2.1基本逻辑指令,(1)装入常开指令:LD,在梯形图中,每个从左母线开始的单一逻辑行、每个程序块(逻辑梯级)的开始、指令盒的输入端都必须使用LD和LDN这两条指令。以常开触点开始时用LD指令,以常闭触点开始时则用LDN指令。本指令对各类内部编程元件的常开触点都适用。指令格式:LDbit;例:LDI0.2,(2)装入常闭指令:LDN,每个以常闭触点开始的逻辑行都使用这一指令,各类内部编程元件的常闭触点都适用。指令格式:LDNbit;例:LDNI0.2,.,4.2.1基本逻辑指令,(3)与常开指令:A,即串联一个常开触点。由于堆栈存储器数量的限制,梯形图中,一次最多可以有七个常开触点串联。指令格式:Abit;例:AM2.4,(4)与常闭指令:AN,即在梯形图中串联一个常闭触点。在一个逻辑行中,最多可以连用六次。指令格式:ANbit;例:ANM2.4,(5)或常开指令:O,即并联一个常开触点。在梯形图中,一次最多可以有七个触点相互并联。指令格式:Obit;例:OM2.6,.,4.2.1基本逻辑指令,(6)或常闭指令:ON,即并联一个常闭触点。在梯形图中,一次最多可以连用六次。指令格式:ONbit;例:ONM2.6,(7)输出指令:=,将逻辑运算结果输出到指定存储器位或输出继电器对应的映像寄存器位,以驱动本位线圈。指令格式:=bit;例:=Q2.6,在语句表中,LD、LDN、A、AN、O、ON、这几条指令的执行对逻辑堆栈的影响分别如表5-7、表5-8及其后的说明。,.,4.2.1基本逻辑指令,指令LDI0.1(假设I0.1=1)执行情况如表5-7所示。如果是LDN指令,则将操作数取反后再装入栈顶,其他操作相同。,表5-7LDI0.1的执行,原值S0串行下移一个单元,其余以此类推。,原S8自动丢失。,.,4.2.1基本逻辑指令,指令AI0.2(假设I0.2=0)执行情况如表5-8所示。如果是AN指令,则将操作数取反后再和栈顶值相与,结果放回栈顶。即:1*1=1S0,表5-8指令AI0.2的执行,.,4.2.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/,图5-9标准触点LAD和STL例,.,4.2.1基本逻辑指令,程序执行的时序图如图5-11所示。,图5-11时序图,由于取非指令NOT缘故,Q0.0与Q0.3反相,.,4.2.1基本逻辑指令,2.正负跳变指令正负跳变指令在梯形图中以触点形式使用。用于检测脉冲的正跳变(上升沿)或负跳变(下降沿),利用跳变让能流接通一个扫描周期,即可以产生一个扫描周期长度的微分脉冲,常用此脉冲触发内部继电器线圈。(1)正跳变指令:EU,正跳变触点检测到脉冲的每一次正跳变后,产生一个微分脉冲。指令格式:EU(无操作数),.,4.2.1基本逻辑指令,(2)负跳变指令:ED,负跳变触点检测到脉冲的每一次负跳变后,产生一个微分脉冲。指令格式:ED(无操作数)正、负跳变触点指令编程举例如图5-12所示。,图5-12正、负跳变触点指令编程,一个扫描周期长度,.,4.2.1基本逻辑指令,3.置位和复位指令置位即置1,复位即置0。置位和复位指令可以将位存储区的某一位开始的一个或多个(最多可达255个)同类存储器位置1或置0。这两条指令在使用时需指明三点:操作性质、开始位和位的数量。各操作数类型及范围如表5-9所示。,表5-9置位和复位指令操作数类型及范围,.,4.2.1基本逻辑指令,(1)置位指令:S,将位存储区的指定位(位bit)开始的N个同类存储器位置位。指令格式:Sbit,N;例:SQ0.0,1,(2)服位指令:R,将位存储区的指定位(位bit)开始的N个同类存储器位复位。当用复位指令时,如果是对定时器T位或计数器C位进行复位,则定时器或计数器位被复位,同时,定时器或计数器的当前值被清零。指令格式:Rbit,N;例:RQ0.2,3,.,4.2.1基本逻辑指令,在语句表(STL)中,当栈顶值为1时,才能执行置位指令S或复位指令R。置位后即使栈顶值变为0,仍保持置位;复位后即使栈顶值变为0,仍保持复位。可见这两条指令均有“记忆”功能。置位和复位指令应用编程序举例如图5-13所示。,图5-13置位复位指令,.,4.2.2立即操作指令,立即指令允许对输入和输出点进行快速和直接存取。当用立即指令读取输入点的状态时,相应的输入映像寄存器中的值并未发生更新;用立即指令访问输出点时,访问的同时,相应的输出寄存器的内容也被刷新。只有输入继电器I和输出继电器Q可以使用立即指令。,.,4.2.2立即操作指令,1.立即触点指令在每个标准触点指令的后面加“I”。指令执行时,立即读取物理输入点的值,但是不刷新相应映像寄存器的值。,这类指令包括:LDI、LDNI、AI、ANI、OI和ONI。下面以LDI指令为例。指令格式:LDIbit(bit只能是I类型)例:LDII0.2,.,4.2.2立即操作指令,2.立即输出指令3.立即置位指令,=I,立即输出指令。用立即指令访问输出点时,把栈顶值立即复制到指令所指定的物理输出点,同时,相应的输出映像寄存器的内容也被刷新。指令格式:=Ibit(bit只能是Q类型)例:=IQ0.2,SI,立即置位指令。用立即置位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即置位,同时,相应的输出映像寄存器的内容也被刷新。指令格式:SIbit,N;例:SIQ0.0,2,.,4.2.2立即操作指令,4.立即复位指令,RI,立即复位指令。用立即复位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即复位,同时,相应的输出映像寄存器的内容也被刷新。各操作数类型及范围如表5-9所示。指令格式:RIbit,N;例:RIQ0.0,1,表5-10立即置位和立即复位指令操作数类型及范围,.,4.2.2立即操作指令,应用举例:,LDI0.0/装入常开触点=Q0.0/输出触点,非立即=IQ0.1/立即输出触点SIQ0.2,1/从Q0.2开始的1个触点被立即置1LDII0.0/立即输入触点指令=Q0.3/输出触点,非立即,图5-14立即指令程序,.,4.2.2立即操作指令,图5-15立即指令时序图,.,4.2.3复杂逻辑指令,基本逻辑指令涉及可编程元件的触点和线圈的简单连接,不能表达在梯形图中触点的复杂连接结构。复杂逻辑指令主要用来描述对触点进行的复杂连接,同时,它们对逻辑堆栈也可以实现非常复杂的操作。本类指令包括:ALD、OLD、LPS、LRD、LPP和LDS,这些指令中除LDS外,其余指令都无操作数。,.,4.2.3复杂逻辑指令,1.栈装载与指令2.栈装载或指令,OLD,栈装载或指令(或块)。用于将串联电路块进行并联连接。执行OLD指令,将堆栈中的第一级和第二级的值进行逻辑“或”操作,结果置于栈顶(堆栈第一级),并将堆栈中其余各级的内容依次上弹一级。,ALD,栈装载与指令(与块)。用于将并联电路块进行串联连接。执行ALD指令,将堆栈中的第一级和第二级的值进行逻辑“与”操作,结果置于栈顶(堆栈第一级),并将堆栈中的第三级至第九级的值依次上弹一级。,.,4.2.3复杂逻辑指令,栈装载与指令和栈装载或指令的操作过程如图5-16所示,图中“x”表示不确定值。,图5-16栈装载与指令和栈装载或指令的操作过程,.,4.2.3复杂逻辑指令,3.逻辑推入栈指令4.逻辑读栈指令,LPS,逻辑推入栈指令(分支或主控指令)。用于复制栈顶的值并将这个值推入栈顶,原堆栈中各级栈值依次下压一级。在梯形图中的分支结构中,用于生成一条新的母线,左侧为主控逻辑块时,第一个完整的从逻辑行从此处开始。,LRD,逻辑读栈指令。把堆栈中第二级的值复制到栈顶。堆栈没有推入栈或弹出栈操作,但原栈顶值被新的复制值取代。在梯形图中的分支结构中,当左侧为主控逻辑块时,开始第二个和后边更多的从逻辑块。应注意,LPS后第一个和最后一个从逻辑块不用本指令。,.,4.2.3复杂逻辑指令,5.逻辑栈弹出指令6.装入堆栈指令,LPP,逻辑栈弹出指令(分支结束或主控复位指令)。堆栈作弹出栈操作,将栈顶值弹出,原堆栈中各级栈值依次上弹一级,堆栈第二级的值成为新的栈顶值。在梯形图中的分支结构中,用于将LPS指令生成的一条新母线进行恢复。应注意,LPS与LPP必须配对使用。,LDS,装入堆栈指令。复制堆栈中的第级的值到栈顶。原栈中各级栈值依次下压一级,栈底值丢失。,LPS、LRD、LPP、LDS指令操作过程如图5-17所示。,.,4.2.3复杂逻辑指令,图5-17LPS、LRD、LPP、LDS指令的操作过程,.,4.2.3复杂逻辑指令,应用举例:,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/输出触点,图5-18复杂逻辑指令的应用,.,4.2.4取非触点指令和空操作指令,1.取非触点指令,NOT,取非触点指令。用来改变能流的状态。能流到达取非触点时,能流就停止;能流未到达取非触点时,能流就通过。在语句表中,取非触点指令对堆栈的栈顶作取反操作,改变栈顶值。栈顶值由0变为1,或者由1变为0。取非触点指令无操作数。,图5-19取非触点指令编程,.,4.2.4取非触点指令和空操作指令,2.空操作指令,NOP,空操做指令。使能输入有效时,执行空操作指令。空操做指令不影响用户程序的执行,操作数N是标号,是一个0225的常数。,LDI0.0/使能输入NOP30/空操作指令,标号为30,图5-20空操作指令编程,.,4.2.5定时器和计数器指令,1.定时器指令,定时器是由集成电路构成,是PLC中的重要硬件编程元件。定时器编程时提前输入时间预设值,在运行时当定时器的输入条件满足时开始计时,当前值从0开始按一定的时间单位增加,当定时器的当前值达到预设值时,定时器发生动作,发出中断请求,以便PLC响应而作出相应的动作。此时它对应的常开触点闭合,常闭触点断开。系统提供3种定时指令:TON(通电延时)、TONR(有记忆通电延时)和TOF(断电延时)。S7-200定时器的分辨率(时间增量/时间单位/分辨率)有3个等级:1ms、10ms和100ms,分辨率等级和定时器号关系如表5-11所示。,.,4.2.5定时器和计数器指令,表5-11定时器号和分辨率,定时时间的计算:T=PTS(T为实际定时时间,PT为预设值,S为分辨率等级)例如:TON指令用定时器T33,预设值为125,则实际定时时间T=12510=1250ms,.,4.2.5定时器和计数器指令,定时器指令操作数有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。,.,4.2.5定时器和计数器指令,(1)接通延时定时器指令:TON,用于单一间隔定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为OFF,当前值从0开始计数时间,当前值达到预设值时,定时器位为ON,当前值连续计数到32767。使能输入断开,定时器自动复位,即定时器位OFF,当前值为0。,填“计定时器号”,如:T35,填“预设值”,如:100,指令格式:TONTxxx,PT例:TONT120,8,.,4.2.5定时器和计数器指令,(2)有记忆接通延时定时器指令:TONR,用于对许多间隔的累计定时。上电周期或首次扫描,定时器位OFF,当前值保持。使能输入接通时,定时器位为OFF,当前值从0开始累计计数时间。使能输入断开,定时器位和当前值保持最后状态。使能输入再次接通时,当前值从上次的保持值继续计数,当累计当前值达到预设值时,定时器位ON,当前值连续计数到32767。,填“计定时器号”,如:T31,填“预设值”,如:100,TONR定时器只能用复位指令进行复位操作,使当前值清零。指令格式:TONRTxxx,PT;例:TONRT20,63,.,4.2.5定时器和计数器指令,(3)断开延时定时器指令:TOF,用于断开后的单一间隔定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为ON,当前值为0。当使能输入由接通到断开时,定时器开始计数,当前值达到预设值时,定时器位OFF,当前值等于预设值,停止计数。TOF复位后,如果使能输入再有从ON到OFF的负跳变,则可实现再次启动。,填“计定时器号”,如:T35,填“预设值”,如:100,指令格式:TOFTxxx,PT;例TOFT35,6,.,4.2.5定时器和计数器指令,LDI0.0/使能输入TONT35,+4/通电延时定时器,延时时间为40msLDI0.0/使能输入TONRT2.+10/有记忆通电延时定时器,/延时时间为1000msLDI0.0/使能输入TOFT36,+3/断电延时定时器,延时时间为30ms,(4)应用举例:,图5-21定时器特性,T35为通电延时定时器,T2为有记忆通电延时定时器,T36为断电延时定时器,.,4.2.5定时器和计数器指令,上述梯形图程序中输入输出执行时序关系如图5-22所示。,图5-22定时器时序,.,4.2.5定时器和计数器指令,(5)应用定时器指令应注意的几个问题,不能把一个定时器号同时用作断开延时定时器(TOF)和接通延时定时器(TON)。使用复位(R)指令对定时器复位后,定时器位位“0”,定时器当前值为“0”。有记忆接通延时定时器(TONR)只能通过复位指令进行复位。对于断开延时定时器(TOF),需要输入端有一个负跳变(由on到off)的输入信号启动计时。不同精度的定时器,它们当前值的刷新周期是不同的,具体情况如下:,.,4.2.5定时器和计数器指令,1)1ms分辨率定时器1ms分辨率定时器启动后,定时器对1ms的时间间隔(时基信号)进行计时。定时器当前值每隔1ms刷新一次,在一个扫描周期中要刷新多次,而不和扫描周期同步。2)10ms分辨率定时器10ms分辨率定时器启动后,定时器对10ms的时间间隔进行计时。程序执行时,在每次扫描周期开始对10ms定时器刷新,在一个扫描周期内定时器当前值保持不变。3)100ms分辨率定时器100ms分辨率定时器启动后,定时器对100ms的时间间隔进行计时。只有在定时器指令执行时,100ms定时器的当前值才被刷新。,.,4.2.5定时器和计数器指令,举例说明:在图5-23a中,T32定时器1ms更新一次。当定时器当前值100在图示A处刷新,Q0.0可以接通一个扫描周期,若在其他位置刷新,Q0.0则用永远不会接通。而在A处刷新的概率是很小的。若改为图5-23b,就可保证当定时器当前值达到设定值时,Q0.0会接通一个扫描周期。图5-23a同样不适合10ms分辨率定时器。,图5-231ms定时器编程,.,4.2.5定时器和计数器指令,在子程序和中断程序中不易使用100ms定时器。子程序和中断程序不是每个扫描周期都执行的,那么在子程序和中断程序中的100ms定时器的当前值就不能及时刷新,造成时基脉冲丢失,致使计时失准;在主程序中,不能重复使用同一个100ms的定时器号,否则该定时器指令在一个扫描周期中多次被执行,定时器的当前值在一个扫描周期中多次被刷新。这样,定时器就会多计了时基脉冲,同样造成计时失准。因而,100ms定时器只能用于每个扫描周期内同一定时器指令执行一次,且仅执行一次的场合。100ms定时器的编程例子如图5-24a所示。,a)b),图5-24100ms定时器的应用,.,4.2.5定时器和计数器指令,2.计数器指令,计数器用来累计输入脉冲的次数。计数器也是由集成电路构成,是应用非常广泛的编程元件,经常用来对产品进行计数。计数器与定时器的结构和使用基本相似,编程时输入它的预设值PV(计数的次数),计数器累计它的脉冲输入端电位上升沿(正跳变)个数,当计数器达到预设值PV时,发出中断请求信号,以便PLC作出相应的处理。计数器指令有3种:增计数CTU、增减计数CTUD和减计数CTD。指令操作数有4方面:编号、预设值、脉冲输入和复位输入。,.,4.2.5定时器和计数器指令,1)编号:用计数器名称和它的常数编号(最大255)来表示,即Cxxx,如:C6。C6不仅仅是计数器的编号,它还包含两方面的变量信息:计数器位和计数器当前值。计数器位:表示计数器是否发生动作的状态,当计数器的当前值达到预设值PV时,该位被置为“1”。计数器当前值:存储计数器当前所累计的脉冲个数,它用16位符号整数(INT)来表示,故最大计数值为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.2.5定时器和计数器指令,4)复位输入:与脉冲输入同类型和范围。(1)增计数器指令:CTU,首次扫描,定时器位OFF,当前值为0。在增计数器的计数输入端(CU)脉冲输入的每个上升沿,计数器计数1次,当前值增加1个单位,当前值达到预设值时,计数器位ON,当前值继续计数到32767停止计数。复位输入有效或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年呼伦贝尔农垦谢尔塔拉特泥河哈达图浩特陶海农牧场招聘172人笔试历年难、易点深度预测模拟试卷带答案详解
- 2025年禁毒法测试题及答案
- 2025年北京警察招录考试(申论)历年参考题库含答案详解
- 合成孔径雷达成像关键算法剖析与前沿探索
- 基于2025年的跨境电商海外营销中心用户体验优化报告
- 内蒙古呼伦贝尔农垦牙克石、莫拐、免渡河农牧场有限公司招聘笔试题库及答案详解(名校卷)
- 2025年教师招聘之《幼儿教师招聘》通关练习题库包附答案详解(考试直接用)
- 教师招聘之《小学教师招聘》提分评估复习附完整答案详解(考点梳理)
- 2025内蒙古呼伦贝尔农垦莫拐农牧场有限公司招聘16人备考及参考答案详解
- 教师招聘之《小学教师招聘》通关模拟题库及答案详解(真题汇编)
- 新媒体运营实务完整全套课件
- 桩基础平法施工图(平法施工图识读)
- GB/T 9113-2010整体钢制管法兰
- GB/T 23338-2018内燃机增压空气冷却器技术条件
- 海姆立克急救法完整版本课件
- 国家地表水环境质量监测网采测分离实施方案课件
- 控压钻井技术及实践培训讲义工艺课件
- 厚度仪点检表
- 北京市水利工程维修养护定额
- 自然拼读法在小学英语教学中的应用的实践研究
- 无领导小组面试评分表模板
评论
0/150
提交评论