登录  |  注册
河北华利机械配件有限公司

基于PMAC数控系统手轮脉冲跟随功能

2014/11/5 14:28:15
        目前,基于PC的开放式控制系统主要有三种类型:专用CNC+PC型(在专用的数控系统中简单的嵌入PC技术)、纯PC型(完全采用以通用PC为硬件平台的全软件数控系统)、“运动控制器+PC”型。前两种类型的开放式数控系统都存在着其本身难以克服的矛盾,实际应用价值和发展潜力不高。因此,基于“运动控制器+PC”的开放式数控系统就成为当前最为理想的开放式数控系统。在基于“运动控制器+PC”的开放式数控系统中,多轴运动控制器直接驱动伺服电动机、步进电动机等执行元件,负责处理数控系统的实时部分;PC机处理系统管理、人机界面交互等非实时部分。随着基于?运动控制器+PC?的开放式数控系统的发展,运动控制器的设计制造也成为一个相对独立的专门行业。目前,美国、日本、欧盟、中国台湾以及国内的一些厂商已先后开发出不同档次的运动控制器产品,其中,以美国DeltaTau数据系统公司于上个世纪90年代推出的PMAC(Programmable Multi-Axis Controller)系列运动控制器的功能最为强大,在工业控制领域中应用也最为广泛。其硬件系统和软件系统具有高度开放性,这为用户的设计开发提供了广阔平台。
        在数控机床制造业中,特别是对数控系统有特殊要求以及对柔性要求较高的专用机床制造业中,PMAC运动控制器的应用尤为广泛。无论是何种数控系统,手轮脉冲跟随功能(用来实现刀具微动、工件对刀、工作台运动等)都是必不可少的。手轮脉冲跟随功能即电子齿轮功能,是通过手轮脉冲编码器所产生脉冲信号的频率和脉冲个数实现随动装置运动速度和位移的控制,使随动装置的运动与手轮脉冲编码器产生的脉冲信号呈线性关系。本文介绍了在基于“PMAC+PC”的开放式数控系统中实现手轮脉冲跟随功能的两种方式。
1    实现手轮脉冲跟随功能的两种方式
        手轮脉冲跟随功能,是在PMAC所提供的位置跟随(Position Following)功能的基础上实现的。它是PMAC运动控制器在保持与外界事件同步的诸功能(位置跟随,时基控制、位置捕捉和位置比较)中最基本的一种。位置跟随是一种电动机---电动机(Motorto-Motor)的功能。也就是说当机床处于手轮脉冲跟随工作方式时,手轮脉冲编码器产生的脉冲信号只能控制一个电动机及其负载作相应的运动。要实现位置跟随功能,首先必须将手轮脉冲编码器产生的脉冲信号送到PMAC中,使其能够被PMAC运算处理。PMAC根据运算结果和用户的初始化设置,驱动相应的执行元件。本文中手轮脉冲跟随功能的两种实现方式,就是通过手轮脉冲编码器脉冲信号的不同输入方式来划分的。
