基本指令课件_第1页
基本指令课件_第2页
基本指令课件_第3页
基本指令课件_第4页
基本指令课件_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

4.1PLC的编程语言与程序结构4.2存储器的数据类型与寻址方式4.3位逻辑指令4.4定时器与计数器指令4.5应用举例第4章PLC程序设计基础1顺序功能图(SFC)梯形图(LD或LAD)功能块图(FBD)指令表(IL)结构文本(ST)4.1PLC的编程语言与程序结构4.1.1PLC编程语言的国际标准IEC61131-3是PLC的编程语言标准5种编程语言:21)顺序功能图(SFC)3母线2)梯形图(LAD)4功能块图是一种类似于数字逻辑门电路的编程语言。很少人使用功能块语言。3)功能块图(FBD)5西门子公司S7系列PLC将指令表称为语句表,是一种类似于汇编语言中的指令的助记符表达式。适合熟悉PLC和逻辑程序设计的经验丰富的程序员使用。4)语句表(STL)6S7-200PLC编址范围(I0.0~I15.7)外部输入电路接通时,对应的输入映像寄存器为ON(1状态),反之为OFF(0状态)。可以多次使用同一个输入位的常开触点和常闭触点。4.2.1CPU的存储区1、输入过程映像寄存器(I)外部输入点输入端子4.2存储器的数据类型与寻址方式9梯形图中输出映像寄存器Q0.0的线圈“通电”,继电器型输出模块中对应的硬件继电器的常开触点闭合,使接在标号为0.0的端子的外部负载工作,反之则外部负载断电;输出模块中的每一个硬件继电器仅有一对常开触点,但是在梯形图中,每一个输出位的常开触点和常闭触点都可以使用多次。2、输出过程映像寄存器(Q)Q0.0L负载电源S7-200PLC编址范围(Q0.0~Q15.7)10作为控制继电器来存储中间操作状态或其他控制信息。可按位、字节、字或双字来存取数据。3、变量存储区(V)是全局存储器;在程序执行过程中用来存放中间结果,或用来保存与工序或任务有关的其他数据。4、位存储区(M)11T0~T255定时器位:用来描述定时器的延时动作的触点状态,定时器位为1时,梯形图中对应的定时器常开触点闭合,常闭触点断开;为0时则触点的状态相反;接通延时、断开延时、保持型接通延时定时器;三种定时器:1ms,10sm和100ms;5、定时器存储区(T)12C0~C255加计数器、减计数器和加减计数器;当计数器当前值大于等于设定值时,计数器位被置1(为ON),梯形图中对应的计数器常开触点闭合,常闭触点断开;为0时则触点的状态相反;6、计数器存储区(C)13AC0~AC3(4个)是可以象存储器那样使用的读/写单元,可以用它向子程序传递参数,或从子程序返回参数,以及用来存放计算的中间结果;累加器是32位的,可以按字节、字和双字来存取累加器中的数据,存取数据的长度根据所用的指令决定。7、高速计数器(HC)HC0~HC58、累加器(AC)14提供实现一些特殊的状态和控制功能,用于CPU与用户之间交换信息;9、特殊存储器(SM)CPU224编址范围SM0.0~SM179.7,共180个字节。其中SM0.0~SM29.7的30个字节为只读型区域。15SM0.0RUN状态,该位始终为1。SM0.1首次扫描时为1,用于程序的初始化。SM0.2当RAM中数据丢失时,ON一个扫描周期。SM0.3PLC上电进入RUN方式,ON一个扫描周期。SM0.4输出一个占空比为50%的分时钟脉冲。SM0.5输出一个占空比为50%的秒时钟脉冲。SM0.6一个扫描周期为ON,另一为OFF循环交替。SM0.7工作方式开关位置指示。①SMB0状态位字节,在每次扫描循环结尾由S7-200CPU更新16SM1.0零标志。SM1.1溢出标志。SM1.2负数标志。②SMB1指令状态位字节,常用于表及数学操作17S7-200提供64字节的局部存储器,LB0~LB63;通常后4个字节不用;因局部变量使用临时的存储区,子程序每次被调用时,应保证它使用的局部变量被初始化。10、局部存储器(L)局部变量存储器,用作暂时存储器,或给子程序传递参数;仅仅在创建它的主程序、子程序或中断程序中有效,别的程序不能访问;18S7-200将1个字长的数字量数据用D/A转换器转换为现实世界的模拟量,用区域标识符AQ、表示数据长度的W和起始字节的地址来表示存储模拟量输出的地址;模拟量输出数据应从偶数字节地址开始存放,如:AQW2,AQW4,AQW6等,模拟量输出值为只写数据,用户不能读取模拟量输出值。11、模拟量输入(AI)S7-200将模拟量用A/D转换器转换为1个字长的数字量,用区域标识符AI、表示数据长度的W和起始字节的地址来表示模拟量输入的地址;模拟量输入数据应从偶数字节地址开始存放,如:AIW2,AIW4,AIW6等,模拟量输入值为只读数据。12、模拟量输出(AQ)19有些PLC中也把顺序控制继电器称为状态器,用在顺序控制或步进控制中,提供控制程序的逻辑分段。S0.0~S31.713、顺序控制继电器(S)204.2.2CPU存储区域的寻址S7-200数据寻址方式有立即数寻址、直接寻址和间接寻址三大类。常数值可以是字节、字或双字,机器内部的数据都是以二进制方式存储,但常数的书写可以用二进制、十进制、十六进制、ASCII码或浮点数(实数)等多种形式。立即数寻址。数据长度位、字节(B)、字(W)、双字(D)常数21A---存储器(区域)名称;T---数据类型,若为位寻址,则无该项;若为字节、字或双字寻址,则T的取值应分别为B、W和D。x---字节地址;y---字节内的位地址,只有位寻址才有该项。S7-200PLC的存储单元按字节进行编址,无论所寻址的是何种数据类型,通常应指出它所在存储区域内的字节地址。每个单元都有唯一的地址,这种直接指出存储器名称的寻址方式称为直接寻址。S7-200PLC内部存储器直接编址格式如下,表中1.CPU存储区域的直接寻址22所在存储器区域位寻址格式其他寻址格式数字量输入映像寄存器区(I)Ax,yATx数字量输出映像寄存器区(Q)Ax,yATx位存储器区(M)Ax,yATx特殊存储器区(SM)Ax,yATx顺序控制继电器存储器区(S)Ax,yATx变量存储器区(V)Ax,yATx局部存储器区(L)Ax,yATx定时器存储器区(T)AxAx(仅字)计数器存储器区(C)AxAx(仅字)模拟量输入存储器区(AI)无Ax(仅字)模拟量输出存储器区(AQ)无Ax(仅字)累加器区(AC)无Ax(任意)高速计数器区(HC)无Ax(仅双字)23以输入寄存器I3.4为例说明(1)位寻址格式24对具有一定功能的存储器,不用指出它们的字节,而是直接写出其编号。这类存储器包括定时器(T)、计数器(C)、高速计数器(HC)和累加器(AC)。对定时器(T)和计数器(C)的地址编号中均包含两个含义,如T10,既表示T10的定时器位状态信息,又表示定时器的当前值;累加器(AC)的数据长度可以是字节、字或双字,使用时只表示出累加器的地址编号,如AC0,数据长度取决于进出AC0的数据类型。(2)特殊器件的寻址格式25(3)字节、字和双字的寻址格式2612345678AC1MSBLSBMOVBAC1,VB200//(VB200)=7812345678AC1MSBLSBMOVWAC1,VW200//(VB200)=56//(VB201)=7812345678AC1MSBLSBMOVDAC1,VD200//(VB200)=12//(VB201)=34//(VB202)=56//(VB203)=78按字节传送按字传送按双字传送27例:MOVW*AC1,AC0指令功能:将AC1作为内存地址指针,把以AC1中内容为起始地址的内存单元的16位数据送到累加器AC0中。利用指针进行寻址2、间接寻址28修改指针方法双字加法ADDD双字加1INCD字节1字2双字4双字地址VLAC1AC2AC3指针3.绝对地址和符号地址294.3基本逻辑指令类指令LD(Load)用于网络块逻辑开始的常开触点与母线的连接。LDN(LoadNot)用于网络块逻辑运算开始的常闭触点与母线的连接。=(Out)与线圈相对应,驱动线圈的触点电路接通时,指定位对应的输出映像寄存器为1,反之则为0。1装载指令及输出指令30LD、LDN、=指令使用举例:31(1)在分支电路块的开始也要使用LD、LDN指令;(2)并联的=指令可连续使用任意次;(3)在同一程序中不能使用双线圈输出;(4)LD、LDN、=指令的操作数为:I、Q、M、SM、T、C、V、S和L。T和C输出时不是以使用=指令形式出现LD、LDN、=指令使用说明:32STL形式为:NOPN(N=0~255)

