1. 首页
  2. 技术文章
  3. FANUC

FANUC PMC功能指令详解(04):数据传送二

FANUC PMC功能指令详解(04):数据传送二

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

序号

指令名称

功能号

功能

1

MOVB

43

1字节的传送

2

MOVW

44

2字节的传送

3

MOVD

47

4字节的传送

4

MOVN

45

传送任意数目的字节

5

MOVE

8

逻辑乘数据传送

6

MOVOR

28

逻辑或后的数据传送

7

XMOVB

35

二进制编制数据传送

8

XMOV

18

变址数据传送

9

DSCHB

34

二进制数据检索

10

DSCH

17

BCD数据检索

7XMOVB(二进制变址数据传送:SUB 35)

 

该指令能够读写数据表中任意位置的数据元素,其具备有两种模式:基础模式和扩展模式(通过格式参数选择),扩展模式相比于普通模式将允许多个数据被同时读写。具体功能说明如下:

(a)基础模式下读取数据表

FANUC PMC功能指令详解(04):数据传送二

(b) 扩展模式下的读取数据表

FANUC PMC功能指令详解(04):数据传送二

(c) 基础模式下写数据表

FANUC PMC功能指令详解(04):数据传送二

(d) 扩展模式下写数据表

FANUC PMC功能指令详解(04):数据传送二

指令格式:

(a) 基本模式

FANUC PMC功能指令详解(04):数据传送二

(b) 扩展模式

 FANUC PMC功能指令详解(04):数据传送二

控制条件:

(a)    读、写指令(RW)

RW=0:从数据表中读数据。

RW=1:从数据表中写数据。

(b)    重置(RST)

RST=0:非重置状态。

RST=1:重置,W1=0

(c)    执行指令(ACT)

ACT=0:不执行XMOVB,不改变W1状态。

ACT=1:执行XMOVB

参数:

(a)    格式指定

基本模式下,该参数指定数据表中元素的长度。

00011字节数据。

00022字节数据。

00044字节数据。

扩展模式下,除了在第一位上设定124的字节长度外还需要设定参数的第23位,用于决定读取的元素个数,第4位保持0

0nn1:读取nn个数据表元素,单个元素长度为1字节。

0nn2:读取nn个数据表元素,单个元素长度为2字节。

0nn4:读取nn个数据表元素,单个元素长度为4字节。

元素个数nn00-99,但是设定为0001时效果与基本模式下一样。

FANUC PMC功能指令详解(04):数据传送二

(b)    数据表容量地址

设定数据表容量,根据指定元素数据长度来选择,其设定范围为:

1字节元素:1255

2字节元素:116384

4字节元素:116384

(c)    数据表首地址

这样数据表总共占用的连续字节存储空间是(元素字节数)×(数据表元素个数)

(d)    输入/输出数据地址

用于输入还是用于输出由输入信号决定,参数设定为(元素字节数)×nn(索引数据个数)的连续存储空间首地址。

(e)    索引存储地址

该地址存储需要进行读写数据的索引号,注意数据表的起始索引号为0,在扩展的指令格式中,该地址为连续索引号存储空间的首地址,注意索引号不能超过数据表的总个数,否者将导致W1=1

错误输出(W1)

W1=0:无错误

W1=1:发现错误

出现错误主要有一下几种情况:

1、 如果索引号地址中的索引号超出了设定在参数2地址中存储数据表元素个数导致W=1,读和写操作将不予执行。

2、 在扩展模式中,如果有一个或者多个索引号超出了数据表的总个数导致W=1,这时候正确的索引号对应的输出地址中将能够执行输出输入,而异常索引号的输出地址将不执行输出输入操作。

指令示例:

FANUC PMC功能指令详解(04):数据传送二

该程序指令以扩展模式为例,读模式(R100.0=1)R9091.0为常0信号。参数0051表示需要进行操作的数据为51字节的二进制数,R1000为数据表元素个数存储地址,此处设定为20R1010为数据表起始地址,这样R1010~R1029为数据表范围。R3000为索引号存储地址首地址(索引号共占用R3000~R3004)R2000为输入输出数据存储空间首地址(R2000~2004).则输出结果如下(这时W1=0)

FANUC PMC功能指令详解(04):数据传送二

8XMOV(变址数据传送:SUB 18)

读取数据表中任意位置的数据,数据表的数据类型为BCD编码形式。

注意:此处指定的数据表头地址被指定为表内号0

FANUC PMC功能指令详解(04):数据传送二

指令格式:

FANUC PMC功能指令详解(04):数据传送二

控制条件:

(a)    指定数据表元素的位数(BYT)

BYT=02BCD(1字节)范围为0-99

BYT=14BCD(2字节)范围为0-9999

(b)    读写选择(RW)

RW=0:从数据表中读取数据。

RW=1:将数据写入数据表。

(c)    重置(RST)

ACT=0:不执行重置。

AXT=1:执行重置,置W1=0

(d)    执行条件(ACT)

ACT=0:不执行XMOVW1不改变。

ACT=1:执行XMOV

 

参数:

(a)    数据表容量

数据表从0开始,如果数据表末尾为n,这需要设定n+1。这个值取决于控制条件“BYT”,其范围如下:

BYT=00~99

BYT=10~9999

(b)    数据表首地址

设定数据表的首地址。数据表的地址是固定的,因此必须实现决定数据表的地址,其占用存储空间为(数据字节数)×(数据个数)

(c)    输入/输出数据地址

用于读取和写入数据,数据长度与参数1中设定的数据长度一致。

(d)    表内号地址

存放着进行读或者写操作的地址。

 

输出信号(W1)

W1=0:无错误。

