程序编程范例6篇

前言:中文期刊网精心挑选了程序编程范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

程序编程

程序编程范文1

关键词:可编程序控制器编程技巧梯形图

可编程序控制器(简称PLC),是以微处理器为基础、 综合计算机技术、自动控制技术和通讯技术,是自动控制系统中的一种先进的控制设备,面向控制过程,面向用户,在工业控制中应用很广泛。要最大程度的发挥出PLC强大的功能,熟练而巧妙的应用PLC指令显得非常重要,PLC功能指令很多,包含传送比较指令、数字运算指令、数据处理指令、移位以及循环移位指令、程序控制指令、高速处理指令等,笔者根据多年教学经验,谈谈在PLC课程中的编程技巧。

1 程序设计方法

在设计系统时,要认真考虑扫描周期和响应时间这两个参数。系统响应时间是指输入信号产生时刻与输出信号状态变化的时间间隔。系统响应时间是由输入滤波时间、输出滤波时间和扫描周期决定的。在实时性要求较高的系统中,要尽量缩短系统的响应时间,提高系统对输入信号的反应能力和速度。选择PLC机型时,要充分考虑PLC控制系统的结构与功能。根据系统控制流程图及可编程控制器的I/O地址分配表,即可以进行程序设计。程序设计的方法通常有逻辑设计法、流程图设计法及经验设计法。

1.1 逻辑设计法。逻辑法以布尔代数为理论基础,根据生产过程各工步之间检测元件状态的不同和变化,列出检测元件状态表。根据检测元件、中间记忆元件及执行元件的逻辑表达式,转换成梯形图。继电器控制系统线路中常用此方法,具有梯形图简单、占用元件及内存量少的特点。

1.2 流程图设计法。流程图设计法以“步”为核心,根据工作流程图,从首步开始设计下去,直至整个程序完成为止。首先,将被控对象的工作过程分若干步,在图中用方框表示步。方框之间用带箭头的直线连接起来,箭头方向表示转换进程。然后,按生产过程,把工步条件画在直线左方。在方框的右边画出工步的控制对象。这种工作流程图,包含了所有工作过程的信息,为编制程序提供了依据。

1.3 经验设计法。经验设计法是―种依据继电器控制线路原理图,该方法对现有继电器控制系统的技术改造是十分有利的。具体步骤为:熟悉现有继电器控制线路;根据继电器控制原理图画出梯形图;将程序存到可编程序控制器的存储器;程序调试和运行。这种设计法,只要有详细的流程图,就能够不再依赖原继电器线路,这种设计方法简单方便、周期短、调试容易。

为尽量减少指令条数,提高PLC的运行速度,还应注意以下问题:输入继电器、输出继电器、内部继电器、定时器、计数器等器件触点可以重复使用,这与传统的继电器器件不同。

2 程序设计中应注意的问题

可编程序控制器编程就是用编程语言把一个控制任务描述出来。根据程序设计过程中总结的经验,还应注意了解PC机的技术指标。有些技术指标只需要进行一般的了解,而有些指标必须要搞清楚。例如:梯形图所使用的各种元件编号,PC机的执行方式、执行速度、程序语言、程序容量、指令条数、输入/输出继电器的点数等,只有充分掌握这些细节,才能最大程度的发挥PC机的作用。

PC机控制信息都是通过“0”和“1”两种数字状态进行传输、运算、处理和存贮的,同一时刻同一继电器的触点状态不能有两种,所以一个梯形图中不允许有双线圈输出的情况。为了保持梯形图简洁并易于编程,在绘制梯形图时,应注意梯形图中的信号流向是“从左到右、从上到下”,不能倒流;几个串联回路并联时,将触点最多的回路放在最上面;几个并联回路串联时,应将触点最多的回路放在最左边等等。

