(整理)开放式数控系统

(整理)开放式数控系统
(整理)开放式数控系统

摘要随着现代制造业的快速发展,传统数控系统兼容性差、功能不易扩展、人机界面不灵活等缺点日益显现,数控系统的开放化已成为数控技术的主流。开放式数控系统的研究目的是开发一种模块化、可重构、可扩充的控制系统结构,以增强数控系统的功能柔性,在体系结构上给用户二次开发留有更多的余地,从而快速地响应新的加工需求。

本文阐述了数控技术的发展过程,介绍了国内外开放式数控系统的发展现状和发展趋势,指出研究和开发开放式数控系统的必要性。在分析目前应用比较广泛的OSACA 开放式体系结构的基础上,建立了基于PC+运动控制器的开放式数控系统的软硬件结构,并重点介绍了系统软件的构成与实现。系统软件设计采用模块化结构,如:总体调度模块、参数模块、软PLC模块、NC模块,客户界面模块等。各个模块之间通过标准的接口协调工作,共同完成数控系统的功能。该系统是一个能够同时完成程序译码、插补运算、系统管理、伺服控制等任务的控制系统,具备了一般商用数控系统的通用功能。如果需要对系统的功能进行调整,只需要增减功能模块即可,体现出了系统开放性、灵活性的特点。

最后以系统研究为背景,将开发出的数控系统应用在铣床数控化改造中。实践证明,以工控机和运动控制器为控制系统的核心控制器,不仅可以大大的简化系统的开发周期,实现资源的合理配置,而且,系统开发者和机床用户可以将自己的特殊的加工工艺、管理经验和操作技能纳入控制系统形成自己的产品特色。

关键词:开放式数控系统,模块化结构,运动控制器

Development and Research of Open CNC System with 8-Axis

Abstract

With the rapid development of modern manufacturing, the weakness of traditional CNC system becomes apparent increasingly, such as compatibility, expandability and inflexible human-machine interfaces and so on. The research of Open CNC Systems is becoming one of the most important directions of CNC technology. The purpose of studying Open CNC System is to build a modular, reconfigurable and expandable control system. So the functional flexibility of the CNC system can be improved, the systems are enabled to be re-developed. And some new demands of the producing can also be responded quickly.

Through the discussing of the different courses of the NC technology and the introduction of the status of research in the Open CNC System field, the need of researching and exploiting open CNC system is brought forward. The hardware and software configuration of CNC system based on PC + Motion Controller are build with analyzing the most popular open CNC architecture——OSACA. Then that how to build the software is mainly discussed. Modularization is the idea of the software’s project, such as Main interface module、parameter module、soft-PLC module、NC module、HMI module in the paper. These function modules with standard interfaces will work coordinately. The CNC system discussed by this paper is a real time and multi-task control system.It can deal with coding interpretation, interpolation, system management and servo control simultaneity. It has the function of general commercial CNC system. The function modules can be added or deleted if some adjustments want be done to the system, which shows the opening and flexibility of the system.

The CNC system is used in the numerical renovation of Milling Machine in order to research the system. Not only the CNC system based on PC and Motion Controller shortens the exploitive cycle, achieving resource rational configuration, but also the CNC developer and customer can bring their technologies, experiences and skills into the open CNC system.

Key Words:Open CNC System,Modularization Architecture,Motion Controller

目录

摘要..................................................................................................................................... I Abstract ..................................................................................................................................... II 1 绪论. (1)

1.1 数控系统的发展概况 (1)

1.2 开放式数控系统概述 (2)

1.2.1 开放式数控系统的定义 (2)

1.2.2 开放式数控系统的特点 (3)

1.2.3 开放式数控系统的体系结构 (3)

1.3 开放式数控系统的发展 (7)

1.3.1 国外开放式数控系统的发展状况 (7)

1.3.2 国内开放式数控系统的发展状况 (9)

1.4 课题的产生及意义 (10)

1.5 课题的研究方法和内容 (11)

2 数控系统的总体设计 (12)

2.1 系统的设计目标 (12)

2.2 数控系统硬件结构设计 (12)

2.2.1 系统硬件的总体设计及实现 (12)

2.2.2 工控机的选型 (14)

2.2.3 运动控制器的选型 (15)

2.3 数控系统软件结构设计 (15)

2.3.1 系统软件的总体设计 (15)

2.3.2 系统中各模块的功能概述 (16)

2.3.3 系统中各模块的关系 (17)

3 参数模块设计 (19)

3.1 参数模块的设计要求 (19)

3.2 参数模块的结构 (19)