W1=1:存在错误(当表的索引号超出数据表的范围的时候将出现错误)

指令示例:

FANUC PMC功能指令详解(04):数据传送二

       该示例程序中数据元素设定为为2BCD(R100.0=1)R9091.0为常0信号,则为读操作,参数10指的是数据表的长度,R1000~R1019为数据表存储空间,R2000为输入输出数据地址,R3000为索引号地址。则结果如下:

FANUC PMC功能指令详解(04):数据传送二

9DSCHB(二进制数据检索:SUB 34)

   该功能指令能够在数据表中查找任意元素的位置,并将元素在表中的位置(以表的首地址为0计数)输出到指定地址中,如果有多个元素满足检索条件将输出第一个找到的位置(按从头到尾顺序检索)。该功能指令的数据类型为二进制格式。

    该指令的数据均存放在中间地址中,在梯形图存入ROM后也能够修改数据表长度而不用重写梯形图。

FANUC PMC功能指令详解(04):数据传送二

         注意:在该指令中你可以用RED任意的地址指定数据表。

指令格式:

 FANUC PMC功能指令详解(04):数据传送二

控制条件:

(a)    重置(RST)

RST=0:不执行重置。

RST=1:执行重置。

(b)   启动(ACT)

ACT=0:不执行 DSCHB指令,W1不改变。

ACT=1:执行指令,若找到了数据,将输出数据所在的位置;若找不到数据则W1=1

参数:

(a)    格式指定

指定数据表中数据的字节数,在该参数的第一位上进行指定,其设定值含义如下:

11字节

22字节

44字节

(b)    数据表容量地址

数据表长度的范围由参数1的格式来确定,数据表中元素个数为n+1(表头号为0,表尾号为n),其具体范围如下:

1字节:1255

2字节:116384

4字节:116384

(c)    数据表首地址

指定数据表的首地址。

(d)    检索数据地址

指定存放进行检索数据的地址。

(e)    检索结果输出地址

当检索目标找到后,将检索结果输出到该地址上。该地址要求与指令格式一样的存储空间。

输出结果(W1)

W1=0:找到检索数据。

W1=1:未找到检索数据。

指令示例:

FANUC PMC功能指令详解(04):数据传送二

程序指令中,参数0002指定了数据表元素为2字节二进制数,R1000中存放着数据表数据个数,此处设定为5R1010~R1019为数据表存储空间,R2000为要进行检索的数据此处设定为5R3000为检索结果输出地址,结果如下:

检索结果

检索数据

数据表

R3000

R2000

R1010

0

5

5

4

3

2

1

10DSCH(数据检索:SUB 17)

 该功能指令能够在数据表中查找任意数据,并将该数据在表中的位置(表头为0开始计数)输出到指定地址中,该功能指令的数据类型为BCD编码

FANUC PMC功能指令详解(04):数据传送二

注意:在该指令中可以用RED任意的地址指定数据表。

指令格式:

FANUC PMC功能指令详解(04):数据传送二

控制条件:

(a)    指定数据长度(BYT)

BYT=0:数据表中数据为2BCD码。

BYT=1:数据表中数据为4BCD码。

(b)    重置(RST)

RST=0:不进行重置。

RST=1:进行重置,W1=0

(c)    启动(ACT)

ACT=0:不执行DSCHW1不改变。

ACT=1:执行DSCH,如果在表内找到期望数据,则置W1=0;如果未找到,则置W1=1

 

参数:

(a)    数据表容量

指定数据表的大小,其范围取决于控制条件BYT,具体范围如下:

BYT=0199

BYT=119999

(b)    数据表首地址

指定数据表存储空间的首地址。

(c)    检索数据地址

指定存储检索数据的存储地址。

(d)    检索结果输出地址

一旦检索到目标,该目标所在的编号将被输出,输出结果需要的字节数与数据元素字节数相同。

输出(W1)

W1=0:找到检索数据。

W1=1:未找到检索数据。

指令示例:

FANUC PMC功能指令详解(04):数据传送二

该程序指令为2BCD(BYT=0)数据检索指令,数据表长度为52BCD码,R1000~R1004为数据表范围,R2000为需要检索的数据地址(设定检索数据为5)R3000为检索结果输出地址,则结果为2W1=0

FANUC PMC功能指令详解(04):数据传送二

本文转自:FANUC数控技术

相关链接:

FANUC PMC功能指令详解(01):定时器篇

FANUC PMC功能指令详解(02):计数器篇

FANUC PMC功能指令详解(03):数据传送一

FANUC PMC功能指令详解(04):数据传送二

FANUC PMC功能指令详解(05):比较指令一

FANUC PMC功能指令详解(06):比较指令二

FANUC PMC功能指令详解(07):位操作指令

FANUC PMC功能指令详解(08):代码转换指令一

FANUC PMC功能指令详解(09):代码转换指令二

FANUC PMC功能指令详解(10):运算指令一

FANUC PMC功能指令详解(11):运算指令二

FANUC PMC功能指令详解(12):运算指令三

FANUC PMC功能指令详解(13):系统功能指令一

FANUC PMC功能指令详解(14):系统功能指令二

FANUC PMC功能指令详解(15):程序控制指令一

FANUC PMC功能指令详解(16):程序控制指令二

FANUC PMC功能指令详解(17):旋转控制指令

 
问答社区  发起问答  报警查询  技术文章  维修服务  资料下载  加交流群  申请 VIP   

本文转载来自【北京FANUC】,仅供大家学习交流,如侵权请联系站长删文。

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

联系微信:QQ594673193

联系邮箱:594673193@qq.com

工作时间:08:00~20:00

QR code