可编程序控制器实验教学要求学生能够利用微机控制技术进行现场监控以及编程,系统地掌握电气控制与可编程逻辑控制的实践环节,全面提高学生的实践素质。具体要求为:学生理解可编程控制器的结构原理;掌握继电器接触器控制技术的应用;学会分析基本的控制电路与设计;学生掌握有关电器的基本知识和原理。课程以课堂讲授和实验结合为主,课外练习为辅,实践教学环节主要采用实验室授课,也就是理论授课同时进行实验实践教学,提高学生的实际动手能力,注重培养学生的分析和解决问题的能力。

3 结束语

在编制程序过程中,如果采用一些编程技巧,现代工业控制在许多场合需要数据处理,用于数据的传送、运算、变换及程序控制等功能,在可编程序控制器中采用梯形图编程,再转化为指令,可使编程问题比较顺利地得到解决,收到意想不到的效果。可编程序控制器的指令具有多样性,给编程者提供了很大的想象空间,关键是怎样用好它、掌握它,才能发挥出它最大的时效性。

参考文献:

[1]陈新欣,邓锦炽.开放式可编程控制器的设计[J].微型机与应用,2011,5.

[2]许戮,王淑英.电器控制与PLC控制技术[M].北京:机械工业出版社,2007.

程序编程范文2

【关键词】 数控车子程序 编程 应用

1 引言

在数控加工中,有时在一个零件上,有两处或两处以上形状和大小都相同的加工部位,为简化程序的编制,可以用子程序来加工,或调用子程序实现循环加工,以减少编制程序时需要计算的基点的个数,简化编程。

2 子程序介绍

(1)子程序的定义。某些被加工的零件中,常常会出现几何形状完全相同的加工轨迹,在编制加工程序时,有一些固定顺序和重复模式的程序段,通常在几个程序中都会使用它。这个典型的加工程序段可以做成固定程序,并单独加以命名,这组程序段就称为子程序。

(2)子程序的作用。使用子程序可以减少不必要的重复编程,从而达到简化编程的目的。主程序可以调用子程序,一个子程序也可以调用下一级子程序。子程序必须在主程序结束指令后建立,其作用相当于一个固定循环。

(3)子程序的格式。子程序的格式与主程序相同,在子程序的开头编制子程序号,在子程序的结尾用M99指令结束子程序并返回主程序。

O××××

M99

(4)子程序的调用。在主程序中,调用子程序的指令是一个程序段。

指令:M98

格式:M98 P×××× ×××× (前四位为调用次数,后四位为子程序号)

或M98 P×××× L××××(P后面为子程序号,L为调用次数)

说明:省略循环次数时,默认循环次数为一次。

(5)子程序的嵌套。子程序调用另一个子程序,称为子程序的嵌套。主程序调用同一子程序执行加工,最多可执行9999次,但是子程序的嵌套不是无限次的,在编程中使用较多的是二重嵌套(不同的系统其执行的次数及层次不同),其程序执行情况如图1所示。

3 应用子程序编程实例

(1)等距槽可以利用循环或子程序进行编程,但加工不等距槽时,就体现出了利用子程序进行编程的优势。例如:图2所示为车削不等距槽,已知02号刀为切槽刀,刀刃宽度为4mm,左刀尖对刀, 35mm外圆已加工好,试通过调用子程序的形式编写其加工程序。

1)主程序。

O0001

N10 G50 X100.0 Z100.0;设定工件坐标系。

N20 M03 S900;主轴正转,转速900r/min。

N30 T0202;换02号切槽刀。

N40 G00 X38.0;快速定位到38mm处。

N50 Z-20.0 M08;快速定位,准备切槽,开冷却液。

N60 M98 P31000;调用O1000的子程序3次。

N70 G00 X50.0 Z-138.0;快速定位。

N80 G01 X0 F30;切断。

N90 M30;程序结束。

2)子程序。

O1000

N10 G00 W-4.0;Z轴负向移动4mm至第一槽处。

N20 G01 U-13.0F30;切第一槽至指定尺寸。

N30 G04 X1.0;槽底停留1S。

N40 G01 U13.0;X方向退出。

N50 G00 W-14.0;快速定位第二槽处。

