基于 PMAC 的超精密磨床开放式数控系统的研究

来源:互联网

点击:1423

A+ A-

所属频道:新闻中心

关键词:PMAC 磨床 数控系统

      随着科学技术的日益发展,各种对称、非对称、非球曲面、甚至更为复杂的异形曲面零件的加工越来越引起世界各国制造业的高度重视。这些高精度的曲面类零件广泛地应用于武器装备、航空航天、生物医学、能源及电子信息等领域的尖端设备中。曲面的超精密加工要求加工机床具有高精度、高刚度以及良好的动态性能,同时需要多轴联动控制技术。因此,数控系统作为超精密机床的控制中心,已成为决定超精密曲面加工的关键性因素。目前,超精密机床多采用 NC ( Numerical Control) 嵌入 PC 型开放式数控系统。这种开放式数控系统具有可移植、可扩展性、交互简单、运用灵活等优点。

      文中根据超精密磨床磨削非球曲面的要求,依托PMAC 多轴运动控制卡和上位机工控机组成的开放式数控系统,基于 Windows 操作平台,综合运用 VC + +6. 0 和 PMAC 驱动程序进行了数控系统的软件开发。

    1 PMAC 简介

      PMAC ( Programmable Multi-Axis Controller) 是由美国 Delta Tau 公司推出的具有开放式体系结构的多轴运动控制器。PMAC 功能强大,性价比较高,具有精度高、响应快、操作简单等特点,它采用了 Motorola 的 DSP56 系列数字芯片,可以灵活运行多种高级语言,最多可以控制八轴同时运动。

      PMAC 本身就是一台完整的计算机,它不仅可以通过自己内部的程序独立运行,还可以与计算机连接起来进行联合运行; 它是集执行 PLC 程序、伺服环更新、电机换向更新、资源管理以及与主机通讯于一体的多功能运动控制器,能够执行多个任务并对任务的优先级做出正确的判断。

      PMAC 通过串口、 总线 ( PC、 PCI、 STD 或者VME) 或者双端口 RAM 与主机通讯,通过特殊设计的 DSPGATES 用户门阵列 IC 与各轴通讯。每个PMAC 卡都能控制 8 个轴,最多可以有 16 个 PMAC卡级联。

      基于 PMAC 的数控系统是开放式数控系统,这主要是由于 PMAC 硬件结构的开放性和软件结构的开放性。其中硬件结构的开放性是指它能够与不同硬件平台匹配、与各种伺服系统匹配、与各种检测元件匹配以及与 PC 机采用多种方式进行通信。软件结构的开放性是指其人机界面的对外开放性、数控功能的对外开放性和 PLC 功能的对外开放性以及控制系统定制的对外开放性。

    2 超精密磨数控系统结构

      2.1 超精密磨床的总体结构

      超精密磨床主要用于磨削半球面、非球曲面、圆环面等复杂曲面。由于机床具有高精度、高刚度、高稳定性的运动部件及超精密驱动和反馈系统,具有 3个轴和 1 个超精密回转工作台,同时具备在位测量补偿加工、砂轮在机修整和在线修锐功能,因此可以磨削超精密精度等级的复杂曲面。机床的总体布局如图1 所示。


    图 1 机床的总体布局图

      超精密磨床主轴采用气体静压主轴,精度高,热变形小,回转速度大。机床的 X 轴和 Z 轴采用液体静压导轨,导轨采用 T 形布局,刚度高,承载能力大,运动平稳,直线运动精度高。同时采用了气浮二维超精密回转工作台,即 B 轴,可以通过三轴或四轴联动实现复杂曲面的加工。机床 X 轴,Z 轴均采用直线电机驱动,减少了机械传动的中间环节,增加了系统的动态刚度,减少了由于传动带来的跟随误差。

      2.2 开放式数控系统硬件组成

      该超精密磨床的数控系统是 NC 嵌入 PC 式开放式数控系统,即 PMAC 嵌入工控机中。如图 2 所示,该系统的工控机采用研华公司的工控机,控制卡类型为 Turbo PMAC PCI Lite。该数控系统主要由上位机工业控制计算机、PMAC 运动控制器、伺服电机及其伺服驱动器、检测反馈元件四部分组成。其核心部分是下位机 PMAC 控制器。其中上位机与下位机通过 PCI总线通讯。同时由 ACC-8P 扩展卡将 PMAC 的 JMACH接口信号与伺服驱动器和反馈信号连接起来。

      上位机工控机具有存储量大、运行速度快、操作灵活等特点,主要用于后台管理、人机交互界面的开放性设计、程序编辑、运动处理及运动实时监测等。下位机 PMAC 具有实时性强、稳定性好、效率高等特点,主要用于前台控制,包括各轴运动控制、插补运算、刀具补偿、程序执行、反馈信号接收和处理以及机床逻辑功能 A/D、D/A 转换等。在实际应用中,用户通过上位机进行系统相关的数据输入、命令输入、参数设定、程序编辑等准备工作,然后通过 PCI总线与 PMAC 进行通讯,再由 PMAC 根据上位机的要求发送指令给相应的伺服驱动器,由伺服驱动器驱动电机来执行相关指令,推动导轨到指定的位置或者使主轴和 B 轴按照指定转速转动。与此同时,光栅尺或者圆光栅作为检测反馈元件将采集到的数据不断地反馈给 PMAC,通过 PMAC 的复合反馈功能使系统具有较好的静动态特性。


    图 2 基于 PMAC 的开放式数控系统硬件结构图

    3 开放式数控系统软件设计

      3.1 软件设计概述

      上位机软件是基于 Windows 操作系统,使用VC + + 6. 0开发的。Delta Tau 公司为 PMAC 上位软件开发提供了软件开发包 PcommSever。PcommSever 是一个包含 50 多种函数功能的软件包。上位机与PMAC 的通讯和数据交换都可以通过 PcommSever 中的函数来实现。

      该系统软件分为 4 个操作窗体,一个父窗体,3个子窗体,每个窗体及其功能都封装成一个类。软件结构如图 3 所示。父窗体是操作的主界面,如图 4 所示。主界面的设计采用了模块化设计思想,主要包括状态监测模块、初始化模块、程序模块、运动控制模块、PID 调节模块、辅助及其他模块。

    图4 主界面

      3.2 软件系统的功能分析

      软件系统的设计充分体现了数控系统的开放性特点,如果该软件不能满足用户需求,用户可以根据自己的需要开发新的功能模块。同时,系统软件作为人机交互界面,可以通过软件上的简单操作与 PMAC 进行数据交换,并将从 PMAC 得到的信息显示在主界面上。此外,该软件的模块化设计使界面美观简洁、操作简单、友好交互,可以减少操作者的劳动强度,提高工作效率。打开系统软件首先显示登陆界面,以提示用户在操作机床过程中应该注意的问题。然后进入系统的主界面,其中主界面的各个模块的功能如下所示:

      状态监测模块: 此模块包括各轴状态监测模块,工作模态监测模块,进给速度倍率监测模块。各轴状态监测模块实时地监测各轴电机是否上电和闭环、各轴是否处于运动状态以及运动过程中是否触及限位开关,同时实时动态地反映从 PMAC 采集回来的 X 轴和 Z 轴的实际位置以及 B 轴和 C 轴的转动角度。工作模态监测模块反映此时机床处于哪种工作模式下,其中包括 JOG 运动模式、手轮输入模式、自动运行模式、编辑模式、回零模式以及手动快速运动模式等。进给速度倍率监测模块用以显示进给速率值的百分比。

      初始化模块: 此模块的主要功能是给各个电机上电及闭环,其上电和闭环状态会在状态监测模块中显示出来。

      程序模块: 此模块由两部分组成,除了主界面上的程序模块外还包括一个程序编辑子界面 ( 如图 5所示) 。主界面上的程序模块用于打开下载前不需要进行编辑的程序,然后进行下载和运行。程序编辑子界面用于打开下载前需要编辑的程序,这时候可以通过该子界面打开程序,并对程序进行编辑和保存,同时可以将程序下载到 PMAC 中或者将程序从 PMAC 读取至上位机中。

    图 5 程序编辑子界面

      运动控制模块: 此模块包括 JOG 运动控制模块、B 轴和 C 轴控制模块,用以设置各轴的运动位置、运动速度和运动方向,并使各轴进行正反方向运动和回零运动。

      PID 调节模块: 此模块用于打开 PID 调节相关的PmacTurningPro2 软件和 PmacPlot32Pro2 软件。此外,该模块还设置了阶跃信号整定和抛物线信号整定过程中可能出现的曲线形状,并指出供用户参考的相应调节方法,以提高工作效率。

      辅助功能及其他模块: 此模块包括油泵的开启和关闭、气泵和冷却液的状态监测以及急停和退出软件系统。基于安全性考虑,设置了电机闭环前必须开启第7 期 董秋艳 等: 基于 PMAC 的超精密磨床开放式数控系统的研究油泵和电机处于闭环时不能停止油泵的保护方法。

      3.3 部分模块功能的具体实现

      软件系统采用显式链接的方式将 PcommSever. exe添加到 VC ++6. 0 的 MFC 程序中,由此导入了 Pcom-mSever. exe 中的封装类 IPmacDevice。软件系统的各个功能模块都是基于 VC ++ 6. 0 的 MFC 程序框架,调用类 IPmacDevice 中的函数实现的。其中软件的主要功 能 是 通 过 GetResponseEx ( dwDevice,FALSE,&pAnswer ,&Pstatus) 函数实现的。

      对于整个系统软件,要先解决上位机与 PMAC 的通讯问题。首先在程序中声明 IPmacDevice 类型的全局 变 量 PmacDevice, 然 后 通 过 PmacDe-vice. SelectDevice ( NULL, &dwDevice, &pbSuccess )和 PmacDevice. Open ( dwDevice,&pbSuccess) 函数建立通讯。

      状态监测模块要完成显示状态信息和更新界面信息的功能。例如 X 轴 ( 即#1 轴) 的运动状态监测是调 用 PmacDevice. GetResponseEx ( dwDevice, "M140" ,FALSE,&pAnswer,&pStatus) 实现的。该函数向 PMAC 发送不同的 M 变量指令,并从 PMAC 得到响应指令 pAnswer,然后将变量 pAnswer 转换成 int型变量,判断该 int 型变量的值得出此时电机是否上电。各轴位置信息的实时更新是通过定时器实现的,以 X 轴为例,X 轴的位置是通过定时器发送 WM_TIMER 消息,然后在 OnTimer ( ) 消息响应函数中调用 GetResponseEx ( ) 函数向 PMAC 发送" #1p" 指令来更新的。此外,模块中其他状态监测功能与 X轴的运动状态监测功能的实现方法基本一致。初始化模块中,X 轴上电功能是通过函数 GetRe-sponseEx ( ) 来改变变量 M7904 的值实现的。按下按钮时,先判断电机的上电状态,如果电机未上电,则令 M7904 = 1 给电机上电,如果电机已上电,则令M7904 = 0 使电机断电。同时利用定时器控件来改变当前电机的上电状态。其他初始化按钮的实现方法基本类似。

      JOG 运动控制模块主要用来进行加工前的对刀工作。速度控制通过改变变量 Ix22 来实现,其中 x 表示电机号。运动模式通过函数 GetResponseEx ( ) 向PMAC 发送" #xj: " 和" #xj = " 指令来实现,而正负方向的运动通过向 PMAC 发送指令" #Xj + " 和"#Xj - " 来实现。

      PID 调节模块程序调用指令: WinExec( " C: \ Pro-gram Files \ Delta Tau \ PMAC Executive Pro2Suite \PmacTuningPro2 \ PmacTuningPro2. exe " , SW _SHOWNORMAL )

      程序模块的部分功能实现指令如下:

      程序运行指令: PmacDevice. GetResponseEx( dwDe-vice,command,0,&pAnswer,&pStatus)程序终止指令: PmacDevice. GetResponseEx( dwDe-vice," A" ,0,&pAnswer,&pStatus)程序下载指令: PmacDevice. Download( dwDevice,filepath,1,1,1,1,&pbSuccess) ; 其中 filepath 表示要打开的文件路径。

      程序上传指令: PmacDevice. GetResponseEx( dwDe-vice,str,0,&pAnswer,&pStatus ) ; 其 中 str = LISTPROG N,N 表示需要上传到主机的程序号。

    4 结论

      根据超精密磨床的特点和加工要求,设计开发了一套基于 PMAC 的开放式数控系统。该数控系统采用上位机和下位机结合的方式,上位机工控机负责后台管理和人机交互,下位机 PMAC 负责运动控制和信号处理; 采用模块化的设计方法,基于 VC + + 的 MFC基础类框架,调用 PMAC 软件开发包的封装类,形成了一套功能齐全、交互友好、可以进行二次开发的数控系统软件。该数控系统开发周期短、成本低、具有良好的开放性,目前已在超精密磨床上投入使用,经过长期可靠运行,可以满足加工制造的要求。

    (审核编辑: 智汇张瑜)

    声明:除特别说明之外,新闻内容及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。