代码转换指令:
序号 |
指令名称 |
功能号 |
功能 |
1 |
COD |
7 |
代码转换 |
2 |
DCNV |
14 |
数据转换 |
3 |
DEC |
4 |
译码 |
4 |
CODB |
27 |
二进制代码转换 |
5 |
DCNVB |
31 |
扩展数据转换 |
6 |
DECB |
25 |
二进制译码 |
1COD(代码转换:SUB 7)
转换BCD代码为任意的2或4位BCD数值,如图所示,进行代码转换必须输入数据输入地址、转换表和转换数据输出地址。
在“转换输入数据地址”中以两位BCD代码形式指定一表内地址,根据该地址从转换表中取出转换数据。转换表以2位数或4位数形式依次输入。按转换输入数据地址“取出的数据”输出到“转换数据输出地址”中。如图所示,当2输入到输入数据地址中,在转换表第三位上的数据137被输出到转换数据输出地址中。
指令格式:
控制条件:
(a) 确定数据形式(BYT)
BYT=0:指定转换表中数据为2位BCD码。
BYT=1:指定转换表中数据为4位BCD码。
(b) 错误输出复位(RST)
RST=0:取消复位。
RST=1:将错误输出W1置为0(复位)。
(c) 执行命令(ACT)
ACT=0:COD指令未执行,W1未改变。
ACT=1:执行。
参数:
(a) 数据表容量
数据转换表地址指定范围为0到99。当表内地址最后一位为n时,则数据表容量为n+1。
(b) 转换数据输入地址
“转换数据输入地址”内含有转换数据的表地址。转换表中的数据可通过该地址查到,然后输出。
“转换数据输入地址”中需要指定1字节(2位BCD码)数据。
(c) 转换数据输出地址
“转换数据输出地址”是存储由数据表输出数据的地址。
2位BCD码的转换数据,在转换数据输出地址中需要1字节的存储空间。4位BCD码的转换数据需要2个字节的存储空间。
输出(W1):
在执行COD指令时,如果转换输入地址出现错误,W1=1。
例如:若在顺序程序中转换输入数据地址指定了超过数据表容量的数据,则W1=1。当W1=1时,顺序程序应执行适当的互锁:如使机床操作面板上的出错灯闪亮或停止伺服轴进给。
注意:
此指令后的WRT、NOT、SET、和RST指令不能使用多线圈输出,在此指令的输出线圈中仅可指定一个。
指令示例:
将BCD格式的R1000指定为3,则表示要读取下面表格中第三个数值,第三个数值为76,因此R1100被赋值76。
2DCNV(数据转换:SUB14)
将二进制代码转换为BCD代码或将BCD代码转换为二进制代码。
指令格式:
控制条件:
(a) 确定数据大小(BYT)
BYT=0:处理数据长度为1字节(8位)。
BYT=1:处理数据长度为2字节(16位)。
(b) 指定数据转换类型(CNV)
CNV=0:将二进制代码转换为BCD码。
CNV=1:将BCD码转换为二进制代码。
(c) 复位(RST)
RST=0:不复位。
RST=1:复位错误输出线圈W1,即当W1=1时将RST置1,从而使得W1=0。
(d) 执行指令(ACT)
ACT=0:数据未转变,W1不变。
ACT=1:执行数据转换。
参数:
(a) 输入数据地址
指定输入数据的地址。
(b) 转换后数据的输出地址
指定转换为BCD码或者二进制后的数据的输出地址。
输出(W1):
W1=0:转换正常。
W1=1:转换错误。
被转换数据应为BCD码而实际是二进制码时,或者二进制码转换为BCD码时超过预先指定的数据大小(字节长度)时,W1=1。
注意:
此指令后的WRT、NOT、SET、和RST指令不能使用多线圈输出,在此指令的输出线圈中仅可指定一个。
指令示例:
如图所示,指定R1000为00001011,则为1加2加8得数字11,其中高位为1,低位为1,,则对应BCD码高位为1,低位为1,即为00010001。R1000经DCNV指令转换为BCD码为00010001,对应数值17。
3DEC(BCD译码:SUB4)
当2位BCD码等于指定数据时输出1,当不等于时输出0。此指令主要用于M或T指令的译码,此指令数据类型为BCD码。
指令格式:
控制条件:
ACT=0:关闭译码结果输出(W1)。
ACT=1:执行译码。
当指定的数据等于译码信号时,W1=1;不相等时,W1=0。
参数:
(a) 代码信号地址
指定两位BCD码信号地址
(b) 译码格式
包括2部分,译码数值和译码位数。
(i)译码数值
指定译码数值,必须以两位进行指定。
(ii)译码位数
01:只译低位数,高位数为0;
10:只译高位数,低位数为0;
11:高低位均译码。
W1(译码结果输出)
当指定地址的译码信号等于指定数值时,W1为1,否则为0。W1的地址可自行设定。
指令示例:
如图所示,当指令0201时,前面的02表示数值2,后面的01表示只进行低位比较,当R1000被赋值2时,输出E0.0为1,表示满足两者相等的条件。
本文转自:FANUC数控技术
相关链接:
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【北京FANUC】,仅供大家学习交流,如侵权请联系站长删文。
评论列表(3条)