|
|
发表于 2022-9-10 08:06:24
|
显示全部楼层
如下基础红色标记处。
3 F2 y! M8 v/ ^4 Y8 t2 q; R" e/ W7 I" S& Q: d0 j# M A5 }9 h* J
# --------------------------------------------------------------------------% ]( ] @4 g* s' n. }+ ?2 \
# Parameter read postblocks:
, O: m$ A4 I1 D. R' c; ?# --------------------------------------------------------------------------
3 n; f7 }4 k- O3 x6 ]" |! k7 {pprep$ #Pre-process postblock - Allows post instructions after the post is parsed but before the NC and NCI file are opened.
/ N' m6 c$ }2 e5 i$ u2 O! f param_read$ = 1 ----------------------------> here2 G3 l4 G* Q" F3 ?; W$ |: e6 |6 N
#DO NOT ATTEMPT TO OUTPUT TO THE NC FILE IN THIS POSTBLOCK (OR ANY POSTBLOCKS YOU MAY CALL FROM HERE) BECAUSE THE NC OUTPUT FILE IS NOT YET OPENED!* z; f7 H" b) f; J- w4 `: U! C/ E, r
rd_mch_ent_no$ = 0 #Read only the machine base parameters (use to collect common parameters from CNC_MACHINE_TYPE)' e& I5 A9 d; D7 ^: R1 j! L# ]9 A5 {
rd_md$ ----------------------------> here #Read machine definition parameters0 b' q' Z8 _3 X T5 _( p% J
! L X& x( H v& s
#debug2 [* s. E3 G7 K, u- T% H! T3 M* M( D
#error_msg$ = 0
. w# K. d" o( r# z0 q* v1 {5 v+ l* e #err_file$ = 4' U1 B8 e4 P& c
#bug2$ = 40( T6 B$ t" m( c; r) p/ t- t
#fastmode$ = no$
" k' Y+ a; c0 M' J b4 d; y+ ^0 F1 r* b/ V2 X
6 |/ c& A+ E( U1 L
4 w/ H) d2 s& R' L( w# --------------------------------------------------------------------------3 a8 C5 \2 \$ z
psynclath$ #Read NCI Axis-Combination (950) line. P! Z6 O1 v1 V+ L6 Q
pset_mach ----------------------------> here#Set rotary switches by reading machine def parameters3 N' }, d. @/ G W6 }+ v4 m
#Rotaxtyp = 1 sets initial matrix to top) x; @0 }+ V5 R" y- P! u. n8 Z8 {, o
#Rotaxtyp = -2 sets initial matrix to front
" G: Z, p+ @ w" J( g if vmc, rotaxtyp$ = one; i/ z0 N; q$ m7 ]+ ^% F' _
else, rotaxtyp$ = -2: o9 [3 }" E/ \6 L0 i8 T
: G& Q- r- E7 i. w9 Spset_mach #Set post switches by reading machine def parameters" h- p& }5 j5 D* c
rot_ax_cnt = 0% h3 P1 P( e3 Y# `0 y
rotaxerror = 0+ o) y+ r( M c6 X; I9 ~! Y
rot_on_x = 0 #Turn off rotary axis unless it is detected in machine read - supresses rotary output in 3 axis machines
2 Z' l, D& `2 v- B
8 D5 ~0 x' h4 m* p0 n rd_cd$ ----------------------------> here #Read control definition parameters - calls pmachineinfo$3 v# U. C9 l' D* O, T0 R
#Output error message if Write NC operation information is not enabled in CD' p9 W4 ?! m1 g( ^
#if write_ops = 0, result = mprint(swriteopserror,2), exitpost$2 y6 `# H& x K9 a
8 K, ?7 s R9 f$ e if sof = 1,. E2 I6 q/ q. |1 l) D+ [$ Y
[
3 p2 N$ Z; `3 F# z$ J maxfeedpm = 999999 #Uncomment these variables to force use of machine def values as initial lowest max feedrate value4 c" I6 Y# z, L6 `) O- l
maxfeedpm_m = 9999999 #Otherwise the default (post) initialization setting is used as initial value
7 I/ W5 ]( L! r4 X2 k8 T #minfeedpm = 999999
$ ~7 j8 ]4 T) Y3 h E #minfeedpm_m = 999999
- y7 k4 }; m, |6 U. f; j2 J2 v, } !maxfeedpm, !maxfeedpm_m #, !minfeedpm, !minfeedpm_m
8 Q0 f6 F/ _6 N' h, Z0 Z rd_mch_ent_no$ = 07 B- `2 U" n0 |% d0 K4 D5 M# F
rd_md$ ----------------------------> here #Read machine definition parameters - calls pmachineinfo$* q- Y% l0 ]8 i9 v3 R# ]# P
]
- O9 u* _: v0 m% \" r: g0 @! a/ m, z0 X5 I
rd_mch_ent_no$ = syncaxis$ ----------------------------> here #Retrieve machine parameters based on current axis combination - read from .nci G950 line
6 s5 @4 g; n0 i* W: p rd_md$ ----------------------------> here #Read machine definition parameters - calls pmachineinfo$
+ K4 d" i u0 m2 A C/ `# X1 j rd_tlpathgrp$ ----------------------------> here# Read toolpath group parameters - calls pmachineinfo$
( W1 [: |% s) B- N2 i; T3 m6 v% o! }" c7 c8 A2 \5 a* z
rd_prm_op_no$ = op_id$1 Z# O, P$ ^% _! S; L/ t$ v& d0 z
rd_params$ ----------------------------> here #Read operaitons parameters1 X8 p6 Q6 a; E( J
T1 n' A2 K, q2 M g% v" T #We only need these set at toolchange (and start of file). No need to set them each time a user may call rd_md9 L( W7 [+ Q: y
if sav_rot_on_x = zero, rot_on_x = zero( ?* {$ h$ g4 O: J Y2 @; R- S8 D
else, rot_on_x = rot_axis
$ F* r7 h- l0 U# G+ g" G rot_cw_pos = rot_dir3 _* [3 l# A8 _ w& U0 y( q
index = rot_index* D! [* G6 f, U
if rot_angle = zero, ctable = one #ctable zero will produce a divide by zero error, so force to one if zero in MD5 S5 C+ [0 B7 O" x v J" A- c- }
else, ctable = rot_angle
8 \5 Q: S+ D; ]8 `5 h+ o' L
0 B- G& \* i& w, M2 h% [8 q if met_tool$ = 1,
" r% N: j- O- U8 J- x [
- s7 Z3 j. t+ y! {* } maxfrinv = maxfrinv_m #Set limit for feed inverse time
' S) U2 J- i! f4 l& [ minfrinv = minfrinv_m
8 z) l- Z0 [# q$ h maxfeedpm = maxfeedpm_m #Set limit for feed in mm/min5 q' G, a3 \. V! P7 j' `* u8 d
minfeedpm = minfeedpm_m9 |+ y8 B, L7 X; |
]
6 \# x4 O/ j& p# Q8 U
# J7 f, g( y' o5 V6 l! C if use_md_rot_label, sav_srot_label = srot_label #Backup the original rotary axis label
; y, k: U* D6 ?& ~* P0 c3 i, a% G' E
0 O! Y$ a4 a" l& s; l
* G- l L3 f8 R
|
|