最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

基于模块化设计的开放式数控系统

发布时间:2008-11-25 来源:中国金属加工网
采用NC嵌入PC模式构建的开放式数控系统,是目前比较可行的一种开发方式。本文介绍了PCB钻铣床数控系统的硬件设计,以及基于COM组件的模块化软件设计,重点介绍了数控系统软件的实现。

    引言
   
    随着计算机软、硬件技术和信息技术的迅猛发展,数控系统逐渐由传统的专用型封闭式系统向灵活的开放式数控系统转变,力求解决变换频繁的需求与封闭控制系统之间的矛盾,从而建立一个统一的可重构的系统平台,具有模块化组织结构,允许用户根据需要进行选配和集成、更改或扩展系统的功能,以便迅速适应不同的应用需求。
   
    目前基于PC的开放式数控系统有3种模式:(1)PC嵌入CNC模式。这种模式无法直接利用通用的PC,开放性受到限制;(2)NC嵌入PC模式。这种模式是在通用PC的扩展槽中插入专用的运动控制卡,运动控制卡采用以DSP为核心的多轴运动控制技术,能够充分保证系统的性能,同时可以充分利用PC机丰富的软硬件资源,开放性好;(3)Soft型开放式数控系统模式。这种模式的CNC部分全部装在PC机中,硬件部分为插在PC机扩展槽中的I/O板,提供给用户最大的灵活性。但由于操作系统的实时性、标准的统一性以及系统的稳定性等一系列问题仍处于研究和实验阶段,尚未成熟。
   
    比较这3种模式,第二种采用NC嵌入PC模式构建的开放式数控系统,性能可以得到保证,软件的通用性又强,系统的开放性好,是目前比较可行的一种开发方式。
   
    1、PCB钻铣床数控系统的硬件结构设计
   
    随着我国电子工业的快速发展和集成电路的广泛应用,对印刷线路板孔位尺寸精度、孔本身的圆度,以及孔与焊盘的同心度的要求越来越高,传统的加工方法显然已不适应时代的要求。为了满足对大批量、高速高精度印刷电路板加工的需求,我们研制了将固高GT-SV-400运动控制卡插入IPC机模式的开放式数控钻铣床控制系统,这种钻铣床具有系统开放性强、运行速度快、控制精度高等诸多优点,适应印刷电路板加工业蓬勃发展的需求,有助于推动我国电子工业的发展。
   
    (1)运动控制卡特点固高公司生产的GT-400-SV是高性能的四轴伺服运动控制卡,可以同步控制四个运动轴,其核心是ADSP2181数字信号处理器和FPGA技术,前者采用哈佛结构和MAC单元主要完成复杂的运动控制算法,后者实现译码、倍频和脉冲分配等功能,因而可以实现复杂的多轴协调运动。控制卡以ISA为总线与IPC机相连,同时提供RS232串行通讯和PC104通讯接口,方便了用户配置系统硬件,该运动控制卡还提供了C语言函数库和动态连接库,便于用户开发适合自己需要的数控功能。
   
    (2) PCB钻铣床数控系统的硬件结构及工作原理开放式PCB钻铣床数控系统采用IPC机+多轴运动控制卡的分层式双CPU结构的控制方案,其中IPC机处理非实时部分,实时部分由插入IPC机的运动控制卡来实现。这样的数控系统既具有PC机的柔性,又具有控制卡良好的控制性,大大提高了系统的运算速度和控制响应速度。
   
    PCB数控钻铣床系统的硬件结构(如图1)采用固高公司GT-SV-400四轴伺服运动控制卡,同时对X轴、Y轴、Z1轴和Z2轴(双头双电机)电机进行实时控制,另外,采用8位通用型输出量信号控制两个高速变频主轴电机。换刀动作和断刀检测等信号量的检测与控制均由GT-SV-400的开关量输入输出信号控制。


图1 数控系统硬件结构

    双端口RAM具有数据总线和地址总线,可以同时并行访问不同的存储单元,这使得主从机之间可以快速地进行大容量数据交换,大大提高了主机与运动控制卡的并行处理能力,从而实现了真正的主从式实时通讯功能。
   
    (3)伺服驱动模块该数控系统中,采用4台YASKAWA SGML-04AF12伺服电机(带旋转编码器)和SGDL-04AS伺服驱动器,分别实现X向、Y向、Z向(双头双电机)的进给驱动;利用板卡自带的数字量输出口,采用变频调速器控制主轴电机。电机采用速度控制方式,信号连接选择差动输入信号、速度指令输入、模拟地和数字地等信号。
   
    2、PCB钻铣床数控系统软件结构设计
   
    该系统采用了“IPC +NC”的结构,系统软件设计借助COM组件,采用模块化编程结构,主要包括人机界面应用软件模块、控制卡核心控制软件模块系统配置模块和网络接口模块,其数控系统软件结构如图2所示。


