没有合适的资源?快使用搜索试试~ 我知道了~
西门子S7_200PLC指令简介与实例分析.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 76 浏览量
2022-07-08
10:47:17
上传
评论
收藏 718KB DOC 举报
温馨提示
试读
62页
西门子S7_200PLC指令简介与实例分析.doc
资源推荐
资源详情
资源评论
1 / 62
数据处理、运算指令与应用
本章要点
l 数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用与实训
l 算术运算、逻辑运算、递增/递减指令的介绍、应用与实训
l 表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍
5.1 数据处理指令
5.1.1 数据传送指令
1. 字节、字、双字、实数单个数据传送指令 MOV
数据传送指令 MOV,用来传送单个的字节、字、双字、实数。指令格式与功能如表 5-1 所示。
表 5-1 单个数据传送指令 MOV 指令格式
使 ENO = 0 即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。
[例 5-1]将变量存储器 VW10 中容送到 VW100 中。程序如图 5-1 所示。
LD I0.1
MOVW VW10, VW100
图 5-1 例 5-1 题图
LAD
STL
MOVB IN,OUT
MOVW IN,OUT
MOVD IN,OUT
MOVR IN,OUT
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, T, C, IW, QW,
SW, MW, SMW, LW, AC,
AQW
IN : VD, ID, QD, MD,
SD, SMD, LD, HC, AC,
常量
OUT : VD, ID, QD, MD,
SD, SMD, LD, AC
IN : VD, ID, QD, MD,
SD, SMD, LD, AC, 常量
OUT:VD, ID, QD, MD, SD,
SMD, LD, AC
操作
数与
数据
类型
字节
字、整数
双字、双整数
实数
功能
使能输入有效时,即 EN=1 时,将一个输入 IN 的字节、字/整数、双字/双整数或实数送到 OUT 指定的
存储器输出。在传送过程中不改变数据的大小。传送后,输入存储器 IN 中的容不变
2 / 62
2. 字节、字、双字、实数数据块传送指令 BLKMOV
数据块传送指令将从输入地址 IN 开始的 N 个数据传送到输出地址 OUT 开始的 N 个单元中,N 的围为 1
至 255,N 的数据类型为:字节。指令格式与功能如表 5-2 所示。
表 5-2 数据传送指令 BLKMOV 指令格式
使 ENO =
0 的 错 误 条
件 : 0006
( 间 接 寻 址
错 误 ) 0091
( 操 作 数 超
出围)。
[例 5-2]
程 序 举 例 :
将 变 量 存 储
器 VB20 开始
的 4 个 字 节
(VB20- VB23 )
中 的 数 据 ,
移 至 VB100
开 始 的 4 个
字节中(VB100-VB103)。程序如图 5-2 所示。
LAD STL
LD I0.0
BMB VB20 ,VB100, 4
图 5-2 例 5-2 图
程序执行后,将 VB20~VB23 中的数据 30、31、32、33 送到 VB100~VB103。
执行结果如下:数组 1 数据 30 31 32 33
数据地址 VB20 VB21 VB22 VB23
块移动执行后:数组 2 数据 30 31 32 33
数据地址 VB100 VB101 VB102 VB103
5.1.2 字节交换、字节立即读写指令
1. 字节交换指令
字节交换指令用来交换输入字 IN 的最高位字节和最低位字节。指令格式如表 5-3 所示。
表 5-3 字节交换指令使用格式与功能
LAD
STL
BMB IN,OUT
BMW IN,OUT
BMD IN,OUT
IN:VB, IB, QB, MB, SB, SMB,
LB。
OUT:VB, IB, QB, MB, SB,
SMB, LB。
数据类型:字节
IN : VW, IW, QW, MW, SW,
SMW, LW, T, C, AIW。
OUT : VW, IW, QW, MW, SW,
SMW, LW, T, C, AQW。
数据类型:字
IN/ OUT : VD, ID, QD, MD,
SD, SMD, LD。
数据类型:双字
操作
数与
数据
类型
N:VB, IB, QB, MB, SB, SMB, LB, AC, 常量;数据类型:字节;数据围:1-255
功能
使能输入有效时,即 EN=1 时,把从输入 IN 开始的 N 个字节(字、双字)传送到以输出 OUT
开始的 N 个字节(字、双字)中
3 / 62
LAD
STL
功能与说明
SWAP IN
功能:使能输入 EN 有效时,将输入字 IN
的高字节与低字节交换,结果仍放在 IN 中
IN: VW, IW, QW, MW, SW, SMW, T, C,
LW, AC。数据类型:字
ENO = 0 的错误条件:0006(间接寻址错误),SM4.3(运行时间)
[例 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(间接寻址错误),SM4.3(运行时间)。注意:字节立即读写指令无法
存取扩展模块。
5.1.3 移位指令与应用举例
移位指令分为左、右移位和循环左、右移位与寄存器移位指令三大类。前两类移位指令按移位数据的
长度又分字节型、字型、双字型 3 种。
1. 左、右移位指令
左、右移位数据存储单元与 SM1.1(溢出)端相连,移出位被放到特殊标志存储器 SM1.1 位。移位数
据存储单元的另一端补 0。移位指令格式见表 5-5。
(1)左移位指令(SHL)
使能输入有效时,将输入 IN 的无符号数字节、字或双字中的各位向左移 N 位后(右端补 0),将结果
输出到 OUT 所指定的存储单元中,如果移位次数大于 0,最后一次移出位保存在“溢出”存储器位 SM1.1。
4 / 62
如果移位结果为 0,零标志位 SM1.0 置 1。
(2)右移位指令
使能输入有效时,将输入 IN 的无符号数字节、字或双字中的各位向右移 N 位后,将结果输出到 OUT
所指定的存储单元中,移出位补 0,最后一移出位保存在 SM1.1。如果移位结果为 0,零标志位 SM1.0 置
1。
(3)使 ENO = 0 的错误条件:0006(间接寻址错误),SM4.3(运行时间)
表 5-5 移位指令格式与功能
说 明:在
STL 指 令 中 ,
若 IN 和 OUT 指
定 的存储器不
同 ,则须首先
使 用数据传送
指令 MOV 将 IN
中的数据送入
OUT 所 指 定 的
存储单元。如:
M
OVB IN,OUT
S
LB OUT,N
2. 循 环
左、右移位指令
循环移位将移位数据存储单元的首尾相连,同时又与溢出标志 SM1.1 连接,SM1.1 用来存放被移出的
位。指令格式见表 5-6。
(1)循环左移位指令(ROL)
使能输入有效时,将 IN 输入无符号数(字节、字或双字)循环左移 N 位后,将结果输出到 OUT 所指
定的存储单元中,移出的最后一位的数值送溢出标志位 SM1.1。当需要移位的数值是零时,零标志位
SM1.0 为 1。
(2)循环右移位指令(ROR)
使能输入有效时,将 IN 输入无符号数(字节、字或双字)循环右移 N 位后,将结果输出到 OUT 所指
定的存储单元中,移出的最后一位的数值送溢出标志位 SM1.1。当需要移位的数值是零时,零标志位
SM1.0 为 1。
(3)移位次数 N≥数据类型(B、W、D)时的移位位数的处理
如果操作数是字节,当移位次数 N≥8 时,则在执行循环移位前,先对 N 进行模 8 操作(N 除以 8 后取
余数),其结果 0-7 为实际移动位数。
如果操作数是字,当移位次数 N≥16 时,则在执行循环移位前,先对 N 进行模 16 操作(N 除以 16 后
取余数),其结果 0-15 为实际移动位数。
如果操作数是双字,当移位次数 N≥32 时,则在执行循环移位前,先对 N 进行模 32 操作(N 除以 32
后取余数),其结果 0-31 为实际移动位数。
(4)使 ENO = 0 的错误条件:0006(间接寻址错误),SM4.3(运行时间)。
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 / 62
表 5-6 循环左、右移位指令格式与功能
说 明:在
STL 指 令 中 ,
若 IN 和 OUT 指
定 的存储器不
同 ,则须首先
使 用数据传送
指令 MOV 将 IN
中的数据送入
OUT 所 指 定 的
存储单元。如:
MOVB IN,OUT
S
LB OUT,N
[ 例 5-4] 程 序
应用举例 ,将
AC0 中 的 字 循
环右移 2 位,将
VW200 中 的 字
左移 3 位。程序
与 运 行 结 果 如
图 5-4 所示。
图 5-4 例 5-4 题图
[例 5-5]用 I0.0 控制接在 Q0.0~Q0.7 上的 8 个彩灯循环移位,从左到右以 0.5s 的速度依次点亮,保
持任意时刻只有一个指示灯亮,到达最右端后,再从左到右依次点亮。
分析:8 个彩灯循环移位控制,可以用字节的循环移位指令。根据控制要求,首先应置彩灯的初始状
态为 QB0=1,即左边第一盏灯亮;接着灯从左到右以 0.5s 的速度依次点亮,即要求字节 QB0 中的“1”用
循环左移位指令每 0.5s 移动一位,因此须在 ROL-B 指令的 EN 端接一个 0.5s 的移位脉冲(可用定时器指
LAD
STL
RLB OUT,N
RRB OUT,N
RLW OUT,N
RRW OUT,N
RLD OUT,N
RRD 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, 常量;数据类型:字节。
功能
ROL:字节、字、双字循环左移 N 位;ROR:字节、字、双字循环右移 N 位。
剩余61页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3659
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功