|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 hntjlgx 于 2011-12-13 20:14 编辑
5 {% u- }- `& q
+ w7 r2 u3 i; M- q( l. Y3 |各位老大,本人有一事在此求高手去来帮帮我,具体如下:8 m& o$ B) x+ F4 @
我改一个西门子840D的双摆头B C轴的PM后处理,因为具体的机床参数有些尚不明了,我假设C轴是无限制旋转的,Z轴上偏置为零,但后处理去来的程序总是会把刀具标长加在Z轴,我不知道是哪里出了问题,,求若枫版主及各位高手帮帮忙,谢谢!!!修改后部分程序如下并附上附件:
/ W. p$ N3 _8 b- pmachine siem850! _; w" O: J+ X9 f: K2 A
#################################################
# c% ?3 a8 L% r( w1 B% i# Company - #
j! {1 f6 D2 `$ W8 F! g3 }# Machine - GENERIC #! ?3 W. F1 {( ^
# Control - SIEMENS840D #9 v( A$ P9 Y' `
# Axis Configuration Code : 3000 #
$ G2 I2 U7 N1 ?0 x( r- w* r# --------------- #
6 C; v+ _6 g8 Z8 ]# | HEAD | HEAD | #1 e/ S6 n- M3 b0 c% e
# ---------------|-------|-------| #
8 X1 H8 {% y5 L! I$ u0 |# | A axis | - | - | #
* O$ j6 k/ [. X# |---------------|-------|-------| #
+ x' V6 U/ Z# O9 D4 K. V5 d* J& O9 o# | B axis | - | Y | #
4 O( y6 B9 E2 e2 T# |---------------|-------|-------| #
5 O# N9 G, A- C0 V2 ?+ O3 H# | C axis | - | Z | #
! V; N8 ~7 q; U `1 j* P2 e# ------------------------------- #+ a( Z% t3 K& v
# #* d0 g4 D* x7 z/ ^
# Metric output #3 A E$ ^* t% ^: Y+ _% w
# Absolute output #
' P& e4 x8 b$ p8 y2 M; Q- N# Cutter Compensation #
Y( ?) }6 m9 [) L- {5 e# \# Drilling cycles #
! G, _- h4 h+ d0 M% [1 v1 X, U# Drilling cycles 200 series #$ s3 n9 }2 @1 {' @- {4 B& d/ X
# Parameterised feedrates ## P) f+ A T0 i+ f6 N" M6 ?
# Inverse time feedrates #+ m' U1 o) t6 s+ v" L
# RTCP #
' u+ g7 @$ Q) y5 w1 B# Active Working Plane #
+ j% y* ^& L7 C4 U& S# Connection moves enabled #) X. P' r1 ], @* R5 `& v
# Spline machining #
: N- p/ t: k$ j4 s( L# \# #; B1 W/ ? _9 L0 G
#################################################
+ K, {& }1 n9 O" o4 U# Above part Modified by - HNTJLGX(CHINA)
! I; O( s( r* E/ {) {8 ~% [4 X3 f3 a8 W+ o
8 ?) T$ Z# z, @- X. H
# Siemens 840D control.2 e- s3 @9 P( B- g5 v0 I0 T
# Code : 3000
% p# E5 X- r; a/ o/ l; H5 m# Created by LGX - 13.12.2011
! ^0 H+ @; B, A4 T! ^& I4 l0 W# 7 o. D2 g" B4 E8 B3 z2 j# B
#; U( N7 J r6 h6 Y/ ?7 u
#; ^5 G3 p# h7 B0 {: K! @
1 a: k$ q+ p( k# k8 b
#105 h7 o7 ~3 ?$ N6 R8 x& \
define word %D2 S+ [- D0 U1 _) E7 |9 b' |
address letter = "MSG(\\"DATE - "
7 w: H$ e+ ^; N6 F+ D address width = 13
9 X0 C) c1 {+ `* N field width = 29 V' i6 r, T! h, n; ^+ K
end define
; \+ m3 v0 t! k0 L#16) O( Y" L9 a3 H" A2 s) J! z V
define word %M
. @5 Q0 w% H. E3 V0 ?" h7 S address letter = "."
* W4 |9 u5 I$ r' M' y address width = 1
1 I2 U& U0 W8 v: [( \& Z* C field width = 2
4 N5 Q" L: M k; v$ S end define
1 \8 ]1 I$ f+ j) } {# ]. r6 p#22
5 y$ r+ w( D: w; q7 j6 u! A* r define word %Y% n F( B E$ [3 g6 u' w
address letter = "."% t$ `! S) K* T
address width = 1
O! B0 X2 X" Q field width = 2
2 Y4 `8 {& x' \/ y5 y& q1 c end define
/ S9 p# @- C1 } L3 _#284 y7 D9 l; W; ?2 o- p3 k* k8 S
define word %h
8 I& M9 e0 o( z, f; m5 o r address letter = "- "
2 y9 ], `0 D( r address width = 2$ \& P1 U4 ~; M
field width = 2
$ m9 f+ L. m9 [6 `2 y end define
( y% k L P: {4 J9 J, D- Y#34' R6 x( k! m! a U( z: b
define word %m
- A" v- \: a. A' D address letter = ":"
]( O: O J4 c z2 g' \ address width = 1
( ~. u$ T1 b! D- ?7 d5 l: _! ] field width = 2
3 |+ ?2 f( z, Q, ? decimal places = 0
) T/ H8 e7 V4 \7 b decimal point = false( U6 G+ K9 o/ I6 F3 g: L
end define* J, o" z6 U" i0 F
#42+ s4 C( W4 S- A' N7 F
define word %s
$ p4 O: K8 H0 I7 A* w: s+ Z9 r: q address letter = ":"" z/ O: J% k6 D' {
address width = 1# Z0 B/ g) O& L; X7 k
field width = 2
. T, I1 d5 W3 L% [) N2 v, l end define
1 \2 j9 |# [- G# x& H5 ^6 h#48
2 h" }- E8 C( [0 B. B define word TPN
: ?' a- u: z7 g2 Q! u address letter = "MSG(\\"TOOLPATH - "/ X* l' h4 I5 t- Z
address width = 17
2 w7 {( I1 F' R! E R field width = 20% I9 ^, @; ~9 C2 z3 h6 c6 H( g
end define9 P3 s0 ~1 ^( h1 ~6 b+ \
#54
. L0 w; [/ K! w M( j; } u define word TNO + u2 ^$ F$ K8 t. |
address letter = "MSG(\\"TOOL NO. "0 L: q, m! t! V' F& Q. d
address width = 16
y; M4 L; Q4 _3 ~) E field width = 3
& z# {. B5 }5 O9 {+ C& }. k. D. } decimal places = 0* _9 [5 o2 Z) @& y! [6 T" e; Z6 X4 Q
decimal point = false; R0 ]( y2 _1 r" C/ Q4 I7 s
leading zeros = false
9 ]" j5 t k/ h4 ]( b; J trailing zeros = false. P% E! Y$ w+ S+ V$ k5 i& u. z' r- A
end define% S4 l, T: q3 E( J0 e) Y2 H! ~
#64% f# ^" R% b5 z$ c+ c5 I8 T
define word TN
' k% J7 m F) w. R# D+ v& \ address letter = "MSG(\\"TOOL ID "7 M$ D% ]: N8 H2 d) P
address width = 16
: K; Y$ O3 a" `; P field width = 20
5 @/ M( p3 ~8 D# f7 E end define) E5 e- Z; w7 ^4 D: h8 N
#70) D, m! O. k7 C
define word TT
# M3 Q' r; h3 P address letter = "MSG(\\"TOOL TYPE "
9 b: D; f$ x' M0 i4 z address width = 16
( k) I6 u& F1 H. @$ K field width = 323 o# f0 V# y& K" y) |
decimal places = 0( W4 K; f$ E1 N4 M, g. y
decimal point = false
, G0 F# p! S: Z$ C# X, t4 s leading zeros = false
! ?% {- q# L; N; @" o# \! H0 N' Y% F* E/ E trailing zeros = false4 t+ o' v, k) J' w
end define
3 ^- h& H2 w8 v' ~& k#80$ r# l4 S! b' v" i
define word TD* n% F; g: x S' p: ~
address letter = "MSG(\\"TOOL DIA. "$ C& Z5 n4 a d% |5 A6 ]
address width = 16
; U, L5 J: O9 q1 q: [8 ]7 ~ field width = 8# a/ J+ w) F* ]4 M/ }! T
scale factor = 2
% j% t# @9 [+ S decimal places = 3
1 P% J; o( t$ o. e* \% W0 `) s decimal point = true) @8 o+ P, g u- U; `; r5 \! n
leading zeros = false2 z4 B' z: I: `' a7 {; s5 n
trailing zeros = false
% ^, B! j8 j: f1 s2 m/ s5 q end define' y- c: o9 Z8 ^. ]* Q/ j
#915 _1 N. |' M1 n
define word TR
* `% Y* h5 x+ Q( L6 t2 z \ address letter = " TIP RAD "
' w$ {6 x: u8 R# C& Q/ T7 t address width = 9/ y2 M! v" o! _, M5 A
scale factor = 14 U1 x2 o, ? e* Q6 J, e
field width = 8
4 t1 k" u- Q& J! } decimal places = 3
\" x' ]8 a# e; g decimal point = true* W- b0 i+ t7 |1 ~5 m) a4 f
leading zeros = false
; ^7 R8 _6 W/ I1 B3 i4 X trailing zeros = false# J( ^6 K2 B9 V, f7 e
end define
$ N0 V" f0 {' V$ e% z+ z& w#102
( n; ^. X, J, I define word TLH3 L- J1 H, d0 n- T
address letter = " LENGTH ") E" M! |, g/ r. G6 D$ A: a) Z
address width = 86 O3 a# i8 [& x" V q5 ]! r( y
scale factor = 1* c' L1 n! p9 `: T" m( e" W
field width = 8! y. K' Y, r' ]9 m
decimal places = 3
, I5 R) h) P( g$ I+ j0 Z decimal point = true
- r. F7 v" y4 v) K- w leading zeros = false5 q R# ~% `$ {! q. c
trailing zeros = false% ~8 Y3 [6 n* N7 E5 {# i
end define
F E) l& Z0 Z, S#113
9 C9 w- V( O( ]- B3 L6 Q define word TOL
0 U& x0 U7 R0 s* d' U address letter = "MSG(\\"Tolerance = "
, r. m5 W2 |9 T& m* x+ J6 p address width = 18 ~8 \2 z5 ^' X5 ?9 o- r6 J1 @ A
field width = 5
o2 w2 D% {4 g' v p' \( @9 |' [ decimal places = 30 D) l! I2 u" e9 a6 F1 Z4 e- W
decimal point = true
9 u3 k% ?* q) O. J+ | leading zeros = false0 j& Y9 V. H7 b8 M' U7 A( `
trailing zeros = false# }" B4 w- W% k2 W! F9 m
end define" `0 U- `% O M7 U
#123
% Y) G) m( M7 R8 d" q define word THK( i6 t3 L& q' _& H; G
address letter = "MSG(\\"Allowance = "
/ |3 }2 v1 e1 V, z address width = 18
8 P: K* D3 r2 L: i; I5 ?) [& _ field width = 73 r( ^$ f* S0 J8 @
decimal places = 3+ _1 A! s6 l F7 l
scale factor = 1
% ~ r _3 y$ O/ B" l u0 y j7 e+ U, f. B2 ^ decimal point = true, r5 {- R8 |8 T, ~) O+ d9 g1 I: p
leading zeros = false$ z" p2 E* F, `' ?' }) b
trailing zeros = true
7 j0 m- S: z5 Q6 W sign = always+ [5 v" d4 g) ~: s( I( M8 R
end define) F2 \. [+ i5 h8 @% D6 j F
#135
" C% @% M' C, ~4 j$ t- }2 ?3 | define word VER, o" }6 b: [: h4 C
address letter = "MSG(\\"DP Version " r! l& a" M1 i) H9 l2 b0 l; o
address width = 172 r7 H6 L3 ^; D3 r& W; C
field width = 4' i {7 ]: H3 F
tape position = 03 S R* P/ c0 ^7 P) a8 }
end define
# N. a( q1 a5 t5 l d" B& d% ]/ T) ]#1424 a6 ?3 ~8 G& ]2 W
define word OFN
& z+ x0 @+ j4 T N9 k2 ^0 @ address letter = " Option File : "
; @+ ^$ Z) K" q3 q+ l address width = 16
3 R4 f8 ]" z' `% v8 z1 u field width = 32/ y1 s5 F8 S2 t* N
tape position = 0
9 ~0 E( a3 _" v+ }9 } end define
9 }. I' \* G6 z- e, i#149
% d* \$ }1 C$ {/ t% h) E% y6 A, Q5 v define word RFP
. L+ h% m. j4 g address letter = ","
+ |0 F2 ]% |1 u% C address width = 1$ g0 [. {8 |( }3 K8 h, q
field width = 8( e0 x! e5 F7 n* p# l" ?- D6 I
sign = if negative
( o( |7 S* Q7 t4 G metric formats
8 U8 ~. v1 o5 d: K decimal point = true, @! r: O6 }$ ]4 }0 V- a+ N
decimal places = 3
+ g* ] ~0 f8 C9 e% C8 e, K/ s; K+ Y leading zeros = false$ A6 C5 |% T) w
trailing zeros = false
/ ]( g, \( s* G end define$ t; H0 S% `) P5 T
#161' k7 B+ n' O2 [. ? m/ }& R
define word DP
* L+ ~! Z- {, B8 F* H address letter = ","1 i8 N- y% N' K% D! O
address width = 1( V u5 i5 h% j1 Q Q9 j
sign = if negative5 e" [* D8 o% {. u1 A, n- h# X
end define1 l& D8 {4 t4 Y* b. G
#167
9 t* `6 O4 H f! [/ l+ \ define word Q1, f' A+ T* P+ q) Y5 C2 @4 x2 V1 M
address letter = ","6 C( z @7 `6 L/ }8 H) \ x: B; d+ M
address width = 1
0 t( A" g: D) |* e end define% M0 S6 }" j+ B% s9 w9 J# Y
#172
5 Z# ] f, Y) B: A/ F3 ? define word PT
$ b; v9 r; N3 u" A' Y/ w address letter = " , "( w6 d5 v Z9 m+ L
address width = 3- X0 R2 v/ n( g. v; X' {* `
field width = 5- d! V8 h8 @% P7 b6 J. e
sign = none
- S8 w1 M/ Q5 C, L0 p. J# t metric formats
0 w. {4 ^' v( B- F, F1 d0 D decimal point = true
! Z: F+ x# v, p" z7 f5 [ decimal places = 3
+ ?9 }$ }2 t2 o" [/ t- o leading zeros = false/ j+ }5 z% ^" K+ P
trailing zeros = false. y" x9 Y$ [0 h
end define+ O3 {" e; h+ A$ K
#184
5 q+ u9 e$ u2 @7 D% s2 ?/ A9 r define word ST
) z" K) H( \* f6 ?4 m; ~ address letter = ", "- c) o4 \( h0 J! Y9 T/ s7 u
address width = 27 A; B2 W+ y* J! O9 n8 @& K; K
field width = 5( L. f, j* F! X4 Y& d
sign = none w0 ?; K8 v5 C& g
metric formats
9 q! X5 Z. c( G1 B$ K decimal point = false8 u% Q+ T; _+ K" J, Z( D
decimal places = 0
+ g5 b4 ?2 d0 ]; w H* L2 { leading zeros = false
$ o3 F6 T) |* U/ T# } trailing zeros = true0 j7 g* L" K4 E b
end define7 F9 X6 e, Z- W$ m/ ]$ m
#1963 }4 i7 f) T) n* ?' n6 R
define word ST1( ~$ m9 Q& i- x; `" C, C: `
address letter = ", "
X, d, q, ] j$ Y. p" H# d Y& B address width = 2
; w) l1 G5 H. @( E scale factor = 3
7 X8 ]- j$ a6 v9 M- q9 ] scale divisor = 2
: @( o& `5 x4 t O. J sign = none
; n; m/ Z" }2 G+ w( @2 d! C) B end define# |$ ^, b, Y1 X7 J; V" k- E! Q
#204% M) ^6 e% N9 {+ X1 N
#vvvvvvvvvv WORKPLANE words vvvvvvvvvvvvv
( ^& ~3 S3 L5 a3 T' C#* V5 x% W# W0 F' A" u
define word RTC
7 V, r( R; G& G( E% e4 F8 }# T$ d0 h address letter = "TRAORI("9 w0 n O( W) \6 g5 Y: E
address width = 7
& A4 L5 ~5 v, _ u) E field width = 1* n# d2 k" p: K, i3 e9 ? ~
end define6 ~+ `; D* U" r) b
#212' z/ M. P1 n7 ] M0 Y' ~$ W) a
define word AWK
4 ?0 V: F- m3 p* d) l" T. r address letter = "A2="( U2 U4 C$ A7 [& a" g& i
address width = 3
+ G) s( O2 e% b* d7 h' p& ]: W end define6 U( q* I+ K2 K" e9 B6 h$ j; }
#217
% z8 ]2 a, Z- y5 f" B( @4 h define word BWK1 b" T+ _5 A- X8 M
address letter = "B2="
4 H' F0 g& P. V( @8 s$ b6 A address width = 3
$ k: k( ^0 U/ i# \& j end define7 V0 n, _1 b. W- g0 L; M
#2229 X6 c2 I/ `9 s+ o- F2 u' T
define word CWK J5 ]5 p! d! {" v3 t% p: s
address letter = "C2="
+ ~* t- s) w: A. D address width = 3- K) e# C' Z) ~" u% F
end define- y& M% B7 M) _
#2279 m4 O8 E! `4 ]" S; f6 Z& f
define word XWK
% |/ s$ n7 [" ~6 |7 ?1 l address letter = "ATRANS X"! u+ \# U5 a* j" S1 [( X' r( k
address width = 86 t8 q# j2 S; b7 `5 |; e- f% g
end define
; c% N( ^( x3 O# l#232
. |2 m9 _7 |% D, R define word YWK7 G/ l+ A* J; s
address letter = "ATRANS Y"* ?% M9 s8 A( Y3 C8 `
address width = 8
x- l# k5 S) A1 p9 t1 P& M end define
7 L- i! Z; s( L$ o#237
! A3 T3 l( Q9 } define word ZWK( _1 K1 e4 N9 A7 ^% y0 L; ?
address letter = "ATRANS Z"3 \2 j2 v1 j( d# V
address width = 8
' V, w, t" ?2 _6 v+ ] end define
9 D3 _7 M: @* A1 D* ?#242$ J0 e* D, g6 ^+ M# g) H$ _
define format ( AWK BWK CWK XWK YWK ZWK )7 R ]5 j. W0 Y
field width = 5- C S, [' p# j9 l+ P, F
tape position = 1& E! M$ J1 f- L2 F% q
sign = if negative
) N& C/ m# c# L0 `* ~/ }8 A metric formats
1 y2 ]+ ]* n( G4 P, ~ decimal point = true, F3 r' i) J3 F P( q/ ^
decimal places = 3
% p7 b4 }- G4 Y4 T8 M3 z trailing zeros = false
( z4 p& c8 Q4 M( @2 n$ Y end define
% l( h- W6 D" { O" Q#252
& O! ^1 F) s# s7 u: X' i( V( ~ define format ( ID )
" ]/ f# _2 s: k" x( M9 O address letter = ";%MPF"
9 {% m# q0 k5 I R address width = 5
& d' `: ]) v! w, G: ~ field width = 12& t2 {$ F3 ]/ |1 O2 R
leading zeros = false
. Y! K0 B/ s7 N$ `% g- I end define
3 T0 Q) J; H" s. }! w* O#259) F) O/ c& L: Q) U+ Y+ V
define format ( %D %M %Y )4 O6 _6 y* v4 B3 V; m, N
field width = 2
( l! b ?- Z% K modal
: m3 h8 K; p. w! U- m9 i I end define) e/ z0 `( G3 p$ o0 Z% m
#264
N& H" }8 t" \0 B define format ( G4 )
3 z- ^1 J" Q' X8 ?1 S address letter = "MCALL CYCLE"" S- C2 V2 c2 j4 Y! f2 |
address width = 11
# u3 L( F. D8 ?% | end define
7 D: m8 N& _+ F" ^#269
( k8 L/ ~/ o( {. v: W2 G define format ( DP ST1 )0 Y0 R5 f k+ `3 Z8 V
field width = 5
! m5 X6 ^; Q7 T$ b metric formats# ^9 f# v% Z5 ^1 @& k+ g! R
decimal point = false
+ [ Y6 A" `5 m ^ m( ^3 ?0 j decimal places = 0) S! c7 a8 B& s3 F. M, ]0 ?4 `
leading zeros = false' m3 `7 \$ ]4 c% Q W1 ^4 `5 r+ A
trailing zeros = true( V) Z* }: W; m* @! S% F' r
end define. J% Q6 n$ h: d
#278- C& S( k2 m s& @+ _: H
define format ( R11 )
9 \% q. _( w) M address letter = "("9 d5 b3 Z' I) T, \
address width = 1
" [1 T# X9 A" L- t1 T sign = if negative
7 A! E' F, y5 F end define7 X! T$ x6 Z* S3 V3 ?9 Z- o2 Z
#284! r: Q/ C: e( b& T* _5 U0 B
define format ( Z2 R2 Q P )
) e& y) N- t2 b; U/ h5 ?- \$ J address letter = ", "
3 Y8 ^" {8 s+ a$ k! y( \) {- { address width = 16 j+ C. m% g( i, Z' q2 }0 ~4 P, M
end define
# a9 G( v4 c: g#2897 y" I; N1 O: v
define format ( R11 P Q Q1 TD )$ |. J! z" U# _* G
field width = 5: W Q6 ~6 r5 D" o9 n1 Y
metric formats7 ]. v6 b& y/ a" J: V
decimal point = true
% F% N1 Z4 q R$ ~7 d3 e, @ decimal places = 3
5 X+ G( v2 E6 q- R5 l! Q8 h, B trailing zeros = false
8 d+ b9 E' O9 A/ z' V/ d' Z8 P* j imperial formats = metric formats$ H6 {& G" D: t+ j( s5 t7 I" W% W0 u
end define" ^! x; s" [" A& W' U" c8 c2 _0 f* D S
#298
5 l0 f" H6 d( e g& a7 ?# A4 f& k word order = ( + RTC AWK BWK CWK XWK YWK ZWK ). f0 ~& S+ ^0 Q) p5 J6 ]
word order = ( + RFP DP Q1 PT ST ST1 )2 E, K; ~0 \1 Z8 l
word order = ( + %D %M %Y %h %m %s )
/ y% T- ~4 X% }' `/ { word order = ( + TPN TNO TN TT TD TR TLH TOL THK VER OFN )
! A4 ?2 S9 u3 h) S+ ?#303
' U; n8 r4 T7 K1 R* l define format all# m) R; ~& F- s! L) m; O
tape position = 1
) p( F! m/ m; ^' q. F* C; H2 U$ Q$ A end define
& v9 R/ B2 D, l) w3 O#3070 h5 d) K* T% F7 r4 B& K+ B! b X
define format ( %D %M %Y %m %s )
( k1 Y4 s( t# v; Z% R tape position = 0! X3 i ^3 d% F& ~
end define
- c! W1 m. o2 U1 h9 M- i" ^#3116 z; F' C7 e; y
define keys3 J& R7 \ L) J0 M
cycle dwell = P" c, g0 g4 ~/ [4 e5 {; z. K( ^/ Q
end define
8 K* {2 E# \9 Z! Z" W# [+ k#315
# s, a( h. D# x I; f message output = false5 J* s4 G! G, `0 j2 w, v1 u. D
block order = true
5 E: h6 N# Z8 @, L4 A2 v block start = 1
. R/ x' C- l" Q" _5 | block increment = 12 [6 a: [( w% c5 k( x
integer 12 = 0$ W; J o* [# v# }" I4 f C2 j
integer 51 = 64 c" z+ b6 w0 L/ ^3 n; M# x& M
use hole top in cycles = true- Y8 Z9 N K) \# f) Q% i7 L
integer 69 = 2
. Y, d+ P8 z; Z/ ?5 g6 w max feedrate = 10000.0
0 A/ P* I, k) o& _ rapid feedrate = 16000.0
' b5 a# W! d9 G9 v$ V rapid feed code = 1
/ [: C+ Z H, s: S+ E tool reset coordinates = 2 ~" a0 w! v, j W4 X! e$ |; U9 X
7 o2 Y/ T7 C; N8 y U2 B W) v: N6 I- }2 b' _& y
0 c6 s5 n5 `2 i! u0 J( }8 J: {% O
SIEM840D-5axis-B C(2011121319).rar
(2.86 KB, 下载次数: 9)
|
|