第4章PLC的基本指令2013_第1页
第4章PLC的基本指令2013_第2页
第4章PLC的基本指令2013_第3页
第4章PLC的基本指令2013_第4页
第4章PLC的基本指令2013_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

PLC程序设计基础及基本指令第4章4.1PLC的编程语言及程序结构24.1.1PLC的编程语言S7-200的指令集:

SIMATIC和IEC61131-3。几种编程语言梯形图(LadderDiagram,LAD)、语句表(StatementList,STL)功能块图(FunctionBlockDiagram,FBD)顺序功能图(SequentialFunctionChart,SFC)在S7-200PLC中,梯形图、语句表和功能块图可以转换。IEC1131-3指令集:

是国际电工委员会(IEC)制定的PLC国际标准1131-3ProgrammingLanguage(编程语言)中推荐的标准语言。

特点:

1.支持系统完全数据类型检查。

2.只能用梯形图(LAD)和功能块图(FBD)编程语言编程。

3.指令执行时间较长。34.1PLC的编程语言及程序结构SIMATIC指令集:

由西门子公司设计。特点:1.大多数指令符合IEC1131-3标准;2.不支持系统完全数据类型检查;3.可以用梯形图(LAD)、功能块图(FBD)和语句表

(STL)编程语言编程;4.指令执行时间较短。44.1PLC的编程语言及程序结构1.梯形图(LAD)梯形图(LAD)与电气控制电路图相呼应。沿用了继电器、触点、串并联等术语简化了图形符号增加了特殊功能的指令信号流向清楚、简单、直观、易懂4.1PLC的编程语言及程序结构2.功能块图(FBD)

沿用了半导体逻辑电路的逻辑框图的表达方式4.1PLC的编程语言及程序结构3.语句表(STL)语句表(STL)是用助记符来编程。它类似于计算机的汇编语言。编程简单直观、易懂4.1PLC的编程语言及程序结构有条件地相互转换4.1PLC的编程语言及程序结构4.1.2S7-200PLC的程序结构S7-200PLC的程序由三部分构成:

用户程序、数据块和参数块。用户程序包括:

主程序、子程序和中断程序。数据块数据块为可选部分,它主要用于存放控制程序运行所需的数据。参数块参数块也为可选部分,用于存放CPU组态数据。94.1PLC的编程语言及程序结构程序结构图

主程序(程序的主体)子程序(可选)中断程序(可选)在CPU的每个扫描周期,主程序的指令按顺序执行一次。合理优化程序结构,可减少扫描时间。构成

4.1PLC的编程语言及程序结构程序的结构或组织块(OB)11S7-200PLC基本指令4.2位逻辑指令

1.逻辑取及输出指令指令LD(Load):取指令,逻辑运算开始的常开触点与左母线的连接。LDN(LoadNot):取反指令,逻辑运算开始的常闭触点与左母线的连接。=(Out):线圈驱动指令即输出指令。使用说明:P98

12使用说明LD、LDN指令用于与左母线相连的触点,也可以与OLD、ALD指令配合完成块电路的编程。=指令用于输出映像寄存器Q、位存储器M和顺序控制继电器S等,但不能用于输入映像寄存器I。并联的=指令可以连续使用任意次。什么是并联输出?在同一程序中不要使用双线圈输出,即同一个元器件在同一程序中只使用一次“=”指令。什么是双线圈输出?LD、LDN的操作数为:I、Q、M、SM、T、C、V、S和L;=的操作数为:Q、M、SM、V、S和L。

S7-200PLC基本指令132.触点串联指令指令A(And):“与”指令。用于单个常开触点的串联连接。AN(AndNot):“与反”指令。用于单个常闭触点的串联连接。用法

S7-200PLC基本指令连续输出14使用说明

