您所在的位置:首页 > 配套技术 > 数控电气

FANUC与SIEMENS数控系统的程序代码对比

发表时间:2013/7/23 作者:王和华  来源:万方数据
关键字:FANUC  SIEMENS 数控 程序 
FANUC与SIEMENS,是两种最常用的数控系统,它们有很多相似之处,但代码表达方式却不尽相同,本文通过各种常用编程指令的格式对比,为需要在两种格式之间进行程序转换的编程者提供一些应用参考,提高编程水平。

  FANUC与SIEMENS,是两种最常用的数控系统,它们有很多相似之处,但代码表达方式却不尽相同,本文通过各种常用编程指令的格式对比,为需要在两种格式之间进行程序转换的编程者提供一些应用参考,提高编程水平。

  笔者公司多年来购买了许多种类的数控加工中心,最初主要以FANUC 0i—MA系统为主,后来多为西门子840D系统,编程员就需要经常将原来的FANUC程序转换成西门子程序后再下发机床,经验较丰富的编程员可以很快地完成,但初次接触西门子系统的编程员经常将格式搞错,要么导致程序无法下发,要么加工中程序格式报警,下面笔者结合自己平时的编程经验,将两种系统放在一起,通过对比说明,以共同提高编程水平。

一、程序命名规则

程序命名

  FANUC机床将“WP1-CUXI”读取为程序名,字符串间用“-”连接;西门子机床将“WP1_CUXI”读取为程序名,字符串间用“_”连接,“MPF”表示为主程序,若为“SPF”则自动放入子程序文件夹。此外,在任意程序段,需要书写字符串的地方都应遵循FANUC使用“-”、西门子使用“_”。

二、刀具长度与半径补偿

  FANUC程序需使用“H1”对刀具T1进行长度补偿,使用“D1”对刀具T1进行半径补偿,H值与D值分别存储在OFFSET面板的长度补偿与半径补偿栏。而西门子程序只需在调用刀具后移动刀具前执行“D1”即可同时进行长度和半径补偿,西门子的“D1”表示的含义是“刀沿1”,其在OFFSET面板中对应了一组刀具长度和刀具半径,每把刀均拥有若干组刀具长度和刀具半径,即若干个“刀沿”D1~D9(840D有9个,810D、802D有3个),一般刀具都使用各自的D1即可。需要特别指出的是,840D每个刀沿包含3个长度补偿值,通常“长度补偿1”保存当前加工平面(由G17、G18、G19决定)对应刀具轴的铣刀长度补偿值,不同刀具种类3个长度补偿值含义不同。

三、程序段注释符号与选择性跳段

  FANUC程序段注释格式为“(注释内容)”,西门子程序段注释格式为“;注释内容”,两者均可放置在程序行任意位置,注释内容不以数控代码执行。程序段选择性跳跃标识符均为“/”,当面板上选择性跳跃按键激活,当前程序段“/”后面的程序段不执行。

四、圆弧插补

  FANUC程序走圆弧示例“G02X10Y20R-5”,西门子用“CR=”代替“R”,就变为“G02X10Y20CR=-5”。走整圆(圆弧通用)程序格式相同,均可使用“G02/G03 X..Y..Z..I..J..K..”,通过赋值I 、J 、K ,表达圆心相对起点的相对坐标值, 确定圆心位置。此外, 西门子提供了另一种确定圆心位置的表达方法“G02/G03 X..Y..Z..I=AC(..)J=AC(..)K=A C(..)”,AC(..)可以表示圆心的绝对坐标值。当然,此赋值方法也可使用在别的字段上,例如:“G01X=A C(..)Y=AC(..)”,若当前为“G91”表示相对坐标状态,则可通过“=AC(..)”暂时赋值绝对坐标值;相反,若当前为“G90”表示绝对坐标状态,则可通过“=IC(..)”暂时赋值相对坐标值,我们可以根据已知条件选择合适的赋值格式,提高编程效率。

五、螺旋插补

  FANUC螺旋线程序示例“G17G03X10Y0Z2I-10”,机床会在X Y 平面走圆弧的同时再同步运行Z 轴,执行出一条不超过360°的螺旋线;西门子相应示例为“G17G03X10Y0Z2I-10J0TURN=0”,其中“TURN=0”表示此段螺旋线无整圆部分,即不超过360°,通过改变字符串“TURN”的赋值,可以控制螺旋线整圆数量。

六、固定循环

  FANUC钻孔循环使用ISO标准的G代码,西门子钻孔循环使用自家的C Y C L E循环,固定循环执行步骤与参数含义大同小异,这里就不细讲,我们主要讨论一下循环的模态调用问题。FANUC的钻孔循环默认为模态调用,而西门子的CYCLE循环默认只执行一次,必须使用“MCALL”封装CYCLE循环及其点位,才能实现模态调用,例如:

程序调用

七、倒角、倒圆

  FANUC程序若在直线圆弧的拐角处插入倒角的话,可以在拐角点之前程序末尾加上“, C…”,若倒圆则加上“,R…”;西门子对应上述指令,倒角为“CHR=”,倒圆为“RND=”。另外西门子在倒角时还可给定其本身的直线长度进行倒角“CHF=”。