3.3 参数设置模块的拓扑结构 (20)

3.4 参数设置模块的功能细分 (21)

3.5 参数设置模块的实现 (22)

4 软PLC模块的设计 (25)

4.1 软PLC技术及特点 (25)

4.2 软PLC模块的组成及工作流程 (25)

4.3 软PLC模块的变量设计 (27)

4.4 软PLC模块控制程序的设计 (30)

4.5 软PLC模块解释程序的设计 (35)

5 NC模块的设计 (40)

5.1 NC模块的功能描述 (40)

5.2 NC模块的程序流程 (40)

5.3 NC模块解释程序设计 (42)

5.3.1 数控加工程序的结构与格式 (42)

5.3.2 解释程序的实现 (43)

5.4 NC模块运动执行程序设计 (47)

5.5 实时多任务的实现 (49)

5.5.1 系统线程的总体设计 (50)

5.5.2 系统线程的具体实现 (51)

6 客户界面模块的设计 (53)

7 结论 (60)

参考文献 (61)

在学研究成果 (64)

致谢 (65)

1 绪论

1.1 数控系统的发展概况

数控技术集传统的机械制造技术、计算机技术、信息处理技术、网络通讯技术、成组技术、现代控制技术、传感检测技术、微电子技术、液压气动技术、光机电技术于一体,是现代制造技术的基础[1]。大力发展以数控技术为核心的先进制造技术,已成为世界各发达国家加速经济发展、提高综合国力和国家地位重要途径[2]。

自从1952年麻省理工学院研制出世界上第一台三坐标数控铣床以来,数控系统的发展已经经历了八代,大致上可以分为四个发展阶段[3-5]:

(1) 硬件数控阶段

早期计算机的运算速度低,远不能适应机床实时控制的要求,人们不得不采用数字逻辑电路搭建一台专用计算机作为数控装置,被称为硬件连接数控,简称数控(NC)。世界上第一台数控铣床的数控装置是采用电子管、继电器和模拟电路构成的试验样机,通称为第一代数控;1959年,晶体管取代了笨重的电子管,缩小了体积,使得工业应用成为了可能,诞生了第二代数控系统;1965年出现了小规模集成电路构成的NC,体积更小,功率更低,提高了可靠性,NC发展到第三代。

这一阶段的数控系统,各种控制功能均由硬件逻辑完成,称为“硬件”控制,其功能简单,灵活性差,设计周期长,系统可靠性低,因而限制了其进一步的发展和应用。

(2) 计算机数控系统的发展和完善阶段

70年代初,大规模集成电路、半导体存储器、微处理器的问世,使得通用小型计算机逐渐普及,给数控技术带来了突破性的发展。1970年在美国芝加哥数控博览会上,首次展出了以小型计算机为核心的计算机数控系统(CNC),标志着数控系统进入了计算机为主体的第四代。至此,原来由硬件实现的功能逐步改为由软件完成,从此系统进入了“软连接”数控时代。

1974年,首次出现了采用微处理器芯片的软连接CNC系统,象征着数控系统进入了以微机为背景的时代。这一发展真正实现了机电一体化,进一步缩小了体积,降低了成本,简化了编程和操作,使数控系统达到了普及的程度。

70年代末80年代初,随着大规模集成电路、大容量存储器、CRT的普及应用,CNC系统进入了第六代。它虽然仍以微处理器为基础,但控制功能更为完善,具备了多功能的技术特征,尤其在软件技术方面发展更快,具有了交互式对话编程,三维图形显示和校验,实时软件精度补偿等功能;在系统体系结构上,开始出现了柔性化、模块化的多处理器结构,数控系统产品也逐渐实现了标准化、系列化。

(3) 高速、高精度CNC的开发与应用阶段

为了实现高速、高精度轮廓的精加工,必须提高微轮廓的解释处理能力和伺服驱动能力。为保证零件程序的传送、插补、加工线速度控制等连续处理,CNC系统应具有足够高的数据处理速度和能力。32位CPU以其很强的数据处理能力在CNC中得到了应用,使CNC系统进入了面向高速、高精度的第七代。

(4) 基于PC的开放式CNC的开发与应用

进入90年代,PC机(个人计算机)的性能提高很快,从8位、16位发展到32位,足可以满足作为数控系统核心部件的要求,而且PC机生产批量很大,价格便宜,可靠性高,数控系统从此进入了第八代——基于PC的CNC系统阶段。1994年,这种基于PC的CNC控制器在美国首先亮相市场,并在此后得到了高速发展。PC的引入,不仅为CNC提供十分坚实的硬件资源和及其丰富的软件资源,更为CNC的开放化提供了基础。

