抛砖引玉谈数控编程(1):卧式加工中心
本帖最后由 _Lee 于 2012-10-24 11:50 编辑小弟工作才2年,接触数控机床编程才1年多的时间。由于车间技术组编程的人不多,于是也让我接手各种类型的数控机床,有四轴的,五轴的,六轴的。看到数控模块,一直有想写的想法。写出来的过程其实也是对自己的一个总结,可以提高自己,也可以和各位高手交流。
这是卧式加工中心日本新泻机床,FANUC数控系统。两个加工台面,都是630×630,因此也俗称630机床。刀库是50把。(对于机床可介绍的地方很多,但我想从数控编程的角度去写)
产品图及三维图(其中之一)
先介绍了自己的工作流程吧。
1.拿到任务书,按着操作卡上的图纸要求,编好程序。630机床没有特定的编程软件,不像我接触的其他机床有用软件的地方也只是因为计算刀具轨迹,而用下AUTOCAD。仅仅用文本就可以编程。下面几项因为不是通用,等会我再介绍。
2.将编好的程序传到客户端服务器,用于机床的调用
3.其次就是机床调用,然后校模。这跟其他都一样。
这是一个程序,被我删了好多,用于简化。编程思想基本如此。
%
:310(Q156L-1L-20 +3110 )
(11.10.31)
【以下这段内容是对工作坐标系的定义的运算方式,对程序至关重要】
M16(A) A台面
#600=(P L) 对刀棒长度
#701=(P X) 设定的原点在对刀时X的坐标
#702=(P Y) 对刀时Y的坐标
#703=(P Z) 对刀时Z的坐标
#704=-9.5(Y1) 704和705是原点到对刀点的距离
#705=17.0(Z1)
#711=23.7(XG54)
#712=12.90(ZG54)
#713=0.0(BG54)
#721=137.16(XG55)
#722=-15.96(ZG55)
#723=91.782(BG55)
#731=137.16(XG56)
#732=0.0(ZG56)
#733=90.0(BG56) 台面的旋转(从刀具的角度看,顺时针正)
#741=137.16(XG57)
#742=-15.96(ZG57)
#743=181.782(BG57)
#751=22.48(XG58)
#752=-15.01(ZG58)
#753=181.782(BG58)
#761=23.70(XG59)
#762=12.9(ZG59)
#763=-45.0(BG59)
#701=#701+3+500 +3是因为对刀棒的半径为6,对刀帮的中心点到接触点的距离为3。而500、950是根据#702=#702+#704-3 机床自身参数算的,例如530机床就是400、730。至今我也只能去运算验证,想不出用#703=#703-#600+#705+950 这种方式来定义坐标系。
#714=#711+#701
#715=#712+#703
#716=#714*COS[-#713]+#715*SIN[-#713]-500
#717=#715*COS[-#713]-#714*SIN[-#713]-950
#724=#721+#701
#725=#722+#703
#726=#724*COS[-#723]+#725*SIN[-#723]-500
#727=#725*COS[-#723]-#724*SIN[-#723]-950
#734=#731+#701
#735=#732+#703
#736=#734*COS[-#733]+#735*SIN[-#733]-500
#737=#735*COS[-#733]-#734*SIN[-#733]-950
#744=#741+#701
#745=#742+#703
#746=#744*COS[-#743]+#745*SIN[-#743]-500
#747=#745*COS[-#743]-#744*SIN[-#743]-950
#754=#751+#701
#755=#752+#703
#756=#754*COS[-#753]+#755*SIN[-#753]-500
#757=#755*COS[-#753]-#754*SIN[-#753]-950
#764=#761+#701
#765=#762+#703
#766=#764*COS[-#763]+#765*SIN[-#763]-500
#767=#765*COS[-#763]-#764*SIN[-#763]-950
N3G10G90L2P1X[#716]Y[#702]Z[#717]B[#713+180]
G10G90L2P2X[#726]Y[#702]Z[#727]B[#723+180]
G10G90L2P3X[#736]Y[#702]Z[#737]B[#733+180]
G10G90L2P4X[#746]Y[#702]Z[#747]B[#743+180]
G10G90L2P5X[#756]Y[#702]Z[#757]B[#753+180]
G10G90L2P6X[#766]Y[#702]Z[#767]B[#763+180]
N4M98P3110 只所以用这样的格式,是为了整齐,方便操作人员调用及修改
M30
:3110(Q156L-1L-20)
M16 机床准备工作
N01G80G40G17G49
N02G91G28Z0M11
N03G91G28X0Y0B0
N04M10
N09G91G30Y0M19
M01
/T5(DIA.T5/H5/D5)
/M106( T05/H05/D05) 自定义的换刀指令,一般是M06
#104=5
#101=14.6(X)
#102=-10.0(Y)
#103=17.5(Z)
M98P3111
#101=14.6-0.2(X)
#102=-10.0(Y)
#103=15.0(Z)
M98P3111
#101=14.6-0.4(X)
#102=-10.0(Y)
#103=14.34(Z)
M98P3111
#101=14.6-0.6(X)
#102=-0.04(Y)
#103=12.50(Z)
M98P3111
#101=14.6-0.8(X)
#102=-0.04+1.95(Y)
#103=10.0(Z)
M98P3111
#101=14.6-1.0(X)
#102=-0.04+3.91(Y)
#103=7.50(Z)
M98P3111
#101=14.6-1.2(X)
#102=-0.04+5.86(Y)
#103=5.0(Z)
M98P3111
#101=14.6-1.4(X)
#102=-0.04+7.81(Y)
#103=2.50(Z)
M98P3111
#101=14.6-1.6(X)
#102=-0.04+9.77(Y)
#103=0.5(Z)
M98P3111
G91G00G28Z0
M09
M05
#104=5
#101=-18.2+113.46(X)
#102=-10.0(Y)
#103=14.34+2.8(Z)
M98P3112
#101=-18.2+0.2+113.46(X)
#102=-0.04(Y)
#103=12.50+2.8(Z)
M98P3112
#101=-18.2+0.4+113.46(X)
#102=-0.04+1.95(Y)
#103=10.0+2.8(Z)
M98P3112
#101=-18.2+0.6+113.46(X)
#102=-0.04+3.91(Y)
#103=7.50+2.8(Z)
M98P3112
#101=-18.2+0.8+113.46(X)
#102=-0.04+5.86(Y)
#103=5.0+2.8(Z)
M98P3112
#101=-18.2+1.0+113.46(X)
#102=-0.04+7.81(Y)
#103=2.50+2.8(Z)
M98P3112
#101=-18.2+1.2+113.46(X)
#102=-0.04+9.77(Y)
#103=0.5+2.8(Z)
M98P3112
G91G00G28Z0
M09
M05
T2(22000-5371)
N211M106(DIA. CENTERDRILL T2/H2/D2)
N212M11
N213G90G56G40G00X0Y-3.89B0S1200F10M08
N214G43Z50.0H2M10
N215Z3.0M03
N216G81G01Z-3.98R3.0P500
N217G91G28G80Z0M09
N218M05
N219G91G30Y0M19
M01
T3(22600-869)
M106( FORMENDMILL T3/H3/D3)
N220M11
N221G90G54G40G00X-37.0Y10.0B0S150F45M08
N222G43Z50.0H3M10
N223Z0.02M03
N224G41G01X-9.0Y-6.17D3F1000
N225X13.0F50
N226Z0F1.0
N227G42X-9.0F50
Z0.02
G41G01X-9.0Y-6.27D3F1000
X13.0F40
Z0F1.0
G42X-9.0F40
N228G00Z50.0M09
N229G40G00X-37.0Y0
N230G91G28Z0M05
G91G30Y0M19
M01
M11
N231G90G54G40G00X150.46Y10.0B0S150F45M08
N232G43Z50.0H3M10
N233Z2.82M03
N234G42G01X122.46Y-6.17D3F1000
N235X96.2F50
N236Z2.8F1.0
N237G41X122.46F50
Z2.82
G42G01X122.46Y-6.27D3F1000
X96.2F40
Z2.8F1.0
G41X122.46F40
N238G00Z50.0M09
N239G40G00X150.46Y0
N240G91G28Z0M05
G91G30Y0M19
M01
T7(DIA.T7/H7/D7)
M106
M98P3113
G91G00G28Z0
M09
M05
T6(22000-5202)
M106(DIR.ENDMILLT6/H6/D6)
M11
N241G90G54G40G00X-0.22Y0B0S1200F10M08
N242G43Z50.0H6M10
N243G00Z3.0M03
N244G81G01Z-3.6R3.0P500
N245G91G80
N246G91G01X-2.0
N247G91G28Z0M09
N248M05
N249G91G30Y0M09
/N250M106
M98P60
M99
:3111
N101G90G54G40G00X-20.0Y60.0B0S150F250M03
N102G43Z100.0H#104M10
G01Z#103F1000M08
N103G01X#101F250
N104G01Y#102
X-16.0
Y-30.0
G00Z100.0
N110M99
:3112
N101G90G54G40G00X133.460Y60.0B0S150F250M03
N102G43Z100.0H#104M10
G01Z#103F1000M08
N103G01X#101F250
N104G01Y#102
X129.0
Y30.0
G00Z100.0
N110M99
:3113(T7)
N101G90G55G40G00X-30.0Y-52.B0S150F45M03
N102G43Z100.H7
N103Z-21.0M08
N104G42G01X-16.58Y-24.46D7F800
N105X5.92Y-6.88F40
G00Z100.
G40X-30.0Y-52.
Z-21.0
G42G01X-23.44Y-24.46D7F800
X5.92Y-1.52F40
G00Z100.
M99
%
编程的其实就是算刀轨,而轨迹的前提就是坐标系的设定。离开了原点,轨迹的xyz就没有意义。
我有时听到一些人对五轴等机床说编程难,我个人的感受其实不然。这些机床基本都有专用的编程软件,对于这些软件,说白了其实就是傻瓜式软件,按着步骤做就是。越是专用的软件,越是如此,比如RCS软件。
去年来单位出差的母校老师也语重心长的跟我说:工艺才是王道。想想其实也对。
作为一个编程菜鸟,很多还有不懂的地方,请高手交流与指正。
还有一个问题就是没有专门的软件,因此没有自带的仿真。为了程序的正确及优化,我想用vericut7.0软件来仿真。但是目前这软件用的不熟,如果有朋友比较熟,请多多指点。 楼主两年就有如此造诣!实属数控界的一匹黑马!若楼主肯买我手中这本《颠倒乾坤数控无字天书》他日必能成为独霸一方的领袖人物,今日碰巧让我遇见楼主,就做个顺水人情5块钱贱卖给楼主了! 楼主用的什么编程软件? 楼主是个肯钻研的人,现下的年轻人极少有肯钻研的了。所以,靠他们崛起估计是靠不住了。 楼主之精神值得我学习啊!
好好学习,天天向上! 楼主牛叉 啊狂顶 楼主高人,小弟佩服
楼主的学习,钻研精神很让人佩服。顶。 我还是个娃娃,大哥你好牛啊,小弟佩服。向你学习