文档介绍:SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#
西门子SPLC指令简介及实例分析
数据处理、运算指令及应用
本章要点
数据传送、字节交换、字节3
数据地址 VB100 VB101 VB102 VB103
字节交换、字节立即读写指令
1. 字节交换指令
字节交换指令用来交换输入字IN的最高位字节和最低位字节。指令格式如表5-3所示。
表5-3 字节交换指令使用格式及功能
LAD
STL
功能及说明
SWAP IN
功能:使能输入EN有效时,将输入字IN的高字节与低字节交换,结果仍放在IN中
IN:VW, IW, QW, MW, SW, SMW, T, C, LW, AC。数据类型:字
ENO = 0的错误条件:0006(间接寻址错误),(运行时间)
【例5-3】字节交换指令应用举例。如图5-3所示。
程序执行结果:
指令执行之前VW50中的字为:D6 C3
指令执行之后VW50中的字为:C3 D6
2. 字节立即读写指令
字节立即读指令(MOV-BIR)读取实际输入端IN给出的1个字节的数值,并将结果写入OUT所指定的存储单元,但输入映像寄存器未更新。
字节立即写指令从输入IN所指定的存储单元中读取1个字节的数值并写入(以字节为单位)实际输出OUT端的物理输出点,同时刷新对应的输出映像寄存器。指令格式及功能如表5-4所示。
表5-4字节立即读写指令格式
LAD
STL
功能及说明
BIR IN,OUT
功能:字节立即读
IN: IB
OUT:VB, IB, QB, MB, SB, SMB, LB, AC。
数据类型:字节
BIW IN,OUT
功能:字节立即写
IN:VB, IB, QB, MB, SB, SMB, LB, AC, 常量
OUT:QB
数据类型:字节
使ENO = 0的错误条件:0006(间接寻址错误),(运行时间)。注意:字节立即读写指令无法存取扩展模块。
移位指令及应用举例
移位指令分为左、右移位和循环左、右移位及寄存器移位指令三大类。前两类移位指令按移位数据的长度又分字节型、字型、双字型3种。
1. 左、右移位指令
左、右移位数据存储单元与(溢出)端相连,移出位被放到特殊标志存储器位。移位数据存储单元的另一端补0。移位指令格式见表5-5。
(1)左移位指令(SHL)
使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向左移N位后(右端补0),将结果输出到OUT所指定的存储单元中,如果移位次数大于0,最后一次移出位保存在“溢出”存储器位。如果移位结果为0,零标志位置1。
(2)右移位指令
使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向右移N位后,将结果输出到OUT所指定的存储单元中,移出位补0,最后一移出位保存在。如果移位结果为0,零标志位置1。
(3)使ENO = 0的错误条件:0006(间接寻址错误),(运行时间)
LAD
STL
SLB OUT,N
SRB OUT,N
SLW OUT,N
SRW OUT,N
SLD OUT,N
SRD OUT,N
操作数及数据类型
IN:VB, IB, QB, MB, SB, SMB, LB, AC, 常量。
OUT:VB, IB, QB, MB, SB, SMB, LB, AC。
数据类型:字节
IN:VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, 常量。
OUT:VW, IW, QW, MW, SW, SMW, LW, T, C, AC。
数据类型:字
IN:VD, ID, QD, MD, SD, SMD, LD, AC, HC, 常量。
OUT:VD, ID, QD, MD, SD, SMD, LD, AC。
数据类型:双字
N:VB, IB, QB, MB, SB, SMB, LB, AC, 常量;数据类型:字节;数据范围:N≤数据类型(B、W、D)对应的位数
功能
SHL:字节、字、双字左移N位;SHR:字节、字、双字右移N位
表5-5 移位指令格式及功能
说明:在STL指令中,若IN和OUT指定的存储器不同,则须首先使用数据传送指令MOV将IN中的数据送入OUT所指定的存储单元。如:
MOVB IN,OUT
SLB OUT,N
2. 循环左、右移位指令
循环移位将移位数据存储单元的首尾相连,同时又与溢出标志连接,用来存放被移出的位。指令格式见表5-6。
(1)循环左移位指令(