全国服务热线 15821971992
公司新闻

6ES7214-1BG40-0XB0使用方法

发布时间: 2023-02-03 15:48 更新时间: 2023-10-26 04:00

S7-200编程语言的基本单位是语句,而语句的构成是指令,每条指令有两部分:一部分是操作码,另一部分是操作数。操作码是指出这条指令的功能是什么,操作数则指明了操作码所需要的数据所在。所谓寻址,就是寻找操作数的过程。S7-200 CPU的寻址分三种:立即寻址、直接寻址、间接寻址。

1.立即寻址

在一条指令中,如果操作码后面的操作数就是操作码所需要的具体数据,这种指令的寻址方式就叫立即寻址。

如:在传送指令中:MOV IN OUT——操作码“MOV”指出该指令的功能把IN中的数据传送到OUT中,其中IN——源操作数,OUT——目标操作数。

若该指令为:MOVD 2505 VD500

功能:将十进制数2505传送到VD500中,这里2505就是源操作数。因这个操作数的数值已经在指令中了,不用再去寻找,这个操作数即立即数。这个寻址方式就是立即寻址方式。而目标操作数的数值在指令中并未给出,只给出了要传送到的地址VD500,这个操作数的寻址方式就是直接寻址。

2.直接寻址

在一条指令中,如果操作码后面的操作数是以操作数所在地址的形式出现的,这种指令的寻址方式就叫直接寻址。

如:MOVD VD400 VD500

功能:将VD400中的双字数据传给VD500
5.jpg

3.间接寻址

在一条指令中,如果操作码后面的操作数是以操作数所在地址的地址形式出现的,这种指令的寻址方式就叫间接寻址。

如:MOVD 2505 *VD500

*VD500是指存放2505的地址的地址。

如VD500中存放的是VB0,则VD0则是存放2505的地址。

该指令的功能:将十进制数2505传送给VD0地址中。

S7-200系列PLC的计数器指令

1)类型及编号

CTU——增计数

CTD——减计数 C0~C255

CTUD——增减计数

计数器6个要素: 指令格式(类型、编号等) 预置值——PV

使能——CU、CD 复位——R、LD

当前值——Cxxx 计数器状态(位)——与定时器类似

2)功能、时序图及应用示例

此例为一个增减计数器的应用示例,其与MODICON PLC计数器指令的比较,同学可自己进行,并注意到,计数器指令的使能均是采样上升沿(“0” →“1” )。

S7-200系列PLC其它常用指令

1.脉冲产生指令EU/ED的应用

EU指令在EU指令前的逻辑运算结果由OFF到ON时就产生一个宽度为一个扫描周期的脉冲,驱动其后面的输出线圈。

2.png

2 .逻辑堆栈的操作

LPS为进栈操作,LRD为读栈操作,LPP为出栈操作。

S7-200系列PLC中有一个9层堆栈,用于处理逻辑运算结果,称为逻辑堆栈。

3 .NOT、NOP和MEND指令

NOT、NOP及MEND指令的形式及功能如表4-19所示。

表4-19  NOT、NOP及MEND指令的形式及功能

STL

功能

操作数

NOT

逻辑结果取反

NOP

空操作

MEND

无条件结束

NOT为逻辑结果取反指令,在复杂逻辑结果取反时为用户提供方便。NOP为空操作,对程序没有实质影响。MEND为无条件结束指令,在编程结束时一定要写上该指令,否则会出现编译错误。调试程序时,在程序的适当位置插入MEND指令可以实现程序的分段调试。

4.比较指令

比较指令是将两个操作数按规定的条件作比较,条件成立时,触点就闭合。比较运算符有:=、>=、<=、>、<和<>。

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

整数INl和IN2的寻址范围:VB、IB、QB、MB、SB、SMB、LB、*VD、*AC、*LD和常数。

指令格式例如: LDB= VBl0,VBl2

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

整数INl和IN2的寻址范围:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。

指令格式例如: LDW= VWl0,VWl2

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

双字整数INl和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常数。

指令格式例如: LDD= VDl0,VDl2

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

实数INl和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常数。

指令格式例如: LDR= VDl0,VDl2

S7-200PLC功能指令概述

般的逻辑控制系统用软继电器、定时器和计数器及基本指令就可以实现。利用功能指令可以开发出更复杂的控制系统,以致构成网络控制系统。这些功能指令实际上是厂商为满足各种客户的特殊需要而开发的通用子程序。功能指令的丰富程度及其合用的方便程度是衡量PLC性能的一个重要指标。

S7-200的功能指令很丰富,大致包括这几方面:算术与逻辑运算、传送、移位与循环移位、程序流控制、数据表处理、PID指令、数据格式变换、高速处理、通信以及实时时钟等。