A、AN是单个触点串联连接指令,可连续使用。但在用梯形图编程时会受到打印宽度和屏幕显示的限制,S7-200PLC的编程软件中规定的串联触点使用上限为11个。对连续输出电路,可以反复使用“=”指令,但次序必须正确,不然就不能连续使用“=”指令编程了。什么是连续输出电路?下图所示的电路就不属于连续输出电路A、AN指令的操作数为:I、Q、M、SM、T、C、V、S和L。S7-200PLC基本指令153.触点并联指令指令O(Or):“或”指令。用于单个常开触点的并联连接。ON(OrNot):“或反”指令。用于单个常闭触点的并联连接。用法使用说明单个触点的O、ON指令可连续使用。O、ON指令的操作数为:I、Q、M、SM、T、C、V、S和L。S7-200PLC基本指令16174.置位/复位指令指令用法S7-200PLC基本指令18使用说明(1)对于位元件来说,一旦被置位就保持接通状态,直到对它复位。而一旦被复位就保持断开状态,直到对它置位。(2)由于PLC是扫描工作方式,故写在后面的指令有优先权。在图4-7中,当I0.0和I0.1同时为1时,R指令写在后,因而有优先权,则Q0.0为0。(3)S、R指令必须成对使用,而且使用的器件号应相同,它可将位存储区从某一位开始的N个同类存储器位置1或清0。N=1~255,N可以是常数,在图4-7中,N=1,也可以是VB、IB、QB、MB、SMB、SB、LB、AC、*VD、*AC或*LD中的数据,一般情况下使用常数。(4)S、R指令的操作数为:Q、M、SM、V、S和L。S7-200PLC基本指令195.正跳变和负跳变检测指令指令EU(EdgeUp):触点的输入信号由0变为1时,能流通过一个扫描周期的时间。。ED(EdgeDown):触点的输入信号由1变为0时,能流通过一个扫描周期的时间。用法没有操作数S7-200PLC基本指令正跳变触点一个扫描周期的宽度正跳变:PositiveTransition负跳变:NegativeTransition20举例S7-200PLC基本指令一个扫描周期的宽度216.立即指令什么是立即指令?有何用途?对输入对输出指令S7-200PLC基本指令22S7-200PLC基本指令23■立即触点指令:CPU不等待输入采样的时刻,绕过输入映象寄存器,直接读入物理输入点的状态作为程序执行期间的数据依据。不对输入映象寄存器作刷新处理。■立即输出指令:直接把结果传送到物理输出点,以驱动实际输出。不等待程序执行阶段结束后,转入输出刷新阶段时才把结果传送到物理输出点。同时将结果也写入输出映象寄存器。■为了加快输入输出响应速度S7-200PLC基本指令24举例S7-200PLC基本指令257.取非指令取非指令为NOT。它将复杂逻辑结果取反,为用户使用反逻辑提供方便,其实质是改变最新的堆栈顶的逻辑值。该指令无操作数。

STL形式:NOTLAD形式:—|NOT|—8.空操作指令空操作指令不影响用户程序的执行,起增加程序容量的作用。该指令操作数为标号N,N=0~255。STL形式:NOPNLAD形式:举例:S7-200PLC基本指令264.3逻辑堆栈指令什么是堆栈?其特点是什么?S7-200PLC的逻辑堆栈结构S7-200PLC基本指令27

1.OLD(OrLoad):栈装载“或”指令

串联电路块的并联连接指令,用于串联电路块与上面电路的并联连接。什么是串联电路块?两个及两个以上触点串联形成的支路称串联电路块。用法使用说明

(1)除了在网络块逻辑运算开始使用LD和LDN指令外,在串联电路块的

开始也要使用LD和LDN指令。

(2)每完成一次串联电路块的并联连接都要使用OLD指令

(3)OLD指令无操作数,相当于电路中的连接导线。S7-200PLC基本指令282.ALD(AndLoad):栈装载“与”指令并联电路块的串联连接指令。用于并联电路块与它前面电路的串联连接。什么是并联电路块?两个及两个以上支路并联形成的电路称并联电路块。用法使用说明

(1)在并联电路块的开始要使用LD和LDN指令。

(2)每完成一次并联电路块的串联连接都要使用ALD指令

(3)ALD指令无操作数,相当于电路中的连接导线。S7-200PLC基本指令29S7-200PLC基本指令LDNI1.4AI0.3LDI3.2ANT16OLDLDNC24ONI1.2ALDOQ3.4=Q5.330试写出下面梯形图的语句表程序S7-200PLC基本指令LDI0.0ANQ0.1OI0.2AI0.1LDNI0.3AM0.1OLD=Q0.3AC2SQ0.2,1LDI0.5OM0.2ALD=M0.4313.逻辑入栈、读栈和出栈指令指令(1)LPS(LogicPush):逻辑入栈指令(分支电路开始指令)。(2)LRD(LogicRead):逻辑读栈指令。(3)LPP(LogicPop):逻辑出栈指令(分支电路结束指令)。S7-200PLC基本指令323.逻辑入栈、读栈和出栈指令使用说明

(1)由于S7-200PLC只有一个9位的堆栈空间,因此,LPS和LPP指令对

连续使用时应少于9次。

(2)LPS和LLP指令必须成对使用,它们之间可以使用LRD指令。

(3)LPS、LRD和LLP指令无操作数。S7-200PLC基本指令33LPS/LRD/LPP举例例1S7-200PLC基本指令34LPS/LRD/LPP举例例2S7-200PLC基本指令35LPS/LRD/LPP举例例3S7-200PLC基本指令364.4定时器与计数器指令1.定时器指令几个基本概念种类:通电延时TON,有记忆通电延时TONR,断电延时TOF。分辩率与定时时间的计算单位时间的时间增量称为定时器的分辨率,即精度。S7-200PLC定时器有3个精度等级:1ms、10ms和100ms。定时器定时时间T的计算:T=PT×S。式中:T为实际定时时间,PT为设定值,S为分辨率。例如:TON指令使用T33(为10ms的定时器),设定值为100,则实际定时时间为:T=100×10=1000ms定时器指令的操作数有3个:

定时器编号、设定值(PT)和使能输入(IN)。S7-200PLC基本指令37(1)定时器的编号定时器的编号用定时器的名称和它的常数编号(0-255)来表示,即T***。如:T40。定时器的编号包含两方面的变量信息:定时器位和定时器当前值。定时器位:与其他继电器的输出相似。当定时器的当前值达到设定值PT时,定时器的触点动作。定时器当前值:存储定时器当前所累计的时间,它用16位符号整数来表示,计数值范围为1~32767。(2)定时器的设定值PT数据类型为INT型。操作数可为:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数,其中常数最为常用。S7-200PLC基本指令38(3)使能输入(IN):它的数据类型为布尔型BOOL,寻址范围是I、Q、M、SM、T、C、V、S和L。TON和TOF使用相同范围的定时器编号,所以在同一个PLC程序中决不能把同一个定时器号同时用作TON和TOF。例如在程序中,不能既有接通延时(TON)定时器T32,又有断开延时(TOF)定时器T32。S7-200PLC基本指令39三种定时器指令的LAD和STL格式如下表所示。S7-200PLC基本指令401)

接通延时定时器TON(On-DelayTimer)接通延时定时器用于单一时间间隔的定时。上电周期或首次扫描时,定时器位为OFF,当前值为0。输入端接通时,定时器位为OFF,当前值从0开始计时,当前值达到设定值时,定时器位为ON,当前值仍连续计数到32767。输入端断开,定时器自动复位,即定时器位为OFF,当前值为0。通电延时定时器指令应用示例。S7-200PLC基本指令41

2)

有记忆通电延时定时器TONR(RetentiveOn-DelayTimer)记忆接通延时定时器具有记忆功能,它用于对许多间隔的累计定时。上电周期或首次扫描时,定时器位为掉电前的状态,当前值保持在掉电前的值。当输入端接通时,当前值从上次的保持值继续计时,当累计当前值达到设定值时,定时器位ON,当前值可继续计数到32767?。TONR定时器只能用复位指令R对其进行复位操作。TONR复位后,定时器位为OFF,当前值为0。掌握好对TONR的复位及启动是使用好TONR指令的关键。有记忆通电延时定时器指令应用示例。S7-200PLC基本指令423)

断电延时定时器TOF(Off-DelayTimer)断电延时定时器用于断电后的单一间隔时间计时。上电周期或首次扫描,定时器位为OFF,当前值为0。输入端接通时,定时器位为ON,当前值为0。当输入端由接通到断开时,定时器开始计时。当达到设定值时定时器位为OFF,当前值等于设定值,停止计时。输入端再次由OFF→ON时,TOF复位,这时TOF的位为ON,当前值为0。如果输入端再从ON→OFF,则TOF可实现再次启动。断电延时定时器指令应用示例。S7-200PLC基本指令43

定时器及其使用举例S7-200PLC基本指令定时器小结:44定时器类型接通IN当前值=设定值断开INTON计时定时器位=1复位TONR计时定时器位=1不变TOF不计时,定时器位=1当前值=0定时器位=0计时S7-200PLC基本指令454)

分辨率对定时器的影响定时器的刷新方式和正确使用1ms、10ms、100ms定时器的刷新方式是不同的,从而在使用方法上也有很大的不同。这和其他PLC是有很大区别的。1ms定时器1ms定时器由系统每隔1ms刷新一次,与扫描周期及程序处理无关。它采用的是中断刷新方式。因此,当扫描周期大于1ms时,在一个周期中可能被多次刷新。其当前值在一个扫描周期内不一定保持一致。10ms定时器10ms定时器由系统在每个扫描周期开始时自动刷新,由于是每个扫描周期只刷新一次,故在一个扫描周期内定时器位和定时器的当前值保持不变。100ms定时器100ms定时器在定时器指令执行时被刷新,因此,如果100ms定时器被激活后,如果不是每个扫描周期都执行定时器指令或在一个扫描周期内多次执行定时器指令,都会造成计时失准,所以在后面讲到的跳转指令和循环指令段中使用定时器时,要格外小心。100ms定时器仅用在定时器指令在每个扫描周期执行一次的程序中。S7-200PLC基本指令46定时器的刷新方式和正确使用举例S7-200PLC基本指令472.计数器指令几个基本概念种类:CTD,CTUD,CTD编号计数器的编号用计数器名称和数字(0-255)组成,如C6。计数器的编号包含两方面的信息:计数器的位和计数器当前值。计数器位:计数器位和继电器一样是一个开关量,表示计数器是否发生动作的状态。当计数器当前值达到设定值时,该位被置位为ON。计数器当前值:其值是一个存储单元,它用来存储计数器当前所累计的脉冲个数,用16位有符号整数来表示,最大数值为32767。计数器输入端和操作数设定值输入:PV为设定值,数据类型为INT型。寻址范围:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。一般情况下使用常数作为计数器的设定值。S7-200PLC基本指令48指令及其使用指令S7-200PLC基本指令491)CTU(CountUp):加计数器首次扫描时,计数器位为OFF,当前值为0。在计数脉冲输入端CU的每个上升沿,计数器计数1次,当前值增加一个单位。

温馨提示

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

评论

0/150

提交评论