西门子S7-200编程元件_第1页
西门子S7-200编程元件_第2页
西门子S7-200编程元件_第3页
西门子S7-200编程元件_第4页
西门子S7-200编程元件_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

第3章

S7-200PLC的基本指令主要内容1234S7-200PLC的内部元件及程序结构S7-200PLC的基本逻辑指令S7-200PLC的运算指令S7-200PLC的数据处理指令3.1S7-200PLC的内部元件及程序结构3.1.1S7-200PLC的基本数据类型

位、字节、字和双字位(bit):二进制数的1位只有O和1两种不同的取值。字节(Byte):8位二进制数组成1个字节。字(Word):两个字节。双字(DoubleWord):两个字。整数长度无符号整数表示范围有符号整数表示范围十进制表示十六进制表示十进制表示十六进制表示字节B(8位)0~2550~FF-128~12780~7F字W(16位)0~655350~FFFF-32768~327678000~7FFF双字D(32位)0~42949672950~FFFFFFFF-2147483648~214748364780000000~7FFFFFFF表3-2

不同长度的整数所表示的数值范围基本数据类型位数说明布尔型BOOL1位范围:0,1无符号数字节型BYTE8字节范围:0~255字型WORD16字范围:0~65535双字型DWORD32双字范围:0~(232-1)有符号数字节型BYTE8字节范围:-128~+127整型INT16整数范围:-32768~+32767双整形DINT32双字整数范围:-231~(231-1)实数型REAL32IEEE浮点数表3-1S7-200PLC的基本数据类型及其范围3.1.2寻址方式

1.立即寻址

指令中如何提供操作数或操作数地址,称为寻址方式。

S7-200PLC的寻址方式有:立即寻址、直接寻址、间接寻址。

立即寻址方式是,指令直接给出操作数,操作数紧跟着操作码,在取出指令的同时也就取出了操作数,立即有操作数可用,所以称为立即操作数或立即寻址。

CPU以二进制方式存储所有常数。指令中可用十进制、十六进制、ASCII码或浮点数形式来表示。表示格式举例如下:十进制常数:30112十六进制常数:16#42FASCII常数:‘INPUT’实数或浮点常数:+1.1E-10二进制常数:2#0101

1110

#为常数的进制格式说明符

2.直接寻址

直接寻址方式是,指令直接使用存储器或寄存器的元件名称和地址编号,根据这个地址就可以立即找到该数据。操作数的地址应按规定的格式表示。指令中,数据类型应与指令标识符相匹配。不同数据长度的寻址指令举例如下:位寻址:ANDQ5.5字节寻址:ORBVB33,LB21字寻址:MOVWAC0,AQW2双字寻址:MOVDAC1,VD200

1)位寻址:适于控制应用表示开关量或数字量的状态若要存取存储区的某一位,则必须指定地址,包括存储器标识符、字节地址和位号。S7-200采用分区结合字节序号编址。2)数据寻址(字节、字、双字)对同一地址进行字节,字和双字存取操作的比较3)存储区内另有一些元件是具有一定功能的硬件,由于元件数量很少,所以不用指出元件所在存储区域的字节,而是直接指出其编号。其寻址格式为:Ax,如T0、C0、HC0、AC0等。3间接寻址数据存放在寄存器或存储器中,在指令中只出现所需数据所在单元的内存地址的地址,存储单元地址的地址又称为地址指针。可作为地址指针的存储器有:V、L、AC(1∼3)可间接寻址的存储器区域有:I、Q、V、M、S、T(仅当前值)、C(仅当前值)。对独立的位(BIT)值或模拟量值不能进行间接寻址。用间接寻址方式存取数据的工作方式有3种:建立指针、间接存取和修改指针。(1)建立指针

间接寻址前,应先建立指针。指针为双字长,是所要访问的存储单元(最大为双字型32位)的物理地址。只能使用变量存储器(V)、局部存储器(L)或累加器(AC1、AC2、AC3)作为指针,AC0不能用作间接寻址的指针。将所要访问的存储器单元的地址装入用来作为指针的存储器单元或寄存器,装入的是地址而不是数据本身,格式如下:MOVD&VB200,AC1“&”为地址符号,与单元组合表示所对应单元的32位物理地址,VB200只是一个直接地址编码,并不是它的物理地址。指令中的第二个地址数据长度必须是双字长,如:AC、LD和VD。这里地址“VB200”要用32位表示,因而必须使用双字传送指令(MOVD)。指令中的&VB200如果改为&VW200或&VD200效果完全相同。因为具体的寻址范围取决于随后的间接存取指令类型。(2)间接存取依据指针中的内容值作为地址存取数据。使用指针可存取字节、字、双字型的数据,下面两条指令是建立指针和间接存取的应用方法:

