APP下载

FANUC数控系统参数化编程研究

2013-04-06李兆祥

时代农机 2013年3期
关键词:宏程序程序员流程图

李兆祥

(河南工业技师学院,河南 郑州 450007)

自从基于NC和CNC编程语言出现以来,参数化编程方法一直在发展之中。以前参数化编程需要的设备相当昂贵,因为用户必须拥有配置强大的计算机和功能强大的软件。科技发展到今天,需要的唯一设备(计算机)是机床的CNC系统,并配备相对低廉的FANUC用户B类宏程序。个人计算机或便携式计算机确实方便,但不是绝对必要的。参数化编程也称为类零件编程,顾名思义,是属于同一类的一组相似零件,可通过使用变量数据而不是特定的尺寸数据或加工数据来进行编程。什么样的数据可以是变量类型的数据呢?

程序中的任何数据都可以是变量数据。加工条件随不同毛坯材料、不同的切削刀具材料、使用的机床(轻型或重型)、尺寸数据、表面粗糙度要求、公差等发生改变。当基本特征不变时,切削的深度、宽度、数量、主轴转速、进给速度等也会发生改变。比如拿一个必须加工成一定长度和宽度的矩形为例。如果要加工许多矩形,那么这两个尺寸特征就是变量特征。传统的方法是对每个矩形都要编一个单独的程序。最有效的方法,则是编一个适用于任何矩形的宏程序。通过替代长度变量和宽度变量,就可以重新使用这个程序。其优点也就显而易见了。

1 编程参数化的优点

生产中的快速转换是宏程序中类零件的最大优点。开发宏程序比开发标准程序常常需要更多的时间,但花费这些时间往往是明智的选择,尤其是如果经常使用宏程序的话。了解参数化编程具备的优点,有助于更好地判断何时开发参数化程序合适还是何时开发标准程序合适。

(1)总体优点:同类零件间的快速转换加工;缩短了程序检查辅助时间;改进了产品质量;降低了整体生产成本。个别来讲,在生产和编程领域更能体现出其优点。

(2)在生产领域的优点:减少了零件废品;提高了零件的加工质量;由于加工标准化,降低了加工成本;提高了CNC机床的生产率;间接减少了维修费用。

(3)在编程领域的优点:编程时间急剧减少;编程错误减少或消除;所有相似零件的一致性;同类多组时更容易减少工作量。

何时进行参数化编程?为从参数化编程方法中获益,采取的第一步是识别合适的零件,并不是每个编程作业都适合参数化编程。在决定参数化编程时应该权衡利弊,有如下的几种情况适宜参数化编程:很多形状相同而尺寸不同的零件;很多形状相似的零件;包含刀具路径重复的零件。

2 进行参数化程序设计的方法

当涉及实际编写参数化程序或任何其它宏程序时,编程员可根据个人偏好从中选择。宏程序通常都是由经验丰富的程序员编写,他们已经形成了自己的某种编程风格。而且,大多数程序员的某些方法都在实际工作中经过检验。首要考虑的而且最重要的是要有一个目标。那么宏程序应该达到什么样的目标呢?

接下来我们通过一个简单但很全面的计划开发宏程序的例子步骤来指导我们如何成功的开发一个宏程序。

(1)首先确定主要目标。很多编程员可能把目标定得太高,并且想要在一个宏程序中来实现。这样可能好高骛远,适得其反。在决定宏程序所要完成的目标后,估计其它的可能性,再放弃不切实际的部分目标。通常用两个短的宏程序要比用一个长的宏程序好得多。

(2)提前制定好的计划。好的计划是成功的关键。首先由图纸开始,为参数化程序研究类似的图纸。确定哪些特征不变,哪些特征可能发生改变。不要忘记零件的材料、装夹方法、使用的机床和刀具。试图预测哪些特征可能会在后面的相似图纸中存在。尽量想在前面,估计尽可能多的选择。跟其他程序员请教他们的看法。尽管设定的目标正确,但较差的计划也会产生较差的宏程序,要建立严格的标准。

(3)做一个大体的规划。看到的才是可信的,画出示意性的草图来展示宏程序的全部特征。如果有必要使用细节,确定关键的位置,例如程序零点、间隙、刀具的起始点、偏置量、换刀点(如果需要)等。如果宏程序要求使用数学公式,那就应该包括所有的公式,如草图里的几何公式和用作测试特征点的测试公式。这样的工作草图,无论有没有计算,都应该记录到最近的日期,然后存档作为以后的参考。

