面向铣削参数实时优化的智能 数控系统构建
2020-7-8 来源: 哈尔滨工业大学机电工程学院 作者:金鸿宇,付云忠,富宏亚,韩振宇
摘要:智能数控机床是“工业 4.0”时代下智能化工厂的生产终端设备,其网络化、智能化以及协同制造技术的实现离不开高稳定性、高精度保持性的开放式智能数控系统。以实现铣削过程中切削参数的实时优化为目标,在具有开放式模块化的数控系统平台上设计并开发了可实现该功能的软件模块。在数控系统的系统协调模块中集成了智能控制算法,该算法可根据切削过程中实时采集的切削力信号实时调整主轴转速和进给速度,最终通过薄壁件切削试验验证了智能数控系统功能的有效性。
关键词:智能数控机床;智能数控系统;实时优化;智能控制算法;传感器
金鸿宇博士、助理研究员,主要从事开放式智能数控系统、切削过程实时控制等研究。
以 SIEMENS 和 FANUC 为代表的商用数控系统在世界范围内被广泛使用。例如,DMG MORI 机床的操作系统 主要的开发平台为 SIEMENS 数控系统。CELOS 除了具有传统的数控系统功能以外,还集成了生产任务编排、订单管理、CAD/CAM 和机床状态监控等功能,它将企业上层 ERP 管理系统与底层加工任务有效地结合,形成了目前流行的闭环制造模式。虽然这种封闭式的专用数控系统具有结构简单、技术成熟等特点,但由于其内部结构封闭,无法灵活地为用户定制所需的特殊功能。
要解决用户需求和系统封闭之间的矛盾,最根本的方法就是构建一种具有可移植、可扩展、可重构、可伸缩特性的开放式智能数控系统。这类系统应具有模块化结构,并允许开发人员在相应模块内集成智能控制算法以实现用户的指定要求。在传统的数控加工过程中,机床操作人员通常根据工艺人员指定的加工参数,在数控代码中输入相应参数的值,并始终以设定的切削参数完成数控加工过程。但在现代智能加工环境下,数控系统应具备在切削过程中根据传感器采集的信息“感知”加工过程,并对加工过程参数进行智能的在线调节,以提高工件的加工质量和加工效率。因此,各国学者目前的研究重点集中于开发可集成智能加工功能的开放式数控系统。
对开放式数控系统,许多高校和研究机构已经开展了较为深入的研究[1]。在国内,北京航空航天大学李伯虎等[2]在开放式架构数控系统上开发了面向服务的网络化云数控系统,在其构建的云智造系统中,将业务管理、体系标准云端化技术、云安全技术和云综合服务技术进行了有效的结合,为数控系统的网络化建立了理论与实践基础。南京航空航天大学黄威然等[3]在开放式数控系统架构上建立了基于实时以太网的网络化数控系统,该系统具有即时信息控制机制,可实现时钟同步精度的提高。此外,华中科技大学、天津大学、清华大学、山东大学和哈尔滨工业大学等高校的学者们也对开放式数控系统进行了研究[4-8]。
在“工业 4.0”时代下,大多数科研人员关注的是如何实现基于物联网、大数据、云计算的网络协同制造技术和系统,而对于加工过程智能化控制以及智能终端设备的关注则较少。例如,现阶段的数控机床(如DMG MORI)已实现在其关键位置配置先进传感器来监测各关键零部件的运行状态。这些传感器采集的信息会以相应的数据结构形式传送至数控系统,而数控系统会对采集的信号进行处理,当出现异常信号时会实施报警等功能。但对于加工过程智能化控制来说,未来的数控系统除了具备信号采集和处理功能以外,还应该集成智能控制算法,并根据采集的有效信息做出判断和决策实现在切削过程中对切削参数实时优化[9-10]。本文主要的研究内容是在开放式数控系统中集成相应控制算法,构建具有铣削参数实时优化的智能数控系统。
智能数控系统软件功能模块设计
本文所构建的智能数控系统的开发平台为 VisualStudio[11],以 C++语言为开发工具,运行于 Windows操作系统。在之前研究的基础上,本文将智能控制功能以子模块的形式在系统模块中集成,并实现系统功能与智能控制功能的协调运行。以系统模块功能划分的智能数控系统的结构如图 1 所示。
图1 智能数控系统模块结构
智能数控系统的软件模块按任务处理的实时性可划分为非实时空间模块和实时空间模块。非实时空间模块与实时空间模块间的数据交互以共享内存方式实现。智能数控系统的共享内存区域包括任务队列、开关量、实时状态信息和参数优化结果 4部分。任务队列是由代码解释模块和任务生成模块将加工代码翻译并建立的数据链表组成,链表中包含机床各运动轴的运行位置信息。当自动加工任务执行后,系统协调模块会根据设定的定时器周期循环读取各行位置信息,直到加工过程结束。数控系统硬件的开关量信息(包括主轴状态、倍率、限位等)可被系统协调模块读取并在人机界面中显示。数控系统启动时会在共享内存中为各个开关量指定地址,系统内各模块则在相应线程中定时检查地址的状态,实现设备状态反馈和手动指令传输。实时状态信息主要包括主轴转速、进给速度、切削力等用于描述切削过程状态的信息,系统协调模块将实时采集的状态信息写入共享内存供人机界面读取显示,也可将这些信息以文件形式写入代码解释模块供切削过程分析使用。参数优化结果信息是指系统在切削过程实时控制后获得的机床切削参数信息。系统协调模块可将该信息存储至代码解释模块,实现切削参数的在线优化功能。
本文构建的智能数控系统由以下 6 个功能模块组成:
(1)人机界面模块:共包含 4 个子模块,分别为指令输入子模块、文件传输子模块、信息交换子模块和界面显示子模块。指令输入子模块负责监控数控系统界面上的功能按钮及其他输入控件,根据操作者输入的指令执行相应的功能。在手动操作模式下,可通过该子模块向共享内存发送指令,系统协调模块读取相应的令后即可完成对机床设备的控制。文件传输子模块可为操作者提供加工文件打开、保存路径设置等人机接口,并能在系统界面中显示加工代码解释过程中出现的错误信息,为操作者修改加工代码提供方便。信息交复位暂停等开关量任务,同时可读取机床上的输入输出信号。信息交换换子模块可实现非实时空间和实时空间的数据交换,并可读取实时空间模块存入共享内存的加工过程信息(包括主轴转速、进给速度、刀具坐标位置、倍率及开关状态等),通过界面显示子模块在数控系统人机界面中显示。
(2)系统协调模块:在数控系统中负责协调管理软件内核的运行,数控系统实时空间的主进程。当启动数控系统后,系统协调模块内主进程即被加载,首先完成系统环境设置、共享内存、进程间通信通道及动态链接库的初始化工作,随后设置系统实时空间内不同线程的运行时钟周期,启动各功能模块对应的线程。系统协调模块通过协调各模块间的信息交互以支撑整个数控系统的运行,其负责的核心功能包括 PLC 控制、运动控制、数据采集、状态监测等。该模块通过互斥对象和事件等多线程同步机制对数控系统中的各线程进行协调与管理。由于数控系统的执行状态包括空闲、手动、自动、停止等多个状态,故可采取有限状态机(Finite-State Machine, FSM)方式根据输入系统的指令和信息切换不同的运行状态,执行对应的系统加工任务[11]。系统协调模块包含 4 个子模块,分别为智能控制子模块、PLC管理子模块、信息交换子模块和运行模式子模块,且每一模块均对应一个实时线程,其中智能控制子模块是本文构建的智能数控系统的核心。由于在该子模块中集成了模糊控制算法,故系统在循环运行该线程时可对采集的切削力进行处理,同时将输出的主轴转速调整值赋给机床实际主轴转速全局变量。而系统插补模块在每次进行插补计算时均对该变量进行检测,并通过设备通信模块将更新的主轴转速值传送至机床伺服驱动系统,实现对机床主轴转速的实时调整及智能控制。PLC 管理子模块主要负责处理主轴控制、刀具切换、复位暂停等开关量任务,同时可读取床上的输入输出信号。信息交换子模块则以固定的周期向共享内存中写入与人机界面的相应模块进行数据交互。运行模式子模块中包含自动运行模式线程和手动运行模式线程。
(3)代码解释模块:主要功能是解释加工代码文件、生成刀具轨迹。该模块的解释功能被封装为动态链接库,当需要解释加工代码时系统则调用此模块的功能。代码解释模块分为 3 个子模块,分别为错误检查子模块、刀具轨迹生成子模块和信息处理子模块。错误检查子模块负责对读入的加工代码文件的所有代码行进行语法检查,解析代码中存在的各种语法错误,当检测到代码中的错误时,系统会保存当前错误信息并在人机界面中显示;若所有代码行均不存在错误时,系统则通过刀具轨迹生成子模块将加工代码转化为加工运动段信息。信息处理子模块的功能是读取共享内存中的切削力检测信息以及实时更新的主轴转速等切削参数信息,并将优化后的切削参数以文件形式输出。在后续加工过程中,系统可将优化后的切削参数覆盖初始设置的切削参数,实现切削过程的参数在线优化功能。
(4)任务生成模块:主要功能是将代码解释模块中的加工运动段以链表形式传送至共享内存的任务列表中,系统调节模块通过顺序执行各行任务实现自动加工过程。该模块的功能同样被封装为动态链接库,当代码解释功能完成后即调用此功能实现加工代码的传送。任务生成模块分为 4 个子模块,分别为环境设置子模块、序列生成子模块、速度规划子模块和任务传送子模块。环境设置子模块用于基本加工环境的设置,通常包括坐标系设置、进给模式设置、工作平面设置、速度信息及开关状态设置等。序列生成子模块是任务生成模块的核心,对于不同模式下的进给运动都有属于各自的运动段序列生成函数,系统会根据加工代码的译码结果调用相应的函数完成进给模式的分配。当各运动段的位置信息及进给模式设置完成后,系统则通过速度规划子模块处理两个相邻运动段间的速度过渡策略。任务传送包括静态和动态两种方式:静态方式指的是任务生成模块将全部运动段一次性写入共享内存,然后由系统协调模块执行;而动态方式则是指运动段的传送过程与执行过程同步进行。为了保证数控系统的实时性,避免任务生成错误导致的缓冲区下溢现象,本文采用静态方式传输运动段,并在执行过程中动态修改任务列表,实现对切削参数的实时调整与控制。
(5)系统插补模块:主要负责数控系统插补运算、加减速计算等任务。该模块可将任务生成模块传送的运动段转化为以插补周期为间隔的一系列插补点,并通过有限状态机技术管理这些插补点的执行。插补计算属于实时任务,其定时器周期与任务协调模块中自动运行线程的周期相同。在执行每条运动段指令时,自动运行线程都会调用插补模块的实时动态链接库来实现运动控制。系统插补模块包含 3 个子模块,分别为状态管理子模块、速度计算子模块和位置计算子模块。状态管理子模块主要用于检查当前的系统状态。在插补过程中,系统的状态会在空闲、手动、自动、停止、手轮控制5 种状态间切换,该子模块在每个插补周期内都会通过有限状态机技术执行属于当前状态的任务。对于每一个运动段而言,都可以分为加速阶段、匀速阶段和减速阶段,速度计算子模块会根据到运动段结束的距离和当前的实际速度确定下一周期的进给速度。位置计算子模块则会根据当前插补周期内的进给速度、进给方向和当前插补点来计算下一插补周期各运动轴的进给量。
(6)设备通信模块:其功能是建立机床硬件设备与数控系统软件内核间的联系,通过设备接口可读取机床及传感器等检测设备的信息,或向机床发送控制信号。设备通信模块包括 3 个子模块,分别为轴控制子模块、I/O 控制子模块和外设通信子模块。轴控制子模块的任务是将运动控制指令通过工业控制总线及其通信协议发送至机床伺服驱动系统。常用的总线及通信协议包括 SERCOS、MACRO、Powerlink 和Fire Wire 等[11],本文采用 SERCOS总线实现软件内核与伺服驱动系统间的通信。I/O 控制子模块通过SERCOS 总线与伺服驱动系统中的I/O 模块连接,负责处理模拟信号与数字信号的输入输出。外设通信子模块负责与机床外部的附属设备通信,在本文构建的智能数控系统中主要负责读取数据采集设备中的切削力信号。
控制算法在数控系统中的运行原理
首先以变主轴转速功能的实现为例进行说明。为实现在切削过程中根据检测的切削力实时调整主轴转速,需将模糊控制算法集成至数控系统,并保证与系统内其他线程协调运行。由于切削力信号采集与主轴转速调整均属于实时任务,故相应功能的集成与实现应在智能数控系统的实时空间内完成。
本文将模糊控制算法集成至智能数控系统的系统协调模块中,并保证算法执行过程与该模块中的加工任务自动运行过程同步协调执行。在数控系统中,参与智能控制的模块有系统协调模块、系统插补模块和设备通信模块。
表1 智能数控系统自动运行相关函数功能
表 1 所示为与自动运行过程及主轴转速调整过程有关的部分函数及其功能。智能数控系统的变主轴转速功能实现流程具体如下:当数控系统自动运行过程开始后,系统首先进行初始化任务,为各功能线程设置定时器周期。初始化完成后,“Timer Handle_process”线程(自动运行线程)和“Spindlespeed_process” 线 程(主 轴 转 速 实 时调 整 线 程)在 系 统 协 调 模 块 中以设定的周期循环执行。 在“Timer Handle_process”线程中,系统首先执行“update FSM”函数中的“get FSMstate”函数来检测当前有限状态机所处的状态。当系统在执行数控代码的过程中,有限状态机的状态始终为“自动运行”状态,随即调用“traversing Action”函数执行自动运行过程。此时自动运行过程执行的函数已转移到系统插补模块中,通过调用“calc Next Increment”来计算下一插补点的位置与速度信息。而在系统协调模块的另一线程“imer Cut Force_ process”中,系统首先将采集的切削力信号进行处理并以文件形式输出,随后将经过主轴旋转周期平均处理后的切削力赋值于模糊控制算法中的实际切削力 F。经过函数“Fuzzy_Control”中的模糊控制算法处理后,输出主轴转速的调整量,将更新的主轴转速赋给全局变量“spindle Speed”。赋值 完 成 后,该 线程的最后一个函数“Update Command Spindle”被调用,将主轴转速的值进行更新。至此,下一插补点的位置、速度信息以及更新后的主轴转速都已被确定,系统通过调用轴控制子模块中的 “Update Command”函数将上述运动控制信息更新,最终通过调用 “Trigger_Lifecounter”函数将这些信息以 SERCOS 协议传送至机床伺服驱动系统,进而驱动机床各运动轴电机与主轴电机完成插补过程以及主轴转速的实时调整。为保证自动运行线程和切削力采集处理线程在系统协调模块中协调运行,两线程的优先级设置为相同等级。
本文构建的智能数控系统除了可以在切削过程中实时调节主轴转速外,还集成了进给速度的实时优化功能模块,实现了主轴转速和进给速度的综合实时优化[12]。与单独调整主轴转速相同,本文在系统协调模块中分别以独立的线程运行变主轴转速控制策略与进给速度实时优化策略。参数综合调节功能在智能数控系统内的运行流程如图 2 所示。
图2 切削参数综合调节功能执行过程
加工程序开始运行后,插补计算过程、模糊控制算法和进给速度优化策略分别以独立线程的形式在智能数控系统中循环执行。在进给速度优化线程中,系统处理对变形影响较大的 Y 轴方向切削力,结合进给速度优化策略实时调整机床的进给速度。智能数控系统插补周期为 2.5ms,主轴转速和进给速度的调整周期分别设置为 0.6s 和0.1s。由于智能数控系统的变主轴转速和变进给速度功能是通过更新函数“Update Command Spindl”和“Update Command Feedrate”中的倍率参数变量“m_d Spindle Override”和“m_d Feedrate Override”实现,被调整后的机床主轴转速和进给速度数值(以倍率参数与速度设定值之积表示)直接通过“Update Command”和“Trigger_Lifecounter”函数传送至机床伺服驱动系统,实现相应速度的改变;而插补计算过程中的主轴转速和进给速度设定值则不受影响,保证了系统插补线程与各功能线程的协调运行。
智能数控系统功能验证为了验证智能数控系统具备实时调节主轴转速和进给速度的功能,本文结合相应的控制算法和策略[13],选择了具有小曲率曲面的铝合金薄壁试件进行了两组切削试验,加工过程如图 3 所示。轴向切深15mm,径向切削 0.5mm,初始进给速度 200mm/min,两组试验的初始主轴转速为 1000r/min 和 1600r/min。此外,根据数控系统在试验过程中采集的切削力信号、主轴转速和进给速度的实时优化情况如图 4 所示。
图3 验证试验加工过程
图4 切削参数实时优化结果
在第一组试验中,系统只实施进给速度优化功能。由于加工开始阶段检测的切削力数值低于最优切削力,故系统按照制定的优化策略将进给速度逐渐调整至 220mm/min,以提高加工效率。第二组试验中,切削力在 4.9s 时刻突然增大,智能数控系统根据测得的切削力数值和模糊控制算法将主轴转速调至 2200r/min,同时进给速度受到切削力增大的影响被逐渐下调至 182mm/min。主轴转速调整结束后,切削过程恢复稳定,进给速度逐渐达到平衡状态。从上述试验结果可以看出,本文构建的智能数控系统具备在切削过程中实现铣削参数实时优化的功能,为智能加工技术奠定了理论与实践基础。
结论
对于切削参数优化,目前大多采用的是离线方式。本文在开放式模块化数控系统平台上,设计并开发了智能控制模块,并将该模块集成至数控系统的系统协调模块中,保证了智能控制功能与系统插补等功能的协调执行。集成了智能控制功能的数控系统根据铣削过程中采集的切削力信号和智能控制算法实时调整主轴转速和进给速度,使铣削参数始终保持最优状态。最终通过薄壁件侧铣试验验证了系统功能的有效性。在“中 国 制 造 2025” 和《“十三五”国家科技创新规划》的指导下,当前需要大力发展智能数控机床及智能数控系统等高档智能装备,并且自主核心技术应占有显著比重。
而开放式可重构的数控系统是开发智能数控系统的基础,本文构建的系统已实现集成测力仪等传感器和智能控制算法对切削过程进行实时监测和控制。在未来的研究中,会侧重于在机床关键零部件位置布置不同功能的传感器,通过多传感器信息融合技术结合智能控制算法实现机床工作状态和加工状态的综合智能监控。同时,将状态监测信息借助网络平台传送至机床综合操作系统,实现工厂范围内的新型智能加工模式。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息