MOVD&VB200,AC1MOVW*AC1,AC0

执行指令MOVW*AC1,AC0,把指针中的内容值(VB200)作为地址,由于指令MOVW的标识符是“W”,因而指令操作数的数据长度应是字型,把地址VB200、VB201处2个字节的内容(1234)传送到AC0。指针处的值(即1234),为字型数据,如图所示,操作数(AC1)前面的“*”号表示该操作数(AC1)为指针。

间接寻址把VB200的地址送入AC1建立指针

把指针处的值送到AC0

本指令是MOVW,为字型长度,则AC0的高16位空闲未用;若是MOVD双字型指令,则将VB200∼VB203的内容(即12345678)送到AC0这里给出的是起始字节地址,而并不表示数据长度(由随后间接存取指令类型决定)为字型。所以,如果改为&VW200或&VD200效果完全相同。(3)修改指针

存取连续地址的存储单元中数据时,通过修改指针可以非常方便地存取数据。在S7-200PLC中,指针的内容不会自动改变,可用自增或自减等指令修改指针值。这样就可连续地存取存储单元中的数据。下图中,用两次自增指令INCDAC1,将AC1指针中的值(VB200)修改为VB202后,指针即指向新地址VB202。执行指令MOVW*AC1,AC0,这样就可在变量存储器(V)中连续地存取数据,将VB202、VB203二个字节的数据(5678)传送到AC0。

修改指针值时,应根据存取的数据长度来进行调整。若对字节进行存取,指针值加1(或减1);若对字进行存取、或对定时器、计数器的当前值进行存取,指针值加2(或减2);若对双字进行存取,则指针值加4(或减4)。图5-8中,存取的数据长度是字型数据,因而指针值加2。

修改指针

把指针增加两次,指向下一个字把AC1(VW202)所指向的字数值送到AC0

注意:

(1)VW0为16位二进制数,是由VB0、VB1两个字节组成,其中VB0中的8位为高8位,VB1中的8位为低8位。

(2)VD0是由VB0、VB1、VB2、VB3四个字节组成,其中VB0中的8位为高8位,VB3中的8位为低8位。程序设计中需要用到PLC的内部元件:输入/输出继电器、辅助继电器、定时器、计数器等、这些元件在PLC内部是以寄存器的形式出现的,每个元件对应于一个或多个内部单元,而非实际的硬件元件,所以称为内部软元件或编程元件。S7-200PLC将编程元件统一归为存储器单元,存储单元按字节进行编址,无论所寻址的是何种数据类型,通常应指出它所在的存储区域和在区域内的字节地址。每个单元都有唯一的地址,地址由名称和编号两部分组成。3.1.3S7-200

PLC的编程元件I(输入继电器)Q(输出继电器)AI(模拟量输入映像寄存器)AQ(模拟量输出映像寄存器)V(变量存储器)L(局部变量存储器)M(辅助继电器)SM(特殊标志继电器)S(顺序控制继电器)T(定时器)C(计数器)AC(累加器)外部输入/输出内部

(1)输入映像寄存器(I)

PLC的输入端子是从外部接收输入信号的窗口。每一个输入端子与输入映像寄存器(I)的相应位相对应。输入点的状态,在每次扫描周期开始(或结束)时进行采样,并将采样值存于输入映像寄存器,作为程序处理时输入点状态的依据。输入映像寄存器的状态只能由外部输入信号驱动,而不能在内部由程序指令来改变。输入映像寄存器(I)的地址格式为:

位地址:I[字节地址].[位地址],如I0.1。

字节、字、双字地址:I[数据长度][起始字节地址],如IB4、IW6、ID10。

CPU226模块输入映像寄存器的有效地址范围为:

I(0.0~15.7);IB(0~15);IW(0~14);ID(0~12)。(2)输出映像寄存器(Q)

