基于Windows CE的数控软件开发与实现
摘要:本文介绍了嵌入式Windows CE 系统在数控加工应用领域的平台定制,提出了在Windows CE 下的嵌入式数控加工系统的软件架构,探讨了嵌入式数控软件主要功能模块及其关键实现技术。
0 引言
传统的数控系统是一种专用的、封闭体系结构的CNC系统。各数控厂家出于商业利益的需要,在数控系统的设计上形成各自独立的标准和体系,造成数控系统硬件平台的专用性,软件结构的不可移植性。这种封闭型和单一性严重影响了数控技术的发展和普及。嵌入式设备及其操作系统的出现,有利于打破现有数控系统的封闭性,形成开放式数控
系统设计模式。嵌入式系统的种类有很多,应用较广的有Windows CE、Linux等。WinCE 是一种为多种嵌入式系统和产品设计的紧凑、高效、可升级的操作系统。WinCE 采用标准模式,其最主要的特征是为有限的硬件资源提供了多线程、多任务和完全优先级的计算环境 [1]。本文探讨了在Windows CE系统下,如何开发高效稳定的嵌入式数控系统。
1 Windows CE系统内核的定制
嵌入式系统上应用软件的开发离不开底层系统的支持,Windows CE 系统下应用程序架构如图1 所示。
图1 Windows CE系统下应用程序架构
由于应用环境的多样性,需要对Windows CE 系统做不同的内核定制。可采用微软公司的Platform. Builder 集成开发环境,针对数控加工应用的特点,添加、删除和修改某些系统模块,包括添加串口通信支持,FAT 文件支持(以支持U 盘快速传送G 代码文件),ActiveSync 支持(与PC 宿主机的通信支持)等。此外,还应将注册表模式修改为HIVE 模式,以备掉电后将数据存放到FLASH 中保存。
2 嵌入式数控系统软件结构
采用模块化设计有助于构建清晰的程序框架,提高协同开发能力和编程效率,增强代码的复用率。嵌入式数控系统软件模块划分如图2所示。
图2 上/下位机软件模块划分
数控系统使用者首先在PC 机上完成零件模型建立和编辑,生成加工代码文件。然后将NC 代码文件传输至嵌入式数控平台。在嵌入式平台上完成对NC 代码的数据挖掘,提取数控加工信息并传送至下位机处理器。下位控制器利用其高速运算的能力,完成插补运算和伺服电机控制。
Windows CE 系统在上位机运行。Windows CE 系统非强实时性系统,因此实时性要求较高的任务(如刀补运算,插补运算),均放在下位机运行。而像人机交互这种实时性要求不高,但事件机制较复杂的任务,则放在上位机实现,以Windows CE 系统的内核支持来降低交互式操作开发的难度。
3 主要功能模块及其关键实现技术
3.1 人机界面模块
人机界面模块是用户与数控加工平台交互的接口。人机界面包括如下操作:加工代码的编辑和保存;各种系统参数的设定;加工过程的同步动态仿真;获取数控设备的位置,速度,故障信息,反馈给用户;文件操作等。
Windows CE出于精简内核的需要,对传统的WIN32 图形库改动较大,较多图形类API被移除。在实际开发中为满足图形显示需要,需要自写绘图函数。数控仿真用到的绘图函数主要有:曲线绘图类(圆弧,抛物线绘制)、绘图区动态缩放、图形的保存与重绘。可将以上函数通过测试后封装成库,在主程序中调用。
3.2 加工指令编译模块
数控加工指令主要是由完成各种准备功能的G 代码和辅助功能的M 代码组成。译码器的作用是读入已编辑好的数控代码,对指令进行词法和语法检查,提取刀位特征,生成刀位文件,最终转换为驱动加工模型运动的数据。译码的方式可分为两类:解释模式和编译模式。
解释模式:将G 代码分割为若干小段,每段包括3-4行。以段为单位,解释完本段G代码后,随即调用刀具补偿模块,完成刀具补偿。之后把这段经过处理的代码发送下位机,进行插补控制。解释模式具有简单、易行的特点,能够方便地在加工过程中动态插入指定代码。其不足之处在于译码效率较低,代码的串行发送又极大地限制了加工效率,而且人为地分割G 代码也破坏了代码原有的统一性。
编译模式:预先对整个G代码文件进行编译,生成临时代码文件。之后将整个代码文件发送到下位机。在下位机上调用刀具补偿模块,对代码进行刀具补偿。编译模式能够较好地解决固定循环指令,子程序以及各种跳转指令的问题,维护代码自身的统一性[2]。由于是统一编译,统一执行,加工效率也比解释模式高,故译码器的设计上采用编译模式。译码器的编译流程如图3 所示。
(1)词法分析:扫描NC 程序,判别是否有不可识别字符。如果有,则给出错误信息。
图 3 译码器编译流程图
(2)语法分析:规则与匹配的问题。针对数控程序特点,检查输入代码合理性。若检查出错误组合,则给出错误信息
软件开发 实现 数控 CE Windows 基于 相关文章:
- 嵌入式软件设计中查找缺陷的几个技巧(03-06)
- SPARC高性能处理器集成开发环境及其编译器设计与实现(02-14)
- 基于Mobile的手机流媒体实时图像浏览客户端的软件设计(09-25)
- 嵌入式软件三大潜在问题及其测试技术(01-13)
- 嵌入式系统集成开发平台的设计与实现(01-15)
- CriticalBlue公司与飞思卡尔合作并简化多核软件开(09-12)