1 、 什么是传送和比较指令?
(1) 传送指令
该指令的助记符、指令代码、操作数范围、程序步如下表所示。
传送指令的要素表
指令名称 |
助记符 |
指令代码位数 |
操作数范围 |
|
程序步 |
S(.) |
D(.) |
n |
|
传送 |
MOV
MOV(P) |
FNC12
(16/32) |
K 、 H
KnX 、 KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z |
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z |
|
MOV 、 MOVP… 步
DMOV 、 DMOVP… 步 |
传送指令 MOV 指令是将源操作数内的数据传送到指定的目标操作数内,即 [S] → [D] 。
传送指令 MOV 的说明如图。当 X0=ON 时,源操作数 [S] 中的常数 K100 传送到目标操作元件 D10 中 。当指令执行时,常数 K100 自动转换成二进制数。
当 X0 断开时,指令不执行,数据保持不变。
(2) 比较指令
该指令的助记符、指令代码、操作数范围、程序步如下表所示。
比较指令的要素表
指令名称 |
助记符 |
指令代码位数 |
操作数范围 |
程序步 |
S1(.) |
S2(.) |
D(.) |
比较 |
CMP
CMP(P) |
FNC10
(16/32) |
K 、 H
KnX 、 KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z |
Y 、 M 、 S |
CMP 、 CMPP…7 步
DCMP 、 DCMPP…13 步 |
WWW_PLCJS@_COM%-PLC-技.术_网
比较指令 CMP 是将源操作数 [S1] 和 [S2] 的数据进行比较,结果送到目标操作数 [D] 中。
说明如图所示:在 X0 断开,即不执行 CMP 指令时, M0~M2 保持 X0 断开前的状态。
数据比较是进行代数值大小比较(即带符号比较)。所有的源数据均按二进制处理。当比较指令的操作数不完整(若只指定一个或两个操作数),或者指定的操作数不符合要求(例如把 X 、 D 、 T 、 C 指定为目标操作数),或者指定的操作数的元件号超出了允许范围等情况,用比较指令就会出错。
2 传送和比较指令的作用是什么?
(1) 用以获得程序的初始工作数据
一个控制程序总是需要初始数据。这些数据可以从输入端口上连接的外部器件获得,需要使用传送指令读取这些器件上的数据并送到内部单元;初始数据也可以用程序设置,即向内部单元传送立即数;另外,某些运算数据存储在机内的某个地方,等程序开始运行时通过初始化程序送到工作单元。
(2) 机内数据的存取管理
在数据运算过程中,机内的数据传送是不可缺少的。运算可能要涉及不同的工作单元,数据需在他们之间传送;运算可能会产生一些中间数据,这需要传送到适当的地方暂时存放;有时机内的数据需要备份保存,这要找地方把这些数据存储妥当。总之,对一个涉及数据运算的程序,数据管理是很重要的。
此外,二进制和 BCD 码的转换在数据管理中也是很重要的。
(3) 运算处理结果向输出端口传送
运算处理结果总是要通过输出实现对执行器件的控制,或者输出数据用于显示,或者作为其他设备的工作数据。对于输出口连接的离散执行器件,可成组处理后看作是整体的数据单元,按各口的目标状态送入一定的数据,可实现对这些器件的控制。
(4) 比较指令用于建立控制点
控制现场常有将某个物理量的量值或变化区间作为控制点的情况。如温度低于多少度就打开电热器,速度高于或低于一个区间就报警等。作为一个控制“阀门”,比较指令常出现在工业控制程序中。