您好,欢迎来到中国工控行业网! 请登录| 忘记密码| (10秒)免费注册
中国工控行业网知识百科

知识百科

添加百科标题

西门子S7-200 PLC指令

[浏览次数:344次]
贡献者:中国工控行业网时间:2012-01-29 15:27:40 分享到: 开心网 人人网 豆瓣 新浪微博 网易微博 腾讯微博

西门子S7-200 PLC指令学习

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

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

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

西门子S7-200 PLC指令

西门子S7-200 PLC指令的基本逻辑指令

编辑本段
  • S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。

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

     

    指令名称

    指令符

    功能

    操作数

    LD bit

    读入逻辑行或电路块的第一个常开接点

    Bit:

    I,Q,M,SM,T,C,V,S

    取反

    LDN bit

    读入逻辑行或电路块的第一个常闭接点

    A bit

    串联一个常开接点

    与非

    AN bit

    串联一个常闭接点

    O bit

    并联一个常开接点

    或非

    ON bit

    并联一个常闭接点

    电路块与

    ALD

    串联一个电路块

    电路块或

    OLD

    并联一个电路块

    输出

    = bit

    输出逻辑行的运算结果

    Bit:Q,M,SM,T,C,V,S

    置位

    S bit,N

    置继电器状态为接通

    Bit:

    Q,M,SM,V,S

    复位

    R bit,N

    使继电器复位为断开

     

西门子S7-200 PLC指令的比较指令

编辑本段
  • 在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。当满足比较等式,则该触点闭合。

    与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指令的计数器指令

编辑本段
  • S7-200系列PLC的计数器指令

    1)类型及编号

    CTU——增计数

    CTD——减计数 C0~C255

    CTUD——增减计数

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

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

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

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

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

西门子S7-200 PLC指令其它常用指令

编辑本段
  • 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指令的形式及功能

     

    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-200 PLC指令四则运算指令介绍

编辑本段
  •  四则运算指令

    名称

    指令格式

    (语句表)

    功能

    操作数寻址范围

    加法指令

    +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-200 PLC指令逻辑运算指令

编辑本段
  • S7-200PLC逻辑运算指令

    逻辑运算指令如表4-21所示。

    表4-21 逻辑运算指令

     

    名称

    指令格式

    (语句表)

    功能

    操作数

    字节逻辑运算指令

    ANDB IN1,OUT

    将字节IN1和OUT按位作逻辑与运算,OUT输出结果

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

    IN1和IN2还可以是常数

    ORB IN1,OUT

    将字节IN1和OUT按位作逻辑或运算,OUT输出结果

    XORB IN1,OUT

    将字节IN1和OUT按位作逻辑异或运算,OUT输出结果

    INVB OUT

    将字节OUT按位取反,OUT输出结果

    字逻辑运算指令

    ANDW IN1,OUT

    将字IN1和OUT按位作逻辑与运算,OUT输出结果

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

    IN1和IN2还可以是AIW和常数

    ORW IN1,OUT

    将字IN1和OUT按位作逻辑或运算,OUT输出结果

    XORW IN1,OUT

    将字IN1和OUT按位作逻辑异或运算,OUT输出结果

    INVW OUT

    将字OUT按位取反,OUT输出结果

    双字逻辑运算指令

    ANDD IN1,OUT

    将双字IN1和OUT按位作逻辑与运算,OUT输出结果

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

    IN1和IN2还可以是HC和常数

    ORD IN1,OUT

    将双字IN1和OUT按位作逻辑或运算,OUT输出结果

    XORD IN1,OUT

    将双字IN1和OUT按位作逻辑异或运算,OUT输出结果

    INVD OUT

    将双字OUT按位取反,OUT输出结果

     

西门子S7-200 PLC数据传送指令

编辑本段
  • S7-200PLC数据传送指令

    数据传送指令如表4-22所示。

    表4-22 数据传送指令

     

    名称

    指令格式

    (语句表)

    功能

    操作数

     

    单一传送指令

    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

     

    BIW IN,OUT

    立即将IN单元的值写到OUT所指的物理输出区

    IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数

    OUT:QB

     

    块传送指令

    BMB IN,OUT,N

    将从IN开始的连续N个字节数据拷贝到从OUT开始的数据块

    N的有效范围是1~255

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

    N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数

     

    BMW IN,OUT,N

    将从IN开始的连续N个字数据拷贝到从OUT开始的数据块

    N的有效范围是1~255

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

    IN还可以是AIW

    OUT还可以是AQW

    N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数

     

    BMD IN,OUT,N

    将从IN开始的连续N个双字数据拷贝到从OUT开始的数据块

    N的有效范围是1~255

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

    N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数

     

     

西门子S7-200 PLC指令移位与循环移位指令