1.1    通过JMACH接口输入
        JMACH接口是PMAC与机械驱动设备的接口,共包括60个引脚。它是PMAC多轴运动控制器用来驱动伺服单元和获取编码器反馈信号等信息的专用接口。一个JMACH接口包含四组通道,每一组通道对应于一套伺服驱动系统,也就是说一个JMACH接口最多可以驱动四台伺服电动机。JMACH接口的每一组通道包括:模拟量输出引脚、增量式脉冲编码器反馈信号输入引脚、相关的输入/输出的标志引脚和电源引脚。手轮的脉冲发生器所产生的脉冲信号,就是通过JMACH接口四组通道中任意一组的增量式脉冲编码器反馈信号输入引脚发送给PMAC的。将手轮脉冲编码器产生的脉冲信号作为主动轴(MasterAxis)的编码器信号,经过用户相应的初始化设置后,当从动轴(SlaveAxis)被设置为位置跟随工作方式时,从动轴就会在手轮脉冲编码器的控制下作相应的运动。
        要实现从动轴的位置跟随功能,在将手轮脉冲编码器与JMACH接口正确连接后,用户只需再对编码器转换表(EncoderConversionTable)和PMAC的一些相关I变量(InitializationVariables,初始化变量)进行设置:
        (1)Ix05(x代表对应的伺服电机编号,下同)    包含PMAC主动轴位置寄存器地址信息的I变量。主动轴位置寄存器的值一般是位置反馈信号在编码器转换表中经过处理后的一些数据。编码器转换表通常是用户根据具体反馈设备而设置的,因此表中的所有信息对用户来说是透明的。在默认情况下,要对脉冲信号进行1/T插值或近似的处理,这有利于减小采集编码器信息时产生的量化误差。假设用Encoder1作为手轮脉冲编码器的输入通道,则Y:$720(编码器转换表中Encoder1的入口)的值应为$00C000,而Ix05的值应为$720(X:S720)。
        (2)Ix06    控制从动轴位置跟随功能使能关系的I变量。当Ix06的值为1时使能有效,从动轴工作在位置跟随工作方式;Ix06的值为0时使能无效,从动轴工作在非位置跟随工作方式。
        (3)Ix07与Ix08    用来确定主动轴和从动轴跟随比例关系的I变量。Ix07与Ix08的比值决定了从动轴与主动轴的位置跟随关系,计算公式为:从动轴x位移脉冲数=(Ix07/Ix08)?主动轴位移脉冲数。Ix07与Ix08的值一般可以被看作机械传动领域中两啮合齿轮的齿数。Ix08的作用是用来实现如何将从动轴电动机编码器中脉冲计数器的值扩展到PMAC的寄存器中。在绝大多数情况下,它对用户来说是透明的,不需要用户对其进行修改(默认值为96)。在现实应用中,存在两种情况,可能要求用户对Ix08的值进行修改:一种是要利用Ix07与Ix08的比值(即传动比)控制从动轴与主动轴跟随关系,如果要实现一个非常精确的传动比,可能需要改变Ix08的值;另一种是PMAC的滤波器在电动机速度(counts/sec,计数脉冲个数/秒)乘以Ix08的结果大于768M(805,306,368)时就会饱和,从而导致PMAC超负荷运行。为了避免这种情况出现,在电动机速度不变的情况下,必须改变Ix08的值。当要改变Ix08的值时,必须关掉伺服电动机,因为改变Ix08的值时,PMAC内部位置寄存器也会随之改变,这将会引起伺服电动机的蹿动。在大多数条件下,Ix08的值不应该超过1000(Ix08的值越大越容易引起PMAC的内部饱和)。如果Ix08的值已被改变,整个伺服驱动系统的比例增益系数Ix30应该向着相反的方向改变,以保证系统的动态响应性能不变。Ix07的作用是用来实现如何将主动轴编码器脉冲计数器的值扩展到PMAC的寄存器中(默认值为96)。它和Ix08一同控制对应从动轴的跟随比。
        当数控系统处于在手轮脉冲跟随工作方式时,如果用户想要在系统运行过程中改变从动轴与主动轴的跟随关系,可以通过单独改变Ix07的值来实现。用户可以通过自行编写软PLC程序,实时地刷新Ix07的值。同样,也可以通过PLC程序实时刷新Ix06的值,判断是否应使手轮脉冲输入使能有效。
