PLC第3章PLC程序设计基础_第1页
PLC第3章PLC程序设计基础_第2页
PLC第3章PLC程序设计基础_第3页
PLC第3章PLC程序设计基础_第4页
PLC第3章PLC程序设计基础_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

3.1PLC的编程语言与程序结构PLC的编程语言概述IEC61131-3五种编程语言梯形图(LadderDiagram,LD)、功能块图(FunctionBlockDiagram,FBD)顺序功能图(SequentialFunctionChart,SFC)结构化文本(StructuredText,ST)指令表(InstructionList,IL)1梯形图:最常用、最直观的编程语言。组成:由触点、线圈和用方框表示的功能块。特点:

1)沿用继电器这一名称,但不是真实继电器,而是软件中编程元件。

2)假想的“能流”(PowerFlow),从左向右流动。

3)逻辑解算,从左至右,从上至下。

4)线圈放在最右边,触点可无限次使用。3.1PLC的编程语言与程序结构2顺序功能图位于其它编程语言之上的图形语言,用来编制顺序控制程序.顺序功能图提供了一种组织程序的图形方法,步、转换和动作是顺序功能图中的三种主要元件。功能块图结构化文本结构文本(sT)是为IEC61131—3标准创建的一种专用的高级编程语言。与梯形图相比,它能实现复杂的数学运算,编写的程序非常简洁和紧凑。3.1PLC的编程语言与程序结构3语句表助记符指令表程序:一种与微机的汇编语言中的指令相似的助记符表达式。3.1PLC的编程语言与程序结构43.1PLC的编程语言与程序结构S7-200CPU的控制程序由主程序、子程序和中断程序组成。主程序:主程序(OB1)是程序的主体,每个项目都必须且只能有一个主程序。子程序:子程序是可选的,仅在被其他程序调用的时候执行。中断程序:

中断程序用来及时处理与用户程序的执行时序无关的操作,或者不能事先预测何时发生的中断事件。5数据在存储器中存取的方式1.用1位二进制数表示开关量。I3.2:“字节.位”寻址方式。2.多位二进制数:2#1010=123+022+121+020=103.十六进制数:用于简化二进制数的表示方法,“逢16进1”,用0~9和A~F来表示16个数,16#2F对应的十进制数为2161+15160=47。4.字节、字与双字

6以起始字节的地址作为字和双字的地址。起始字节为最高位的字节。I、Q、V、M、S、SM、L均可按位、字节、字和双字来存取。5.负数的表示方法用二进制补码表示有符号数,最高位为符号位,最大的16位正数为16#7FFF(32767)。7CPU的存储区1.输入过程映像寄存器(I)2.输出过程映像寄存器(Q)3.变量存储区V用来存放中间结果。4.位存储区(M)(M0.0~M31.7)5.定时器存储区(T)定时器相当于继电器系统中的时间继电器。S7-200有三种定时器,他们的时基增量分别为1ms、10ms和100ms。6.计数器存储区(C)7.高速计数器(HC)88.32位累加器(AC0~AC3)可以按字节、字和双字来存取。按字节、字只能存取累加器的低8位或低16位。双字存取32位。例如:MOVWAC2,VW1009.特殊存储器(SM)特殊存储器(SM)标志位:SM0.0一直为1状态;SM0.1仅在执行用户程序的第一个扫描周期为1状态。SM0.4和SM0.5分别提供周期为1分钟和1秒的时钟脉冲。SM1.0、SM1.1和SM1.2分别为零标志、溢出标志和负数标志。910.局部存储器L作为暂时存储器,或给子程序传递参数。共有64个字节的局部存储器。11.模拟量输入字(AI)从偶数字节地址开始(例如AIW2),为只读数据。12.模拟量输出字(AQ)从偶数字节地址开始(例如AQW2),是只写数据,用户不能读取。13.顺序控制继电器(S):顺序控制编程用。14.常数的表示方法与范围1015.实数(浮点数):在编程软件中,用小数表示浮点数。

16.字符串的格式I0.0为绝对地址,%I0.0是IEC编辑器中的地址。#INPUT1:局部变量符号地址;“INPUT1”:全局符号地址。“#”号和双引号是编程软件自动添加的。113.2PLC的基本逻辑指令及举例

逻辑取及线圈驱动指令指令LD(Load):取指令。LDN(LoadNot):取反指令。=(Out):线圈驱动指令。NOT:取反指令。用法

