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

点赞:3680 浏览:8467 近期更新时间:2024-04-21 作者:网友分享原创网站原创

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

关 键 词:发那科;西门子;数控程序;格式对比

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

FANUC与SIEMENS数控系统的程序代码对比参考属性评定
有关论文范文主题研究: 关于程序的论文范本 大学生适用: 学院学士论文、函授论文
相关参考文献下载数量: 87 写作解决问题: 学术论文怎么写
毕业论文开题报告: 文献综述、论文选题 职称论文适用: 刊物发表、职称评初级
所属大学生专业类别: 学术论文怎么写 论文题目推荐度: 免费选题

一、程序命名规则

FANUC:%O1234(WP1-CUXI)

等等等

SIEMENS:%_N_WP1_CUXI_MPF

等等..

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/G03X..Y..Z..I..J..K..”,通过赋值I、J、K,表达圆心相对起点的相对坐标值,确定圆心位置.此外,西门子提供了另一种确定圆心位置的表达方法“G02/G03X..Y..Z..I等于AC(..)J等于AC(..)K等于AC(..)”,AC(..)可以表示圆心的绝对坐标值.当然,此赋值方法也可使用在别的字段上,例如:“G01X等于AC(..)Y等于AC(..)”,若当前为“G91”表示相对坐标状态,则可通过“等于AC(..)”暂时赋值绝对坐标值;相反,若当前为“G90”表示绝对坐标状态,则可通过“等于IC(..)”暂时赋值相对坐标值,我们可以根据已知条件选择合适的赋值格式,提高编程效率.

五、螺旋插补

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

六、固定循环

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

N10MCALLCYCLE81(RTP,RFP,SDIS,DP)

N15X10Y20;第一个点位

N20X30Y40;第二个点位

N25MCALL;撤销模态调用

七、倒角、倒圆

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

八、宏程序

FANUC程序中局部变量用“#n”(1≤n≤33)表示,西门子程序中局部变量用“Rn”(默认0≤n≤99).FANUC程序若给字段赋值直接在字段后跟变量,例如:“G01X#1Y#2Z#3”;而西门子程序必须使用赋值符号“等于”,例如:“G01X等于R1Y等于R2Z等于R3”.FANUC程序中表达式封装使用“[]”,如:“#1等于SIN[[#2+#3]*#4]”,而西门子程序表达式封装用“()”,上面范例就变为:

“R1等于SIN((R2+R3)*R4)”.FANUC程序的跳转语句为“GOTO”,而西门子除了“GOTO”,还可使用“GOTOB”与“GOTOF”.“GOTO”的含义两者都一样:先朝程序结束方向搜索,再跳转到程序开始处继续搜索;而使用“GOTOB”可直接控制向“程序开始方向”搜索,“GOTOF”直接控制向“程序结束方向”搜索.FANUC程序中跳转目标直接用程序段号表示:“GOTO123”表示跳转至“N123”处,西门子程序的跳转目标可以用程序段号表示:“GOTON123”,也可以用字符串所标记位置,例如:“GOTOLB1”意为跳转到字符串“LB1”标记处“LB1:等等.”.这里必须指明西门子字符串的命名规则:名称前两位必须是字母或者“_”,以示其与普通字段的区别,例如:“X1”的含义变为了加工轴X1,不能作为字符串名称.另外需要注意的格式问题是,FANUC程序条件判断语句中的条件需要用“[]”封装;西门子程序中需要用空格隔开,例如:

FANUC:IF[#4>0]GOTO1

西门子:IFR4>0GOTOBLB1

九、轨迹控制

注:单方向精确定位,适合钻孔时消除反向间隙.

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,默认状态)下才能执行.