现在,基于PC的开放式数控系统,已成为当今世界数控领域研究和开发的热点,这也为我国缩短与世界发达国家数控技术差距提供了机遇[6]。

1.2 开放式数控系统概述

1.2.1 开放式数控系统的定义

IEEE(国际电气电子工程师协会)是这样定义开放式数控系统的:具有下列特性的系统可以被称为开放系统:符合系统规范的应用、可以运行在多个销售商的不同平台上、可以与其它的系统应用互操作,并且具有一致风格的用户交互界面(An open system provides capabilities that enable properly implemented applications to run on a variety of platforms from multiple vendors, inter-operate with other systems applications, and present a consistent style of interaction with the user.)[7,8]。

通俗一点讲,开放式数控系统的实质应该是一种通用计算机上的标准应用程序,而不再是像传统的数控系统那样包含有许多插件板的专用硬件系统。

1.2.2 开放式数控系统的特点

一般而言,开放性数控应该具有以下特点[9,10]:

(1) 可移植性。系统的应用模块无需经过任何改变就可以用于另一平台,仍然保持其原有性能。

(2) 可扩展性。不同应用模块可在同一平台上运行,相互不发生冲突。

(3) 可协同性。不同应用模块能够协同工作,并以确定方式交换数据。

(4) 规模可变。应用模块的功能和性能以及硬件的规模可按照需要调整。

(5) 开放的人机界面。“开放”仅限于控制系统的非实时部分,可对面向用户的程序作修改。

(6) 控制系统核心(数控和可编程控制等)有限度开放。虽然控制核心的拓扑结构是固定的,但可以嵌入包括实时功能的用户专用过滤器。

(7) 开放控制系统。控制核心的拓扑结构取决于过程,内部可相互交换、规模可变、可移植和可协同工作。

研究开放式数控系统就是要给用户提供一个开放式的标准的开发平台。在这个平台上,用户可以通过标准化和简单化的步骤来简化系统的基本模块和基本构件,既可以添加一定的硬件,还可以改变软件的结构,而且允许与任何第三方的技术或产品进行集成。

1.2.3 开放式数控系统的体系结构

从开放式数控系统的定义及特点,可以推出在构建一个开放式的系统体系结构时应具备的条件和遵循的标准。一个开放式的数控系统,首先应具备系统功能模块化的结构,并具有定义了标准协议的通讯系统,使得各个功能模块能通过API来相互交换信息并相互操作。同时,系统还应具有一个实时的配置系统,使得各个功能模块无论在系统运行之初还是之间都能够灵活地配置。欧盟的OSACA开放式体系结构就是遵循这样的标准制定的[11]。

应用程序界面(API)

AO O

O

AO

AO

配置系统

配置系统

通信系统

操作系统操作系统系统软件硬件

图1.1 OSACA开放式数控系统体系结构图

Fig. 1.1 Open CNC architecture of OSACA

OSACA控制系统的体系结构可分为两个部分:应用软件和系统平台,应用软件即控制系统所包括的各个功能模块,以下称为AO(Architecture Object)。AO是指具有一定特性和行为规范的系统功能单元对象,它是组成系统功能结构的最基本的单位,对系统平台具有唯一的接口。AO 之间通过OSACA的通讯系统可相互操作,通过OSACA提供的API接口可运行于不同平台之上。系统平台包括系统软件(操作系统、通讯系统、设备驱动器等)和系统硬件(处理器、I/O板等)。系统平台通过标准应用程序接口(API)向外提供服务,API隐藏了系统平台实现的内部机制,使得AO能运行于不同的平台之上。

OSACA软件结构中有三个主要的组成部分:通信系统、参考体系机构模型和配置系统。

(1) 通讯系统,通讯系统是系统平台与系统各功能模块进行信息交互的唯一途径,它既支持同一系统平台各个AO之间的信息交互,又可以通过不同的传输机制支持不同系统平台上AO之间的信息交互。因此,通讯系统应完成两方面的任务:通讯机制的制定和标准协议的制定。

(2) 参考结构,系统的控制功能是由系统各功能模块所组成,而每一个功能模块都是由功能相对独立的功能元按照一定的逻辑关系所组成的。系统的参考结构就是用来精确描述功能元与系统平台之间以及各模块之间的关系;精确定义各模块和功能元的行为和属性,以及各模块和功能元与系统平台之间的接口,保证不同供应商提供的功能模块可以在不同平台上协调工作。