123.2PLC的基本逻辑指令及举例触点串联指令指令A(And):与指令。用于单个常开触点的串联连接。AN(AndNot):与反指令。用于单个常闭触点的串联连接。用法

133.2PLC的基本逻辑指令及举例触点并联指令指令O(OR):或指令。用于单个常开触点的并联连接。ON(OrNot):或反指令。用于单个常闭触点的并联连接。用法使用说明单个触点的O、ON指令可连续使用。O、ON指令的操作数为:I、Q、M、SM、T、C、V、S和L。143.2PLC的基本逻辑指令及举例置位/复位指令指令用法153.2PLC的基本逻辑指令及举例置位/复位指令使用说明对位元件来说一旦被置位,就保持在通电状态,除非对它复位;而一旦被复位就保持在断电状态,除非再对它置位。S/R指令可以互换次序使用,但由于PLC采用扫描工作方式,所以写在后面的指令具有优先权。如在上图中,若I0.0和I0.1同时为1,则Q0.0、Q0.1肯定处于复位状态而为0。如果对计数器和定时器复位,则计数器和定时器的当前值被清零。N的范围为1~255,N可为:VB、IB、QB、MB、SMB、SB、LB、AC、常数、*VD、*AC和*LD。一般情况下使用常数。S/R指令的操作数为:I、Q、M、SM、T、C、V、S和L。163.2PLC的基本逻辑指令及举例RS触发器指令指令SR(SetDominantBistable):置位优先触发器指令。当置位信号(S1)和复位信号(R)都为真时,输出为真。RS(ResetDominantBistable):复位优先触发器指令。当置位信号(S)和复位信号(R1)都为真时,输出为假。173.2PLC的基本逻辑指令及举例立即指令什么是立即指令?有何用途?对输入对输出指令183.2PLC的基本逻辑指令及举例立即指令举例193.2PLC的基本逻辑指令及举例边沿脉冲指令指令举例203.2PLC的基本逻辑指令及举例逻辑堆栈操作指令堆栈什么是堆栈?

S7-200有一个9层堆栈来处理所有逻辑操作,和计算机的堆栈结构相同。堆栈是一组能存储和取出数据的暂存单元。其特点是什么?——————先进后出S7-200PLC的逻辑堆栈结构指令1OLDALD21

每执行LD,LDN指令时,将指令指定的位地址中的二进制数据装载入栈顶,执行A,O指令时,将指令指定的位地址中的二进制和栈顶中的二进制数据相“与”,“或”,结果存入栈顶。22图3-12ALD与OLD指令的堆栈操作23图3-14堆栈指令243.2PLC的基本逻辑指令及举例OLD(OrLoad):串联电路块的并联连接指令(或块指令),用于串联电路块的并联连接。什么是串联电路块?两个以上触点串联形成的支路叫串联电路块。用法使用说明除在网络块逻辑运算的开始使用LD或LDN指令外,在块电路的开始也要使用LD和LDN指令。每完成一次块电路的并联时要写上OLD指令。OLD指令无操作数。253.2PLC的基本逻辑指令及举例ALD(AndLoad):并联电路块的串联连接指令(与块指令)。用于并联电路块的串联连接。什么是并联电路块?两条以上支路并联形成的电路叫并联电路块。用法使用说明在块电路开始时要使用LD和LDN指令。在每完成一次块电路的串联连接后要写上ALD指令。ALD指令无操作数。263.2PLC的基本逻辑指令及举例逻辑堆栈操作指令指令2LPS(LogicPush):逻辑入栈指令(分支电路开始指令)。LRD(LogicRead):逻辑读栈指令。LPP(LogicPop):逻辑出栈指令(分支电路结束指令)。

273.2PLC的基本逻辑指令及举例LPS/LRD/LPP举例例1283.2PLC的基本逻辑指令及举例LPS/LRD/LPP举例例2293.2PLC的基本逻辑指令及举例LPS/LRD/LPP举例例3303.2PLC的基本逻辑指令及举例逻辑堆栈操作指令使用说明由于受堆栈空间的限制(9层堆栈),LPS、LPP指令连续使用时应少于9次。LPS和LPP指令必须成对使用,它们之间可以使用LRD指令。LPS、LRD、LPP指令无操作数。313.2PLC的基本逻辑指令及举例逻辑堆栈操作指令指令3装入堆栈指令LDS(LoadStack)复制堆栈中的第n个值到栈顶,而栈底值丢失。用法

LDSn(n为1~8的整数)举例LDS3

