微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PMAC的数控系统软件开发研究

基于PMAC的数控系统软件开发研究

时间:12-12 来源:互联网 点击:
0 引言

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

关于开放式数控系统的特征通常认为其包括硬件系统的开放性和软件系统的开放性,开放的硬件系统由微型机及模块化的速度控制单元、位置控制单元和内置的PC构成;开放的软件系统是指数控软件系统的设计模块化及模块间的接口标准化。 目前,开放式数控系统有;种实现途径: 一是PC机f数控专用模板;二是PC机+可编程运动控制器;三是纯PC机型。

这种基于开放式可编程运动控制器的系统结构以通用微机为平台,以PC机标准插件形式的开放式可编程运动控制器为核心。 通用PC机负责如数控程序编辑、人机界面管理等功能,运动控制器负责机床的运动控制和逻辑控制。 这种运动控制器以运动子程序的方式解释执行数控程序,以PC子程序方式实现机床逻辑控制,支持用户的开发和扩展,具有上、下两级的开放性。 美国Delta Tau公司的PMAC是这种运动控制器的典型代表,其拥有自身的CPU,同时开放包括通信端口、存储结构在内的大部分地址空间,具有灵活性好、功能稳定、可共享计算机所有资源等特点。 虽然国内外许多学者在基于PMAC运动控制器的开放式数控系统方面作了大量的研究工作,但都还处于研究阶段,用于生产或产品化还基本没有实现。

1 基于PMAC数控系统的软件设计

1.1 BPMAC软件的开放性

(1)支持各种高级语言,用户可以使用:VB、VC、Delphi等在Windows件平台上定制用户专用界面。

(2)在数控语言上对用户开放,不仅支持用户直接调用现有的直线、圆弧、样条曲线的插补指令!而且还允许用户自定义G代码、M代码、D代码、S代码,实现以往数控语言所不能完成的功能。

(3)提供内装式软件化的PLC,可以编制64个异步PC程序,通过一些指针变量,用户可以按位"按字节进行逻辑控制。

(4)可共享PC微机丰富的各类支撑软件和工具软件,方便地与各类网络连接,与(’2a(’&系统连接,便于远程诊断、网络制造和制造系统集成控制的实现。

1.2 系统软件结构

通过CNC系统应用程序编程接口,开发CNC系统的用户界面可以选用各种能够调用Windows动态链接库的编程语言,如VB、VC、Delphi等,分别编制不同任务的前端用户界面程序,具有很大的灵活性和开放性。 软件开发人员通过CNC系统应用程序接口的统一支持,可以方便地构造CNC系统的应用软件!即构造前端用户操作界面。 Delta Tau公司提供了Pcimm32应用程序通讯驱动器,它包括了同PMAC通讯的各种方式,而且将其主要函数进行分类、封装,形成一种可根据用户需要而调用的动态链接库。通过这些函数可以完成PMAC与PC机之间的通讯功能,用户不用直接对端口进行操作就可以完成对PMAC硬件的操作,并且程序设计灵活、迅速及可移植性好。 如OpenPmacDeve()函数用于与某一个PMAC设备建立通讯关系;PmacGetResponse()函数用于给PMAC发送指令并返回执行结果,等等。 系统软件结构如图1所示。


图1 系统软件结构

2 举例

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


图2 数控系统软件主界面

图3人机界面功能树

2.1 系统初始化

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

2.2 手动控制

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

现,二者是同步的,实现相同功能。 精确定位是通过在坐标输入文本框中输入坐标值,控制各轴电机运动的距离为给定坐标值,同时利用反馈来比较,保证定位的精度。 速度控制是通过改变PMAC的I变量来实现的。 所有手动功能都是通过API函数PmacGetResponeA来实现,通过改变string给PMAC发送不同的指令。 其中轴选择的string为“#n”,点动的string为“#j+”或“#j-”,精确定位的string为“#nm172->现,二者是同步的,实现相同功能。 精确定位是通过在坐标输入文本框中输入坐标值,控制各轴电机运动的距离为

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top