APP下载

选区激光熔化金属增材制造设备控制系统设计与研究*

2022-06-13黄凯俊柳玉文文珊珊李鹏朱亚奇匡婷玉张春杰

制造技术与机床 2022年6期
关键词:刮刀增材金属

黄凯俊 柳玉文 文珊珊 李鹏 朱亚奇 匡婷玉 张春杰

(①上海航天设备制造总厂有限公司,上海 200245;②上海航天工艺与装备工程技术研究中心,上海 200245;③上海交通大学材料科学与工程学院,上海 200240;④上海无线电设备研究所,上海 200090)

选区激光熔化[1-2](selective laser melting,SLM)是增材制造技术的一个重要研究方向,是一种直接根据三维模型制造零件的金属增材制造(AM)技术,SLM 广泛地应用于航空航天、医疗、汽车和模具等领域,选区激光熔化技术由粉床选区激光烧结技术发展而来,以金属粉末为加工原料,借助高能密度激光束来将这些粉末进行堆积,从而打造成金属零件的制造技术[3-6]。如何制造一个选区激光熔化金属增材制造设备保证零件的快速完美的成形也是当前的一个研究热点[7-8]。选区激光熔化金属增材制造设备控制系统的稳定性和可靠性直接决定设备运行的稳定性和可靠性,所以研究稳定可靠的金属增材制造设备控制软件具有重要意义[9]。

SLM 金属增材制造设备是一个需要光学、机械结构、电气、软件以及材料科学紧密配合工作的复杂度较高加工设备[10-11]。SLM 金属增材制控制系统的设计的是否成熟可靠直接影响SLM 金属增材制造设备运行的可靠性、故障性、可维修性和人机交互是否友好以及后期的可扩展性等。本文针对选区激光熔化设备,设计了一种基于QT+PLC+RTC 平台实现的SLM 金属增材制造设备控制系统,重点研究激光器、振镜器和电机控制器等外围设备配合与控制问题,实现多种工艺参数控制,打印过程全方位自主可控,从而可以提升打印零件的效率,提高成形零件的效果。

1 金属增材制造设备控制系统方案

1.1 总体方案

SLM 金属增材制造系统控制部分由工控机、控制软件、倍福控制器以及激光振镜控制器单元组成。

为了保证SLM 金属增材制造设备控制系统运行的高效性、可靠性以及易扩展性,采用上位机与下位机的两级控制模式,上位机是运行于工控机上的控制软件,下位机是运行于倍福控制器上的底层驱动控制软件。

选用工控机作为与用户交互的接口,采用工控机控制倍福控制器和激光振镜控制器,选用TiwnCAT3 倍福控制器[12]作为设备运动控制器,选用RTC4 控制板卡控制激光振镜控制器[13]。

上位机控制软件一方面作为与用户交互的接口,需要进行设计合理可行的UI 设计,方面用户操作以及避免用户的误操作,另一方面需要控制倍福控制器和激光振镜器的协调配合工作,除此之外,控制软件需要将当前打印状态的数据上传至远程服务器,为质量追溯提供数据,实现打印过程的远程实时监控。其主要功能如下:

(1)读取控制文件(包括AFF 格式、CLI 格式、DPPS 格式)。

(2)电机运动控制。

(3)激光运动控制。

(4)气氛系统控制。

(5)人机交互,实时显示打印过程信息。

(6)打印制件控制。

(7)将运行数据上传至远程服务。

下位机TiwnCAT3 底层驱动程序一方面需要实时向上位机反馈设备的信息(包括电机位置以及速度信息、气氛数据、系统状态信息等),另一方面需要解析接受上位机的指令并进行相应的运动控制,其主要功能如下:

(1)铺粉系统的运动控制(包括刮刀、成形面板等电机的运动 )。

(2)实时采集设备运行状态信息。

(3)实时上传设备运行状态信息。

下面给出SLM 金属增材制造设备控制系统的设计方案,如图1 所示。

图1 SLM 金属增材制造设备控制系统原理框图

1.2 工作流程

首先,用户导入控制文件,文件可以是AFF 格式、CLI 格式以及DPPS 格式,控制文件中会包含模型的基本信息,需要读取模型的基本信息,并显示在界面上。同时,需要评估一下打印整个模型的时间以及成本,并显示在界面上。工艺人员或者操作人员可以根据需要进行打印前的准备工作,包括打印试铺粉、试打印单层零件、抽真空、置换气体以及电机运动操作的手动等操作。同时,控制软件也提供一件打印的功能,满足快速打印的需求。光路系统人员可以对激光部分进行激光器调试和振镜调试。在打印制件的过程中,需要实时监控设备的信息。

