最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

数控软件的设计开发

发布时间:2014-11-03 作者:佚名 
当前,开放型、模块化和集成化已成为数控技术发展的趋势。为此,世界各国都在抓紧研究制订开放式高性能数控系统平台的标准及其规范,并进行相关产品的开发,如美国的NGC、OMAC项目、欧洲的OSACA计划及日本的OSEC计划等。与此同时,世界上各大数控生产厂商也纷纷推出了基于开放式、模块化和集成化的高性能数控系统。

  2 举例

  在硬件系统方面,设计了一套基于PMAC运动控制器的五轴数控系统试验平台,其中3个移动分别由步进电机直接驱动,光栅尺和编码器反馈,两个转动分别由步进电机经蜗轮蜗杆副减速传动,编码器反馈。运动控制器采用PMACPC104八轴卡,上位机采用工控机(IPC),采用RS232串口通讯。数控系统软件是在Windows2000操作系统下,以VisualBasic60为开发工具,采用面向对象的编程方法,充分利用PMAC的动态链接库中的函数,实现了数控系统的基本功能。系统软件主界面如所示。具体实现的功能包括:人机接口界面、系统初始化、坐标轴选择、手动控制、坐标位置实时显示、速度控制及G代码的编辑、下载等。

  2.1 系统初始化

  系统的初始化在系统软件运行过程中完成,主要进行PMAC的选择和参数预置等功能。初始化代码如下:PrivateSubForm_Load()

  DeviceNumber=PmacSelect(hWnd)选择PMAC卡
  If(DeviceNumber<0OrDeviceNumber>7)
  Then
  End
  Else
  return_value=OpenPmacDevice(DeviceNumber)启动PMAC卡
  If(return_value)
  ThenCallPmacGetResponseA(DeviceNumber,response,255,"100")初置电机速度
  CallPmacSendLineA(DeviceNumber,"1j/2j/3j/4j/5j/1hm2hm3hm 4hm 5hm")电机(电机控制系统的设计理念)闭环控制并返回零点
  Else
  End
  End
  If
  EndSub

  2.2 手动控制

  手动控制有轴选择、各轴的点动进给、精确定位、回零点和电机速度控制等功能。轴选择通过一组单选按钮OptionButton控件实现,使用Case语句触发各选择,保证每次只能选择一个轴,同时在手动控制框下也可以选择,利用ListBox(或ComboBox)实现,二者是同步的,实现相同功能。
  
  2.2 精确定位

  通过在坐标输入文本框中输入坐标值,控制各轴电机运动的距离为给定坐标值,同时利用反馈来比较,保证定位的精度。速度控制是通过改变PMAC的I变量来实现的。所有手动功能都是通过API函数PmacGetResponseA(DeviceNumber,response,255,"string")来实现,通过改变string给PMAC发送不同的指令。其中轴选择的string为n,点动的string为nj 或nj-,精确定位的string为nm172->L:$082B和nj^两条语句来实现。
  
  2.3 坐标位置实时显示

  这里利用了Tmier定时器控件,系统的状态以及各种参数变量都存储在PMAC内存中,分别用M变量去指向各状态的地址,可通过操作M变量进行状态的读取和参数的写入以及完成I/O口的控制。
  
  2.4 G代码的编辑、下载和编译

  G代码就是数控系统的运动程序,实际上也是坐标轴的运动控制程序,也就是加工程序。PMAC的运动程序语言有它自己的特点,采用类似于BASIC的高级语言编程,以调用子程序的形式支持加工程序的G代码编程。

  PMAC的运动程序可以通过它的Pwin32终端窗口编写,程序送到缓冲区后,可以在终端窗口键入mBnR运行程序,其中m为坐标系号,n为程序号;如果是在文本编辑器中编写的程序,必须将其下载到PMAC中,然后才能运行。由于PMAC内存有限,几百K以上的大程序不能一次下载运行,这就要用到循环运动程序缓冲区。循环运动程序缓冲区允许在程序执行期间对程序进行下载,并覆盖已经执行的程序行,这就能够连续执行比PMAC的存储空间大的程序,并且实时下载程序行。

  数控程序中的G代码和M、T、D等功能指令由G代码解释程序、M代码解释程序、T代码解释程序和D代码解释程序分别进行解释。这4个解释程序分别以运动程序PROG1000、PROG1001、PROG1002和PROG1003的形式存在,在系统调试时由PMAC可执行程序将它们下载到PMAC的固定内存中,在实际加工中被PMAC自动调用。主界面中的调试按钮即用于实现这一功能,并在调试过程中发现错误后通知编程者,其程序代码为:PrivateSubcmdtest_Click()CallPmacDownloadA(DeviceNumber,0,0,0,CommonDialog1FileName,True,True,1,True)CommonDialog1Filter="LogFile|Log"CommonDialog1FileName=Left(logfile,Len(logfile)-3) "log"txtresponseLoadFileCommonDialog1FileNametxtresponseSelStart=Len(txtresponseText)cmdrunEnabled=TrueExitSubEndSubPMAC将G、M、T、D代码作为子程序来调用,在解释程序中,可以针对特定的机床定制代码。在运动程序中遇到G代码时,将会调用解释程序PROG1000,跳转到解释代码行,如G17将跳转到PROG1000的N17000行。

  2.5 PLC功能的实现

  PMAC内置有PLC控制和编程功能,它是以循环逻辑顺序来执行命令,但它的编程方式不是梯形图编程,而是采用类似于BASIC等高级语言的编程方式,不需要专用编程器,执行速度更快。

  PMAC的内置PLC与NC共用CPU,利用CPU的余力来发挥PLC的功能,所以I/O点数较少。通过PLC程序可以完全地对PMAC变量和I/O进行操作,并且它具有非同步的特性,因此它能有力地协助运动控制程序完成任务。

3 结束语

  开放式数控系统(ONC)是目前数控发展的趋势,而PC机 可编程运动控制器型开放式数控系统是发展的主流。笔者开发的基于PMAC的五轴数控系统试验平台,结构简单,数控系统软件运行良好,用户可根据自己的需要进一步开发,真正实现了数控系统的开放性,达到了开放式数控系统的要求。 

2
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。