基于海德汉平台的大型螺旋锥齿轮专用机床加工软件设计(中)
2017-6-15 来源:沈阳工业大学 作者:衣晨
第 3 章 i TNC530 数控系统及机床参数优化
3.1 概述
螺旋锥齿轮齿面为空间复杂曲面,加工复杂,一般采用多轴数控机床对其进行加工,在提高精度的同时提升了加工效率[28]。GCMT2500 设计为六轴五联动“C”型机械结构,数控系统采用国际先进的五轴数控系统代表海德汉 i TNC530 系统[29]。GCMT2500 的机械结构和数控系统基本满足了大型螺旋锥齿轮加工的各项要求。软件开发以海德汉数控系统为平台,利用海德汉系统良好的开放性和提供的
Python OEM高级语言开发包,使用 Python 语言对加工软件进行开发。同时,在不同尺寸齿轮加工过程中因更换刀盘的缘故需要对控制系统的参数进行优化,以提高加工精度。
本章对加工软件设计相关的开发平台——海德汉 i TNC530 数控系统、Python 开发语言、及重要的控制系统参数优化部分进行了相关阐述。
3.2 i TNC530 数控系统特点
HEIDENHAIN i TNC530 数控系统是海德汉公司于近年推出的优秀多轴数控系统解决方案。近些年海德汉 TNC 系列数产品开始在我国数控市场崭露头角。i TNC530是海德汉公司 TNC 系列新一代的多轴加工数控系统中的代表,具备前几代 TNC 系统的优点并且在不断创新发展:新功能不断增加,配套的软件更具实用性。
该数控系统适用于铣床、钻床和镗床以及加工中心。i TNC530 系统为全数字驱动控制以及借助 PWM(脉冲宽频调制)信号控制功率放大[30]。i TNC530 系统中的驱动控制器的卓越性能体现出下列优势: 1)系统相关软件集成在 NC 内部,这使得 NC 的各部分构成例如进给轴、主轴、NC 或 PLC 得到了最佳匹配。由于位置控制器、速度控制器及电流控制器被组合在一个单元内,从而可以获得高质量的控制。可用相同的手段对进给驱动器以及主轴进行调试、优化及诊断。i TNC530 提供对 5 个机床轴或 11 个机床轴的数字控制,主轴速度最高可达到 40000rpm。i TNC530 使用结构紧凑型或模块化变频器,配合使用HEIDENHAIN 自主研发生产的类型电机,可以实现包括伺服驱动器在内的完整的控制组合。
2)i TNC530 数控系统良好的硬件平台为强大的控制系统提供了有力支持。采用高性能处理器的 i TNC530 系统可预读 1024 个程序行,在程序行运行前何以合理调节各轴电机转速与不同轮廓间的承接。i TNC530 控制部分包括两部分单元,一是 MMC主机单元,采用奔腾高性能芯片和显示卡,能实现数据的快速处理与通信。二是MCC 主控单元,通过传感器提供测量参数,利用各类反馈保证了伺服系统的响应速度与精度。
3)针对加工要求较高的复杂曲面,i TNC530 使用了全数字化技术和先进算法,更易完成高精高速的切削加工。数控系统控制数字轴最高转速可以达到 40000r/min,同时,在确定的运行情况下能实现各种误差补偿,更保证了工件的高质量加工。
4)优秀的诊断功能 i TNC530 数控系统具有软硬件双重诊断。在软件上,其系统内部预设了诊断语句功能,在出发条件满足后诊断执行诊断动作响应,设备进行相应的动作如运行停止、断电等操作。在硬件上,相应的模块配有专用的诊断芯片,配合软件诊断部分一共使用。同时,设备提供在线诊断功能可以通过以太网添加诊断终端进行在线诊断。
5)i TNC530 操作界面支持图形库功能,通过特点的编程语言配合图形对话模式使得编程更加直观便捷。编程工作站的使用可以让工作人员在机床外进行加工编程。i TNC530 系统除了配备两种编程格式外,还兼容传统的 G 代码加工格式,用户能根据自身的编程习惯编写适当的加工代码。
6)i TNC530 数控系统生产商为用户提供了常用的标准加工循环,在工件成型中遇到的铣槽、钻孔等加工可直接调用标准循环。在此项功能的支持下,用户只需给定加工参数,就可实现加工要求提供编程效率和精度。
3.3 Python 语言简介
在开发中进行的软件设计与可视化编程开发即人机界面开发(HMI)主要使用Python 语言和 wx Python 图形库来实现[31]。
3.3.1 Python 综述
Python 语言由 Guidovan Rossum 于 1989 年发明,第一次公开发行版发行于 1991年,是一种面向对象、解释型计算机程序设计语言[32,33]。Python 作为一种语法简洁易懂功能全面的脚本语言,不同于其他高级语言的数据结构,可以很容易的实现面向对象编程[34]。Python 的支持变量动态输入特性和其解释性的特点使 Python 语言在流行的计算机系统平台上都可以良好运行,尤其方便于中型项目程序的快速编写调试,作为脚本语言的 Python 的这一优势使其得到了人们的青睐。虽然作为一种教学语言,但Python 综合了 ABC 语言的优点,不但结合其他语言如 C、C++和 Java。同时,借鉴了其他编程语言的编写特点,逐步优化使得 Python 语言形成了自己的特点和优势。Python 语言作为一种优秀的开源 Script 编程语言,尤其重视程序的开发速度以及程序结构的清晰度,可以很好地完成不同程度的任务程序,以及大中型项目的开发[35]。对于 Python 的语法上,其重要的一条就是 Python 要求严格的强制缩进:模块的执行顺序由首字符在这行的具体位置来确定[36]。虽然初学者和一部分程序员对此难以接受,但必须承认的是,强制缩进这一要求,使得程序员在编写 Python 程序时形成规范的写作习惯,使得程序更加清晰和美观。
3.3.2 Python 语言的优点
Python 被人们视做是目前最适合学习计算机语言而要求掌握的入门语言之一。图3.1 展示了 Python 语言优点:
图 3.1Python 语言优点
(1)使用简单
编写调试 Python 程序过程非常简单,通常只需要编写所需的 Python 目标程序并直接运行就可以。区别于其他高级语言(例如,C 或 C++)程序编写完成后的编译和链接等其他操作步骤。Python 语言程序快速执行特性使其形成了一种交互式的编程调试模式。在程序调试的过程中修改程序代码后立刻得到反馈观察到程序修改调试后的结果。
程序的快速开发特性仅仅是 Python 语言便捷性一方面体现。Python 内部集成了种类功能繁多的内置模块从而在程序编写上降低了其他高级语言编写过程中常见的复杂性。在达到同一目的时使用 Python 语言编写程序较 C、C++和 Java 编写的程序更为简洁,使用也更具有灵活性。
(2)解释性
作为一种解释性的语言,Python 程序开发过程中不需要进行不需要将代码编译成底层的二进制码,而比如 C 或者 C++类的编译性语言则是把程序从源文件转换成底层的计算机码(即二进制代码,0 和 1)[37]。这个过程通过专用的编译器来完成。由于字节码是一种与平台无关的格式,只需要简单的拷贝,Python 程序就可以在其他计算机运行了。Python 语言这种易于移植的特性越来越受到人们的青睐。
(3)面向对象
从本质来说,Python 为一种面向对象的语言[38]。Python 同时支持面向过程的编程和面向对象的编程。通常所说的“面向过程”是指编写的程序由过程或只是由可重复调用的函数组建起来。而“面向对象”的语言是指编写的程序是由数据和功能组合而成的对象构建起来。Python 的类与多重继承等高级概念的使用,并且凭借其特有的简洁的语法和类型非常易于使用,很大程度地提升了代码的开发速度。
(4)可嵌入性
Python 程序可以嵌入任何 C/C++程序内部,为 python 语言程序使用者提供脚本功能。同时,Python 也能够调用 C 和 C++的库,可以调用 C 和 C++程序,可以与 Java语言程序集成,并且通过 SOAP、XML.RPC 等接口与网络数据交互。
(5)丰富的库
Python 内置了众多预编译并可移植的功能模块,这些功能模块被称作标准库(standard library)[39]。其中标准库支持众多的应用程序代码功能执行任务,包括字符模式到 Internet 脚本编程的匹配等诸多方面。如数学公式、界面编辑、文档操作、正则表达式、多线程、测试、数据库、浏览器、邮件、XML、HTML 和其他系统功能相关的操作。而且这些功能模块或者说库都是集成在 Python 内部。另外,Python 可以通过自行开发的库和众多第三方应用进行数据扩展。这其中涵盖了包括网站维护、数据计算、串口读写、游戏开发等多个领域。
此外,Python 提供了语言基本组成的常用数据结构。例如列表(list)、字符串(string)、字典(dictionary)[40]。它们编写灵活且易于使用,不需要代码中关于类型和大小的冗杂的声明,它往往自动地应用一种广义上的对象。虽然国内对 Python 的应用没有其他的传统语言广泛,对应的参考资料也相对较少使 Python 的发展受到了一定程度的阻碍。然而,良好的特性与编程简单优雅的有机组合将 Python 成功塑造成为一种极具潜力的语言,具有非常好的发展前景。
3.3.3 Python 的应用现状和前景
Python 作为一种年轻的语言,拥有非常强大的生命力和无与伦比的优势。在国内的一些主流社交网站如豆瓣、知乎等得到了广泛的应用。在常用的计算操作系统里,大多数版本的 Linux 以及 Net BSD 和 Mac OS 系统中 Python 作为一种标准的系统组件集成在操作系统内部,无需安装即可在终端直接运行 Python 程序。Python 语言中包含了若干个可以直接调用操作系统功能的标准功能库,使用时通过第三方软件包pywin32,Python 可以访问 Windows 的组件对象服务及其它应用程序接口服务。通过Iron Python,Python 能够直接调用.net。通常来讲,Python 编写的脚本管理程序在运行性能、可读性、可扩展性、代码维护等多个方面都优于其他的脚本语言。Python 完善的支持多种网络协议。在程序语言使用排行榜上,近几年 Python 一直稳步提升,仅次于 Java、C、C++、PHP、C#等语言之后,图 3.2 为 2010 年程序语言使用排名。对于Python 未来的发展根据其创始人 Guidovan Rossum 的构想,Python 除了一直坚持的简洁和优雅的本质外更开始其他语言的编程。例如加入了对中文项目开发的支持,编程人员可以直接使用中文进行程序代码编写,这将有力地推动 Python 语言在国内的推广进程。
图 3.2 2010 年计算机语言排名
3.3.4 Python 语言的不足
Python 语言的缺点主要体现在以下四个方面:
(1)开发人员相对较少。比较 Java Script,参考中国和国外的使用情况,Python的开发人员相对不足,这一现状不利于 Python 的快速发展。
(2)缺少参考资料。一种开发语言走向成熟的过程,需要大量的出版书籍和专业文献来支撑。当前,国内缺少关于 Python 的专业书籍,市面上存在的多半是入门级别的翻译著作,设计语言的高级部分时还需要参考英文资料。同时因为没有走上商业产品化的道路,Python 的推广活动较少,维护和推广者大多为 Python 支持与爱好者。
(3)执行速度不够快。在现有的实现方式下 python 与 C、C++这类编译型语言相比,Python 的执行速度不够快。即使当今 CPU 的处理速度很快,在一些应用领域仍然需要优化程序的执行速度。不过,由于 Python 具有可扩展性,部分关键可以调用C 或 C++编写的程序。
(4)缺乏真正的支持多处理进程的处理器。
3.3.5 wx Python 图形库概述
Python 的简洁以及快速的开发周期十分适合开发 GUI 程序[41],其中界面开发工具包括 Qt、GTK、MFC 等。本文中使用 wx Python GUI 工具包来完成设计 GUI 程序即界面程序的开发设计。作为 Python 语言 GUI 工具的一种 wx Python 具有诸多优点,大量的图形模块使得 Python 编程人员快捷的实现样式美观、功能强大的人机界面。Wx Python 的一个突出的优势就是不论各种应用场合都是免费的,即使是商用开发也无须考虑版权问题。与 Python 语言相同,wx Python 的开源特性使任何人都可以免费使用其他人共享的程序模块,也可以查看和修改它其代码或者上传自己开发的程序、补丁等。同时,wx Python 模块跨平台的优点使开发的界面程序在不经过任何修改的情况下能够完美运行在多种平台(Windows、Unix、Linux 和 Mac OS)上。 对于 wx Python GUI 程序设计有如下基本概念。
(1)窗口,容纳各种控件的容器。如按钮、文本、状态栏等各种控件都放置于窗口中。
(2)属性,定义为对象的性质。表现控件在程序运行的过程中的的状态、尺寸大小、所处、颜色等等。
(3)对象,指构成界面的各种组件,例如按钮、指示灯、点选项、文本框、图片栏等。
(4)方法,指一类控制对象的具体行为。比如显示、隐藏方法用于对象显示或隐藏,移动方法指移动对象到制定的位置等。
(5)事件,指的是对一个组件的操作。如鼠标在一个控件上移动时,就称为一个 Move 事件。
(6)响应,指特定事件发生时后的产生的具体动作,响应后的具体动作可以自定义,这个自定义动作的实现过程称为事件的响应。
通常情况下基本的 wx Python 程序所必须包含以下五个基本步骤:
1)导入 wx Python 模块
2)子类化 wx Python 应用程序类
3)定义一个应用程序的初始化方法
4)创建一个应用程序类的实例
5)进入应用程序的主事件循环
我们创建了一个名为 Hello world.py 的示例程序如下
Import wx #1 导入 wx Python 包 class App(wx.App):#2 子类化 wx Python 应用程序类 def On Init(self):#3 定义一个应用程序的初始化方法
frame=wx.Frame(parent=None,title=’Hello world’)
frame.Show() app=App()#4 创建一个应用程序类的实例
app.Main Loop()#5 进入这个应用程序的主事件循环 程序运行结果如图 3.3,生成了一个最简单的 wx Python 界面程序。
图 3.3 Hello world.py 运行结果
3.4 系统参数优化
3.4.1 数控系统伺服驱动
数控系统的伺服驱动部分是数控系统的重要组成,其根本作用是对设备运动结构部分的速度与位移进行精确控制,该部分的性能优劣会对设备加工精度和工件加工质量产生直接影响[42,43,44]。数控设备的精度一般决定于设备的两个部分:设备的机械精度和设备的电气控制系统部分的可控精度。机械精度主要包括设备结构制造精度、传动精度与装配精度,通常来说,装配精度在设备定型后只可进行微小调整,传动精度中起决定作用的导轨、丝杠等已到达标准上限,难以提高。所以,数控设备精度的提高可以在控制部分通过软件来实现。电气控制系统在一般采用半闭环与全闭环两种方式可以很好的提高设备控制部分的控制精度,也可以充分利用数控系统的优良性能,以满足数控设备高标准生产需求[45]。
一般情况下,数控设备的运行参数为一些缺省值,主要是生产厂家根据行业标准所设定,但在实际的应用中这些参数并不符合实际的生产要求,参数设定值未能达到最优化,未使设备的伺服驱动系统得到充分的发挥。所以,为了提高设备控制部分精度,将设备参数更好的与生产条件相匹配,对伺服系统进行有效的优化就变得尤为重要。本文中基于海德汉 i TNC530 数控系统提供的 TNCopt 控制系统参数优化软件,对螺旋锥齿轮专用加工机床进行设备伺服驱动部分的优化,完善了系统的运动特性,使运动部分和控制部分性能达到最优匹配,以满足工件加工精度与加工质量更高要求的标准。
3.4.2 伺服控制系统及优化原理
设备开启伺服轴前,要对其进行优化。i TNC530 数控设备运动控制通过下图 3.4所示原理进行伺服控制,位置控制环优先于速度控制环和电流控制环。
图 3.4 控制原理图
控制方式的优势:1)控制区分明显。2)控制环可以对前面的干扰进行补偿,提高了控制精度。3)通过限制指令值,可以是内部的控制环得到很好的保护。4)以电流环、速度换、位置环卫顺序进行优化设置。位置、速度、电流控制器都集成在i TNC 系统内部,驱动模块通过 CC42X 的 PWM 信号驱动。
理论上理想的控制系统输入和输出不存在滞后即零误差传动,传动的过程中信号传递属于线性传输。不过事实上,从系统传动部分与控制部分分析,伺服电机到驱动的运动机构部分的信号传递属于二阶传递系统[41]即:线性与弹性共同组合。而传动环节中弹性环节是优化的主要目标环节,其中包含了多种频率,各种类频率直接作用于运动部分,频率被抑制部分,动态特性被降低,被放大部分有一定的概率使设备产生共振。在实际的生产过程中,共振产生的误差会极大影响设备加工精度及工件的表面质量,而对伺服控制部分进行优化可以很好的见地产生共振部分的频率,所以进行参数优化降低共振产生的误差是可行的。伺服控制优化的目标就是修改系统缺省参数,使传动过程中的信号传递最大限度的归于线性关系,减少控制误差避免振动。
数控设备系统的驱动系统伺服控制部分包括三个环节:速度环、位置环、电流环[43]。位置环是通过 PID 控制中比例微分控制进行调节,对应的位置环值只需对控制器的增益常数重新设定,而速度与电流部分则是通过比例积分控制惊醒调节,对应的需要对增益参数和积分时间常数进行重新配置[46,47]。
3.4.3 控制环参数优化步骤
控制系统各个控制环参数重新配置的具体数值,需要根据 TNCopt 系统优化软件频率响应图来进行判断。频率响应曲线越平滑,频率范围越宽,系统的动态响应特性越好,设备的加工进度也会更高。通过测量加工工件精度的方法可以更直观更准确的评判参数的优化数值是否达到最优值,工件的轮廓误差愈小,则优化结果越好。
通过海德汉 i TNC530 提供的 TNCopt 软件,对控制环的 PID 参数进行测试优化伺服控制参数。在此过程中阶跃响应、伺服轨迹跟踪及工件精度测定更易于控制环参数的调节。按照各控制环的响应速度,优化次序依次为:电流环、速度环、位置环。
电流环控制优化需要调节比例积分调节器中积分常数和电流环增益。速度环则组要优化速度积分常数速度环增益及滤波器选择参数,对应 MP 参数(机床参数)为:MP2510、MP2500、MP2520。位置环优化部分只须对位置环增益进行优化即可,对应 Machine parameter MP1510。以电流环部分为例,电流控制环优化参数如图 3.5 所示:
图 3.5 电流控制参数
MP2420:电流环比例系数,“+/.”为参数增减值,1.0[V/A]为步距大小。
MP2430:电流环时间积分系数,“+/.”为参数增减值,500[VS/A]为步距大小。
MP2420(P 系数)和 2430
(I 系数)动态响应曲线标准如下图 3.6 至 3.9(逐渐增减参数):
图 3.6 响应曲线 1
图 3.7 响应曲线 2
图 3.8 响应曲线 3
图 3.9 响应曲线 4
在运行 TNCopt 控制系统优化软件时,可以先应用软件的自动优化功能,根据自动优化模式下响应曲线的特性与经验,在此基础上进行手动模式下的优化。使用TNCopt 自动优化,确定 MP2420 和 MP2430,步骤如下:
1)将 MP2420 初始值设为“1”,MP2430 设为“0”。
2)按AUTO 命令
3)选择菜单 Measure/Start 或按 按START钮开始自动优化。
4)自动优化达到最优时软件停止优化。
以设备 X 轴电流环自动优化过程为例为例,获得如图 3.10 的控制系统参数自动优化曲线图。
图 3.10X 轴电流环自动优化图
自动优化后可根据实际设备参数要求进行手动模式化下的优化,如图 3.12 所示曲线为自动优化后手动调整曲线。
图 3.11X 轴电流环手动修正图
重复上述过程对各轴进行优化后得到的一组设备优化参数如表 3.1 所示,其中电流环参数 MP2420、MP2430,速度环参数 MP2500、MP2510,位置环参数 MP1510、MP2602、MP2604。
表 3.1 参数优化表
3.4.5 优化效果检测
在执行螺旋锥齿轮铣削对比试验时,先将优化后所得到的参数通过宏程序调用(辅助 M 功能)。运行设备完成若干组齿数的铣削加工后与优化参数与缺省状态下的加工状态进行对比。如图 3.12 所示为控制系统优化参数优化前后的齿轮效果对比。
图 3.12 伺服控制参数优化前后齿轮质量对比
经对比发现,优化前后加工齿面质量得到了明显的改善,通过简单的技术测量,齿轮整体精度得到了一定的提升,参数优化取得了效果良好效果。以上对比说明,在控制系统参数优化后,机床的控制精度、工件加工质量都得到了提高。这一技术为TNC 同系列产品控制系统参数优化提供了参考
3.5 本章小结
本章主要对软件开发平台与设备参数优化进行了介绍。首先介绍了软件的开发平台——海德汉 i TNC530 数控系统,对该数控系统的特点进行了介绍。然后,对软件设计语言 Python 及内部图形库 wx Python 进行了说明。最后,介绍了数控设备伺服驱动部分和控制系统的本质与优化原理,对 i TNC530 数控系统设备参数进行优化,并通过实际加工对比,阐明了在螺旋锥齿轮的生成加工过程中,设备控制系统参数优化的实用性与必要性。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多本专题新闻
专题点击前十
| 更多