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

基于PMAC 的数控机床手轮功能的实现

2013/9/9 11:08:48

PMAC 系列运动控制器是当今世界工业控制领域中功能最强大的可编程多轴运动控制器之一, 被广泛应用于各数控系统中。手轮是通过手动脉冲编码器所产生的脉冲信号的频率和脉冲个数实现随动装置运动速度和位移控制的部件。它是数控机床实现刀具微动、工件对刀和工作台运动控制等功能不可或缺的部件, 直接关系到机床的实用性。因此, 如何在基于PMAC 的数控系统中实现手轮功能是数控系统开发过程中存在的一个普遍问题。本文主要介绍基于“ PC+多轴运动控制器”的手轮控制系统的硬件结构, 并开发了基于PMAC 和工控机的控制程序, 为基于PMAC 的手轮功能的实现提供了一个参考。

        1 硬件结构数控机床以PMAC- PC 运动控制器、贝塞德精密运动平台、手轮和工控机等为硬件, 系统硬件连接如图1 所示。摘要: PMAC 是当今工业领域最常用的运动控制器之一,而在基于PMAC 的数控系统开发过程中手轮功能的实现是常见问题。文中在基于PMAC 所提供的位置跟随功能的基础上,提出了基于“ PMAC+PC”的硬件结构,并结合PLC 技术与Visual C++技术,设计了手轮的控制程序,实现了手轮的位置和速度跟随功能。多轴控制器选用美国Delta Tau 公司的PMAC- PC( Programmable Multi- Axis Conrtoller) 运动控制器。它是1990 年代推出的基于PC 平台的开放式多轴运动控制器, 采用了Motorola 公司的DSP56001 高性能数字信号处理器作为CPU, 能够对存储在它内部的程序进行单独运算。执行运动程序和PLC 程序, 进行伺服环更新, 可以独立或者联动控制1~8 轴[1]。PMAC 提供了位置转接板ACC- 8P 和数字量输入/输出接口板ACC- 34aa, 可方便实现对PMAC 板卡上的接口进行转接。ACC- 8P 是位置转接板。编码器可以通过ACC- 8P 与PMAC 的J8 口相连。J8 口也即JMACH 口, 是PMAC 与机械驱动设备的接口, 用来驱动伺服单元和获取编码器反馈信号等信息。一个JMACH 接口包含4 组通道, 每一通道对应于1 套伺服驱动系统, 也即1 个JMACH 可以驱动4 台伺服电机。每一通道包括模拟量输出引脚、增量式脉冲编码器反馈信号输入引脚、相关的输入/输出标志引脚等。本系统为三坐标系统, 只需3 个电机( 这里电机所驱动的运动平台称为从动轴) , 占用了3 个通道, 剩下的1个通道将手轮脉冲发生器有关脉冲编码部分控制线接入, 作为主动轴的编码器信号。ACC- 34aa[2]是64 位数字量输入/输出接口板, 可以选择接输入口和输出口其中的一种。手轮的进给倍率和进给轴的选择开关作为输入信号通过ACC- 34aa 与PMAC的J3 口相连。手轮脉冲跟随功能是在PMAC 所提供的位置跟随功能的基础上实现的。当手轮脉冲编码器产生的脉冲信号送到PMAC 后, 经PMAC 运算处理所得的结果结合用户的初始化设置, 驱动相应的执行元件运动。
        2 与手轮有关的系统变量设置在硬件连接完成后, 还需对PMAC 系统的I 变量关于电机部分的一些变量进行设置。( 1) Ix03( x 为对应的电机编号) 为电机位置值地址,Ix05 为电机手轮位置寄存器地址。假设JMACH 口的1、2和3 通道分别接X、Y、Z 电机编码器, 4 通道接手轮脉冲编码器, 则设置Ix03=I405( x=1, 2, 3) 。在默认情况下1、2和3 号电机的位置值由各自的位置指令Ix03 决定。当处于手轮位置跟随功能时, 各电机的位置值由I405 决定。( 2) Ix06 为使能或禁止手轮位置跟随功能。当Ix06 为1 时使能有效, 各电机工作在手轮位置跟随工作方式下;当Ix06 为0 时使能无效。( 3) Ix07 和Ix08 用来确定主动轴和从动轴跟随比例关系。其值决定了电机的进给倍率。计算公式为:从动轴x 位移脉冲数=( Ix07/Ix08) ×主动轴位移脉冲数。Ix07 为主动轴位置比例, Ix08 为从动轴位置比例。一般都通过改变Ix07 来实现跟随比例的改变。因为当改变Ix08 时, PMAC 内部位置寄存器也会随之改变, 这将会引起伺服电机地窜动[3]。Ix03 的值只需在初始化设置时改变。Ix06, Ix07 的值可以由用户自行编写PLC 程序或者上位机程序进行实时刷新来确定。
        3 软件结构本系统是一种主从式的双系统结构, 上位PC 机和下位PMAC 控制器各有自己的CPU、存储器和外设, 分别构成一套独立的计算机系统。因此, 在软件设计时充分利用了这种结构的优点: PC 机主要完成人机交互界面、系统任务管理和机床状态变量的读取并对其进行运算的功能; PMAC 卡的DSP 完成运动控制、I/O 管理、刀补以及PLC 等实时控制。3.1 手轮的后台PLC 程序设计当用户使用手轮脉冲发生器时, 应该使能手轮控制的PLC 程序, 循环扫描端口状态, 根据端口值的变化执行相应的动作。当机床为n 轴机床时, 需要有能够控制n 个轴的手轮与其系统相适应。其连线方法和软件设置与三轴机床相似。3.2 上位机程序手轮的上位机程序[5]主要用于实现位置捕捉和一些计算功能, 以用于实现对刀和运动控制等功能, 对刀界面如图3 所示。系统运行时需要实时监测手轮控制的运动平台所走的路程。这里利用Visual C++里的Timer 定时器控件, 在程序运行时, 计时器控件每隔0.2s 产生一次Timer 事件,读取存在PMAC 卡里的每个轴的状态以及各种参数变量。在实现时可通过用PMAC 卡的地址变量M指向各状态, 然后读取M变量的值来获得参数, 也可以用PMAC卡的一些命令来直接读取参数, 如用“ #1p”来读取1 号轴的位置
        4 实验验证在以上述硬件搭建的小型数控铣床的实际运行中,运动平台能准确跟随手轮的动作作相应的运动, 移动平稳连续, 从图3 中显示的实时位置, 可得知当前的平台所处的具体位置。通过改变手轮旋转速度或者进给倍率可以方便地调整某一选中平台的移动速度。该功能在工件加工对刀和平台的运动调整控制中发挥了良好的作用。
5 结论手轮功能在数控机床中是必不可少的功能之一。本文设计了以PMAC 和工控机为硬件核心的系统, 利用PLC 技术与Visual C++技术实现了手轮的位置跟随和速度跟随功能。该方法适用于任何基于PMAC 的控制系统。
a

华利胶木手轮