使用数控机床自定义面板,利用二进制旋转编码开关和PLC 编程实现速度倍率修调。这样的方法设计者就可以根据实际需要来设计自己的操作面板而不一定使用FANUC 提供的标准面板,避免标准面板上的某些功能键浪费和形式繁琐,降低了成本。
1 进给速度倍率信号
在FANUC数控系统中,手动进给速度、切削进给速度、快速移动速度都是由不同的参数和信号来定义的。以手动进给为例,其速度由参数No.1423来定义,可通过手动进给倍率信号*JV0~*JV15所指定的值进行修调。如设定机床某一轴的手动速度为3 000 mm/min,而将倍率信号值设为50%,则在JOG方式下,所选轴最终将以3 000x50 %=1 500mm/min的速度移动。
*JV0~*JV15是16位的二进制编码信号,其接口地址为GO10^-GO11,长度为两个字节。需要说明的是,在FANUC PLC系统中,地址X代表来自机床侧的输入信号,Y代表由PLC输出到机床侧的信号,F代表来自NC系统的PLC信号输入,G则代表由PLC输出到NC系统的信号。
*JV0~*JV15所对应的倍率可以用下述公式表示:
这里要注意,在FANUC数控系统中,“*”代表该信号为低电平“0”有效,因此:
当*JV,为“1”时,V; 0
当*JV,为“0”时,V; to
可以得出,这些信号的权值如下:
不难看出这相当于以倍率值的二进制反码表示。.
FANUC系统中规定,当*JV0~*JV15信号全部为“1”或“0”时,倍率值都为0。因此,JOG进给倍率可以0.01%的单位在0%~655.34%的范围内进行选择。
同样,切削进给速度倍率的功能为自动运行状态下,车由实际移动速度=编程速度x倍率。其信号*FVO~*FV7,接口地址6012,长度为1字节,可用下述公式表示:
信号也是低电平有效,手动倍率信号推导规律同样适用于切削进给倍率信号,以倍率100%为例,可以得出信号为:
2 CODB指令
由于JOG进给倍率可在0~655.34%,切削进给倍率可在0~254%如此宽的范围内修调,仅用二进制转换开关,硬件上是很难实现的。这可以通过软件PLC编程来解决。本文介绍PLC功能指令:二进制代码转换CODB。它的优点在于配合1个二进制编码开关便可实现任意所需倍率设定的功能(倍率值及倍率数目都可根据需要来设定,而倍率值与二进制编码开关输入信号无直接关系)。CODB指令是将转换表中指定的数据转换为1字节、2字节或4字节格式的二进制数据,以补码形式输出到目标地址。
1)控制条件
(1)复位信号RST, "0”表示不复位;“1”表示将错误输出W1复位。
(2)工作指令ACT, “0”表示不执行CODB指令;“1”执行CODB执行。
2)参数
(1)指定转换表中数据的存储格式,“1”表示1个字节的二进制(byte); “2”表示2字节的二进制(word);“4”表示4字节的二进制(Dword)。
(2)转换表中数据的数量,表中最多可以容纳256个字节。
(3)转换表数据输入地址,转换表中的数据可通过指定表中的数据编号(第1个数据编号为0)取出,指定编号的地址称为转换数据输入地址,长度占一个字节。
(4)转换数据输出地址,存储输出数据的地址称为转换数据输出地址。长度为以指定地址开始在格式中规定的连续字。
3)转换数据表,该表编在数据输出地址与错误输出W1之问。
4)输出,如果在CODB指令执行有异常时,W1输出为“1”,表明出错。
利用CODB指令进行倍率修调的原理就是将二进制编码开关的输入信号看作转换表的数据编号,把所对应的表中数据以二进制补码形式输出到倍率信号接口地址GO10 ~GO11或6012中去。所设倍率的数目由硬件开关的形式和转换表中数据的数量决定;转换表数据输入地址用来存储编码开关的输入信号状态。表内数据是如何经指令执行后输出为相应的倍率信号的。
3 设置转换数据表
要得到所需的倍率,关键在于如何正确设置转换数据表,这也是使用CODB的核心所在。要弄清设置规律,首先说明有关二进制码的儿个概念。
(1)有符号数的二进制码最高位表示符号位,正数为“0";负数为“1 ",
(2)正数的补码为其本身;
(3)负数的补码为除去符号位的各个位取反加“1”;
(4)辛卜码的补码即为原码。
以JOG倍率转换表来说明设置方法。先将所需的倍率转换为对应的倍率信号*JVO~*JV15,这就是CODB指令输出的目标值。由于CODB转换表中的数据是以补码形式输出,则对*JV0^-*JV15所表示的二进制数取补码,便得到其原码,即转换表中要设定的数据。
以10%及100%为例,*JV0~*JV15中对应的值为:
其它类推,最终可以得出:
(1)当倍率<327.68%,即*JV 15=1,转换数据为负数时,转换表中的数据=-NX 100+1);
(2)当倍率)327.68%,即*JV15=0,转换数据为正数时,转换表中的数据为:
65535-NX100,其中N为所设倍率X1000
如倍率150%对应转换表中的数据就应为:
-(150X100+1)=-15001。
同样可知,在切削进给倍率修调编程中,当倍率<128,即*FV7=1,转换数据为负数时,转换表中的数据-((N+1)。当倍率)128,即*FV7=0,转换数据为正数时,转换表中的数据=255-N。
其中N为所设倍率+1000
如倍率150%对应转换表中的数据就应为:
255-150=105。
总结起来,便是将所要的倍率对应的二进制信号取补码后再转换为带符号十进制数,即得CODB转换表中的数据。
4 倍率转换的设计实例
现以我公司H401-DJ型数控专用外圆磨床为例,介绍利用二进制编码旋转开关SA1配合CODB指令实现JOG进给倍率和切削进给倍率修调。
数控机床采用FANUC-Oi-TC系统内置PLC,型号为PMC-SB7。我们在其机床操作面板上配置了1个4位输入信号的二进制编码旋转开关,16位置,修调范围设置为0^'150,问隔为10 %。
将编码开关的信号分配给PLC的4个输入(地址X6.4~X6.7,则这些信号可看作4位二进制码,权分别为1, 2, 4, 8(地址由低位至高位),即:
分别对应于倍率值0~150%。
根据机床所处不同状态,JOG模式下,进行手动进给速率的修调;AUTO及MDI状态下,切换为切削进给速率的修调。实例的梯形图见图1。
图1 H401-DJ 梯形图
在梯形图中G8.7为复位信号ERS。
F3.2, F3.3及F3.5都为运行方式检查信号,指示当前所选的运行方式。F3.2 (MJ)表示JOG运行,F3.3 (MMDI)表示MDI运行,F3.5 (MEM)表示AUTO运行。在这里作为手动和自动倍率切换条件。
R21.0~821.3为中问暂存地址,用来存储编码开关输入信号,再将整个R21字节中的值(0-15)作为转换表的数据编号。
转换表的数据数量16对应倍率数目;表中的数据经译码后便成为相应的倍率信号,具体值可根据前述第3点推导设置。
例如在JOG方式下,F3.2接通,激活第2个CODB程序段,进行手动速度倍率修调。若将SA1旋至50%(第6个位置),其信号值为:
则R21中的值为5 , CODB指令将转换表中编号为5的数据(长度2字节),即第6个数据-05001(二进制表示:1001001110001001)以补码形式输出到手动倍率信号地址中,所以此时G010~G011中的内客为:
5 结语
本文具体阐述了利用二进制编码旋转开关配合CODB指令的PLC编程实现速度倍率修调的方法并举例进行了具体说明。采用本文提供的方法能够实现较为灵活、高效和宽范围的倍率修调。同时采用该方法能够根据实际要求对机床面板进行定制和设计,使得FANUC系统的功能得以充分利用。
(审核编辑: 沧海一土)