MD24050 $MC_FRAME_SAA_MODE
参数说明:保存和激活数据管理框架。下列位用于保存和激活数据管理框架。该数据各个位的含义为:
位0:数据管理框架仅能通过编程$P_CHBFRMASK、$P_NCBFRMASK和$P_CHSFRMASK激活。G500到G599只激活对应的可设置框架,GFRAME0..GFRAME100只激活对应的磨削框架 。复位特性与该设置无关。
位1:数据管理框架不能通过系统功能如TOROT、PAROT、外部零点偏移和转换隐含写入。
例1:默认参数,大家都知道的结果
设置下面参数:
MD24050 $MC_FRAME_SAA_MODE=0
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES=3
MD28081 $MC_MM_NUM_BASE_FRAMES=5
MD24002 $MC_CHBFRAME_RESET_MASK=’FFFF’
设置好后,在“基本”页面,可以看到有3个全局基本零偏和5个通道基本零偏,如下图。
图片
我们设置一个全局基本零偏和一个通道基本零偏的X轴偏移,如下图:
图片
然后,再设置G54的X轴偏移,如下图:
图片
然后,我们执行程序:
N10 g0 g500 x0
N20 g54 g01 X33 F50
N30 m02
执行N10时,X轴要移动32mm,这是两个基本零偏的和:11+21=32mm
图片
执行N20时,X轴要移动36mm,这是G54零偏和程编X坐标的和:3+33=36mm
图片
执行完程序后,X坐标为:32+36=68mm
图片
大家对这个结果都没有什么疑问。
但是,这个结果是有参数可以控制的。
之前在文章《Frame学习14》中,提到了个参数MD24002 $MC_CHBFRAME_RESET_MASK,但并没有举例说明。今天的内容涉及到了。
例2:控制通道基本零偏的参数MD24002
设置下面参数(红色标出的是修改的数据)
MD24050 $MC_FRAME_SAA_MODE=0
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES=3
MD28081 $MC_MM_NUM_BASE_FRAMES=5
MD24002 $MC_CHBFRAME_RESET_MASK=0
基本零偏和G54零偏和例1相同。
执行例1的程序:
N10 g0 g500 x0
N20 g54 g01 X33 F50
N30 m02
执行N10时,X轴要移动11mm!即全局基本零偏有效,而通道基本零偏无效了,因为MD24002=0(它的每一位对应一个通道基本零偏)。
图片
这样程序结束时,X轴坐标为47mm
那很自然想到,有参数控制全局基本零偏吗?有的,这个参数是MD10603
$MN_NCBFRAME_RESET_MASK
例3:基本零偏都不生效
MD10603 $MN_NCBFRAME_RESET_MASK=0
MD24002 $MC_CHBFRAME_RESET_MASK=0
零偏设置和程序都和例1相同。
执行N10时,X轴坐标0mm,因为此时基本零偏都不生效了。
图片
程序执行完,X轴坐标为36mm
例1到例3,说明了基本零偏受MD10603和MD24050控制,但这两个参数是“复位”生效的,我们能在NC程序控制基本零偏吗?可以的
$P_NCBFRMASK — 在程序中可控制全局基本零偏的变量
$P_CHBFRMASK — 在程序中可控制通道基本零偏的变量

例4:控制基本零偏的变量
设置参数:
MD10603 $MN_NCBFRAME_RESET_MASK=’FFFF’
MD24050 $MC_FRAME_SAA_MODE=0
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES=3
MD28081 $MC_MM_NUM_BASE_FRAMES=5
MD24002 $MC_CHBFRAME_RESET_MASK=’FFFF’
基本零偏和G54零偏的设置同例1。
执行程序:

执行到N120,可以看到:
图片
$P_NCBFRMASK变量为7,是因为激活了3个全局基本零偏;而$P_CHBFRMASK变量为31,是因为激活了5个通道基本零偏。那么,根据MD10603和MD24002的设置,这8个基本零偏都激活了,所以,执行到N120时,X轴坐标是:11+21=32mm
执行到N160,可以看到:
图片
N130保持了所有全局基本零偏的激活状态,而N140是所有通道基本零偏失效。因此,执行到N160时,X轴的坐标是:11mm
执行到N200,可以看到:
图片
N170取消了全局基本零偏,N180取消了通道基本零偏,因此执行到N200时,X轴坐标为0mm

我们知道了有参数和系统变量可以控制基本零偏是否生效,那MD24050的作用呢?
例5:各管各的
设置参数
MD20110 $MC_RESET_MODE_MASK位14=0
MD10603 $MN_NCBFRAME_RESET_MASK=’FFFF’
MD24050 $MC_FRAME_SAA_MODE=0
MD18602 $MN_MM_NUM_GLOBAL_BASE_FRAMES=3
MD28081 $MC_MM_NUM_BASE_FRAMES=5
MD24002 $MC_CHBFRAME_RESET_MASK=’FFFF’
执行程序:
N10 $P_ncbfr[0]=ctrans(x,12)
N20 $P_chbfr[0]=ctrans(x,22)
N30 g54 g01 X33 F500
N40 m02
执行N30时,显示:
图片
X轴要移动70mm(=12+22+3+33)
修改MD24050 $MC_FRAME_SAA_MODE=1
再次执行程序,执行到N30时,显示:
图片
X轴要移动36mm(=3+33),即基本零偏没有生效(因为MD24050=1),此时如果修改程序为:
$P_NCBFRMASK=1
$P_CHBFRMASK=1
N10 $P_ncbfr[0]=ctrans(x,12)
N20 $P_chbfr[0]=ctrans(x,22)
N30 g54 g01 X33 F500
N40 m02
再次执行程序,系统显示:
图片
此时,“$P_NCBFRMASK=1”激活了全局基本零偏,而“$P_CHBFRMASK=1”激活了通道基本零偏。

注意:MD20110为14必须为“0”,才能有MD24050不同设置导致的不同。

—————————–