编辑本段
  • S7-200PLC移位与循环移位指令

    移位与循环移位指令如表4-23所示。

    表4-23 移位与循环移位指令

    名称

    指令格式

    (语句表)

    功能

    操作数

    字节移位指令

    SRB OUT,N

    将字节OUT右移N位,最左边的位依次用0填充

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

    IN和N还可以是常数

    SLB OUT,N

    将字节OUT左移N位,最右边的位依次用0填充

    RRB OUT,N

    将字节OUT循环右移N位,从最右边移出的位送到OUT的最左位

    RLB OUT,N

    将字节OUT循环左移N位,从最左边移出的位送到OUT的最右位

    字移位指令

    SRW OUT,N

    将字OUT右移N位,最左边的位依次用0填充

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

    IN还可以是AIW和常数

    N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数

    SLW OUT,N

    将字OUT左移N位,最右边的位依次用0填充

    RRW OUT,N

    将字OUT循环右移N位,从最右边移出的位送到OUT的最左位

    RLW OUT,N

    将字OUT循环左移N位,从最左边移出的位送到OUT的最右位

    双字移位指令

    SRD OUT,N

    将双字OUT右移N位,最左边的位依次用0填充

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

    IN还可以是HC和常数

    N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数

    SLD OUT,N

    将双字OUT左移N位,最右边的位依次用0填充

    RRD OUT,N

    将双字OUT循环右移N位,从最右边移出的位送到OUT的最左位

    RLD OUT,N

    将双字OUT循环左移N位,从最左边移出的位送到OUT的最右位

    位移位寄存器指令

    SHRB DATA,S_BIT,N

    将DATA的值(位型)移入移位寄存器;S_BIT指定移位寄存器的最低位,N指定移位寄存器的长度(正向移位=N,反向移位=-N)

    DATA,S_BIT:I,Q,M,SM,T,C,V,S,L

    N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数

     

西门子S7-200 PLC指令交换和填充指令

编辑本段
  • S7-200PLC交换和填充指令

    交换和填充指令如表4-24所示。

    表4-24 交换和填充指令

     

    名称

    指令格式

    (语句表)

    功能

    操作数

    换字节指令

    SWAP IN

    将输入字IN的高位字节与低位字节的内容交换,结果放回IN中

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

    填充指令

    FILL IN,OUT,N

    用输入字IN填充从OUT开始的N个字存储单元

    N的范围为1~255

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

    IN还可以是AIW和常数

    OUT还可以是AQW

    N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常数

     

西门子S7-200 PLC指令表操作指令

编辑本段
  • S7-200PLC 表操作指令

    表操作指令如表4-25所示。

    表4-25 表操作指令

     

    名称

    指令格式

    (语句表)

    功能

    操作数

    表存数指令

    ATT DATA,TABLE

    将一个字型数据DATA添加到表TABLE的末尾。EC值加1

    DATA,TABLE:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD

    DATA还可以是AIW,AC和常数

    表取数指令

    FIFO TABLE,DATA

    将表TABLE的第一个字型数据删除,并将它送到DATA指定的单元。表中其余的数据项都向前移动一个位置,同时实际填表数EC值减1

    DATA,TABLE:VW,IW,QW,MW,SW,SMW,LW,T,C, *VD,*AC,*LD

    DATA还可以是AQW和AC

    LIFO TABLE,DATA

    将表TABLE的最后一个字型数据删除,并将它送到DATA指定的单元。剩余数据位置保持不变,同时实际填表数EC值减1

    表查找指令

    FND= TBL,PTN,INDEX

    FND<> TBL,PTN,INDEX

    FND< TBL,PTN,INDEX

    FND> TBL,PTN,INDEX

    搜索表TBL,从INDEX指定的数据项开始,用给定值PTN检索出符合条件(=,<>,<,>)的数据项

    如果找到一个符合条件的数据项,则INDEX指明该数据项在表中的位置。如果一个也找不到,则INDEX的值等于数据表的长度。为了搜索下一个符合的值,在再次使用该指令之前,必须先将INDEX加1

    TBL:VW,IW,QW,MW,SMW,LW,T,C, *VD,*AC,*LD

    PTN,INDEX:VW,IW,QW,MW,SW,SMW,LW,T,C,AC, *VD,*AC,*LD

    PTN还可以是AIW和AC

     

西门子S7-200 PLC指令数据转换指令

