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

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

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

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

代码转换指令: 

序号

指令名称

功能号

功能

1

COD

7

代码转换

2

DCNV

14

数据转换

3

DEC

4

译码

4

CODB

27

二进制代码转换

5

DCNVB

31

扩展数据转换

6

DECB

25

二进制译码

    

4CODB(二进制代码转换:SUB27)

 

此指令将二进制格式的数据转换为1字节、2字节或4字节格式的二进制数据。

如图所示:转换数据地址、转换表、转换数据输出地址对于数据转换指令是必需的。

COD指令相比,CODB指令可处理124字节长度的二进制格式数据,而且转换表的容量最大可控制至256

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

指令格式:

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

 

控制条件:

(a)   复位(RST)

RST=0:不复位。

RST=1:将错误输出W1复位。

(b)   工作指令(ACT)

ACT=0:不执行CODB指令

ACT=1:执行CODB指令

参数:

(a)   格式指定

指定转换表中二进制数据长度。

11个字节的二进制;

22个字节的二进制;

44个字节的二进制。

(b)   数量表容量

指定转换表容量,最大可指定2560255)个字节。

(c)   转换数据输入地址

转换表中的数据可通过指定表号取出,指定表号的地址称为转换数据输入地址,该地址需要1字节的存储空间。

(d)   转换数据输出地址

存储表中输出的数据的地址称为转换数据输出地址。

以指定地址开始在格式规格中指定的存储器的字节数。

错误输出(W1)

如果转换输入数值超出了CODB指令转换数据表范围,输出W1=1

注意:

此指令后的WRTNOTSET、和RST指令不能使用多线圈输出,在此指令的输出线圈中仅可指定一个。

指令示例:

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

如图所示,BCD码格式的R1000设定为3,数据表容量设定为6,当K2.7置一时,可以将表中第三位的16读取到R1100中。

5DCNVB(扩展型数据转换:SUB31)

该指令将124字节长的二进制代码转换为BCD代码或相反的转换。为了执行本指令,必须给转换结果输出数据指定足够字节数的存储区域。

指令格式:

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

 

控制条件:

(a)   被转换数据的符号(SIN)

SIN只在将BCD代码数据转换为二进制代码数据时有意义,表示BCD代码数据的符号。尽管它在将二进制数据转换为BCD数据时无意义,但不能省略。

SIN=0:输入数据(BCD代码)为正。

SIN=1:输入数据(BCD代码)为负。

(b)   指定数据转换类型(CNV)

CNV=0:将二进制数据转换为BCD码。

CNV=1:将BCD码转换为二进制数据。

(c)   复位(RST)

RST=0:不复位。

RST=1:复位错误输出W1,即将W1置零。

(d)   执行命令(ACT)

ACT=0:数据未转变,W1未改变。

ACT=1:进行数据转变。

参数

(a)   格式指定

指定数据长度(124字节),在参数的第一位指定字节长度。

11字节长;

22字节长;

44字节长。

(b)   输入数据地址

指定输入数据的地址

(c)   转换结果输出地址

指定转换为BCD码或者二进制数据后的输出地址

错误输出(W1)

W1=0:转换正确。

W1=1:转换异常。

转换数据指定为BCD码却输入了二进制数据,或者将二进制数据转换为BCD码时超过了指定字节长度(产生溢出),W=1

注意:

此指令后的WRTNOTSET、和RST指令不能使用多线圈输出,在此指令的输出线圈中仅可指定一个。

运算结果寄存器(R9000

此寄存器在数据运算时被设定,如果寄存器被置1,如下所示。

当二进制数转换为BCD码时,正负号参见R9000

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

指令示例:

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

如图所示,指定R1000为00001011,则为1加2加8得数字11,其中高位为1,低位为1,,则对应BCD码高位为1,低位为1,即为00010001。R1000经DCNV指令转换为BCD码为00010001,对应数值17。

6DECB(二进制译码:SUB25)

DECB可译码124字节的二进制代码数据。当指定的8个连续数据之一与代码数据相同时,对应的输出数据位为1,没有相同的数据时,输出数据为0

此指令用于MT功能的数据译码。

DECB指令有基本格式和扩展格式两种,扩展格式可以一次译码8的倍数个连续的数值,下面的内容将对格式参数的设定进行详细描述。

指令格式:

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

(a) DECB功能指令(基本格式)

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

(b) DECB功能指令(扩展格式)

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

控制条件:

(a)   执行命令(ACT

ACT=0:复位所有的输出数据。

ACT=1:执行数据译码。

参数:

(a)   格式指定

参数第一位设定译码数据长度。

0001:译码数据为1字节二进制代码数据;

0002:译码数据为2字节二进制代码数据;

0004:译码数据为4字节二进制代码数据。

当设定为扩展格式时,DECB可以一次译码多个(8n)字节。

0nn1:译码8n个数据,译码数据为1字节二进制格式;

0nn2:译码8n个数据,译码数据为2字节二进制格式;

0nn4:译码8n个数据,译码数据为4字节二进制格式。

数据nn的指定范围为299,当设定nn 0001时,其仅可译码8个数据。

(b)   代码数据地址

指定被译码数据的地址。

(c)   译码指定值

指定将被译码的第一个数据值。

(d)   译码结果输出地址

指定译码结果输出地址。

输出地址需要占用1字节存储空间。当执行指令扩展格式时,需要占用的存储空间为nn个字节。

指令示例:

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

如图所示,指定R100012,从8开始计数八个数据,分别为89101112131415,则R100012数值一致,于是R10034位置1(从0开始算,第4位为第5个数),则BCD格式的R1003显示为10

 

本文转自: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】,仅供大家学习交流,如侵权请联系站长删文。

发表评论

登录后才能评论

评论列表(1条)

    联系我们

    【数控驿站】

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

    联系微信:QQ594673193

    联系邮箱:594673193@qq.com

    工作时间:07:00~23:00

    QR code