iCAx开思网

标题: [挑战题目100分] DMG 50V 五面(轴)加工后置处理程序开发 [打印本页]

作者: jinly    时间: 2003-10-6 16:50
标题: [挑战题目100分] DMG 50V 五面(轴)加工后置处理程序开发
有哪位兄弟做过DMU 50V 机床的后置程序请指点一下大家共同进步.....
  
Programme format:
N1 X100.134 Y205.224 Z312.334 B120.456 C34.453  
  
B is the tilting axix (0~180)
C: is the NC rotary table.
  
The control system is hedeinhain TNC 426/430. for the details, please refer to the menu online (https://filebase.heidenhain.de/doku/oma_controls/html/en/index.html)
作者: jinly    时间: 2003-10-7 10:36
零件如附件将斜面转到水平状态然后进行铣或孔加工,  分两种情况, MCS 在斜面和在原点,   问题有二:
  
    1. 当MCS在斜面上时如何读取刀轴信息,  或者如何从MSYS中读取刀具相对于WCS的I J K 值?
  
     2. 如果已得到的I J K , 如何计算B C 转角?   几何问题想和大家验证一下.
  
谢谢, 等你回应!
作者: jinly    时间: 2003-10-7 10:40
简单零件图如下  
作者: sinderal    时间: 2003-10-7 20:01
Wave版主用 UG PostBuild TCL寫過.. ,ㄝ實際上機切過了..
俺ㄝ用GPost寫過..切過
作者: jinly    时间: 2003-10-7 20:09
sinderal wrote:
Wave版主用 UG PostBuild TCL寫過.. ,ㄝ實際上機切過了..  
  俺ㄝ用GPost寫過..切過

  
Hi, how can I find those information?  can you give me some reference for the calculation of B C angle? thanks!
作者: sinderal    时间: 2003-10-7 21:52
I am using the Gpost Optfile to config the DMU-50V, 70V, 50eV, 70eV
  
There is the parameter could set the angle of Tilting Table. I don't know How to set in the TCL, sorry! Please ask Wave for help.
作者: Yeager    时间: 2003-10-8 08:26
在TCL挡案中有些參数....
  
set mom_kin_spindle_axis(0)                    0.0
set mom_kin_spindle_axis(1)                    0.0
set mom_kin_spindle_axis(2)                    1.0
  
查過HELP的說明如附圖,不曉得是否在設定這些非標準軸向的机器.
不過在PostBuilder好像沒法設定那些矢量值.........
還是請WAVE版主說明一下吧!!
作者: wave    时间: 2003-10-8 08:40
先定再做
已准备给先做的高手加分,期待ing

作者: jinly    时间: 2003-10-8 09:34
刀轨文件:   
==============================================
TOOL PATH/D25R0.8_COPY,TOOL,D25R4.8CEM
TLDATA/MILL,25.0000,0.0000,50.0000,0.0000,0.0000
MSYS/-49.5037,110.6111,4.6673,-0.2336063,0.4305111,-0.8718304,-0.1114245,-0.9025853,-0.4158418
PAINT/PATH
PAINT/SPEED,10
PAINT/COLOR,186
RAPID
GOTO/50.4822,23.5571,0.0000,0.0000000,0.0000000,1.0000000
CUTCOM/LEFT,1
PAINT/COLOR,42
FEDRAT/MMPM,250.0000
GOTO/30.6832,3.7581,0.0000
PAINT/COLOR,31
GOTO/8.8388,-18.0863,0.0000
CIRCLE/0.0000,-9.2474,0.0000,0.0000000,0.0000000,1.0000000,12.5000,0.0600,0.5000,25.0000,0.0000
GOTO/-8.8388,-18.0863,0.0000
GOTO/-30.4047,3.4796,0.0000
CUTCOM/OFF
PAINT/COLOR,37
RAPID
GOTO/-41.0113,14.0862,0.0000
PAINT/SPEED,10
PAINT/TOOL,NOMORE
END-OF-PATH
作者: jinly    时间: 2003-10-8 09:36
NC 文件, 可是角度不对....
  
0 BEGIN PGM UG_TRY MM
1 L M129
2 TOOL CALL 0 Z S0
3 L B+0 C+0 R0 FMAX M91
4 L Z-1 FMAX M91
5 CYCL DEF 7.0 DATUM SHIFT
6 CYCL DEF 7.1 IX-49.504
7 CYCL DEF 7.2 IY110.611
8 CYCL DEF 7.3 IZ4.667
9 CYCL DEF 19.0 WORKING PLANE
10 CYCL DEF 19.1 B-29.328 C83.059
11 L B+Q121 C+Q122 R0 FMAX
12 L X50.482 Y23.557 F MAX M03
13 L X50.482 Y23.557 F MAX
14 L Z0. F MAX
15 L X30.683 Y3.758 F250
16 L X8.839 Y-18.086
17 CC X0. Y-9.247
18 C X-8.839 Y-18.086 DR-
19 L X-30.405 Y3.480 Z0.
20 G40
21 L X-41.011 Y14.086 F MAX
22 L M5 M9
23 CYCL DEF 19.0 WORKING PLANE
24 CYCL DEF 19.1
25 L Z-1 FMAX M91
26 L B+0 C+0 R0 FMAX
27 L M30
28 END PGM UG_TRY MM
作者: jinly    时间: 2003-10-8 09:41
我用MSYS来计算刀轴 I J K, 可是不对 (MSYS/-49.5037,110.6111,4.6673,-0.2336063,0.4305111,-0.8718304,-0.1114245,-0.9025853,-0.4158418 )
  
可是如果加工用MCS, 我用mom_tool_axis读出来的I J K 总为 0 0 1, 如果不用MCS倒还可以....
作者: jinly    时间: 2003-10-8 10:04
请大家指点.....
作者: jinly    时间: 2003-10-8 10:13
上面只是我在猜想, 主要是针对五面加工, 五轴加工还要复杂,  苦于没有参考和指点, ......
  
       希望WAVE版主光临指导..... (鼓掌!.....)
作者: sinderal    时间: 2003-10-8 19:17
wave wrote:
先定再做  
  已准备给先做的高手加分,期待ing  
  

  
終於出聲了...:D:D:D
作者: zhubx2002    时间: 2003-10-9 20:37
有兴趣的话请电话联系133 18890259,我可以帮你试试,以前做过MIKRON YASDA和东芝等几种五轴联动的,.
作者: wave    时间: 2003-10-10 09:05
To jinly:
  
做这类机床(斜45度)的后处理,要注意的是:
1.机床的NC程序运行方式
  程序中 L X Y Z B C 的值 在机床运行时的位置是机床的绝对值还是相对值,也就是说,程序中 L X Y Z B C 的值通过机床插补(M指令)换算成机床的绝对位置.另外就是通过后处理来换算的(我一般用此法)
2.后处理的算法
  把UG中CLS文件中X Y Z I J K通过三角函数换算成X Y Z B C
  
例 B角  
proc rotate_b {b pos_in pos_out} {
  upvar $pos_in in
  upvar $pos_out out
  global DEG2RAD
  global Sin45
  global ud_y_offset
  global ud_z_offset
  
  set ry -$Sin45
  set rz $Sin45
  
  set sinb [expr sin($b * $DEG2RAD)]
  set cosb [expr cos($b * $DEG2RAD)]
  
  set x1 [expr $cosb * $in(0)]
  set x2 [expr $x1 + (-$rz * $sinb * $in(1))]
  set x1 [expr $x2 + ($ry * $sinb * $in(2))]
  
  set y1 [expr $rz * $sinb * $in(0)]
  set y2 [expr $y1 + (($cosb + (1 - $cosb) * pow($ry,2)) * $in(1))]
  set y1 [expr $y2 + ((1 - $cosb) * $ry * $rz) * $in(2)]
  
  set z1 [expr (-$ry * $sinb) * $in(0)]
  set z2 [expr $z1 + ((1 - $cosb) * $ry * $rz) * $in(1)]
  set z1 [expr $z2 + ($cosb + (1 - $cosb) * pow($rz,2)) * $in(2)]
  
  set out(0) $x1
  set out(1) [expr $y1 - $ud_y_offset]
  set out(2) [expr $z1 - $ud_z_offset]
}
  
proc linearize {mp_start mp_end p_start p_end} {
  upvar $mp_start mp1
  upvar $mp_end mp2
  upvar $p_start p1
  upvar $p_end p2
  
  global mom_lintol_status
  global mom_lintol
  
  if { [info exist mom_lintol] == 0} {
    return
  }
  
  array set m "0 0 1 0 2 0"
  VEC3_add mp1 mp2 m
  vec_div m 2 m
  set b [expr ($p1(b) + $p2(b)) /2.0]
  set c [expr ($p1(c) + $p2(c)) /2.0]
  array set p "0 0.0 1 0.0 2 0.0 b $b c $c"
  rotate_c $c m p
  rotate_b $b p p
  set d [dis_p2l p1 p2 p]
  if {$d > $mom_lintol} {
    linearize mp1 m p1 p
    say [format "L X%.3f Y%.3f Z%.3f B%.3f C%.3f" $p(0) $p(1) $p(2) $p(b) $p(c)]
作者: camhii    时间: 2003-10-14 16:42
学无止尽!!!感叹
作者: zhangcanwei    时间: 2003-10-15 10:56
我用VB写一个全新的后置程序,原计划十月份完成,现在看来要推迟了。不过早晚要完成的,到时公布出来,望班主加分。
作者: jinly    时间: 2003-10-16 09:54
The machine
作者: jinly    时间: 2003-10-16 09:55
The machining....
作者: jinly    时间: 2003-10-16 09:56
the parts
作者: jinly    时间: 2003-10-16 10:09
I want to calculate the angle when it is rotated to the tilted face.
  
  the MCS is on the tilted surface, and the origin is on the center point of the hole...
  
I want to get the I J K from the tool axis, so as to calculate the B C angle...
  
The CLSF:  
TOOL PATH/D25R0.8_COPY,TOOL,D25R4.8CEM
TLDATA/MILL,25.0000,0.0000,50.0000,0.0000,0.0000
MSYS/-49.5037,110.6111,4.6673,-0.2336063,0.4305111,-0.8718304,-0.1114245,-0.9025853,-0.4158418
PAINT/PATH
PAINT/SPEED,10
PAINT/COLOR,186
RAPID
GOTO/50.4822,23.5571,0.0000,0.0000000,0.0000000,1.0000000
  
To test the I J K
  
proc  MOM_start_of_path {} {
#_______________________________________________________________________________
# This procedure is executed at the begining of each path in the task
# It gets called after all the general parameters of the path are loaded
# like the path name and the tool name.
#_______________________________________________________________________________
         global mom_path_name
         global mom_tool_name
         global i j k
         global mom_tool_axis
         global mom_prev_tool_axis
         
         MOM_output_literal "$mom_tool_axis(0), $mom_tool_axis(1), $mom_tool_axis(2)"
         MOM_output_literal "$mom_prev_tool_axis(0), $mom_prev_tool_axis(1), $mom_prev_tool_axis(2)"
  
         CHECK_OPER_TYPE
}
  
and the Test result
  
0 BEGIN PGM UG_TRY MM
1 -0.87183043658199078, -0.41584178691117041, 0.25881904510252024
2 0.00000000000000000, 0.00000000000000000, 1.00000000000000000
3 L M129
  
And I get the I J K of the normal vector of the surface is:
  
I 0.416   J  0.2588   K  -0.8718
  
what is the problem with the tool axis I J K?
  
How to utilize these to calculated the B and C angle?  I just want the 5-sided postprocessor
作者: wave    时间: 2003-10-16 11:07
为什么要计算MSYS的矢量呢?
看你的CLS文件,是三轴垂直的:
  
   RAPID  
   GOTO/50.4822,23.5571,0.0000,0.0000000,0.0000000,1.0000000

作者: jinly    时间: 2003-10-16 11:25
wave wrote:
为什么要计算MSYS的矢量呢?  
  看你的CLS文件,是三轴垂直的:  
  
     RAPID   
     GOTO/50.4822,23.5571,0.0000,0.0000000,0.0000000,1.0000000
  

加工是在当前的加工坐标系, 故 0   0   1, 当前的加工坐标系是通过旋转和平移绝对坐标系得到的,  如前面的MSYS, 我想知道如何计算B 轴和C 轴的旋转角度从而得到当前的加工坐标
作者: jinly    时间: 2003-10-16 11:31
如图:
作者: jinly    时间: 2003-10-16 11:37
一次安装先铣A面, 然后旋转, 使B面水平,  铣B面, ......
如何计算 B 和 C 要转多少?
  
要不要我把零件发给你?
  
多谢了!
作者: wave    时间: 2003-10-16 12:40
jinly wrote:
   
  加工是在当前的加工坐标系, 故 0   0   1, 当前的加工坐标系是通过旋转和平移绝对坐标系得到的,  如前面的MSYS, 我想知道如何计算B 轴和C 轴的旋转角度从而得到当前的加工坐标

  
旋转坐标系干什么?
作者: jinly    时间: 2003-10-16 13:09
其实就是要转B轴 (45度轴) 和C 轴( 工作台中心), 使B 面成水平(与刀轴垂直), 加工时需要刀轴与被加工面垂直.  
  
      简单说就是把B面 从斜面转成水平面 ? ( 装夹时以 与A面平行的底面定位).   
作者: wave    时间: 2003-10-16 14:53
jinly wrote:
如图:

  
按此图装夹.Z轴向上,右側的孔如何做?
作者: wave    时间: 2003-10-16 14:54
jinly wrote:
一次安装先铣A面, 然后旋转, 使B面水平,  铣B面, ......  
  如何计算 B 和 C 要转多少?  
  
  要不要我把零件发给你?  
  
  多谢了!

  
发文件吧
作者: jinly    时间: 2003-10-16 16:30
wave wrote:
   
  
  按此图装夹.Z轴向上,右側的孔如何做?

  
所以要把斜面转到水平然后加工,  
文件已发去你的邮箱请查收......
  
谢谢.......
作者: cnctech    时间: 2003-10-16 23:28
可以用其他软件来完居吗?  我掌握的一个软件可能会更适合此工作
作者: sinderal    时间: 2003-10-17 03:01
Give me the part X_t file..
作者: wave    时间: 2003-10-17 08:22
sinderal wrote:
Give me the part X_t file..

  
:D:D:D
作者: jinly    时间: 2003-10-17 09:03
cnctech wrote:
可以用其他软件来完居吗?  我掌握的一个软件可能会更适合此工作

  
其他软件也可以,  关键需要其核心部分, 就是他的计算方法.  因为始终是要输出B C 角度.....
  
  你说的软件是什么?
作者: wave    时间: 2003-10-17 09:11
图片
作者: wave    时间: 2003-10-17 09:13
NC程序
  
0 BEGIN PGM test MM
1 BLK FORM 0.1 Z X-20. Y-20. Z-30.
2 BLK FORM 0.2 X+20. Y+20. Z+0.
3 TOOL CALL 0 Z S0
4 L X-21.588 Y-10.537 B+41.956 C-132.933 F MAX M3
5 L Z+22.177 F MAX
6 L Z+18.24 F MAX
7 L X-28.893 Y+2.563 Z+18.239 RL F500
8 L X-30.007 Y+4.354
9 L X-31.286 Y+6.03
10 L X-32.821 Y+7.664
.
.
.
.
作者: wave    时间: 2003-10-17 12:41
PART NX
作者: wanlue    时间: 2003-11-27 14:33
如何加分呢, 达到什么效果
作者: wanlue    时间: 2003-12-2 22:57
[quote]jinly wrote:
刀轨文件:   
  ==============================================  
  TOOL PATH/D25R0.8_COPY,TOOL,D25R4.8CEM  
  TLDATA/MILL,25.0000,0.0000,50.0000,0.0000,0.0000  
  MSYS/-49.5037,110.6111,4.6673,-0.2336063,0.4305111,-0.8718304,-0.1114245,-0.9025853,-0.4158418  
  PAINT/PATH  
  PAINT/SPEED,10  
  PAINT/COLOR,186  
  RAPID  
  GOTO/50.4822,23.5571,0.0000,0.0000000,0.0000000,1.0000000  
  CUTCOM/LEFT,1  
  PAINT/COLOR,42  
  FEDRAT/MMPM,250.0000  
  GOTO/30.6832,3.7581,0.0000  
  PAINT/COLOR,31  
  GOTO/8.8388,-18.0863,0.0000  
  CIRCLE/0.0000,-9.2474,0.0000,0.0000000,0.0000000,1.0000000,12.5000,0.0600,0.5000,25.0000,0.0000  
  GOTO/-8.8388,-18.0863,0.0000  
  GOTO/-30.4047,3.4796,0.0000  
  CUTCOM/OFF  
  PAINT/COLOR,37  
  
我的议题:
  
  UG的MSYS代表的含义, 一共 9 值用做空间坐标系的矩阵变换. 格式如下: dx,dy,dz,Ivx,Jvx,Kvx,Ivy,Jvy,Kvy,这里 “dx,dy,dz” 指定局部坐标系和系统坐标系的相对距离, 并且 “Ivx,Jvx,Kvx, Ivy,Jvy,Kvy” 指定相对与模型坐标系统的局部坐标系 X 和 Y 的矢量.MSYS仅仅在UG系统里的使用。
      本例中的坐标系统还原以后,关于Z轴的矢量是负矢量,DMU50V的B轴范围仅仅是180度到0度。除非旋转工件,不然是没办法去加工的(MSYS/-49.5037,110.6111,4.6673,-0.2336063,0.4305111,-0.8718304,-0.1114245,-0.9025853,-0.4158418)有不同看法请反驳,看法相同请增加回复。
作者: jisx0404    时间: 2004-3-28 10:47
zhangcanwei wrote:
我用VB写一个全新的后置程序,原计划十月份完成,现在看来要推迟了。不过早晚要完成的,到时公布出来,望班主加分。

  
写好了没有?我正等……相信你肯定行。
pb好象要有高级运动模块才行。
作者: haiy_li    时间: 2010-11-21 00:28
学习了。再试试。后置不好做。
新版的ug 后置能设置45度了

但是不知道:m128怎么和刀位文件关联?




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3