编辑本段
  • S7-200PLC 数据转换指令

    数据转换指令如表4-26所示。

    表4-26 数据转换指令

    名称

    指令格式

    (语句表)

    功能

    操作数

    数据类型转换指令

    BTI IN,OUT

    将字节输入数据IN转换成整数类型,结果送到OUT,无符号扩展

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

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

    ITB IN,OUT

    将整数输入数据IN转换成一个字节,结果送到OUT。输入数据超出字节范围(0~255)则产生溢出

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

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

    DTI IN,OUT

    将双整数输入数据IN转换成整数,结果送到OUT。

    IN:VD,ID,QD,MD,SD,SMD,LD,HC,AC,*VD,*AC,*LD,常数

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

    ITD IN,OUT

    将整数输入数据IN转换成双整数(符号进行扩展),结果送到OUT

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

    OUT:VD,ID,QD,MD,SD,SMD,LD,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

    编码译码指令

    ENCO IN,OUT

    将字节输入数据IN的最低有效位(值为1的位)的位号输出到OUT指定的字节单元的低4位

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

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

    DECO IN,OUT

    根据字节输入数据IN的低4位所表示的位号将OUT所指定的字单元的相应位置1,其它位置0

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

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

    段码指令

    SEG IN,OUT

    根据字节输入数据IN的低4位有效数字产生相应的七段码,结果输出到OUT,OUT的最高位恒为0

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

    IN还可以是常数

    字符串转换指令

    ATH IN,OUT,LEN

    把从IN开始的长度为LEN的ASCⅡ码字符串转换成16进制数,并存放在以OUT为首地址的存储区中。合法的ASCⅡ码字符的16进制值在30H~39H,41H~46H之间,字符串的最大长度为255个字符

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

    LEN还可以是AC和常数

     

西门子S7-200 PLC指令特殊指令

编辑本段
  • S7-200PLC 特殊指令

    特殊指令如表4-27所示。PLC中一些实现特殊功能的硬件需要通过特殊指令来使用,可实现特定的复杂的控制目的,同时程序的编制非常简单。

    表4-27 特殊指令

    名称

    指令格式

    (语句表)

    功能

    操作数

    中断指令

    ATCH INT,EVNT

    把一个中断事件(EVNT)和一个中断程序联系起来,并允许该中断事件

    INT:常数

    EVNT:常数(CPU221/222:0~12,19~23,27~33;CPU224:0~23,27~33;CPU226:0~33)

    DTCH EVNT

    截断一个中断事件和所有中断程序的联系,并禁止该中断事件

    ENI

    全局地允许所有被连接的中断事件

    DISI

    全局地关闭所有被连接的中断事件

    CRETI

    根据逻辑操作的条件从中断程序中返回

    RETI

    位于中断程序结束,是必选部分,程序编译时软件自动在程序结尾加入该指令

    通信指令

    NETR TBL,PORT

    初始化通讯操作,通过指令端口(PORT)从远程设备上接收数据并形成表(TBL)。可以从远程站点读最多16个字节的信息

    TBL:VB,MB,*VD,*AC,*LD

    PORT:常数

    NETW TBL,PORT

    初始化通讯操作,通过指定端口(PORT)向远程设备写表(TBL)中的数据,可以向远程站点写最多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)装入时钟

    高速计数器指令

    HDEF HSC,MODE

    为指定的高速计数器分配一种工作模式。每个高速计数器使用之前必须使用HDEF指令,且只能使用一次

    HSC:常数(0~5)

    MODE:常数(0~11)

    HSC N

    根据高速计数器特殊存储器位的状态,按照HDEF指令指定的工作模式,设置和控制高速计数器。N指定了高速计数器号

    N:常数(0~5)

    高速脉冲输出指令

    PLS Q

    检测用户程序设置的特殊存储器位,激活由控制位定义的脉冲操作,从Q0.0或Q0.1输出高速脉冲

    可用于激活高速脉冲串输出(PTO)或宽度可调脉冲输出(PWM)

    Q:常数(0或1)

    PID回路指令

    PID TBL,LOOP

    运用回路表中的输入和组态信息,进行PID运算。要执行该指令,逻辑堆栈顶(TOS)必须为ON状态。TBL指定回路表的起始地址,LOOP指定控制回路号

    回路表包含9个用来控制和监视PID运算的参数:过程变量当前值(PV n ),过程变量前值(PV n-1 ),给定值(SP n ),输出值(M n ),增益(Kc),采样时间(Ts),积分时间(Ti),微分时间(Td)和积分项前值(MX)

    为使PID计算是以所要求的采样时间进行,应在定时中断执行中断服务程序或在由定时器控制的主程序中完成,其中定时时间必须填入回路表中,以作为PID指令的一个输入参数

    TBL:VB

    LOOP:常数

     

贡献者:中国工控行业网2012-01-29 15:27:40
参与者:

本页面信息由中国工控行业网用户提供,如果涉嫌侵权,请与我们客服联系,我们核实后将及时处理。
上一篇: 衡器
下一篇: 数字温湿度传感器
收藏此页 | 推荐给好友 | 更多精彩
最新百科

电表节电器

电表节电器原理;单相纯计量表一般只含有一个基本的计量单元,一个电子计度器,一个发光二极管和脉冲输出口...