当前位置: 首页 > 资讯

高效操作 | PMC功能指令详解(三)数据传送之一

FANUC数控技术       2017-06-13

下表数据传送指令能够传送指定的数据到目标地址中。PMC中包含的常用数据传送指令如下所示:

高效操作 | PMC功能指令详解(三)数据传送之一

1.MOVB(1字节数据传送:SUB 43)

MOVB指令从一个指定源地址传送1个字节数据到一个指定的目标地址。

指令格式:

高效操作 | PMC功能指令详解(三)数据传送之一

控制条件:

(a) 执行条件

ACT=0:不执行传送。

ACT=1:执行一个字节的传送。

参数:

(a) 传送源地址

指定数据传送的源地址。

(b) 传送目标地址

指定数据传送的目标地址。

指令示例:

高效操作 | PMC功能指令详解(三)数据传送之一

R1000为源数据地址,R1001为传送目标地址,当R100.0=1时,R1000中的二进制数复制到了R1001中。

高效操作 | PMC功能指令详解(三)数据传送之一

2.MOVW(2字节数据传送:SUB 44)

MOVW指令从一个指定源地址传送2个字节数据到一个指定的目标地址。

指令格式:

高效操作 | PMC功能指令详解(三)数据传送之一

控制条件:

(a) 执行条件

ACT=0:不执行数据传送。

ACT=1:执行2字节的数据传送。

参数:

(a) 传送源地址

指定传送连续2字节源地址的首地址。

(b) 传送目标地址

指定连续2字节目标地址的首地址。

指令示例:

高效操作 | PMC功能指令详解(三)数据传送之一

R1000~R1001存放2字节的源数据,R1002~R1003为传送目标地址,当R100.0为1时,R1000~R1001中的二进制数将被复制到R1002~R1003中。

高效操作 | PMC功能指令详解(三)数据传送之一

3.MOVD(4字节数据传送:SUB 47)

MOVD指令从一个指定源地址传送4个字节数据到一个指定的目标地址。

指令格式:

高效操作 | PMC功能指令详解(三)数据传送之一

控制条件:

(a) 执行条件

ACT=0:不执行数据传送。

ACT=1:执行4字节的数据传送。

参数:

(a) 传送源地址

指定连续4字节源地址的首地址。

(b) 传送目的地址

指定连续4字节目的地址的首地址。

指令示例:

高效操作 | PMC功能指令详解(三)数据传送之一

R1000~R1003存放4字节的源数据,R1004~R1007为4字节目的存储地址,当R100.0为1时,R1000~R1003中的二进制数将被复制到R1004~R1007中。

高效操作 | PMC功能指令详解(三)数据传送之一

4.MOVN(任意字节数据传送:SUB 45)

MOVN指令从一个指定源地址传送任意字节数据到一个指定的目标地址。

指令格式:

高效操作 | PMC功能指令详解(三)数据传送之一

控制条件:

(a) 执行条件**(ACT)**

ACT=0:不执行数据传送指令。

ACT=1:执行数据传送指令。

参数:

(a) 传送字节数

传送字节数允许指定1到9999,奇数和偶数皆可,但要确认地址范围必须在PMC地址范围内

(b) 传送源地址

指定连续N字节存储空间的首地址。

(c) 传送目标地址

指定连续N字节的存储空间的首地址。

指令示例:

高效操作 | PMC功能指令详解(三)数据传送之一

该程序指令中指定了需要传送的数据为2字节(参数1为2),同时指定了R1000~R1001为传送源地址,R1002~R1003为传送目标地址。当R100.0=1时R1000~R1001的二进制数将被传送到R1002~R1003中。

5.MOVE(逻辑乘数据传送:SUB 8)

逻辑乘数据传送指令将输入数据和逻辑乘数据进行按位与运算,所得的结果输出到指定地址中,数据大小为1字节。该指令也可用于清零8位数据里面不需要的位。

指令格式:

高效操作 | PMC功能指令详解(三)数据传送之一

控制条件:

(a) 输入信号**(ACT)**

ACT=0:指令不执行。

ACT=1:执行逻辑乘指令。

参数:

(a) 逻辑乘法数据高四位

二进制数形式输入。

(b) 逻辑乘法数据低四位

二进制数形式输入。

(c) 输入数据地址

源数据所在一个字节存储空间地址。

(d) 输出地址

指定逻辑乘后输出的地址(一个字节)。

指令示例:

高效操作 | PMC功能指令详解(三)数据传送之一

该程序指令的逻辑乘法数据为10011111,假设R1000中数据为10111111,则R100.0=1时输出结果如下:

高效操作 | PMC功能指令详解(三)数据传送之一

计算结果10011111输出到R1001中。

6.MOVOR(逻辑或数据传送:SUB 28)

该功能指令实现将输入数据与逻辑和数据进行逻辑和运算后输出到指定地址中。

高效操作 | PMC功能指令详解(三)数据传送之一

指令格式:

高效操作 | PMC功能指令详解(三)数据传送之一

控制条件:

(a) 执行条件**(ACT)**

ACT=0:不执行MOVOR指令。

ACT=1:执行MOVOR指令。

参数:

(a) 输入数据地址

一个字节的输入数据地址。

(a) 逻辑和数据地址

一个字节的逻辑和数据地址。

(b) 输出数据地址

一个字节的结果输出数据地址。

注意:其中逻辑和数据地址和输出数据地址可以为同一个地址,运算后逻辑和数据被输出数据替换。

指令示例:

高效操作 | PMC功能指令详解(三)数据传送之一

程序指令中R1000为输入数据地址,假设其中的值为11011100,R1001为逻辑或数据地址,假设其中的值为10011011。当R100.0则计算结果如下:

高效操作 | PMC功能指令详解(三)数据传送之一

计算结果11011111存入R1002中。