|
: l% Q+ n; x$ {
简介
4 {! `2 K( T) }8 v: y/ L/ a$ p% ~: z/ IPowerMill 刀具路径仿真中可包含机床模型,这对 5 轴加工而言尤其重要。 5 {: i4 c) F! f2 t" Z% Y
必须具备机床中的全部独立运动件的三角形模型 (如 dmt 或 stl 格式模型),而且用户需获取精/ m7 r. s& l! s( K
确的尺寸以及和指定机床设置相关的任何其它细节。 ; m" J* Z) Y( c$ p
这些独立的三角形模型文件保存在机床仿真规划文件(mtd)相同目录下的一个文件夹中。 % O Z7 j/ b! }% |3 w. q: O
通过复制修改已有具有相似配置的机床mtd 文件,可更方便地产生新的 mtd 文件。
8 {8 G- ?! ^; }0 v" z# w
( j! C$ |. }, R4 v4 v# T如何配置仿真机床模型
% X7 H5 e3 V( d1 U- u$ q6 }$ W第一步是产生机床中每个可动轴的部件模型(最好是使用 PowerSHAPE ),必须将它们输出为
/ m* ~- \0 f* ?* ~: @" G独立的三角形模型,从而可兼容mtd 文件使用。下面范例已产生并提供了这些模型,可直接注
9 y& `3 X: h* b2 ^3 ~2 g$ @册到新的mtd 文件。
3 g; I6 V1 B8 l3 A# b( b+ g, B; G
2 n$ x, c: W( \3 l" K0 R, Cmtd 文件包含有描述某个机床的动力学情况的信息。 0 m. [2 C6 Q- j. j$ z
mtd 文件必须和规划文件pmillmt.xsd 位于同一文件夹中。 7 r" m. u# L5 c- H; r; k$ \: Z1 s
同样,在这个位置必须有一子文件夹,子文件夹中需包含机床中全部固定和移动件的三角形模型
4 k6 U/ ~+ z, l ^2 |! k2 I5 D# odmt 。
- }5 s6 K3 h6 T. F2 ~
9 S d- Y+ x% P( V dmu80t 5轴机床模型
- b$ ]4 y7 D6 d; ], g2 u- j
O# l. @! n( g) w2 ?$ n( q& e# p$ J
上图给出了 5 轴加工机床 dmu80t 中的 6 个独立的三角形模型,同时也给出了工作台顶部到主
# D& Q/ p% }5 Z7 Y4 G% u轴底部的垂直距离 (421.6716),以及工作台顶部和到旋转轴中心的垂直距离 (925.00)。' F u [7 `* E+ p+ R* r* W
& N. H0 F9 P% _& ]machine_part * w8 S6 _. W( [
mtd 文件由对象 machine_part 组成。 这中间必须有两个必须的 machine_part 对象,
2 S- G$ ?. [. \1 e9 _ u, r2 l它们是 “head” 主轴和 “table” 工作台。注:在mtd 文件中,它们的名称在必须小写。 ( \4 H8 F4 d" T9 f+ P$ n
在上面的机床中, X, Y, 和 A 轴 (绕 Y 轴旋转的轴) 由 “head” 控制, Z 轴和 B 轴(绕 Z 轴
- ?9 o- T9 M- c: m6 P1 g q旋转的轴)由 “table” 控制。 6 f% u$ Q4 c; I7 ?
/ W" Y9 _( c5 Z线性轴控制
( w! c2 C& _0 }+ u必须存在 X, Y, 和 Z 且仅支持右手轴坐标系规则。 ! u' U$ f7 T& a7 m, \# W) K
它们可在任何方向,只要它们彼此垂直。
. y, w; k: j, b/ B" ~% T6 w* H可配置的轴类型是: . ~" L; |& B* k+ C' h# z9 |; T1 f
Simple_linear:定义需要方向。
3 G8 h4 v5 U% ]/ S# @7 W+ p( i
; p7 L7 W1 q+ A+ S1 w+ v旋转轴控制 T# [; o. l d/ i; U* B
旋转轴通常由 A, B, 或 C 轴控制,最好能够选取和相关后处理器相匹配的相同输出。注:如有可
4 k( H% v/ d0 C+ g. A. U能,可指定每个旋转轴的角度限界。
' L. q a% n& H8 l1 t可配置的轴类型是: 8 F/ o% k9 b2 G: X% e
simple_rotary:定义需要位置和方向。, d- a2 s; ?6 i; `& A7 L' s' q+ _
14 - 3 $ h: Y9 I3 ~* y; X- h
机床模型文件初始状态 ( G" G2 W; j u' U! N$ p
尽管这些独立的三角形模型都和机床模型装配都具有正确的位置关系,但仍然需要在mtd 文件中, _/ [& i" }# Y; A+ `
输入一些关键尺寸。在此范例中,这些尺寸包括自工作台顶部 (0 0 0) 到主轴底部(0 0
9 ~. V6 G- M4 z+ P! h; V* M421.6716) 的朠愀甀最攀 距离,以及旋转轴中心坐标(0 0 925)。
6 }7 M" b$ f5 _& @4 E; b
9 N3 | h5 D9 m6 E, P6 h范例:Mazak 5轴机床模型文件
7 M- m+ L, K9 y T$ \, y0 r7 I( k4 v0 K0 f; U
1 选取文件 – 打开项目:
: \' `4 S9 [& V: Q6 s3 `& l4 e5 f....\PowerMILL_Data\five_axis\MachineToolModels\MTD-Ex1_Start - \* P% ]; B4 Q- _
' L3 X+ b P/ {% P9 o( N5 T3 o2 选取文件 – 保存项目为: ' M- G: h( u9 g) o3 o& U: ^* W
....\COURSEWORK\PowerMILL_Projects\ MTD-Example1
3 k0 u" n, |0 t( \, w* I0 Y- _* x% n! f; Z+ l4 T: f
保存在上述项目中的机床模型定义了: ) p7 o r1 S# R0 B0 Q( x4 U
a 全部独立机床部件的位置。
7 Z0 [8 }6 S: s7 ?7 f) H9 Fb 2 个旋转轴的方向以及 3 个线性轴的 +/- 移动。 3 p, M) Q* h# R* K
c 5 个轴各自的最大/最小行程。 5 d, k9 i4 v5 k$ e; E1 x
可使用机床信息对话视窗
中的微调选项查看上述机床的运动。 / |1 V. _. G q- B9 I
3 右击 PowerMILL 浏览器中的机床模型 PMPOST-Mazak_Variaxis_630PSA ,从弹出! h. Y* W D" Y
菜单选取设置。 7 Y! k u8 t' L! o/ r( C) _
- G1 o* V6 T( I4 h& W9 Z# ]
. M3 j. Z, Y4 X: K) ]5 f* ]$ F6 s
4 选取机床对话视窗中的零件。 ! f9 ^* a- E) U8 A5 ? p, o
1 C1 W. Q9 e9 s# Z1 p9 }2 I s
5 向左移动透明度滑块,直到机床床身几乎不可见。 & Y, k5 z# q; Q, d) f2 n
+ R4 @% e! |( x
6 右击刀具路径 EM12-FinPkts ,从弹出菜单选取自开始仿真。 3 P; @/ ?4 A+ r& c+ U3 }
7 选取机床工具栏中的机床显示
选项。
# N* I9 f# H+ s7 E+ y( I, t
* J! a5 N9 y7 N$ |, ?
8 点击微调 (注意对话视窗中第一行的 > 标记)。
, P" N2 A1 ?3 a; s! U2 F X
7 f: K1 |8 |/ D+ p+ {9 j
9 按住键盘上的 Shift 键并按下向左箭头,在机床模型上做 -ve X 移动。 % q8 L" s9 V: e1 H+ `* ^
+ i& v& E8 J, i; _10 重复 8,但这次按下向右箭头,在机床模型上做 +ve X 移动。 0 a6 a6 x' y* p; x
11 按住键盘上的 Shift 键,同时按下向下箭头键,将标记 > 移动到下一行。
l5 e$ N6 Y2 r) L( d" k1 N12 和 上面的 8 、 9 一样,查看机床模型上的 -ve 和 +ve Y 移动。 8 a; c! m' B6 ]: a
13 逐个移动到下一行,检查剩余 3 个轴在机床模型上的运动。 ! F! A% I# [; R8 r8 _6 J
( i' I( ^4 l' l6 T+ R
9 w2 ]; E$ j/ A 上图所示运动和 MTD 文件对应的实际 Mazak 机床运动完全一致。 2 b$ q! }7 f3 Z& i6 Q1 }
完整仿真可直观查看并确认刀具路径的全部运动,同时也可检查机床部件的碰撞情况(需购买1 ]9 z* k d+ ]* u8 e
机床仿真授权)。 f+ m. k# [1 ]# {9 E
s8 ~! K3 G. p$ b
14 关闭加工信息对话视窗,然后对刀具路径 EM12-FinPkts 进行完整仿真。
0 o3 T7 Y* y a2 X4 {
$ H/ a& g( j4 C' q
( T9 H" q- E; w/ V
15 右击 PowerMILL 浏览器中的机床 PMPOST-Mazak_Variaxis_630PSA ,从弹出菜! ^4 i3 ?, K$ r1 \( K
单选取返回原点。
9 z1 S# m: g, u c: A16 在机床工具栏中点击输入机床模型
。
; M8 c' W6 |& p* n* ]! O/ _8 V- [4 j# a! G$ {% x8 Y; _
17 选取机床模型文件: % g( [: @. t" h" q
C:\Training_Data\PowerMILL_Data\five_axis\MachineToolModels\PMPOST-
, x; {5 j4 x5 ~! Z& J% e8 VMazak_Variaxis_630PSA-Faulty.mtd
% t2 x/ S: c y* @* ~8 P) h E, r6 P9 l+ Z! T
18 选取并打开输入的新机床模型。
2 }# d `; i: m( V4 n2 S
: \8 Z, c* y8 Z5 f" u7 M$ x* e新输入的机床模型本应和已有机床完全一样运行,但由于其 MTD 文件中包含有需要修正的# _$ B- n/ m0 Z, Z9 \& p- _8 o
不正确的值,因此用户需要逐个检查线性和旋转轴运动、水平轴和旋转工作台的相对位置、以; Q3 H% {" C$ u z& T2 C' [
及内建行程限界等,找到错误运动。 w7 E! E; h0 a" v
3 S% O( s4 X; i# W
19 选取机床工具栏中的机床显示
。
- }; J e7 W" c, j! D$ U20 使用微调选项检查全部 5 个轴的 +ve 和 –ve 运动(它们应和原始项目输入的机床模型运动, u2 V" L8 \" y
相同)。 + G. N) R0 c, p5 p/ D" o8 F, z6 O
. }& ?! I: s6 ] Z% P; d: t- K
a 除旋转轴 C-轴外,其它 +ve/-ve 运动均无误。和前面原始项目输入的机床模型相比可
8 M! x+ O/ b+ `4 a1 t/ O4 l$ H知,其旋转运动方向相反。 ) d8 [ }6 U- r8 A) e
b 旋转工作台轴不居中,而是处于激活用户坐标系的 Y 轴方向的某个位置。
' P9 [4 W3 }9 X! t+ q21 在 Windows 浏览器中进入: - e+ T& B1 G! E& C
C:\Training_Data\PowerMILL_Data\five_axis\MachineToolModels . P8 @/ b- M4 T" `0 o( W4 B) f3 A
, t! i8 q! O9 W, \- G8 i$ u22 复制 PMPOST-Mazak_Variaxis_630PSA-Faulty.mtd ,并将它重新命名为: ; y. b3 x. x4 m4 A1 u1 l! L& C. v
PMPOST-Mazak_Variaxis_630PSA-Update.mtd
& A, Z0 g3 {: `; r/ c" ^0 x# }! C* P23 使用 Wordpad 打开文件,在定义旋转工作台 -C-轴的 mtd 文件中查找不正确的数据。 9 Z' a( D8 O% o w
<machine_part>
4 A+ m0 A/ L( n1 v( T" e# Z1 B<axis> + T! N" f9 K$ ~7 \
<control_info ADDRESS="C" /> $ G9 q$ s" D2 \: _8 u
<simple_rotary X="0" Y="250" Z="0" I="0" J="0" K="-1" /> . G7 [: L M4 o! }) S
</axis> . J, D- N0 V3 D6 l& c+ C
<model_list> ! y1 G, z5 |4 k# H$ q- Q: r% D
<dmt_file>
: n0 r$ h" Y/ j<path FILE="Mazak_Variaxis_630/table.dmt" />
3 w; }& ^! n7 E<rgb R="200" G="200" B="200" /> 6 N4 T- y8 c4 q6 R' _/ r( o8 U. o
0 S6 z& z6 S/ X+ T需要将上面定义 C 轴的行中的 XYZ 位于工作台中心,同时需要反转 +ve/-ve 旋转方向。 + c' `* A6 X$ ]5 Z8 `6 S. R" v! |
! Q7 K# O7 l2 b& Q9 Z24 修改值: Y="250" 为 Y="0" ,K="-1" 为 K="1"
+ o! z; h# F* |# y% g$ c25 保存文件(但不关闭)。
, r' v6 U2 U% f' N- O8 z8 \! j0 b26 点击机床工具栏中的输入机床模型
。 # `. e3 l9 D) `- t$ v
27 选取机床模型文件:
+ }2 }6 B2 w! O' |6 S! h( _. tC:\Training_Data\PowerMILL_Data\five_axis\MachineToolModels\PMPOST-, H4 R; p$ w/ U( C3 K( Z6 B7 p
Mazak_Variaxis_630PSA-Update.mtd
4 k( h! u; Z! F1 f n% d5 {% a" D
$ y3 b& ~1 n9 J- X% j28 关闭机床模型固定零件的透明度。
: X3 K( B6 o; I! [% l- p. d29 点击机床工具栏中的机床显示
。
2 t9 ^6 E' z6 l$ a( K% g3 W) g30 使用微调选项检查旋转工作台 - C-轴的 +ve 和 –ve 运动。
; v+ E l0 X, F6 z1 |6 J& R/ w
7 Z. t$ ?, c# Q2 ~7 [现在更新后的旋转工作台 - C-轴运动和原始的机床模型 (PMPOST-
6 `6 X6 m P) ~4 O+ T8 I. ^0 i4 x, N/ F aMazak_Variaxis_630PSA)完全相同。 14 - 9 $ B$ B% f$ ?# F& U: r
下一步就是使用仿真来检查机床模型中的全部的线性和旋转行程是否无误。 ! L& Q) X$ D( ^$ D
31 右击刀具路径 EM12-FinPkts ,从弹出菜单选取自开始仿真。 2 z' Q4 s6 F2 c1 {* j) M7 N
32 点击仿真工具栏中的运行
。 : X1 b x3 ]0 e+ M# e6 r9 Z0 Z
1 ]) d. \* y" Y8 ?( Q1 }8 N通过仿真可见,不仅水平轴朝机床后面旋转,而且由于超出了其中一个行程限界,仿真被迫
4 K; a) T5 |2 {停止。 7 s$ w, o" Q3 e A) g
不能假设这是因为 mtd 文件中存在相同的错误。 7 z. m5 W u% [9 T
! b7 f" R/ q. B
33 回到 Wordpad ,在定义旋转工作台 - A 轴的 mtd 文件中查找不正确的数据。 / ?9 x, O% Y$ C( G% `
4 ]" ?- y* I3 i3 M2 ]8 g: n
<!-- The table -->
; B% _- J( h# ~ <machine_part> ) Z9 |& B) Y- c4 f: Z9 m2 U
<axis>
* a& E; b5 v, r7 f3 o8 f5 D <control_info ADDRESS="A" MIN="-30" MAX="120" /> j: j* R8 g) t$ Q- T* q3 M
<simple_rotary X="0" Y="0" Z="50" I="-1" J="0" K="0" /> 4 k- W3 ?$ i" P2 p5 H
</axis> - w% E5 t' H! H( Z
<model_list>
) E+ G: {4 F. d: | <dmt_file> % ?! {! E* g$ ]3 }/ m
<path FILE="Mazak_Variaxis_630/Trunion1.dmt" />
8 C5 R/ h7 W" o! d <rgb R="210 " G="210" B="255" />
: V X8 v; n6 F k2 d! A. Y2 W7 l) `
在上面的定义 A 轴旋转行程限界的行中,我们只需要交换最小和最低值即可(已检查正确的
8 N( }" y2 c4 @0 d2 p# f3 b9 x+ve 和 -ve 旋转,而且确认无误)。
2 ~9 Y7 s1 g, `: A( y j( ]
4 `3 a; r+ y' o& O* t- i0 f4 f3 m34 修改值: MIN="-30" 为 MIN="-120" ,MAX="120" 为 MAX="30" : l1 Y }8 I% E7 O, j3 W* y: B# T4 |" e
35 保存文件(但不关闭)。7 Z+ w7 ?$ z, v7 O) T7 r; ^) \
36 右击 PowerMILL 浏览器中的机床 PMPOST-Mazak_Variaxis_630PSA-Update ,
4 b1 H6 ?, k9 ?从弹出菜单选取删除。
. X. M0 L2 Q$ E, \ 需要重新将更新后的 MTD 文件输入到项目。 ) B9 N8 _) X; G5 C
37 选取机床工具栏中的输入机床模型
。
" O, o3 M5 Q+ y1 `2 T% o9 _. `38 选取机床模型文件: ; y( e+ k0 n9 w" f
C:\Training_Data\PowerMILL_Data\five_axis\MachineToolModels\PMPOST-
# z3 w. X9 h' l2 b4 z4 fMazak_Variaxis_630PSA-Update.mtd + J& c6 P0 U' z0 ?5 ?
3 m4 Z$ |) K0 E$ Y39 关闭机床模型固定零件的透明度。
1 m. u- f0 _. A: ?40 右击刀具路径 EM12-FinPkts ,从弹出菜单选取自开始仿真。
L% C) k, g6 t41 点击仿真工具栏中的运行
。 6 G* ?1 ?4 c- ^9 L- {5 |
/ H8 t6 g' D( {1 H9 P' b) \仿真立即被终止,屏幕上出现 PowerMILL 错误警告。
' j- }0 a7 h. G: Z- h/ G1 {: |! S |
42 点击 PowerMILL 警告对话视窗中的 OK ,然后点击步进向前
按钮,点击警告方框中
' n/ K4 G0 T9 O- H) F' u的(OK) ,直到警告方框不再出现。 . k7 [) \8 o1 h; V# n; N
4 ?: d0 |& [$ D( l
5 d* w3 n4 t: K5 \8 ~
可见主轴沿+ve Y 方向定位无误。
3 m" W6 i2 f* a! Q, U' W
: j1 t& H& I; w5 }* u0 F5 y43 继续步进向前,观察 –ve X 方向的全部运动,直到仿真停止,然后观察 +ve X 和 -
% t0 g4 i8 M& tve/+ve Y ,查看是否无误。 0 V& l8 T+ {8 S3 L
44 回到 Wordpad ,查看定义 X 轴行程的mtd 文件中的 吠栀攀 head 主轴部分的错误数据。
* E3 j. f' ^; g' A7 f$ U <!-- The head -->
4 Q- I# o# m8 E$ u& o4 K <machine_part>
4 c% w, P, |* Y" M, I <axis>
+ C% T! ]3 s3 _, V2 U8 Z <control_info ADDRESS="X" MIN="-20" MAX="315" /> 1 s- {( Y$ U7 P! s
<simple_linear I="1" J="0" K="0" />
6 R$ l# I( h4 s( M </axis> . }: D8 a! q5 a) ?9 k9 f
<machine_part> & `2 p1 ^$ c5 w% K+ Q+ O ^7 Z
<axis>
]$ `7 [0 e7 `9 B" s <control_info ADDRESS="Y" MIN="-450" MAX="315" /> # c: \' {7 n- t/ \1 r
<simple_linear I="0" J="1" K="0" /> 8 x9 Y3 Y9 C D6 a) M
</axis>
3 A, r% h# {& n; y7 g# F3 C# z <machine_part> ( u; k; \4 N! N8 a5 g8 ^
0 f) \. y- c7 V* h2 t上面定义最小 X 行程限界的行中有不正确的值 "-20"。 7 l% V: g- w) ]" n
必须将此值改变为 "-315"。
% F# }% p3 ] b/ Y9 n8 Z8 a& m! O7 b3 V9 g
45 修改值为: <control_info ADDRESS="X" MIN="-315" MAX="315" /> # N/ H7 B/ h# f0 O/ X$ U
46 保存文件。
/ k3 y. x8 H* j* m47 右击 PowerMILL 浏览器中的机床 PMPOST-Mazak_Variaxis_630PSA-Update ,
2 T$ b, P; P- c9 y# y0 I从弹出菜单选取删除。 / v6 Z, \6 m0 ? Z; d
需重新输入更新后的 MTD 文件到项目。 ! b- q( n V( w7 o
: e- W# E: q2 V3 k; w: Y
48 点击机床工具栏中的输入机床模型
。
A. \7 o* v( t p# a7 N+ E# M49 选取机床模型文件: 5 I' J+ P+ z/ ~9 w( O
C:\Training_Data\PowerMILL_Data\five_axis\MachineToolModels\PMPOST-
0 o$ W. V8 F4 g2 `Mazak_Variaxis_630PSA-Update.mtd
0 V0 x9 u# C* w- n4 w L) ^$ R: d' V/ j
50 关闭机床模型固定零件的透明度。 7 ?7 x7 M+ ^- `' m' _# I
51 右击刀具路径 EM12-FinPkts ,从弹出菜单选取自开始仿真。 ( ^6 p( W) `- O0 X! ?1 w. ]; m
52 点击仿真工具栏中的运行
。 3 ^* h, ?' S/ p2 k
0 G% J1 ~) K+ J R( K# S) d仿真现在可自始至终成功运行,没有任何停机,全部线性和旋转运动都应和原始 mtd 文件
8 Y' E ], n9 L4 u1 {+ o% x+ l(PMPOST-Mazak_Variaxis_630PSA) 匹配。 % O9 \5 }3 }1 Q0 S# l+ j
4 U& ^* z# Y. z, Y6 t# l
53 选取文件 – 保存项目。
/ G% P( g+ O5 R& H; w" J1 I4 R2 X& h" Y
于是即更新项目: ...\COURSEWORK\PowerMILL_Projects\ MTD-Example1 。 5 H% e8 u& `# O$ K$ |2 V8 e( e& K5 k/ |
J( v/ J2 j( R. O; \
% e2 v/ r+ n; ]2 D( ~' O
|
|