日常的数控加工编程绝大多数采用基础性的顺序结构编程方法——普通程序编程,其程序的执行过程遵照自上而下的顺序执行原则。在遇有大量的外形相近零件或同一零件的类似加工部位时,继续沿用普通程序编程,不仅会使加工程序冗长且不易修改,还会使存储空间占用过大。
以某混凝土泵车的臂架为例,
每台泵车共有结构相近但尺寸不同的4支臂架——第1号~第4号,
某混凝土泵车上第4号臂架结构示意
每支臂架有5组左右对称的孔(第2号臂架仅有2组孔),所有各孔的加工过程为粗镗孔→精镗孔→孔内外端面划线→划线后铣面→钻孔;孔的加工程序在按逐件、逐孔、逐工步的顺序化加工方式编制为普通程序时,程序段的总数超过1000行,并且每个工步的加工均需反复搜索程序段才可执行,如此甚为麻烦且生产率较低。
臂架普通程序编程的流程图
此种情况下,若编程人员使用数控系统提供的参数(变量)、控制语句、运算符和表达式、赋值操作(=)及宏程序调用命令,则冗长且不易修改的普通程序会被大幅精简且变得易于修改,还会实现流程控制,从而做到最短的程序段表达有规律的相近的尺寸变化。
如在上述混凝土泵车臂架示例中,
一是给定1个参数(如SINUMERIK系统的R20),R20=1表示加工右侧面,R20=-1表示加工左侧面;
二是给定1个参数表示加工孔的序号,R21=1、2、…、5;
三是给定1个参数表示加工方式,R22=1为粗镗削,R22=2为精镗削,R22=3为内外端面划线,R22=4为铣削内外端面,R22=5为钻孔加工;
四是定义5个二维数组和1个参数,分别表示各孔的空间位置与所加工的工件号……。完成臂架所有参数的定义并赋值后,便可实现参数化的宏程序编程
臂架参数化宏程序编程的流程图