NOPN取反指令:NOT空操作指令:NOPLAD形式为:33标准触点LAD和STL例34时序图35A(And)用于单个常开触点的串联连接。AN(AndNot)用于单个常闭触点的串联连接。2触点串联(与)指令36(1)A、AN是单个触点串联连接指令,可连续使用,但S7-200PLC的编程软件规定的串联触点的使用上限是11个。(2)连续输出电路可以反复使用=指令,如上例所示,但下面电路就不属于连续输出电路了。(3)A、AN指令的操作数为:I、Q、M、SM、T、C、V、S和L。A、AN指令使用说明37O(OR):用于单个常开触点的并联连接。ON(OrNot)用于单个常闭触点的并联连接。3触点并联指令38(1)O、ON是单个触点并联连接指令,可连续使用;(2)O、ON指令的操作数为:I、Q、M、SM、T、C、V、S和L。O、ON指令使用说明39OLD(OrLoad):用于串联电路块的并联连接。4串联电路块的并联连接指令40(1)除在网络块逻辑运算的开始使用LD或LDN指令外,在块电路的开始也要使用LD和LDN指令;(2)每完成一次块电路的并联时要写上OLD指令;(3)OLD指令无操作数。OLD指令使用说明41ALD(AndLoad):栈装载与指令(与块指令);用于并联电路块的串联连接。5并联电路块的串联连接指令42ALD指令使用说明(1)在块电路的开始时要使用LD和LDN指令;(2)每完成一次块电路的串联连接后要写上ALD指令;(3)ALD指令无操作数。43堆栈是一组能够存储和取出数据的暂存单元,特点是“先进后出”。每次进行入栈操作,新值放入栈顶,栈底值丢失;每次进行出栈操作,栈顶值弹出,栈底值补进随机数。6逻辑堆栈操作指令堆栈的基本概念S7-200系列PLC使用一个9位(层)堆栈来处理所有逻辑操作,栈顶用来存储逻辑运算的结果,下面的8位用来存储中间运算结果。ALD、OLD、LPS、LRD、LPP、LDS等指令是栈操作指令44堆栈示意图451、ALD、OLD指令46472、逻辑入栈LPS、逻辑读栈LRD和逻辑出栈LPP指令LPS:逻辑入栈指令(分支电路开始指令)。从梯形图中可以看出,它用于生成一条新的母线,其左侧为原来的主逻辑块,右侧为新的从逻辑块,因此可以直接编程。从堆栈使用上来将,LPS指令的作用是把栈顶值复制后压入堆栈。LRD:逻辑读栈指令。在梯形图分支结构中,当新母线左侧为主逻辑块时,LPS开始右侧的第一个从逻辑块编程,LRD开始第二个以后的从逻辑块编程。从堆栈使用上来讲,LRD指令将堆栈中第2层的数据复制到栈顶。第2—9层的数据不变,但原栈顶值消失。LPP:逻辑出栈指令(分支电路结束指令)。在梯形图分支结构中,LPP用于LPS产生的新母线右侧的最后一个从逻辑块编程,它在读取完离它最近的LPS压入堆栈内容的同时复位该条新母线。从堆栈使用上来讲,LPP指令使栈中各层的数据向上移动一层,第2层的数据成为新的栈顶值,栈顶原来的数据从栈内消失。48LDS:功能是复制堆栈中的第n层的值到栈顶,栈中原来的数据依次向下一层推移,栈底值被推出丢失。指令格式:LDSn(n为0~8的整数)例如:LDS3入栈前入栈后iv0iv3iv1iv0iv2vi1iv3iv2iv4iv3iv5iv4iv6iv5iv7iv6vi8iv73、装入堆栈指令LDS49LPS、LRD和LPP指令使用举例1:1A23BC50AAiv0iv1...1AAiv0iv1...2Aiv0iv1iv2...3M0.0+M0.1AAiv0...BAiv0iv1...M0.2•M0.3AAiv0...M0.4(反)•M0.5M0.2•M0.3AA...CAiv0iv1...LPPLRDLPS51LPS、LRD和LPP指令使用举例2:双重堆栈52LPS、LRD和LPP指令使用举例3:53应用举例54LADSTL功能置位指令bit(S)NSbit,N从bit开始的N个元件置1并保持复位指令bit(R)NRbit,N从bit开始的N个元件清零并保持7置位、复位指令55S/R指令使用举例:56置位复位57本程序对应的时序图如图所示。58对位存储器来说一旦被置位,就保持在通电状态,除非对它复位;而一旦被复位就保持在断电状态,除非再对它置位;S/R指令可以互换次序使用,后面的指令具有优先权。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。S/R指令使用说明598RS触发器指令RS触发器指令的LAD形式RS触发器指令没有STL形式,但可通过编程软件把LAD形式转换为STL形式,不过很难读懂。所以建议如果使用RS触发器指令最好使用LAD形式。60RS触发器指令的真值表指令SIR输出(bit)置位优先触发器指令(SR)00保持前一状态010101111复位优先触发器指令(RS)SRI输出(bit)00保持前一状态01010111061RS触发器指令使用举例:62指令名称STLLAD使用说明立即装载LDIbitbit|I|bit|/I|bit只能为I立即非装载LDNIbit立即或OIbit立即非或ONIbit立即与AIbit立即非与ANIbit各种立即指令的LAD和STL形式9立即指令63指令名称STLLAD使用说明立即输出=Ibitbit(I)bit只能为Q立即置位SIbit,Nbit(SI)Nbit只能为QN的范围:1~128立即复位RIbit,Nbit(RI)N646566EU(EdgeUp):正跳变触点指令;ED(EdgeDown):负跳变触点指令;指令名称LADSTL功能说明正跳变|P|EU在上升沿产生脉冲无操作数负跳变|N|ED在下降沿产生脉冲10跳变触点指令67EU/ED使用举例:68定时器的分辨率:1ms,10ms和100ms定时器的当前值、设定值:均为16位有符号整数,最大值是327674.4定时器指令定时器的分类接通延时定时器断开延时定时器保持型接通延时定时器69定时器号与分辨率类型分辨率定时范围定时器号TONR1ms32.767sT0和T6410ms327.67sT1~T4和T65~T68100ms3276.7sT5~T31和T69~T95TONTOF1ms32.767sT32和T9610ms327.67sT33~T36和T97~T100100ms3276.7sT37~T63和T101~T255定时器的设定时间=设定值×分辨率注意:在同一个PLC程序中决不能把同一个定时器号同时用做TON和TOF。如程序中,不能既有接通延时(TON)定时器T32,又有断开延时(TOF)定时器T32。70指令操作数1)编号:2)预设值PT:3)使能输入(只对LAD和FBD)71接通延时定时器TON,接通延时定时器指令。用于单一间隔的定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为OFF,当前值从0开始计数时间,当前值达到预设值时,定时器位ON,当前值连续计数到32767。使能输入断开,定时器自动复位,即定时器位OFF,当前值为0。指令格式: TON Txxx,PT例: TON T120,872

