D语言在机械加工和数控测量中的应用

(整期优先)网络出版时间:2024-01-31
/ 2

D语言在机械加工和数控测量中的应用

王国栋

哈尔滨东安实业发展有限公司,黑龙江哈尔滨  150066

摘要:D语言是一门新兴的通用计算机编程语言,由著名计算机语言专家Walter Bright设计并实现。其设计目标是为了让程序员通过较短的学习曲线就得以掌握一门高效、安全、可面向硬件及系统级API的高级语言,从而避免c语言开发的繁琐、C++语言繁杂的特性及冗长的学习曲线。

关键词:D语言,机械加工,数控测量

D语言提供了完善的语言机制,如自动内存管理等语言特性,来尽量减少程序开发过程中出现的诸如内存泄漏、缓冲区溢出、类型安全等问题。并且保持了与C语言的二进制接口的兼容性,可以方便地在D语言程序中使用现成的c语言函数库。在机械测量及加工中,经常需要利用计算机对特定问题进行分析、计算,掌握一门计算机语言十分有利于这类问题的解决。

1、D语言内涵的相关概述

D语言其实是一种通用计算机程序语言,威力强大、功能丰富,支持多种编程范式,例如面向对象,最初于2001年发布,意图改进C++语言。最新D语言被简称为D2,最主要的D语言的实现是DMD。D语言源自C/C++,借鉴了众多编程语言的特色和现代编译器技术,融会贯通了设计者丰富的实践经验,使之具备了非凡的威力,不仅有C/C++语言的强大威力,同时还有Python和Ruby的开发效率。它集众多系统级编程所需的功能于一身,例如垃圾回收、手工内存操作、契约式设计、高级模板技术、内嵌汇编、内置单元测试、Mixin风格多继承、类Java包管理机制、内置同步机制、内建基本运行时信息。

2、测量计算软件的开发

2.1开发平台及开发工具的选择

根据目前的实际情况,开发平台选择最通用的Windows操作系统,这可节省使用者大量的软件学习时间,便于软件的快速推广应用。D语言是一个十分优秀的开源编程语言,在Win—dows平台下的成熟度非常高,且开发库丰富,辅助开发工具完备。其标准库Phobos具有完整可靠的数学函数库,足以完成测量计算软件的计算功能。D语言属静态编译型编程语言,其二进制代码生成质量高,运行快速、稳定。在GUI库上优选DFL(D forms library)框架库。DFL库由Chirs miller设计并实现,DFL是专门针对D语言设计的Windows平台原生GUI库。其生成程序体积小巧,代码完全开放,没有使用授权费,并且拥有功能完整的GUI bulider名为Entice Designer,可以快速建立软件界面,节省大量开发时间。鉴于上述优点,我决定使用它们来实现测量计算软件。

2.2界面设计

界面设计的主导思想是功能清晰,使用方便,数据输入快捷,信息输出丰富,做到用一个软件,实现多项计算功能。整体结构采用目前较流行的多标签对话框式程序界面,按功能模块分页,自带实时浮动帮助,可根据用户输人焦点的停留位置,实时给出相应的操作信息,辅助用户正确使用软件功能。软件按照不同的计算功能分成三大计算模块:①工件装夹模块。这个模块主要用于进行与工装设计、工件位置相关的计算,由于数控测量实际上就是对工件装夹后进行空间定位的过程,所以也放入这个模块。②切削参数计算模块。这个模块主要用来进行各种刀具在进行切削时所需要的各种参数的计算,比如主轴转速、进给速度、线速度、攻螺纹底孔直径等参数的计算工作。③ 其他计算模块。这个模块主要进行单位换算,各种材料的重量等相关计算。

2.3相关算法设计

