2009年12月14日星期一

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参数定义该数据的有效数量。

2009年12月5日星期六

[收藏]FANUC 0i模拟主轴相关问题

  FANUC 0i模拟主轴相关问题

问1:什么是数字主轴?什么是模拟主轴?什么是串行主轴?

答1:首先了解一下主轴的类型,如下图:

主轴伺服系统可分为直流和交流两大类,由于现在大多数机床采用交流主轴伺服系统,在这里也仅介绍交流系统。交流主轴伺服系统由模拟式和数字式两种产品。

fanuc系统主轴控制可分为主轴串行输出/主轴模拟输出(Spindle serial output/Spindle analog output)。

特别的,这两种接口Fanuc 0i都具备,主轴串行输出接口能够控制两个串行主轴,主轴模拟输出接口只能控制一个模拟主轴。。

按串行方式传送数据(CNC给主轴电动机的指令)的接口称为串行输出;

另一种是输出模拟电压(电流)量作为主轴电动机指令的接口。前一种必须使用FANUC的主轴驱动单元和电动机,后一种用模拟量控制的主轴驱动单元(变频器)和电动机。所以就有了串行主轴模拟主轴的称法,串行主轴数字主轴是按不同的分类标准得出的名称,个人认为串行主轴是数字主轴的一个子集。

目前大部分的经济型机床均采用数控系统模拟量输出+变频器+感应(异步)电机的形式,性价比很高,这时也可以将模拟主轴称为变频主轴。
 

Fanuc 0i主轴连接示意图

 

问2:我用的是OI-MC的数控系统,XYZ三轴加1模拟主轴,模拟主轴由变频器控制,我现在只连接了0-10V的模拟信号端,有几点问题请教高手:

1.请问模拟主轴的正反转怎样控制?
2.我的模拟主轴每次开机第一次启动时,执行S500时程序不往下执行,总要先按下RESET键后再按下启动按钮才可以,再一次 启动程序时就不会再有这样的现象,请问这个现象怎样解除?请高手指点非常感谢!

答2:

1.FANUC 0i的模拟主轴设置和siemens802s/c的模拟主轴设置基本类似,也可以分为单极性主轴和双极性主轴。

1)双极性主轴使用0~±10Vdc模拟量输出,即控制了转速和也控制了方向(正电压定义一个方向,负电压为其反方向)。使能信号控制起停。

首先,通过CNC主轴参数3706#6、#7设置极性

其次,通过变频器参数选择频率控制输入信号的类型,以FUJI FRENIC-Multi为例,设置F01为1.

F01,C30 分别是 频率设定1,频率设定2

选择频率设定的设定方法。

  • 通过端子 12 输入两极(DC0~±10V)的模拟电压时,请将功能代码 C35 设置为0。C35 的数据为 1 时仅 DC0~+10V 有效,负极输入 DC0~-10V 视为 0(零)V。
  • 端子 C1 通过接口印刷电路板上的开关 SW7 和功能代码 E5 的设定,可作为电流输入(C1 功能)或电压输入(V2 功能)使用。
  • 除了本设定以外,还有优先级较高的设定手段(通信、多段频率等)。有关详情,请参照「FRENIC-Multi 用户手册」。

提示:通过分配到数字式输入端子中的频率设定 2 和 1 的切换功能实现『Hz2/Hz1』频率设定1(F01)和频率设定2(C30)的切换。(􀀉:功能代码 E01~E05)

最后编好相应的PMC程序进行调试(学习如何编制FANUC PMC)。

2)单极性主轴使用0~+10Vdc模拟量输出来控制转速,PMC拿出两个输出点来控制正反转。

连接示意图

注:CB105的X8.3为变频器报警输入接口。

-----------------------------------------------

