S7-200常用指令

  • 格式:doc
  • 大小:247.00 KB
  • 文档页数:9

S7-200常用指令

一、PLC梯形图语言的编程原则

1、梯形图由多个梯级组成,每个线圈可构成一个梯级, 每个梯级有多条支路,每个梯级代表一个逻辑方程;

2、梯形图中的继电器继电器、接点、线圈不是物理的,是PLC存储器中的位(1=ON;0=OFF);编程时常开/常闭接点可无限次引用,线圈输出只能是一次;

3、梯形图中流过的不是物理电流而是“概念电流”,只 能从左向右流;

4、用户程序的运算是根据PLC的输入/输出映象寄存器中的内容,逻辑运算结果可以立即被后面的程序使用;

5、PLC的内部继电器不能做控制用,只能存放逻辑控制的中间状态;

6、输出线圈不能直接驱动现场的执行元件,通过I/O模块上的功率器件来驱动。

二、存储器区域

输入映像寄存器(I)

输出映像寄存器(Q)

变量存储器( V )

定时器存储器( T )

计数器存储器( C ) 模拟量输入映像寄存器(AI)

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

累加器(AC)

高速计数器(H C )

说明:

1) 输入映像寄存器(I)的状态只能由外部输入信号驱动,而不能由程序来改变其状态。即在程序中,只能出现输入映像寄存器的触点,而不能出现其线圈。

2) 输出映像寄存器(Q)是PLC用来向外部负载发送控制命令的窗口。每一个输出端子与输出映像寄存器( Q )的一个相应位想对应。并有无数对常开和常闭触点供编程时使用。

3) 定时器存储器(T),PLC所提供的定时器作用相当于继电器控制系统中的时间继电器。每个定时器可提供无数对常开和常闭触点供编程使用。其设定时间通常由程序设置。S7-200 PLC提供了三种定时器:TON-通电延时;TONR-有记忆通电延时;TOF-断电延时。S7-200 PLC提供了三种定时精度:1ms、10ms、100ms

4) 计数器(C),计数器用于累计计数输入端接收到的脉冲电平由低到高的脉冲个数。计数器可提供无数对常开和常闭触点供编程使用,其设定值通常由程序赋予。地址格式:C[计数器号]如C5,S7-200 PLC提供了三种计数器:CTU-增计数器、CTD-减计数器、CTUD-增减计数器

5) 变量存储器(V) 变量存储器主要用于存储全局变量,或者存放数据运算的中间运算结果或设置参数。

6) 累加器AC累加器是用来暂存数据的寄存器,它可以用来存放运算数据、中间数据和结果。CPU提供了4个32位的累加器,其地址编号为AC0~AC3。累加器的可用长度为32位,可采用字节、字、双字的存取方式,按字节、字只能存取累加器的低8位或低16位,双字可以存取累加器全部的32 位。

7) 高速计数器HC一般计数器:计数频率受扫描周期的影响,不能太高。高速计数器: 可用来累计比CPU 的扫描速度更快的事件。注: 高速计数器的当前值是一个双字长(32位)的整数,且为只读值。

三、程序分区

用户程序可分为三个程序分区:

主程序、子程序、中断程序

主程序(OB1):用户程序的主体,每一个扫描周期都要执行一次。

子程序:程序的可选部分,只有主程序调用时,才能够执行。

中断程序:程序的可选部分,只有中断事件发生时,才能够执行。

四、基本逻辑指令

1. 逻辑取(装载)LD/LDN

2.输出指令(线圈驱动指令):=

3. 触点串联指令A(And)、AN(And not) 4. 触点并联指令:O(Or)/ON(Or not)

5.置位/复位指令 S/R

6. 正负跳变指令 EU/ED

指令说明:

1) 装入常开指令(逻辑取)LD,常开触点逻辑运算的开始;LDN(load not):常闭触点逻辑运算的开始 (对操作数的状态取反)。装入常闭指令LDN触点代表CPU 对存储器的读操作, 用户程序中,触点可以使用无数次。

2) 输出指令: =(OUT):线圈驱动(赋值指令)。将逻辑运算的结果输出到指定存储器位或输出继电器对应的映像寄存器位,以驱动线圈。线圈:代表CPU对存储器的写操作,用户程序中同一线圈只能使用一次。

3) 触点串联指令A(And),AN(And not),定义A(And):串联连接常开触点。AN(And not)串联连接常闭触点。

4) 触点并联指令:O(OR),ON(OR NOT)

O(OR):并联连接常开触点。ON:并联连接常闭触点。

5) 置位/复位指令 S/R ,

置位指令S:使能输入有效后从起始位S-bit开始的N 个 位置“1”并保持。

复位指令R:使能输入有效后从起始位S-bit开始的N 个位清“0”并保持。

6) 正负跳变指令EU/ED:正跳变触点每检测到一个正跳变(由OFF变为ON),能让其后的触点或线圈接通一个扫描周期。负跳变触点每检测到一个负跳变(由ON变为OFF ),能让其后的触点或线圈接通一个扫描周期

五、其他指令

1立即触点指令

指令执行时,立即读取物理输入点的值,但不刷新相应的输入映像寄存器中的值。立即输入指令包括:LDI、 LDNI 、 AI 、 ANI、 OI、 ONI

2立即输出指令

令执行时,立即指令访问输出点的同时,刷新相应的输出映像寄存器中的值。

3立即置位指令

立即置位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多128个)物理输出点立即被置位,同时,相应的输出映像寄存器中的内容也被刷新。

4. 立即复位指令

