“数控技术与数控机床”课程数字积分插补教学辅助软件开发设计

2024-03-17 16:42陈良骥李慧莹
科技资讯 2024年2期
关键词:教学软件数控技术

陈良骥 李慧莹

摘要:针对“数控技术与数控机床”关于数字积分插补课堂教学环节学生难以理解的问题,在对数字积分插补算法深入挖掘的基础上,开发设计一种基于可视化编程语言的课堂辅助教学软件,利用该软件实现了数字积分插补过程。 该软件的开发与实际应用,可使学生在课堂上即可对插补方法有直观的理解和学习,进而达到提高学生学习效果的目的。

关键词:课程教改 数控技术 数字积分插补 教学软件

中图分类号:TG659

Development and Design of Assistant Software for Digital Integral Interpolation Teaching in the Course of "CNC Technology and CNC Machine Tools"

CHEN Liangji  LI Huiying*

(Guilin University of Technology, Guilin, Guangxi Zhuang Autonomous Region, 541006 China)

Abstract: In response to the problem that students find it difficult to understand digital integral interpolation in the class teaching in "CNC Technology and CNC Machine Tools", based on the in-depth exploration of the digital integral interpolation algorithm, a kind of classroom auxiliary teaching software based on visual programming language is developed and designed, and the digital integral interpolation process is implemented by the software. The development and practical application of the software enable students to have an intuitive understanding and learning of interpolation methods in the classroom, so as to achieve the purpose of improving their learning effect.

Key Words: Curriculum teaching reform; CNC technology; Digital integral interpolation; Teaching software

隨着制造加工技术的发展,先进加工技术迅速发展,数控加工成为当前加工技术的重要加工方法[1] 。数控加工操作原理的掌握是每位从事数控技术行业人员所必备的。数控技术从业人员的学生对数控技术了解的程度不一,往往需要在校学阶段成为一个真正合格的数控技术人员,但是,尽管如此,数控技术人员还是相当短缺,这也在一定程度上制约着中国精密数控加工制造业的迅速发展。也因此,中国国内外不少院校在机械类和工业自动化类的各学科中均设立了“数控技术与数控机床”这门必修课程。然而在实际的教学过程中,关于数控技术知识点的深入理解是学生遇到的难点问题。特别是数字积分插补原理[2-3],它是“数控技术与数控机床”教学中的一个重要环节,其方法抽象难懂也难以掌握,教师在教学过程中讲解起来也比较棘手,往往是教师明白怎么回事,但学生上完课后未必能深入理解。因此,让学生能够充分理解“数控技术与数控机床”课中的数字积分插补原理已逐渐成为一个重要教学改革课题。通过多年的教学经历可以发现:如果我们改变这种传统的教学模式,尝试一种在课堂上利用界面显示的方式,一是可以提高学生学习课程的积极性,二是能有效地提高课程的学习效果。为此,本文在探索“数控技术与数控机床”课程教学改革过程中,提出一种关于数字积分插补算法的软件设计与实现方法,为“数控技术与数控机床”课程中的后续教学环节手段的更新提供一种新思路、探索一种新途径。

本文基于Visual Basic(VB)可视化编程语言开发设计了数字积分插补方法的教学软件,介绍了数字积分线和圆弧插补方法的原理,制定出可行的数字积分教学软件的设计方法,利用时间控件的定时功能进行界面绘图,绘图时将待插补的直线或圆弧划分成能获得足够精度的大量微小直线轨迹段,然后使用Line画图控件结合时间控件的定时功能,间隔一定时间调用插补程序最终连续进行插补计算,画出待插补的直线、圆弧。由于VB编程语言设计比较灵活,使得数字积分法插补过程具有较好的实时性和动态显示性,开发设计的辅助教学软件较好地显示了数控逐步插补过程,效果良好、应用方便、通俗易懂,在教师课堂上可以极大的利于学生对数字积分插补基本原理和实现方法的深刻理解,同时利用软件实现的这种动态插补过程的仿真模拟又可以大大简化教师教学过程的设计,能更好地达到要求的教学培训目的。

1 VB简介