1.2    通过JPAN接口输入
        JPAN接口是PMAC与其专用控制面板的接口(因为JPAN接口所提供的功能有限,用户也可以不通过JPAN接口,而是通过通用I/O口和自行编制的软PLC程序来实现控制面板能)。JPAN接口共包含26个引脚:专用控制输入引脚(如:JOG-/,JOG+/,HOME/,STRT/,STEP/等)、专用状态输出引脚(BRLD/,IPLD/,F1LD/,F2LD/,EROR/)、一个模拟信号输出引脚和积分型编码器输入引脚。因为JPAN接口所提供的专用控制面板功能引脚非常有限,不能满足广大用户的需要,所以一般只在系统调试时使用。在现实应用中,通常令I2=1或3,从而使JPAN接口的控制面板功能无效。
        当PMAC的JMACH接口的输出通道已全部被占用,并且对数控系统有手轮脉冲跟随功能的需要时,如果通过扩展JMACH接口,则至少需要引入四个输出通道(OPTION1)或者再串联一块PMAC运动控制器。如此一来,势必使开发费用增加,并且浪费了大量的硬件资源。如果与此同时JPAN接口仍未被使用,PMAC运动控制器的附件39(ACC-39)则提供了一个廉价且有效的解决方案。
        ACC-39是一块比较简单的印刷电路板,它是专门为手轮脉冲编码器或较慢的时基编码器与PMAC的连接而设计的。ACC-39可以接收各种输入信号(A&B;A,A/&B,B/等),通常手轮脉冲编码器的输出信号一般为A&B型。当将一对A&B编码器脉冲信号作为其输入信号时,PMAC接受信号的速率最大为每个伺服周期31个A&B计数脉冲。如果按照默认的伺服刷新频率2.62KHz计算,输入信号的最大频率为62.5KHz(这个输入频率早已远远超出手轮脉冲编码器的输出极限)。在这种刷新频率下,输入信号经4倍频电路提供给PMAC最快为每个伺服周期250000个计数脉冲的信号。值得注意的是,4倍频电路固定在硬件电路中,不可以被改变。
        ACC-39将手轮脉冲编码器的输入信号A&B转换成+/-脉冲数,并将转换结果保存为一个8位的二进制数。每一个伺服周期,PMAC通过编码器转换表读取这一结果(结果的格式为并行数据---ParallelData)。对于PMAC-PC、PMAC-LITE和PMAC-VME来说,转换结果保存在物理地址为Y:$FFC0存储单元中的8~15位,对于PMAC-STD来说,转换结果保存在物理地址为Y:$FFFB存储单元中的0~7位。
        由此可见,通过第二种方式实现手轮脉冲跟随时,用户需要设置的参数要比第一种实现方式复杂一些,其实现方法如下:
        (1)编码器转换表的设置一般情况下,用户可以将编码器转换表中默认的最后一个入口(Y:$72A)分配给ACC-39。因为ACC-39发送给PMAC的位置信息的数据格式为并行数据,这就要求编码器转换表对其进行特殊处理。处理过程共需3行存储单元(3个入口,Y:$72A、Y:$72B和Y:$72C)。对于PMAC-PC、PMAC-LITE和PMAC-VME来说:Y:$72A的值应为$38FFC0,Y:$72B的值应为$00FF00(只有Y:$FFC0的8~15位数据为有效的位置信息),Y:$72C的值应为$001000(一个可选择的滤波器,它将编码器反馈信号输入速率的最大值限定在4096个计数脉冲/伺服周期)。同样,对于PMAC-STD来说:Y:$72A的值应为$38FFFB,Y:$72B的值应为$0000FF,Y:$72C的值应为$001000。
        (2)I初始化变量的设定I2的值应为1或3,从而屏蔽掉JPAN接口的控制面板功能。Ix05的值应为$72C(X:$72C)。Ix08的设定同第一种实现方式完全相同。Ix07的值有所改变:对于PMAC-PC、PMAC-LITE和PMAC-VME来说,要想实现1:1的跟随比例,Ix07的值应为Ix08值的1/8(即跟随比计算公式变为:从动轴x位移脉冲数=8?(Ix07/Ix08)?主动轴)位移脉冲数;对于PMAC-STD来说,跟随比的计算公式与第一种实现方式相同。
        在这种实现方式中,同样可以通过用户自行编写的软PLC程序,对Ix06和Ix07的值进行实时刷新。实现变跟随比和手轮脉冲跟随功能的使能。
2    结语
        手轮脉冲跟随功能是数控系统必不可少的功能之一。本文提出的手轮脉冲跟随功能的具体实现方法,可以根据用户的要求在较宽的范围内设置位置跟随精度,并可实时改变位置跟随比例,适合于不同精度要求的数控系统。
华利胶木手轮