当前位置:首页 > 抄板应用 > 数控系统 > 正文

五轴联动数控系统软硬件设计实例

更新时间:2015-12-25 16:39:39点击次数:973次

一、五轴联动数控系统的硬件设计

在五轴联动数控系统开发过程中,我们选择工控机作为设计的基础。工控机本身符合多种工业标准,是一种开放化的计算机系统,与常用的微机有良好的兼容性,有大量的软硬件的支持。目前工控机底板插槽总线类型主要有两种:ISA总线(工业标准总线)和PCI总线(外围设备接口)。ISA总线的数据传输速率比较低,但已能满足数控系统的需要。同时,高总线速率会对各功能模块的硬件提出更高的要求。因此,我们选用ISA总线作为所有模块设计的基础。

由于五轴联动插补算法复杂,有大量浮点运算,对实时性要求又较高,我们选用Pentium 166 CPU完成插补运算。另外,系统中各个坐标轴还需具备位置控制功能,位置控制实时性很强,且控制轴数比较多,该任务与插补共用一个CPU会导致数控系统主机负担太重,实时性不易保证,而且故障风险过于集中,较好做法是每根轴采用一个独立的CPU进行控制,采用层次式体系结构构成系统。根据位置控制CPU与主机交互信息方法的不同,分为两种结(见图1)。第一种结构把位置控制板直接插到工控机底板的ISA插槽中,在这种情况下,主机与多个位控板之间直接进行信息传输,由于位控板CPU速度低,数据通讯阶段会浪费主机CPU资源,控制轴数越多,主机CPU的效率就越低。此外,主机还需采取措施来保证多个位控板在时间上的准确同步。因此,我们选择了第二种结构。第二种结构采用单独的通讯机完成主机与位控板之间的信息传递。通讯机一方面通过双口存储器与主机之间进行信息交换,另一方面通过自建的局部总线与位控板进行信息交换。双口存储器容量为2kb,它同时也起数据缓冲器的作用。这种方案大大减少了主机用于信息交换的CPU时间。


 分布式多CPU数控系统的两种结构
图1 分布式多CPU数控系统的两种结构


通讯机在系统中起着承上启下的作用。它接收Pentium 166插补得出的各坐标轴位置指令,通过并行口把这些指令分发给位控板。另外,通讯机还提供对数控面板按键及指示灯的管理功能。通讯机的设计见图2。图中的仿ISA总线,提供了通讯机与位控板之间传输信息的通道。这时的“仿ISA总线”是根据位控板及常用控制插卡的需要而设计的,它重建了标准ISA总线的部分信号,包括:I/O操作所需的各种信号线、中断信号线、就绪控制、电源线等。按照“仿ISA总线”设计的位控板与标准的ISA总线完全兼容。这样做有两个好处:①在系统开发阶段,通讯机与位控板的设计和调试工作可借助微机各自单独完成,两者之间无先后依赖关系;②在控制轴数较少的系统中,可以采用图1 中的第一种结构,把位控板直接插到工控机的底板上,方便地实现对系统的重组。

系统重组

在设计过程中,在通讯机与位控板之间,我们曾采用了自定义的专用总线。专用总线效率高,但根据专用总线设计的位控板与工控机不兼容,互换性较差,开发、调试与维护都比较麻烦。为此,我们对这一部分进行重新设计,走开放化道路,采用“仿ISA总线”向标准总线靠近,收到了良好的效果。

二、数控系统软件的开放化设计

开放化数控系统的软件设计首先需要选择合适的操作系统和软件开发工具。目前常用的操作系统如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。时间片的划分及三部分之间的同步关系由通讯机进行控制。第一时间片开始时,通讯机向主机及位控卡发出同步信号,通知主机向双口RAM中写入新的数据,同时使位控卡开始位置控制运算。第二个时间片内,通讯机从双口RAM中取出位置指令,分发给各个位控卡,同时从各位控卡采集实际位置数据,写入双口RAM。

主机及位控卡的信息传输时间上的同步关系

主机软件主要由NC程序编辑模块、手动操作、电气控制模块、通讯模块、自动加工、机床参数调整、系统定位、螺矩补偿等功能模块构成。下面以电气控制模块为例说明软件模块的开放化设计方法。

电气控制是所有机床必不可少的一部分。在数控机床中,其实现方法有三种:外装式PLC、嵌入式PLC和虚拟PLC。市场上现有的各种PLC一般具有通讯功能,可以通过通讯接口与数控系统构成一个整体,这种电气控制方式称为外装式PLC;此外,也可以设计一个智能型I/O接口卡,通过总线直接与数控系统构成一体,卡上带有CPU,完成开关逻辑运算与控制,这种方式为嵌入式实现。也可以直接利用数控系统主机CPU周期性地进行逻辑运算,配合普通的开关量 I/O卡实现对电气开关的控制,这种方式称为虚拟PLC。

如果采用常规的程序设计方法,对于以上三种电气控制方式,就得设计不同的软件接口,数控系统软件主体就会直接涉及到电气控制的实现方式及其细节,一旦控制方式发生变化,将不得不对软件进行大量修改。这样编写出的软件通用性较差,难以适应预料之外的变化。为了增加软件与硬件之间的相互独立性,我们运用面向对象技术对系统进行了开放化设计。

显然,不论哪一种控制方式,其目标都是相同的。经认真分析,我们找出了三者之间的共同点,由此得出一抽象类CPlc,它提供了数控机床电气控制所有的外部特征,为数控系统主体软件提供了完备的消息处理函数,数控系统中其它部分只需向PLC对象发送消息(message)就可使电气开关做出相应的动作。该部分不涉及电气操作过程中的细节。

在抽象类CPlc的基础上,针对三种方式分别定义了派生类CExernalPlc、CEmbedPlc和CVirtualPlc,在这些类中,完成消息的解释及硬件的操作。按照这种设计思想得到的电气控制部分软件具有图4所示的结构。由图中可以看出,这种设计方法在数控系统主体软件与电气控制硬件之间加入了抽象类层次,使其相互依赖性减弱,成为相对独立的两部分。运用这种方法得到的数控系统软件具有与设备无关的特征。当有新的硬件设备出现时,只需在原抽象类上派生出新的对象类,按照共同的标准对消息进行解释,操纵硬件做出相应的动作即可,无需对软件其它部分做任何修改,大大提高了软件设计的效率,实际上,在对消息的数据结构及其意义做出明确的规范后,其它任何人都可以参照该规范设计出新的电气控制硬件及相应的驱动程序,集成入系统中。这也是软件开放化设计的主要目的。

软件开放化设计

本站热点
工业CT机PCB抄板克隆及维修保养案例分析
网络数控系统组成及硬件设计
五轴联动数控系统软硬件设计实例
四种数控应用系统功能简介
数控机床维护与注意事项
磨床数控系统
开放式数控系统中的无线通信技术应用
车床数控系统应用
CNC步进电机控制器
一体化闭环数控系统
论坛热帖
网络数控系统组成及硬件设计
数控系统结构分析
交流伺服驱动克隆
机床拖动中的变频调速
光电编码器原理与应用
CNC步进电机控制器
一体化闭环数控系统
切割机数控系统
开放式控制器(PMAC)软硬件结构分析
经济型数控系统硬件PCB设计探讨