S7-200系列的基本逻辑指令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S7-200系列的基本逻辑指令
S7-200系列的基本逻辑指令
S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令
S7-200系列PLC的比较指令
在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B(字节)、I(W)(字整数)、D(双字整数)、R(实数),即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。

当满足比较等式,则该触点闭合。

【Byte 字节,8位元组;Integer 整数,Word 字;Double 双,两倍的;Real 实数编者注tuo】
与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。

若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令: >、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。

比如:①(30007)>(40030)
②(30007)=(40030)
③ (30007)<(40030)
①+②(30007)≥
②+③(30007)≤(40030)
①+③(30007)<>(40030)
S7-200系列PLC的定时器指令
类型、编号及分辨率
TON——接通延时
TONR——有记忆接通延时
TOF——断开延时
3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号
定时器6个要素:
指令格式(时基、编号等)预置值——PT
使能——IN 复位——3种定时器不同
当前值——Txxx 定时器状态(位)——可由触点显示
定时值=时基×预置值PT。

由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。

例如:使用10ms时基定时器实现140ms延时(时间间隔),则PT应设置为15
(10ms×15=150ms)。

2)功能
(1)接通延时定时器TON——一般用于单一时间间隔的定时
指令格式:见图,编号与分辨率及定时器类型有关。

(见教材P221:Fig8-3-3a)使能:——IN:I2.0 =“1”
当前值——T33,当在线(Online)时,此处显示当前值
预置值——PT=3,即定时时间=10ms×3=30ms
复位——IN:I2.0 = “0”
定时器状态(位)——“1”或“0”
与MODICON PLC的定时器指令对照:
区别:对MODICON PLC,当10001=“0” ,10002=“1”时,定时器当前值保持;当计时时间到,即(40040)= 30时,只要10002=“1”,定时器也是保持
对S7-200 PLC,只要I0.0=“1”,即计时,当T33当前值=3时,定时器继续计时,直至I0.0=“0”,定时器复位(相当于10002=“0” )
(1)断开延时定时器TOF——一般用于故障时间后的时间延时
指令格式:见图,编号与分辨率及定时器类型有关。

注意:定时器状态(位)=“1”(置位)及当前值复0与使能.I0.0=“1”同步;计时开始与使能I0.0从“1”→“0”(断开)同步,且当计时时间到而使能仍=“0”时,当前值保持。

(2)有记忆接通延时定时器TONR——一般用于累计许多时间间隔(指令功能及时序图见教材P222:Fig8-3-3c)
指令格式:见图,编号与分辨率及定时器类型有关。

注意:定时器状态(位)=“1”(置位)及当前值复0与使能.I0.0=“1”同步;计时开始与使能I0.0从“1”→“0”(断开)同步,且当计时时间到而使能仍=“0”时,当前值保持。

(3) 有记忆接通延时定时器TONR——一般用于累计许多时间间隔
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 .逻辑堆栈的操作
LPS为进栈操作,LRD为读栈操作,LPP为出栈操作。

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

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