(3) 配置系统,传统数控系统的配置系统属于静态的配置,它是通过设置参数来完成的。针对不同功能的控制系统,有成千上万的参数需要设置和调整,不同系统的参数数量和用途也是不一样的。开放式体系结构的配置系统应是一种动态实时配置系统,既可以在系统运行之前配置好,又可在系统运行期间对其进行重配置而不必对系统进行重新编译和连接。这一实现得益于面向对象的编程技术。

目前,研究开放式数控系统的厂家很多,其组成形式也千差万别,不过总体上都是向基于PC的开放式数控系统方向发展。世界上许多数控系统生产厂家利用PC机丰富的软硬件资源开发开放式体系结构的新一代数控系统。就基于PC的开放式数控的结构形式而言,当今世界上的开放式数控系统大致可分为PC连接型NC,PC嵌入型NC、运动控制器+PC型、全软件型NC等4种类型[12-14],其结构形式如图1.2所示:

图1.2基于PC的开放式数控系统

Fig. 1.2 Open CNC system based on PC

(1) PC连接型NC

PC连接型NC是将现有原型CNC与PC用通用串行线直接相连的一种组成形式。其优点是容易实现,且原型CNC几乎可以不加改动的使用,也可以使用通用软件。缺点是这种数控系统由于其开放性只在PC部分,其专业的数控部分仍处于瓶颈结构,且系统的响应速度、通讯速度慢。

(2) PC嵌入型NC

PC嵌入型NC即在传统的专用数控机床中嵌入PC技术,PC与CNC之间用专用总线连接。其优点是原型CNC几乎可以不加改动的使用,且数据传送速度快,系统响应快。缺点是由于它的NC部分仍然是传统的数控系统,不能使用通用PC,其体系结构还是不开放的,PC的开放程度受到限制。因此这种结构尽管也具有一定的开放性,但用户无法介入数控系统的核心。如FANUC公司的150/160/180/210系统、Siemens840D系统、Numl060系统、AB9/360等数控系统。这是由于一些数控系统制造商不愿放弃多年来积累的数控软件技术,又想利用计算机丰富的软件资源而开发的产品。

(3) 运动控制器+PC型

运动控制器+PC型即在通用PC的扩展槽中插入运动控制卡,完全采用以PC为硬件平台的数控系统。这种系统主要是基于PC或PC Base,其中最主要的部件是计算机和控制运动的控制卡。这种运动控制卡通常选用高速DSP作为CPU具有很强的运动控制和PLC控制能力。它本身就是一个数控系统,可以单独使用。它开放的函数库供用户在WINDOWS平台下自行开发构造所需的控制系统。因而这种开放结构被广泛应用于制造业自动化控制的各个领域。其优点是能充分保证系统性能,软件的通用性强且编程处理灵活,缺点是确保系统可靠性也是个有待进一步研究的问题。如美国Delta Tau公司用PMAC多轴运动控制卡构造的PMAC-NC数控系统、日本MASK公司用三菱电机的MELDASMAGIC 64构造的MAZATROL 640 CNC等。

(4) 全软件型NC

全软件型NC即完全采用PC的全软件形式的数控系统,NC的全部功能处理全由PC进行、并通过装在PC扩展槽中的接口卡等进行控制。其优点是编程处理相当灵活,机件的通用性强。它的CNC软件全部装在计算机中,而硬件部分仅是计算机与伺服驱动和外部I/O之间的标准化通用接口。与前几种数控系统相比,全软件型开放式数控系统具有最高的性能价格比,因而最有生命力。缺点是在通用PC上进行实时处理较困难,较难保证系统性能,其可靠性也有待进一步研究。目前由于存在着操作系统的实时性、标准统一性及系统稳定性等问题,这种系统目前正处于探求阶段,还没有大规模投入到实际的应用中。目前全软件型的典型产品有美国MDSI公司的Open CNC 德国Power Automation公司的PA8000 NT等。

1.3 开放式数控系统的发展

1.3.1 国外开放式数控系统的发展状况

开放式控制系统的研究始于1987年美国空军在政府资助下发表的“NGC(Next Generation Controller)下一代控制器”研究计划。针对当时的数控系统都是基于专有设计的基础上完成的,具有不同的编程语言、非标准的人机接口、多种实时操作系统、无共同性、无标准接口、封闭式的系统等情况,NGC试图通过实现基于相互操作和分级式软件模块的“开放式系统体系结构标准规范”(Specification for an Open System Architecture Standard--SOSAS)找到解决上述问题的方法[15]。在NGC计划中提出了“开放式系统体系结构”的新一代数控的概念,一个开放式系统体系结构能够使供应商为实现专门应用选择最佳方案定制控制系统。其后有许多相关的研究计划在世界各国相继启动,其中影响较大的有美国的OMAC(开放式、模块化体系结构控制器)、欧洲的OSACA(开放系统体系结构标推规格)和日本的OSEC(控制器开放系统环境)等计划[16-18]。