八、宏程序

  FANUC程序中局部变量用“# n”(1≤n≤3 3)表示,西门子程序中局部变量用“R n”(默认0≤n≤99)。FANUC程序若给字段赋值直接在字段后跟变量,例如“G 0 1 X # 1 Y # 2 Z # 3”;而西门子程序必须使用赋值符号“=”,例如:“G01X=R1 Y=R2 Z=R3”。FANUC程序中表达式封装使用“[ ]”,如:“#1=S I N[[#2+#3]*#4]”,而西门子程序表达式封装用“( )”,上面范例就变为:“R1 = SIN ( ( R2 + R3 ) * R 4 )”。FANUC程序的跳转语句为“GOTO”,而西门子除了“GOTO”,还可使用“GOTOB”与“GOTOF”。“GOTO”的含义两者都一样:先朝程序结束方向搜索,再跳转到程序开始处继续搜索;而使用“GOTOB”可直接控制向“程序开始方向”搜索,“GOTOF”直接控制向“程序结束方向”搜索。FANUC程序中跳转目标直接用程序段号表示:“GOTO123”表示跳转至“N123”处,西门子程序的跳转目标可以用程序段号表示:“GOTO N123”,也可以用字符串所标记位置,例如:“GOTOL B1”意为跳转到字符串“L B1”标记处“L B1:……….”。这里必须指明西门子字符串的命名规则:名称前两位必须是字母或者“_”,以示其与普通字段的区别,例如:“X1”的含义变为了加工轴X1,不能作为字符串名称。另外需要注意的格式问题是,FANUC程序条件判断语句中的条件需要用“[ ]”封装;西门子程序中需要用空格隔开,例如:

子程序

九、轨迹控制

  注:单方向精确定位,适合钻孔时消除反向间隙。
  FANUC机床默认为G64,西门子机床默认为G60。要想得到准确的尖角,必须在准停状态走刀;想提高加工效率,不需要精确的尖角,则可取消准停,机床在拐角处不减速,从而提高表面加工质量。对于西门子机床,若使用较多点位模拟加工曲线或曲面,则适合在G64状态下加工,同时配合使用加速度控制指令SOFT(恒定加速度方式),消除点位间停顿,减小冲击,得到较好表面质量,如表所示。

表

十、进给控制

  FANUC程序中G62开启内拐角自动倍率功能,但需在相应机床参数中设置相关值;而西门子机床有较为完善的拐角进给控制指令:CFTCP、CFC、CFIN。CFTCP:刀具中心点按给定F值进给;CFC:走内R 减速,走外R 加速,保持刀具外廓(即刀具与工件接触点)按给定F 值进给;CFIN:走内R 减速,走外R 时刀具中心点按给定F 值进给。因西门子默认为CFC模式,所以当使用大直径刀具加工外R 时,F 值加速会比较明显,编程时应考虑此因素,如有必要则应执行CFTCP或CFIN命令。

十一、结语

  经以上对比,虽未涵盖两数控系统所有类型指令,但却是实际应用中最应该注意和掌握的。虽然西门子提供了ISO代码执行模式(G291),但很多特色功能代码还是必须在西门子模式(G290,默认状态)下才能执行。

FANUC与华中数控系统中常用指令的对比分析

0 引言

华中数控系统是武汉华中数控股份有限公司与华中理工大学在FANUC系统的基础上,根据我国国情联合研制开发的,而FANUC系统是日本FANUC公司研究开发的。两种系统既有相同之处,也存在一定差异,下面针对两系统在常用编程指令方面的几点不同进行比较。

1 车削类指令

  1.1 内外径车削简单循环

  内外径车削时FANUC系统的指令格式为:G90 X_Z_F_此指令可使刀具从循环始点A走矩形轨迹回到A点,即A→B→C→D→ A。当采用绝对编程时,X_Z_为切削终点C的坐标值;当采用相对编程时,X_Z_为切削终点C相对于循环始点A的增量坐标;F为进给速度。

  当切削圆锥时,格式为:
  G90 X_Z_L_F_
  其中:I为始端半径与终端半径之差。车削圆柱面时的内外径车削循环指令见图1。
  内外径车削时华中系统的指令格式为:
  G80 X_Z_L_F_
  此指令的功能和使用方法与FANUC系统中的G90完全相同。

图1车削圆柱面时的内外径车削循环指令说明

  1.2 端面车削简单循环

  端面车削时FANUC系统的指令格式为:
  G94 X_Z_F_
  此指令可使刀具从循环始点A走矩形轨迹回到以点,即A→B→C→D→ A,其中每个尺寸字的含义与FANUC系统的G90完全相同。不带锥度的端面车削循环指令见图2。当切削带锥度的端面时,格式为:
  G94 X_Z_K_F_
  其中:K为切削始点B与切削终点C在Z轴方向的距离。

图2不带锥度的端面车削循环指令说明

  端面车削时华中系统的指令格式为:
  G81 X_Z_K_F_
  此指令的功能和使用方法与FANUC系统中的G94完全相同。

  1.3车削螺纹简单循环

  车削螺纹简单循环时FANUC系统的指令格式为:
G92 X_Z_F_

  此指令可使刀具从循环始点A走矩形轨迹回到A点,即4→ B→C→ D→A。当采用绝对编程时,X_Z_为螺纹终点C的坐标值;当采用相对编程时,X—Z—为螺纹终点C相对于螺纹起点B的增量坐标;F为进给速度。直螺纹车削简单循环指令见图3。当切削锥螺纹时,格式为:

  G92 X_Z_I_F_
  其中:I为螺纹起点与螺纹终点半径之差。当切削多头螺纹时,还可加Q_,表示两条螺纹头部所夹的角度。

直螺纹车削简单循环指令

  车削螺纹简单循环时华中系统的指令格式为:
  G82 X_Z_I_F_
  此指令的功能和使用方法与FANUC系统中的G92完全相同。

2