每一个输出模块的端子与输出映像寄存器的相应位相对应。CPU将输出判断结果存放在输出映像寄存器中,在扫描周期的结尾,CPU以批处理方式将输出映像寄存器的数值复制到相应的输出端子上。通过输出模块将输出信号传送给外部负载。输出映像寄存器(Q)地址格式为:

位地址:Q[字节地址].[位地址],如Q1.1

字节、字、双字地址:Q[数据长度][起始字节地址],如QB5、QW8、QD11。

CPU226模块输出映像寄存器的有效地址范围为:

Q(0.0~15.7);QB(0~15);QW(0~14);QD(0~12)。在程序的执行过程中,对于输入或输出的存取通常是通过映像寄存器,而不是实际的输入、输出端子。S7-200CPU执行有关输入输出程序时的操作过程如图所示。图S7-200CPU输入、输出的操作

(3)模拟量输入映像寄存器(AI)模拟量输入模块将外部输入的模拟信号的模拟量转换成1个字长的数字量,存放在模拟量输入映像寄存器(AI)中,供CPU运算处理。模拟量输入(AI)的值为只读值。模拟量输入映像寄存器(AI)的地址格式为:

AIW[起始字节地址],如AIW4。模拟量输入映像寄存器(AI)的地址必须用偶数字节地址(如AIW0,AIW2,AIW4…)来表示。

CPU226模块模拟量输入映像寄存器(AI)的有效地址的范围为:AIW(0~30)。返回

(4)模拟量输出映像寄存器(AQ)

CPU运算的相关结果存放在模拟量输出映像寄存器(AQ)中,供D/A转换器将1个字长的数字量转换为模拟量,以驱动外部模拟量控制的设备。模拟量输出映像寄存器(AQ)中的数字量为只写值。模拟量输出映像寄存器(AQ)的地址格式为:

AQW[起始字节地址],如AQW10。模拟量输出映像寄存器(AQ)的地址必须用偶数字节地址(如AQW0,AQW2,AQW4…)来表示。

CPU226模块模拟量输出映像寄存器(AQ)的有效地址的范围为:AQW(0~30)。

(5)

变量存储器(V)变量存储器(V)存放全局变量、存放程序执行过程中控制逻辑操作的中间结果或其他相关的数据。变量存储器是全局有效。全局有效是指同一个存储器可以在任一程序分区(主程序、子程序、中断程序)被访问。

V存储器的地址格式为:

位地址:V[字节地址].[位地址],如V10.2。

字节、字、双字地址:V[数据长度][起始字节地址],如VB20、VW100、VD320。

CPU226模块变量存储器的有效地址范围为:

V(0.0~10239.7);VB(0~10239)。

(6)局部存储器(L)局部存储器用来存放局部变量。局部存储器是局部有效的。局部有效是指某一局部存储器只能在某一程序分区(主程序或子程序或中断程序)中使用。

S7-200PLC局部存储器可用作暂时存储器或为子程序传递参数。可以按位、字节、字、双字访问局部存储器。可以把局部存储器作为间接寻址的指针,但是不能作为间接寻址的存储器区。局部存储器(L)的地址格式为:

位地址:L[字节地址].[位地址],如L0.0。

字节、字、双字地址:L[数据长度][起始字节地址],如LB33、LW44、LD55。

(7)内部标志位存储器(M)

内部标志位存储器(M)也称内部线圈,是模拟继电器控制系统中的中间继电器,它存放中间操作状态,或存储其他相关的数据。内部标志位存储器(M)以位为单位使用,也可以字节、字、双字为单位使用。内部标志位存储器(M)的地址格式为:

位地址:M[字节地址].[位地址],如M26.7。

字节、字、双字地址:M[数据长度][起始字节地址],如MB11、MW23、MD26。

CPU226模块内部标志位存储器的有效地址范围为:

M(0.0~31.7);MB(0~31);MW(0~30);MD(0~28)。

(8)特殊标志位存储器(SM)特殊标志位(SM)即特殊内部线圈。它是用户程序与系统程序之间的界面,为用户提供一些特殊的控制功能及系统信息,用户对操作的一些特殊要求也通过特殊标志位(SM)通知系统。特殊标志位区域分为只读区域(SM0.0~SM29.7,头30个字节为只读区)和可读写区域,在只读区特殊标志位,用户只能利用其触点。特殊标志位存储器(SM)的地址表示格式为:

