Machsupport Forum

G-Code, CAD, and CAM => G-Code, CAD, and CAM discussions => Topic started by: robert.rakay on March 13, 2018, 02:58:06 AM

Title: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
Post by: robert.rakay on March 13, 2018, 02:58:06 AM
Hi everybody.

I´m looking for help with a nailgun machine.

I need to activate and deactivate an output for an exact amount of time (50-100 ms) during movement of  X or Y axis, by moving the 2,5D Z-axis

Im trying to do that manually for each activation with code like
 G1 G91 X40  f2000
 G1 G91 X50 Z1 F2000
 G1 G91 X60 Z-1 F2000
... and repeat this on every 50 x-y move

But its not effective.

I was thinking of using the macropump.
Maybe with an IF (M3 is active) statement and While is Moving combination.

But I dont have any solution.

Im looking forward for your help or suggestions.

Thanks.

Robert


Title: Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
Post by: TPS on March 13, 2018, 03:30:13 AM
and what will be the exact Trigger for the Output.

M3 isActive AND ISMoving can not be all for the Trigger.

if you Need the pulse length realy exact i would use a external timer module and only do the Trigger via Mach3 Output.

pls decribe a Little bit more what you are trying to do.
Title: Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
Post by: robert.rakay on March 13, 2018, 08:35:29 AM
Thank you for your fast response


I want to place a nail every 50 - 60 mm  (or exact lenght), but to do this the nail gun needs at least 50ms.

Also I need to start every side of the product with a nail.

I tought to use the actual X or Y coordinates  and maybe a variable  to send the virtual Z axis into positive state and back.

Maybe something like this would work when the M3 is activated???

While IsMoving()
IF GetOEMDRO(83)= 10  Then ´ if the X position = 10mm
 Code "G1 G91 Z1 F1000"   ´To fire the first nail
 var=var+1 ´to count the number of nails
 Code "G1 G91 Z-1 F1000" ´to deactivate the output signal
Endif
IF GetOEMDRO(83)= 60 THen  ´here i need the next nail and like this every 50-60 mm until the end of this side of the product,
Code "G1 G91 Z1 F1000"   ´To fire the first nail
 var=var+1 ´to count the number of nails
 Code "G1 G91 Z-1 F1000" ´to deactivate the output signal
Endif

Thanks for your help
Title: Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
Post by: TPS on March 13, 2018, 09:07:21 AM
ok Looks like you want to "fire" the nails during continious x travel ?

i am sure that will not work because:

-you can not execute GCode while other GCode (X/Y travel) is running.

the normal way to do this is like this

G1 X10 F2000
M444
G1 X60 F2000
M444
G1 X110 F2000
M444
... and so on.

tha macro M444 (just an example random number) will have the code to enable the nailgun.
 
Title: Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
Post by: robert.rakay on March 13, 2018, 09:32:29 AM
Thank you. I will try it.

I know that this is the normal way. But I was trying to do it with continous travel.
Title: Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
Post by: TPS on March 13, 2018, 10:16:06 AM
something like this might work in macropump

Code: [Select]
If IsMoving() Then
  If GetUserDro(1301) = 0 Then
If (GetDro(0) > 10) And (GetDro(0) < 15)  Then
ActivateSignal(OUTPUT2)
SetUserDro(1300,10)
SetUserDro(1301,1)
End If


If (GetDro(0) > 60) And (GetDro(0) < 65)  Then
ActivateSignal(OUTPUT2)
SetUserDro(1300,10)
SetUserDro(1301,1)
End If

If (GetDro(0) > 110) And (GetDro(0) < 115)  Then
ActivateSignal(OUTPUT2)
SetUserDro(1300,10)
SetUserDro(1301,1)
End If
  End if
End If

If GetUserDro(1300) >= 0 Then
SetUserDro(1300,GetUserDro(1300)-1)
If GetUserDro(1300) = 0 Then
DeactivateSignal(OUTPUT2)
SetUserDro(1301,0)
End If
End If
Title: Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
Post by: robert.rakay on March 13, 2018, 01:55:21 PM
Oh wow. You suprised me, thank you. I will try it later if I get to the machine
Title: Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
Post by: TOTALLYRC on April 04, 2018, 05:38:00 AM
I wonder if you could use the M10/M11 laser fire commands to fire the nail gun? They are like a M03/M05 but without the delays. Using a G64 at the beginning of the file and using the  M10/M11 to fire the nail gun might get you what you want.


Mike