(1) OMAC计划

美国的汽车工业为解决自身发展过程中碰到的一系列问题,由克莱斯勒、福特和通用三大汽车公司于1994年开始了一项名为“开放的模块化体系结构控制器(OMAC )”的计划。该计划的目标是降低控制系统的投资成本和维护费用,缩短产品开发周期,提高机床利用率,提供软硬件模块的“即插即用”和高效的控制器重构机制,简化新技术到原有系统的集成,从而使系统易于更新换代,尽快跟上新技术的发展,并适应需求的变化。其主要动机是向供应商和技术开发团体公布控制器用户尤其是汽车制造业的需求,以期他们明白并更好地理解用户的需求,从而能在市场上购买到满足其要求的产品。

(2) OSACA计划

OSACA 计划是1990年由欧共体国家的22家控制器开发商、机床生产商、控制系统集成商和科研机构联合发起的,并于1992年5月正式得到欧盟的认可,纳入欧盟ESPRIT III项目计划。该计划共分三个阶段,其中第一阶段和第二阶段均已完成,主要是制定OSACA规范和应用指南以及依照OSACA视范为其系统平台开发标准通用的软件模块和通用的系统平台。第三阶段的计划正在进行中,其主要目标是推广

OSACA思想以及前期工作的技术成果,同时与日、美的相关机构进行接触,以期建立一个国际性的控制器标准。

(3) OSEC计划

OSEC计划由东芝机器公司、丰田机器厂和Mazak公司三家机床制造商和日本IBM、三菱电子及SML信息系统公司共同提出。其目的是建立一个国际性的工厂自动化(FA)控制设备标准。OSEC以日本国际机器人和工厂自动化研究中心(IROFA )所提出的CNC系统参考模型为基础,提出了一个开放体系结构。OSEC的开放CNC系统体系结构包括了三个功能层和七个处理层。OSEC提出了FADL(工厂自动化描述语言)和OSEL(Open System Environment Language)加工语言,实现加工信息标准化和制造控制系统与CAD/CAM系统之间的直接互联。开发研究成果已得到应用,如Cincinnati--Milacron公司从1995年开始在其生产的加工中心、数控铣床、数控车床等产品中采用了开放式体系结构的A2100系统。

目前以德国Andron公司设计的Andronic 2060数控系统代表了新一代的数控系统。它是新一代基于微机的、在Windows平台上的开放式系统[19,20],其内部硬件结构如图1.3所示:

图1.3 Andronic 2060数控系统的硬件结构

Fig. 1.3 Hardware architecture of Andronic 2060 CNC system

Andronic 2060数控系统采用两个Intel处理器,通过PCI-PCI桥进行相互通信。一个处理器承担数控运算(NC计算机),另一个作为人机界面计算机。NC计算机中插有NC CPU卡、NC机床卡。NC机床卡与数控驱动装置连接,并且通过2块带PCI 桥的总线卡与人机界面计算机通信。人机界面计算机的内部总线卡与数控系统操作面板和外部接口连接。人机界面计算机的CPU卡控制触摸式LCD显示屏以及计算机外设和网络通信。并采用通用的I/O接口[21]。上海机床集团公司生产的曲轴磨床就采用该系统。

1.3.2 国内开放式数控系统的发展状况

我国的数控技术经过“六五”、“七五”、“八五”到现在“九五”的近20年的发展,基本上已经掌握了数控技术中的关键技术,建立了数控开发和数控生产基地,培养了一大批数控人才,初步形成了中国自己的数控产业。“八五”攻关开发的成果有:华中I型、中华I型、航天I型和蓝天I型4种基本系统,这四种数控系统基本上建立起了具有中国自主版权的数控技术平台。目前国内比较有代表性的新型开放式数控系统研究主要有以几种[22-24]:

(1) 基于软件芯片的开放式数控系统

华中科技大学提出了一种基于软件芯片(Software Integrated Chip,简称SIC)的开放式数控系统地实现模式。在该模式中,通过对数控软件的标准化与规范化研究,运用面向对象的机制,把数控系统的功能进行抽象并进行封装,将数控软件设计成具有稳定通用的接口、可以重用的SIC,每个SIC完成数控系统的一个独立模块的功能,如插补功能由插补芯片完成、位置控制功能就由位置芯片完成。并且通过建立一个数控系统软件芯片集成开发环境对SIC进行管理,用户可以对SIC进行检索、浏览和维护,还可以添加新的SIC。用户在组装数控系统或进行二次开发时,可以将芯片库中检索出的SIC按照用户所要求的功能进行集成,并可以加入用户新开发的SIC一起组装,这样开发出的数控系统比以前节省较多时间,总体质量也有大幅度提高。