位地址:SM[字节地址].[位地址],如SM0.1。字节、字、双字地址:SM[数据长度][起始字节地址],如SMB86、SMW100、SMD12。

CPU226模块特殊标志位存储器的有效地址范围为:

SM(0.0~549.7);SMB(0~549);SMW(0~548);

SMD(0~546)。特殊标志位存储区:SMSM为CPU与用户之间交换信息。SM0.1为仅在执行用户程序的第一个扫描周期为“1”状态。SM0.0一直为“1”状态。表3-3SMB0的各个位功能描述SMB0的各个位功能描述SM0.0常闭触点,在程序运行时一直保持闭合状态SM0.1该位在程序运行的第一个扫描周期闭合,常用于调用初始化子程序SM0.2若永久保持的数据丢失,则该位在程序运行的第一个扫描周期闭合。可用于存储器错误标志位SM0.3开机后进入RUN模式,该位将闭合一个扫描周期。可用于启动操作前为设备提供预热时间SM0.4该位为一个1min时钟脉冲,30s闭合,30s断开SM0.5该位为一个1s时钟脉冲,0.5s闭合,0.5s断开SM0.6该位为扫描时钟,本次扫描闭合,下次扫描断开,不断循环SM0.7该位指示CPU工作方式开关的位置(断开为TERM位置,闭合为RUN位置)。利用该位状态,当开关在RUN位置时,可使自由口通信方式有效;开关切换至TERM位置时,与编程设备的正常通信有效

(9)顺序控制继电器存储器(S)顺序控制继电器(S)用于顺序控制(或步进控制)。顺序控制继电器指令(SCR)基于顺序功能图(SFC)的编程方式。SCR指令提供控制程序的逻辑分段,从而实现顺序控制。顺序控制继电器存储器(S)的地址格式为:

位地址:S[字节地址].[位地址],如S3.1。

字节、字、双字地址:S[数据长度][起始字节地址],如SB4、SW10、SD21。

CPU226模块顺序控制继电器存储器的有效地址范围为:

S(0.0~31.7);SB(0~31);SW(0~30);SD(0~28)。

(10)定时器存储器(T)

定时器是模拟继电器控制系统中的时间继电器。S7-200PLC定时器的时基有三种:1ms、10ms、100ms。通常定时器的设定值由程序赋予,需要时也可在外部设定。定时器存储器地址表示格式为:T[定时器号],如T24。

S7-200PLC定时器存储器的有效地址范围为:T(0~255)。

(11)计数器存储器(C)计数器是累计其计数输入端脉冲电平由低到高的次数,有三种类型:增计数、减计数、增减计数。通常计数器的设定值由程序赋予,需要时也可在外部设定。计数器存储器地址表示格式为:C[计数器号],如C3。

S7-200PLC计数器存储器的有效地址范围为:C(0~255)。定时器存储区:T定时器的分辨率(时基)决定了每个时间间隔的时间长短。SIMATIC定时器有三种分辨率:1ms、10ms和100ms。如下表所示,定时器号决定了定时器的分辨率。有记忆定时器数据有两种形式:-当前值:16位有符号整数,存储定时器所累计的时间。-定时器位:按照当前值和预置值的比较结果置位或者复位。用定时器地址(T+定时器号)来存取这两种形式的定时器数据。

T33……T33……计数器器存储区:C计数器可以用于累计其输入端脉冲电平由低到高的次数。CPU提供了三种类型的计数器:一种只能增计数;一种只能减计数;另外一种既可以增计数,又可以减计数。计数器存储区:C计数器数据有两种形式:-当前值:16位有符号整数,存储累计值。

-计数器位:按照当前值和预置值的比较结果置位或者复位。用计数器地址(C+计数器号)来存取计数器数据。使用位操作指令则存取计数器位;使用字操作指令,则存取计数器当前值。

(12)高速计数器(HC)高速计数器用来累计高速脉冲信号。当高速脉冲信号的频率比CPU扫描速率更快时,必须要用高速计数器计数。高速计数器的当前值寄存器为32位(bit),读取高速计数器当前值应以双字(32位)来寻址。高速计数器的当前值为只读值。高速计数器地址格式为:HC[高速计数器号],如HC1。

CPU226模块高速计数器的有效地址范围为:HC(0~5)。