表4-19 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四则运算指令
名称
指令格式
(语句表)
功能操作数寻址范围
加法指令+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和
常数
乘法指令
IN1*IN2=OUT)常数
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和
常数
/R IN1,OUT
执行结果:OUT/IN1=OUT(在
LAD和FBD中为:
IN1/IN2=OUT)
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
IN,OUT:VW,IW,QW,MW,
SW,SMW,LW,T,C,AC,
*VD,*AC,*LD
S7-200PLC逻辑运算指令
S7-200PLC数据传送指令
(语句表)
单一传送指令MOVB IN,
OUT
将IN的内容拷贝到OUT中
IN和OUT的数据类型应相
同,可分别为字,字节,双
字,实数
IN,OUT:VB,IB,QB,MB,SB,
SMB,LB,AC,*VD,*AC,*LD
IN还可以是常数
MOVW IN,
OUT
IN,OUT:VW,IW,QW,MW,SW,
SMW,LW,T,C,AC,*VD,*AC,
*LD
IN还可以是AIW和常数
OUT还可以是AQW
MOVD IN,
OUT
IN,OUT:VD,ID,QD,MD,SD,
SMD,LD,AC,*VD,*AC,*LD
IN还可以是HC,常数,&VB,&IB,
&QB,&MB,&T,&C
MOVR IN,
OUT
IN,OUT:VD,ID,QD,MD,SD,
SMD,LD,AC,*VD,*AC,*LD
IN还可以是常数
BIR IN,OUT
立即读取输入IN的值,将
结果输出到OUT
IN:IB
OUT:VB,IB,QB,MB,SB,SMB,
LB,AC,*VD,*AC,*LD
立即将IN单元的值写到
IN:VB,IB,QB,MB,SB,SMB,
LB,AC,*VD,*AC,*LD和常数
S7-200PLC移位与循环移位指令
S7-200PLC交换和填充指令
S7-200PLC 表操作指令
S7-200PLC 数据转换指令
AC ,*VD ,*AC ,*LD
ROUND IN ,OUT 将实数输入数据IN 转换成双整数,小数部分四舍五入,结果送到OUT IN ,OUT :VD ,ID ,QD ,MD ,SD ,SMD ,
LD ,AC ,*VD ,*AC ,*LD IN 还可以是常数
在ROUND 指令中IN
还可以是HC
TRUNC IN ,OUT 将实数输入数据IN 转换成双整数,小
数部分直接舍去,结果送到OUT DTR IN ,OUT 将双整数输入数据IN 转换成实数,结
果送到OUT
IN ,OUT :VD ,ID ,QD ,MD ,SD ,SMD ,LD ,AC ,*VD ,*AC ,
*LD
IN 还可以是HC 和常数
BCDI OUT
将BCD 码输入数据IN 转换成整数,结果送到OUT 。

IN 的范围为0~9999 IN ,OUT :VW ,IW ,QW ,MW ,SW ,SMW ,
LW ,T ,C ,AC ,*VD ,*AC ,*LD IN 还可以是AIW 和
常数
AC 和常数
IBCD OUT
将整数输入数据IN 转换成BCD 码,结
果送到OUT 。

IN 的范围为0~9999
IN :VW ,IW ,QW ,
S7-200PLC 特殊指令
PLC中一些实现特殊功能的硬件需要通过特殊指令来使用,可实现特定的复杂的控制目的,同时程序的编制非常简单。

多16个字节的信息
XMT TBL,PORT 用于自由端口模式。

指定激活发
送数据缓冲区(TBL)中的数据,
数据缓冲区的第一个数据指明
了要发送的字节数,PORT指定用
于发送的端口
TBL:VB,IB,QB,MB,SB,
SMB,*VD,*AC,*LD
PORT:常数
(CPU221/222/224为0;
CPU226为0或1)
RCV TBL,PORT 激活初始化或结束接收信息的服务。

通过指定端口(PORT)接收的信息存储于数据缓冲区(TBL),数据缓冲区的第一个数据指明了接收的字节数
GPA ADDR,PORT 读取PORT指定的CPU口的站地
址,将数值放入ADDR指定的地
址中
ADDR:VB,IB,QB,MB,
SB,SMB,LB,AC,*VD,
*AC,*LD
在SPA指令中ADDR还可以
是常数
PORT:常数
SPA ADDR,PORT 将CPU口的站地址(PORT)设置为ADDR指定的数值
时钟指令TODR T
读当前时间和日期并把它装入
一个8字节的缓冲区(起始地址
为T)
T:VB,IB,QB,MB,SB,
SMB,LB,*VD,*AC,*LD TODW T
将包含当前时间和日期的一个8
字节的缓冲区(起始地址是T)
装入时钟
为指定的高速计数器分配一种HSC:常数(0~5)。

相关文档
最新文档