东风汽车有限公司客户购买了一台808D ADVANCED车床,在实际使用过程中,由于PPU150.3T的零点偏置只有6个,实际客户需要使用将近20个,PPU150.3无法扩展零偏,为了满足客户的编程使用,通过调用框架(英文FRAME,含义为坐标系)指定系统变量 $P_UIFRNUM 可以直接访问使用 $P_UIFR或者 G54, G55, … 最新设置的零点位移($P_UIFRNUM 含有最新设置的框架的编号)。
1. 数据调用$P_UIFRNUM
$P_UIFRNUM 使用该变量可以自动建立与当前可设定零点偏移坐标系的联系。例如:G500则对应$P_UIFRNUM = 0 G54对应$P_UIFRNUM = 1
$P_UIFR[n, …, …] 通过给出框架号n,从而使用可设定框架n,然后再通过其他变量向其中赋值。例如G500中对应的偏移量的数值存储与变量$P_UIFR[0]中,G54中对应的偏移量的数值存储与变量$P_UIFR[1]中.
需要读出或者修改的变量细分说明如下
TR ------ TR 平移
FI ----- FI 精细平移
RT ----- RT旋转
SC ----- SC Scale 改变比例尺
MI ----- MI 镜像
X Y Z-----此外还指定相应的轴X,Y,Z
在方括号中的是要访问或者修改的轴名称和值的框架组件,例如 [X, RT] 或者 [Z, MI].
2. 预定义可设定框架$P_UIFR[n]
通过预定义框架变量 $P_UIFR[n] 可以从零件程序出发读取或者写入可设置的零点位移 G54 ~ G599 。 这些变量所表示的是名称为$P_UIFR[n] 的FRAME类型的一维数组结构。
例如:用户循环程序L5401.SPF: $P_UIFR[1,X,TR]=R210 $P_UIFR[1,Z,TR]=R211 $P_UIFR[1,SP,TR]=R212 (含义为G54-$P_UIFR[1]对应的X,Y,和主轴SP的偏移量来自于R210,R211,R212三个R变量) G54M17

HMI界面需要单独开发如下:

3. G指令的分配
按照标准有5个可调节框架 $P_UIFR[0]... $P_UIFR[4] 或者5个同样意义的G-指令– G500 和 G54 到 G57 , 在这些地址下可以保存值。
$P_IFRAME=$P_UIFR[0] 相当于 G500
$P_IFRAME=$P_UIFR[1] 相当于 G54
$P_IFRAME=$P_UIFR[2] 相当于 G55
$P_IFRAME=$P_UIFR[3] 相当于 G56
$P_IFRAME=$P_UIFR[4] 相当于 G57
通过机床数据可以改变框架的个数:
$P_IFRAME=$P_UIFR[5] 相当于 G505
... ... ...
$P_IFRAME=$P_UIFR[99] 相当于 G599
注意
这样可以生成总计100个坐标系,例如可以超越程序范围将这些坐标系作为各种装置的零点来调用。