N60 G01 U-13.0;切第二槽至指定尺寸。

N70 G04 X1.0;槽底停留1S。

N80 G01 U13.0;X方向退出。

N90 G00 W-20.0;Z轴负向移动20mm。

N100 M99;子程序结束,并返回主程序。

(2)如果加工等距槽,但是形状较复杂时,循环指令就失效了,这时应用子程序就可以大大提高编程的效率。例如:图3所示为车削等距复杂型槽,已知02号刀为切槽刀,刀刃宽度为3mm,左刀尖对刀,28mm外圆已加工好,试通过调用子程序的形式编写其加工程序。

1)主程序。

O0002

N10 G50 X100.0 Z100.0; 设定工件坐标系。

N20 M03 S600; 主轴正转,转速600r/min。

N30 T0101; 选择1号外圆刀。

N40 G00 X30.0 Z2.0;定位至30mm,距端面正向2mm。

N50 G71 U1.0 R0.5; 采用复合循环粗加工半圆球、外圆、外圆锥面等,

N60 G71 P70 Q130 U0.5 W0 F100; X正方向留精加工余量0.5mm。

N70 G42 G01 X0 F50;

N80 Z0;

N90 G03 X20.0 W-10.0 R10.0;

N100 G01 Z-42.0;

N110 X25.0 Z-50.0;

N120 Z-55.0;

N130 G40 X30.0;

N140 M00 M05;主轴停,程序加工暂停,检测工件。

N150 M03 S1200;主轴正转,转速 1200r/min。

N160 G70 P70 Q130;精加工半圆球、外圆、外圆锥面等。

N170 G00 X100.0 Z100.0;返回换刀点,主轴停。

N180 M03 S800;主轴正转,转速 800r/min。

N190 T0202; 换02号切槽刀。

N200 G00 X22.0 Z-10.7M08;快速定位,准备切槽,开冷却液。

N210 M98 P32000;调用O2000的子程序3次,加工3处等距外沟槽。

N220 G00 X100.0 Z100.0; 返回换刀点。

N230 M30; 程序结束。

2)子程序。

O2000

N10 G00 W-8.6;刀具沿Z轴负方向平移8.6mm。

N20 G01 U-10.0 F20;沿径向切槽至槽底。

N30 G04 X1.0;槽底停留1S。

N40 G00 U10.0 F500;快速退至22mm处。

N50 W1.3;沿Z轴正方向平移1.3mm。

N60 G01 U-2.0;沿径向移动至20mm处。

N70 U-8.0 W-1.3;刀具切沟槽右侧面至槽底。

N80 G00 U10.0;快速退至22mm处。

N90 W-1.3; 沿Z轴正方向平移1.3mm。

N100 G01 U-2.0;沿径向移动至20mm处。

N110 U-8.0 W1.3;刀具切沟槽左侧面至槽底。

N120 G00 U10.0;快速退至22mm处。

N130 M99;子程序结束,并返回主程序。

4 结语

编写子程序时注意应用增量坐标写出加工路线,让程序沿X向(或Z向)循环进刀,设置好背吃刀量,计算出加工次数,在主程序中进行调用。这种方法可减少基点的计算个数,适用于各种形状复杂的零件,使这类零件在数控机床上的编程变得简便。灵活的应用子程序,在很大程度上提高了零件的加工效率,并且在实际生产中收到了良好的效果。

参考文献:

[1]谢晓红.数控车削编程与加工技术.北京:电子工业出版社,2008.7.

程序编程范文3

关键词:函数式;Java程序;应用

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)06-0099-02

函数式编程(functional programming)作为当前最流行的编程规范之一,主流语言都对其进行了支持,作为编程领域最重要的JAVA语言,也在最新的JDK8中新增了相关特性,这就是lambda(λ)表达式及Stream类。它使得JAVA语言进一步与当今流行趋势结合,增强了JAVA语言的表现力,拓展了它的应用范围,优化了程序的结构与可读性

1 函数式编程简介

