下面以FANUC系统为例,利用宏指令中的工件零点偏置值系统变量(#5201—#5284),局部变量(#1—#26),编制工作台回转后坐标系自动计算的程序。
1、主程序
O1234
G65P8000U_W_I_J_;(调用宏程序)
G00 G90 G54 IP_;
...... (G54面加工内容)
G00 G90 G55 IP_;
...... (G55面加工内容)
G00 G90 G56 IP_;
...... (G56面加工内容)
G00 G90 G57 IP_;
...... (G57面加工内容)
2、宏程序:
O8000
#24=5221;(取G54工件坐标系零点偏置值并赋值变量)
#25=#5222;
#26=5223;
#2=#5224;
#101=2*#21-#24-#5;(计算G55工件坐标系零点偏置值并写入数据)
#104=2*#23+#4-#26;
#105=#2+180;
#5241=#101;
#5242=#25;
#5243=#104;
#5244=#105;
#111=#21+#23-#26;(计算G56工件坐标系零点偏置值并写入数据)
#114=#23+#24-#21+#5;
#115=#2+900;
#5261=#111;
#5262=#25;
#5263=#114:
#5264=#115;
#121=#21+#26-#23-#4;(计算G57工件坐标系零点偏置值并写入数据)
#124=#23+#21-#24;
#125=#2-900;
#5281=#121;
#5282=#25;
#5283=#124;
#5284=#125;
M99;
3、说明:
①将第一个面的X、Y、Z轴向的程序原点坐标存入机床工件坐标系存储单元G54中。将工作台回转中心值向主程序U赋值;将工作台回转中心值向主程序W赋值。
②将工件宽度,向主程序J赋值,工件厚度向I赋值。
③运行主程序,系统将自动计算G55、G56、G57三个工件坐标系的工件(程序)原点,并存入相应的工件坐标系存储单元。
④赋值关系:U→#21,W→#23,I→#4,J→#5。
⑤系统变量含义:#5221 - #5224:第一轴到第四轴G54工件零点偏置值;
#5241 - #5244:第一轴到第四轴G54工件零点偏置值;
#5261 - #5264:第一轴到第四轴G54工件零点偏置值;
#5281 - #5284:第一轴到第四轴G54工件零点偏置值;