(2) 机床数控软件化结构体系

西安交通大学提出的机床数控软件化结构体系的开放式数控系统模型,其基本思想是采用工业PC机+基于PC的完备数字机床结构,在PC机上运行工艺软件,所生成的设备动作信息由串口(或Modem卡)传送给完备数字机床。完备数字机床接受

符合ISO标准的文字地址程序段格式、函数、样条、表格或逐点给出的伺服系统位置参考信号,它相当于允许用户自由定义插补算法,从而大大加强了两轴以上的多轴联动设备加工程序编制的灵活性,使数控机床加工复杂曲线(曲面)的能力、速度和精度都有所提高。

(3) 基于现场总线技术的开放式数控系统

现场总线技术可以将大量的并行信号转化为串行信号,利用双线电缆或光缆可以在上百台设备之间实时传递上千路的信号。SERCOS接口技术是数控领域应用前景十分广阔的现场总线技术,当前现场总线接口和数据交换大多遵循SERCOS协议。它的特点是可以将传统的数控硬件软件化,是建立开放式数控系统的坚实基础;它还可以实现更多的轴的同步运动,和更高的同步精度,在运动控制方面优于其它类型的现场总线[25,26]。

北京工业大学机械制造及自动化学科部现在已被德国SERCOS 协会授权为SERCOS 接口技术资格中心,该中心通过与德国SERCOS 协会、BOSCH集团下的Rexroth公司以及德国斯图加特大学在该领域的合作,研制出了基于SERCOS 接口技术的LINSERCANS软件(将软SERCANS移植到实时Linux)和数控横切机[27]。

国内众多厂家先后开发建立了自己的数控系统,总类繁多,功能也日趋完善。但是我国的数控技术与国外相比,仍存在很大差距,各机床厂商仍长期选用国外的数控系统。

1.4 课题的产生及意义

由于传统思维的影响,数控机床的研究方向一直局限于提高加工精度和自动化水平上,机床的数控系统只作为机床运动的控制器,一直以封闭的结构形式发展,使操作者的地位降低为机床的附属物,致使人们长期以来积累的劳动经验和决策创造能力得不到充分发挥。因此,研究开发开放式的数控系统是今后发展的必然趋势[28,29]。

目前,各个机床厂商及其他制造部门仍旧依赖外国的数控系统,如FANUC系统、Siemens系统、力士乐系统等。他们不但价格非常昂贵,而且开发使用也很不便,无法适应当前制造业迫切需求配置灵活、功能扩展简便、基于统一的规范和易于实现统一管理的发展需要。而且使用FANUC、Siemens等系统不能保护开发商的自主知识产权。

因此,开发具有特色、灵活的数控系统无论对控制系统的开发商、机床厂还是最终用户均有益处。对于控制系统的开发商而言,可以根据各个项目封装保密的程序代码或算法,灵活地增加各种功能模块。对于机床生产厂,他们可以根据需要配置合适的控制系统,将自己的软件集成到系统控制器中,形成自己的产品,而且可以对使用者实现必要的开放或保密。而最终用户的受益就更大了,可以随意地选择需要的产品,配置合适的功能部件,实现系统的集成和扩展,同时系统的操作和维护更加简单。在国际数控设备激烈的竞争环境中,开发出具有自主版权的国内一流的高性能数控软件,有利于推动我国数控技术和制造业的发展,缩短我国在此行业与发达国家的差距。我们迫切需要有自己的控制系统,以及适合国情的控制系统结构、硬件资源及软件工具。迅速开展我国开放式控制系统研究,是提高产品质量和性能,降低产品成本,缩短生产周期的关键。

本课题就是基于上述情形下产生的,开发灵活并具有自主知识产权的数控系统有重要的现实意义及经济效益。

1.5 课题的研究方法和内容

本文是以当今数控发展方向为前提背景,围绕开放式数控系统体系结构进行研究开发。建立起开放式数控系统体系结构框架,并以Delphi语言为工具,进行了开发。具体的研究工作主要从以下几个方面展开:

(1) 研究典型开放式数控系统的体系结构,分析他们的硬件、软件结构及开放性特点。

