基于C语言的变螺距螺纹软件开发
2018-06-30陈启明
陈启明
【摘 要】变螺距螺纹是应用在挤压和输送方面的一种螺纹,加工难度大,在数控机床普及的趋势下,利用数控设备使加工变螺距螺纹变得简单易行,但是对编程人员的编程能力提出较高要求。文章通过实践经验总结,以FUNUC oi-mate-tc车床为例,借助计算机语言编写适合变螺距螺纹加工的通用软件,在保证加工精度的同时,降低编程门槛,提高编程效率。
【关键词】C语言;变螺距螺纹;软件开发
【中图分类号】TG659 【文献标识码】A 【文章编号】1674-0688(2018)12-0065-02
0 引言
变螺距螺纹在工业中应用广泛,利用数控机床加工时,因其螺距在做增量变化,同时要保证牙的宽度相等,主要采用的编程方式就是宏程序。宏程序需要利用数控系统中的变量、循环、逻辑运算等高级编程方式,对于编程人员的要求较高。为了使编程更方便、更容易,本文借助计算机语言自行开发通用工具提高编程效率。
1 开发前期准备
1.1 变螺距螺纹车削工艺分析
牙等宽变螺距螺纹因螺距在做增量变化,但是牙宽相等,加工时刀具宽度不会变化,因此加工时需要先分层,然后在每一层赶刀加工。考虑到加工效率,加工过程分为开粗和精加工两部分,开粗时对牙槽中的多余材料进行加工,精加工时对牙侧进行车削,确保零件精度。
1.2 开发工具的确定
1.2.1 开发语言
开发语言可根据自身需求自行选定,本文以C语言为例进行开发。C语言是国际流行的计算机高级语言,具有代码量很小、运行速度比较快、功能强大、简单易学等特点。
1.2.2 开发工具
工具可根据自身需求选定,本文以code blocks作为开发工具。code blocks是一个开放源码的全功能跨平台C/C++集成开发环境,具有灵活而强大的配置功能,除支持自身的工程文件,还支持多种脚本文件、工程文件和解决方案,具有良好的兼容性。
1.2.3 程序的开发
1.2.3.1 确定框架
螺纹软件的开发只需要对输入参数进行处理,然后输出准确的G代码即可,所以编码部分由螺纹各加工参数输入、正确与否的判断、逻辑运算和文件生成四大部分组成。
1.2.3.2 各部分的编程
首先分定义参数在C语言中的变量名,然后将参数准确输入相应变量中,参数即为螺纹的基本数据,由加工时螺纹实际参数而定。
(1)螺纹各参数在编码过程中所对应的变量名见表1。
(2)螺纹参数的输入(源代码),考虑各参数的数据类型,此处使用了整型、浮点型的数据(如图1所示)。
1.2.3.3 对各参数正确与否进行判断
在输入参数时,难免会输入错误的参数,如果没有将输入的参数进行判断,则G代码会按照错误的参数进行输出,可能会导致撞刀或其他严重的安全事故,所以在進行逻辑运算之前必须对各参数进行判断,使各参数符合加工需要。编码过程需对牙宽、螺距、牙侧角度、刀宽、引入距离等参数进行判断,当输入有误时,报警提示并重新写入数据,确保参数正确和G代码的正确性。判断牙宽和螺距(如图2所示);判断牙侧角度(如图3所示)。
1.2.3.4 逻辑运算
逻辑运算直接影响着G代码的输出安全与可靠,属于开发中的核心部分。逻辑运算由参数计算、开粗、精加工三部分组成,参数计算方面根据所输入的数据,结合加工轨迹进行计算,对螺纹总长度、总牙数、借刀次数、分层次数等参数进行计算;开粗时将每层的加工G代码输出;精加工时根据加工精度选择合适的参数,对牙型两侧的残料进行加工。
在数控系统中,运行螺纹加工指令G32时,螺距值不能为0,所以开发时必须做出相应处理,防止机床使用时报错。参数的计算(如图4所示);螺纹开粗G代码的输出(如图5所示);螺纹精加工G代码的输出(如图6所示)。
1.2.3.5 文件类型的处理与输出
FUNUC数控系统中,机床通常采用程序文件后缀为
.TXT/.CUT/.NC等数据格式,为了使用户直接将生成的程序传输进去,本文以.TXT文件格式为例,将G代码保存到TXT文档中,方便直接传输到机床。此处以在桌面位置新建一个文件名为O7777的TXT文档为例进行说明(如图7所示)。
1.2.3.6 程序的调试与生成
代码完工后,利用具体参数进行软件测试与调试,同时利用CIMCO EDIT和进行刀具轨迹仿真;调试过程中,着重对生成G代码的可使用性和准确性进行测量,对数据报错进行检验,确保在使用过程中既不出安全事故,又使加工的零件精度合格;调试合格后,生成.exe的可执行文件。
2 结语
本文介绍利用C语言开发数控螺纹软件的方法,将程序开发中涉及的程序结构、注意事项和源代码进行详细阐述,解决了数控操作人员因编程能力有限或其他原因没法加工高难度螺纹的难题,降低了生产成本、提高了加工效率,为其他高难度螺纹、特定工艺环节的软件开发提供思路和借鉴。
参 考 文 献
[1]谭浩强.C语言程序设计[M].北京:清华大学出版社,2000.
[2]人力资源和社会保障部教材办公室.数控车床编程与操作(广数系统)[M].北京:中国劳动社会保障部出版,2012.
[3]刘棋,夏哲卿,高承明,等.和鬼谷一起学数车宏程序[M].北京:机械工业出版社,2015.