l,其余位置程序类似。

程序中R2.0、R2.1是与操作面板上手动进给速度波段开关位置0、1相对应的PLC内部寄存器。在完整的程序中,译码完成后,波段开关的0~15位置与寄存器R2.0~R3.7的状态一一对应。
2.3.2 代码转换 代码转换程序的作用是根据以上波段开关的0~15位置的译码信号,将PLC的数据表中的对应内容,转换为系统要求的16位二进制编码信号。 代码转换可以直接通过FANUC PLC的数据转换指令DCNV(SUB14)进行,对于波段开关位置0,实际转换程序如图2。 
程序中的R0.0为恒“0”信号,R0.1为恒“1”信号,RO.7为系统复位信号,R6.0为波段开关位置O~7信号(单字节转换标志信号),R4.0为内部波段开关位置0的转换状态标志。 通过以上类似程序的转换,PLC的数据表中的D10~D17内容将被转换为二进制码。并保存于中间寄存器R100中。 同样,由于PLC的数据表中的D18~D32内容为双字节数,因此对于D18~D32的转换程序应设定DC-NV(SUB14)指令的BYT标志为“l”(双字节),对应的转换结果被保存于中间寄存器R100、R101中。 2.3.3 信号处理 信号处理控制程序的作用是将以上信号转换的结果(二进制寄存器R100、R101的内容)输出到CNC手动进给倍率G10.0~Gll.7的相应地址位。 程序设计时应考虑以上单字节与双字节的不同转换情况,即通过单字节转换标志信号R6.0、双字节转换标志信号R6.1,对二进制寄存器R100、R101的内容进行相应的处理,实际转换程序如图3。

程序第一段的作用是在单字节转换时(转换标志R6.0=l、R6.1=0),将寄存器R101的内容自动置“0”。FANUC PLC程序指令SUB8为“逻辑乘数据传送”(MOVE)指令,由于程序中的“逻辑乘数”为00000000,因此,当转换标志 R6.0=l、R6.1=0(单字节转换)时,可以将二进制寄存器R101的内容自动置“0”;当转换标志R6.0=0、R6.1=l(双字节转换)时,寄存器R101的内容不变。
程序第二、三段的作用是根据CNC的输入要求,将二进制寄存器Rl00、R101的内容取“反”后,送到CNC手动进给倍率G10.0~Gll.7的相应地址位(程序以R100.O、R100.1为例,其余位相同)。 3 倍率增/减键的处理
在实际机床设计中,除使用波段开关外,有时还有使用信率增/减键进行倍率调整的情况,即:通过按键的多次操作逐级改变倍率。在这种情况下,PLC程序设计时,只需要对输入译码部分稍加修改即可。
为了简化程序,对于以上情况,在PLC程序中可以通过“移位寄存器”实现。输入译码程序分为移位信号的生成与移位控制两部分,移位信号的生成程序如图4。 
程序中的X4.1、X4.2为倍率的增加、减少键输入信号,通过以上程序的处理,可以将增加、减少键X4.1、X4.2转化为 R13.0、R13.2单脉冲信号,并且在R13.4上产生移位方向信号。
移位控制可以通过FANUC PLC16位移位指令SFT(SUB33)进行。以主轴倍率控制为例,假设倍率的调节范围为50%~150%,每级的增量为5%,则主轴倍率共有15个不同状态,对应状态用PLC内部寄存器R14.0~Rl5.6进行区分,其控制程序如图 5。

程序中的第一、二段的作用是在开机时自动将主轴倍率设定为100%(RO.7为系统复位信号),即:将PLC内部寄存器 R15.2(100%状态位)置“l”,其余位置“0”,作为初始状态信号。操作倍率的增加/减少键,移位指令SFF(SUB33)将R15.2的内容(“1”信号)依次左右移位,保证了按键次数与状态寄存器R14.0~R15.6的一一对应。
当倍率到达最大值150%或最小值50%后,寄存器R15.6或R14.0为“l”,左移或右移信号将被封锁,这时再按操作倍率的增加或减少键,状态不变。 在以上输入译码的基础上,再通过前述完全相同的代码转换、信号处理程序,即可以将由PLC数据表设定的各级主轴倍率值,转化为CNC的对应主轴倍率输入信号。
4 结束语
以上是与FANUC 0i系统对应,采用波段开关或倍率增加/减少键,进行倍率控制的PLC程序实例,其特点是可以通过PLC数据表的设定,任意改变倍率值,使用灵活、调整方便。这一方法同样适用于其他系统。 |