时间:2024-06-05
陈强 杨爽
摘要:针对手工编制数控程序教学过程中,学生易在关键字词法、参数使用等方面犯错的实际情况,我们开发了一套教学辅助编辑器。编辑器能在编程时进行实时词法分析,显示报警语句,约束学生规范书写格式,加深对关键字的理解,有利于学生课外独立练习,达到提升教学效果的目的。
关键词:数控加工编程 编辑器 教学
手工编制数控加工程序是数控技术专业学生必须掌握的核心技能,一般采用项目化教学,通常由教师宣讲数控系统编程规则、常用程序代码,然后指导学生规划加工工艺,进行程序实现,最后带领学生仿真验证、试切、真实加工。项目化教学由于案例真实,能引起学生的兴趣,知识点模块化,能帮助学生系统地学习,但是在操作过程中,仍存在如下问题,影响教学效率和质量。
一是学习初期,或因对代码撰写规则不熟,或输入笔误,学生常犯词法错误,如循环指令“WHILE”,漏写字母;指令“GO(0、1、2之0)”,误输入为“GO(0、P、Q之O)”。二是常犯语法错误,如法拉克系统程序开头漏写程序号,结尾漏写百分号。三是常犯语义错误,如不同平面的圆弧指令,乱用、混用I、J、K、R參数;不同的数控系统,混用特定指令等。四是学生易犯工艺错误,如使用了不合适的主轴转速、进给速度等等。
上述问题往往只有在使用仿真软件验证或上机调试时才能发现。而仿真和上机调试,虽有报警,但有时报警内容过于简略,加上汉化翻译原因,字面意思与原文本意相差甚远,使得初始阶段的学生不能理解问题之所在。而且报警提示经常不能定位到具体哪段程序存在问题,进一步加大了排除难度。如频繁查阅相关资料,则大量时间被用于程序译读、词法、语法核查上,学生不能将更多的精力用于锻炼工艺规划能力;花费大量精力编制的程序,如频频报警,也打击了学生兴趣。而且参数误用易产生安全隐患,导致事故。过多精力被用于帮助学生解决上述问题,也不利于教师更关注于提升教学质量。
目前市场上虽有面向企业用户的商用类编辑器,能对词法、语法问题用颜色标示,但不能针对学生群体情况,对各种问题分门别类地报警提示,无法提升学生的程序编辑能力。且在学校时,手工编程时普遍使用的还是文本编辑器。
一、数控程序辅助编辑器设计
1.编辑器功能
针对上述问题,以法拉克数控系统铣削为模板,开发了一套数控程序辅助编辑器,其功能目标为:识别常用关键字词法规则,对输入数据不符合规则情况,即报出对应警示信息;在满足词法规则的前提下,能判断输入数据是否处于合理范围;同时,编辑器具备定制、扩展能力,为兼顾更多类型数控系统预留接口。编辑器详细功能如下。
(1)数字机能A-Z。字母后可跟任意有理数,如XIO、X-10.2,可跟参数,如X#10。当不是上述数据时,立即报警提示。数字可设定区间范围,超范围报警。如设定X轴移动范围为-200~200,如输入“X200.1”,报警。设定“#”参数#300~#400可用,输入“X#401”时,报警。
(2)准备机能G。字母后可跟00~99中任一数字,首个数字“0”可省略,如GO、GOO、GOI、G1。可跟正分数,如G10.1、G54.1。可跟参数,如G#10。不是上述数据时,即报警提示。可制定指定机床G代码清单,输入代码不在清单内即报警。如A机床识别G20,但B机床不识别,则可针对A机床和B机床定制G代码清单。“#”参数可定制范围。
(3)辅助机能M。字母后可跟00~99中任一数字,首个数字“0”可省略,如MO、MOO、M98。可跟参数,如M#10。可制定指定机床M代码清单,输入代码不在清单内即报警。“#”参数可定制范围。
(4)主轴机能S。进给机能F:S字母后可跟零和正整数,如S10、S1000。F字母后可跟零和正整数、正分数,如F100、F100.5。可跟参数,如S#10,F#100。数字可设定区间范围,超范围报警。如设定主轴转速不能超过3000,当检输入“S3001”时,报警。“#”参数亦可设定范围。可设定主轴S和进给F之间的比例关系,超比例报警提示。
(5)语义分析功能。可检测固定循环代码所需参数是否齐全或多余。可检测刀具号、长度补偿号、半径补偿号是否在设定范围,防止误用。
2.编辑器构架思路
根据数控系统要求归纳常用关键字书写规则,形成词法规则库。编辑器运行时,首先读取规则库,存入缓存备用。词法规则库可根据数控系统单独定制,使编辑器具备一定的兼容能力。
当编辑器输入页面接收到字符输入信号时,即在规则库中搜索,判断该字符是否为数控系统具备的关键字首字符。如为否,则在信息栏弹出报警提示信息。如为是,则输入界面每接收到一个输入字符,便在规则库中检索数字、公式规则,判断是否满足规范,并依规弹出报警信息,直至键入另一个关键字首字符或空格,结束判断。如此循环直至整个数控代码撰写完毕。
3.编辑器实现
编程平台使用VS2015,新建为多文档项目,可创建出输入界面,由输入界面接受键盘键入字符信息。添加对话框作为报警信息栏,与用户进行信息交互。使用CView类中OnChar函数,响应键入字符行为,并开始词法分析。
二、编辑器应用和使用效果
1.编辑器应用
编辑器可用于“数控机床编程与操作”类课程的全过程教学阶段,尤其是在初始阶段使用,更能发挥作用。应用可分以下几个步骤。
教学准备:教师针对特定机床定制编辑器规则库。
教学初始阶段:讲授工艺规划、编程规则,以简单案例作为实训内容,安排学生实训。在实训过程中要求学生根据编辑器报警提示,完成编程工作。
教学中期阶段:学生已有编程基础,教师以更复杂的工件案例,讲授更高层次的代码使用规则。要求学生以文本文档编写程序,编写后导入辅助编辑器,查看报警内容,加深学生理解记忆。
教学末期阶段:教师给出实训案例,学生根据己学知识,在辅助编辑器的帮助下,自学部分内容,完成工艺规划、程序编制、加工。教师观察整个过程,适时指导。
2.编辑器使用效果
以笔者班级学生为例,从时间跨度约半学期的使用经历来看,编辑器在以下几个方面能起到较好的辅助教学作用。
(1)在程序编辑初始阶段,尽可能降低了安全风险。由于编辑器可根据现场实际机床定制一些工艺要求,约束程序表达的机床行为,因此可识别安全隐患,不合理的工艺参数并报警。如根据机床、刀具等数据,可约束Z轴加工时的行程范围。当学生使用了错误的长度补偿号时导致Z轴行程超限时报警,可避免撞刀。还可约束主轴转速和进给速度间的比例关系,当输入不匹配的两个数据时报警,可避免粘刀、刀具快速磨损等现象发生。
(2)学生程序编辑时间明显缩短。由于不用担心词法、语法、部分工艺问题,因此给予了学生编制程序的信心,且能将更多精力用于工艺规划上。程序在机床上运行一次通过率高,也让学生较快地获得成就感,大大提升了学习兴趣。
(3)由于初始阶段已对安全隐患进行了初步排查,因此降低了教师担心安全事故的压力。且编辑器己帮助学生解决大部分常犯、易犯错误,教师的精力被节约出来,可用于与学生探讨更复杂零件的加工工艺、机床操作方面更深层次的技术手段等问题,最终提升了整个课程的教学质量和效率。
三、小结
据统计,与切削过程相比,数控程序编制时间占了整个数控加工过程的大部分比例。确定工艺路线、工艺准备、程序编制、仿真试切削是数控加工的几大工作内容,因此缩短程序编制时间,尤其避免词法、语法类低级错误,具有较大意义。教学中使用辅助编辑器,能帮助学生快速进入工艺设计状态,避免陷入无用的查错过程,帮助学生树立信心,最终提升教学质量。
参考文献:
[1]覃海,开放式数控系统宏程序编程平台的研究开发[D].南宁:广西大学,2005.
[2]韩向春,数控系统程序编辑器的设计与实现[J].制造业自动化,2004(26).
[3]郑阿奇.Visual C++实用教程[M].北京:电子工业出版社,2017.
(作者单位:乐山职业技术学院)
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!