(13)累加器(AC)累加器是用来暂时存储计算中间值的存储器,也可向子程序传递参数或返回参数。S7-200CPU提供了4个32位累加器(AC0、AC1、AC2、AC3)。累加器的地址格式为:AC[累加器号],如AC0。

CPU226模块累加器的有效地址范围为:AC(0~3)。累加器是可读写单元,可以按字节、字、双字存取累加器中的数值。由指令标识符决定存取数据的长度,例如,MOVB指令存取累加器的字节,DECW指令存取累加器的字,INCD指令存取累加器的双字。按字节、字存取时,累加器只存取存储器中数据的低8位、低16位;以双字存取时,则存取存储器的32位。累加器:ACS7-200提供了四个32位累加器AC0-AC3;可以按字节、字或双字的形式来存取累加器中的数值;13.1.4S7-200PLC的程序结构1.线性化编程2.分部式编程3.结构化编程S7-200PLC的程序结构属于线性化编程,其用户程序一般由三部分构成:(1)程序块:主程序、子程序、中断程序(2)数据块:S7-200PLC中的数据块,一般为DB1,主要用来存放用户程序运行所需的数据。在数据块中允许存放的数据类型为布尔型、十进制、二进制或十六进制,字母、数字和字符型。(3)系统块:在S7-200PLC中,系统块中存放的是CPU组态数据,如果在编程软件或其他编程工具上未进行CPU的组态,则系统以默认值进行自动配置。例:若VB0=25,VB1=36,则VW0=?,V0.5=?

把VB0中的25化成8位二进制数为00011001

把VB1中的36化成8位二进制数为00100100VW0由VB0、VB1组成,且VB0为高8位,VB1为低8位,故VW0的16位二进制数为:0001100100100100,把此数化成十进制为6436,即:VW0=6436。V0.5表示变量存贮器V的第0个字节的第5位的状态,即为0。【知识链接】数制转换

十进制数与非十进制数相互转换有以下几种情况:(1)十进制数整数换为二进制数的方法:用十进制整数除2取余数,逆序排列。如:(11)10=(1011)2(2)二进制数换为十进制数整数的方法:

任何一种数制表示的数都可以写成按位权展开的多项式之和,位权是指一个数字在某个固定位置上所代表的值,处在不同位置上的数字符号所代表的值不同,每个数字的位置决定了它的值或者位权。而位权与基数的关系是:各进制中位权的值是基数的若干次幂。以二进制为例介绍二进制转化为十进制的方法如下:(1101)2=1×20

0×21+1×22

+1×23=11(3)二进制数整数换十六进制数的方法:二进制数从右向左4位一组分开,高位不足4位补足4位,然后分别把每组换成16进制,连起来即为所求的十六进制数。如:(110

1101

0101)2=(6D5)16

(4)十六进制整数换为二进制数的方法:把十六进制的每一位化成4位的二进制数,连起来即为对应的二进制数。如:(57A)16=(0101

0111

1010)2

基本逻辑指令在语句表语言中是指对位存储单元的简单逻辑运算,在梯形图中是指对触点的简单连接和对标准线圈的输出。3.2.1位逻辑指令3.2.2定时器指令3.2.3计数器指令3.2.4定时器及计数器指令的使用扩展3.2.5移位寄存器指令3.2.6比较触点指令3.2.7顺序控制指令3.2S7-200PLC的基本逻辑指令