VB诞生由来已久,如今它不仅是一种可以执行计算类型的编程语言,而更是一种可在Windows 环境下进行面向可视化执行的开发工具[4-5]。VB语言是利用了面向对象的概念,将各类事件以对象形式呈现,降低了在Windows 环境下进行程序设计的复杂性,可使基于Windows的编程设计变得更加方便、简单以及快捷。同时,由于VB是一门基于结构化的编程语言,设计了大量的科学计算可视化窗口,在程序设计环境中,它创建了菜单、窗口、对话框、按键、滚动条和消息框等Windows应用程式的标准用户界面和各种控制对象,同时还拥有了一套可视化程序设计方法,使编程人员在程序设计时,可以在短暂的工作时间内编程并设计出较为复杂的应用程序视窗界面。VB还是采用基于事件驱动的程序设计机制的语言,无论是小型的应用程序系统,还是大型企业的应用程序系统,更甚至可以针对基于Internet的应用程序系统,都可以从 VB 编程语言所提供的各种类型功能中获取,同时VB具有功能强大而且可以灵活使用的编译器和调试器,通过编译器的编译,编译系统可在编译、解释后,生成Windows系统下的可执行文件,如此即便脱离了VB编译系统环境,编制的应用程序仍然可在Windows环境下顺利运行;VB还具有高度的可扩充性,既能支持任何第三方软件开发者针对具体问题开发出可视化的控件对象,又能支持开发者顺利访问Windows自带的动态链接库中的*.dll文件,实现利用链接库中的应用程序接口(API)进行编程,从而增强VB的编程能力,支持对象链接与嵌入(OLE),可以开发出集声音、图像、动画等对象于一体的应用程序。因此,本文选用VB作为数字积分插补辅助教学软件开发平台。

2 数字积分插补简介

数字积分插补器又常被称作为数字微分分析器(Digital Differential Analyzer, DDA),是在传统数字积分器基础上经过数学公式演变而得到的一种新型的插补算法[6-7],DDA插补在本质上仍是一种脉冲增量插补运算。DDA插补法是依据高等数学中的微积分几何定义,将各类函数的求取积分的运算转换为对自变量微小化划分为一些列微小变量,在微小变量范围内对函数值求和,再求取出极限的运算过程。由上述求取积分的运算过程中可以看出,在对函数求取积分的过程实质上是对微小变量的累加结果作出近似逼近。基于上述原理,可以将数控机床的脉冲当量视为微小变量,当其值在足够小时即可采用上述近似求取积分的方法使用求和求极限运算代替比较复杂的求积分运算。通过近似逼近的程度可以将积分运算的误差始终保持在加工允差范围之内。DDA插补是用数字积分思想的要领来对刀具沿各坐标轴的移动量进行计算和谋划,进而可使刀具能在加工时沿着既定的弧线轨迹进行切削运动。能实现数字积分插补计算与谋划的这种装置就被称为数字积分器。现代数控领域中的数字积分器已可以采用软件来实现。DDA数字积分插补方法在实际插补时具有运算速度较快,脉冲分配更均匀,无论是对一次还是二次的弧线轨迹均可进行插补运算,而且易实现多轴联动的轨迹控制模式,因此在数控系统与数控加工技术领域都得以广泛应用。

图1所示为某函数的积分原理图。设该函数为Y=f(t),欲求该函数在(t0,tn)区间里的积分,从数学角度来讲实质上是需要计算出该函数f(t)的函数曲线与求积分区间(t0,tn)的时间段之间的面积。

通过将横轴t的求取区间段分割为间隔为△t的大量微小区间段,当△t的取值足够微小时,该函数f(t)的函数曲线与时间横轴t之间的面积即可近似计算为函数曲线下诸多微小长方形面积之和,即

上式中,Yi为函数f(t)在ti时的函数值。

根据式(1)可知在函数f(t)求取积分的过程中,完全可使用诸多微小长方形面积不断做累加运算以近似计算得出。为简化计算过程,通常的做法是将式(1)中的△t假设为一个基本单位量“1”,因此有

成立。由此可见,复杂的求积分过程最终可简化为对函数值的累加过程。

