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:

Bar Pull (Main to Sub) W/Out Cutoff Tool


Recommended Posts

Ok so below is the logic I have created in pchuck$ postblock for POCO.
It all works well with the wcs pickup on the face of the part only based on this logic.
My current problem is that I am trying to use the pickoff cutoff to do a bar pull with
the sub chuck but I want to pull the bar and then do a partial cutoff to relieve springing
in the part. I am going from a rough face op to a rough OD turning op and then a sub chuck
bar pull proceeded by partial cutoff. Well the problem is when you go from a rough OD turn
to the sub chuck bar pull it treats the chuck op as a null toolchange and there is no retract
in my previous OD turning op. How do I force a toolchange in a chucking op when there is no 
option to do that. I would rather keep the cutoff after the bar pull as the part has little
to no tolerance and I dont want to distort the part while grabbing it with the sub. I am
only leaving about .06" with the partial cutoff. What logic would I have to use in pchuck$
in order to apply a forced toolchange but only when I go from a turning op to a chucking op.



pchuck$							#NCI CODE = 903

#AVAILABLE VARIABLES:		#DEFINITIONS
	  
#clmp_spindle$, e$		#ACTIVE SPINDLE FOR CLAMP/UNCLAMP:
	  			#(0=LEFT SPINDLE, 1=RIGHT SPINDLE)
								
#clmp_op$, e$			#SELECTED OPERATION MODE:
	  			#(0=CLAMP, 1=UN-CLAMP, 2=RE-POSITION, 3=EJECT)
							
#stck_chuk_st_z$, e$		#INITIAL Z AXIS CHUCK POSITION
#stck_chuk_st_x$, e$		#INITIAL X AXIS CHUCK POSITION
#stck_chuk_end_z$, e$		#FINAL Z AXIS CHUCK POSITION
#stck_chuk_end_x$, e$		#FINAL X AXIS CHUCK POSITION
	       
pheader$
	  
      if stck_chuk_st_z$ <> stck_chuk_end_z$,                         		#IF CHUCK START POSITION "IS NOT" CHUCK END POSITION
        [
        if toolchng <> two,
        #ptoolend$
        toolend_flg = one                    					#DO NOT EXECUTE ptoolend AGAIN AFTER TRANSFER
        ]
      else,
      toolend_flg = one                         				#DO NOT EXECUTE ptoolend AGAIN AFTER TRANSFER
	  
      !spaces$
      spaces$ = one
	  
      if stck_spindle$ = 0,							#MAIN SPINDLE- PICKOFF/CUTOFF OP (SYNCED)
        [
	if clmp_spindle$ = 1 & clmp_op$ = 1 | clmp_op$ = 3,			#SUB SPINDLE- UNCLAMP OR EJECT OP
	  [
	  pbld, n$, "M131", e$							#INTERLOCK BY-PASS FOR SUB CHUCK
	  pbld, n$, "M203", e$							#SPINDLE FORWARD SPEED SYNC ON
	  if clmp_op$ >= one,							#SUB CHUCK- UNCLAMP
      	  pchuck_unclamp
	  ]	  
	    
        if clmp_spindle$ = 1 & clmp_op$ = 2,					#SUB SPINDLE- REPOSITION (FEED) OPS
	  [
          if stck_chuk_st_z$ > 0 & stck_chuk_end_z$ > 0,			#SUB SPINDLE- APPROACH (B-AXIS)
            [
	    gcode$ = 0
	    pbld, n$, *sgcode, *stck_chuk_end_z$, e$								
	    ]
		  
	  if stck_chuk_st_z$ > 0 & stck_chuk_end_z$ < 0,			#SUB SPINDLE- PICK-OFF/FEED ON (B-AXIS)
	    [
	    sav_gcode = gcode$
	    gcode$ = 1
	    ipr_actv$ = 0
	    pbld, n$, "M86", "(TORQUE SKIP ON)", e$				#TORQUE SKIP ON
	    pbld, n$, sgcode, sgfeed, *stck_chuk_end_z$, miscops_mr2$, e$       #FEED ON MOVE (MR2- FEED ADJUST)
	    pbld, n$, "M87", "(TORQUE SKIP OFF)", e$				#TORQUE SKIP OFF
	    gcode$ = sav_gcode
	    ]
			
	  if stck_chuk_st_z$ < 0 & stck_chuk_end_z$ < 6,			#SUB SPINDLE- PULL STOCK (B-AXIS)
	    [
	    gcode$ = 1
	    ipr_actv$ = 0
	    pbld, n$, sgcode, sgfeed, *stck_chuk_end_z$, miscops_mr2$, e$
	    ]
	  ]
	      
	if clmp_spindle$ = 1 & clmp_op$ = 0,					#SUB SPINDLE- CLAMP
	  [
	  if clmp_op$ = zero | clmp_op$ = two,
      	  pchuck_clamp
	  pbld, n$, "G4", "X.5", *scoolantx, e$				        #DWELL, COOLANT ON
	  ]
			
	if clmp_spindle$ = 0 & clmp_op$ = 1,				        #MAIN CHUCK- UNCLAMP
	  [
	  pbld, n$, "M31", e$						        #INTERLOCK BY-PASS FOR MAIN CHUCK
	  pchuck_unclamp
	  ]
			
	if clmp_spindle$ = 0 & clmp_op$ = 0,				        #MAIN CHUCK- CLAMP
	  pchuck_clamp
		  
	if stck_chuk_st_z$ < 0 & stck_chuk_end_z$ > 8,			        #RETRACT
	  [
	  gcode$ = 0
	  pbld, n$, sgcode, *stck_chuk_end_z$, sall_cool_off, e$								
	  pbld, n$, "M206", e$						        #SPINDLE FORWARD SPEED SYNC OFF
	  pbld, n$, "M5", "P11", e$											
	  pbld, n$, "M5", "P13", e$											
          pbld, n$, *sg28ref, "U0.", "W0.", "B#5004", e$						
	  ]
	]
	  
	spaces$ = prv_spaces$
Link to comment
Share on other sites

I guess I should of also said that this is from a MPLFAN post that I have modified to work for Doosan turning centers

with y-axis. I think this is a good start for pickoff cutoff ops but it needs a little work to be bulletproof. It also needs a few

more misc. int. to control things like spindle sync, dwell time, and feedrates. This also needs a misc. int. for indexing both

spindles in case of indexed geometry that needs to line up from one spindle to the next. This logic does not currently support

indexing of the spindles  but could easily be added with a misc. int. Any help to iron this out would be much appreciated as I am

trying to avoid using a macro for transfer stuff when I can simply output it at the pc.

Link to comment
Share on other sites

I think you are going to have to use a T number logic and make a certain tool number always your part off tool. Then write the logic of the post to see that tool and do what you thinking. I had to add a contour head to a HBM and I used the Tool as the control in the post, but I was taking Y axis output and converting it to V axis output to trick the post to give me what I need to control the turning I was doing with the contour head on the milling machine. I see the same logic being needed here where you let a tool number control your output process. You will be limited as when you write the logic to support a tool this way then if you ever want to change it you will need to use a different tool number, but the good thing is other tools will still like you would want them to for the POCO operations.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

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...