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