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

基于Windows CE的开放式数控系统的研究与开发

发布时间:2014-07-01 作者:肖苏华 李迪 赖乙宗 万家富 冯寿廷  来源:万方数据
关键字:indows CE 开放式 数控系统 
上位机采用嵌入式实时操作系统Windows CE负责数控代码编辑编译仿真、故障诊断、I/O监控等弱实时任务管理,下位机采用自行开发的基于DSP&FPGA技术的运动控制卡负责插补、电机控制等强实时任务管理,是当前研发主从式结构的开放式数控系统的快捷、高效之路。介绍了数控系统中关键技术的理论原理和技术路线,并阐述了基于Windows CE平台的数控软件系统实现的方法,包括数控代码智能编译,数控代码的二维三维仿真,数控系统任务调度管理。

2 数控代码智能编译及仿真

  数控系统以代码为依据进行数控加工,数控代码是数控系统中的主要信息流,代码编译是把数控代码最终转化为数控系统能正确识别的信息,如脉冲量等。为了更好的验证数控代码的准确性,确保在加工过程中不会出现误切、干涉等现象,在实际加工前针对数控代码进行仿真,查看加工过程中的刀具轨迹位置点是否正确,查看加工后的效果图是否和零件图一致。因此数控系统中数控代码的编译和仿真是极为重要的功能模块,也成为数控领域的研究热点。文献阐述了借助于LEX&YACC词法语法分析工具来开发基于Windows的数控代码编译器,张承瑞等提出一个Linux下自主开发数控代码解释器的方案。数控代码的仿真主要有两种形式:几何仿真和物理仿真,几何仿真不考虑切削参数、切削力以及其它物理因素的影响,只仿真刀具与工件几何体的运动,以验证NC程序的正确性。而力学仿真属于物理仿真范畴,它通过仿真切削过程的动态力学特性来预测刀具破损、刀具振动、控制切削参数,从而达到优化切削过程的目的。在Windows桌面系统中,应用OpenGL技术路线实现数控代码三维几何仿真在文献中都有阐述。

  由于Windows CE采用了Unicode字符等原因,LEX&YACC等工具在Windows CE平台下不能使用。本文所开发的数控车床系统,采取了基于编译原理技术开发NC代码编译器。编译器包含了词法分析、语法分析、查错处理、代码转换等功能模块。建立好NC代码的词法规则,即可对代码第一次扫描时进行词法分析,无误后,再进行语法分析。语法分析是整个代码编译的核心模块,首先根据正规文法((3型文法)来制定NC代码的EBNF表示形式。如:<准备功能>::=G<1—2位数字>,<辅助功能>::=M<1-2位数字>,<进给速度>::=F<数字>,<主轴功能>::=S<1—4位数字>,<刀具功能>::=T<1—2位数字>。在词法和语法分析的过程中,一旦发现有错误或者异常,编译器能及时提示,甚至能智能的提醒用户如何更正错误的代码。编译器由于是自主研发,具备了高效率、方便扩展的要求,符合数控系统实时、开放的标准。例在数控车床系统中复合固定循环是用户使用最多的编程方式,如G71轴向粗车复合循环中,通过N(ns)和N(ne)来指定循环的起始和结束程序段的顺序号,在G70精加工循环指令中,G70P(ns)Q(nf)通过ns和nf来指定欲精加工的程序段。图3说明了本系统中对于G71、G70复合循环指令程序段指定不一致时的报错提示。

图3数控代码编译报错图
图3数控代码编译报错图 

  本文的数控代码仿真是采用几何仿真,具备二维刀具轨迹仿真和三维加工后效果仿真功能。对于数控车床的复合固定循环,在代码编译阶段通过获取循环的起始行号和终止行号来确定整个循环体,再根据进刀量、退刀量、零件图尺寸等参数根据自行设计的算法把整个循环加工的刀具轨迹点计算出来。二维刀具轨迹仿真采用Bresenham算法生成直线和圆弧,来仿真直线插补和圆弧的插补过程,图4为二维刀具轨迹图。三维效果仿真是采用Directx3D作为编程的接口,Directx3D是Microsoft公司为其在Windows系统上运行交互式三维图形程序而开发的一组编程接口,它是连接硬件、程序员和软件用户的桥梁。每个Directx3D部件都是用户可调用的API总和,通过它应用程序可以直接访问计算机的硬件。在Windows CE操作系统定制时,把Directx3D部分定制进入操作系统内核NK,并生成相应硬件的SDK,然后应用eMbedded Visual C++4.0开发工具进行3D等应用程序开发。本论文的数控系统应用Windows CE作为嵌入式操作系统,因此应用Directx3D技术作为支撑来实现零件的三维效果几何仿真比较方便。

图3数控代码编译报错图
 图4二维刀具轨迹图 

本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。