2 SLM 金属增材制造设备控制系统软件

SLM 金属增材制造设备控制系统的上位机控制软件采用QT 平台进行开发,采用MVC(modelview-controller)的软件框架方案,视图是由若干页面及其对应的若干模型组成,采用QML 实现视图部分,将视图的页面与模型进行绑定。视图层还负责监听和响应用户的操作。控制器部分负责接收用户的请求,并进行一些操作,然后去改变模型的状态。模型部分负责和底层的PLC 控制程序连接[14-15],对运行模块的控制使用ADS 通信,对光路系统模型的控制直接加载lib 库,与远程服务使用TCP/IP协议、HTTP 协议进行连接,如图2 所示。

图2 上位机与下位机通讯原理框图

2.1 软件框架

上位机控制软件主要包括以下功能模块:人机交互模块、文件数据读取模块、运动控制模块、激光控制模块、气氛控制模块和打印制件模块等,SLM 金属增材制造设备控制系统上位机控制软件详细功能如图3 所示。

图3 SLM 增材制造设备控制系统功能框图

2.2 通讯协议设计

上位机控制软件需要与下位机的PLC 控制软件进行通讯,并发送控制指令,以控制金属增材制造设备的运行,通讯协议的设计关系到整个控制系统的稳定性、可靠性以及后期的可维护性。上位机与下位机的通讯方式为ADS 通讯,ADS 通讯可以实现以结构体的读写,所以采用定义结构体的方式实现与底层PLC 控制程序的通讯。控制接口的定义主要分为手动控制接口、自动铺粉接口以及系统状态检测接口。

2.2.1 手动控制接口定义

(1)控制电机运动的接口,结构体主要包括轴类型、运动类型以及运动位置。轴类型的取值与含义为:1 代表成形缸,2 代表双向刮刀,3 代表单向刮刀;运动类型的取值与含义为:0 代表空闲状态,无需做任何操作,1 表示轴回零,2 代表轴到进行绝对运动,3 代表进行正向运动(即向里或向下的运行),4 代表进行反向运行(基向里或向上的运行),5 代表轴停止运行,6 代表轴进行刮刀切换操作。运动位置就是写入需要进行运动的距离,在绝对运行、正向运动、反向运动中需要写入该值,其他运动无需填写,默认为0。控制命令接口定义如图4 所示。

图4 控制命令接口定义图

(2)控制铺粉操作的命令,结构体包括铺粉次数、铺粉系数、铺粉速度及是否开始铺粉标志。手动铺粉和清粉命令接口定义如图5 所示。

图5 手动铺粉和清粉命令接口定义图

(3)手动控制各组件命令,结构体保护控制组件的ID 号,是否打开该组件的标志位。手动控制各组件命令接口定义如图6 所示。

图6 手动控制各组件命令接口定义图

(4)气氛控制参数命令,结构体包括氧含量、频率、是否保持气氛环境到成形结束的标志位。气氛控制参数命令接口定义如图7 所示。

图7 手动控制各组件命令接口定义图

(5)基板预热命令,结构体包括设定基板预热温度、是否开始基本预热的标志位。基板预热命令接口定义如图8 所示。

图8 基板预热命令接口定义图

(6)控制命令返回结果,结构体包括当前操作执行的状态,如果运行失败,返回错误状态码。当前命令执行的状态的取值与含义为0 代表空闲状态,没有执行任何指令,1 代表运行中状态,当前执行正在运行,2 代表成功状态,当前指令运行成功,3 代表失败状态,当前指令运行失败,失败的原因将在返回的错误状态码中查看。控制命令返回结果接口定义如图9 所示。

图9 控制命令返回结果接口定义图

2.2.2 自动铺粉控制接口

自动铺粉控制接口,结构体包括当前打印状态、当前打印层厚、自动铺粉开始标志位、是否是单向刮刀标志位、当前层铺粉系数参数和前层铺粉速度参数。当前打印状态的取值与含义定义为:0 代表空闲状态,1 代表开始进行气氛准备,2 代表打印开始,3 代表打印暂停,4 打印打印停止,5 打印打印完成。自动铺粉控制接口定义如图10 所示。

图10 控制命令返回结果接口定义图

