基于PC和运动控制卡的数控雕铣教学实验系统开发
2015-11-26袁红兵谭鑫赵动动
袁红兵,谭鑫,赵动动
(南京理工大学机械工程学院,江苏南京210094)
0 前言
随着计算机技术的发展,数控编程技术在数控加工工艺规划、刀具路径生成、数控代码动态模拟等方面取得了普遍应用,但在数控加工的实际环境中,由于零件加工工艺的复杂性和加工环境的不同,加工过程中可能会出现零件过切和干涉碰撞等现象。另一方面,由于数控机床的投资和运行成本较大,操作也更为复杂,由于操作不当存在发生意外碰撞的可能性,同时考虑数控机床台 (套)数和零件耗材成本等方面的因素,希望在零件的实际加工前,采取必要的措施完善系统监测和报错功能,当加工过程中出现异常情况时,系统能够报错停机,对设备进行必要的预防性保护,同时可以优化操作流程,完善系统功能。
基于PC的开放式数控系统具有如下特点:(1)标准化、通用化和模块化:通过选择不同的标准化功能模块可以组成各种数控机床的控制系统,便于现有数控系统的扩展及升级;(2)高速、高可靠性;(3)智能化:引进自适应控制技术,系统可自动调整有关参数,以达到系统运行的最优化;(4)网络化:具有强大的通讯联网功能,保证数控系统与标准网络(包括互联网)的无缝连接,实现软硬件资源共享;(5)易操作性[1-2]。
开放式数控系统由于自身的诸多优势已呈现强劲的发展趋势,并且引发了国内外大量的应用研究。一些以PC为基础的CNC制造商,主要生产、销售各种高性能运动控制卡和运动控制软件。由于这些产品的开放性很好,用户可以自行开发,把它用来构成自己的数控产品或使用在生产上,通过PC和运动控制卡以及相应的机床数控软件,构成相应的数控系统产品[3-5]。固高科技有限公司的GT系列多轴运动控制卡是一种插卡式运动控制器,该系列产品基于计算机PCI总线,可控制1~4个伺服电机或步进电机。该系列产品具有梯型曲线、S型曲线,JOG模式点位运动规划及电子齿轮同步运动规划功能,同时具有多轴直线插补和圆弧插补运动规划功能,特别适用于既有点位运动控制,也有插补运动控制要求的场合,其电子齿轮运动规划功能满足了有同步控制要求的应用场合[6]。
作者利用固高GT系列运动控制卡和固高四轴运动开发平台,采用NC嵌入PC模式完成了一个数控雕铣教学实验系统的开发。
1 基于PC和运动控制卡的数控雕铣系统环境的建立
作者选用固高GT-400-SG型运动控制卡和固高四轴运动开发平台进行数控雕铣系统的开发。系统硬件结构如图1所示。GT-400系列运动控制器可以同步控制4个运动轴,实现多轴协调运动。其核心由ADSP2181数字信号处理器和FPGA组成,可以实现高性能的控制计算。GT-400-SG型运动控制卡外形如图2 所示[3]。
图1 数控雕铣系统的硬件结构示意图
图2 GT-400-SG型运动控制卡外形
2 软件总体设计与系统界面
固高四轴运动开发平台提供了4路步进电机及其驱动、通用状态指示、限位开关和输入输出I/O通道,在上述系统硬件平台搭建和连接完成后,研究和开发的重点是上位机程序 (Windows平台下的数控雕铣实验系统)的开发,该系统具有如下功能:(1)进行NC程序代码的词法检查和语法检查;(2)各轴点动操作;(3)自动对刀;(4)程序执行暂停和继续,程序执行断点保存与恢复;(5)程序单步执行控制;(6)动态绘制刀具轨迹;(7)系统自诊断。
数控雕铣系统的基本功能由各个功能子程序实现,主要包括加工过程的协调控制、状态参数的显示、工艺参数设置和修改、程序中断优先级控制、文件管理以及故障诊断和报警等。数控雕铣系统的运行流程如图3所示。
图3 数控雕铣系统的运行控制流程
系统界面是人机交互的窗口,其设计要在充分发挥系统功能的基础上满足布局合理、简洁大方和便于操作的要求。另外系统还要给出必要的操作提示,将跟当前操作无关的功能和命令置为无效,以防止操作者误操作。
所开发的数控雕铣系统界面如图4所示。界面左上侧的PictureBox图像控件为轨迹显示区域。在执行加工程序过程中,工件坐标系和刀具轨迹将动态显示在这一区域。轨迹显示区域的范围可以通过调整刻度单位的大小来调节。刻度单位是指工件坐标系一个刻度单位代表的实际长度。界面左下侧带滚动条的TextBox文本框是NC代码显示区域。
界面右侧从上往下依次是坐标显示区域、操作控制区域和手动控制区域。坐标显示区域用于显示当前刀具点在机床坐标系下的坐标值和在工件坐标系下的坐标值。这些坐标值是通过在时钟程序中实时地查询各轴的位置值获取的。刀具点的机床坐标与其工件坐标存在确定的对应关系,二者的差值即工件坐标原点在机床坐标系下的坐标值。
操作控制区域中是一些系统操作控制的功能按钮和提示信息。“当前程序号”指示的是当前被执行的程序段号,进度条显示程序编译的进度,状态提示栏用来提示当前操作,“清屏”用来清除轨迹显示区域的图像,灰色图像控件模拟了一个指示灯,程序开启和关闭时分别呈绿色和灰色。“开启”按钮用来打开系统,开启并初始化运动控制卡、读取上次退出时候保存的刀具位置值、读取配置文件中的参数进行系统设置,进行轴的坐标映射等。“关闭”按钮用来保存当前系统设置并关闭系统。“紧急停止”按钮用来在系统发生错误时急停各轴运动,防止发生错误时损坏刀具和工件。手动控制区域可进行单轴运动,其中手动速度可自动调节。当刀具达到坐标极限位置时,对应方向的单轴运动被禁止。
图4 系统操作界面及刀具轨迹动态显示
3 系统主要功能的实现
数控雕铣系统采用Visual Basic语言开发,其主要功能是根据数控加工程序控制各轴实现连续轨迹的运动控制。编程实现时首先要链接固高运动控制卡对应的动态链接库,并通过调用运动控制卡提供的库函数实现运动控制卡和各个轴的初始化。下面介绍系统开发中的运动控制卡参数设定、雕铣系统相关参数设定、坐标映射、译码、词法和语法检查、刀具轨迹动态显示等主要功能的实现。
运动控制卡的参数设置包括设置输出脉冲形式、控制周期、限位信号触发电平、原点信号触发电平、编码器计数方向等,在数控程序中通过设计函数Initial()来实现。
数控雕铣系统的相关参数设定主要是设置跟系统相关的一系列参数,采用外部ini配置文件的形式实现。需要通过调用Visual Basic中的Win API函数的GetPrivateProfileString和WritePrivateProfileString现实现配置文件的读写操作,限于篇幅不再赘述。
坐标映射用于实现将坐标系内描述的运动通过坐标映射关系映射到相应的轴上,从而建立坐标系运动和各轴运动的运动学传递关系,它是实现多坐标协调运动的基础。固高运动控制卡提供的坐标映射命令函数原型:
short GT_MapAxis(short Axis_Num,double*map_count)。其中 Axis_Num为轴号 (取值1、2、3或4),调用坐标映射命令后,该轴工作于坐标运动模式。该轴的实际位置记为Axis_N,单位为脉冲。数组map_count包括5个元素,顺次记为 Cx、Cy、Cz、Ca和C,坐标轴X、Y、Z、A所对应的相应坐标记为x、y、z和a。上述函数描述的映射关系可用公式表示为:
Axis_N=Cx×x+Cy×y+Cz×z+Ca×a+C
由此可看出被映射的控制轴的运动是坐标X、Y、Z和A的线性组合。实现坐标映射的程序代码如下:
Dim cnt1、cnt2、cnt3 As TyMap ’TyMap为板卡函数库中定义的数组
Dimi as integer
For i=0 To 4
cnt1.C(i)=0
cnt2.C(i)=0
cnt3.C(i)=0
Next i
cnt1.C(0)=1000
cnt2.C(1)=1000
cnt3.C(2)=1000
Call Error(GT_MapAxis(1,cnt1))
Call Error(GT_MapAxis(2,cnt2))
Call Error(GT_MapAxis(3,cnt3))
将cnt1.C(0)、cnt2.C(1)和cnt3.C(2)都赋值为1 000是因为1 mm对应的脉冲数为1 000,这样在发送多轴协调运动指令时就可以以mm为单位,更加方便。
数控代码的译码是逐段提取NC程序代码中的运动指令和信息,并将这些运动指令和信息保存在结构体数组中。数控代码的词法检查主要是针对NC程序代码中出现非法字符或者未定义的功能字。语法检查主要是检查NC代码中不符合编程规则的语法错误。词法检查通过正则表达式对每一个程序段进行搜索匹配,生成错误报告。
Function cifatest(ByVal ncs As String)As String
Dim resultnc as String
……
Set rregexpG=New RegExp
rregexpG.IgnoreCase=False
rregexpG.Global=True
……
End Function
NC代码编译器对其它数控功能字的处理方法与此类似。
固高GT系列运动控制卡提供了一个4K字的坐标系运动命令缓冲区,以实现多轴协调连续轨迹运动。另外运动控制卡还提供了一个命令状态寄存器和一个坐标系运动规划状态寄存器,通过查询这两个寄存器的状态值可以监测到各轴的状态信息和多坐标运动状态信息。
如图4所示,为了更加直观形象地描述刀具的运动情况,该数控雕铣系统将刀具轨迹动态的显示在系统界面上。通过动态查询各轴的位置值,确定这些刀具点的工件坐标值后将它们依次连接起来就形成了刀具的轨迹。
4 结束语
计算机技术,特别是软件技术的快速发展为开放式数控系统技术的发展提供了强大的技术支持,使得基于PC的开放式数控系统具有很强的灵活性,因此开放式数控系统自诞生以来就得到业界的广泛关注和好评,它是未来数控技术发展的注流方向之一[7]。
本文作者开发了一个基于PC和运动控制卡的数控雕铣教学实验系统,在系统开发过程中充分利用了PC机丰富的软硬件资源和强大的技术优势,在搭建基于PC和运动控制卡的数控雕铣系统硬件环境的基础上,进行了数控雕铣数控系统的总体设计和开发,完成了系统中运动控制卡参数设定、雕铣系统相关参数设定、坐标映射、译码、词法和语法检查、刀具轨迹动态显示等主要功能的实现,较好地体现了基于PC的开放式数控系统的标准化、通用化和模块化的特点,同时系统具有较好的智能性、易操作性和很强的可靠性与可扩展性。
[1]富宏亚,梁全.开放式数控技术及其在我国的发展状况[J].航空制造技,2010(4):53-56.
[2]毕俊喜.数控系统及仿真技术[M].北京:机械工业出版社,2013.
[3]秦忠,吕彦明,毛锐.基于运动控制卡的电路板雕刻机的开放式数控系统的研究[J].机床与液压,2009,37(6):45-47.
[4]刘长宏,宋鹏,刘岩川,等.基于运动控制卡的数控系统应用研究[J].大连民族学院学报,2009,12(1):36-38.
[5]张宏,李富平.基于PC+运动控制卡的开放式数控系统的研究[J].机械设计与制造,2008(6):171-172.
[6]固高科技.GT系列运动控制器用户手册[Z].深圳固高科技有限公司,2006.
[7]赵春红.基于PC的开放式数控系统[D].兰州:西北工业大学,2008.