函数式编程(functional programming)是一种编程模式,旨在将运算过程尽量写成一系列嵌套的函数调用。在形式上,函数式编程允许将函数作为参数和返回值;在机制上,函数式编程在执行时进行惰性计算(lazy evaluation)和闭包等技术。最主要的优点是不修改状态,可以将任务随意分解,很好的符合了当前多线程、多处理器编程的趋势。

2 JAVA中的lambda表达式

lambda(λ)表达式是JDK8最大的更新之一,旨在引入函数式编程思想优化JAVA程序。其表达形式如下:

(int even, int odd) -> even + odd

在JDK8 中,使用->符号引起表达式,该符号左边为表达式的参数,右边为表达式的行为。Lambda表达式可使用在多种场合,例如作为参数直接传入某个函数:

button.addActionListemer(event->System.out.println(“button clicked!!”));

其中button是一个AWT Button 对象,由此我们可以看出,在传统的需要匿名内部类的地方可由lambda表达式代替,另外,传统的函数参数需要一个对象,而引入了lambda表达式之后,则可以将函数作为参数传入,从而在代码上更加简洁。

引入lambda表达式的优点首先体现着对代码的重构上,传统的JAVA程序有一个重要的概念即匿名内部类,这个类在某些只使用一次即销毁的情况下创建,例如常见的为按钮添加事件

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

System.out.println("button clicked");}

});

但是该代码当中有若干行是纯粹的样板代码,没有任何实际意义,不仅语法冗长,而且破坏了代码的真实意图,而采用lambda表达式改写后,该段代码的目的一目了然,如下所示

