版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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.65.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方式转换至STOP方式。STOP指令在梯形图中以线圈方式编程。指令不含操作数。指令的执行不思索对特殊标志存放器位和能流的影响。2.暂停指令3.监视定时器复位指令为了保证系统可靠运转,PLC内部设置了系统监视定时器〔WDT〕,用于监视扫描周期能否超时。WDT定时器有一设定值〔100~300ms〕,系统正常任务时,所需扫描时间小于WDT的设定值,WDT定时器及时复位。系统缺点情况下,扫描时间大于WDT设定值,该定时器不能及时复位,那么报警并停顿CPU运转,同时复位输出。这种缺点称为WDT缺点。系统正常任务时,有时会由于用户程序过长或运用中断指令、循环指令使扫描时间过长而超越WDT定时器的设定值,为防止这种情况下WDT动作,可运用监视定时器复位指令〔WDR〕,使WDT定时器复位。WDR,监视定时器复位指令。指令重新触发S7-200CPU的系统监视程序定时器〔WDT〕,扩展扫描允许运用的时间,而不会出现监视程序错误。WDR指令重新触发WDT定时器,可以添加一次扫描时间。5.2程序控制指令程序实例:LDSM5.0//使能输入端OSM4.3//进展或操作OI0.0//SM5.0、SM4.3、I0.0进展或操作STOP//使能有效就暂停
LDI0.1//使能输入端END//使能有效就终了
LDM0.3//使能输入端WDR//使能有效就将看门狗定时器复位5.2程序控制指令4.跳转与标号指令跳转操作可以使PLC编程的灵敏性大大提高,使主机可根据不同条件的判别,选择不同的程序段执行程序。JMP,跳转指令。使能输入有效时,使程序跳转到标号〔n〕处执行。执行跳转指令时,逻辑堆栈栈顶值总是1。LBL,标号指令。标志指令跳转的目的地的位置〔n〕。操作数n为0~255。5.2程序控制指令指令的运用阐明:①跳转指令和标号指令必需配合运用,而且只能运用在同一程序块中,不能在不同的程序块间相互跳转;②执行跳转后,被跳过程序段中的各元器件的形状各有不同:Q、M、S、C等元器件的位坚持跳转前的形状;计数器C停顿计数,当前值存储器坚持跳转前的计数值;对定时器来说,因刷新方式不同而任务形状不同。在跳转期间,分辩率为1ms和10ms的定时器会不断坚持跳转前的任务形状,原来任务的继续任务,到设定值后其位的形状也会改动,输出触点动作,其当前值存储器不断累计到最大值32767才停顿。对分辨率为100ms的定时器来说,跳转期间停顿任务,但不会复位,存储器里的值为跳转时的值,跳转终了后,假设输入条件允许,可继续计时,但已失去了准确计时的意义。所以在跳转段里的定时器要慎用。P50-例3-225.2程序控制指令5.循环指令循环指令的引入为处理反复执行一样功能的程序段提供了极大方便,并且优化了程序构造。循环指令有两条:FOR和NEXT。FOR,循环开场指令。用来标志循环体的开场。NEXT,循环终了指令。用来标志循环体的终了。无操作数。FOR和NEXT之间的程序段称为循环体,每执行一次循环体,当前计数值增1,并且将其结果同终值进展比较,假设大于终值,那么终止循环。在运用时必需给FOR指令指定当前循环计数〔INDX〕、初值〔INIT〕和终值〔FINAL〕。指令格式:FORINDX,INIT,FINAL…NEXT5.2程序控制指令循环指令运用阐明:①FOR、NEXT指令必需成对运用;②FOR和NEXT可以循环嵌套,嵌套最多为8层,但各个嵌套之间不可有交叉景象;③每次使能输入〔EN〕重新有效时,指令将自动复位各参数,初始值INIT被传送到指针INDX中;④初值大于终值时,循环体不被执行。P51例3-235.2程序控制指令6.子程序调用与前往指令
与子程序有关的操作有:建立子程序、子程序的调用和前往。建立子程序是经过编程软件来完成的。可用编程软件“编辑〞菜单中的“插入〞选项,选择“子程序〞,以建立或插入一个新的子程序,同时,在指令树窗口可以看到新建的子程序图标,默许的程序名是SBR_N,编号N从0开场按递增顺序生成,也可以在图标上直接更改子程序的程序名,把它变为更能描画该子程序功能的名字。在指令树窗口双击子程序的图标就可以进入子程序,并对它进展编辑。〔1〕建立子程序5.2程序控制指令
CALL,子程序调用指令。在使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,也可以不带参数。它在梯形图中以指令盒的方式编程。指令格式:CALLSBR_0〔2〕子程序调用子程序中可以有参变量,带参数的子程序调用扩展了子程序的运用范围,添加了调用的灵敏性。子程序的调用过程假设存在数据的传送,那么在调用指令中应包含相应的参数。子程序的参数在子程序的部分变量表中加以定义。参数包含的信息有地址、变量名〔符号〕、变量类型和数据类型。子程序最多可以传送16个参数。5.2程序控制指令
①输入子程序参数IN。IN可以是直接寻址数据〔如:VB10〕、间接寻址数据〔如:*AC1〕、常数〔如:16#1234〕或地址〔如:&VB100〕;②输入/输出子程序参数IN/OUT。调用子程序时,将指定参数位置的值传到子程序,子程序前往时,从子程序得到的结果被前往到指定参数的地址。参数可采用直接寻址和间接寻址,但常数和地址不允许作为输入/输出参数;③输出子程序参数OUT。将从子程序来的结果前往到指定参数的位置。输出参数可以采用直接寻址和间接寻址,但不可以是常数或地址;④暂时变量TEMP。只能在子程序内部暂时存储数据,不能用来传送参数。部分变量表中的变量类型区定义的变量有:5.2程序控制指令①子程序终了要加上无条件前往指令RET。CRET指令只能用于子程序中;②假设在子程序的内部又对另一个程序执行调用指令,那么这种调用称为子程序的嵌套。子程序嵌套的深度最多为8级;③当一个子程序被调用时,系统自动保管当前的逻辑堆栈数据,并把栈顶置1,堆栈中的其它位置设为0,子程序占有控制权。子程序执行终了,经过前往指令自动恢复原来的逻辑堆栈值,调用程序又重新获得控制权;④累加器可在调用程序和被调用子程序之间自在传送,所以累加器的值在子程序调用时既不保管也不恢复。④在语句表中调用带参数的子程序时,参数必需按一定的顺序陈列,输入参数在最前面,其次是输入/输出参数,最后是输出参数。子程序调用运用阐明:5.2程序控制指令5.2程序控制指令〔3〕子程序前往CRET,子程序条件前往指令。在使能输入有效时,终了子程序的执行,前往主程序中〔指向子程序调用的下一条指令〕。梯形图中以线圈的方式编程,指令不带参数;RET,子程序无条件前往指令。指令格式:CRET〔条件前往〕RET〔无条件前往〕5.3PLC的编程与运用5.3.1梯形图的编程规那么1.梯形图概述梯形图是运用的最多的图形编程言语,被称为PLC的第一编程言语。梯形图与电器控制系统的电路图很类似,具有直观易懂的优点,很容易被工厂电气技术人员掌握,特别适用于开关量逻辑控制〔数字量控制〕。梯形图是用梯形图的图形符号来描画程序的一种程序设计言语。这种程序设计言语采用因果关系来描画事件发生的条件和结果,每个梯级是一个因果关系,梯级中描画事件发生的条件表示在左面,事件发生的结果表示在后面。软继电器PLC梯形图中的某些编程元件沿用了继电器这一称号,如输入继电器,输出继电器,内部辅助继电器等,但是它们不是真实的物理继电器,而是一些存储单元〔软继电器〕,每一个软继电器与PLC存储器中映像存放器的一个存储单元相对应。该存储单元假设为“1〞形状,那么表示梯形图中对应软继电器的线圈“通电〞,其常开触点接通,常闭触点断开,称这种形状是该软继电器的“1〞或“ON〞形状。运用中也常将这些软继电器称为编程元件。梯形图程序设计中的四个根本概念:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全文明施工工程施工现场易燃易爆品库房防爆灯安装施工作业指导书
- 2026四川长虹电子科技有限公司招聘主管电路设计工程师岗位测试笔试历年典型考点题库附带答案详解
- 2026四川宜宾市高县锦途劳务派遣有限责任公司招聘劳务派遣人员人员笔试历年备考题库附带答案详解
- 2026四川九华光子通信技术有限公司招聘质量工程师岗测试笔试历年备考题库附带答案详解
- 2026厦门航空安全员招聘笔试历年典型考点题库附带答案详解
- 2026年中级经济师工商管理知识精
- 2026中铁五局校园招聘正式开启笔试历年备考题库附带答案详解
- 2026中国五环工程有限公司春季校园暑期实习生招聘笔试历年常考点试题专练附带答案详解
- 2026上半年四川凉山州会理市裕粮粮油有限公司招聘笔试考试总排名及笔试历年备考题库附带答案详解
- 2025湖南岳阳铁水集运煤炭储备公司招聘6人笔试历年典型考点题库附带答案详解
- 2025年吉林省中考数学试卷 (含答案解析)
- 危大工程巡视检查记录表 (样表)附危大工程安全监管及检查要点
- 肾囊肿穿刺硬化术后护理
- 煤矿矿用各种传感器
- 爱永在混声四声部合唱简谱
- 康复评定技术学课程大纲与教学目标
- 严肃换届纪律培训
- 农村宅基地永久性转让合同书5篇
- 《轴承加工工艺流程》课件
- 机械原理考试模拟题(含答案)
- 选择性必修2《法律与生活》专练100题(1)(原卷版)
评论
0/150
提交评论