吴仁君
(惠州城市职业学院,广东 惠州 516025)
随着光电子技术的飞速发展,激光雕刻技术的应用范围越来越广泛,雕刻精度要求也越来越高。影响激光雕刻的4个最根本的要素是雕刻速度、激光功率、雕刻精度以及材料。激光雕刻主要用于加工有机玻璃、木材、皮革、布料以及塑料等非金属材料,在工艺品、服装以及广告印刷等领域的应用范围越来越广泛。目前,雕刻价格高,在工作过程中会产生有毒气体,需要经过特定的空气净化系统净化后才能往空气中排放,操作复杂且危险,需要专业人员进行操作。激光雕刻大部分采用单片机作为主控制芯片,采用上位机设计和输出图像,控制系统精度和功能的局限较大,不能脱离个人计算机单独工作,成本高[1-2]。
针对以上现状,该文设计了一个基于CoDeSys SoftMotion CNC的三轴激光雕刻机虚拟控制系统,采用AutoCAD对雕刻图像进行设计,CoDeSys SoftMotion CNC编写CNC程序G代码,通过CoDeSys进行PLC程序编程及视图设计,最后使用CoDeSys SoftMotion Win V3仿真机进行虚拟仿真。采用多轴插补方法,控制系统精度高、控制方便且效果逼真,并且能支持多种设计文件,还能对加工图形进行编辑。
雕刻机的控制系统非常关键,会影响整个激光雕刻机的雕刻精度、性能以及多样性,必须对控制系统有更严格的要求。首先,控制系统使用AutoCAD将需要雕刻的图片或文件转化为可识别的DXF矢量图格式。其次,将矢量图导入CNC表格,自动生产G代码,编写PLC插补程序及路径显示程序。最后,输入CNC运动控制表,以进行相应的高精度控制操作。该虚拟控制系统主要通过软件完成路径的控制和显示工作,从而达到仿真的效果[3-4]。
插补(Interpolation)就是机床数控系统根据一定方法确定刀具运动轨迹的过程。也可以说,已知曲线上的某些数据根据某种算法计算已知点之间的中间点的方法,也称为数据点的密化。数控装置根据输入的零件程序的信息,对程序段所描述的曲线的起点、终点间的空间进行数据密化,从而形成符合要求的轮廓轨迹,这种数据密化机能就称为插补。1个零件的轮廓往往是多种多样的,有直线,有圆弧,也有可能是任意曲线、样条线等。数控机床的刀具不能以曲线的实际轮廓走刀,而是近似地以若干条很小的直线去走刀,走刀的方向一般是x和y方向。插补方式包括直线插补、圆弧插补、抛物线插补以及样条线插补等[5]。
CNC运动控制的工作机制如下:在CNC编辑器中,可以采用多种方式生成CNC数据,这些数据在经过IEC程序进行解码、路径预处理以及插补运算后,得到空间坐标数据,通过逆向运动学变换后,得到运动轴的位置数据,从而经过运算得到配置轴的当前运动速度,最后将这些位置和速度等数据传送至相应的驱动器接口,最终驱动轴运行。
激光雕刻机的虚拟控制系统如图1所示。传统的激光雕刻机系统主要由机械系统、光学系统以及控制系统组成。该项目虚拟控制系统以CoDeSys SoftMotion Win V3作为仿真控制机,可以仿真整个运行过程。首先,采用现场总线EtherMaster的通信方式,由SoftMotionGeneral Axis Pool作为虚拟运动控制机。其次,在该基础上添加3个虚拟轴(Axis_X、Axis_Y和Axis_Z),实现3个虚拟轴的点动、回原点以及相对与绝对定位的高精度控制等功能,控制精度高达0.01 mm,可以实现不同轴之间的同步动作以及多轴的运动插补功能。最后,通过Visualization视图功能模拟整个激光的运动轨迹。
图1 虚拟控制系统及通信方式
该设计以PLC运动控制和轴组的CNC插补控制为核心,使用梯形图、连续功能图(CFC)以及ST结构化文件进行编程,通过加载DXF文件来生产G代码,可以对雕刻机的3个轴进行控制。整个系统包括系统图像设计、CNC程序设计、PLC程序设计以及视图设计,主要流程如图2所示。
图2 程序流程图
该设计模拟加工1台电视机,需要加工的文件图形为矢量图,矢量图用直线和曲线来描述图形,一般占用的空间较小,使用的矢量图格式为DXF,该设计采用AutoCAD软件进行图像设计,生成DXF格式的文件,设计如图3所示。
图3 图像设计
在CNC程序中,可以在CNC程序编辑区输入G代码,或者导入DXF文件后自动生成G代码(该设计通过加载DXF文件进行G代码导入自动生成)。
采用加载DXF文件,在加载DXF文件后,在CNC程序编辑区自动生成多行G代码,同时在CNC路径效果区显示轨迹效果,如图4所示。
在CNC路径效果区,字与字之间会出现绿色的过渡线段,激光在绘制图形的过程中,必须在绿色字体位置处关闭,在其他字的位置处打开。为了实现该功能,就需要为G代码添加M功能指令。
可以通过3D视图控制器对CNC路径效果区显示的轨迹效果进行调整,例如缩放、平移、旋转以及三视图等。如图4所示,调整后,可以非常明显地看到轨迹处于三维空间,每个点都对应不同的X、Y和Z坐标。
图4 G代码生成、部分程序
2.3.1 新建工程
新建工程,设备选择“CoDeSys SoftMotion Win V3”,编程语言选择CFC。添加3个虚轴,将轴的名称设置为“Axis_X”、“Axis_Y”和“Axis_Z”。分别双击3个虚拟轴,并对3个轴的“SoftMotion驱动:通用”进行设置。
2.3.2 添加轴组
添加轴组的步骤如下:1) 添加轴组。2) 对轴组进行设置,包括选择运动学、轴关联和任务关联。
2.3.3 添加CNC表
添加CNC程序,在添加时设置“实现”方式为“Din66025”,“编译模式”为“SMC_OutQueue”。添加完成后,设备树下将自动出现“CNC”和“CNC设置”。
在CNC程序上,用户可以在CNC程序编辑区输入G代码,或者通过DXF文件导入G代码。下面通过加载DXF文件导入G代码。
在加载DXF文件后,在CNC程序编辑区自动生成多行G代码,同时在CNC路径效果区显示轨迹效果。
2.3.4 编写PLC插补主程序
该程序采用CFC的编程方式,通过CFC编程可以很清晰地了解功能块之间的关系。程序先采用SMC_GroupPower对轴组进行使能;在SMC_GetParamters功能块中,如果插补器正在使用M功能,就可以使用该模块轮询,因此M功能设置的输出参数为(K,L,O);SMC_Interpolator功能块可以将SMC_GEOINFO对象描述的连续路径转换为离散的路径位置点,同时考虑已定义的速度曲线和时间模式,这些位置点通常将通过IEC程序转换并发送到驱动器中;SMC_TRAFO_Gantry3模块提供了转换模块,可以处理三维龙门系统,且不需要进行转换,因此,当进行后向计算时,模块仅在X轴、Y轴和Z轴上添加偏移量。SMC_ControAxisByPos功能块将设置位置fSetPosition写入驱动结构Axis,并监视Axis是否有跳跃。SMC_ControlAxisByPos通常与CNC和SMC_Interpolator的实例一起使用,用于控制 3个轴(X、Y和Z)按设定的路径运动。
2.3.5 编写路径显示程序
VisuStruct3DControl的数据结构用于控制Path3D元素的摄像机。用户将Visu元素链接到这种类型的结构变量。添加SM3_CNC_Visu、VisuElem3DPath库文件,SM3_CNC_Visu库文件包括SMC_PositionTracker和SMC_PathCopier指令;VisuElem3DPath库文件包括VisuStruct3DControl、VisuStruct3DPathPoint数据类型和ControlPanel面板。
新建1个名为“Show Path”的程序,以实现路径显示的功能,该程序采用ST编程方式,编写完毕后,将“Show Path”程序拖入任务配置的MainTask中。将显示路径的寻址文件 sFileName设置为C:UsersAdministratorDesktopLogo.CNC,说明在电脑的桌面上存在1个Logo.CNC的文件。
2.3.6 编写M功能程序
新建1个名为“M_Function”的程序,使激光能正确绘制图案,该程序采用LD编程方式,编写完毕后,将“M_Function”程序拖入任务配置的MainTask中。M功能为辅助功能,用于驱动CNC运动中的辅助装置的开关动作或状态。其工作原理为在CNC运动中,CPU从上至下执行G代码程序,当执行到M功能后,等待M功能执行完毕的确认信号,在收到确认信号后,继续往下执行G代码。在CNC路径效果区,字与字之间会出现绿色的过渡线段,激光在绘制图形的过程中,必须在绿色字体位置处关闭,在其他字的位置处打开。为了实现该功能,需要为G代码添加M功能指令。
将各个控件从工具箱里拖拽出来,按整齐的方式对标签的内容进行修改;RotDrive控件、矩形框、指示灯以及ControlPanel关联到各自下方标签对应的变量上;按钮根据下方标签进行变量关联,“元素行为”设定为“图像切换”。在路径3D属性中要设置路径描述、跟踪描述 、控制以及高亮模式。
下载并运行程序,打开视图可以发现,RotDrive控件的指针被蓝色填充,此时表示系统已经准备就绪,图中红色的实心点为M功能切换点,按下bStart按钮完成验证操作。在运行的过程中可以看到,当按下启动按钮时,虽然在走红色过渡点的轨迹,但是此时指示灯并没有点亮,说明激光没有打开,这段行程在实际的硬件设备中是不会被激光描绘出轨迹的。在后面进入字体绘制范围内可以看到,指示灯被点亮,说明正在描绘轨迹。当全部轨迹描绘完毕后,原来的绿色字体全部被红色字体覆盖。
该项目通过定义3个虚拟轴并关联成轴组来进行CNC插补运动控制,通过完成三维曲线轨迹行走,激光机绘制CNC运动轨迹雕刻,而在非轨迹路径中,激光机处于关闭壮态。试验结果表明,利用CNC插补运动控制可以使系统以超高的精确度和稳定性生成预期的运动轨迹。