在研究了螺旋锥齿轮齿顶倒棱的理论基础上,以 FAGOR CNC 8070-OL 数控系统为开发对象,介绍了螺旋锥齿轮齿顶倒棱软件的开发流程。软件的人机界面设计使用 VB.net 跨平台开发,参数计算逻辑程序使用 C++语言编写,软件所需的各项参数以 ACCESS 2010 作为数据支撑,利用发格系统自带的 FGUIM 开发软件作为第三方软件与数控系统的连接,开发了螺旋锥齿轮齿顶倒棱软件,并嵌入 FAGOR 8070-OL 数控系统中,实现了参数计算、NC 数控代码生成和数据库管理等功能。
随着齿轮加工技术越来越趋于高效率化、高精度化,传统的人工倒棱和人工手动输入数控加工代码越来越难以满足现代生产加工的要求,自动化倒棱技术也慢慢走进了大众的视野。自动化倒棱技术 只需要操作者简单地输入齿轮的各项参数(如螺旋角、大端模数、小齿轮齿数、大齿轮齿数、齿宽、齿形角、刀盘名义半径、刀尖露出长、刀具夹角、倒棱长和齿厚调整系数等),系统就会自动计算出倒棱技术所需要的其他参数,进而自动生成可供机床倒棱的数控代码进行自动化倒棱。这项技术不要求操作者必须具有系统的专门知识,只要简单地输入相应的参数就可以完成编程任务,不需要进行专人技术培训,从而降低生产成本。
在数控系统二次开发方面,对于发格数控系统二次开发的文献少之又少。刘晟针对强力刮齿对西门子 840D 进行了二次开发,推广了刮齿加工;赵世杰基于西门子 840D 进行二次开发满足磨齿加工的需求;国外的 Lu H X 也在西门子 840D 数控系统人机界面软件的基础上开发的补偿控制软件;薛刚提出一种基于发那科 C 语言执行器的二次开发方法;池文慧使用 FANUC 数控系统自带的FANUC PICTURE 开发软件对人机界面开发,提高了机床的可操作性;孙科星等人针对目前数控机床生产与管理环节存在的信息交互困难、过程不透明和运行效率低下等问题,设计一套基于以太网 的 FANUC 数控机床 DNC 系统;丁国龙等人针对涡轮加工,基于华中 HNC-848 数控系统进行二次开发,为国产数控系统二次开发提供了一套实用的方法;国外的 Wings E、Toquica J S 等人基 于 LinuxCNC 对数控系统进行二次开发,得到了性能更好的数控系统来应对不同的加工情况。
结合以上相关的二次开发研究,以 FAGOR CNC8070-OL 为二次开发系统对象,基于 FAGOR 8070-OL 数控系统提供的二次开发平台 FGUIM 软件,利用 VB.net、C++ 混合编程技术,开发出一个开放式的数控系统,更便捷地定制用户的特殊需求,实现自动化倒棱技术。
一、螺旋锥齿轮倒棱轨迹求解
齿顶棱线方程求解
要进行螺旋锥齿轮齿顶倒棱软件的开发,首先需求解出螺旋锥齿轮倒棱轨迹的参数化方程,便于编写代码程序进行软件二次开发。
由文献可得:
![](http://www.gear001.com/file/upload/202407/24/202407240913576484.png)
螺旋锥齿轮齿厚 se 为:
![](http://www.gear001.com/file/upload/202407/24/202407240914052141.png)
式中:k 为齿厚调整系数,根据《螺旋锥齿轮设计与加工》中的图 3.12 可得出数值。
再根据齿厚公式计算得出:
![](http://www.gear001.com/file/upload/202407/24/202407240914137269.png)
由图 1 知齿顶棱线方程为(左棱为负,右棱为正):
![](http://www.gear001.com/file/upload/202407/24/202407240914205007.png)
刀具轨迹方程求解:
![](http://www.gear001.com/file/upload/202407/24/202407240914359159.png)
基于坐标系下,求解 A 点的坐标:
![](http://www.gear001.com/file/upload/202407/24/202407240914499285.png)
在局部坐标 X1O1Y1下 F 点坐标:
![](http://www.gear001.com/file/upload/202407/24/202407240915042084.png)
通过坐标变化矩阵求出基于工件坐标下 F 点坐标:
![](http://www.gear001.com/file/upload/202407/24/202407240915126339.png)
根据文献中转角公式求解 B、C 轴转角:
![](http://www.gear001.com/file/upload/202407/24/202407240915214223.png)
F 点坐标与 B、C 轴转角的求解为后文螺旋锥齿轮的齿顶倒棱提供了理论基础。
二、螺旋锥齿轮自动化齿顶倒棱加工软件开发
CNC8070-OL 二次开发基本流程 :
基于 FAGOR 自带的 FGUIM 软件开发,首先要单独地开发出一款第三方软件,即螺旋锥齿轮自动化齿顶倒棱加工软件。首先使用 VB.net 设计出人机界面;然后在 VS 2015 的开发环境下利用 C++ 编写后台程序并且封装成多个 COM 组件,供 VB.net 直接引用,实现自动生成 NC 代码进行加工的功能;最后通过 FGUIM 软件与 CNC8070-OL 数控系统之间的相互连接,使第三方软件嵌入数控系统运行。为了将软件嵌入数控系统中,需要先复制软件的路径,如:“E:\VS2015\VB\RJJM\RJJM\obj\ Debug\RJJM.exe”(要注意,必须复制到带有.exe 的后缀名才能结束复制)。双击打开 FGUIM 软件,在“组成部分”中选择需要的“自动”或者“手动” 模式,单击菜单栏中的“ S” 按钮,出现一个 VBscrip 脚本,在脚本中需要我们输入代码,保证第三方软件与 CNC8070-OL 的通畅连接,如图 4。
![](http://www.gear001.com/file/upload/202407/24/202407240915297889.png)
完成连接后,为了能让第三方软件更加简洁明了地显示在数控系统的界面上,需要在 FGUIM 软件中选中菜单栏中的“ED”按钮并单击,出现设置界面,可以设置软件图标所在位置、图标名称、图标与 CNC8070-OL 连接标识符等等,如图 5。
![](http://www.gear001.com/file/upload/202407/24/202407240915382070.png)
螺旋锥齿轮自动化齿顶倒棱加工软件人机界面开发
在 PC 上安装 VS2015 软件后,运行后进入软件主界面,就可进行人机界面开发。主要开发步骤流程如图 6 所示。
![](http://www.gear001.com/file/upload/202407/24/202407240915477616.png)
(1)新建一个 Visual Basic 的窗体应用,选择路径,输入文件名,创建一个工程文件。
(2)点击 Form1.vb,跳转到我们要开发的第一个界面,可以在左侧的工具箱内选择我们需要的控件,只需点击拖拽到开发界面,可随意改变大小。当想要增加新的开发界面时,右键单击解决方案资源管理器中的之前设置好名称的文件 RJJM,添加一个新的 Windows 窗体,选择路径,输入窗体名称。如若要创建更多的开发界面,按照此方法即可。
(3)软件的开发除了界面的开发之外,还需要拥有自动化倒棱的功能,那就需要调用 C++编写的后台逻辑程序封装成的多个 COM 组件。左键双击解决方案资源管理器中的“My Project”→“引用”→“COM 类型库”→找到所需要的 COM 组件→“确定”。引用结束后,还需要再编程 VB 代码,使得 COM 组件的功能可以被 VB.net 所使用。
(4)成功安装了 CNCFAGOR.exe 模拟软件后,按照上述方法连接 API8070.SERVER 库接口,实现与数控内核进行通信与数据交换。在 VB 代码中执行组件形式如下:
![](http://www.gear001.com/file/upload/202407/24/20240724091556850.png)
(相当于创建了连接 variables 这个服务器的对象)
(5)最后保存为.exe 后缀的文件。
螺旋锥齿轮自动化齿顶倒棱加工软件主要功能模块
根据数齿顶倒棱的加工要求,可知软件可以分成以下模块:齿轮参数、工艺参数、参数计算、生成程序、程序管理、报警和状态 7 个模块,如图 7~8。
进入软件主界面后,我们首先要“新建”,避免新输入的参数覆盖原来的参数,保证每一次的参数数据都能完全保存在程序管理模块里,供后期查看调用。
![](http://www.gear001.com/file/upload/202407/24/202407240916044167.png)
根据 CNC8070-OL 数控系统向用户提供的开发的接口可知,螺旋锥齿轮齿顶倒棱软件采用 Micrsoft Access 2010 数据库作为数据支撑,能更好地与数控系统信息交流与传递。
自动生成数控加工程序代码实现
自动生成数控加工程序代码是螺旋锥齿轮自动化齿顶倒棱加工软件最主要的功能模块,是整个软件的重中之重。在上文 2.2 中(3)中提及的“C++ 编写的后台逻辑程序封装成的多个 COM 组件”就是实现此功能的方法。在 C++的开发环境下 COM 组件开发过程如下:
(1)打击打开 VS2010,在 Visual C++中新建一个“ATL”项目,选择路径,输入文件名 GEAR1。
(2)ATL 项目支持选项中勾选“支持 COM+ 1.0(T)”“支持组件注册(U)”,其他默认选项,点击“确定”。
(3)切换到“解决方案资源管理器”的“类视图”,右键单击“ GEAR1” 添加类,选中 “ATL 简单对象”,“简称(S)”中输入类名称 GEAR1Class,点击“完成”。
(4)切换到“类视图”,找到刚刚添加的接口 IGEAR1Class,右键单击“添加方法”,在“方法名(M)”下创建方法 Postprocessing,“参数类型(P)”和“参数名(N)”根据螺旋锥齿轮齿顶倒棱求解中的参数信息来命名,输入参数选择 “in”,输入列表中添加参数:螺旋角、大端模数、小齿轮齿数、大齿轮齿数、齿宽、齿形角、刀盘名义半径、刀尖露出长、刀具夹角、倒棱长和齿厚调整系数;输出参数选择“out”,输出列表中添加参数:刀尖点 、刀尖点 、刀尖点 、轴转角和C 轴转角。
(5)返回桌面,点击电脑左下角的“开始”,搜索“命令提示符”,右键单击“管理员运行”,编辑代码,按下“Enter”。代码如下:
“E:\VS2015\VB\GEAR1\Debug\GEAR1.dll”(regsvr32+.dll 文件所在的保存路径)
(6)注册成功运行并生成 dll 文件,可供 2.2 中(3)中 VB.net 引用。
自动生成数控加工程序代码这个模块,主要通过设定齿轮参数、刀具参数、工艺参数,后台自动生成数控加工代码,实现螺旋锥齿轮齿顶倒棱参数化编程,如图 9。
![](http://www.gear001.com/file/upload/202407/24/202407240916162245.png)
每次输入的参数和生成的数控加工程序会保存在 Micrsoft Access 2010 数据库中并标注时间、序号,方便查找调用。
模拟仿真
将螺旋锥齿轮齿顶倒棱软件生成的左棱、右棱程序导入 VERICUT 仿真软件中,设置好机床、毛坯、刀具后进行仿真,仿真结果如图 10。由图 10 可知,倒棱表面光滑均匀,且两端倒棱的大小有较好的一致性。
![](http://www.gear001.com/file/upload/202407/24/202407240916247765.png)
在理论计算出的倒棱线和实际仿真倒棱线上分别均匀取 20 个点,导入 Origin 中绘制折线图,如上图 11。图中显示刀具切削过后的长度误差不超过 0.045 mm,符合倒棱误差要求。
![](http://www.gear001.com/file/upload/202407/24/202407240916325344.png)
三、结语
(1)介绍了螺旋锥齿轮齿顶棱线方程和刀具轨迹方程的求解,为二次开发提供理论基础。
(2)介绍了基于 FAGOR 系统自带的 FGUIM 软件,采用 C++、VB.net 的混合编程,对 FAGOR CNC8070-OL 数控系统进行二次开发的具体流程步骤。在 FAGOR CNC8070-OL 数控系统中嵌入螺旋锥齿轮齿顶倒棱软件,使得操作更加简便,效率更加高效,降低操作难度,对于推广螺旋锥齿轮倒棱加工具有积极意义,为进一步研究螺旋锥齿轮齿顶倒棱提供了条件。
参考文献略.