2.对于第二个问题,很可能是由于没有给出速度到达信号(SAR信号。可以从变频器的输出口给系统一个信号。FRENIC-Multi可使用Y1/Y2。

下表列出了相关的主轴控制单元直接控制的不同点

 

用于主轴串行输出接口的主轴控制单元

用于主轴模拟输出接口的

主轴控制单元

主轴控制单元的参数

作为CNC 的参数指定(4000~4351/ S1,S2)传送到主轴控制单元后使用

由主轴控制单元直接指定

主轴控制单元的控制信号

通过CNC 连接到PM

CG0070~G0073 和

F0045~F0048:

第一主轴的地址

G0074~G0077 和

F0049~F0052:

第二主轴的地址

通过外部接点连接到PMC

主轴速度指令接口

0~±最高主轴电机速度

范围内的数字数据

0~±10V 的模拟电压(不包括偏移电压的调整部分)

位置编码器接口

通过主轴控制单元连接到CNC

直接连接到CNC

串行主轴的主轴控制单元信号

信号:

 

<G0070G0073>(输入)<F0045F0048>(输出)

→用于第1 串行主轴

<G0074G0077>(输入)<F0049F0052>(输出)

→用于第2 串行主轴

这些地址是CNC 侧的地址。但实际上,它们是串行主轴的主轴控制单元的输入/输出信号。

这些信号的解释,参看串行主轴说明书:

FANUC 伺服放大器 αi 系列规格说明书(B-65282EN

FANUC AC 主轴电机αi 系列规格说明书(B-65272EN

FANUC AC 主轴电机αi 系列参数说明书(B-65280EN

-----------------------------------------

什么是速度到达信号(SAR)?

主轴速度到达信号SARCNC启动切削进给的输入信号。

该信号通常用于切削进给必须在主轴达到指定速度后方能启动的场合。

此时,用传感器检测主轴速度。所检测的速度通过PMC 送至CNC

当用梯形图连续执行以上操作时,如果主轴速度改变指令和切削进给指令同时发出时,则CNC 系统会根据表示以前主轴状态(主轴速度改变前)的信号SAR,错误启动切削进给。为避免上述问题,在发出S指令和切削进给指令后,对SAR 信号进行延时监测。延迟时间由参数No.3740 设定。

使用SAR 信号时,需将参数No.3708 0 位(SAR)设定为1

当该功能使切削进给处于停止状态时,诊断画面上的No.06(主轴速度到达检测)保持为1

【收藏】FANUC 0i-B系统主轴的参数设定

FANUC 0i-B系统主轴的参数设定

1、Fanuc主轴伺服系统简介
要正确地进行横速变成和操作,首要弄清数控车床的主轴工作原理和结构。
Fanuc公司的主轴伺服系统可分为直流和交流两大类,由于现在大多数机床采用交流主轴伺服系统,在这里也仅介绍交流系统。交流主轴伺服系统由模拟式和数字式两种产品,它有以下特点:

①由于采用了微处理器和最新的电气技术,在全部速度范围内能平滑的运行以及很少的振动和噪声;

②具有再生制动控制,可将电动机能量反馈回电网。

而数字式伺服系统较之模拟伺服系统由具有二个特点:

①由于采用数字直接控制,数控系统输出不要经过A/D转换,所以控制精度高;

②取消全部电位器,采用参数设定方法,其优点是设定灵活,范围广,而且可以无级设定,所以较电位器调整准确。
对主轴伺服系统的过程简述如下(如图1):

图1

交流主轴伺服系统有数控系统来的速度指令在比较起中与检测器来的信号相与之后,经比例积分回路将速度误差信号放大作为转矩指令电压输出,再经绝对值回路使转矩指令电压永远为正。然后经函数发生器(起作用位当电动机低速时提高转矩指令电压)到达V/F变换器,变成误差脉冲。误差脉冲送到微处理器并与四倍回路出来的速度反馈脉冲进行运算。同时,将预先写在微处理器部件中的ROM中的信息独处分别送出振幅和相位信号,送到DA振幅器和DA强励磁。DA振幅其用于产生于转矩指令相对应的电动机定子电流的振幅,DA励磁强化回路用于控制增加定子电流的振幅。它们的输出值经乘法器后形成定子电流的振幅。
另一方面,从微处理器输出的U、V两相的相位(即sinθ、 sin(θ-120°))被分别送到U、V相的电流指令回路(实际为一乘法器),通过它形成U、V相的电流指令。这个指令与电流反馈信号相与之后的误差, 经过放大之后送PWM控制回路,变成频率为3kHz的脉宽信号。而W相的信号则是由Iu、Iv两信号合成产生。上述脉宽信号经PWM变换器,用脉宽调制信 号控制电动机的三相交流电流。脉冲发生器是一个速度监测器,用来产生每转256个脉冲的正弦、余弦信号波形,经过4倍回路变成每转1024个脉冲。它一方 面送到微处理器,另一方面经F/V变换器作为速度反馈送到比较起与速度指令去进行比较。但在低速时,由于F/V变换器的线性度较差,所以此时的速度反馈信 号时由微分电路和同步电路产生的。
2、主轴的一般设定
为保证主轴电机能正常工作,能提供良好的旋转力矩,因而对主轴电机的转速有上、下限的制约。如图2。

参数 NO.3735设定主轴电机最低箝制速度,参数 NO.3736设定主轴电机最高箝制速度,设定数据的范围为:0~4095。设定值由以下公式求得:

图2

但是,主轴电机箝制速度的设定并不是一直有效的,如果指定了恒表面速度控制功能或GTT(NO.3706.#4),这两个参数无效。在这种情况下,不能指定主轴电机的最大箝制速度。但是可以由参数NO.3772(第一轴)、NO.3802(第二轴)、NO.3822(第三轴)设定主轴最大速度。
现在的数控机床一般采用手动换档和自动换档两种方式,前一种方式是在主轴停止后,根据所需要的主轴速度人工拨动机械档位至相应的速度范围;后者,首先执行S功能,检查所设定的主轴转速,然后根据所在的速度范围发出信号,一般采用液压方式换到相应的档位。
所以在程序当中或使用MDI方式,S功能应该写在M3(M4)之前,在某些严格要求的场合,S指令要写在M3(M4)的前一行,使机床能够先判断、切换档位后启动主轴。对手动换档机床,当S功能设定的主轴速度和所在档位不一致时,M3(M4)若写在S功能前,可以看到主轴首先转动,然后立即停止,再报警的情况,这对机床有一定的伤害。因此,应注意书写格式。
对每一个档位,都需要设置它的主轴最高转速,这是由参数 NO.3741 、NO.3742、NO.3743和NO.3744(齿轮档1、2、3和4的主轴最高转速)所设定的,它们的数据单位是min-1,数据范围:0~32767。显然,参数的设置是和实际机床的齿轮变比有关系,当选定了齿轮组后,相应的参数也就能够设定了。如果M系选择了T型齿轮换档(恒表面速度控制或参数GTT(NO.3706#4)设定为1),还必须设定参数NO.3744。即使如此,刚性攻丝也只能用3档速度。如图3。


图3

档位的选择,由参数 NO.3751(档1~档2切换点的主轴电机速度)、参数 NO.3752(档2~档3切换点的主轴电机速度)决定,其数据范围:0~4095,其设定值为:

这两个参数的设定要考虑到主轴电机转速和扭矩。
另外,要注意在攻丝循环时的档位切换有专用的参数:参数 NO.3761(攻丝循环时档1~档2切换点的主轴电机速度)、参数 NO.3762(攻丝循环时档1~档2切换点的主轴电机速度),其数据单位:rpm,数据范围:0~32767。而不由参数 NO.3751、 NO.3752决定。
3、恒表面速度的相关参数设定
恒表面速度指令G96是模态G代码,在指令G96指令后,程序进入恒表面速度控制方式且以指定S值为表面速度。G96指令必须指定恒表面切削速度控制应用哪个轴。参数 NO.3770可设定恒表面速度控制时作为计算基准的轴(数据范围:1,2,3……控制的轴号,如设定为0时,认为X轴进行恒表面速度控制)。此时G96程序段中指令的P值对恒表面速度控制没有意义。直至G97取消G96方式。
主轴转速(角速度)和表面速度之间存在如下关系:

其中v:线速度;ω:角速度;r:半径;n:转速。

由上式可知,随着半径的变化,表面速度几乎可以为从0至无穷大的值,这在实际加工是不允许出现的。因此在用恒表面切削速度控制时,主轴速度若高于G50S_____中规定的值,就被箝在最大主轴速度;若通电时尚未指定最大主轴速度,则主轴速度不被箝制。在G96程序段的S(表面速度)指令被当作S=0,直到程序中出现M3或M4。
而在实际加工中,我们通常要对恒表面速度的上下都要设限,参数 NO.3771和 NO.3772分别对在恒表面速度控制时主轴最低、最高转速进行设定(数据单位:rpm。数据范围:0~32767)。而如果在多主轴控制时(T系),用下列参数NO.3781(设定第1主轴的上下转速)、NO. 3782(设定第2主轴的上下转速)、NO. 3783(设定第3主轴的上下转速)的上限转速。
在利用恒表面速度进行实际加工时,很多操作者反映加工后的表面效果并不理想,远不及预期的,甚至有些还比一般加工的效果还要差。
这 其实是由机床操作者对主轴的一些参数设定值和恒表面速度加工特性不甚了解所造成的。一定进入了恒表面加工状态,即使对自动换档的机床来说档位也被锁定。也 就是说,即使主轴的转速值跨越了档位切换点,系统也不会进行换档。而一旦设定不合理,主轴处于不合适的档位,无法提供足够的切削旋转扭矩,便会明显地影响 加工效果。因此,在进行恒表面速度加工之前,应对被加工表面进行分析,求出在所需的表面速度下各处相对应的主轴转速的相对集中段,以确定合适的档位。然后 再设定恒表面速度的上下限,保证主轴转速在最佳的范围内。
而对自动换档系统,在编制加工程序时应注意,在进入恒表面速度加工前,应使用S指令将主轴切换到所需的档位,然后再进行恒表面速度加工。
4、结束语
数控加工过程中所涉及的知识面很广,不仅包含着一般的加工工艺、金属切削等方面的知识,还需要对数控机床本身有一定的了解,只有将机床参数设置为最佳状态值,才能够达到预期的、满足的加工效果。

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]=? ;?退出的距离,离开工件表面就行了。

……

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

2009年10月22日星期四

【收藏】S7-200模拟量换算

S7-200模拟量换算

模拟量比例换算

因为A/D(模/数)、(D/A)数/模转换之间的对应关系,S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。

例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 CPU内部,0 - 20mA对应于数值范围0 - 32000;对于4 - 20mA的信号,对应的内部数值为6400 - 32000。

如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA输出,另一个是4 - 20mA输出。它们在相同的压力下,变送的模拟量电流大小不同,在S7-200内部的数值表示也不同。显然两者之间存在比例换算关系。模拟量输出的情况也大致相同。

上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 CPU中得到一个0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。

如果使用编程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子程序,就不必进行0 - 20mA与4 - 20mA信号之间的换算,只需进行简单的设置。

通用比例换算公式

模拟量的输入/输出都可以用下列的通用换算公式换算:

Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl

其中:

Ov:
换算结果
Iv:
换算对象
Osh:
换算结果的高限
Osl:
换算结果的低限
Ish:
换算对象的高限
Isl:
换算对象的低限

它们之间的关系可以图示如下:

图1. 模拟量比例换算关系

 

实用指令库

在Step7 - Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。

为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的Micro/WIN编程软件中应用。

 

在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出的转换。

其中scale_I_R程序段例:




 

 

将4 - 20mA模拟量输入转换为内部百分比值
将内部百分比值转换为4 - 20mA模拟量输出

 

对于精度要求不高的地方,4-20ma转换成0-20ma 可按比例计算

公式 =((ai-4)/16)*20

其程序段实例: