SINUMERIK系统的刀具管理数据变量,既可为切削刀具提供补偿值之外的管理特性数据,用以识别T编号对应的刀具标识符和双号、刀具状态等;也可为OEM用户提供二维数组式刀具管理数据变量,以便用户自行拓展切削刀具的相关特性,如Marposs量仪等;还可为磨削用户提供专用的二维数组式磨具管理数据变量,以便用户在多行变量寻址后识别磨具类型、磨具直径/宽度/速度等特性。此外,刀具管理数据变量为西门子CNC系统预留了$TC_TPCSn[t]等变量,以便满足后续复杂/高级应用的发展需要。
给出倒立式轴类车削中心的姊妹刀状态检查宏程序TOOL_DUPLO_CHECK.SPF(简写T_D_C.SPF)。
TOOL_DUPLO_CHECK.SPF;
WDZ350型倒立式轴类车削中心的姊妹刀状态检查宏程序
/_N_CMA_DIR/;
存储路径:机床制造商循环目录
PROC TOOL_DUPLO_CHECK(STRING[16] T_NUMBER,INT D_NUMBER) DISPLOF SBLOF SAVE PREPRO;
PROC标记T_D_C.SPF,说明变量类型和变量名称,DISPLOF抑制当前程序段显示,SBLOF关闭程序单段执行机能,SAVE保护T_D_C调用时的所有模态G机能和当前框架,PROC行内PREPRO给定引导启动的准备文件
DEF INT _COUNT[1];
自定义整数类型变量_COUNT[1]
T=T_NUMBER D=D_NUMBER;
选择刀具T_NUMBER,刀沿为D_NUMBER
FOR_COUNT[0]=1 TO TOOLGNT(T_NUMBER);
姊妹刀循环搜索激活,TO为FOR循环的终点值——组内T编号,TOOLGNT为组内刀具编号
IF ($TC_TP8[GETT(T_NUMBER,_COUNT[0])] B_AND 'B1') AND ($TC_TP8[GETT(T_NUMBER,_COUNT[0])] B_AND 'B10') AND (B_NOT $TC_TP8[GETT(T_NUMBER,_COUNT[0])] B_AND 'B100');
B_AND为逐位逻辑与[0&0=0,1&0=0,1&1=1],B_NOT为逐位逻辑非[原值取反],GETT(T_NUMBER,_COUNT[0])给刀具T_NUMBER设定编号1,$TC_TP8[…]给定刀具T1状态
GOTO _NEXT; 跳转至标识符_NEXT
ENDIF; IF跳转结束
ENDFOR; 姊妹刀循环搜索结束
_NEXT:; 标识_NEXT
R43=GETT(T_NUMBER,_COUNT[0]) R42=D_NUMBER;
刀具T_NUMBER编号_COUNT[0]存入R43,D编号存入R42
RET; 子程序T_D_C.SPF返回上一层