1 概述
从MIT开发出第一台三轴铣床数控系统到现在的四十多年中,数控系统的设计方法经历了巨大的变化。特别是近十年来,随着计算机技术的迅猛发展,数控系统从整体结构到详细设计,从软件设计到硬件设计,都与早期的数控系统有了很大不同。早期的数控系统出于效率的考虑,许多功能采用硬件电路实现,专用性很强,可维护性、可扩展性比较差。另一方面,通用计算机的运算速度随时间以指数规律不断提高,现在一台微机的运算能力已经达到或超过了早期的小型机,而且,通用型微机应用广泛,有完善和开放的标准,有众多外围硬件设备和丰富的软件资源的支持。借助微机进行数控系统的开发可以达到事半功倍的效果,因此成为目前数控领域的国际趋势。
五轴联动数控系统联动轴数比较多,同时又涉及到两个回转运动,插补算法复杂,而且其各组成部分,如伺服驱动单元、位置反馈单元、误差补偿、电气控制、机床机械结构等在不同的应用场合有不同的特点,在系统整体设计时对此应有充分的考虑。目前,多数数控系统不能满足这种多样性的需要,对不同的应用场合,就得选用不同型号的数控系统,这势必增加开发与维护费用。研究开放式数控系统及其功能部件,就可以根据用户需要,比较容易地对整个数控系统进行重新组合,以提高系统的可移植性、可伸缩性、可维护性和兼容性。
2 数控系统硬件的开放化设计
2.1 硬件设计的一般原则
传统数控系统的硬件设计分为两个流派:采用专用芯片的大板结构与总线式体系结构。大板结构对用户而言是一个封闭的系统,功能的扩展与系统维护都受到限制。总线式结构有一定的灵活性,但由于这种总线由生产厂自己确定,缺乏共同的行业标准,不同厂商的产品之间不具备互换性,所以,这种设计方法已不适应现代制造业的需要。另一方面,随着计算机技术的发展,微机的速度与十几年前相比是天壤之别。在这种形势下的软硬件设计中,人们关注的重点出现了由效率向互换性、可维护性转移。受其影响,在数控系统的设计进程中,由大板结构或专用总线向标准总线、可重组的单元模块发展成为国际趋势。
硬件设计的开放化主要体现在总线标准上。开放化的数控系统是由多种模块构成的,模块通过标准的总线连成一个整体。总线的选择应当满足三个要求:①在技术上有一定的先进性,能够满足数控系统各种功能模块对信息交互的需要。②总线标准完全开放,且在国际上得到广泛认可与应用,而不是由某个厂商自己定义使用的某种特殊总线标准。③具有高度的可靠性。
选择了合适的总线标准后,才能进行各功能模块的设计。在数控系统中,主要的功能模块有:运动轴位置控制模块、电气控制模块、机床操作面板及数控面板接口模块、通讯模块、显示模块等。功能模块应当能够重新配置,以免不同模块I/O端口地址及中断类型发生冲突。
2.2 五轴联动数控系统的硬件设计
在五轴联动数控系统开发过程中,我们选择工控机作为设计的基础。工控机本身符合多种工业标准,是一种开放化的计算机系统,与常用的微机有良好的兼容性,有大量的软硬件的支持。目前工控机底板插槽总线类型主要有两种:ISA总线(工业标准总线)和PCI总线(外围设备接口)。ISA总线的数据传输速率比较低,但已能满足数控系统的需要。同时,高总线速率会对各功能模块的硬件提出更高的要求。因此,我们选用ISA总线作为所有模块设计的基础。
由于五轴联动插补算法复杂,有大量浮点运算,对实时性要求又较高,我们选用Pentium 166 CPU完成插补运算。另外,系统中各个坐标轴还需具备位置控制功能,位置控制实时性很强,且控制轴数比较多,该任务与插补共用一个CPU会导致数控系统主机负担太重,实时性不易保证,而且故障风险过于集中,较好做法是每根轴采用一个独立的CPU进行控制,采用层次式体系结构构成系统。根据位置控制CPU与主机交互信息方法的不同,分为两种结构(见图1)。第一种结构把位置控制板直接插到工控机底板的ISA插槽中,在这种情况下,主机与多个位控板之间直接进行信息传输,由于位控板CPU速度低,数据通讯阶段会浪费主机CPU资源,控制轴数越多,主机CPU的效率就越低。此外,主机还需采取措施来保证多个位控板在时间上的准确同步。因此,我们选择了第二种结构。第二种结构采用单独的通讯机完成主机与位控板之间的信息传递。通讯机一方面通过双口存储器与主机之间进行信息交换,另一方面通过自建的局部总线与位控板进行信息交换。双口存储器容量为2kb,它同时也起数据缓冲器的作用。这种方案大大减少了主机用于信息交换的CPU时间。
图1 分布式多CPU数控系统的两种结构 通讯机在系统中起着承上启下的作用。它接收Pentium 166插补得出的各坐标轴位置指令,通过并行口把这些指令分发给位控板。另外,通讯机还提供对数控面板按键及指示灯的管理功能。通讯机的设计见图2。图中的仿ISA总线,提供了通讯机与位控板之间传输信息的通道。这时的“仿ISA总线”是根据位控板及常用控制插卡的需要而设计的,它重建了标准ISA总线的部分信号,包括:I/O操作所需的各种信号线、中断信号线、就绪控制、电源线等。按照“仿ISA总线”设计的位控板与标准的ISA总线完全兼容。这样做有两个好处:①在系统开发阶段,通讯机与位控板的设计和调试工作可借助微机各自单独完成,两者之间无先后依赖关系;②在控制轴数较少的系统中,可以采用图1中的第一种结构,把位控板直接插到工控机的底板上,方便地实现对系统的重组。 |
图2 通讯机设计原理 在设计过程中,在通讯机与位控板之间,我们曾采用了自定义的专用总线。专用总线效率高,但根据专用总线设计的位控板与工控机不兼容,互换性较差,开发、调试与维护都比较麻烦。为此,我们对这一部分进行重新设计,走开放化道路,采用“仿ISA总线”向标准总线靠近,收到了良好的效果。 3 数控系统软件的开放化设计 开放化数控系统的软件设计首先需要选择合适的操作系统和软件开发工具。目前常用的操作系统如DOS、Windows 3.1、Windows 95、Windows NT等均被应用到数控系统中。DOS本质上是一种单任务操作系统,在DOS下的多任务只能通过中断技术来实现。数控系统各软件功能模块一般不能同时执行,若要同时执行,需自行解决模块之间的调度问题。但DOS的规模很小,人们对DOS的了解比较多,在DOS上开发应用程度相对容易。Windows 3.1是一种非抢先多任务操作系统,可同时完成多个任务。其缺点在于某个任务,如任务A得到CPU资源时,其它任务是否能顺利执行完成取决于A是否能及时处理完其本次事件,因此实时性没有保证。Windows 95和Windows NT都是性能优异的抢先式32位多任务操作系统,操作介面良好,就功能而言,适合数控系统的需要。但在工业场合使用,其稳定性有待证实。综合考虑的结果,我们选择了DOS操作系统。与此相应,我们选择Turbo C++ 3.0作为软件开发工具。 |
图3 数控系统各进程之间的关系 主机软件主要由NC程序编辑模块、手动操作、电气控制模块、通讯模块、自动加工、机床参数调整、系统定位、螺矩补偿等功能模块构成。下面以电气控制模块为例说明软件模块的开放化设计方法。 |
图4 电气控制软件的抽象化设计 上面以PLC为例说明了数控系统软件开放化设计的思想。我们按照这种思路完成了数控系统的软件设计。虽然在开发初期反复做了多次分析讨论,但在系统结构确定后,软硬件开发还是比较顺利的。从开发过程和联机调试情况来看,开放化设计可以有效缩短软件的开发周期,提高数控系统软件的质量。 |