2009年11月24日星期二

Siemens 840D悬垂补偿,如何补双向

Siemens 840D悬垂补偿,如何补双向

摘要:西门子840D数控系统不同于以前曾广泛应用的810T/M和840C等老数控系统,它并

没有提供专门的双向螺距误差补偿功能,通过对840D系统中的下垂补偿功能的分析研

究,找到了一种方法,成功的解决了进行双向螺距误差补偿的问题。

关键词:数控系统 下垂补偿功能 双向螺距误差补偿

由于机床丝杠在制造、安装和调整等方面的误差,以及磨损等原因,造成机械正反向

传动误差的不一致,导致零件加工精度误差不稳定。因此也必须定期对机床坐标精度

进行补偿,必要时要做双向坐标补偿,以达到坐标正反向运动误差的一致性。

一、西门子840D数控系统的补偿功能

西门子840D数控系统提供了多种补偿功能,供机床精度调整时选用。这些功能

有:

1、温度补偿。

2、反向间隙补偿。

3、插补补偿,分为:

(1) 螺距误差和测量系统误差补偿。

(2)下垂补偿(横梁下垂和工作台倾斜的多维交叉误差补偿)。

4、动态前馈控制(又称跟随误差补偿)。包括:速度前馈控制和扭矩前馈控制。

5、象限误差补偿(又称摩擦力补偿)。分为:常规(静态) 象限误差补偿和神经网络

(动态)象限误差补偿。

6、漂移补偿。

7、电子重量平衡补偿。

在西门子840D功能说明样本和资料中所列的众多补偿功能中,都没有指出该系统

具有双向螺距误差补偿功能。但是在下垂补偿功能描述中却指出,下垂补偿功能具有

方向性。这样,如果下垂误差补偿功能,在基准轴和补偿轴定义为同一根轴时,就可

能对该轴进行双向丝杠螺距误差补偿,由此提供了一个双向螺距误差补偿的 依据。

二、840D下垂补偿功能的原理

1、下垂误差产生的原因:

由于镗铣头的重量或镗杆自身的重量,造成相关轴的位置相对于移动部件产生倾

斜,也就是说,一个轴(基准轴)由于自身的重量造成下垂,相对于另一个轴(补偿

轴)的绝对位置产生了变化。

2、840D下垂补偿功能参数的分析:

西门子840D数控系统的补偿功能,其补偿数据不是用机床数据描述,而是以参数

变量,通过零件程序形式或通用启动文件(_INI文件) 形式来表达。描述如下:

(1) $AN_CEC[t,N]:插补点N的补偿值,即基准轴的每个插补点对应于补偿轴的补偿

值变量参数。

(2) $AN_CEC_INPUT_AXIS[t]:定义基准轴的名称。

(3) $AN_CEC_OUTPUT_AXIS[t]:定义对应补偿值的轴名称。

(4) $AN_CEC_STEP[t]:基准轴两插补点之间的距离。

(5) $AN_CEC_MIN[t]:基准轴补偿起始位置:

(6) $AN_CEC_MAX[t]: 基准轴补偿终止位置

(7) $AN_CEC_DIRECTION[t]:定义基准轴补偿方向。其中:

★ $AN_CEC_DIRECTION[t]=0:补偿值在基准轴的两个方向有效。

★ $AN_CEC_DIRECTION[t]=1:补偿值只在基准轴的正方向有效,基准轴的负方向无

补偿值。

★ $AN_CEC_DIRECTION[t]=-1:补偿值只在基准轴的负方向有效,基准轴的正方向无

补偿值。

(8) $AN_CEC_IS_MODULO[t]:基准轴的补偿带模功能。

(9) $AN_CEC_MULT_BY_TABLE[t]:基准轴的补偿表的相乘表。这个功能允许任一补偿

表可与另一补偿表或该表自身相乘。

3、 下垂补偿功能用于螺距误差或测量系统误差补偿时的定义方法:

根据840D资料的描述,机床的一个轴,在同一补偿表中,既可以定义为基准轴,

又可以定义为补偿轴。当基准轴和补偿轴同为一个轴时,可以利用下垂补偿功能 对该

轴进行螺距误差或测量系统误差补偿。从补偿变量参数$AN_CEC_DIRECTION[t]的描述

中可以看出,由于下垂补偿功能补偿值具有方向性, 所以,下垂补偿功能在用于螺距

误差或测量系统误差时,可以理解为在坐标轴两个方向上可以分别给予补偿。一个表

应用于补偿轴的运行正方向,另一个表应用于补 偿同一轴的运行负方向。

三、840D下垂误差补偿功能几个关键机床数据的说明

1、NC 机床数据:

MD18342:补偿表的最大补偿点数,每个补偿表最大为2000插补补偿点数。

MD32710:激活补偿表。

MD32720:下垂补偿表在某点的补偿值总和的极限值,840DE(出口型)为1mm;840D(非

出口型)为10mm。

2、设定机床数据:

SD41300:下垂补偿赋值表有效。

SD41310:下垂补偿赋值表的加权因子。

由于这两个数据可以通过零件程序或PLC程序修改,所以一个轴由于各种因素造成的不

同条件下的不同补偿值可通过修改这两个数据来调整补偿值。

四、应用

下垂补偿功能应用于双向螺距误差补偿,其装载步骤与840D螺距误差补偿方法一

样。

例一:正向补偿文件

%_N_NC_CEC_INI

CHANDATA(1)

$AN_CEC[0,0]=0.000

$AN_CEC[0,1]=0.000

$AN_CEC[0,2]=0.000

$AN_CEC[0,3]=0.000

$AN_CEC[0,4]=0.000

$AN_CEC[0,5]=0.000

$AN_CEC[0,6]=0.000

$AN_CEC[0,7]=0.000

……

$AN_CEC[0,57]=0.000

$AN_CEC[0,58]=0.000 以上定义补偿插补点的补偿值

$AN_CEC_INPUT_AXIS[0]=(AX1) 定义基准轴

$AN_CEC_OUTPUT_AXIS[0]=(AX1) 定义补偿轴

$AN_CEC_STEP[0]=50 定义补偿步距

$AN_CEC_MIN[0]=-1450 定义补偿起点

$AN_CEC_MAX[0]=1450 定义补偿终点

$AN_CEC_DIRECTION[0]=1 定义补偿方向,正向补偿生效,负向无补偿

$AN_CEC_MULT_BY_TABLE[0]=0 定义补偿相乘表

$AN_CEC_IS_MODULO[0]=0 定义补偿表模功能

例二:负向补偿文件

%_N_NC_CEC_INI

CHANDATA(1)

$AN_CEC[1,0]=0.000

$AN_CEC[1,1]=0.000

$AN_CEC[1,2]=0.000

$AN_CEC[1,3]=0.000

$AN_CEC[1,4]=0.000

$AN_CEC[1,5]=0.000

$AN_CEC[1,6]=0.000

$AN_CEC[1,7]=0.000

……

$AN_CEC[1,57]=0.000

$AN_CEC[1,58]=0.000 以上定义补偿插补点的补偿值

$AN_CEC_INPUT_AXIS[1]=(AX1) 定义基准轴

$AN_CEC_OUTPUT_AXIS[1]=(AX1) 定义补偿轴

$AN_CEC_STEP[1]=50 定义补偿步距

$AN_CEC_MIN[1]=-1450 定义补偿起点

$AN_CEC_MAX[1]=1450 定义补偿终点

$AN_CEC_DIRECTION[1]=-1 定义补偿方向,负向补偿生效,正向无补偿

$AN_CEC_MULT_BY_TABLE[1]=0 定义补偿相乘表

$AN_CEC_IS_MODULO[1]=0 定义补偿表模功能

我们通过对840D/810D灵活多变的补偿变量的分析研究,不仅成功的进行了双向螺距误

差补偿,而且下垂补偿功能还可以应用于横梁的下垂补偿、台面的斜度补偿等方面。

SIEMENS 840D刀具管理参数与变量的应用(优秀论文)

SIEMENS 840D刀具管理参数与变量的应用(优秀论文)

摘要:刀具管理是加工中心维改过程中经常用到的重要功能,本文就其机床参数的含义与设置、刀具管理有关的系统变量的含义与应用进行详细地阐述。

 

SIEMENS 840D数控系统可选配刀具管理功能,它具有刀具装载、卸载、重新定位、刀具数据管理、刀具类型管理以及刀位搜索等功能,提供刀具管理数据修改功能FC块和后台数据块作为PLC接口,根据刀库结构形式来组态,灵活方便、功能强大,可适用于转塔式、链式、抽屉式以及多种特殊结构的刀库。

换刀、换附件通过NC编程与PLC编程相结合来实现,NC程序控制相应的轴定位,一定的步骤完成即通知PLC修改刀具管理数据,使其与实际状态始终保持一致。由于刀库有关数控轴通常分配在第2通道,NC编程时需注意两个通道之间的程序协调。如果将刀库有关的轴改变为PLC轴,则可以通过PLC程序来控制轴移动,为方便调试及点动操作,可设置单键切换回NC轴。

由于篇幅所限,本文仅就刀具管理功能有关的机床参数和系统变量进行阐述。

1.             机床参数

MD18080:MM_TOOL_MANAGEMENT_MASK,刀具管理内存(SRAM)区间设定。该参数为双字(DWORD)数据格式,其中位0~9有定义,分别设定不同的数据区是否有效。

MD18082:MM_NUM_TOOL,NCK能够管理的最大刀具数量。该参数取值范围为0~600,默认值为30,其设定值应大于或等于实际刀具总数。

MD18084:MM_NUM_MAGAZINE,NCK管理的刀库数量。该参数取值范围为0~32,默认值为3,刀库数量应包括虚拟刀库、系统内部定义的缓冲区(9998)和装载点(9999)。

MD18086:MM_NUM_MAGAZINE_LOCATION,NCK管理的刀位数量。该参数取值范围为0~600,默认值为30,其设定值应大于或等于实际刀位总数。

MD18088:MM_NUM_TOOL_CARRIER,可定义的最大刀架数量。该参数取值范围为0~99999999,默认值为0,如果应用刀架运动实现刀具补偿,则该参数值应大于或等于1。

MD18090:MM_NUM_CC_MAGAZINE_PARAM,OEM自定义的刀库描述数据数量。

MD18091:MM_TYPE_CC_MAGAZINE_PARAM[0…9],OEM自定义的刀库描述数据类型,MD18091[0]~[9]分别对应MD18090中规定的最多10个自定义数据的类型。

MD18092:MM_NUM_CC_MAGLOC_PARAM,OEM自定义的刀位描述数据数量。

MD18093:MM_TYPE_CC_MAGLOC_PARAM[0…9],OEM自定义的刀位描述数据类型,MD18093[0]~[9]分别对应MD18092中规定的最多10个自定义数据的类型。

MD18094:MM_NUM_CC_TDA_PARAM,OEM自定义的刀具描述数据数量。

MD18095:MM_TYPE_CC_TDA_PARAM[0…9],OEM自定义的刀具描述数据类型,MD18095[0]~[9]分别对应MD18094中规定的最多10个自定义数据的类型。

MD18096:MM_NUM_CC_TOA_PARAM,OEM自定义的刀沿描述数据数量。

MD18097:MM_TYPE_CC_TOA_PARAM[0…9],OEM自定义的刀沿描述数据类型,MD18097[0]~[9]分别对应MD18096中规定的最多10个自定义数据的类型。

MD18098:MM_ NUM_CC_MON_PARAM,OEM自定义的刀沿监控数据数量。

MD18099:MM_TYPE_CC_MON_PARAM[0…9],OEM自定义的刀沿监控数据类型,MD18099[0]~[9]分别对应MD18098中规定的最多10个自定义数据的类型。

MD18100:MM_NUM_CUTTING_EDGES_IN_TOA,每个TOA域中最大刀沿数量。

MD18105:MM_MAX_CUTTING_EDGE_NO,刀沿号的最大值。该参数取值范围为1~32000,默认值为9,其设定值应大于或等于MD18106值。

MD18106:MM_MAX_CUTTING_EDGE_PERTOOL,每把刀的最大刀沿数量。该参数取值范围为1~12,默认值为9,其设定值以满足实际应用即可。

MD10715:M_NO_FCT_CYCLE,调用换刀循环的M功能代码。该参数定义了每一个M功能代码调用一个对应MD10716中的循环运行。该参数默认值为-1(即无M功能代码生效)。

MD10716:M_NO_FCT_CYCLE_NAME,M功能调用的换刀循环名称。

MD10717:T_NO_FCT_CYCLE_NAME,T功能调用的刀具准备循环名称。

MD20310:MC_TOOL_MANAGEMENT_MASK,激活不同类型的刀具管理功能。该参数为双字(DWORD)数据格式,其中位0~23有定义,分别定义刀具管理功能的各种特性。

MD20320:MC_TOOL_TIME_MONITOR_MASK,激活刀具寿命(刀具在主轴x中使用的时间)监控。该参数数据格式位双字(DWORD),从低位到高位,状态“1”分别对应激活刀具在主轴1~主轴x中的时间监控。

MD22550:MC_TOOL_CHANGE_MODE,新刀具补偿生效的时间。该参数取值范围为0~1,默认值为0。

MD22560:MC_ TOOL_CHANGE_M_MODE,定义换刀M功能代码。该参数取值范围为0~99999999,默认值为6。

MD28085:MM_LINK_TOA_UNIT,指定TOA单元到通道,将组态号的TOA分配到目标通道中。

MD20110:MC_RESET_MODE_MASK,定义系统复位时各种功能与设置的状态。该参数为双字(DWORD)数据格式,其中位0~17有定义,分别定义复位时各种功能的状态。

MD20112:MC_START_MODE_MASK,定义程序启动时各种功能与设置的状态。该参数为双字(DWORD)数据格式,其中位0~17有定义,分别定义程序启动时各种功能的状态。

2.             系统变量

2.1 刀库数据

刀库数据包括刀库描述数据、刀位描述数据、刀位类型层次数据和换刀距离数据等。

$TC_MAP1[刀库号]:刀库类型。数据类型INT,预置值为0。1——链式,3——转塔式,5——抽屉式,7——缓冲区,9——装载点。

$TC_MAP2[刀库号]:刀库名称。数据类型STRING,预置值为空字符(“”)。

$TC_MAP3[刀库号]:刀库状态。数据类型INT,预置值为2。

$TC_MAP4[刀库号]:暂不可用。数据类型INT,预置值为-1。

$TC_MAP5[刀库号]:暂不可用。数据类型INT,预置值为-1。

$TC_MAP6[刀库号]:刀库列数。数据类型INT,预置值为1。

$TC_MAP7[刀库号]:刀库每列刀位数。数据类型INT,预置值为0。

$TC_MAP8[刀库号]:换刀位置时默认刀库位置。数据类型INT,预置值为0。

$TC_MAP9[刀库号]:默认磨损组号。数据类型INT,预置值为0。

$TC_MAP10[刀库号]:数据类型INT,预置值为0。其中位0~7:默认刀具搜索策略,位8~15:空刀位搜索策略。

$TC_MPP1[刀库号,刀位号]:刀位种类。数据类型INT,预置值为0。1——刀库刀位,2——主轴/刀座,3——手爪,4——装载位,5——传送位,6——装载站,7——装载点。

$TC_MPP2[刀库号,刀位号]:刀位类型。数据类型INT,预置值为9999。

$TC_MPP3[刀库号,刀位号]:是否考虑相邻位置。数据类型BOOL,预置值为“0”。“1”(TRUE)——考虑相邻位置,“0”(FALSE)——不考虑相邻位置。

$TC_MPP4[刀库号,刀位号]:刀位状态。数据类型INT,预置值为1。

$TC_MPP5[刀库号,刀位号]:刀位种类索引形式。数据类型INT,预置值为0。

$TC_MPP6[刀库号,刀位号]:在该刀位中的刀具刀号。数据类型INT,预置值为0,若无刀具则返回值0。

$TC_MPP7[刀库号,刀位号]:该刀位刀具适配器号。数据类型INT,预置值为0,若无刀具适配器则返回值0。

$TC_MAPC1~10[刀库号]:根据OEM定义。数据类型INT,预置值为0。根据MD18090参数定义该数据的有效数量。

$TC_MPPC1~10[刀库号,刀位号]:根据OEM定义。数据类型INT,预置值为0。根据MD18092参数定义该数据的有效数量。

$TC_MPTH[层次号n,刀位类型m]:刀位类型层次。数据类型WORD,预置值为9999。

$TC_MDP1[刀库号n,装载点号m]:刀库n的换刀位置到装载点库(9999)相应的装载点m的距离。数据类型INT,预置值为0。

$TC_MDP2[刀库号n,缓冲区刀位号m]:刀库n的换刀位置到缓冲区库(9998)相应的缓冲刀位m的距离。数据类型INT,预置值为0。

2.2 刀具数据

刀具数据包括刀具特性数据、磨削刀具数据、OEM刀具特性数据等。

$TC_TP1[刀具号]:Duplo号。数据类型INT,预置值为刀具号。

$TC_TP2[刀具号]:刀具名称。数据类型STRING,预置值为“刀具号”。

$TC_TP3[刀具号]:刀具中心线左侧占用的半刀位数。数据类型INT,预置值为1。

$TC_TP4[刀具号]:刀具中心线右侧占用的半刀位数。数据类型INT,预置值为1。

$TC_TP5[刀具号]:刀具中心线顶部占用的半刀位数。数据类型INT,预置值为1。

$TC_TP6[刀具号]:刀具中心线底部占用的半刀位数。数据类型INT,预置值为1。

$TC_TP7[刀具号]:刀具需占用的刀位类型。数据类型INT,预置值为9999。

$TC_TP8[刀具号]:刀具状态。数据类型INT,预置值为0。例如$TC_TP8[21]=18表示21#刀具有效但已达到预警限制值。

$TC_TP9[刀具号]:刀具监控方式。数据类型INT,预置值为0。例如$TC_TP8[15]=5表示15#刀具寿命监控和磨损监控有效。

$TC_TP10[刀具号]:换刀策略。数据类型INT,预置值为0。

$TC_TP11[刀具号]:刀具组(子组)。数据类型INT,预置值为0。例如$TC_TP11[5]=4表示5#刀具属于04刀具组。

$A_TOOLMN[刀具号]:刀具当前所在的刀库号。数据类型INT,预置值为0。

$A_TOOLMLN[刀具号]:刀具当前所在的刀位号。数据类型INT,预置值为0。

$P_TOOLND[刀具号]:刀具刀沿数量。数据类型INT,预置值为0。

$A_MYMN[刀具号]:所有者刀库号。数据类型INT,预置值为0。

$A_MYMLN[刀具号]:所有者刀位号。数据类型INT,预置值为0。

$TC_TPC1~10[刀具号]:根据OEM定义。数据类型REAL,预置值为0。根据MD18094参数定义该数据的有效数量。

2.3 刀沿数据

刀沿数据包括刀沿描述数据、刀沿监控数据、OEM刀沿数据等。

$TC_DP1[刀具号,刀沿号]:刀具类型(如155表示万能铣刀,120表示立铣刀)。数据类型INT,预置值为9999。

$TC_DP2[刀具号,刀沿号]:刀沿方向。数据类型REAL,预置值为0。

$TC_DP3[刀具号,刀沿号]:几何尺寸:长度1。数据类型REAL,预置值为0。

$TC_DP4[刀具号,刀沿号]:几何尺寸:长度2。数据类型REAL,预置值为0。

$TC_DP5[刀具号,刀沿号]:几何尺寸:长度3。数据类型REAL,预置值为0。

$TC_DP6[刀具号,刀沿号]:几何尺寸:半径。数据类型REAL,预置值为0。

$TC_DP7[刀具号,刀沿号]:开槽锯(刀具类型700)几何尺寸:圆弧半径。数据类型REAL,预置值为0。

