关键词:三轴连动、 数控系统 、PC
基于PC的开放式数控系统大致可分为四种类型 :
PC连接CNC型
该类型系统是用通用的串行线将现有的原型CNC与PC相连而组成的。该系统容易实现,原型的CNC几乎可以不加修改地进行利用。也可使用通用的软件,但是其原型CNC不能实现开放化,并且系统的通讯、响应速度慢。
PC嵌入CNC型
该类型系统是将PC装入到CNC内部,PC与CNC之间用专用的总线连接。系统数据传输快,响应迅速,同时 ,原型CNC系统也可不加修改就可以利用,但是不能直接地利用通用PC,开放性受到限制。
NC嵌入PC型
该类型系统是在通用PC的扩展槽中插入专用的CNC卡组成的。它能够充分地保证系统性能,软件的通用性强,并且编程处理灵活。
全软件型NC
该类型系统是指CNC的全部功能均由PC进行处理,并通过装在PC的扩展槽的伺服接口卡对伺服驱动等进行控制。其软件的通用性好,编程处理灵活。但是,实时处理的实现比较困难,并较难保证系统的性能,同时原型CNC资源难以利用。
本系统着眼于经济型数控机床控制系统的设计,选择NC嵌入PC型进行开放式数控系统的开发研究。以PC机+运动控制器为控制系统核心,系统的控制轴数为4轴,联动轴数为3轴,驱动元件为步进电动机。本系统在Windows环境下用C++语言实现,软件的设计采用面向对象的设计方法。
系统硬件结构
运动控制器的选择
运动控制器,就是利用高性能微处理器(如DSP)及大规模可编程器件实现多个电机的多轴协调控制,具体就是将实现运动控制的底层软件和硬件集成在一起,使其具有电机控制所需的各种速度、位置控制功能。这些功能能通过计算机方便地调用。本系统采用以DSP运动控制专用芯片MCX314为核心的运动控制器。MCX314芯片是日本NOVA电子有限公司研制的DSP运动控制专用芯片,性能优良,接口简单,编程方便,工作可靠,可广泛应用于数控机床、机器人等领域的运动控制。
芯片能与8位或16位数据总线接口,通过命令、数据和状态等寄存器实现4轴3联动的位置、速度、加速度等的运动控制和实时监控,实现直线、圆弧、位元3种模式的轨迹插补,输出脉冲频率达4MHz。每轴都有伺服反馈输入端、4个输入点和8个输出点,能独立地设置为恒速、线性或S曲线加/减速控制方式,并有2个32位的逻辑、实际位置计数器和状态比较寄存器。MCX314芯片主要功能结构如图1所示。

I/O接口设计
以MCX314芯片为核心的运动控制器通过ISA总线实现PC机与运动器之间的信息传递,每个轴分别由脉冲输出信号、通用输出信号、方向限制信号、停止信号和编码器输入信号构成数字接口。脉冲输出接口直接与步进电机连接,控制电机运动;编码器输入接口接收来自电机上编码器的反馈数据,实现半闭环控制。运动控制器占用16个连续的ISA总线I/O地址空间,分别用于数据的读写、指令写以及状态寄存器的读写。硬件组成如图2所示。

