程序编程实用3篇
【导言】此例“程序编程实用3篇”的范文资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!
程序编程1
关键词:螺纹; 宏程序; 循环功能; 参数化
中图分类号:TG62
文献标识码:A文章编号:16749944(2017)8024002
1引言
螺纹是机械零部件之间的主要连接方式,所以机械加工中螺纹的加工是非常重要的环节。
数控镗铣床设备上加工2400 t压力机滑块上的一组规格的螺纹,原有的加工方法存在一些弊端,除了对操作者的编程水平有一定要求外,加工效率也得不到提高,因此改进一种实用、简便的螺纹铣削方法对提高公司生产线生产效率具有重大意义。
公司数控M铣床班组加工该零件的多个规格螺纹时,手工编程要求操作者具备一定的编程水平,当更换不同规格的螺纹时就要重新编程,加工效率不高,对于简单的螺纹加工采用自动编程又不太适用。所以,上报设计部门后决定添加一种螺纹铣削“循环功能”。
2螺纹铣削工艺
螺纹铣削需要配合三轴以上联动机床,坐标系要在螺纹轴线与端面的交点处。采用数控镗铣床TK6920加工螺纹,选用单刃螺纹铣刀,铣削螺纹时螺纹的导程跟转速没关系,仅跟程序设定刀具的圈数和下刀距离有关系。转速和进给根据螺纹导程设置,转速高进给快,会因为切削力太大导致丝锥或板牙损坏。虽然转速慢进给慢在一定范围内能完成攻丝或套丝加工,但是转速也要限制在电机的实际使用扭矩范围内。
3问题的解决
首先利用宏程序加工标准右旋内螺纹M42×,螺纹深度为50 mm,单刃螺纹铣刀半径13 mm。
为了安全起见,同时也为了确保螺纹深度为Z-50,通过计算可知:
50÷=11余(mm),
应考虑每次应距初始面一定高度开始加工,安全高度值可为:
h===4(mm)(1)
由于直螺纹特点(上下径线尺寸不变),这样就可确保经过11+1个循环后螺纹深度正好是50mm。
5结论
对螺纹铣削循环程序的生成,改进了传统铣削螺纹加工的方式,操作者能够简单、快速地解决加工不同规格螺纹铣削的问题。
值得肯定的是在此螺纹循环程序中涉及的计算多为基本的计算,对于新培训上岗的操作工也能完成操作。降低了编程难度,具有方便、快捷、浅显易懂的特点。刚好契合了参数化编程的理念,有利于节省人力成本。同时能满足在产品多样性情况下提高螺纹加工的生产效率的要求,直接为企业降低生产成本,提高企业的效益。
参考文献:
[1]
梅艳波。螺纹加工方法研究[J].长江大学学报,2009(1):279~280.
[2]刘明玺。 西门子系统数控车床螺纹加工参数化编程方法探究[J].电子测试,2013(23).
[3]刘金文。 浅析加工中心铣削螺纹的加工方法[J].数字技术与应用,2012(4) .
[4]李庆余。 机械制造装备设计[M].北京:机械工业出版社,2008.
[5]孙本绪。 机械加工余量手册[M].北京:国防工业出版社, 1999.
[6]艾兴,肖诗纲。切削用量简明手册[M].3版。北京:机械工业出版社,1994.
[7]陈国文,马芳薇,周瑜。 宏程序在螺纹铣削快速编程中的应用[J]. 金属加工(冷加工),2015(16):20~21.
[8]乔龙阳。 基于宏程序的螺纹数控铣削功能开发[J]. 机械研究与应用,2014(1):181~183.
[9]钟如全。 铣削螺纹固定循环指令的开发[J]. 组合机床与自动化加工技术,2013(10):121~122,126.
[10]刘玉春。 基于FANUC宏程序的螺纹铣削加工编程应用[J]. 金属加工(冷加工),2013(13):46~48.
[11]杨辉,万海鑫,张宣升。 基于螺纹铣削数控宏程序的优化设计[J]. 制造业自动化,2012(21):26~29,39.
[12]戴冠林。 基于MasterCAM 的螺纹铣削工艺分析与编程[J]. 机械,2010(8):66~68.
海纳百川,有容乃大。上面这3篇程序编程就是山草香为您整理的程序编程范文模板,希望可以给予您一定的参考价值。
程序编程2
关键词: 倾斜椭圆 宏程序 编写
一、问题的题出
随着数控技术的不断进步,数控车床加工中各种复杂形面也日渐增多,如椭圆、抛物线、正弦曲线、余弦曲线、双曲线等各种非圆曲面。对于上述各种复杂成形面,利用CAM软件进行自动编程相对简单,但由于种种原因,在绝大多数情况下数控车床主要还是依靠手工编程。
椭圆轴线与数控车床Z轴重合的情形相对比较简单,其解决方案也多见于各类文献,但在本例中椭圆轴线与数控车床Z轴呈一定夹角,编程和加工难度陡增,主要原因如下:①机床数控系统本身既不存在加工椭圆等非圆曲线的G指令,又没有类似G68这样的旋转指令,使编程难度大大增加。②加工中变量的参数直接影响着加工的效率与质量,很容易产生过切报警,即使程序正确无误,实际加工时的参数调整也非常困难,直接影响着加工的进行和加工的精度。
二、问题的解决
椭圆轴线与数控车床Z轴呈一定夹角椭圆宏程序的编制步骤如下。
1.写出椭圆方程
椭圆轴线与数控车床Z轴呈一定夹角,宏程序主要利用各种数学公式进行运算加工,因此要编制旋转椭圆程序,操作者必须掌握椭圆方程和旋转公式等各种数学公式的计算方法并加以灵活运用。
椭圆方程有两种形式,分别是椭圆的标准方程和参数方程。
椭圆标准方程:
椭圆参数方程:
X=acosαZ=bsinα
其中a、b分别为X、Z所对应的椭圆半轴。
2.写出车床旋转公式
由于数控车床并不像加工中心那样存在着旋转指令,因此要利用旋转公式来进行椭圆的旋转。车床旋转公式为X′=Zsinθ+XcosθZ′=Zcosθ-Xsinθ,其中,X′、Z′为旋转后的坐标,X、Z为旋转之前的坐标值,θ为旋转角度。
3.计算终起点角度
在利用椭圆参数方程编制加工程序时,终点和起点的角度是重要的一步,因为终、起点直接影响着加工零件的几何形状。终点和起点的计算方法有两种,一种是三角函数计算法,该方法不作详细介绍。另一种是用旋转公式求得未旋转前X、Z的坐标。最后进行椭圆角度的计算。
旋转公式求椭圆角度先分别将A、B的坐标代入旋转变换公式中进行运算,最终分别求得A、B没有旋转之前的坐标值A′、B′的坐标,用椭圆参数方程求得没有旋转之前的椭圆角度。
例:如图1所示,以O′为原点,点A的坐标为(Z20,),点B的坐标为(,),其中椭圆的长半轴和短轴分别为25mm、15mm,旋转角度为20°。求没有旋转之前的椭圆起点和终点角度。
起点计算
AZ=AZ′cos(-θ)-AX′sin(-θ)
=20×cos(-20°)-×sin(-20°)=(mm)
cosα=Z/b=/25=
α≈°
终点计算
BZ=BZ′cos(-θ)-BX′sin(-θ)
=-(-20°)-(-20°)=-(mm)
cosθ=Z/b=-/25=-
θ≈97°
4.程序中变量的确定与注意事项
在旋转椭圆程序变量的赋值是一个重要的环节,因为宏程序是利用许多段微小的直线来逼近轮廓的,取值大了轮廓表面的逼近误差也大。在加工中,变量的赋值可以按粗车和精车来取值。粗加工程序变量的取值应根据预留加工余量的大小来确定,在保证加工不过切的前提下,我们可以选择较大的程序变量,但是也不能过大,变量过大会使精加工余量不均匀或形成过切。精加工时我们主要是保证工件的质量,为使工件的几何形状达到要求,需要减少拟合的误差,因此我们应该选择一个较小的程序变量。
三、应用实例(程序编制)
使用数控车床切削零件图如图2所示,毛坯材料为45钢,直径为50mm,长度为65mm(1号刀为粗车35°尖刀,2号刀为精车35号尖刀,3号刀为切断刀)。
倾斜椭圆宏程序部分(HNC21T数控系统):
#10 =15 短半轴
#11 =25 长半轴
G00 X26. 209 A点X坐标
G01 Z0 F0. 05
#12 = 椭圆旋转前的起点角度
WHILE [ #12] GE 97ENDW 椭圆旋转前终点角度
#13 = SIN [ #12 * PI /180] * #10 SIN弧度 弧度编程
#14 = COS [ #12 * PI /180] * #11其中PI=(π)
#15 = 20* PI /180 ( 赋值旋转角度20°)
#16 = #14* SIN [ #15] + #13 * COS [ #15] (车床旋转公式为 )
#17 = #14* COS [ #15] - #13* SIN [ #15]
G01 X [ #16* 2] Z [ #14 - 20 ] F0. 05 ( 运行加工椭圆轮廓)
#12 = #12 + 1 ( 自变量递增1 °)
END1
四、结语
程序编程3
在最初编写的JDBC应用程序代码中,所有的数据信息都是编写到Java中的,这其实是一种不可取的方式。那么,我们把这些数据信息提取出来,放到属性文件中进行程序优化。
一、配置文件优化程序
Java的属性文件是一种配置文件,主要用来表达配置信息,它的后缀是properties,其实就是一个纯文本文件。创建Java配置文件的方法是选中src右键单击新建,选择other选项,再选择向导中General下的File,将文件起名为,点击Add按钮来添加属性及属性值,例如,属性name为driver,属性value为;属性name为dburl,属性value为jdbc:mysql://localhost:3306/xqy_db;属性name为user,属性value为root;属性name为password,属性value为admin。
二、创建连接工厂类优化程序
1、定义connectionFactory类,并创建包名为;
2、定义四个静态成员变量用来保存从属性配置文件 中读取的数据库配置文件信息值;
3、定义静态代码块用来初始化类,可以为类的属性赋值,因为当加载类的时候会执行静态代码块,该静态代码块只能被执行一次。
其中核心代码为:
Properties prop=new Properties();
InputStream in=connectionFac().getResourceAsStream(“”);
(in);
driver=(“driver”);//对静态成员变量driver初始化
url=(“dburl”);//对静态成员变量url初始化
user=(“user”);//对静态成员变量user初始化
pwd=(“password”);//对静态成员变量pwd初始化
4、定义一个连接工厂类的对象factory,并编写静态方法getInstance来返回连接工厂类对象实例,以确保在程序支行过程中只有一个实例。
5、定义数据连接类的对象conn,通过定义makeConnection()方法来返回配置属性文件中的数据连接对象。
(drive);
conn=(url,user,pwd);
return conn;
6、创建应用程序测试属性配置文件和连接工厂类,具体操作如下:
将主方法抛出SQLException异常,在主方法中添加代码为:
connectionFactory factory=( );
Connection conn=( );
( ));
接下来继续优化JDBC程序,使其更加清晰,更加符合工业标准规范。
三、创建DTO类优化程序
创建两个DTO类,分别对应数据表tbl_user和tbl_address。
DTO是Data Transfer Object的缩写,是数据传输对象,主要用于远程大量数据调用的问题上,DTO一般只有成员变量,成员变量的setXX()方法和getXX()方法,还有构造函数,DTO不能包含业务逻辑。
1、在包下建立抽象类IdEntity,其中有保护成员变量Long id,使用setXX( )和getXX( )对成员变量进行初始化,定义无返回值的toStrig()抽象方法。
2、在包下,新建IdEntity类的子类User,该类具有name、password、email三个成员属性;添加父类中未实现的方法,为name、password、email三个成员属性添加setXX( )方法和getXX( )方法。
3、在包下,新建IdEntity类的子类Address,该类具有city、country、userId三个成员属性;添加父类中未实现的方法,为city、country、userId三个成员属性添加setXX( )方法和getXX( )方法。
四、创建DAO类优化程序
DAO是Data Access Object的缩写,数据访问对象,主要用来封装对数据库的访问,通过它可以把数据库中的表转化为DTO类。
1、 在包下建立接口UserDao,在该接口在添加抽象方法:
public void save(Connection conn,User user) throws SQLException;
public void update(Connection conn,Long id,User user) throws SQLException;
public void delete(Connection conn,User user) throws SQLException;
其中save( )方法用于保存用户信息,update( )方法用于更新用户信息,delete( )方法用于删除用户信息。
2、创建UserDao接口的实现类UserDaoImpl,该类位于包下。首先实现save( )方法,具体操作如下:
String sql=“insert into tbl_user(name,password,email) values(?,?,?)”;
PreparedStatement ps=(sql);
(1,());
(2,());
(3,());
( );