立即复位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多128个)物理输出点立即被复位,同时,相应的输出映像寄存器中的内容也被刷新。

5装载与指令ALD.

ALD(And load) :用于串联连接并联触点组成的电路块。

ALD指令使用说明:

1)并联电路块与前面电路串联连接时,使用ALD指令。分支的起点用LD,LDN指令。并联电路结束后使用ALD指令与前面电路串联。

2)如果有多个并联电路块串联,顺次使用ALD指令与前面支路连接,支路数量没有限制。

3)ALD指令无操作数

6逻辑环节(电路块)的并联指令OLD

OLD(OR LOAD) :用于并联连接串联触点组成的电路块。

OLD指令使用说明:

1) 几个串联支路并联连接时,其支路的起点以LD ,LDN开始,以OLD结束。

2) 如需将多个支路并联,从第二条支路开始,在每一条支路后面加OLD指令。

3) OLD指令没有操作数。

7计数器指令

计数器用来累计输入脉冲的次数。计数器编程时:输入它的预设值PV(计数的次数),计数器累计它的脉冲输入端电位上升沿(正跳变)个数,当计数器达到预设值PV时,相应状态发生变化。计数器指令有3种:增计数CTU、增减计数CTUD和减计数CTD。指令操作数有4方面:编号、预设值、脉冲输入、复位输入。

7.1加计数器指令CTU

梯形图指令符号中:CU为加计数脉冲输入端;R为加计数复位端;PV为预置值。PV预设值最大范围:32767; PV的数据类型:INT;PV操作数为: VW, T, C, IW, QW, MW, SMW, AC,

AIW, 常数

7.2减计数器指令CTD

梯形图指令符号中:CD为减计数脉冲输入端;LD为减计数复位端;PV为预置值。

7.3增减计数CTUD

梯形图指令符号中:CU为加计数脉冲输入端;CD为减计数脉冲输入端;R为计数复位端;PV为预置值。

首次扫描,定时器位OFF,当前值为0。CU输入的每个上升沿,计数器当前值增加1个单位,

CD输入的每个上升沿,都使计数器当前值减小1个单位,

计数器指令总结:

可以用复位指令对3种计数器复位,复位的结果是使计数器位变为OFF,同时当前值复位。

在一个程序中,同一个计数器编号只能使用一次。脉冲输入和复位输入同时有效时,复位优先。

8字节传送指令

9数据立即传送指令

1传送字节立即读指令:BIR

使能输入有效时,立即读取单字节物理输入区数据IN,并传送到OUT所指的字节存储单元。

指令格式:BIR IN, OUT

2传送字节立即写指令:BIW 指令格式:BIW IN, OUT

10块传送指令

字节块传送指令:BMB;字块传送指令:BMW; 双字块传送指令:BMD。

使能输入有效时,把从输入字节IN开始的N个字节型数据传送到从OUT开始的N个字节存储单元。指令格式:BMB IN, OUT, N

11移位寄存器指令(Shift Register Bit)

该指令在梯形图中有3个数据输入端:DATA为数值输入,将该位的值移入移位寄存器;

S BIT为移位寄存器的最低位端;N指定移位寄存器的长度。每次使能输入有效时,整个移位寄存器移动1位。

移位特点:

➢ 移位寄存器长度在指令中指定,没有字节型、字型、双字型之分。可指定的最大长

度为64位,可正也可负。

➢ 移位数据存储单元的移出端与SM1.1(溢出)相连,所以最后被移出的位被放到SM1.1位存储单元。

➢ 移位时,移出位进入SM1.1,另一端自动补以DATA移入位的值。

➢ 正向移位时长度N为正值,移位是从最低字节的最低位S BIT移入,从最高字节的最高位MSB.b移出;反向移位时,长度N为负值,移位是从最高字节的最高位移入,从最低字节的最低位S BIT移出。

12比较操作指令

1. 字节比较

字节比较用于比较两个字节型整数值IN1和IN2的大小,字节比较是无符号的。比较式可以是LDB、AB或OB后直接加比较运算符构成。如:LDB=、AB<>、OB>= 等。

2. 整数比较

整数比较用于比较两个一字长整数值IN1和IN2的大小,整数比较是有符号的(整数范围为16#8000和16#7FFF之间)。比较式可以是LDW、AW或OW后直接加比较运算符构成。LDW=、AW<>、OW>= 等。

3. 双字整数比较

双字整数比较用于比较两个双字长整数值IN1和IN2的大小,双字整数比较是有符号的(双字整数范围为16#80000000和16#7FFFFFFF之间)。比较式可以是LDD、AD或OD后直接加比较运算符构成。LDD=、AD<>、OD>=

4. 实数比较

实数比较用于比较两个双字长实数值IN1和IN2的大小,实数比较是有符号的(负实数范围为-1.175495E-38和-3.402823E+38,正实数范围为+1.175495E-38和+3.402823E+38)。比较式可以是LDR、AR或OR后直接加比较运算符构成。

LDR=、AR<>、OR>= 等。

13数学运算指令

1. 加法运算指令

加法指令是对有符号数进行相加操作。包括:整数加法、双整数加法和实数加法。

加法指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。使能流输出ENO断开的出错条件:0006(间接寻址);SM1.1(溢出);SM4.3(运行时间)。

(1)整数加法指令:+I

使能输入有效时,将两个单字长(16位)的符号整数 IN1和IN2相加,产生一个16位整数结果OUT。在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2→OUT在STL中将IN2与OUT公用一个地址单元,执行结果:IN1+OUT→OUT