标题：DNC系统
引言
七十年代以后，随着数控机床（CNC）技术的不断发展，数控系统的存贮容量和计算速度都大为提高，DNC的含义由简单的直接数字控制发展到分布式数字控制。它不但具有直接数字控制的所有功能，而且具有系统信息收集、系统状态监视以及系统控制等功能。  DNC系统八十年代以后，随着计算机技术、通讯技术和CIMS技术的发展，DNC的内涵和功能不断扩大，与六、七十年代的DNC相比已有很大区别，它开始着眼于车间的信息集成，针对车间的生产计划，技术准备，加工操作等基本作业进行集中监控与分散控制，把生产任务通过局域网分配给各个加工单元，并使之信息相互交换。而对物流等系统可以在条件成熟时再扩充，既适用于现有的生产环境，提高了生产率，又节省了成本。
如上图所示构成DNC系统的主要组成部分有：中央计算机及外围存储设备、通信接口、机床及机床控制器。由计算机进行数据管理，从大容量的存储器中取回零件程序并把它传递给机床。然后在这两个方向上控制信息的流动，在多台计算机间分配信息，使各机床控制器能完成各自的操作。最后由计算机监视并处理机床反馈。其中解决计算机与数控机床之间的信息交换和互联，是DNC的核心问题。它与FMS（柔性制造系统）的主要差别是没有自动化物流输送系统，因而成本低，容易实现。由于它可以通过计算机网络实现NC（数控）程序的直接装载和灵活存储，因此能：
● 消除程序读入装置维护所需的费用；
● 减少程序输入的错误；
● 简化NC程序的管理；
● 便于进行生产调度和监控。
目前，DNC系统的研究尚存在以下有待解决的技术问题：①DNC系统体系结构的开放性不强。国内大部分DNC系统局限于单一供应商的制造设备，平台之间可移植性差，不同应用程序互操作能力有待提高，不利于系统集成；②DNC系统通信结构多为点对点式，或采用局域网加点对点式，不能很好地解决通信竞争问题； ③DND系统与NCP和CAD的接口功能还很弱；④DNC系统控制软件可重用性不强，需要进行面向对象设计和实现。本文提出了基于CORBA（通用对象请求代理结构）的车间层控制系统中DNC系统，给上述问题以很好的解答，并实现了软件的编制及联机调式。
控制系统体系的结构
DNC系统是基于CORBA车间层控制系统的一个功能单元，现在的企业面对的是一个多变的需求环境，因而车间层控制系统面对的加工任务也是多变的。这种变化包括生产零件的品种、类型、规格、产量和交货期等多个因素的变化以及加工工艺路线随生产任务的不同而变化等。这就需要一个在时间和空间上都开放的车间层控制系统体系结构，以运行于不同硬件环境的异构计算机系统中，同时又能适应新技术的发展，容纳新设备的增加。
在基于CORBA的车间层控制系统中，构造车间信息集成和共享的公共平台是核心问题之一，我们采用基于客户/服务器结构的分布式控制平台（如 Orbix），既可以将传统的递阶控制结构变换成更适合信息集成的分布或控制结构，又可适应不同产品制造过程（离散制造或连续制造）中统一的生产管理和组织要求。
车间层控制系统总体结构分为三层：底层为系统支持层，由分布式计算环境和异构网络集成系统两个子层构成，提供底层的计算机系统、网络系统和数据系统等系统级功能；中间层为开放式分布处理层，提供统一的集成通信服务，由开放式分布处理平台和应用程序接口组成，最上层为信息集成层，支持多客户/服务器的分布式多数据库集成系统，将现有的应用和数据信息集成到系统中。为实现控制结构的分布、数据库的分布以及系统功能的分布，提出的车间层控制系统软件采用基于 CORBA规范的分布式对象体系结构。
CORBA规范主要特点是实现软件总线结构。所谓软件总线的功能，就是起到类似于计算机系统硬件总线的作用，只要将应用模块按总线规范作成软插件，插入总线即可实现集成运行。实现软件总线的核心系统称为ORB（对象请求代理器），它不仅支持标准的OMG对象模型，还具有分布进程管理和通信管理功能。此外， CORBA定义了IDL(Interface Definition Language）语言，以描述软件总线上的插销。IDL提供了对成员系统的封装和成员系统之间隔离，任何成员系统作为一个对象，通过IDL对其接口参数进行定义和说明，就可接到ORB上，为其它系统提供服务或向其它系统提出请求，达到即插即用效果。
车间层控制系统划分为许多独立的功能单元，每个功能单元对应于一个包含功能接口定义和实体的抽象对象，每类对象的接口由属性和操作组成，由IDL定义的其它功能单元可以透明访问的服务以调用该对象的私有数据，具体功能的实现被封装在实体里。我们将每类对象按照功能划分成若干个子对象，将其设计成为可以直接插在CORBA软件总线上的对象插件。这些对象插件按照各层客户/服务器结构组成整个平台系统。这种结构可以带来长远的利益，既能迅速增加对新的DBMS 的应用、增加新的用户界面，又能升级支持各种新功能。
分类
由前节所述，从DNC概念的出现到今天的DNC技术，不论从功能上还是内涵上都发生了很大的变化。也正因为不断的变化，人们对DNC的概念有着各种各样的理解，从而导致对DNC的分类标准也各不相同，不同角度有着不同的分类方法。1.按DNC的功能来分按照DNC的功能的强弱，可将其分为初始DNC、基本DNC、狭义DNC和广义DNC。
具体划分见表1-1。
表1-1DNC功能分类Category of DNC Function
​功能复杂程度价格初始DNC下传NC程序简单低廉基本DNCCNC程序的管理和双向传输一般低廉狭义DNCCNC程序的管理和双向传输系统，状态采集、反馈中等一般广义DNCCNC程序的管理和双向传输，系统状态采集、反馈，远程控制与车间生产管理体系复杂昂贵2.按DNC系统的内涵划分按DNC系统的内涵的不同，可将其分为直接DNC、分布式DNC、柔性DNC，网络DNC、集成DNC和智能DNC等。
a) 直接DNC系统，也就是直接数字控制DNC(Direct Numerical control），是早期的DNC概念，其主要功能是将计算机与数控机床的直接连接，只是实现NC程序的下传到数控机床以完成零件的加工而已。
b）分布式数控系统（Distributed Numerical Control）是随着网络和计算机技术的发展而赋予了DNC新的内涵。不但能够实现NC程序的双向传输，而且具有系统信息采集、状态监视和系统控制等功能。
c）柔性DNC系统是随着DNC的发展，DNC和FMS的界限越来越模糊，此时的DNC己成为FMS中必不可少的一部分。
d）网络DNC系统，是为了适应敏捷制造、全球制造、分布式制造和远程制造而发展起来的一种DNC系统。这种DNC系统的特点是更强调网络与分布式数据库方面的功能与虚拟集成。
e）集成DNC系统，是以数控技术、计算机技术、控制技术、通信技术和网络技术等先进技术为基础，把与制造过程有关的设备与上层控制计算机集成起来，从而实现制造车间制造设备的集成控制管理以及制造设备之间、制造设备与上层计算机之间的信息交换。
f）智能DNC系统是随着人工智能技术的发展及其在制造领域的应用而出现的，目的是为了克服基于知识的人工智能的缺点，人工智能最新研究己经向计算智能方向发展。计算智能主要包括：模糊技术、人工神经网络、遗传算法等。这些智能技术的运用，必将促进智能制造技术的发展以及新的智能DNC的出现。3.按DNC系统的设备层划分DNC系统设备层的不同，可以实现的DNC的功能也是不同的，所以分类工作也可以按设备层来划分。根据具体的设备层不同，可将其分成四种，如表1-2所示。
表1-2按通信接口分类的DNC系统Category of DNC System Based on Communication Interface
分类通信接口可实现的DNC形式典型产品经济型数控系统纸带阅读机接口、磁带录音机接口基本DNC（外接DNC接口板）早期单板机改装的数控系统无RS-232串行接口的数控系统并行纸带阅读机接口、穿孔接口、PLC接口DNC接口基本DNC、狭义DNC、广义DNC（均要外接DNC接口板）FANUC 7M有RS-232串行接口的数控系统RS-232接口、PLC接口基本DNC、狭义DNC、广义DNC（外加DNC接口板）FANUC 6M
CINCINNATIA2100E有DNC通信接口的数控系统​基本DNC、狭义
DNC、广义DNCFANUC 0
FANUC15
地位及功能
20世纪80年代后，随着信息技术和先进制造技术的发展，DNC的功能和内涵也在不断扩大，主要体现为以下两个方面：1.从传输的内容和实现的功能上目前DNC系统传输的不仅包括NC程序，而且包括执行特定生产任务所需的制造数据，如刀具数据、作业计划、机床配置信息等。部分DNC系统还具有机床状态采集和远程控制等功能。2.车间的地位及其所发挥的作用利用DNC的通信网络可以把车间内的数控机床通过调度和运转控制联系在一起从而掌握整个车间的加工情况，便于实现加工物件的传送和自动化检测设备的连接，DNC系统连接数控设备和上层计算机，是实现CADC/AM和计算机辅助生产管理系统（CAPMS)集成的纽带，是实现设计制造一体化的桥梁。相比与FMS，DNC更注重于信息流的集成，从而避免FMS在物流上的高投资，是机械加工车间实现制造自动化的较好方式。按照CIMS的递阶控制理论，DNC系统可以方便的组织为数控单元，接收来自车间的作业计划，实现单元内的作业调度和资源调度、决定零件的加工路线、监控和统计数控设备的任务执行情况等。因此DNC是实现信息集成制造的一个层次，既可以单独使用，也可以继续发展为FMS和CIMS。
DNC系统作为车间层控制系统的一个功能单元。
DNC系统功能包括①NC程序及数据的传递，以某种通信协议（如Philip532等）实现通信功能；②机床状态采集和上报；③根据工序计划，自动分配NC程序及数据到相应机床；④刀具数据的分配与传递。
DNC系统软件的功能模型，其中NC数据管理的主要功能是对数控数据进行管理，主要有数控数据的显示、插入、修改、删除、更新、锁定（不允许更改）和打印等操作；NC数据执行的主要功能有：数控数据在计算机和机床之间的传送、删除机床上的数控数据、启动机床上的数控程序、随时从机床设备获得工作状态信息并存入数据库，作为运行数据采集模块评价加工过程的根据；DNC通讯接口通过DNC协议和数据链路协议建立单元控制系统和CNC的连接。
DNC系统软件体系结构组成
基于CORBA的DNC系统软件的实现平台建立在车间层控制系统平台的基础上。我们将DNC系统体系结构划分为三层的客户/服务器结构，以将表示逻辑、业务逻辑和数据处理逻辑明确划分开来。为此，表示层用来表示信息和收集数据，此处为由VB实现的可移植的DNC人机接口；业务层响应用户（或其它的业务服务）发来的请求，执行某种业务任务，此处为由VC++来实现DNC应有程序及NC数据管理应用程序；数据层包括数据的定义、维修、访问和更新以及管理，并响应业务服务的数据请求，此处为经IDL功能接口定义封装的NC局部数据库（Access）服务器。这些层并不一定与网络上的具体物理位置相对应，它们只是概念上的层，借助这些概念可以开发出健壮的、基于组件的应用程序。
使用模型，可以把应用程序的需求分解成明确定义的服务。在定义了服务之后，需要进一步创建具体的物理组件来实现它们。根据性能和维护的需求、工作量、网络带宽以及其它因素，可以在网络上灵活地部署这些组件。1.DNC系统软件的数据模型DNC系统软件中涉及到数据实体包含四类：①与制造设备硬件相关的数据实体（如机床等）；②与人机通讯相关的数据实体（如通讯协议实体和串口通讯实体）； ③数控数据实体（如NC程序号、刀具号、工序号）；④输入操作指令或派工单实体。采用面向对象方法将上述实体抽象成为类，可分为能力单元类、NC机床类、 NC控制器类、通讯协议类、终端服务器类、串口通讯类、NC程序类等。2.DNC系统组成尽管DNC有多种多样的分类方式，但各种分类方式都有构成DNC系统必不可少的基本组成部分。其中主要有：
（1）DNC控制计算机，包括大容量存储器和1/0接口；
（2）通讯介质（双绞线，同轴电缆等）；
（3）通讯接口；
（4）NC或CNC数控设备；
（5）软件系统（包括实时多任务操作系统、DNC通信软件、DNC管理和监控软件、NC程序编辑软件、还可能有数控系统软件）。
由于DNC系统的多种构成形式，系统的大小和复杂程度也各不相同。DNC系统可以小到只有一台DNC主机控制多台数控机床也可以大到包括单元层、车间层和工厂层。所以具体的DNC系统组成要根据其要求达到的目标和具体条件来决定。影响DNC系统配置的因素很多
DNC计算机的任务劳动力成本车间层管理计算机系统被处理信息的层次CNC的数量车间CNC的负载所需要的柔性 
但首先应考虑工厂具体的需求，如需要的自动化程度、信息流以及工厂的计算机结构层次等重要因素。
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
intFixtureStatus; ‖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();
}；3.DNC系统的物理配置基本结构基于CORBA的车间层控制系统需要两种层次的互连。第一层是利用计算机局域网技术和协议软件把由异构计算机组成的车间层控制器、设备控制器等互连起来，第二层是在这一互连的基础上，实现各节点、各被控的异构制造设备（如加工中心、机器人、PLC等）之间的信息交互，这种交互通过制造信息规范（MMS）实现。作为车间层控制系统的一个重要组成部分，本文DNC系统的物理配置基本结构如下图所示，主计算机通过网络介质（具有独立IP地址的终端服务器）分别连接多台CNC系统实现NC程序的装卸、刀具数据的传递、操作命令的下达和状态信息的反馈。这是一种通过局域网连接起来的通信结构，它具有包括物理层、数据链路层、传输层及应用层等的四层结构，其中数据链路层采用LSV2通讯协议，传输层采用DNC协议（如SINUMERIK或PHILIPS协议）。
DNC应用原则
DNC系统的优越性在于其简单的程序数据管理，快速的NC数据传送，以及数据传送所具有的更高的安全性能，且可实现NC机床完全自动的、柔性的操作。引入DNC的目的在不同的企业是不同的，但通常有如下的原因：
（1）消除程序读入装置维护所需的费用；（2）减少数据输入的错误；（3）简化NC程序的管理；（4）便于生产的管理；（5）增加加工系统的柔性。在工厂使用了一定数量的数控机床之后，由于以上原因，通常会产生引入DNC的需求，但从经济和技术上综合考虑，引入DNC的原则一般有：
（1）系统内的数控机床数量连接在系统内的数控机床数量对于系统的效率和成本的回收都是十分重要的，一般的，在系统中有4-6台NC机床或更多时，即应考虑DNC;（2）控制系统要处理的数据量在数据量很大且程序的处理速度要求很快时，应考虑DNC;（3）NC程序的管理NC程序管理的问题越大，就越应当考虑采用DNC;（4） NC程序的长度在CNC的程序存储器不能满足程序的要求时，应考虑DNC;（5）在加工中需要频繁更换程序加工的批量越小，程序越小，在正确的机床上，正确的时间内，使用正确的程序加工就越困难，但如果采用DNC就能比较容易的解决这个问题。