三菱PLC的指令代码,纯干货,需要的保存吧
三菱PLC
三菱PLC的指令代码
一 顺控指令
1 触点指令
00 LD 逻辑操作开始
01 LDI 逻辑非操作开始
02 AND 逻辑乘
03 ANI 逻辑乘非
04 OR 逻辑加
05 ORI 逻辑加非
2 连接指令
06 ANB AND逻辑块与
07 ORB OR逻辑块或
08 MPS 存储操作结果
09 MRD 从MPS读取操作结果
10 MPP 从MPS读取操作结果
并清除结果
3 输出指令
11 OUT 软元件输出
12 SET 软元件置位
13 RST 软元件复位
14 PLS 在输入信号的上升沿
15 PLF 在输入信号的下降沿
16 CHK 软元件输出翻转
4 移位指令
17 SFT 元件移1位
18 SFTP 元件移1位
5 主控指令
19 MC 主控开始
20 MCR 主控复位
6 结束指令
21 FEND 结束主程序
22 END 总的程序末尾,
返回第0步
7 其它指令
23 STOP 停止
24 NOP 空操作
二 基本指令
1 比较指令
16位数据比较
25 LD= 当S1=S2, 接通,
当S1≠S2, 断开
26 AND=
27 OR=
28 LD<> 当S1≠S2, 接通,
当S1=S2, 断开
29 AND<>
30 OR<>
31 LD> 当S1>S2, 接通,
当S1≤S2, 断开
32 AND>
33 OR>
34 LD<= 当S1≤S2, 接通,
当S1>S2, 断开
35 AND<=
36 OR<=
37 LD< 当S1<S2, 接通,
当S1≥S2, 断开
38 AND<
39 OR<
40 LD>= 当S1≥S2, 接通,
当S1<S2, 断开
41 AND>=
42 OR>=
32位数据比较
43 LDD= 当(S1+1,S1)=(S2+1,S2), 接通
44 ANDD=
45 ORD=
46 LDD<> 当(S1+1,S1)≠(S2+1,S2),接通
47 ANDD<>
48 ORD<>
49 LDD> 当(S1+1,S1)>(S2+1,S2), 接通
50 ANDD>
51 ORD>
52 LDD<= 当(S1+1,S1)≤(S2+1,S2),接通
53 ANDD<=
54 ORD<=
55 LDD< 当(S1+1,S1)<(S2+1,S2), 接通
56 ANDD<
57 ORD<
58 LDD>= 当(S1+1,S1)≥(S2+1,S2),接通
59 ANDD>=
60 ORD>=
2 算术运算指令
二进制16位加/减
61 + (D)+(S)→(D)
62 +P
63 + (S1)+(S2)→(D)
64 +P
65 - (D)-(S)→(D)
66 -P
67 - (S1)-(S2)→(D)
68 -P
二进制32位加/减
69 D+ (D+1,D)+(S+1,S)→(D+1,D)
70 D+P
71 D+ (S1+1,S1)+(S2+1,S2)→(D+1,D)
72 D+P
73 D- (D+1,D)-(S+1,S)→(D+1,D)
74 D-P
75 D- (S1+1,S1)-(S2+1,S2)→(D+1,D)
76 D-P
77 * (S1)×(S2)→(D+1,D)
78 *P
79 / (S1)/(S2)→商(D), 余数(D+1)
80 /P
81 D* (S1+1,S1)×(S2+1,S2)→
(D+3,D+2,D+1,D)
82 D*P
83 D/ (S1+1,S1)/(S2+1,S2)→
商(D+1,D),余数(D+3,D+2)
84 D/P
85 B+ (D)+(S)→(D)
86 B+P
87 B+ (S1)+(S2)→(D)
88 B+P
89 B- (D)-(S)→(D)
90 B-P
91 B- (S1)-(S2)→(D)
92 B-P
93 DB+ (D+1,D)+(S+1,S) →(D+1,D)
94 DB+P
95 DB+ (S1+1,S1)+(S2+1,S2)→(D+1,D)
96 DB+P
97 DB- (D+1,D)-(S+1,S)→(D+1,D)
98 DB-P
99 DB- (S1+1,S1)-(S2+1,S2)→(D+1,D)
100 DB-P
101 B* (S1)×(S2)→(D+1,D)
102 B*P
103 B/ (S1)/(S2)→商(D),余数(D+1)
104 B/P
105 DB* (S1+1,S1)×(S2+1,S2)→
(D+3,D+2,D+1,D)
106 DB*P
107 DB/ (S1+1,S1)/(S2+1,S2)→
商(D+1,D),余数(D+3,D+2)
108 DB/P
109 INC (D)+1→(D)
110 INCP
111 DINC (D+1,D)+1→(D+1,D)
112 DINCP
113 DEC (D)-1→(D)
114 DECP
115 DDEC (D+1,D)-1→(D+1,D)
116 DDECP
3 BCD—二进制转换
117 BCD (S)→(D)BCD转换
118 BCDP
119 DBCD (S+1,S)→(D+1,D)
120 DBCDP
121 BIN (S)→(D)二进制转换
122 BINP
123 DBIN (S+1,S)→(D+1,D)
124 DBINP
4 数据传送指令
125 MOV (S)→(D)
126 MOVP
127 DMOV (S+1,S)→(D+1,D)
128 DMOVP
129 CML (S)→(D)
130 CMLP
131 DCML (S+1,S)→(D+1,D)
132 DCML
133 DCMLP
134 BMOV (S)→(D)n个
135 BMOVP
136 FMOV (S)→(D)n个
137 FMOVP
138 XCH (D1)←→(D2)
139 XCHP
140 DXCH (D1+1,D1)←→(D2+1,D2)
141 DXCHP
5 程序分支指令
142 CJ 条件满足,跳转到P**处
143 SCJ 条件满足后紧接的扫描周期,
跳转到P**处
144 JMP 无条件跳转到P**处
145 CALL 执行P**处子程序
146 CALLP
147 RET 从子程序返回
148 EI 允许中断
149 DI 禁止中断
150 IRET 从中断程序返回
151 SUB 执行n指定的程序
152 SUBP
6 程序切换指令
153 CHG 在主副程序间切换
7 刷新指令
154 COM 执行通讯刷新
155 EI 允许通讯刷新
156 DI 禁止通讯刷新
157 SEG 对应软元件的刷新,仅执行1个扫描周期,M9052 ON时有效
三 应用指令
1 逻辑运算指令
158 WAND (D) AND (S)→(D)
159 WANDP
160 WAND (S1) AND (S2)→(D)
161 WANDP
162 DAND (D+1,D) AND (S+1,S)→(D+1,D)
163 DANDP
164 WOR (D) OR (S)→(D)
165 WORP
166 WOR (S1) OR (S2)→(D)
167 WORP
168 DOR (D+1,D) OR (S+1,S)→(D+1,D)
169 DORP
170 WXOR (D) XOR (S)→(D)异或
171 WXORP
172 WXOR (S1) XOR (S2)→(D)
173 WXORP
174 DXOR (D+1,D) XOR (S+1,S)→(D+1,D)
175 DXORP
176 WXNR (D) XOR (S)→(D)
177 WXNRP
178 WXNR (S1) XOR (S2)→(D)
179 WXNRP
180 DXNR (D+1,D) XOR (S+1,S)→(D+1,D)
181 DXNRP
182 NEG 0-(D)→(D)补码
183 NEGP
2 旋转指令
184 ROR n位右转
185 RORP
186 RCR n位右转(带进位)
187 RCRP
188 ROL n位左转
189 ROLP
190 RCL n位左转(带进位)
191 RCLP
192 DROR n位右转
193 DRORP
194 DRCR n位右转(带进位)
195 DRCRP
196 DROL n位左转
197 DROLP
198 DRCL n位左转(带进位)
199 DRCLP
3 移位指令
200 SFR n位右移
201 SFRP
202 SFL n位左移
203 SFLP
204 BSFR 1位右移
205 BSFRP
206 BSFL 1位左移
207 BSFLP
208 DSFR 1位右移
209 DSFRP
210 DSFL 1位左移
211 DSFLP
4 数据处理指令
212 SER 数据搜索
213 SERP
214 SUM 位检查
215 SUMP
216 DSUM
217 DSUMP
218 DECO 译码编码
219 DECOP
220 ENCO
221 ENCOP
222 SEG 7段编码
223 BSET 对字中n位置位
224 BSETP
225 BRST 对字中n位复位
226 BRSTP
227 DIS 组合分离
228 DISP
229 UNI
230 UNIP
231 ASC ASCII转化
5 先进先出指令
232 FIFW FIFO写
233 FIFWP
234 FIFR FIFO读
235 FIFRP
6 内存缓冲区存取指令
236 FROM 从特殊功能模块读取数据
237 FROMP
238 DFRO
239 DFROP
240 TO 向特殊功能模块写数据
241 TOP
242 DTO
243 FROM 从远程I/O站读数据
244 FROMP
245 DFRO
246 DFROP
247 TO 向远程站写数据
248 TOP
249 DTO
250 DTOP
7 FOR/NEXT指令
251 FOR 重复n次
252 NEXT
8 本地站、远程I/O站存取指令
253 LRDP 从本地站读数据
254 LWTP 向本地站写数据
255 RFRP 从远程特殊功能模块读数据
256 RTOP 向远程特殊功能模块写数据
9 显示指令
257 PR 从指定的8点字软元件输出
16个字符的ASCII码
258 PR 顺序向输出模块输出ASCII
码, 直到结束符NUL(00H)
259 PRC 将字软元件的注释转换成
ASCII码,并输出
260 LED 将指定的8点字软元件显示
16个字符的ASCII码
261 LEDA 显示指定的英文数字字符
262 LEDB
263 LEDC 显示软元件S的注释
264 LEDR 显示复位
10 其它指令
265 WDT WDT复位
266 WDTP
267 CHK 故障检测
268 SLT 按参数设定的条件,数据被锁定
269 SLTR 状态锁存复位,且执行SLT
270 STRA 按参数设定的条件,采样数据存入
271 STRAR 采样跟踪复位,且允许执行
272 STC 进位标志(M9012)ON
273 CLC 进位标志(M9012)OFF
274 DUTY 用户定义时钟
11 伺服指令
275 DSFRP 请求启动伺服程序
276 PSFLP 数据修改
特殊继电器和特殊寄存器
一 特殊继电器M清单
M9000 熔丝断
M9002 I/O组件校验出错
M9004 MINI网通讯出错
M9005 AC电源掉电检测
M9006 电池电压低
M9007 电池电压低锁存
M9008 自诊断出错
M9009 信号报警器检测
M9010 运算出错标志
M9011 运算出错标志锁存
M9012 进位标志
M9016 数据存储区清零标志
M9017 数据存储区清零标志
M9018 数据通讯监控切换
M9020 0号用户定时时钟
M9021 1号用户定时时钟
M9022 2号用户定时时钟
M9023 3号用户定时时钟
M9024 4号用户定时时钟
M9025 时钟数据设置请求
M9026 时钟数据出错
M9027 时钟数据显示
M9028 时钟数据读请求
M9030 0.1秒时钟
M9031 0.2秒时钟
M9032 1秒时钟
M9033 2秒时钟
M9034 1分钟时钟
M9036 常开
M9037 常闭
M9038 RUN后第一个扫描周期ON
M9039 运行标志
M9040 暂停PAUSE允许线圈
M9041 PAUSE状态触点
M9042 停止状态触点
M9043 采样跟踪完成
M9044 采样跟踪
M9046 采样跟踪
M9047 采样跟踪准备
M9048 RUN LED闪烁标志
M9049 切换输出字符数目
M9050 存放操作结果的存储区交换触点
M9051 CHG指令执行禁止
M9052 SEG指令切换
M9053 EI/DI指令切换
M9054 单步运行标志
M9055 状态锁存完成标志
M9056 主程序P, I设置请求
M9057 副程序P, I设置程序
M9060 副程序2P, I设置程序
M9061 副程序3P, I设置程序
M9060 远程终端出错
M9061 通讯出错
M9065 分离传送状态
M9066 传送处理切换
M9067 I/O组件出错检测
M9068 测试模式
M9069 线路故障时的输出
M9073 WDT出错标志
M9074 PCPU准备完成标志
M9075 测试模式标志
M9076 外部急停输入标志
M9077 手动脉冲发生器轴设置错误标志
M9078 测试模式请求出错标志
M9079 伺复程序设置出错标志
M9081 对远程模块的通讯请求
M9082 最终站数不一致
M9084 出错检测
M9086 运行标志BASIC程序
M9087 暂停(PAUSE)标志
M9091 操作运行出错细节标志
M9091 微机子程序调用出错标志
M9092 双电源模块过热
M9093 双工电源模块出错
M9094 I/O改变标志
M9095 双工运行校验出错
M9096 A3VCPU A自校出错
M9097 A3VCPU B自校出错
M9098 A3VCPU C自校出错
M9099 A3VTU自校出错
M9100 SFC程序登记
M9101 SFC程序起/停
M9102 SFC启动状态
M9103 连续步转移有效/失效
M9104 连续转移防止标志
M9108 步转移监控定时器起始
(对应D9108)
M9109 步转移监控定时器起始
(对应D9109)
M9110 步转移监控定时器起始
(对应D9110)
M9111 步转移监控定时器起始
(对应D9111)
M9112 步转移监控定时器起始
(对应D9112)
M9113 步转移监控定时器起始
(对应D9113)
M9114 步转移监控定时器起始
(对应D9114)
M9180 激活步采样跟踪完成标志
M9181 激活步采样跟踪执行标志
M9182 激活步采样跟踪有效
M9196 在块停止时控制输出
M9197~9198 保险丝熔断,
I/O校核出错显示切换
二 特殊寄存器
D9000 保险丝断
D9001 保险丝断
D9002 I/O组件校验出错
D9003 SUM指令检测位数
D9004 MINI网主通讯组件出错
D9005 AC掉电计数
D9006 电池不足
D9008 自诊断出错
D9009 信号报警器检测
D9010 出错步
D9011 出错步
D9014 I/O控制模式
D9015 CPU运行状态
D9016 ROM/RAM设置
D9017 最小扫描时间
D9018 当前扫描时间
D9019 最大扫描时间
D9020 恒定扫描
D9021 扫描时间
D9022 1秒计数器
D9025 时钟数据(年,月)
D9026 时钟数据(日,时)
D9027 时钟数据(分,秒)
D9028 时钟数据(星期)
D9021~D9034 远程终端组件参数设置
D9035 远程I/O组件的通讯属性
D9035 扩展文件寄存器
D9036 总的站数
D9036~9037 供指定扩展文件寄存器软件地址
D9038~9039 LED显示优先级
D9044 采样跟踪
D9050 SFC程序出错代码
D9051 出错块
D9052 出错步
D9053 转移出错
D9054 出错顺控步
D9055 状态锁存步序号
D9061 通讯出错代码
D9072 PC通讯检测
D9081 对远程终端模块的
已执行的通讯请求数
D9082 最后的站号
D9090 微机子程序输入数据区首软元件号
D9091 指令出错
D9094 待更换的I/O组件的首地址
D9095 A3VTS系统和A3V
CPU的运行状态
D9096 A3VCPU A自检出错
D9097 A3VCPU B自检出错
D9098 A3VCPU C自检出错
D9099 A3VTU 自检测出错
D9100~D9107 断保险丝的组件
D9100 保险丝熔断的组件
D9108~D9114 步转移监控定时器设置
D9116~D9123 I/O组件校验出错
D9124 信号器报警数量检测
D9125~D9132 信号报警器地址号
D9133~D9140 远程终端卡信息
D9141~D9172 通讯重发次数
D9173 模式设置
D9174 设置重发次数
D9175 线缆出错模块出错代码
D9180~9193远程终端模块出错代码
D9180 轴1和轴2的限位开关
输出状态存储区
D9181 轴3和轴4的限位开关
输出状态存储区
D9182 轴5和轴6的限位开关
输出状态存储区
D9183 轴7和轴8的限位开关
输出状态存储区
D9184 CPU出错的原因
D9185 伺服放大器接线数据
D9187 手动脉冲发生器轴设置出错
D9188 在TEST模式下启动轴号请求出错
D9189 出错程序号
D9190 数据设置出错
D9191 伺服放大器类型
D9196~9199 故障站检测
D9200 LRDP处理结果
D9201 LWTP处理结果
D9204 通讯状态
D9205 执行回送的站
D9206 执行回送的站
D9207 通讯扫描时间(最大值)
D9208 通讯扫描时间(最小值)
D9209 通讯扫描时间(当前值)
D9210 重发次数
D9211 环路切换计数
D9212 就地站运行状态(1~16)
D9213 就地站运行状态(17~32)
D9214 就地站运行状态(33~48)
D9215 就地站运行状态(49~64)
D9216 就地站出错检测(1~16)
D9217 就地站出错检测(17~32)
D9218 就地站出错检测(33~48)
D9219 就地站出错检测(49~64)
D9220 就地站参数不匹配或(1~16)
远程站I/O分配出错
D9221 就地站参数不匹配或(17~32)
远程站I/O分配出错
D9222 就地站参数不匹配或(33~48)
远程站I/O分配出错
D9223 就地站参数不匹配或(49~64)
远程站I/O分配出错
D9224 主站与从站和远程I/O站
之间的初始通讯(1~16)
D9225 主站与从站和远程I/O站
之间的初始通讯(17~32)
D9226 主站与从站和远程I/O站
之间的初始通讯(33~48)
D9227 主站与从站和远程I/O站
之间的初始通讯(49~64)
D9228 就地站或远程I/O站出错(1~16)
D9229 就地站或远程I/O站出错(17~32)
D9230 就地站或远程I/O站出错(33~48)
D9231 就地站或远程I/O站出错(49~64)
D9232 就地站或远程I/O站环路出错
D9233 就地站或远程I/O站环路出错
D9234 就地站或远程I/O站环路出错
D9235 就地站或远程I/O站环路出错
D9236 就地站或远程I/O站环路出错
D9237 就地站或远程I/O站环路出错
D9238 就地站或远程I/O站环路出错
D9239 就地站或远程I/O站环路出错
D9240 检测到接收出错的次数
D9243 本站站号检测
D9244 从站的总数
D9245 检测到的接收出错次数
D9248 就地站运行状态
D9249 就地站运行状态
D9250 就地站运行状态
D9251 就地站运行状态
D9252 就地站出错检测
D9253 就地站出错检测
D9254 就地站出错检测
D9255 就地站出错检测
了解更多电工实物接线
#pgc-card .pgc-card-href { text-decoration: none; outline: none; display: block; width: 100%; height: 100%; } #pgc-card .pgc-card-href:hover { text-decoration: none; } /*pc 样式*/ .pgc-card { box-sizing: border-box; height: 164px; border: 1px solid #e8e8e8; position: relative; padding: 20px 94px 12px 180px; overflow: hidden; } .pgc-card::after { content: " "; display: block; border-left: 1px solid #e8e8e8; height: 120px; position: absolute; right: 76px; top: 20px; } .pgc-cover { position: absolute; width: 162px; height: 162px; top: 0; left: 0; background-size: cover; } .pgc-content { overflow: hidden; position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } .pgc-content-title { font-size: 18px; color: #222; line-height: 1; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .pgc-content-desc { font-size: 14px; color: #444; overflow: hidden; text-overflow: ellipsis; padding-top: 9px; overflow: hidden; line-height: 1.2em; display: -webkit-inline-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .pgc-content-price { font-size: 22px; color: #f85959; padding-top: 18px; line-height: 1em; } .pgc-card-buy { width: 75px; position: absolute; right: 0; top: 50px; color: #406599; font-size: 14px; text-align: center; } .pgc-buy-text { padding-top: 10px; } .pgc-icon-buy { height: 23px; width: 20px; display: inline-block; background: url(https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/pgc/v2/pgc_tpl/static/image/commodity_buy_f2b4d1a.png); } 全彩电路低压电气电路升级版零基础学习电工--我是大俵哥 ¥68 购买200多个电工实物接线,为初学的朋友打开一扇门
「原创分享」简单好用的传送指令功能,你学会了吗?
PLC的各种功能指令中,传送指令的使用非常频繁,且相对简单。一说到简单,我猜已经有很多人蠢蠢欲动,迫不及待地想征服这个传送指令了。那么,废话不多说,我们开始这次的学习分享吧!
在学习各种传送指令之前,我们得先了解什么是传送指令!
一、传送指令是什么
区别于信息传递中的数据通信,我们今天讲的PLC中的数据传送指令是针对PLC内部软元件之间的数据传送。基于之前所学的各种软元件,确切地说,传送指令是应用于各种字元件之间的数据传送。
每个字元件都存有自己的数据,有的字元件非常霸道,想把自己的数据霸占别的字元件,在别的字元件上也存上自己的数据,这个霸占的过程就是通过传送指令实现的。
传送指令就像是各个字元件之间数据战争的武器 ,你霸占我,我霸占你,枪林弹雨,烽火连天。在三菱FX 2N中,传送指令有 MOV、SMOV、CML、BMOV、FMOV 五种,它们传送数据的形式各不相同。那到底有哪些不同呢?我们接着往下看。
二、MOV传送指令
从编程手册中可以看到,MOV指令的操作数源址(S·)可以适用于所有的字元件,即S可以是任何的字元件,包括各种组合位元件、常数K、H等,而操作数终址(D·)除了不能是KnX、K、H外,可适用于其他字元件。且源址和终址都可进行变址寻址。
当驱动条件X0成立时,PLC将源址S中的数据传送到终址D中,此时S的内容不变,而D的内容变得和S一样。这就像我上文提到了,霸道S将自己的数据硬塞给D,并把D原来的数据给挤掉了,简直是欺元件太甚!
MOV指令比较简单,它是功能指令中应用最多的基本功能指令。MOV指令可以通过组合位元件的形式对各种位元件进行清零和置位,或者对各种字元件进行读写操作。
如下图所示,执行MOV K15 K2Y0后,将K15用二进制数表示,并控制Y0~Y7的状态。此时Y0~Y3的状态变为1(ON),Y4~Y7的状态变为0(OFF)。
再如MOV D10 D20,将D10的内容传送到D20中,若D10的内容为(H98),则执行该指令后D20的内容也变为(H98)。
依次类推,MOV C0 D10 、MOV T0 D20、DMOV D0 D5等指令的理解相信难不倒大家,例如MOV T0 D20:将定时器T0的当前值传送到D20中……
MOV指令更多的应用,还是要结合实际的案例分析才能深刻体会,本身该该指令的理解也不难,所以,在这里我不再过多阐述。
三、SMOV数位传送指令
所谓数位(digit),就是以4个二进制数组成的数据量,类似于字节由8位二进制数组成,字由16为二进制数组成。 显然,一个字节可以由两个数位组成,一个字可以由4个数位组成。
基于对数位的理解,SMOV数位传送指令就是将数据按数位为单位进行传送。从编程手册中可以看到,SMOV指令的动作为SMOV S· m1 m2 D· n,其中S、D是数据传送的源址和终址,这个和MOV指令类似。
上文提到,一个字可以由4个数位组成,依此将这4个数位从右到左排列,编号分别为K1、K2、K3、K4,如上图所示。
这样我们就可以很快地解读SMOV指令。如SMOV D0 K4 K2 D10 K2 : 将D0寄存器按数位划分,从K4开始的连续2个数位的内容传送到D10的K2、K1两个数位中,如下图所示。所以,在传送数据的时候,连续数位是按从左到右排的,当m1=K4时,最多可以传送4个连续数位K4、K3、K2、K1的内容;当m1=K3时,最多可以传送3个连续数位K3、K2、K1的内容,依次类推。
显然,m1、m2、n之间有着一定的约束关系,即只有当m1≥m2,n≥m2,SMOV指令才有意义。例如SMOV S· m1 m2 D· n 中,若m1=K2,对S而言,只有K2、K1的内容可以传送,K4、K3的内容无法传送。
另外,SMOV指令执行有两种模式:BCD码执行模式和十六进制数执行模式。当特殊继电器M8168=OFF时,SMOV指令执行BCD码模式;当特殊继电器M8168=ON时,SMOV指令执十六进制数模式。
所谓BCD码其实就是十进制数,如上图所示,当M8168=OFF时,将D0的内容(K9864)中的“986”传送到D10中。显然,此时D0的内容只能为K0000~K9999。只有当SMOV指令执行十六进制数执行模式时,D0中的内容可以为H0000~HFFFF。
SMOV数位传送指令的理解也不难,在应用的过程中注意m1、m2、n的大小就行了。
四、CML取反传送指令
CML取反传送指令,顾名思义,就是将数据取反后再传送。所谓取反,就是将“1”变为“0”,将“0”变为“1”,如下图所示,执行指令CML D0 D10 ,若D0的内容为(K13),将K13转换为二进制数后取反,再传送到D10中。
CML反传送指令更为简单,在这里我也不再过多讲解。
五、BMOV成批传送指令
BMOV成批传送指令,和上文的几种传送指令有比较大的区别,因为它所传送的数据比较多,是用于多个字元件之间数据传送。简单理解就是将首地址为S的n个字元件的数据传送到以D为首地址的字元件中,其中n是传送字元件的个数,n≤512。
例如BMOV D0 D10 K10 :将D9~D0的数据分别传送到D19~D10中。
在应用BMOV指令时要注意的两点,一是字元件的编号重复问题。如下图所示,执行指令BMOV D10 D11 K5 ,若按编号小的元件开始传送,先是D10的内容传送到D11中,然后D11的内容传送到D12中,D12的内容传送到D13中……显然,传送完毕后D15~D10的内容相同,均为D10的内容。
根据以上字元件编号重复的问题,在三菱FX 2N中,作出以下规定:
(1)当源址编号大于终址编号时,其传送顺序从编号小的到编号大的;
(2)当源址编号小于终址编号时,其传送顺序从编号大的到编号小的;
所以上图的指令BMOV D10 D11 K5中,源址D10小于终址D11,其传送顺序从编号大的开始,也就是先把D14的内容传送到D15中,然后把D13的内容传送到D14中……这样就不会造成D11~D14的内容无法传送的问题。
在应用BMOV指令时要注意的另外一点是数据传送方向的问题。BMOV指令不仅可以将源址的数据传送给终址,也可以调转方向,将终址的数据传送给源址,也就是说BMOV指令可以双向传送数据。
BMOV指令的数据传送方向是由特殊继电器M8024的状态决定的,当M8024=OFF时,传送方向是从源址传向终址;当M8024=ON时,传送方向是从终址传向源址。
六、FMOV多点传送指令
知道了BMOV成批传送指令后,再来看FMOV多点传送指令会简单很多,如果说MOV指令是一对一、BMOV指令是多对多,那么FMOV指令就是一对多。
如上图的编程手册所示,当驱动条件X0成立时,将字元件S的内容传送到起始地址为D的n个字元件中。像上文所说的,数据的传送就像是字元件之间的相互霸占,而各种指令就是数据传送的武器。MOV指令就像是手枪,霸道S通过MOV指令只能将自己的数据传送给一个D,把D原来的数据给挤掉;FMOV指令就像是M416步枪,霸道S通过FMOV指令将自己的数据传送给一批D,把n个D原来的数据都给挤掉。可见FMOV指令的威力有多大。
不管是什么传送指令,其归根结底也就是数据的传送,我们只有在理解了这些指令的含义之后,才能理解它们在梯形图中的作用。另外,我所分享的内容也只不是皮毛,想要熟练掌握这些传送指令,还是要结合实际程序案例分析。
那么,这次的学习分享就到这里啦,共勉!
注:本文章内容都是基于三菱FX PLC 所写
选自《三菱FX系列PLC功能指令详解》第二章第12~16课时
(技成培训原创,作者:杨思慧,未经授权不得转载,违者必究!)
↓免费学习资料
相关问答
三菱PLCfmov指令的意思?
三菱PLC中的fmov指令是一种数据传输指令,用于将一个浮点数值从一个源寄存器传输到一个目标寄存器。它可以在不同的数据类型之间进行转换,例如将浮点数值传输到...
三菱plc编程中的MOV,BMOV,FMOV有什么区别,如何使用?
三菱plc编程中的MOV,BMOV,FMOV有什么区别,如何使用,MOV指令是传送指令,将软元件的内容传送或者复制到其他软元件中,这个软元件可以使数据寄存器D,也可以是...三...
plc中mov怎么用?
在PLC编程中,MOV是一种数据传输指令,可以将一个寄存器或数据块中的数据传输到另一个寄存器或数据块中。以下是MOV指令的使用方法:确定要传输的数据源和目的地...
在PLC梯形图编程中MOV指令的使用?
首先,你PLC程序里定时器或计数器的设定值不要写常数,写入一个变量,然后在屏里做一个数值输入单元,地址与PLC里设定值的变量地址一致即可在屏上改变设定值;比...
plc编程mov指令详解?
MOV指令是PLC编程中常用的指令,用于将一个操作数的值复制到另一个操作数中。以下是MOV指令的详细解释:1.MOV即Move,用于将一个操作数的值复制到另一个操作数...
信捷plc指令MOVD4200DM116是什么意思?-ZOL问答
第一步选择MOV指令第二步填参数第三步回车OK有用(0)回复dcgdfgINV指令...MOV_B:移动字节指令将输入字节移至输出字节,不改变原来的数值。P:正向转换...
三菱PLC如何使用传送指令MOV?
三菱PLC的传送指令主要用于数据传送,其源操作数可以说是十进制或十六进制数据,也可以使计时或计数等数据,我们简单介绍其编程实例。工具/原料电脑,三菱PLC...
三菱PLC编程指令DMOV是什么意思?
在三菱PLC编程中,DMOV是一条指令,用于将指定的数据移动到指定的目标地址,并清除原地址中的数据。具体来说,DMOV指令的作用是将源地址中的数据移动到目标地址...
西门子PLC指令MOV-B传送指令?
三菱plc中的传送指令怎样可以实现像西门子那样例如西门子的2#01101000通过mov三菱的也有传送指令(MOV)。比如你想让三菱PLC的Y0到Y7都有输出,那你在三菱plc...
三菱emov指令详解?
三菱emov指令是一个用于控制机器人运动时平滑加减速的指令,它的详解如下:emov指令可以用来实现机器人运动平滑加减速。机器人在运动时如果不进行平滑加减速控...