button.addActionListener(event->System.out.println("buttonclicked");

其次,lambda表达式配合jdk8新增的的Stream类可以提高程序――特别是循环结构――的执行效率,在JDK8之前,传统的循环结构采用的都是外循环结构,例如试图取得所有来自北京的教师

int count = 0;

for (Teacher teacher : allTeachers) {

if (teacher.isFrom("London")) {

count++;}

}

可以看到,传统方式中,集合内部的数据与外部的循环语句不停的进行交换,外部程序不得不占用一部分空间为结果集做准备,从时间上到空间上都造成了浪费。而经过lambda表达式和Stream改造,原有的外部循环成为内部循环,如下例所示:

long count = allArtists.stream().filter(artist -> artist.isFrom("London")).count();

可以看出,使用lambda表达式后,内部循环只是在符合条件的集合个体中做出标识,不占用额外内存,当程序不发出最后的指令(如要求立即返回结果)时,内部循环不作出任何操作,称为lazy模式,这样就节省了时间。

3 用lambda表达式优化程序

初学者在使用lambda表达式时,可将其应用在集合操作中,优化其操作方式,lambda表达式与Stream类所支持的集合优化有map、filter、flatmap以及reduce等,下面将详细介绍这几种方式。

在这之前,首先定义一个领域模型,模仿现实世界中的某些业务需求,这个领域模型的结构如下

作者Author,包含名称(String name)、所属机构(String origine)和若干成员(String [] members )

著作 Book,包含名称(String name),若干章节(List chapters)和若干作者(List authors)

章节Chapter,包含章节名称(String name)和字数(int chars)

作者集合authors,著作集合books和章节集合chapters。

首先来介绍Stream类中的第一种操作,即map操作,该操作负责将集合当中的元素进行符合条件的转换。例如,需要所有作者的所属机构列表,则使用lambda表达式和Stream代码如下:

List origines=authors.Stream().map(author->author. getOrigine()).collect(toList());

第二种常用操作是filter操作,旨在筛选出集合当中符合条件的元素,例如,需要找到所有成员数为1的作者(即该作者不是团队而是个人),代码如下

authors.Stream().filter(author->author.getMembers().length

最后一种常用操作为reduce,该操作类似于数据库中的聚合函数,可对结果进行各种统计,如汇总、小计、总计等,例如要求计算所有所有作者全部著作的总字数,则代码可以如下:

chapters.Stream().map(chapter->chapter.getChars()).reduce(0,(base,acc)->base+acc);

以上介绍了函数式编程在java中的简单应用,作为java8中最重要的新特性,函数式编程极大的简化了代码的编写,使得java这一语言焕发了新的生命力,在未来的开发中,拥有面向对象及面向函数双重特征的java语言必定会发挥更大的作用。

参考文献:

[1] 张迎周, 张卫丰. Haskell:一种现代纯函数式语言[J].南京邮电大学学报:自然科学版,2007(4).

程序编程范文4

【关键词】计算机应用程序 编程模型 发展

计算机的运行主要是通过计算机硬件和应用程序相互协调来实现的,从这两个部分可以看出,任何部分都不能缺少,然而应用程序这一方面是计算机的心脏,决定着计算机的运行和计算,计算机开始运行时,先是把对应的信息和数据录入计算机,这时计算机的储存器会对这些信息进行识别和储存,然后计算机会启动计算功能对数据进行计算,最后把所得结果运用用户可以查看的方法保存在硬盘中,这样有助于用户对其查看和计算,对于应用程序的结构,一般包括数据保存、逻辑和桌面操作等,然而不同部分的性能相比较也是不同的,所以,必须根据相关程序来运行计算机。

1 单层模型

计算机经过了很长时间的发展,自从计算机诞生以来的很长时间里,计算机都包括两个硬件板块,其中一个板块是计算机的主机系统,另外一个板块是次要部分,计算机应用程序和以及硬件系统储存在主机部分,这就是单层应用模型,然而这种类型道德计算机性能不高,不能满足用户使用计算机的各种需要,所以,在接下来的发展过程中这种类型的计算机慢慢被淘汰了。

2 双层模型

在计算机应用程序前进历程中,因为单层模型性能不高,不能满足用户的需要,所以,出现了使用双层模型的计算机,这种模型的基本原理其实就是对计算机进行创新,把主机板块划分为两个部分,其中一个结构是服务器,另一个结构是客户端。对于服务器,其功能主要是搜集和处理数据和信息,并展示在计算机服务器上面,对于信息和数据的反映在计算机桌面,需要借助客户端来实现。双层模型相比较单层应用模型,双层模型有很多优点,在形式方面有着一定的相同,计算机的处理形式相比更完善,工作效率得到了较大的提高,达到了计算机正常运行的目的。然而双层模型在使用的时候,也会出现一些问题,这说明其存在一些不足有待完善,所以,继续完善是一种正常的趋势。

3 多层模型

多层模型是基于双层模型的发展而出现的,通过较长时间的研究和分析,创新性的把双层模型的优点完美加入到了多层模型中,还依靠现论和科学技术来完善计算机的运行方式和计算机性能,多层模型主要解决了双层模型存在的问题,这些问题包括不稳定和不安全,让计算机实现了快速运行,运行起来非常灵活,此外,还弥补了操作方面的不足,通过多层模型可以看出,该模型使用的是模块分开方式,这使得计算机使用和维护起来非常方便,而且存储器与事务之间的交流越来越频繁,可以进行信息和数据的交换,能够实现不利用其他渠道来得到需要的信息和数据,这种模型的优点使得其在计算机应用中稳固了地位,不但没有被淘汰还得到了人们的认可,但是,随着科学技术的进步,人们的生活水平得到了快速提升,因此,这种模型必然会随着时间的推移而被再次创新或者直接淘汰。

4 分布式模型

通过观察计算机应用程序多层模型的使用情况,我们可以知道,这种模型的基本原理中的上层为下层提供服务,还有上层控制和调节下层,这一方式有可能会缩短计算机的使用寿命,所以,相关技术人员非常重视这个问题,如果想提升计算机的性能和运行效率,在完善的时候,应该依据有关规则和程序分解应用程序的代码,接下来遵循着计算机工作规律准确确定应用程序代码的功能,在保持现存计算机功能的情况下,又增添了新功能,然而需要借助分解对象才可以实现。

5 基于万维网的多层模型

随着万维网的快速发展,因特网也得到了快速发展,因特网具有的功能表现出较大的复杂性,包括数据和信号的方式等,具体的说,万维网应用程序具备的特征比较显眼,一般可以通过以下几方面来说明:

(1)通过万维网创建的计算机编程模型的使用桌面比较简化,可以使用便捷的搜索系统完成搜索工作,快速发现软件所在的位置和使用的操作模式,而且,因特网在其中起着非常显著的作用。

(2)这个基于万维网的多层模型的使用使得管理人员的工作更加简单,管理人员可以把一些操作系统安装在系统中实现搜索,不用依靠其他系统来开展搜索工作,这样,使得花费在系统维护上面的费用大幅度被减少,而且工作效率也获得了快速提高。

(3)研究人员可以借助万维网技术来有效做好发明工作,在制作网页的时候,只需要借助有关的工具就可以开展工作,不会使得工作变得很复杂,关于应用开发,旧式的使用单独的软件包方式出现的部分应用程序慢慢的被应用到了互联网中,采用出租服务的形式为用户提供服务,这不但提升了研发效率,还使得研发工作不再那么繁琐。

6 结论

伴随着计算机的快速发展和信息技术的不断进步,我们发现无论是在生活中还是在工作上都有计算机的参与,人们对计算机具备的功能提出了越来越高的要求,这样引起了应用程序编程模型向着更高方向发展,本文以计算机应用程序编程模型的发展探讨为题,对其所有的发展环节进行了细致的研究,发展环节包括单层模型、双层模型、多层模型、分布式模型以及以万维网为视角的多层模型,由于人们对计算机越来越依赖,未来计算机应用程序编程模型会继续发展下去。

参考文献

[1]李红岩.计算机应用程序编程模型的发展探讨[J].电子制作,2014(20):71.

[2]高书豪.计算机应用程序编程模型的发展探讨[J].硅谷,2014(07):157-158.

[3]谭曦.论计算机应用程序编程模型的发展[J].电脑与信息技术,2001(02):51-53.

[4]罗新建.计算机应用程序编辑模型的发展[J].数字技术与应用,2013(08):89.

[5]王执源.计算机应用程序编程模型发展方向探析[J].信息与电脑(理论版),2016(17):55-56.

[6]余娅梅.探讨计算机应用程序编程模型的发展方向[J].电脑编程技巧与维护,2015(16):16-17+25.

程序编程范文5

在机械加工中,沿圆周均布的圆弧凹槽是比较常见的结构,采用常量编程,加工程序编制、调试复杂,没有通用性,编程效率低。基于上述,采用变量编程对圆周均布的圆弧凹槽典型零件结构进行参数化编程,对该类零件凹槽结构的数控编程只需像调用固定循环指令一样,指定圆弧凹槽几何参数,即可用于加工,大大提高了编程和程序调试效率,对圆周均布相似结构形状的数控铣削加工编程具有借鉴意义。

一、FANUC 0i系统宏程序编程基础

1.变量

变量是宏程序中最重要的要素,变量提供了参数化程序中的关键元素――可变量,变量里存储的是一些可以改变的数据。变量用#i表示(i=1、2、3…),变量引用将跟随在一个地址后的数值用一个变量来代替,即引入了变量,如G01X#1F#2。

2.控制指令

控制指令起到控制程序流向的作用,实现程序的跳转。宏程序编程时主要使用下面两种转移和循环语句:①IF语句(条件转移:IF[条件表达式]GOTO n;);②WHILE语句(当……时循环)。

由WHILE语句构造的DO循环最多可以进行3重嵌套,但循环不能交叉,条件转移IF语句可以跳出WHILE循环,但不能跳入WHILE循环。

3.宏程序的定义和调用

宏程序的定义和子程序的定义相似,不同之处主程序采用G65或G66指令调用宏程序,而使用M98指令调用子程序。宏程序还可以用G代码、M代码调用。

宏程序的调用格式是G65或G66 P_L_。G65为非模态调用,G66为模态调用,P值为宏程序的程序号,L值为调用次数,“”传递到宏程序的数据。“”有两种格式,应用时一般采用自变量赋值Ⅰ,即用英语字母后加数值进行赋值,除了G、L、O、N和P之外,其余21个英文字母都可以给自变量赋值,每个字母赋值一次,从A、B、C……X、Y、Z ,赋值不必按字母顺序进行,但I、J、K例外,不赋值的字母可以省略。

二、圆周圆弧凹槽铣削宏程序的设计

1.圆周圆弧凹槽宏程序设计

建立圆弧凹槽宏程序编程模型如图1所示,编程坐标系原点在工件几何中心O点,定义圆周均布圆弧凹槽几何参数和刀具半径变量如下:#1表示凹槽起始角度,#2表示凹槽终止角度增量值,#3表示凹槽的宽度,#18表示凹槽中心圆周半径,#6表示凹槽个数,#10表示槽间角度值(#10=360/#6),#17表示层切距,#26表示槽深(槽深与层切距须为整数倍关系),#11表示Z坐标绝对值,#2表示刀具半径。

设计圆周均布凹槽宏程序流程图如图2所示,为2层嵌套循环,凹槽加工个数循环为外层循环1,实现圆周均布n个槽的加工;每个凹槽深度分层加工循环为内循环2,完成槽深加工,每层凹槽加工走刀路线设计为图1中点1点2点3点4点5点6点1,其中点1为下刀点和返回点。

2.圆弧凹槽宏程序源代码

由上述圆周均布凹槽宏程序设计流程图,根据FANUC0i-MC系统编程指令即可编制程序源代码。为便于宏程序编程和使用,列变量和参数如表所示,编写圆周均布凹槽宏程序如O8201所示。

三、加工实例

1.加工工件分析

某工件如图3所示,工材铝合金,要求加工圆周均布的6个圆弧凹槽,深度12mm。由图可知,凹槽底面坐标值12mm,凹槽分布圆周半径42.5mm,宽度15mm,凹槽起始角度自变量初值-15°,圆弧凹槽终止角度增量值30°,刀具半径选取4mm,层间距选取3mm,每个槽的Z轴自变量初值取为层间距,凹槽个数6。建立编程坐标系原点在工件几何中心,Z轴零点在工件顶面。

2.圆周圆弧凹槽宏程序的使用

通过G65引数赋值调用圆弧凹槽宏程序,即可实现该工件圆弧凹槽的加工。根据工件分析,加工6个圆弧凹槽引数赋值:D4、Z12、R42.5、C15、A-15、B30、Q3、K6。至此,可编制该工件凹槽加工主程序如O0001所示,粗、精加工时只需改变刀具半径变量值即可。

程序编程范文6

4轴加工在实际的应用中比较广泛。随着多轴加工设备的应用普及,特别是5轴机床(加工中心)、复合加工中心等广泛应用,对4轴加工的专门研究相对较少。4轴加工作为多轴加工的一种类型,具有多轴加工程序的共性又有自身的特殊特点。本文以美国参数技术公司的Creo parametric 2.0软件加工模块Pro/NC为平台,重点探讨4轴粗加工刀路的生成、阵列、非加工路径的客户化及后处理程序设置方面的问题。

一、4轴加工模型的建立

4轴加工类型总体上可以分类为“索引”和“多轴”两种类型。“索引”类型加工主要包含4轴的粗加工和4轴的钻孔加工。“多轴”类型加工主要包含4轴的钻孔加工、4轴的区域加工和圆柱凸轮的加工。在Pro/NC的加工环境中,在一个“序列”内的刀具运动基本属于“多轴”的特点,而刀具在不同“序列”之间的“非加工”刀路就属于“索引”类型。图1为本文所引用的加工模型的参照模型。

要完成加工程序的创建,首先要创建“操作”(图2、图3),建立一个操作的必要设置包括:①装配参照模型;②加工原点(程序坐标系);③退刀面。

其他可选用的设置项目:参数――头文件和末文件;选项――设定毛坯材料;夹具设置――指定夹具模型;工艺――程序实际加工时间运算;属性――加工程序的名称。

加工中心设置可选用的设置项目也比较多,主要包含“输出”、“刀具”、“参数”、“装配”、“行程”、“循环”和“属性”。如图4所示,此处可以指定“后处理器”。

“操作设置”完成后,下一步即为创建“序列”。

二、加工程序生成与阵列

生成单个凹槽的粗加工程序,如图5、图6所示。在生成加工“序列”之前先指定一把加工刀具,刀具名称“T0001”,直径8mm,刀长100mm。刃长20mm,底刃圆角R为1mm。然后选择“粗加工”,在对话窗口中,定义“加工窗口”如图6顶部曲线,窗口类型为“草绘窗口类型”,“放置平面”、“深度”和属性选项均采用缺省值,“选项”表设置以刀具加工“在窗口围线内”,并选择“T0001”为加工刀具。设定的主要加工参数如表所示。

由于零件的形状为回转体,在圆周的四周均布4个形状尺寸完全相同的槽,因此“窗口铣削”粗加工程序完成后,接下来就是对这个粗加工程序作含1个主例和3个子例的阵列。在Creo 2.0的加工环境中,仍然保持该软件的突出特点,基于特征的完全相关性。高度完全相关性的特点是当下“在并行环境中,一体化协同设计与制造”不可缺失的。对于生成的各种类型的加工程序,Creo仍然像处理一个特征那样的简单、高效,例如我们在实际应用当中经常用到的特征“成组”、“复制”和“阵列”等操作方式在加工环境中同样适用。具体步骤是在“特征树”窗口中,选择预阵列的“序列”,按鼠标右键在快捷菜单中选择“阵列”。接下来的操作就是在“阵列”对话界面中选择阵列类型为“轴阵列”、阵列个数为4以及圆周阵列的中心轴等,“阵列”操作就可完成。

三、加工子程序生成

上述操作简单直观,效率也较高,同时易于观察刀路轨迹和移除切削材料。采用“阵列”方式生成的加工程序就是对每个加工的槽重复运行相同的刀路。无疑这种方式产生的加工程序代码比较长。和阵列方式加工结果完全相同的是采用子程序的方式。采用子程序的方式的最大优点就是生成的程序较为精炼和可读性强,且程序生成的用时较少。对于利用子程序这种方式,每次子程序被调用,加工工件就相应地转动一个角度,即前面提到的“分度”加工类型。在制造“操作”栏点取“子程序”工具,然后在“菜单管理器”中选择已创建的窗口加工程序“roughing”,进入子程序创建对话定义界面,如图8所示。这种操作的结果就是生成一个加工的“构建操作”加工特征,此特征在“模型树”窗口中可见。在生成的NCL代码文件中出现下面的子程序调用代码。

四、后置处理的设置

Pro/NC在加工刀路程序生成以后,生成的程序为ASCII格式的刀位置(CL)数据文件,即我们所说的APT程序。APT程序可读性强,但是不能直接传输到机床上用于加工。这些文件在传输到机床控制系统之前,需要通过“后处理”以创建“加工控制数据”(MCD)文件。Pro/NC提供2种方式的后处理类型,一种是gpost,也是缺省使用的类型,用的是Intercim Corporation提供的G-Post后处理器。另一种是ncpost,使用的是NC ManufacturingPOST后处理器。Pro/NC在缺省状态下提供给用户17种铣加工后处理器和5种车削加工后处理器。但这些后处理器一般不包含对子程序代码的处理,所以需要用户使用FIL(Factory Inerface Language)工厂界面语言编写。图9为后置处理过程及过滤程序Filter文件的作用。在流程图中CL文件为刀位程序文件,nn为后处理程序机器号。

五、结论

上一篇环保督查

下一篇威武的盾牌