基于计算机软件技术的DNC研究

时间:2022-09-30 05:32:10

基于计算机软件技术的DNC研究

0.引言

DNC(Distributed Numerical Control)称为分布式数控,是实现CAD/CAM和计算机辅助生产管理系统集成的纽带,是机械加工自动化的又一种形式。目前,DNC系统的研究尚存在以下有待解决的技术问题:①DNC系统体系结构的开放性不强。国内大部分DNC系统局限于单一供应商的制造设备,平台之间可移植性差,不同应用程序互操作能力有待提高,不利于系统集成;②DNC系统通信结构多为点对点式,或采用局域网加点对点式,不能很好地解决通信竞争问题;③DND系统与NCP和CAD的接口功能还很弱;④DNC系统控制软件可重用性不强,需要进行面向对象设计和实现。本文提出了基于CORBA(通用对象请求结构)的车间层控制系统中DNC系统,给上述问题以很好的解答,并实现了软件的编制及联机调式。

1.控制系统体系的结构

DNC系统是基于CORBA车间层控制系统的一个功能单元,现在的企业面对的是一个多变的需求环境,因而车间层控制系统面对的加工任务也是多变的。在基于CORBA的车间层控制系统中,构造车间信息集成和共享的公共平台是核心问题之一,采用基于客户/服务器结构的分布式控制平台(如Orbix),既可以将传统的递阶控制结构变换成更适合信息集成的分布或控制结构,又可适应不同产品制造过程(离散制造或连续制造)中统一的生产管理和组织要求。

车间层控制系统总体结构分为三层:底层为系统支持层,由分布式计算环境和异构网络集成系统两个子层构成,提供底层的计算机系统、网络系统和数据系统等系统级功能;中间层为开放式分布处理层,提供统一的集成通信服务,由开放式分布处理平台和应用程序接口组成,最上层为信息集成层,支持多客户/服务器的分布式多数据库集成系统,将现有的应用和数据信息集成到系统中。为实现控制结构的分布、数据库的分布以及系统功能的分布,提出的车间层控制系统软件采用基于CORBA规范的分布式对象体系结构。

CORBA规范主要特点是实现软件总线结构。所谓软件总线的功能,就是起到类似于计算机系统硬件总线的作用,只要将应用模块按总线规范作成软插件,插入总线即可实现集成运行。实现软件总线的核心系统称为ORB(对象请求器),它不仅支持标准的OMG对象模型,还具有分布进程管理和通信管理功能。此外,CORBA定义了IDL(Interface Definition Language)语言,以描述软件总线上的插销。IDL提供了对成员系统的封装和成员系统之间隔离,任何成员系统作为一个对象,通过IDL对其接口参数进行定义和说明,就可接到ORB上,为其它系统提供服务或向其它系统提出请求,达到即插即用效果。

车间层控制系统划分为许多独立的功能单元,每个功能单元对应于一个包含功能接口定义和实体的抽象对象,每类对象的接口由属性和操作组成,由IDL定义的其它功能单元可以透明访问的服务以调用该对象的私有数据,具体功能的实现被封装在实体里。我们将每类对象按照功能划分成若干个子对象,将其设计成为可以直接插在CORBA软件总线上的对象插件。

2.DNC系统的地位及功能

DNC系统作为车间层控制系统的一个功能单元。

DNC系统功能包括①NC程序及数据的传递,以某种通信协议(如RS232C等)实现通信功能;②机床状态采集和上报;③根据工序计划,自动分配NC程序及数据到相应机床;④刀具数据的分配与传递。

3.DNC系统软件体系结构

基于CORBA的DNC系统软件的实现平台建立在车间层控制系统平台的基础上。我们将DNC系统体系结构划分为三层的客户/服务器结构,以将表示逻辑、业务逻辑和数据处理逻辑明确划分开来。为此,表示层用来表示信息和收集数据,此处为由VB实现的可移植的DNC人机接口;业务层响应用户(或其它的业务服务)发来的请求,执行某种业务任务,此处为由VC++来实现DNC应有程序及NC数据管理应用程序;数据层包括数据的定义、维修、访问和更新以及管理,并响应业务服务的数据请求,此处为经IDL功能接口定义封装的NC局部数据库(Access)服务器。这些层并不一定与网络上的具体物理位置相对应,它们只是概念上的层,借助这些概念可以开发出健壮的、基于组件的应用程序。

4.DNC系统软件的数据模型

DNC系统软件中涉及到数据实体包含四类:①与制造设备硬件相关的数据实体(如机床等);②与人机通讯相关的数据实体(如通讯协议实体和串口通讯实体);③数控数据实体(如NC程序号、刀具号、工序号);④输入操作指令或派工单实体。采用面向对象方法将上述实体抽象成为类,可分为能力单元类、NC机床类、NC控制器类、通讯协议类、终端服务器类、串口通讯类、NC程序类等。

DNC应用程序中的对象从这些类中继承下来,每个对象的方法即该对象的成员函数根据相应的功能需求来定义。下面以NC机床类的定义为例:

∥ncmach.h -NC Machine Class definations

∥NC Machines are part processors.For this class,a part is loaded,

∥a NC file is downloaded to the device,and the machine is started.

class MACHINE-TOOL{

char* CurrentNCFile; ∥currently loaded NC file

int FixtureStatus; ∥fixture status

public:

MACHINE-TOOL();

char* getCurrentNCFile();

void setCurrentNCFile(char F);

Int getFixtureStatus();

void setFixtureStatus(int S);

virtual int processPart(char PartName);

virtual int downloadNCFile(char File);

virtual int stopMachine();

virtual in graspPart();

virtual int releasePart();

}。

【参考文献】

[1]Alfred Storr und Joachim Uhl.Objektorientierte Leittechnik.CIM Management,1995,11(1).

[2]张旭梅.集成DNC系统及其运行模式探讨.计算机集成制造系统,1998(2).

[3]Firm DL.Broad scope DNC.Manufacturing Engineering,1987,99(2):49~51.

上一篇:混凝土膨胀剂限制膨胀率试验过程中的常见问题 下一篇:城域网基础通信资源的规划建设思路