2.2.3 系统状态监控接口

软件采用ADS 的方式实现与PLC 程序的实时通信,监控设备的运行状态,获取设备实时的气氛环境因素的相关参数,温度的相关参数,激光器的相关参数,铺粉相关参数以及时间相关参数。具体的参数包括进气压力值,腔内压力值,循环回路氧含量,腔内氧含量,基板温度,腔内温度,控制柜温度,光路系统温度,水冷机温度,粉末剩余量,成形舱当前位置,双向刮刀位置,单向刮刀位置,铺粉时间,清粉时间,气氛准备时间,激光器是否是出光标志位,比例常数,积分时间常数,微分时间常量以及阻尼时间。系统状态监控接口定义如图11 所示。

图11 控制命令返回结果接口定义图

2.3 运动控制模块

运动控制模块的主要功能是完成对电机的控制,对系统的手动铺粉和手动清粉控制以及打印过程中的铺粉轴参数设置。程序中设计MotionControl 类用于控制电机的操作。

运动控制模块通过ADS 方式与倍福的控制器进行通讯,主要通过动态链接方式插入TcAdsDll.dll库以及在程序中引入TcAdsDef.h,TcAdsAPI.h 两个头文件的方式实现。程序中调用AdsPortOpen()函数打开ADS 通讯的端口,再通过AdsGetLocalAddress(pAmsAddr)进行打开ADS 通讯。

为了保证控制软件的人机交互友界面的实时性和交互友好性,运动控制模块的在完成与倍福控制的成功连接之后,会开启一个后台线程,专门用于运动控制操作,具体如下:

上位机QT 程序倍福控制器的ADS 通讯方式有很多,对于运动控制模块选用通知方式,上位机QT 向倍福控制器发送ADS 请求,倍福控制器以CallBack 函数的方式不断向上位机发送影响,直到上位机取消该请求。这种方式通讯效率高,不会造成系统阻塞。通知方式保证在倍福控制器的程序中的所绑定的方式发生改变时,上位机QT 程序会执行回调函数,以此来及时响应运动控制器的返回值。

程序中通过AdsNotificationAttrib 类实现通知方式的通讯,QT 程序中安装通讯协议声明相应的结构体类,同时需要在PLC 程序中定义与之对应的结构体句柄,具体的定义见表1。

表1 QT 与TwinCAT3 定义表

以设备告警信息的定义为例,说明具体的实现方法,程序中首先会获取PLC 程序中的句柄,具体如下:

获取成功之后,就可以启动变量的传输,当绑定的变量在下位机发生变化之后,就会调用相应的函数,具体如下:

当绑定的句柄变量发生改变时,会回调函数,回调函数的定义具体如下:

该系统的运动控制模块实现了在打印的过程中可以实时的控制铺粉参数,可以支持刮刀切换操作,刮刀包括“单向刮刀”和“双向刮刀”。在刮刀轴没有回零的时候,支持点动操作(向里点动和向外点动),点击刮刀“回零”操作之后,刮刀支持绝对移动、相对运行(向里和向外)操作,在任何时候都支持刮刀运动的停止操作,针对铺粉轴,在打印的过程中可以设置铺粉系数和铺粉速度系数,做到了打印全过程自主可控。同时,为了满足工艺要求,支持对铺粉轴设置前几层不同的铺粉系数和铺粉速度系数。运动控制模块的界面如图12 所示。

图12 运动控制模块界面图

2.4 激光控制模块

激光控制模块的主要功能是完成对激光器和振镜器的控制,负责对激光器和振镜器的参数设置,以及打印过程中激光器的控制操作。程序中设计ScannerControl 类用于控制激光器和振镜器。

激光器的控制板卡RTC 直接插入工控机中,QT 程序通过PCI 与RTC 板卡通讯,通过动态链接RTC4DLL.dll 库以及在程序中引用“RTC4expl.h”和“RTC4impl.h”头文件,调用相关库函数实现。

程序中通过加载校正的CTB 文件,HEX 文件以及振镜的STB 文件实现激光器和振镜器的初始化通讯工作,具体如下:

2.5 打印制件模块

本系统在打印制件之前,需要导入打印零件的模型,文件的格式支持“AFF 文件”、“CLI 文件”以及“DPPS 文件”类型。软件支持多种打印方式包括“单层打印”和“多层打印”,本系统的设计的打印流程如图13 所示。

图13 运动控制模块UI图

