基于 UMAC 的开放式五轴磨床数控软件研发
2018-8-20 来源:西南交通大学 机械工程学院 作者:杨欣雨,赵 锐,马术文,丁国富
摘要: 为了实现国产五轴磨床数控系统的自主研发,通过对开放式数控系统硬件及软件结构体系的分析,提出基于 UMAC 运功控制器的五轴磨床数控系统的设计方案。针对数控系统对上位机的功能需求,采用模块化设计方法,进行上位机软件的功能模块设计。研究了上位机与 UMAC 的通信方式,及代码检验、PMAC 运动程序自动生成、加工过程代码同步显示、伺服参数整定等关键技术,利用软件工程技术在. NET 平台上开发出一套五轴磨床数控软件,该软件人机界面友好,操作简单,能根据用户角色权限进行系统用户管理、数控机床加工控制及数控系统参数调节等操作。
关键词: 数控系统软件; UMAC 运动控制器; 开放式数控系统; 模块化
0 、引言
由于现代制造技术的发展,对刃形复杂的高精度刀具的需求迅猛增长,普通修磨工具磨床已发展成为五轴联动数控工具磨床。以 FANUC、SIEMENS 等为典型代表的传统数控系统均属于封闭式系统,构成系统的硬件和软件是专用且互不兼容的,系统各模块间通信与数据交互机制也互不相同,导致在控制软件开发上难以修改和扩展,不能满足五轴磨床数控系统自主研发的需求,因此开放式数控系统成为新的研究方向。目前,以“IPC( 工控机) + 运动控制器”形式搭建数控系统的硬、软件平台是主流架构形式,此结构的CNC 系统不仅具有传统数控系统的稳定可靠和实时性强的特性,还具有 IPC 机的柔性。美国 Delta Tau公司的 UMAC( Universal Motion and Automation Con-troller) 是当今市场上使用广泛功能强大彻底开放的运动控制器。本文针对五轴数控磨床的功能特点,利用 IPC +UMAC 运功控制器的双 CPU 结构搭建数控系统硬件结构,提高了数控系统的开放性,克服了传统封闭式数控系统内部参数难提取、算法难改写、软件难开发的问题。在硬件基础上进行软件系统的功能设计,在. NET平台上开发出人机交互的五轴磨床数控软件,实现了系统管理、数控加工控制、电机伺服整定三大功能的集成。
1、 基于 UMAC 五轴数控系统体系结构
根据工具磨床的结构特点及参数要求,采用“ IPC +UMAC”控制模式构建闭环控制系统,其硬件构成如图 1所示,主要包括五大模块: ①上位机模块,由 IPC 完成初始化、参数管理等任务; ②下位机模块,由 UMAC 完成插补、电机驱动等任务。③运动伺服控制模块,由驱动器接收运动控制信号,驱动电机使机床完成动作,通过反馈元件,将实际信号反馈至 UMAC 中,通过伺服调节算法,修正命令信号,提高运动精度。④主轴模块,由变频器接收 UMAC 发出的模拟量信号,实现主轴无级变速。⑤电气控制模块,各开关量和限位开关的数字量信号,通过 UMAC 上的 I /O 板卡接口进行输入输出。
图 1 基于 UMAC 开放式数控系统硬件结构
在软件体系上,系统的功能模块可分为非实时管理模块和实时控制功能模块两大类。非实时管理模块负责系统参数设置、诊断、及 NC 代码编辑等功能,对于响应时间要求不高,可由 IPC 机运行,主要包括用户管理、数控代码处理、内部参数管理等模块。实时控制功能模块负责控制机床当前运动和动作响应,要求极高时间响应。实时控制功能模块主要包含数控代码解释、插补处理、伺服驱动、PLC 监控以及等子模块。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 公司提供的 Pcomm Server 通信驱动程序库。Pcomm Server 为用户在 windows 操作系统下开发应用程序提供了 400多个函数,几乎涵盖了所有与 UMAC 操作有关的方法。在系统开发过程中,常用的有以下几个函数: ①运动控制卡驱动函数 PMAC. Select Device( ) ; ②程序下载函数 PMAC. Download( ) ; ③发送在线指令并获取返回值函数 PMAC. GetResponse( ) 。
3. 2 数控代码检验
在实际加工操作中,检验数控代码正确性是进行数据处理和物理加工之前的必要步骤,可有效的指导操作人员编写 NC 代码,避免因代码错误而造成系统后续计算出错,甚至机床运行出现冲突或故障。根据常用 NC 代码编写规则制定出一套针对本系统的标准检验规则,以此为依据编写软件程序。代码检验流程如图 3 所示,首先逐行读入 G 代码,去掉代码中的空格、注释等无意义字符。检查程序段代码行的编号是否递增排列,再检查指令的字符( 如 NGXYZ等) 的合法性,检查指令字符的排序是否符合规定。然后判断是否有同一组的 G 指令重复出现在当前行中,并对特定 G 指令的书写格式进行检查。最后对指令字符后的赋值的数字类型和是否超程进行检查。在任意位置检验出现错误时应提示出错,反馈出错误代码的位置、原因和修改意见,并结束当前行的检验程序。当前行检验完成后判断检验进程,如果是程序的最后一行,则代码检验程序结束,否则跳转到下一行,重复检验工作。
图 3 数控代码检查流程
3. 3 运动程序自动生成与传输
UMAC 运动控制器可识别执行的是. PMC 格式的运动程序文件,而通常数控系统的输入是. txt 格式的数控代码文本文件,因此五轴磨床数控软件首先需要将数控代码文件自动转换生成运动程序文。如图 4 所示,根据运动程序书写规则,首先软件读取数控代码文件的内容,在数控代码前端添加坐标系和电机轴的定义语句,添加 OPEN PROG n 打开缓存区和 CLEAR 清空缓存区指令。通过 UMAC 解释程序定义过的常用 G 指令可以直接识别,故无需修改直接保留使用。但 UMAC 不能识别数控代码程序段编号 N等未解释字符,故将其去掉,同时在每行后添加自定义P 变量的赋值语句来指示行号,并在运动指令行间插入延时指令 DWELL。最后在运动指令逐条添加完后,写入 CLOSE 指令关闭缓存区。将写好的运动程序保存为. PMC 格式,利用函数 PMAC. Downloa( ) 下载到UMAC 控制器内存中。
图 4 程序文件转换
3. 4 执行代码同步显示
在加工过程中显示当前正在执行加工的数控代码行,便于机床操作人员监控加工进度。在 UMAC 内部处理中没有行号的概念,因此只能利用自定义的用户变量 P 来实现代码行的标识。如图 4 所示,在每行数控代码后添加 P1000 变量的赋值命令,用于标志对应数控代码的行编号。在程序执行的过程中,上位机软件通过时钟控件不断执行查询参数值的函数即可得从下位机中获取到同步变量 P1000 的值,从而在人机交互界面上显示出当前正在执行的代码行,并通过与总行数的计算得出程序执行的进度。同时,由于 UMAC 运动控制卡的前瞻计算功能,在每一行运动执行的末尾系统将预先读取下一行将要执行的代码进行轨迹计算,这将导致上一行还未执行完,而 P 变量的值通过前瞻计算已经重新赋值改变,引起代码行显示的不同步。因此在各行运动程序之间插入延时指令 DWELL,造成一个短暂的延时,避免了在运动过程中 P 变量被提前赋值计算,如图 4 中代码所示。
3. 5 伺服参数整定模块
实际工业控制中,PID 调节算法应用较为普遍,UMAC 控制卡提供了强大的 PID 滤波器功能,通过调节其内部 I 变量值来控制伺服参数。利用阶跃响应曲线,交互式调整比例项(变量 Ixx30) 、微分项( 变量Ixx31) 和积分项( 变量 Ixx33) 的值,利用抛物线响应曲线,调整速度前馈( 变量 Ixx32) 、加速度前馈( 变量Ixx35) 和摩擦前馈( 变量 Ixx68) 的值。
图 5 数控系统伺服参数阶跃响应整定
首先编写命令电机执行位置阶跃运动和速度抛物线运动的 PLC 程序,以及采集电机同步位置变量 Mx62和同步速度变量 Mx66 的 PLC 程序。UMAC 控制器可同时响应多个 PLC 程序,PLC 程序用以完成高频率的输入输出值监控、发送控制命令等任务。当系统运行时,先设置相关伺服参数到 UMAC 内存中,再同时运行电机运动的 PLC 程序和数据采集的 PLC 程序。此时电机执行运动,并同步采集到相关的实际运动参数保存在 UMAC 的一段内存中,运动结束后提取该段数据,最后将命令曲线和实际运动曲线绘制到人机交互的界面中,为伺服参数的调整提供依据。该模块的整定功能运行效果如图 5 所示,电机执行了一次阶跃响应后,系统绘制了命令阶跃曲线和实际响应曲线,通过查看响应曲线的上升时间、超调量等性能指标以及观察响应曲线稳定性判断该组伺服参数是否满足要求。
4、 结束语
在分析五轴磨床加工控制功能的需求上,研究开放式数控系统中工业控制计算机和 UMAC 运动控制器的硬件结构和软件功能。针对软件系统中对上位机非实时管理的功能要求,进行五轴磨床数控软件的开发。重点研究了使用 Pcomm Server 通信驱动程序库实现上、下位机通讯,制定规则进行数控代码检验,数控文件与运动程序间自动转换,利用自定义 P 变量实现代码同步显示,及使用 PLC 程序实现伺服参数整定等关键技术。该软件界面简洁,操作简便,能实现系统用户管理、数控机床加工控制及数控系统参数调节等功能。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息