结果如右表所列一般很少用到323.2PLC的基本逻辑指令及举例比较指令作用:比较指令是将两个数值或字符串按指定条件进行比较,条件成立时,触点就闭合。所以比较指令实际上也是一种位指令。类型:字节比较、整数比较、双字整数比较、实数比较和字符串比较。数值比较指令的运算符有:=、>=、<、<=、>和<>等6种,字符串比较指令有=和<>两种。对比较指令可进行LD、A和O编程。比较指令属于“位指令”具体指令(细节见表)333.2PLC的基本逻辑指令及举例比较指令使用举例343.2PLC的基本逻辑指令及举例定时器及其使用最常用的器件几个基本概念种类:TON,TONR,TOF分辩率与定时时间的计算单位时间的时间增量称为定时器的分辨率,即精度。S7-200PLC定时器有3个精度等级:1ms、10ms和100ms。定时器定时时间T的计算:T=PT×S。式中:T为实际定时时间,PT为设定值,S为分辨率。例如:TON指令使用T97(为10ms的定时器),设定值为100,则实际定时时间为:

T=100×10=1000ms定时器的设定值PT:数据类型为INT型。操作数可为:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数,其中常数最为常用。353.2PLC的基本逻辑指令及举例定时器及其使用定时器的编号定时器的编号用定时器的名称和它的常数编号(最大为255)来表示,即T***。如:T40。定时器的编号包含两方面的变量信息:定时器位和定时器当前值。定时器位:与其他继电器的输出相似。当定时器的当前值达到设定值PT时,定时器的触点动作。定时器当前值:存储定时器当前所累计的时间,它用16位符号整数来表示,最大计数值为32767。363.2PLC的基本逻辑指令及举例定时器及其使用定时器的编号编号表TON和TOF使用相同范围的定时器编号,所以在同一个PLC程序中决不能把同一个定时器号同时用作TON和TOF。例如在程序中,不能既有接通延时(TON)定时器T32,又有断开延时(TOF)定时器T32。373.2PLC的基本逻辑指令及举例定时器及其使用定时器的指令及使用指令383.2PLC的基本逻辑指令及举例定时器及其使用定时器的指令及使用接通延时定时器TON(On-DelayTimer)接通延时定时器用于单一时间间隔的定时。上电周期或首次扫描时,定时器位为OFF,当前值为0。输入端接通时,定时器位为OFF,当前值从0开始计时,当前值达到设定值时,定时器位为ON,当前值仍连续计数到32767。输入端断开,定时器自动复位,即定时器位为OFF,当前值为0。记忆接通延时定时器TONR(RetentiveOn-DelayTimer)记忆接通延时定时器具有记忆功能,它用于对许多间隔的累计定时。上电周期或首次扫描时,定时器位为掉电前的状态,当前值保持在掉电前的值。当输入端接通时,当前值从上次的保持值继续计时,当累计当前值达到设定值时,定时器位ON,当前值可继续计数到32767。TONR定时器只能用复位指令R对其进行复位操作。TONR复位后,定时器位为OFF,当前值为0。掌握好对TONR的复位及启动是使用好TONR指令的关键。393.2PLC的基本逻辑指令及举例定时器及其使用定时器的指令及使用断开延时定时器TOF(Off-DelayTimer)断开延时定时器用于断电后的单一间隔时间计时。上电周期或首次扫描,定时器位为OFF,当前值为0。输入端接通时,定时器位为ON,当前值为0。当输入端由接通到断开时,定时器开始计时。当达到设定值时定时器位为OFF,当前值等于设定值,停止计时。输入端再次由OFF→ON时,TOF复位,这时TOF的位为ON,当前值为0。如果输入端再从ON→OFF,则TOF可实现再次启动。403.2PLC的基本逻辑指令及举例定时器及其使用定时器的指令及使用举例413.2PLC的基本逻辑指令及举例定时器及其使用定时器的刷新方式和正确使用1ms、10ms、100ms定时器的刷新方式是不同的,从而在使用方法上也有很大的不同。这和其他PLC是有很大区别的。1ms定时器

1ms定时器由系统每隔1ms刷新一次,与扫描周期及程序处理无关。它采用的是中断刷新方式。因此,当扫描周期大于1ms时,在一个周期中可能被多次刷新。其当前值在一个扫描周期内不一定保持一致。10ms定时器

10ms定时器由系统在每个扫描周期开始时自动刷新,由于是每个扫描周期只刷新一次,故在一个扫描周期内定时器位和定时器的当前值保持不变。100ms定时器