功能指令的助记符与汇编语言相似,略具计算机知识的人学习起来也不会有太大困难。但S7-200系列PLC功能指令毕竟太多,一般读者不必准确记忆其详尽用法,需要时可可查阅产品手册。

S7-200PLC四则运算指令介绍

四则运算指令如表4-20所示。

表4-20 四则运算指令

名称

指令格式

(语句表)

功能

操作数寻址范围

加法指令

+I IN1,OUT

两个16位带符号整数相加,得到一个16位带符号整数。

执行结果:IN1+OUT=OUT(在LAD和FBD中为:IN1+IN2=OUT)

IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD

IN1和IN2还可以是AIW和常数

+D IN1,IN2

两个32位带符号整数相加,得到一个32位带符号整数。

执行结果:IN1+OUT=OUT(在LAD和FBD中为:IN1+IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2还可以是HC和常数

+R IN1,OUT

两个32位实数相加,得到一个32位实数。

执行结果:IN1+OUT=OUT(在LAD和FBD中为:IN1+IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2还可以常数

减法指令

-I IN1,OUT

两个16位带符号整数相减,得到一个16位带符号整数。

执行结果:OUT-IN1=OUT(在LAD和FBD中为:IN1-IN2=OUT)

IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD

IN1和IN2还可以是AIW和常数

-D IN1,OUT

两个32位带符号整数相减,得到一个32位带符号整数。

执行结果:OUT-IN1=OUT(在LAD和FBD中为:IN1-IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2还可以是HC和常数

-R IN1,OUT

两个32位实数相加,得到一个32位实数。

执行结果:OUT-IN1=OUT(在LAD和FBD中为:IN1-IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2还可以常数

乘法指令

*I IN1,OUT

两个16位符号整数相乘,得到一个16整数。

执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)

IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD

IN1和IN2还可以是AIW和常数

MUL IN1,OUT

两个16位带符号整数相乘,得到一个32位带符号整数。

执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)

IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数

OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

*D IN1,OUT

两个32位带符号整数相乘,得到一个32位带符号整数。

执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2还可以是HC和常数

*R IN1,OUT

两个32位实数相乘,得到一个32位实数。

执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2还可以是常数

除法指令

/I IN1,OUT

两个16位带符号整数相除,得到一个16位带符号整数商,不保留余数。

执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT)

IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD

IN1和IN2还可以是AIW和常数

DIV IN1,OUT

两个16位带符号整数相除,得到一个32位结果,其中低16位为商,高16位为结果。

执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT)

IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数

OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

/D IN1,OUT

两个32位带符号整数相除,得到一个32位整数商,不保留余数。

执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2还可以是HC和常数

/R IN1,OUT

两个32位实数相除,得到一个32位实数商。

执行结果:OUT/IN1=OUT(在LAD和FBD中为:IN1/IN2=OUT)

IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN1和IN2还可以是常数

数学函数指令

SQRT IN,OUT

把一个32位实数(IN)开平方,得到32位实数结果(OUT)

IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN还可以是常数

LN IN,OUT

对一个32位实数(IN)取自然对数,得到32位实数结果(OUT)

EXP IN,OUT

对一个32位实数(IN)取以e为底数的指数,得到32位实数结果(OUT)

SIN IN,OUT

分别对一个32位实数弧度值(IN)取正弦、余弦、正切,得到32位实数结果(OUT)

COS IN,OUT

TAN IN,OUT

增减指令

INCB OUT

将字节无符号输入数加1

执行结果:OUT+1=OUT(在LAD和FBD中为:IN+1=OUT)

IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD

IN还可以是常数

DECB OUT

将字节无符号输入数减1

执行结果:OUT-1=OUT(在LAD和FBD中为:IN-1=OUT)

INCW OUT

将字(16位)有符号输入数加1

执行结果:OUT+1=OUT(在LAD和FBD中为:IN+1=OUT)

IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

IN还可以是AIW和常数

DECW OUT

将字(16位)有符号输入数减1

执行结果:OUT-1=OUT(在LAD和FBD中为:IN-1=OUT)

INCD OUT

将双字(32位)有符号输入数加1

执行结果:OUT+1=OUT(在LAD和FBD中为:IN+1=OUT)

IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD

IN还可以是HC和常数

DECD OUT

将字(32位)有符号输入数减1

执行结果:OUT-1=OUT(在LAD和FBD中为:IN-1=OUT)

S7-200PLC逻辑运算指令


联系方式

  • 地址:上海杨浦 上海市松江区广富林路4855弄88号3楼
  • 邮编:200093
  • 电话:15821971992
  • 经理:聂聪
  • 手机:15821971992
  • 传真:021-33556143
  • QQ:2724917714
  • Email:2724917714@qq.com