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

研究嵌入式数控系统体系结构

发布时间:2014-04-19 作者:朱志红 杨凡 周会成 
本文阐述了基于嵌入式处理器的数控系统体系结构,分析了该体系结构下数控系统的硬件和软件平台的组成,介绍了嵌入式P C和实时Linux操作系统的数控系统应用实例。

  嵌入式数控系统软件体系结构

  嵌入式数控系统软件体系结构如图2所示:

 嵌入式数控系统软件体系结构

  图2 嵌入式数控系统软件体系结构

  嵌入式数控系统软件体系结构分为系统平台和应用软件两大部分。上层应用软件分数控应用程序接口(NCAPI)和操作界面组件两个层次,以分别实现对机床厂和用户这两个层次的开放。

  底层模块除了PLC之外的部分是不对外开放的,非系统开发者可以通过NCAPI使用底层的功能。底层模块完成插补任务(粗插补,微直线段精插补,单段, 跳段, 并行程序段处理);PLC任务(报警处理,MST处理,急停和复位处理,虚拟轴驱动程序,刀具寿命管理,突发事件处理);位置控制任务(齿隙补偿, 螺距补偿,极限位置控制,位置输出);伺服任务(控制伺服输出、输入)以及公用数据区管理(系统中所有资源的控制信息管理)。因此必须具有多任务的处理能力,即;任务建立;撤消;调度;唤醒;阻塞;挂起;激活;延时的处理能力;创建信号量;释放信号量;取信号量值的能力。

  上层软件负责零件程序的编辑、解释,参数的设置,PLC的状态显示,MDI及故障显示、加工轨迹、加工程序行的显示等,通过共享内存、FIFO和中断与底层模块进数据交换。上层软件模块包括:解释器模块,MDI运行模块,程序编辑模块,自动加工模块,参数编辑模块,PLC显示模块,故障诊断模块等等。

  数控应用软件开发接口(NCAPI)是为针对不同的机床和不同的要求而提供的通用接口函数,在此之上可以方便地开发出具体的数控系统,如华中I型铣床数控系统,世纪星车床数控系统等。NCAPI与原华中I型提供的API接口保持一致。统一的API保证系统的可移植性和模块的互换性;系统开发集成环境中的配置功能可以通过配置不同的软件模块实现系统性能的伸缩性,系统性能的伸缩性则通过更换系统硬件得以保证。

  应用实例

  按照上述嵌入式体系结构的层次划分,本文开发了基于嵌入式PC和LINUX操作系统的嵌入式数控系统。

  CPU采用嵌入式PC单元,通过PC104总线嵌入到数控主板中。在数控主板上,继承了开关量接口电路,MCP、MDI键盘接口电路,进给轴接口电路以及主轴接口电路。各接口电路由核心器件FPGA芯片集中控制。为满足CNC装置对开放性的要求,数控主板采用双FPGA设计。一个FPGA芯片负责控制开关量接口电路,MCP、MDI键盘接口电路,主轴接口电路,串行口伺服驱动装置接口电路;另一个FPGA芯片负责控制脉冲量伺服驱动装置或步进电机驱动装置接口电路,模拟量伺服驱动装置接口电路。两个FPGA芯片通过PC/104总线嵌入式PC机控制。利用FPGA芯片的灵活性,在不改变硬件电路的情况下,通过改变FPGA芯片的固件,以及两个FPGA芯片灵活搭配,可以构造出不同配置的数控装置。

  操作系统是通过改造Linux内核使其成为实时操作系统。具体方法是:在Linux操作系统中嵌入一个硬件抽象层,接管所有中断和对硬件的操作。由于Linux采用整体式的模块化结构,数控系统任务中需要实时响应的任务做成数控实时模块,嵌入到Linux内核中,这些任务包括:伺服监控、PLC、位置控制等周期任务和插补这个非周期任务,刀补、译码和网络基本功能打包成数控应用程序接口。

  在实时Linux软件平台的基础上,应用软件平台包含的离散点I/O控制API、传感器API、位置控制器API等接口为通用API接口。应用程序层包含的过程控制、人机界面及系统集成与配置支撑环境三部分只需要用实时Linux操作系统相关系统API替换相应的模块通信接口即可,上层应用模块可以不做修改。同时,应用软件平台具备良好的开放性,用户可自定义API来扩充系统功能支持,本文在应用平台层自定义了一个数控图形库API,用来支持数控系统的图形显示功能。

  结语

  本文提出的这种开放的嵌入式数控系统体系结构,在硬件上,标准的总线屏蔽了各功能部件差异,不同功能的数控硬件通过标准的信号规范来定义。在软件上,嵌入式实时操作系统为数控应用软件提供了系统接口,屏蔽硬件细节,提供实时、可靠、多任务的运行环境。软件体系结构总体上分层,使得体系结构清晰明了;层内按功能模块化,尽量减少模块耦合,使得软件复用性很好,有利于数控系统功能裁减和系统维护。既保证了硬件平台的开放性和稳定性,也使得软件移植和设计更加方便。  

2