基于UMAC的开放式五轴磨床数控软件研发*
2017-07-01杨欣雨赵锐马术文丁国富西南交通大学机械工程学院成都610031
杨欣雨,赵锐,马术文,丁国富(西南交通大学机械工程学院,成都610031)
基于UMAC的开放式五轴磨床数控软件研发*
杨欣雨,赵锐,马术文,丁国富
(西南交通大学机械工程学院,成都610031)
为了实现国产五轴磨床数控系统的自主研发,通过对开放式数控系统硬件及软件结构体系的分析,提出基于UMAC运功控制器的五轴磨床数控系统的设计方案。针对数控系统对上位机的功能需求,采用模块化设计方法,进行上位机软件的功能模块设计。研究了上位机与UMAC的通信方式,及代码检验、PMAC运动程序自动生成、加工过程代码同步显示、伺服参数整定等关键技术,利用软件工程技术在.NET平台上开发出一套五轴磨床数控软件,该软件人机界面友好,操作简单,能根据用户角色权限进行系统用户管理、数控机床加工控制及数控系统参数调节等操作。
数控系统软件;UMAC运动控制器;开放式数控系统;模块化
0 引言
由于现代制造技术的发展,对刃形复杂的高精度刀具的需求迅猛增长,普通修磨工具磨床已发展成为五轴联动数控工具磨床。以FANUC、SIEMENS等为典型代表的传统数控系统均属于封闭式系统,构成系统的硬件和软件是专用且互不兼容的[1],系统各模块间通信与数据交互机制也互不相同,导致在控制软件开发上难以修改和扩展,不能满足五轴磨床数控系统自主研发的需求,因此开放式数控系统成为新的研究方向。目前,以“IPC(工控机)+运动控制器”形式搭建数控系统的硬、软件平台是主流架构形式,此结构的CNC系统不仅具有传统数控系统的稳定可靠和实时性强的特性,还具有IPC机的柔性[2]。美国Delta Tau公司的UMAC(Universal Motion and Automation Controller)是当今市场上使用广泛功能强大彻底开放的运动控制器[3-5]。
本文针对五轴数控磨床的功能特点,利用IPC+ UMAC运功控制器的双CPU结构搭建数控系统硬件结构,提高了数控系统的开放性,克服了传统封闭式数控系统内部参数难提取、算法难改写、软件难开发的问题。在硬件基础上进行软件系统的功能设计,在.NET平台上开发出人机交互的五轴磨床数控软件,实现了系统管理、数控加工控制、电机伺服整定三大功能的集成。
1 基于UMAC五轴数控系统体系结构
根据工具磨床的结构特点及参数要求,采用“IPC+ UMAC”控制模式构建闭环控制系统,其硬件构成如图1所示,主要包括五大模块:①上位机模块,由IPC完成初始化、参数管理等任务;②下位机模块,由UMAC完成插补、电机驱动等任务。③运动伺服控制模块,由驱动器接收运动控制信号,驱动电机使机床完成动作,通过反馈元件,将实际信号反馈至UMAC中,通过伺服调节算法,修正命令信号,提高运动精度。④主轴模块,由变频器接收UMAC发出的模拟量信号,实现主轴无级变速。⑤电气控制模块,各开关量和限位开关的数字量信号,通过UMAC上的I/O板卡接口进行输入输出。
图1 基于UMAC开放式数控系统硬件结构
在软件体系上,系统的功能模块可分为非实时管理模块和实时控制功能模块两大类[6]。非实时管理模块负责系统参数设置、诊断、及NC代码编辑等功能,对于响应时间要求不高,可由IPC机运行,主要包括用户管理、数控代码处理、内部参数管理等模块。实时控制功能模块负责控制机床当前运动和动作响应,要求极高时间响应。实时控制功能模块主要包含数控代码解释、插补处理、伺服驱动、PLC监控以及等子模块[7]。UMAC提供了实时控制类模块功能,只需设置少量的参数就可直接调用。
2 上位机数控软件设计
针对软件系统中上位机的非实时任务处理功能的要求,在.NET平台上进行五轴磨床数控软件开发,其软件框架及主要功能如图2所示。①系统用户管理模块用于管理系统管理员和系统用户信息,通过数据库权限控制技术对不同用户账户赋予不同的模块使用权限。②数控代码处理模块用于进行数控代码的手动编写或导入已有数控代码文件,并完成代码的检验、仿真及传输。③物理加工过程同步控制显示模块用于对实际机床的加工过程的控制、当前执行代码行同步显示、各轴运动状态的实时显示以及加工轨迹的可视化显示。④手动功能模块用于数控机床各轴的点动和连续运动的控制和手动进给速率、进给量参数的设置,实现对各电机的手动操作。⑤电气控制模块用于控制UMAC上I/O接口输入输出逻辑开关信号,从而控制继电器、接触器等动作,实现机床电气部分的控制。⑥数控系统内部参数管理模块用于对UMAC运动控制器内部的I、M、P、Q参数进行提取和设置,如与电机设置、坐标系设置、伺服IC时钟设置、伺服IC通道设置等相关的变量和一些自定义变量。⑦数控系统伺服参数调节模块通过阶跃响应和抛物线响应的数据采集和图像绘制,实现对电机进行交互式的伺服参数调节整定,改善系统的动态性能。
图2 五轴磨床数控软件功能结构
3 软件开发的关键技术
3.1 上、下位机的通信
数控系统中,将IPC作为上位机,处理非实时管理、人机交互的任务;将UMAC作为下位机完成机床的运动控制和逻辑控制。由于这种双CPU的结构设计,上、下位机在硬件上以及数据的运算处理上是相互独立的,但在操作人员控制机床完成指定运动时又是紧密协作的,需要共享数据,因此需要建立上、下位机的通信。
硬件上,采用较新的线型以太网(TCP/IP协议)总线方案,选用集成了CPU和高速通信板的UMAC可实现以太网通信功能。软件上,采用Delta Tau公司提供的PcommServer通信驱动程序库。PcommServer为用户在windows操作系统下开发应用程序提供了400多个函数,几乎涵盖了所有与UMAC操作有关的方法。在系统开发过程中,常用的有以下几个函数:①运动控制卡驱动函数PMAC.SelectDevice();②程序下载函数PMAC.Download();③发送在线指令并获取返回值函数PMAC.GetResponse()。
3.2 数控代码检验
在实际加工操作中,检验数控代码正确性是进行数据处理和物理加工之前的必要步骤,可有效的指导操作人员编写NC代码,避免因代码错误而造成系统后续计算出错,甚至机床运行出现冲突或故障。
根据常用NC代码编写规则制定出一套针对本系统的标准检验规则,以此为依据编写软件程序。代码检验流程如图3所示,首先逐行读入G代码,去掉代码中的空格、注释等无意义字符。检查程序段代码行的编号是否递增排列,再检查指令的字符(如NGXYZ等)的合法性,检查指令字符的排序是否符合规定。然后判断是否有同一组的G指令重复出现在当前行中,并对特定G指令的书写格式进行检查。最后对指令字符后的赋值的数字类型和是否超程进行检查。在任意位置检验出现错误时应提示出错,反馈出错误代码的位置、原因和修改意见,并结束当前行的检验程序。当前行检验完成后判断检验进程,如果是程序的最后一行,则代码检验程序结束,否则跳转到下一行,重复检验工作。
图3 数控代码检查流程
3.3 运动程序自动生成与传输
UMAC运动控制器可识别执行的是.PMC格式的运动程序文件,而通常数控系统的输入是.txt格式的数控代码文本文件,因此五轴磨床数控软件首先需要将数控代码文件自动转换生成运动程序文件[8]。
如图4所示,根据运动程序书写规则,首先软件读取数控代码文件的内容,在数控代码前端添加坐标系和电机轴的定义语句,添加OPEN PROG n打开缓存区和CLEAR清空缓存区指令。通过UMAC解释程序定义过的常用G指令可以直接识别,故无需修改直接保留使用。但UMAC不能识别数控代码程序段编号N等未解释字符,故将其去掉,同时在每行后添加自定义P变量的赋值语句来指示行号,并在运动指令行间插入延时指令DWELL。最后在运动指令逐条添加完后,写入CLOSE指令关闭缓存区。将写好的运动程序保存为.PMC格式,利用函数PMAC.Download()下载到UMAC控制器内存中。
图4 程序文件转换
3.4 执行代码同步显示
在加工过程中显示当前正在执行加工的数控代码行,便于机床操作人员监控加工进度。在UMAC内部处理中没有行号的概念,因此只能利用自定义的用户变量P来实现代码行的标识。如图4所示,在每行数控代码后添加P1000变量的赋值命令,用于标志对应数控代码的行编号。在程序执行的过程中,上位机软件通过时钟控件不断执行查询参数值的函数即可得从下位机中获取到同步变量P1000的值,从而在人机交互界面上显示出当前正在执行的代码行,并通过与总行数的计算得出程序执行的进度。
同时,由于UMAC运动控制卡的前瞻计算功能,在每一行运动执行的末尾系统将预先读取下一行将要执行的代码进行轨迹计算,这将导致上一行还未执行完,而P变量的值通过前瞻计算已经重新赋值改变,引起代码行显示的不同步。因此在各行运动程序之间插入延时指令DWELL,造成一个短暂的延时,避免了在运动过程中P变量被提前赋值计算,如图4中代码所示。
3.5 伺服参数整定模块
实际工业控制中,PID调节算法应用较为普遍,UMAC控制卡提供了强大的PID滤波器功能,通过调节其内部I变量值来控制伺服参数[9]。利用阶跃响应曲线,交互式调整比例项(变量Ixx30)、微分项(变量Ixx31)和积分项(变量Ixx33)的值,利用抛物线响应曲线,调整速度前馈(变量Ixx32)、加速度前馈(变量Ixx35)和摩擦前馈(变量Ixx68)的值。
图5 数控系统伺服参数阶跃响应整定
首先编写命令电机执行位置阶跃运动和速度抛物线运动的PLC程序,以及采集电机同步位置变量Mx62和同步速度变量Mx66的PLC程序。UMAC控制器可同时响应多个PLC程序,PLC程序用以完成高频率的输入输出值监控、发送控制命令等任务[10]。当系统运行时,先设置相关伺服参数到UMAC内存中,再同时运行电机运动的PLC程序和数据采集的PLC程序。此时电机执行运动,并同步采集到相关的实际运动参数保存在UMAC的一段内存中,运动结束后提取该段数据,最后将命令曲线和实际运动曲线绘制到人机交互的界面中,为伺服参数的调整提供依据。该模块的整定功能运行效果如图5所示,电机执行了一次阶跃响应后,系统绘制了命令阶跃曲线和实际响应曲线,通过查看响应曲线的上升时间、超调量等性能指标以及观察响应曲线稳定性判断该组伺服参数是否满足要求。
4 结束语
在分析五轴磨床加工控制功能的需求上,研究开放式数控系统中工业控制计算机和UMAC运动控制器的硬件结构和软件功能。针对软件系统中对上位机非实时管理的功能要求,进行五轴磨床数控软件的开发。重点研究了使用PcommServer通信驱动程序库实现上、下位机通讯,制定规则进行数控代码检验,数控文件与运动程序间自动转换,利用自定义P变量实现代码同步显示,及使用PLC程序实现伺服参数整定等关键技术。该软件界面简洁,操作简便,能实现系统用户管理、数控机床加工控制及数控系统参数调节等功能。
[1]裴葆青,陈五一,吴淑琴.基于运动控制器的开放式数控系统研究应用[J].组合机床与自动化加工技术,2003 (2):43-45.
[2]李强,朱国征,白基成.微细电火花加工机床开放式数控系统开发及应用[J].哈尔滨工程大学学报,2015,36 (9):1234-1239.
[3]魏康民,聂建武.基于PC的开放式数控系统体系的分析[J].组合机床与自动化加工技术,2007(5):53-55.
[4]黄河,白基成,卢泽生.基于可编程多轴控制器的电火花铣削伺服轨迹生成及控制方法[J].上海交通大学学报,2011,45(6):915-919.
[5]王立松,苏宝库,董申,等.可编程多轴控制器的开放式数控系统[J].计算机集成制造系统-CIMS,2002,8(1):69-72.
[6]梁速,赵万生,康小明.基于Linux的五轴联动电火花加工数控系统[J].上海交通大学学报,2012,46(7): 1097-1102.
[7]TURBO PMAC USER MANUAL[Z].北京泰道控制系统设备有限公司,2008.
[8]贾旭,卢晓红,王鑫鑫,等.基于PMAC的微铣床数控系统中G代码编译研究[J].组合机床与自动化加工技术,2012(3):104-107.
[9]朱立达,朱春霞,蔡光起.PID调节在PMAC运动控制器中的应用[J].组合机床与自动化加工技术,2007(2): 50-53.
[10]Liu Lin,Li Yong,Wen Liwei,et al.PMAC-based Tracking Control System for 8-axis Automated Tape-laying Machine[J].Chinese Journal of Aeronautics,2009,5:558-563.
(编辑李秀敏)
UMAC-based Open CNC Software for Five-axis Grinding Machine
YANG Xin-yu,ZHAO Rui,MA Shu-wen,DING Guo-fu
(School of Mechanical Engineering,Southwest Jiaotong University,Chengdu 610031,China)
In order to achieve self-developed domestic five-axis grinding machine CNC system,through the analysis of the open CNC system hardware and software architecture,a design of the open CNC system based on UMAC controller for five-axis grinding machine is proposed.For functional requirements of CNC system to upper computer,the function module of PC softw are is designed,using modular design approach.Researching on key technologies of the communication mode between PC and UMAC,inspections of NC code,the automatic generation of PMAC programs,the synchronization display of process code,and servo parameter setting,a set of five-axis grinder CNC software is developed on the.NET platform w ith the softw are engineering technology.This softw are has friendly man-machine interface and simple operation.Itcan be operated according to the user's role rights,such as the system user management,the NC machine tool processing control and the parameter adjustment of the numerical control system.
CNC softw are;UMAC;open CNC system;modularization
TH166;TG659
A
1001-2265(2017)04-0082-03
10.13462/j.cnki.mmtamt.2017.04.020
2016-07-26;
2016-08-20
国家重大科技专项(2015ZX04001002)
杨欣雨(1991—),女,四川乐山人,西南交通大学硕士研究生,研究方向为机械制造及自动化,(E-mail)yangxy0701@foxmail.com;通讯作者:马术文(1968—),男,四川眉山人,西南交通大学副教授,工学博士,研究方向为机械制造工艺、机械产品设计,(E-mail) mashuwen@swjtu.edu.cn。