(4)确定刀具路径方法。确定刀具如何靠近工件,切削工件,切削完成后离开的方法。考虑现在的零件还有以后的零件。是使用一把刀具还是有必要使用多把刀具?刀具路径是否唯一?起始点是否安全?计算深度、宽度、步距宽度、走刀次数、钻孔间隙、粗加工和精加工,以及其它的考虑因素都是怎样的?收集能收集到的一切信息,包括加工条件,例如主轴转速和进给速度。记住,包括的变量数据越多,参数化程序或宏程序的功能就越强大。但这样将会使开发和校验的过程更长。

(5)识别和组织变量数据。一旦收集了信息,识别和组织数据就是密不可分的。确定哪些局部变量将会在G65命令程序段中定义为自变量。不包括可以计算的数据,但包括可以从图纸中读出的数据,即使不直接用到它们。例如:宏程序可能需要在计算中用到圆弧半径,可图纸中给出的是直径值。提供直径,再在宏程序体中除以2作为自变量要比输入半径作为白变量好。注意要求输入的是小数还是负数。如果可能就用相关的助记符变量赋值,例如:A(#1)用于输入角度,R(#18)用于输入半径等。这并不总能实现,但是有总比没有好。总是要在文件中注明所有变量的含义,以免以后容易忘记。

(6)设计程序流程。清晰的流程图在宏程序开发阶段是很有帮助的。很多程序员把流程图看作程序开发的必经阶段,甚至坚持使用。在宏程序中所有的编程目的都是可行的,例如循环,条件测试,分支,做决策等,在流程图中可以用图表表达。一旦流程图设计好,就要使用不同的输入条件和结果反复进行测试。宏程序应该可以在任何场合下工作。不要担心测试中出现的不可能或不可测的状况。如果流程图逻辑失败而且流程图是正确的,那么宏程序需要重新设计和测试,这种错误在草案设计中经常出现。随着经验的增长,就会建立另一种设计程序流程的方法,称为伪代码设计,这是软件工程师常用的方法。伪代码设计是非常严格和细致的过程,通常用正规语言书写,并需依次列出所有步骤要完成的工作。它不如流程图方便,但是很实用。

(7)不对缺省值计数。在标准的CNC编程中,许多程序员记录控制系统缺省值的个数,但不包括一些程序代码,尤其是一些准备G代码,例如他们记录缺省的系统单元,但不包括程序中的G20和G21命令。同样的也不包括G90和G91命令,和其它的一些代码。总要记住所有的决策必须反映到宏程序中,不要想当然,也不要记录系统缺省值的数目。

(8)编写宏程序。这个阶段要求将宏程序代码书写在纸张上、控制器中或计算机文件中,其目的是为了开发实际的加工程序。以相同的顺序和逻辑使用在流程图中或在伪代码中的数据,并将它们转换成FANUC宏程序代码。把宏程序编写成文件非常重要,但仅仅是好还是不够的,只有编写得最好的宏程序文件才能使用。将宏程序编写成文件不仅仅是为了CNC操作员,对于任何使用宏程序的程序员来讲是永久可用的文件。非常明显的程序在今天将在很短的时间内消失,文件可以以注释的形式做成内部文件,或以无格式的语言描述成外部文件。同样重要和迫切的是,必须在宏程序执行前保存所有当前的程序设置,按需要在宏程序内改变设置,并在宏程序退出前恢复原始设置。这种方法是一种专业水平的标志,能使程序更加完美,实践性更强。

3 结语

参数化编程绝不是要代替其它的方法——只是其它方法的提高。在参数化的宏程序开发上花费时间是明智的投资。为使经济高效,参数化编程带来的益处必须是可预测和可测量的。

[1](美)Smid,P.(斯密德).FANUC CNC custom Macros:Programming Resources for FANUC Custom Macro B Users[M].U.S.A:McGraw-Hill,2004.

[2]北京发那科公司.FANUC机床操作手册[M].北京:2005.

[3](印)S.K.Sinha.FANUC数控宏程序编程技术[M].北京:科学出版社,2011.

猜你喜欢

宏程序程序员流程图
为了让妈妈看懂地图,一位“野生程序员”做了个小程序
椭球槽宏程序编制及其Vericut仿真
怎样成为一名优秀程序员
程序员之子
应用Fanuc宏程序的球面螺旋加工程序编制
专利申请审批流程图
专利申请审批流程图
加班
椭圆宏程序在数控车床加工的方法
G代码B类宏程序在数控切割参数化图形库中的应用