图2 数控系统软件结构

    (1)人机界面模块人机界面模块主要用于实现用户的输入和系统的输出。用户的输入包括用户发出控制命令、设置系统参数等操作,而系统输出包括当前系统状态的在线显示。
   
    (2)核心控制模块核心控制模块包括数控代码解释模块、伺服驱动模块、插补模块、检测模块和通讯模块,它们通过内核程序协调来完成具体的任务。


图3 主从机通讯框图

    其中通讯模块是耗费工作量最大的部分,主要用来实现主从机之间的通讯,可利用GT-SV-400随卡提供的win98/2000下的设备驱动PHDIO.SYS和面向运动控制卡的高级函数库DTSVDLL.DLL来进行开发,其通讯示意图如图3所示,这样方便了用户的使用。
   
    3、数控系统软件实现
   
    数控系统软件程序在Windows2000下,采用Visual C++6.0面向对象语言进行基于组件的模块化开发,可实现系统软件的可重构性、可扩展性、可移植性和互操作性等特点。
   
    (1)系统参数配置模块系统参数配置模块包括运动控制卡参数配置和系统控制参数配置两部分。控制卡参数配置主要包括坐标轴映射、编码器方向、限位信号、误差限和伺服滤波等参数,配置界面如图4,这些参数位于板卡底层,直接决定了系统的性能;系统控制参数配置主要包括软限位、刀库位置和刀具状态等参数,刀具状态参数配置界面如图5,这些参数决定了系统运行状态。用户通过界面程序可对上述参数进行设置,并将形成配置文件controlcard.ini,当系统启动时控制卡信息参数自动被加载。

分页

 
图4 控制卡参数配置


图5 刀具状态参数配置

    以控制卡参数配置为例来说明,结构定义如下。
   
    / / ControlCard Info. h: interface for the CControlCard Infoclass
   
    #if ! defined (AFX_CARD INFO_H__A43B6890_894A_44A5_9DF8_26E13D2A3227__ INCLUDED_)
   
    #define AFX_CARD INFO_H__A43B6890_894A_44A5_9DF8_26E13D2A3227__ INCLUDED_
   
    #include "AxisInfo. h"
   
    #if _MSC_VER > 1000
   
    #p ragma once
   
    #endif / / _MSC_VER > 1000
   
    class CCard Info : public Cobject
   
    {
   
    public:double RefPointX; / /系统参考点
   
    double RefPointY;
   
    double RefPointZ1;
   
    double RefPointZ2;
   
    double ServoCycle; / /伺服周期
   
    intAxisMapX; / /坐标轴映射
   
    intAxisMapY;
   
    intAxisMapZ1;
   
    intAxisMapZ2;
   
    unsigned short L imitSign; / /限位信号
   
    unsigned short Encode2Sign; / /编码器方向信号
   
    unsigned long Irq; / /中断号
   
    unsigned long BaseAddress; / /基地址
   
    CControlAxisInfo ControlAxisInfo[ 4 ];
   
    CControlCard Info ( ) ;
   
    virtual ~CControlCard Info ( ) ;
   
    };
   
    #endif / / ! defined (AFX_CARD INFO_H__A43B6890_894A_44A5_9DF8_26E13D2A3227__ INCLUDED_)
   
    (2)系统运行主界面(如图6所示) 


图6 系统运行界面

    4、结束语
   
    本文采用深圳固高有限公司GT-SV-400四轴伺服运动控制卡构筑了开放式数控系统,基于COM组件的模块化软件设计,以PC机实现友好的人机界面、灵活的系统配置和增强的外部软件接口,提高了系统的运算速度和控制精度。该系统已成功被应用开发了印制线路板(PCB)数控钻铣床,该系统功能强大,可完成插补运算、位置控制等实时控制。该系统由于具有与Protel等CAD软件的接口,缩短了加工周期,提高了线路板的加工质量和效率。