100ms定时器在定时器指令执行时被刷新,因此,如果100ms定时器被激活后,如果不是每个扫描周期都执行定时器指令或在一个扫描周期内多次执行定时器指令,都会造成计时失准,所以在后面讲到的跳转指令和循环指令段中使用定时器时,要格外小心。100ms定时器仅用在定时器指令在每个扫描周期执行一次的程序中。423.2PLC的基本逻辑指令及举例定时器及其使用时间间隔定时器这是在最新版本的CPU中增加的有特殊功能的定时器,说是定时器,其实是2条指令。使用这2条指令可以记录某一信号的开通时刻以及开通延续的时间。PLC停电后,停止记录。触发时间间隔(BITIM,BeginningIntervalTime)

该指令用来读取PLC中内置的1毫秒计数器的当前值,并将该值存储于OUT。双字毫秒值的最大计时间隔为232ms,即49.7天。计算时间间隔(CITIM,CalculateIntervalTime)

该指令计算当前时间与IN所提供时间的时间差,并将该差值存储于OUT。双字毫秒值的最大计时间隔为232ms,即49.7天。2条指令的有效操作数为:IN和OUT端均为双字。433.2PLC的基本逻辑指令及举例时间间隔定时器举例443.2PLC的基本逻辑指令及举例计数器及其使用应用几个基本概念种类:CTD,CTUD,CTD编号计数器的编号用计数器名称和数字(0~255)组成,即C***,如C6。计数器的编号包含两方面的信息:计数器的位和计数器当前值。计数器位:计数器位和继电器一样是一个开关量,表示计数器是否发生动作的状态。当计数器的当前值达到设定值时,该位被置位为ON。计数器当前值:其值是一个存储单元,它用来存储计数器当前所累计的脉冲个数,用16位符号整数来表示,最大数值为32767。计数器输入端和操作数设定值输入:数据类型为INT型。寻址范围:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。一般情况下使用常数作为计数器的设定值。453.2PLC的基本逻辑指令及举例计数器及其使用指令及其使用指令463.2PLC的基本逻辑指令及举例计数器及其使用指令及其使用CTU首次扫描时,计数器位为OFF,当前值为0。在计数脉冲输入端CU的每个上升沿,计数器计数1次,当前值增加一个单位。当前值达到设定值时,计数器位为ON,当前值可继续计数到32767后停止计数。复位输入端有效或对计数器执行复位指令,计数器自动复位,即计数器位为OFF,当前值为0。注意:在语句表中,CU、R的编程顺序不能错误。473.2PLC的基本逻辑指令及举例计数器及其使用指令及其使用CTU483.2PLC的基本逻辑指令及举例计数器及其使用指令及其使用CTUD增减计数器有两个计数脉冲输入端:CU输入端用于递增计数,CD输入端用于递减计数。首次扫描时,计数器位为OFF,当前值为0。CU输入的每个上升沿,计数器当前值增加1个单位;CD输入的每个上升沿,都使计数器当前值减小1个单位,当前值达到设定值时,计数器位置位为ON。增减计数器当前值计数到32767(最大值)后,下一个CU输入的上升沿将使当前值跳变为最小值(-32768);当前值达到最小值-32768后,下一个CD输入的上升沿将使当前值跳变为最大值32767。复位输入端有效或使用复位指令对计数器执行复位操作后,计数器自动复位,即计数器位OFF,当前值为0。注意:在语句表中,CU、CD、R的顺序不能错误。493.2PLC的基本逻辑指令及举例计数器及其使用指令及其使用CTUD503.2PLC的基本逻辑指令及举例计数器及其使用指令及其使用CTD首次扫描时,计数器位为ON,当前值为预设定值PV。对CD输入端的每个上升沿计数器计数1次,当前值减少一个单位,当前值减小到0时,计数器位置位为ON。复位输入端有效或对计数器执行复位指令,计数器自动复位,即计数器位OFF,当前值复位为设定值。注意:减计数器的复位端是LD,而不是R。在语句表中,CD、LD的顺序不能错误。513.2PLC的基本逻辑指令及举例计数器及其使用指令及其使用CTD523.3简单的典型电路编程

延时脉冲产生电路

题目程序

533.3简单的典型电路编程瞬时接通/延时断开电路

题目程序

543.3简单的典型电路编程瞬时接通/延时断开电路

题目另外一种程序:使用了上例的典型电路553.3简单的典型电路编程延时接通/延时断开

温馨提示

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

评论

0/150

提交评论