通用液压刀架和电动刀架在PMC程序设计上的最大区别在于两者的刀位检测信号输入形式不同,电动刀架的刀位检测使用的是绝对位置检测方式,每一刀位都有明确的检测信号输入;而通用液压刀架则采用计数开关计数的增量检测方式,因此,需要利用PMC程序来确定其实际刀号。此外,由于通用液压刀架的刀塔可进行双向回转、捷径换刀,因此,PMC程序设计时,需要有刀位计算、捷径选择功能。
通用液压刀架的PMC控制程序一般由刀位计数、捷径选择、刀号出错检查、刀号一致判别、刀架回转控制、完成应答6部分组成,典型程序如下。
1.刀位计数
FS-0iD等CNC的刀位计数可利用PMC的回转计数功能指令CTR(SUB5)实现,以8刀位通用液压刀架为例,其典型的PMC程序如图5-10a所示,计数指令CTR的功能和相关参数如图5-10b所示。
图5-10 刀位计数程序与功能
FS-0iD的回转计数指令CTR可用于回转体的双向循环计数,指令的部分参数可通过CNC的MDI/LCD面板,在PMC计数器参数设定页面上直接设定。
当回转计数指令CTR用于数控车床刀架的刀位计数时,指令中的回转体分度数应为刀架的最大刀号,它又称计数器预置值,这一参数一般通过CNC的MDI/LCD面板,在PMC计数器参数设定页面上设定。
CTR指令中的回转体起始分度值应为刀架的最小刀号,它又称为计数器初始值,这一值可以通过CTR指令中的控制条件CN0进行选择。如CN0=0时,起始分度值为0;CN0=1时,其起始分度值为1。
因此,对于需要进行T1~T8计数的8刀位液压刀架,指令中的计数器预置值应设定为8;控制条件CN0应为“1”。
指令CTR的每一计数器都有对应的连续4字节计数存储器用来保存计数参数,计数存储器按照PMC程序中的计数器号依次排列。例如,PMC程序中的计数器C1所对应的计数存储器为C000~C003;计数器C2所对应的计数存储器为C004~C007等。每一计数器的第1、2字节计数存储器都用来存储该计数器的预置值;第3、4字节则用来存储计数器的现行计数值。预置值、现行计数值一般都是通过CNC的MDI/LCD面板,直接利用PMC的计数器参数设定页面进行设定,但为了保证计数值的正确,这一设定只需要在首次调试或PMC参数总清后进行,机床正常使用时的现行计数值可在指令的执行过程中自动改变并保存。
指令CTR用于刀位计数时,现行计数值就是刀架的实际刀位检测信号,它可根据CTR指令的控制条件UP/DOWN,随计数脉冲ACT的输入自动增/减。但是,机床首次调试或PMC参数总清后,现行计数值一般需要通过CNC的MDI/LCD面板,在计数器参数设定页面上进行设定。在PMC程序中,计数器预置值(刀架的最大刀号)、现行计数值(刀架的当前刀号)均可通过计数寄存器进行读取,例如,在计数寄存器C000或C002上,可分别读取计数器C1的预置值或现行计数值;在计数寄存器C004或C006上,则可分别读取计数器C2的预置值或现行计数值等。
CTR指令中的控制条件RST如果为“1”,计数器的现行计数值将复位到计数器初始值。如果液压刀架安装有参考点(1号刀位)检测开关,可使用这一检测信号,作为RST输入,并通过刀架的手动回参考点动作,使得现行计数值和实际刀号一致。但是,为了简化机床的开机操作,在多数数控车床上一般不使用这一功能,此时,可直接将CTR指令中的控制条件RST置为“0”。
CTR指令中的结果输出WRT(R502.0)在正向计数(加计数)到达计数器预置值、反向计数(减计数)到达初始值时输出“1”。在大多数情况下,刀架控制的PMC程序,一般不使用这一信号。
CTR指令中的控制条件UP/DOWN用于计数方向控制,ACT为上升沿有效的计数脉冲输入。当刀塔正转时,液压回转油缸的正转输出Y0.0=1、反转输出Y0.1=0,故UP/DOWN为“0”,计数开关X4.0每输入一个脉冲,现行计数值将加“1”;到达最大刀号后,可自动从计数初始值(最小刀号1)开始重新计数。刀塔反转时,液压回转油缸的正转输出Y0.0=0、反转输出Y0.1=1,故UP/DOWN为“1”,计数开关X4.0每输入一个脉冲,现行计数值将减“1”;到达最小刀号后,可自动从计数预置值(最大刀号8)开始重新计数。
2.刀号出错检查和一致判别
用于8刀位通用液压刀架的刀号出错检查、刀号一致判别的PMC程序如图5-11所示,该程序的设计思路与电动刀架基本相同。
当CNC加工程序中的编程刀号T=0或T﹥8时,编程刀号出错信号R500.0或R500.1将为“1”,此时,一方面可通过机床报警处理的PMC程序,产生机床报警或操作者出错信息;另一方面,可通过后述的T代码应答程序,直接输出辅助功能执行完成信号FIN(G004.3)、结束T指令。
在刀号一致判别指令COPMB(SUB32)中,由于刀架的实际刀位检测信号为计数器C1所对应的计数寄存器C002上的二进制值,其数据格式和CNC的T代码输出信号F026~F029的一致,且实际有效刀号的范围为T1~T8,故只需要利用1字节二进制比较指令COMPB,进行T代码的最低字节F026和计数寄存器C002的低字节比较。程序中的其他指令的作用及内部继电器R的含义,均与电动刀架控制程序相同,有关内容可参见5.2节。
图5-11 刀号出错和一致判别程序
3.捷径选择
通用液压刀架的刀塔可双向回转,因此,自动换刀时需要通过PMC程序中的刀塔转向捷径选择程序,生成刀塔回转的转向信号。
FS-0iD等CNC的捷径选择可直接利用PMC的回转控制功能指令ROTB(SUB26)实现,以上述8刀位通用液压刀架为例,其典型PMC程序如图5-12所示。
图5-12 捷径选择程序(www.xing528.com)
ROTB指令中的控制条件和参数定义如下。
RN0=1:回转计数的初始值(刀塔的最小刀号)为“1”。
DIR=1:捷径选择功能有效。转向信号可通过结果寄存器R502.0输出,R502.2=0为正转,R502.2=1为反转。
POS=0:以目标位置为基准,计算并在结果存储器R512上输出刀塔需要回转的刀位数或刀塔的定位目标位置。
INC=1:结果存储器R512上的输出为需要回转的刀位数。
ACT:指令执行启动信号,为了防止刀塔回转过程中,因实际刀位检测信号的变化,导致指令执行结果的错误,程序中一般需要利用换刀启动脉冲R501.1启动指令、判别转向;在换刀启动后,将不再执行ROTB指令。
ROTB指令中的参数定义如下。
1:指令数据的长度为1字节。由于机床的实际有效刀号为T1~T8,故只需要进行实际刀号、指令刀号的最低字节运算。
C000:指定回转体的最大分度位置(最大刀号)值。ROTB指令规定最大分度位置需要以存储器地址的形式给定,因图5-10的刀位计数程序中,已定义计数器C1用于刀位计数,因此,C1所对应的计数存储器C000中的设定值,可直接作为回转体的最大分度位置(最大刀号)。
C002:回转体的当前位置。同样,它就是计数器C1所对应的计数存储器C002中的现行计数值。
F026:回转的目标位置。它就是CNC输出的T代码指定位置。
R512:结果存储器。R512为需要回转的刀位数或刀塔的定位目标位置,该计算结果在仅需要判别转向的换刀程序中一般不使用。
R502.2:转向输出。刀塔的捷径回转的转向,R502.2=0为正转,R502.2=1为反转。
4.回转控制和完成应答
如不考虑手动操作,液压刀架的自动换刀回转控制和完成应答程序如图5-13所示。
图5-13 换刀控制和结束应答程序
程序在CNC加工程序中的编程刀号正确(R500.2=1)且现行刀号和CNC编程刀号不一致时(R501.1=0),通过图5-11中的刀架启动信号R501.3启动执行。
当刀架启动信号R501.3为“1”时,如刀塔位于夹紧状态(X4.1=1),且坐标轴定位完成(DEN=1)、刀塔换刀的其他执行条件也已满足(R500.4=1),则刀塔抬起和松开电磁阀Y0.2=1,刀塔抬起、松开。
刀塔松开到位后,检测开关X4.2的输入将为“1”。但是,考虑到实际刀架的松开检测开关的位置调整不可能十分准确,为确保刀塔的可靠松开,检测信号X4.2,需要经过定时器T1(0.5s左右)的延时,才能启动刀架的回转。
刀塔松开延时一旦到达,R501.4将为“1”,其上升沿可根据前述捷径选择程序所产生的转向输出R502.2的状态,启动刀塔正转(Y0.0)或反转(Y0.1)。同时,R501.4将复位换刀启动信号R501.3,但刀塔松开的电磁阀Y0.1仍需要保持“1”,以保证刀塔在回转分度时,始终处于松开状态。
由于刀位一致判别指令在R500.2=1的整个换刀过程中始终有效,因此,当刀塔回转(Y0.0或Y0.1为“1”期间)到达CNC的T代码指定位置时,刀号一致判别程序中的R501.0将为“1”,使程序中的刀塔落下、夹紧信号R503.2为“1”。R503.2=1可复位刀塔松开电磁阀Y0.2、撤销刀塔正转或反转输出Y0.0或Y0.1,使刀塔回转停止并夹紧。
刀塔夹紧到位后,夹紧检测开关X4.1将为“1”,同样,为了保证可靠夹紧,这一信号需要通过定时器T2(0.5s左右)的延时,才能产生换刀结束完成信号。夹紧延时一旦到达,R501.6将为“1”,这一信号可通过R501.7,输出T代码执行完成应答信号FIN(G004.3),结束CNC的T代码执行。
CNC接收到FIN信号后,将自动撤销TF信号(F007.3),程序中的R500.2将为“0”,因此,刀塔落下夹紧信号R503.2、夹紧到位信号R501.6、T代码执行完成应答信号FIN也将被自动撤销,整个换刀过程随之结束。
图5-13中的换刀完成应答程序的设计思路和电动刀架一致,有关内容可参见5.2节。当加工程序中的编程刀号出错(R500.0或R500.1为1),或现行刀号和编程刀号一致(R500.3为1)时,PMC将直接输出R501.7和FIN(G004.3)信号,结束T代码执行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。