$TC_DP8[刀具号,刀沿号]:开槽锯(刀具类型700)几何尺寸:长度4。数据类型REAL,预置值为0。

$TC_DP9[刀具号,刀沿号]:为几何尺寸:长度5保留。数据类型REAL,预置值为0。

$TC_DP10[刀具号,刀沿号]:刀具面与环形圆纹曲面之间的角度1。数据类型REAL,预置值为0。

$TC_DP11[刀具号,刀沿号]:刀具纵向轴与环形圆纹曲面上端之间的角度2。数据类型REAL,预置值为0。

$TC_DP12[刀具号,刀沿号]:刀沿磨损:长度1。数据类型REAL,预置值为0。

$TC_DP13[刀具号,刀沿号]:刀沿磨损:长度2。数据类型REAL,预置值为0。

$TC_DP14[刀具号,刀沿号]:刀沿磨损:长度3。数据类型REAL,预置值为0。

$TC_DP15[刀具号,刀沿号]:刀沿磨损:半径。数据类型REAL,预置值为0。

$TC_DP16[刀具号,刀沿号]:开槽锯刀沿磨损:圆弧半径。数据类型REAL,预置值为0。

$TC_DP17[刀具号,刀沿号]:开槽锯刀沿磨损:长度4。数据类型REAL,预置值为0。

$TC_DP18[刀具号,刀沿号]:为刀沿磨损:长度5保留。数据类型REAL,预置值为0。

$TC_DP19[刀具号,刀沿号]:刀沿磨损:刀具面与环形圆纹曲面之间的角度1。数据类型REAL,预置值为0。

$TC_DP20[刀具号,刀沿号]:刀沿磨损:刀具纵向轴与环形圆纹曲面上端之间的角度2。数据类型REAL,预置值为0。

$TC_DP21[刀具号,刀沿号]:刀座/适配器尺寸:长度1。数据类型REAL,预置值为0。

$TC_DP22[刀具号,刀沿号]:刀座/适配器尺寸:长度2。数据类型REAL,预置值为0。

$TC_DP23[刀具号,刀沿号]:刀座/适配器尺寸:长度3。数据类型REAL,预置值为0。

$TC_DP24[刀具号,刀沿号]:间隙角。数据类型REAL,预置值为0。

$TC_DP25[刀具号,刀沿号]:保留。数据类型REAL,预置值为0。

$TC_MOP1[刀具号,刀沿号]:刀具寿命的预警限值。数据类型REAL,预置值为0,单位:分钟。

$TC_MOP2[刀具号,刀沿号]:刀具寿命监控的当前值(刀具实际已用过的时间)。数据类型REAL,预置值为0,单位:分钟。

$TC_MOP3[刀具号,刀沿号]:工件数量预警限值。数据类型INT,预置值为0,单位:件。

$TC_MOP4[刀具号,刀沿号]:工件计数监控的当前值(刀具实际已加工的工件数量)。数据类型INT,预置值为0,单位:件。

$TC_MOP5[刀具号,刀沿号]:刀沿磨损预警限值。数据类型REAL,预置值为0,单位:mm。

$TC_MOP6[刀具号,刀沿号]:刀沿磨损实际值。数据类型REAL,预置值为0,单位:mm。

$TC_MOP11[刀具号,刀沿号]:刀具寿命监控的设定值。数据类型REAL,预置值为0,单位:分钟。

$TC_MOP13[刀具号,刀沿号]:工件数量监控的设定值。数据类型INT,预置值为0,单位:件。

$TC_MOP15[刀具号,刀沿号]:刀沿磨损监控的设定值。数据类型REAL,预置值为0,单位:mm。

$TC_DPC1~10[刀具号,刀沿号]:根据OEM定义。数据类型REAL,预置值为0。根据MD18096参数定义该数据的有效数量。

$TC_MOPC1~10[刀具号,刀沿号]:根据OEM定义。数据类型INT,预置值为0。根据MD18098参数定义该数据的有效数量。


Siemens 840D的CYCLE800怎么使用

Siemens 840D的CYCLE800怎么使用

