S7-200常用指令

更新时间:2023-11-19 04:29:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

S7-200常用指令

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

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

2、梯形图中的继电器继电器、接点、线圈不是物理的,是PLC存储器中的位(1=ON;0=OFF);编程时常开/常闭接点可无限次引用,线圈输出只能是一次; 3、梯形图中流过的不是物理电流而是“概念电流”,只 能从左向右流; 4、用户程序的运算是根据PLC的输入/输出映象寄存器中的内容,逻辑运算结果可以立即被后面的程序使用;

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

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

输入映像寄存器(I) 模拟量输入映像寄存器(AI) 输出映像寄存器(Q) 模拟量输出映像寄存器(AQ) 变量存储器( V ) 累加器(AC) 定时器存储器( T ) 高速计数器(H C ) 计数器存储器( 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 4. 触点并联指令:O(Or)/ON(Or not) 2.输出指令(线圈驱动指令):= 5.置位/复位指令 S/R 3. 触点串联指令A(And)、AN(And not) 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

本文来源:https://www.bwwdw.com/article/c9xv.html

Top