针对上述分析,可以将数字积分插补过程设计为累加运算、获得函数值以及求积运算三部分(如图2所示),将基本单位量△t和函数值寄存器里的函数值乘积运算后不断与之前的乘积进行累加,最后输出一个累加值△s。DDA数字积分器的工作原理和过程可表述为:每间隔一个△t时间,向积分器不断发送插补计算脉冲序列,通过与门的打开不断地将函数寄存器里的函数值向累加器做累加运算,由于累加器存储的容量有限,经过累加后的数值若,超出累加器容量时,则会向外溢出脉冲。在不断累加后所产生的溢出脉冲总数即为所求函数的近似积分值。

为体现本文插补辅助教学软件的设计思路,现分别介绍直线和圆弧插补软件实现的基本原理。

2.1 DDA直线插补软件实现

设待插补直线的终点坐標为(Xe,Ye),时钟器定时控制,每隔一定时间就向Jrx、Jry积分寄存器进行累加,若哪个寄存器溢出,则对应的轴进给一次,各轴的进给相互对立,进给一次后要对终点进行判断,到达终点则结束,否则继续。根据以上描述,可设计出直线插补软件的实现流程图(如图3所示)。

2.2 DDA圆弧插补软件实现

设待插补圆弧的终点坐标为(Xe,Ye),同时输入圆弧起始点后,开始运行,时钟器定时控制,每隔一定时间向Jrx、Jry积分寄存器进行累加,由于x,y坐标到达终点的时间不同,对x,y坐标所输出的脉冲数分别计数,每执行一次作一次判断,当到终点时即插补结束,插补流程如图4所示。

3 DDA插补轨迹实现方法概述

在计算机图形学中,用以实现动画仿真的现有技术主要包括:(1)多界面切换技术;(2)图段变换技术;(3)帧动画技术[8]。

多界面切换技术的实现机理为在主显示界面与当前工作界面之间不断进行界面的切换,从视觉效果上看形成动态变化的效果。

图段变换技术的实现机理为图段在屏幕上显示的位置基于时段做出改变,用以实现图段在不同时刻有运动的效果,达到视觉上的图段的连续位移,形成图段随时变换的动画仿真效果。

帧动画技术的实现机理则是开辟缓存空间用以存储每帧图像,将即将显示各帧图像在缓存内进行直接加或减的运算并填写运算后的图像颜色信息,运用运算结果对排列好顺序的各帧图像进行切换和填写,进而实现将相应图像在屏幕上以动态形式仿真显示出来。

综合上述几种实现插补轨迹动态显示技术,由于本文需设置插补计算脉冲,结合VB软件自身的定时功能,最终在实现的教学仿真软件中采用了图段变换技术来实现DDA插补器插补轨迹的动态仿真显示。

深入分析Visual Basic 6.0(VB6.0)后,总结出可在VB6.0上实现插补轨迹的三种方法[9]:

(1)使用VB6.0软件中自带的图形绘制功能,编程人员可以根据实际情况的需要,在软件程序运行过程中不断的进行所需图形的绘制。

(2)结合VB6.0软件具有的循环绘图功能,首先将待插补曲线在定义范围内分割成一定数量连续顺序序列点,再使用VB6.0软件具有的Pset功能和循环功能,将分割出来的连续序列点在屏幕中绘制出。由于连续序列点的数量众多使得任意相邻两点间距足够小,当达到视觉误差允许要求时,该待插补曲线即可视为众多连续序列点的有序排列。

(3)在此基础上再使用VB6.0软件的定时器Timer控件,实现不同插补脉冲时动态效果的显示,具体做法是将待插补的曲线利用VB6.0软件的Line功能将上述众多连续序列点连接起来形成诸多微小直线段,结合Timer控件的定时功能,在显示窗口中不断地對这些微小直线段进行动态绘制。同样,当这些微小直线段有足够多的数量时即可最终形成待插补曲线,此时,待插补曲线又成为众多微小直线段的连续有序排列。

以上三种实现动画仿真显示的方法具有其各自特点:第(1)种方法是图形绘制领域最常见的一种方法,实现起来也较简单但不足之处是各类几何元素(如点、线、圆)的绘制是在某特定时刻产生的,并不利于动态仿真显示效果的呈现,同时显示的实时欠佳;第(2)种方法在实现方面同样较简单,对基本几何元素亦可产生较好的动态仿真效果,同时存在的不足之处是该方法在动态仿真效果的实时性方面差强人意;第(3)种方法实现起来较为复杂,但优点也很明显,具备动态仿真效果的实时性,在已知待插补曲线轨迹方程的情况下,能较快绘制其图形,具有较好的实时动态显示特性。