用TRAORI指令,定义类型后即可实现RTCP。我们的加工中心安装时定义的运动转换类型居然不对也通过,后来我自己改的。

CYCLE800只能实现摆角后定平面加工时的刀长补。

The Swiveling cycle is not an option, but is available

with PCU 20/50, SW 06.02, and NCK SW 6.3 or later.

To use the swiveling cycle, the machine data below must be set as

follows (minimum requirement):

?  MD 10602: FRAME_GEOAX_CHANGE_MODE=1

(only when the tool is corrected using TRAORI)

?  MD 18088: MM_NUM_TOOL_CARRIER

 Number of swivel data records

?  MD 20126: TOOL_CARRIER_RESET_VALUE

 described in CYCLE800

?  MD 20180: TOCARR_ROT_ANGLE_INCR[0]=0

?  MD 20180: TOCARR_ROT_ANGLE_INCR[1]=0

? MD 20182:TOCARR_ROT_ANGLE_OFFSET[0]=0

?  MD 20182: TOCARR_ROT_ANGLE_OFFSET[1]=0

?  MD 20184: TOCARR_BASE_FRAME_NUMBER=-1

?  MD 22530: TOCARR_CHANGE_M_CODE

 M code on swivel data changeover

?  MD 24008: CHSFRAME_POWERON_MASK

bits 4, 3, 2=1 if system frames PAROT, TOROT, WPFRAME are

to be deleted on Power ON

? MD 28082:MM_SYSTEM_FRAME_MASK

bits 4, 3, 2=1

命令格式:CYCLE800(_FR, _TC, _ST, _MODE, _XO, _YO, _ZO, _A, _B, _C, _X1, _Y1, _Z1, _DIR)。

在编程时有图形界面的(如同CYCLE8x等),填空完后就可把指令插入用户程序中

Siemens 840D数控系统变量应用

Siemens 840D数控系统变量应用

前提:

以钻头为例,基于5轴H/V加工中心平台,兼容4轴H/V加工中心,840D控制系统。

介绍一个常识:不同的工作平面,轴变量所具体对应的含义。

Working - plane

$P_AXN1 $P_AXN2 $P_AXN3

G17 X Y Z

G18 Z X Y

G19 Y Z X

也就是说当使用G17的时候,$P_AXN1,$P_AXN2,$P_AXN3对应的XYZ,其他亦然。

所以,当你使用5轴H/V设备的时候,可以用变量的方式,完成"不同工作平面"的孔加工。这是使用它的目的。

$TC_DPC1[t,d]这里是钻头的半径值,类型是REAL;

$TC_DPC2[t,d]这里是钻头的钻尖角度,类型是REAL;

$P_TOOLNO是当前使用的刀号,注意:不是刀具名称!

$P_TOOL是当前使用的刀刃编号;

…… ;假设前面已经换好刀,运动到适当位置,以下程序和使用G17,G18,G19没有关系。

N0010 DEF AXIS AXIS_Z ;这是定义一个轴变量,在以后使用的时候引用,这也是钻孔的运动方向。

N0020 DEF REAL ZT_JIAODU,ZT_BANJING,ZT_ZJC

N0030 ZT_JIAODU=$TC_DPC2[$P_TOOLNO,$P_TOOL]

N0040 ZT_BANJING=$TC_DPC1[$P_TOOLNO,$P_TOOL]

N0050 IF ZT_JIAODU==180

N0060 ZT_ZJC=0 ;钻尖长度为零

N0070 ELSE

N0080 ZT_ZJC=(ZT_BANJING/TAN(ZT_JIAODU/2));注意,使用时,事先要先在定义刀具的时候,定义钻尖的角度,如果是平底钻,就定义成180

N0090 ENDIF

N0100 AXIS_Z=$P_AXN3

N0110 G0 G90 AX[AXIS_Z]=??? ;???是你需要走到的孔的位置

N0120 G1 AX[AXIS_Z]=?? ;??是你需要的孔深,如果不算钻尖,就需要减去ZT_ZJC就行可。

N0130 G0 AX[AXIS_Z]=? ;?退出的距离,离开工件表面就行了。

……

以上就是我们想到达的目的了。