软件会控制系统首先进行“气氛准备”,当成形舱的氧含量达到要求,表示气氛准备成功,气氛准备成功之后,软件会读取AFF 文件中的一层打印数据,判断当前的打印层高是否小于等于待打零件要求的高度。如果满足要求,软件首先会调用运动控制模块进行一次铺粉操作,然后调用激光控制模块控制激光器进行激光扫描,将零件融化成形。另外,在每层打开开始之前,程序中会判断用户是否按下了“暂停”按钮,如果按下了“暂停”按钮,则会暂停当前的打印流程;否则打印流程将继续,直至读取到AFF 文件的结束。

为了保证打印制件的高效与正常工作,程序中在后台单独开启一个线程,该线程由BuildControl类实现,负责协同整个打印流程。打印制件的界面如图14 所示。打印过程中,会实时显示当前零件的打印进度、当前打印层数、当前打印高度、开始打印时间以及打印时长等零件打印状态信息。

图14 打印制件界面图

金属增材制造设备的打印制件过程需要协同控制激光器、振镜器以及电机控制器。SLM 控制软件主界面是控制程序的主线程,当操作人员导入待打印的零件文件,选择多层打印模式,并设置好打印的高度之后,点击主界面的“开始”按钮之后,程序会重新开启一个后台的打印制件的线程,该线程由BuildControl 类负责,BuildControl 类首先会调用MotionControl 类中的atmospherePrepare 方法,MotionContorl 类通过ADS 通讯与倍福控制器中的PLC 程序负责进行连接,负责协调电机控制,设备气氛准备等工作。BuildControl 类会阻塞,等待MotionControl 类反馈气氛准备的结果,如果成形舱中的氧含量达到要求,则反馈气氛准备成功。当BuildControl 类收到了信息,则会读取待打印零件的文件获取打印一层需要的信息,然后调用MontionControl 类铺粉函数,进行铺粉操作。同样地,此时BuildControl 类也是处于阻塞状态,等待MotionControl 类反馈的铺粉是否成功的信息,如果长时间没有收到铺粉成功的信号,会判定为铺粉失败,结束打印。如果收到了铺粉成功的信号,BuildControl 类解析待打印零件的文件信息,控制激光器进行工作,通过调用ScannerControl 类的跳转函数和画线函数等激光器相关的函数,实现激光扫描,从而按照预定区域融化粉末,实现零件成形。BuildControl 类同时会向SLM 控制程序主界面线程发送绘制图形的信号,实现打印零件的图像实时显示。当该层的所有信息都扫描完成之后,BuildControl 类会发送当前的打印进度信息。此后,会继续判断当前打印的零件高度是否小于需要打印的零件高度,如果小于,则继续循环执行铺粉和激光扫描操作,直至打印到所需的高度。通常情况下需要打印的高度就是零件本身的高度。打印完成之后,BuildControl 类需要调用MotionControl 的打印终止函数和执行一系列终止操作,执行成功之后,会向SLM 控制软件主界面线程发送打印终止完成的信号。打印终止操作包括销毁当前的BuildControl进程,但是MotionContorl 线程和ScannerControl 线程的后台线程会一直存在,会异步地发送消息至SLM 控制软件主界面线程,以实时显示当前设备的状态信息。

3 结语

本文主要描述了选区激光熔化的金属增材制造设备的控制系统设计方案,该系统是基于工控机+倍福控制器+激光控制板卡的控制软件系统。该系统考虑了金属增材制造设备使用过程中设计人员、操作人员、工艺人员及激光调试人员等人员的需求,全方位地考虑了在金属增材制造的过程中涉及的环境因素和工艺参数因素,设计了一个人机交互友好、打印过程全方位的自主可控、多线程协同运行的高可靠性的金属增材制造设备的控制系统。

本文论述的方案,已经成功应用于Kre-AM 系列的金属增材制造设备中,该系统运行稳定,交互友好,提升打印零件的效率,提高成形零件的效果。

猜你喜欢

刮刀增材金属
处理压梗设备刮刀清辊效果的方法探究
基于损伤力学的增材制造金属材料疲劳寿命预测
金属粉末增材在飞行器发动机的应用及挑战
新型L式双向智能刮刀的设计及应用
刮刀参数对带式输送机清扫器运动特性影响分析
利用区块链技术为增材制造增加“信任”
从发现金属到制造工具
喷煤管刮刀装置
致命金属
我国增材制造技术的应用方向及未来发展趋势