2.3 系统硬件工作原理
1台PC机、标准键盘、鼠标器和CRT彩色显示器组成。PC机作为整个系统的主控制器,实现人机界面管理、NC文件编辑和预处理及加工监控等功能。NC文件的手工编辑和操作指令的输入由标准键盘完成,而CRT彩色显示器则用于显示人机界面实现加工过程的二维轨迹动态显示。运动控制器以MCX314芯片为核心,以8位数据对MCX314芯片进行控制。MCX314的时钟频率由外部设定。本系统选用MCX314默认的16MHz频率作为时钟信号。ISA的数据线经双向驱动与MCX314的数据线相连接,由MCX314内部决定其数据具体送往哪一个寄存器。
系统软件结构
软件平台-的选择
Windows具有操作界面友好、程序开发相对容易、开发程序可移植性好等优点,同时具有高精度的实时响应特性和抢占式多任务调度机制,因此在Windows下开发实时多任务系统具有天然的优势。Windows有两个有利于数控系统实现的特点:首先,提供高精度的实时响应。这种实时功能是基于中断的,不需要与硬件打交道,而且可同时使用多个实时事例。实时响应的精度很高,完全能满足数控技术的要求。其次,支持多线程。线程是32位操作系统的主要特点,它具有一系列的优点。对数控系统来说,最有用的特征是它支持抢占式的多任务机制,实时响应速度高,而各线程之间互不干扰。便于功能的扩充与剪裁。在Windows下实现数控系统,可充分利用这两个优点。因此,Windows操作平台是一个首选的软件平台。
编程语言平台的选择
编程语言与软件开发效率、运行效率密切相关,本系统采用 C++语言,运行在Borland C++ Builder环境中。C ++ Builder是一个面向对象的可视化编程平台,应用于3 2位Windows应用程序的快速开发。在C + + Builder中编程,可以实现用最小的代码开销编写出高效率的Windows应用程序。
软件结构实现
系统软件分为两部分:一部分是主控模块,分为参数配置、程序、加工、手动、显示、图形等模块;另一部分是以MCX314芯片为核心的运动控制器部分。主控模块与MCX314通信,读取其寄存器的状态值,并根据系统的状态,向MCX314发送相关的控制指令,两部分密切相联。系统启动后,将根据系统的配置文件中的设置,加载配置文件。然后启动系统的主控模块,与MCX314进行通信,读取芯片的寄存器参数,并将相关的值传输到显示模块中。
调用程序模块:进行数控加工程序段的编辑或文件的传输。
调用加工模块:可以对选中的数控程序进行译码,然后将译码后的指令传输给MCX314,由MCX314运动控制器发出相应的脉冲指令,控制各轴电机的动作。
调用手动控制模块:系统处于手动状态,按下各轴的手动控制键,MCX314运动控制器将向相应轴的电机发送脉冲指令,使其动作。
调用图形模块:用于在加工程序前,校验加工程序是否符合图纸要求,调用此功能,将在屏幕上模拟加工出当前程序的加工图形,同时,在加工过程中,调用此功能模块,将以图形化的形式显示刀具的运行轨迹。
运动控制器软件设计
系统使用C++ Builder对MCX314的指令系统进行了重新的封装,通过主控程序与该封装后的运动控制器程序的通信,实现预期的动作。利用C++ Builder对其进行封装,该程序模块具有很好的开放性,程序模块分为define.h、mcxfunc.c和mcx314.c等三部分。
为了描述和编程方便,根据运动控制器电路及MCX314寄存器和指令系统的功能含义,定义了相关的变量到define.h文件中。程序中根据状态寄存器的各位的意义分为轴的运动状态位、轴的停止状态位、轴的出错状态位、中断源标志位等四类,分别用于对读写的代码作出定义。例如:
//轴的中断源标识位
#define STA_INT_PLS 0x01 //pulse
#define STA_INT_PGCM 0x02 //P>=C-
#define STA_INT_PLCM 0x04 //P<C-
#define STA_INT_PLCP 0x08 //P<C+
#define STA_INT_PGCP 0x10 //P>=C+
#define STA_INT_CEND 0x20 //C-END
#define STA_INT_CSTA 0x40 //C-STA
#define STA_INT_DEND 0x80 //D-END
对MCX314运动控制器的功能封装,实现了三轴联动的功能,并且能够通过调用软件提供的直线、圆弧插补函数,对各运动轴的状态读取,实现数控系统的运动控制功能;同时提供的工作模式函数,可以实现自动与手动的切换;软件提供的通用输入输出功能可以实现数控系统对机床的切削液、自动刀架和电动夹具的控制,可以取代传统数控机床的PLC控制部分,节省硬件成本。
主控模块设计
系统的主控模块主要负责调度各功能模块,实现系统的初始化、参数的管理、数控程序的编辑、手动功能实现、加工状态的显示和与MCX314进行通讯等功能。系统启动的时候,调用参数配置模块,实现系统的初始化。同时,在系统运行时,用户可以随时调用参数管理,对相关的系统参数进行修改。系统初始化结束后,将进入显示模块,对数控系统各项功能进行实时显示,并对指令作出相应的动作。在本系统中,我们利用标准键盘,对其部分键进行了功能定义,如F7定义为加工模块的调用、F8为程序模块的调用、F9为图形仿真模块、F10为显示位置模块、F11为手动模式和F12为参数设置模块。同时,又定义F1~F6为各功能模块的子功能的切换键。原理框图如图3所示。

人机界面的开放
用户界面作为人机接口起着重要作用。良好的用户界面能够方便地处理各种经常进行的交互对话,并且操作简便,提高效率。
系统的显示界面
显示当前机床的运行状态,如机床的指令位置(即逻辑位置)、实际位置、进给速度及切削液开关等。在系统运行过程中,可以通过按动位置(键盘设定为F10)即可进入该功能。其运行界面如图4所示:

用户输入输出界面
该模块实现用户的输入、系统的输出。用户输入的主要功能是让用户输入数控代码,发出控制命令,进行系统的参数配置。用户输入的代码采用ISO标准数控代码。图5所示为用户程序输入、编辑的界面图形:

系统的参数设置界面
用于设置系统与机床相关的参数,如机床的机械行程、最大进给速度、是否有编码器、是否启用软限位及软限位的数值和X轴方向编程方式(直径编程还是半径编程)等,通过设置这些数值并将这些数值存储到相关的配置文件,系统可以在初始化的时候调用上一次保存的配置。在操作中,如果相关的参数有了改变,则可以即时调用初始化程序作出改变。
系统的仿真加工界面
本系统建立了线程TrdGraphic,利用编译器提供的TCanvas类为基类建立了一系列的图形类,如CShap(建立加工工件的图形)、CTool(加工刀具的图形)等。图形仿真时,读取数控加工程序并在屏幕上绘出刀具及工件的二维仿真加工图形,用户可以将图形放大、缩小观看加工的细节。


结束语
本数控系统控制功能较强,可实现三轴联动控制功能,能够进行三轴直线插补和任意两轴的圆弧插补;具有友好的人机界面。采用Windows风格界面,用户不需要进行特别的培训即可很快的进行NC文件编辑与处理,实现了数控系统的主控模块、显示、自动加工、手动、参数设置、仿真和程序编辑等功能。
开放式数控系统以其极大的优越性,已经成为未来数控系统的发展趋势。采用PC机总线结构和模块功能,可以为软件开发和功能扩展提供优良平台,使数控系统有更好的通用性、柔性、适应性、扩展性,并向智能化、网络化方向大大发展。