软件中各个计算功能的公式与参数大多数取自机械工业出版社出版的《机械工人常用计算手册》,部分刀具的切削参数取自《机械工人切削手册》。数控找正测量的相关算法则利用了几何学原理推导而来。由于计算功能过多,限于文章篇幅,仅以数控找正测量计算与攻螺纹计算作为例子来描述D语言编程算法的设计过程。数控找正测量计算功能的目的是利用数控设备,比如数控铣,加工中心的坐标显示能力,通过寻边器测出被测工件上的一些关键点,将这些关键点的坐标值输入软件。通过软件的计算处理,最后输出所希望得到的空间尺寸值,比如孔、圆弧的中心点,平面与基准面夹角,圆弧中心与某些平面的距离等数据。

3、实际应用

3.1机壳找正

将待测电机机壳摆上工作台,首先利用百分表与测量软件配合将机壳找正:在机壳端面卜用百分表接触任意两点,百分指针分别碰零。将屏幕上的机床位置数据输入上述软件对应的数据输入框中,点击“数据输出框”得到所需要的结果。在这里要使用软件的亢线夹角计算功能,由于是要得到端而在机床XZ平面卜与X轴的夹角,所以要在程序y轴输入框处输入机床Z轴的值。

              QQ截图20231113135709

图1 机壳找正计算结果

软件计算结果表明,要将机壳顺时针旋转6.6741°,机壳端面才会与机床主轴垂直。当前机床工作台B轴角度为1.294°,顺时针旋转6.6741°后为7.968l°,按此数据旋转工作台后,打表验证,机壳端面与士轴乖直,证明软件计算无误。用同样的方法找IE两垂直方向。

3.2测量机壳端面止口圆心与半径

使用光电寻边器(如图2所示),在止口内圆表面找出任意3点,得到其坐标值,将坐标值输入软件进行计算。根据程序输出的结果可知,止口圆心坐标为X766.916。Y425.105,半径为299.919mm(寻边器测头半径为5mm,需在结果中加入)。

                   QQ截图20231113140911

图2 使用光电寻边器测量内圆

3.3测量抱轴螺孔平面与止口圆心距离

使用寻边器测出抱轴螺孔平面坐标,通过测量,得到x轴坐标为341.72。用之前测量得到的止口圆心坐标的x值776.916减去此值得到此平面距止口圆心距为435.196mm。可图2使用光电寻边器测量内圆以看到,这样一个过去需要制作辅助测量块才能进行间接测量的尺寸,现在通过软件与机床的结合就町以直接、准确地得到。同理,利用寻边器,通过测量抱轴孔圆弧上的3个点来得到抱轴孔不完整圆弧的圆心坐标及半径。得到的抱轴孔三点坐标分别为:x11385.412,y11491.014;x22396.742,y22438.914;x33383.772,y33351.414,计算得到圆心坐标为:x=199.875 mm,y=423.384 mm;半径为202.478mm。

利用这些数据可以准确得到抱轴孔不完整圆弧的圆心位置、半径,并通过端面止口中心位置数据计算得到它们的中心距为570.006mm,且两圆心还有0.3478°的夹角。以往要得到这些数据是非常困难的,需要进行二次划线,且测量的精度也无法保证。

结语:D语言作为一种新兴的计算机开发语言,其功能已经比较完备,且具有与C/C++语言相类似的语法,但其更简单,类型机制灵活,无需程序员手工管理内存的分配与回收。内建多种安全机制,比如契约式编程、函数托管、去除无类型检查的宏等,可以在极大程度上减少程序BUG,减轻程序开发人员的思想负担,大大缩短学习曲线,减少程序开发的难度。

参考文献:

[1]李培畅.计算机程序设计的多应用型开发探讨[J].哈尔滨职业技术学院学报,2023,(05):145-147.

[2]胡尔西代姆·伊米提.计算机程序设计中C#和汇编语言混合程序设计研究[J].电脑编程技巧与维护,2022,(02):20-22+47.

[3]申屠永强.对计算机语言编程思想的构建分析[J].电脑编程技巧与维护,2021,(04):28-29+39.