Hello Guest it is March 28, 2024, 05:27:47 PM

Author Topic: Mach3 2,5D Z-axis for activation/deactivation during X,Y move  (Read 2280 times)

0 Members and 1 Guest are viewing this topic.

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


Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
« Reply #1 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.
« Last Edit: March 13, 2018, 03:36:20 AM by TPS »
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
« Reply #2 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
« Last Edit: March 13, 2018, 08:42:19 AM by robert.rakay »

Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
« Reply #3 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.
 
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
« Reply #4 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.

Offline TPS

*
  •  2,501 2,501
    • View Profile
Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
« Reply #5 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
anything is possible, just try to do it.
if you find some mistakes, in my bad bavarian english,they are yours.
Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
« Reply #6 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
Re: Mach3 2,5D Z-axis for activation/deactivation during X,Y move
« Reply #7 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
We never have the time or money to do it right the first time, but we somehow manage to do it twice and then spend the money to get it right.