基于上述对三种显示方法的分析和比较,数控加工的待插补曲线轨迹的仿真需要具备插补轨迹的实时动态显示以及对当前插补点位置的实时动态显示,使用第(3)种方法绘制待插补曲线轨迹及插补轨迹并进行动态仿真会取得更佳的效果。综上,本文采用了第(3)种方法在VB6.0中实现插补轨迹曲线的动态模拟显示。

4 插补辅助教学软件实现

基于VB编程实现了本文的上述数字积分插补教学辅助软件,软件运行后选择所要的插补类型,点击进入直线插补演示工作界面如图5所示。

假定输入起点为(0,0)、终点(4,6),图6模拟了完成全部插补的动态过程。

在课堂教学过程中,为方便学生的直观认识,也可以实现单步的插补暂停的功能。在插补时先绘出被插补的直线,单击“绘出直线”,先把该插补的直线绘出来,然后点击“插补直线”即由时间控件的定时器控制直线一步一步插补,插补的过程中可以暂停,点击“暂停”按钮即可,如图7所示。插补暂停后也可以继续,实现方法是:暂停时主要是把时间控件的定时器暂停运行,把其属性值 “Timer1.Enabled = false”若要继续,再把Enabled属性改为true。

同样的方法可实现数字积分圆弧插补算法,只是不同的是,圆弧需要输入起始角度,输入的角度为360°制,圆弧插补的运行效果图如图8所示。

5 结语

本文是数字积分插补教学软件设计,文中对原理的描述比较详尽,在结合VB程序设计的特点,设计出操作可行的数控插补计算教学辅助软件,软件功能上添加了对插补过程的实时动态动画模拟,对数控插补过程进行了较好的动画动态显示效果。在课堂上教师可以利用该数控插补教学辅助软件,将数字积分插补器的实时插补过程在窗口界面上比较直观的显示出来,便于学习插补原理的初学者理解记忆。在实际教学过程中,该辅助教学软件能在课堂教学过程中帮助听课的学生较快掌握数字积分插补的计算过程和插补原理。同时,动态的插补模拟演示简化了抽象的教学过程,可起到较好的教学效果。

参考文献

[1]  邓春华.数控技术在机械加工技术中的应用探析[J].内燃机与配件,2023(6):84-86.

[2]  李恩林.插补原理[M].北京:机械工业出版社,1984.

[3]  WANG D W,ZHANG C,XI X.A Novel Interpolation Method for Cutting Trajectories in Spatial Coherent Cutting Machine[J].Journal of Physics:Conference Series,2022,2395(1):1-7.

[4]  邱李华,郭全.Visual Basic程序设计教程[M].北京:人民邮电出版社,2009.

[5]  陈爱萍.Visual Basic程序设计实验教程[M].北京:清华大学出版社,2010.

[6] 游达章,谈太振,张业鹏,等.DDA圆弧插补算法改进研究[J].现代电子技术,2021,44(3): 87-90.

[7] 崔林,王士军,郝树萌.基于DDA和最小二乘法插补的激光洗水加工技术设计与实现[J].机床与液压,2019,47(7):85-88.

[8]  DIMITRI K,AGATHE L,ANTOINE L,et al.Surgical Management of Hypertelorism:The 3D Animated Technical Note[J].The Journal of Craniofacial Surgery,2023,34(1):391-392.

[9]  程东,张崇波.基于VB 6.0的载荷布置标识曲线绘制程序的设计[J].北京汽车,2019(3): 28-31.

猜你喜欢
教学软件数控技术
传承·创新·引领:虚拟教学软件在高中生物学教学中的应用与推广
虚拟教学软件在高职院校汽车维修实践教学中的应用
数控技术在矿山机械制造中的应用探讨
智能制造与先进数控技术的发展
基于HTML5的凸轮廓线图解法App教学软件研究
基于AR的国家开放大学计算机专业体验式教学软件的设计开发
VR技术在三维角色动画教学软件中的应用研究
香港大学生普通话学习的环境、语言态度及教学软件的应用——焦点小组访谈研究
数控技术在汽车底盘生产中的应用
机械制造中数控技术的应用研究