CPU221CPU222CPU224CPU224XPCPU226输入映像寄存器I0.0~I15.7I0.0~I15.7I0.0~I15.7I0.0~I15.7I0.0~I15.7输出映像寄存器Q0.0~Q15.7Q0.0~Q15.7Q0.0~Q15.7Q0.0~Q15.7Q0.0~Q15.7模拟量输入AIW0~AIW30AIW0~AIW30AIW0~AIW30AIW0~AIW30AIW0~AIW30模拟量输出AQW0~AQW30AQW0~AQW30AQW0~AQW30AQW0~AQW30AQW0~AQW30变量存储器VB0~VB2047VB0~VB2047VB0~VB8191VB0~VB10239VB0~VB10239局部存储器LB0~LB53LB0~LB53LB0~LB53LB0~LB53LB0~LB53内部标志位存储器M0.0~M31.7M0.0~M31.7M0.0~M31.7M0.0~M31.7M0.0~M31.7特殊标志位存储器SM0.0~SM179.7SM0.0~SM29.7SM0.0~SM279.7SM0.0~SM29.7SM0.0~SM549.7SM0.0~SM29.7SM0.0~SM549.7SM0.0~SM29.7SM0.0~SM549.7SM0.0~SM29.7定时器T0~T255带保持的通电延时,时基为1ms:T0、T64;10ms:T1~T4、T65~T68;100ms:T5~T31、T65~T95通电/断电延时,时基为1ms:T32、T96;10ms:T33~T36、T97~T001;100ms:T37~T63、T101~T255计算器C0~C255C0~C255C0~C255C0~C255C0~C255高速计数器HC0~HC5HC0~HC5HC0~HC5HC0~HC5HC0~HC5状态寄存器S0.0~S31.7S0.0~S31.7S0.0~S31.7S0.0~S31.7S0.0~S31.7累加器AC0~AC3AC0~AC3AC0~AC3AC0~AC3AC0~AC3调用/子程序0~630~630~630~630~63中断程序0~1270~1270~1270~1270~127跳转/标号0~2550~2550~2550~2550~2553.2.1位逻辑指令

1.逻辑取及线圈驱动指令2.触点串联指令3.触点并联指令4.置位/复位指令5.RS触发器和SR触发器6.串联电路块的并联和并联电路块的串联指令7.边沿脉冲指令8.立即指令9.堆栈操作指令10.NOT和NOP指令1.逻辑取及线圈驱动指令逻辑取及线圈驱动指令位LD、LDN、=LD、LDN、“=”指令使用说明如下:1)LD、LDN指令用于与输入公共线(输入母线)相连的触点,在分支电路块的开始处也要使用LD、LDN指令,与后面的OLD、ALD指令配合完成电路块的编程。2)“=”指令用于输出继电器、辅助继电器、定时器及计数器等,但不能用于输入继电器。3)并联的“=”指令可以连续使用任意次。4)在同一程序中不要使用双线圈输出,即同一个元器件在同一程序中只使用一次“=”指令。5)LD、LDN指令的操作数为I、Q、M、SM、T、C、V和S。“=”指令的操作数为Q、M、SM、V和S。什么是双线圈输出?在用户程序中,同一编程元件的线圈使用了两次或多次,称为双线圈输出。举例:控制要求如下:同时按下按钮I0.1及I0.2,指示灯Q0.1要亮。按下按钮I0.4,则5秒后Q0.1也要亮。说明:根据控制要求,程序在M0.1和M0.2处都应该输出Q0.1.在需要输出Q0.1处,输出不同的中间继电器,然后把中间继电器的常开点并联起来,再集中输出一个Q0.1线圈。说明:把满足Q0.1输出的条件并联起来,再集中输出一个Q0.1的线圈,也能避免双线圈的问题,满足控制要求。2.触点串联指令A:与指令,用于单个常开触点串联连接。AN:与反指令,用于单个常闭触点串联连接。A、AN、=指令可以多次连续使用不能多次连续使用3.触点并联指令O:或指令,用于单个常开触点并联连接。ON:或反指令,用于单个常闭触点并联连接。O、ON指令可作为一个触点的并联连接指令,紧接在LD和LDN指令之后使用,即对前面LD、LDN指令所规定的触点再并联一个触点,可以连续使用’O、ON指令可进行如图所示的多重并联。图3-9多重并联程序4.置位/复位指令将位存储区的指定位(位bit)开始的N个同类存储器位置位。指令格式:Sbit,N;例:SQ0.0,1将位存储区的指定位(位bit)开始的N个同类存储器位复位。当用复位指令时,如果是对定时器T位或计数器C位进行复位,则定时器或计数器位被复位,同时,定时器或计数器的当前值被清零。指令格式:Rbit,N;例:RQ0.2,

3如上程序,当条件I0.1接通,则从Q0.1开始的三个线圈被置位接通,即使I0.0断开,3个线圈还是保持输出,S指令相当于自锁功能。一旦I0.2接通,Q0.1开始的2个线圈被复位断开。对于同一软元件(S、R),可以多次使用,顺序也可以随意,但最后执行者有效。举例:按下启动按钮I0.0,则5s后指示灯Q0.0亮;按下停止按钮I0.1,则3s后指示灯灭。此例子为标准的延时启动,延时断开程序,通过置位及复位指令完成。5.RS触发器和SR触发器

