Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

stein

Members
  • Posts

    5
  • Joined

  • Last visited

Recent Profile Visitors

1,567 profile views

stein's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. 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
  2. WOW buffers! I'm not sure we're to even start.
  3. 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.
  4. 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.
  5. 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 here IF[#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

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...