(2) 探讨多轴运动控制器的应用,以开放性和可扩展性为设计目标,用运动控制器和工控机构建数控系统的硬件平台。

(3) 进行开放式数控系统软件体系结构的总体方案设计,建立开放式数控系统体系结构基本框架。

(4) 进行参数模块的开发和设计,实现该模块的功能。

(5) 设计软PLC的基本指令、功能指令及解释程序。

(6) 进行NC模块的开发和设计,设计G代码解释程序、执行程序。

(7) 进行客户界面的开发和设计。

(8) 将设计的开放式数控系统在铣床上进行应用。

2 数控系统的总体设计

2.1 系统的设计目标

系统的设计目标是为用户提供一个开放的、基本的软件和硬件控制平台,它的开放性表现为硬件系统的开放性和软件系统的开放性两个方面。

(1) 系统的控制对象可以是任何厂家生产的机床,不限制机床的加工类型,可以为车、铣、刨床等通用机床配套,也可以通过加入或开发新的功能模块为特种加工、齿轮加工等专用机床配套。

(2) 用户界面的开放性,能够提供统一的风格的操作界面,实现操作的简洁性。同时,用户可以根据自己需要制定界面。

(3) 功能模块的开放性,用户或开发商可以根据自己的需要选择合适的功能模块,或是开发新模块。

该系统可以面对两种用户,一种是中间开发者,另一种是终端使用者。中间开发者可以根据终端用户的要求进行二次开发,通过权限密码将自己开发的内容对终端用户进行部分隐藏,从而对自己开发的部分进行保护。中间开发者使用该系统的重点在于软件部分,他的目的是争取100%的将自己的方案、构想以系统软件为实现工具非常方便、简洁、准确的变为现实,而这一点主要取决于系统软件的功能及开放能力。因此中间开发者对于系统的要求主要是系统软件方面开放能力。

终端用户是中间开发者的用户,他们使用该系统直接进行加工生产,而不考虑系统的软件结构及原理等,使用时只要掌握简单的操作并可以进行日常的机床硬件方面的维护就可以了。因此终端用户关心的是系统的硬件结构,为了方便系统的维护与使用,他们对于该系统的要求是硬件方面开放性。

2.2 数控系统硬件结构设计

2.2.1 系统硬件的总体设计及实现

本数控系统采用了IPC(工控机)+运动控制器的结构。上位机与GALIL多轴运动控制器之间直接通过串行总线接口连接进行通讯。工控机的CPU和GALIL运动控制器的CPU构成主从式双微处理器结构,两个处理器各自实现相应的功能,其中运动控制器主要实现前台实时控制(如:轮廓结构加工、插补运算、伺服控制)和外部接口部

件控制,工控机(IPC)实现后台管理及人机界面接口的开放方式、模块化数控系统。为了实现运动控制器的功能,我们还需要在GALIL板上扩展相应的I/O板、伺服驱动单元、伺服电机、编码器等,最终形成完整的数控系统[30-32]。系统硬件结构如图2.1所示:

图2.1 数控系统的硬件结构

Fig. 2.1 Hardware architecture of CNC system

各部分功能如下:

(1) 操作面板的功能

控制面板用于操作者的现场控制与状态显示,其逻辑功能由NC系统的PLC控制,完成面板的输入输出功能,包括专用控制输入/输出、专用指示输出等。控制面板主要分布有伺服启动/停止、数控启动/停止、急停等功能按钮。

(2) 工控机的功能

作为CNC系统的人机交互部分,采用硬件通用性好、功能强、性能稳定的工业控制计算机来完成,监控数控系统的运行,完成数控系统的管理功能。

(3) 机床电器控制部分

机床电器控制部分主要负责:系统总电源控制、急停、主轴冷却、系统冷却控制、系统液压控制、系统润滑控制、控制变压、伺服系统驱动控制、CNC系统电源控制。系统的强电控制采用空开、继电器、接触器三级控制。电器控制部分还为系统的其他部分提供相应的电源。

(4) 电机控制部分

此部分根据不同的电机类型,系统采用相应的伺服驱动模块,对于伺服电机,系统CNC部分的电机指令输出信号送入伺服电机控制器,然后由伺服控制器控制电机的运行。对于步进电机,CNC部分用输出脉冲经过变频器后驱动电机。CNC部分可在每个伺服周期通过伺服采样电机编码器的值或通过附件直接采样机械部分编码器反馈的值。

(5) CNC部分

