时间:2024-08-31
吴富民,海莲,曹宇
(北方民族大学,宁夏银川,750021 )
数控技术是数控机床控制系统中的关键,数控机床的蓬勃发展是国家实现工业自动化的基础。G代码作为现在最常用的数控代码,在数控机床控制系统的搭建和自动化生产线的建设中起着重要的作用。数控机床的控制系统在未来的发展趋势是开源的及面向大众化、模式化、标准化的发展方向。对于数控机床控制系统未来发展趋势是否开源式,相关研究学者都有着自己的看法。但总的来说可移植性、互操作性、可扩展性、可互换性是数控系统未来发展最基本的特征。基于STM32芯片的雕刻机数控系统使用C程序实现数控系统功能的全软件式数控。
数控GRBL代码解释器是全软件式数控系统的核心。现在几乎所有的工厂中数控机床通常使用G代码来控制机床对工件的加工,如工件加工时的走刀、温控系统的开启、参考坐标系的选择等。G代码能为控制系统能提供加工时需要的数据块。G代码解释器的开放性、可移植性、易读性、高效性也是为什么说G代码能成为生产线自动化的基础。
雕刻机控制系统的核心是实时性,因为整个控制系统需要实时操作硬件(即步进电机、光源和散热器)。在所有的CNC系统中使用的实时操作系统由操作系统+实时反馈信息系统(负反馈)组成。为了能够实现开放式CNC数控系统对雕刻图形和雕刻速度等通用操作系统的要求,满足其实时性要求。
我们小组详细地讨论了雕刻机数控系统的总体架构;得出的结果是利用函数指针和G代码关键字函数表来控制雕刻加工。这样很不仅解决了G 代码解释器词法解释中的关键字分解问题而且提高了系统整体的实时性和稳定性。除此之外我们还提出了按照功能对G代码的指令进行分组,借鉴标准G代码分组语法表来构建符合本系统的指令分组。这样能为数控G代码的语法检查中两条或两条以上指令不能同时出现在同一条G代码中提供了有益的参考。
G代码处理语言不像Arduino语言那样复杂也不像汇编语言那样可读性差,它的语言现象十分简单。考虑到控制系统的效率和实用性,本系统将词法分析和语法分析结合在一起。提高运行效率的同时完全不影响系统的适用性。在实际操作中,证明了该方法的实用性、有效性和可扩展性。
一般的G代码表现形式为:[Nnnnn]Gnn[X[±]nnnn.[john][y],[+nnnn.[john][with][+nnnn.[][]W+NNNbrother.[john][i][+nnnn.[john]〔j[±〕nnnn.[john][k+][nnnn.[john][d[+]nnnn.nnn][Tnnn][Snnn][Mnn][Fnnnn];虽然这个表达式没有涵盖G代码的所有语言现象,但可以从表达式中得出以下结论。
(1)G代码的一般表达式为:关键字+数字+(空格)+结束符;(2)G代码的关键字并不多,主要有N,G,X,Y,Z,W,I,J,K,R,M,S,T,F等,在实际的过程中,机床制造商和用户可能对关键字进行扩展;(3)不同的关键词对应的G代码的语法分析和词法分析有不同的要求。在实际控制系统中,预处理模块移除空白、注释和小写字母后,G代码可写成:小写关键字+数字。如x10;(x正向移动10)y-8;(y反向移动8) ……。在扫描每行G代码数据的过程中,读取指令字符和对应的数值,字符的ASCII值对应G代码关键字函数名在函数表中相应的位置,然后根据位置在G代码关键字函数表中找到相应的处理函数。基于字符的ASCII码调用相应的处理函数来处理一一对应的指令,并将处理后的字符的数值发送给控制系统实现对电机的控制。在32F2中的G1处理读取G;根据G代码的ASCII值,可以在函数G代码关键字的函数表中分析对应的函数;调用分析G1来处理G1(如读取值1并执行分组处理等),处理结束。
基于雕刻机STM32数控系统的雕刻机控制系统未来发展一个十分具有前景的方向,STM32F1有丰富的软硬件资源,具有很大的灵活性。该系统就是利用了32单片机的软硬件资源实现的,它采用AD绘图硬件,利用了现代操作系统的虚拟内存特性,可多任务同时运行特性以及C语言的可移植性和强大的表达功能,实现了对 G代码各项功能进行详细解释,全部代码用标准的C语言写成,具备良好的可读性、可移植性、开放性和跨平台特性。尽管该系统是在上位机下实现的,但它仍然具有良好的模块化特性,系统结构简单易懂,实用性强,运行速度快、雕刻效率高。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!