置位优先触发器(SR):当置位端(S1)和复位端(R)均为1时,输出位为1;复位优先触发器(RS):当置位端(S)和复位端(R1)均为1时,输出位为0

当置位端为1、复位端为0时,输出1;当置位端为0、复位端为1时,输出为0;当置位端和复位端均为0时,输出位保持不变。6.串联电路块的并联和并联电路块的串联指令串联电路块的并联连接。(两个以上触点串联形成的支路叫串联电路块)

OLD指令不需要地址,它相当于需并联的两块电路右端的一段垂直连线。并联电路块的串联连接。(两条以上支路并联形成的电路叫并联电路块)7.边沿脉冲指令

EU正跳变(上升沿触发);ED负跳变(下降沿触发);无操作元件。边沿触发:用边沿触发信号产生一个机器周期的扫描脉冲。简单流水线应用

如下图所示,小车进车库,车库门前有个感应器I0.1,在车库门后也有一个感应器I0.0;当小车进库前,感应器感应到,则门自动上升,上升限位开关为I0.2,当现车脱离了门后的感应器后,门自动下降,下限位开关为I0.3.程序如下:8.立即指令

立即指令允许对输入和输出点进行快速和直接存取。当用立即指令读取输入点的状态时,相应的输入映像寄存器中的值并未发生更新;用立即指令访问输出点时,访问的同时,相应的输出寄存器的内容也被刷新。只有输入继电器I和输出继电器Q可以使用立即指令。(1)立即触点指令(2)立即输出指令(3)SI,立即置位指令(4)RI,立即复位指令1.立即触点指令

在每个标准触点指令的后面加“I”。指令执行时,立即读取物理输入点的值,但是不刷新相应映像寄存器的值。这类指令包括:LDI、LDNI、AI、ANI、OI和ONI。下面以LDI指令为例。指令格式:LDIbit(bit只能是I类型)例:

LDII0.2立即I/O指令—立即输入直接读取物理输入点的值,输入映象寄存器内容不更新。指令操作数仅限于输入物理点的值。2.立即输出指令=I,立即输出指令。用立即指令访问输出点时,把栈顶值立即复制到指令所指定的物理输出点,同时,相应的输出映像寄存器的内容也被刷新。指令格式:=Ibit(bit只能是Q类型)例:

=IQ0.2立即I/O指令—立即输出执行立即输出指令时,则将结果同时立即复制到物理输出点和相应的输出映象寄存器4.立即复位指令

RI,立即复位指令。用立即复位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即复位,同时,相应的输出映像寄存器的内容也被刷新。各操作数类型及范围如表5-9所示。

指令格式:RIbit,N;例:RIQ0.0,1SI,立即置位指令。用立即置位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即置位,同时,相应的输出映像寄存器的内容也被刷新。指令格式:SIbit,N;例:

SIQ0.0,

23.立即置位指令立即I/O指令—立即置位和复位指令须指出:立即I/O指令是直接访问物理输入输出点的,比一般指令访问输入输出映象寄存器占用CPU时间要长,因而不能盲目地使用立即指令,否则,会加长扫描周期时间,反而对系统造成不利影响。应用举例:

9.堆栈操作指令基本逻辑指令涉及可编程元件的触点和线圈的简单连接,不能表达在梯形图中触点的复杂连接结构。复杂逻辑指令主要用来描述对触点进行的复杂连接,同时,它们对逻辑堆栈也可以实现非常复杂的操作。本类指令包括:ALD、OLD、LPS、LRD、LPP和LDS,这些指令中除LDS外,其余指令都无操作数。

返回1.栈装载与指令

2.栈装载或指令

OLD,栈装载或指令(或块)。用于将串联电路块进行并联连接。执行OLD指令,将堆栈中的第一级和第二级的值进行逻辑“或”操作,结果置于栈顶(堆栈第一级),并将堆栈中其余各级的内容依次上弹一级。

ALD,栈装载与指令(与块)。用于将并联电路块进行串联连接。执行ALD指令,将堆栈中的第一级和第二级的值进行逻辑“与”操作,结果置于栈顶(堆栈第一级),并将堆栈中的第三级至第九级的值依次上弹一级。

9.堆栈操作指令栈装载与指令和栈装载或指令的操作过程如图所示,图中“x”表示不确定

温馨提示

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

评论

0/150

提交评论