数控装置是数控系统乃至整个数控机床的核心,它接收输入装置送来的数控加工指令信号,经由数控装置的系统软件或逻辑电路进行译码、运算和逻辑处理后,输出各种信号和指令,控制机床部件按规定要求动作。CNC部分主要包括运动控制器、伺服卡、I/O接口板等。它是控制系统的核心部分,它的执行速度、分辨率、功能决定着数控系统性能的优劣。

2.2.2 工控机的选型

本系统采用了研华610型工控机。该机具有如下特点:

(1) 硬件:主板NET-1611VD4N/CPU P4 2000MHz/KINGMAX RAM 256M/硬盘IBM40G/机箱1U上架型/PS-90W电源。该系统采用EIA RS-310C 19上架标准机箱,箱体为优质钢材标准机架尺寸,仅占1U的空间,整机具备良好的环境适应性,对于跌落、电磁干扰等的指标远高于国家要求。NET-1611VD4N为工业级的CPU主机板,主板已集成的4个10/100M自适应的以太网卡,符合IEEE802.3 10Base-T和IEEE802.3u 100Base-TX标准,支持负载均衡,适用于复杂的网络环境,对于目前的通信及网络安全行业的硬件需求十分吻合。并且采用工业级电源,具备宽电压输入能力,特别适应市电质量不高的地区,尤其适合我国国情。

(2) 具有丰富的PCI和ISA插槽。

2.2.3 运动控制器的选型

美国GALIL公司位于著名的加州硅谷中心,专业提供基于微处理器精密运动控制器。GALIL运动控制器主要有:DMC-1800、DMC-1842、DMC-9542、DMC-2182等,本文使用的是DMC-2182控制器。它是基于Ethernet/RS-232通信接口的独立型数字运动控制器,可以实现控制8轴的步进电机或伺服电机或者两者的任意结合。当需要8轴以上控制功能时,可通过Ethernet网络接口来实现。它的主要性能指标如下[33,34]:

(1) 32位处理器;2M FLASH用于存储用户程序及参数、变量、数组;2M RAM;

(2) 12MHz主编码器输入;每个轴都具有辅助编码器输入、原点返回输入、正负限位输入;

(3) 通用16/16的输入/输出点,此外还可以利用智能型I/O接口控制卡实现I/O的扩充;

(4) 伺服放大器和步进电机驱动器任意组合的驱动器接口;

(5) 具有点-点定位、JOG、直线/圆弧插补、样条插补、螺旋线插补、电子齿轮同步、电子凸轮、轮廓控制等多种运动方式;

(6) 支持两字符形象化指令、变量、数组、突发事件触发、多任务、VB、VC等编程方式;

(7) 支持DOS、Linux及当前所有Windows版本开发环境。

2.3 数控系统软件结构设计

2.3.1 系统软件的总体设计

本系统的运行环境Win2000,系统借助Windows友好的人机界面,在Win2000操作系统平台下,以Delphi编译器为基本软件开发和调试工具,在GALIL公司提供的通讯函数库及其驱动程序的支持下,完成控制系统软件的开发。

本系统软件的设计以与组件对象无关性为目标,通过设备驱动程序对硬件进行驱动,就象PC机对其外设接口的处理方法一样。虽然数控系统的外围电路不象PC的OEM外设那样有一定的标准,但同样可以通过一定的设备驱动程序把数控系统的外围设备如位控板、I/O接口板等的信息装入系统,这样在用户需改变数控系统的硬件时,只要改变其对应的设备驱动程序就可以使系统正常工作,从而使系统的升级和维修变得非常方便。软件本身要具有开放性,使得用户可以根据自己的特殊要求方便地增加

软件功能块。为了实现这个功能,软件系统都采用模块化的设计。各功能模块在多任务实时调度模块的协调下,通过特定的数据缓冲区交换信息。每个模块都是以面向对象方法而设计出的独立模块,除了对给定的数据交换缓冲区访问以外,相当于一个封闭的黑匣子,不会对其它功能模块产生影响。这就使得用户可以对这种数据结构和面向对象的方法编制所需的功能模块,加入到系统中去,也可以用自己编制的功能模块代替系统的功能模块。

本软件系统分为多个模块:参数模块、软PLC模块、NC模块等,如图2.2是数控系统软件模块及各个模块的内容。

图2.2 数控系统软件的模块化结构

Fig. 2.2 Software modular architecture of CNC system

2.3.2 系统中各模块的功能概述

(1) 系统调度模块

系统调度模块主要是各种模块的调度程序及人机交互功能。各种功能模块都能在良好的人机界面下灵活的调用,而且可利用高级语言中丰富的控件提供给用户方便的开发或操作环境。

(2) 参数模块

相关文档
最新文档