stein
-
Posts
5 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Store
eMastercam Wiki
Blogs
Gallery
Events
Posts posted by stein
-
-
WOW buffers! I'm not sure we're to even start.
-
Great stuff Craig! This has merit, just wish I had time to look at it deeper. I will dive in deep this weekend. Thanks for sharing as I do appreciate it.
-
Thanks for the replys gentlemen! I think it's time I dive into buffers this weekend. I'll hit Collin up about his classes. Thanks again for the input.
-
I need some help with getting my tool recalls at the top of my program below my tool list as I'm tired of "copy/paste"
Heres the output I have so far. In red is what I need to add, but for the life of me I can't get the out put I need. I hope this can be done without a buffer as my head is not wrap tightly around them yet. Maybe I just need to walk away from this for a few days :wallbash:
%
O2001( SC2001 REVD MILL PROGRAM )
#6=1
M97 P9900 (TOOL/PROGRAM CHECK SUB)
(NO COMMENTS ABOVE THIS LINE)
(CUSTOMER - ADD CUSTOMER)
(PROGRAM REV - N/C)
( DATE - MAR. 08 2015 )
(SET #600= TO PROGRAM NUMBER)
(PROGRAM# 2001 )
(*****BEGIN TOOL LIST*****)
(---------------------------------------------------------)
( T11 - NO. 47 CARB DRILL MELIN BRD - H11 | D11 )
( HOLDER STYLE - CT40 SMALL KEYLESS CHUCK )
( TOOL PROJECTION - 1.25 )
( ================================= )
( T12 - NO. 2-56 YMW FORM TAPRH - H12 | D12 )
( HOLDER STYLE - CT40 - SOLID - JACOBS CHUCK )
( TOOL PROJECTION - 1.2 )
( ================================= )
(---------------------------------------------------------)
(*****END TOOL LIST*****)
I need to add this hereIF[#592EQ1101]GOTO1101 (RESTART FOR T11 FIRST CALL)
IF[#592EQ1201]GOTO1201 (RESTART FOR T12 FIRST CALL)
IF[#592EQ1102]GOTO1102 (RESTART FOR T11 SECOND CALL)....
....
....
#3000=123(INVALID RESTART)
G20
G0 G17 G40 G49 G80 G90 (SAFETY LINE)
N1101
G103 P1
#592= HERE I NEED TO ADD 1101 FROM 2 LINES ABOVE
G103
( NO. 47 CARB DRILL MELIN BRD - TOOL - 11 )
T11 M6
IF [ #6 NE 1 ] THEN #3000= 666 (RESET AND CYCLE START)
/M8
G0 G90 G55 X-.5512 Y-.5512 A0. S7299 M3
G43 H11 Z.25 T12
G98 G83 Z-1.0873 R-.5 Q.1 F7.3
X.5512
Y.5512
X-.5512
G80
M09
M5
G91 G28 Z0.
G90 G49
T#3026
G0 G90
G103 P1
G65 P9853 B1. T#3026 H.01
G103
N1201
G103 P1
#592= HERE I NEED TO ADD 1201 FROM 2 LINES ABOVE
G103
( NO. 2-56 YMW FORM TAPRH - TOOL - 12 )
T12 M6
IF [ #6 NE 1 ] THEN #3000= 666 (RESET AND CYCLE START)
/M8
G0 G90 G55 X-.5512 Y-.5512 A0. S2000 M3
G43 H12 Z.25 T11
G98 G84 Z-1.03 R-.35 J2 F35.7
X.5512
Y.5512
X-.5512
G80
M09
M5
G91 G28 Z0.
G90 G49
T#3026
G0 G90
G103 P1
G65 P9853 B1. T#3026 H.01
G103
N1102
G103 P1
#592= HERE I NEED TO ADD 1102 FROM 2 LINES ABOVE
G103
( NO. 47 CARB DRILL MELIN BRD - TOOL - 11 )
T11 M6
IF [ #6 NE 1 ] THEN #3000= 666 (RESET AND CYCLE START)
/M8
G0 G90 G55 X-.5512 Y-.5512 A0. S7299 M3
G43 H11 Z.25 T11
G98 G83 Z-1.0873 R-.5 Q.1 F7.3
X.5512
Y.5512
X-.5512
G80
M09
M5
G91 G28 Z0.
G28 Y0.
GOTO9999
N9900(TOOL LENGTH/PROGRAM # CHECKS)
G103 P1
(THIS ROUTINE INCLUDES LENGTH CHECKS FOR PROBE ONLY )
IF[#2025 NE 5.5122] THEN #3000=333 (PROBE LENGTH WRONG)
IF[#2225 NE 0] THEN #3000=334 (NO LENGTH WEAR ALLOWED)
IF[#2625 NE 0] THEN #3000=335 (NO DIA WEAR ALLOWED)
IF[#600 NE2001 ]GOTO9601
IF[#800NE-24.1905]THEN#3000=336(WRONG X VALUE DNL#1)
IF[#801NE-10.0269]THEN#3000=337(WRONG Y VALUE DNL#1)
IF[#806NE-12.1896]THEN#3000=336(WRONG X VALUE DNL#2)
IF[#807NE-10.0271]THEN#3000=337(WRONG Y VALUE DNL#2)
G103
M99
N9600 (ERRORS)
N9601 #3000=336 (WRONG PROGRAM TO RUN)
M99
G103
N9999
G103 P1
G0 G90 G55 X0.
#592=0 (PROGRAM COMPLETE)
G28 G91 A0.0
G103
M30
%
Thanks
Tool Recalls
in Post Processor Development Forum
Posted
What am I doing wrong here?
I get this out put with this logic - just a single line with multiple tools and calling the tools at different places within the program
IF[#592EQ1211]GOTO1211 (RESTART FOR : T12)
# --------------------------------------------------------------------------
# Buffer 1 - Tool Recall Table
# --------------------------------------------------------------------------
wc1 : 1 #Initial count for write buffer 1
rc1 : 1 #Initial count for read buffer 1
size1 : 0 #Buffer 1 size
b1_tool_number : 0 #Saved Tool number at tool change
b1_ntooltrack : 0 #Saved tool count
fbuf 1 0 2 0 0
# Format of Recall List Variables
fmt "" 4 b1_tool_number #Saved Tool number at tool change
fmt "" 4 b1_ntooltrack #Saved tool count
fmt "" 5 ptool_count3
recalltable_out : 1 #Recall Table is written to NC code - flag
pWriteBuffer_1 # Write Tool Buffer at every opertion (@ pre-read)
b1_tool_number = abs(t$) #Saved Tool number at tool change
b1_ntooltrack = ptool_count3 #Tool call count at tool change
b1_tool_number = wbuf(1,wc1)
pRecallTable #Writes standalone recall table
size1 = rbuf(1,0)
rc1 = 1
recalltable_out = 1
while rc1 < size1, # Loop to find
[
b1_tool_number = rbuf(1, rc1)
b1_ntooltrack = rbuf(1, rc1)
]
if recalltable_out = 1, "IF[#592EQ", *b1_tool_number, *b1_ntooltrack,"]", "GOTO", *b1_tool_number, *b1_ntooltrack, "(RESTART FOR", ":", "T", *b1_tool_number, ")", e$
if recalltable_out = 0,
# --------------------------------------------------------------------------
ptool_count3 # Track number of times each tool is used
tused3 = finc(11,t$)
*tused3
# --------------------------------------------------------------------------
pwrtt$ #Pre-read NCI file
if tool_info > 1 & t$ > 0 & gcode$ <> 1003, ptooltable
if op_id$ <> prv_op_id$ & gcode$ <> 1003,
[
pWriteBuffer_1 # Tool Number // Tool Count
]
!op_id$
psof$ #Start of file for non-zero tool number
"(*****TOOL RESTART LIST*****)",e$
pRecallTable