接通延时定时器:TONLDI2.3TONT37,30LDT37=Q0.173断开延时定时器TOF,断开延时定时器指令。用于断开后的单一间隔定时。上电周期或首次扫描,定时器位OFF,当前值为0。使能输入接通时,定时器位为ON,当前值为0。当使能输入由接通到断开时,定时器开始计数,当前值达到预设值时,定时器位OFF,当前值等于预设值,停止计数。TOF复位后,如果使能输入再有从ON到OFF的负跳变,则可实现再次启动。指令格式:TOF Txxx,PT例: TOF T35,674断开延时定时器:TOFLDI0.0TOFT33,200LDT33=Q0.075有记忆接通延时定时器TONR,有记忆接通延时定时器指令。用于对许多间隔的累计定时。上电周期或首次扫描,定时器位OFF,当前值保持。使能输入接通时,定时器位为OFF,当前值从0开始计数时间。使能输入断开,定时器位和当前值保持最后状态。使能输入再次接通时,当前值从上次的保持值继续计数,当累计当前值达到预设值时,定时器位ON,当前值连续计数到32767。TONR定时器只能用复位指令进行复位操作。指令格式:TONR Txxx,PT例: TONRT20,6376保持型接通延时定时器:TONRLDI2.1TONRT2,10LDT2=Q0.0LDI0.3RT2,177分辨率对定时器的影响1ms分辨率的定时器位和当前值的更新和扫描周期不同步。扫描周期大于1ms时,定时器位和当前值在一个扫描周期内被多次刷新。10ms分辨率的定时器的定时器位和当前值在每个扫描周期开始时被刷新。定时器位和当前值在整个扫描周期过程中不变。在每个扫描周期开始时将一个扫描周期的时间间隔加到定时器当前值上。10

温馨提示

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

评论

0/150

提交评论