Machsupport Forum

Mach Discussion => VB and the development of wizards => Topic started by: Bodini on July 04, 2007, 11:00:49 AM

Title: Noob Macro help
Post by: Bodini on July 04, 2007, 11:00:49 AM
Ugh, I feel like a 4 year old learning to write.  :-[ :-\  Ok, here goes.

I want a macro to:

   1. Start the spindle
   2. Display a message in the status line
   3. pause for the user to press 'cycle start'
   4. Stop the spindle

I did a lot of messing around and came up with this, but its wrong.

Code "(message)"
DoSpinCW ()
SystemWaitFor (Start)
While IsMoving ()
Wend
DoSpinStop ()

Sort me out please.  Any help is appreciated.  thanks.

-nick
Title: Re: Noob Macro help
Post by: poppabear on July 04, 2007, 06:06:11 PM
I want a macro to:

   1. Start the spindle
   2. Display a message in the status line
   3. pause for the user to press 'cycle start'
   4. Stop the spindle


M888  'custom macro
code "M3"                                   'assumes you have a spindle speed set, then starts it clockwise
SetTicker0 "your message here"     'put your message here
Code "M1"                                     'Optional stop
Code "M5"                                   'although the m1 above should stop your spindle the M5 will

scott
Title: Re: Noob Macro help
Post by: Bodini on July 04, 2007, 08:43:04 PM
Oh, i see.  I was going on the premise of not using a 'macro within a macro',  but i guess this isnt really running a 'macro in a macro', is it?

Your code is close, but I want the spindle to remain on all the way through the pause, until the macro turns it off. 

Thanks,

Nick
Title: Re: Noob Macro help
Post by: poppabear on July 20, 2007, 11:33:36 PM
Nick,

 Currently this is my understanding (but I am not sure):

You want when you hit the Cycle Start (from an Estopped state), that this will re-enable your Drive for you spindle? And if your in an Estop state you Drive will be Dis-abled?

You can use one of the "Enables" Like Enable2 to turn on your spindle when you hit Reset or this macro pump.

If that is so above then do this in the MacroPump:

x = GetUserDRO(1201)    'or what ever, it doesnt have to be physical

If Not(GetOEMLED(800)) And x=0 Then    'If in reset condition E-stop, then disable spindle
ActivateSignal(OUTPUT1)              'This will shut down the signal to enable your spindle
SetUserDRO(1201, 1)                    'Sets the counter dro to 1, so macropump only runs this once.
End If

If GetOEMLED(800) And x>0 Then         'When Cycle start is ON/pushed it resets the counter dro
SetUserDRO(1201,0)
DeActivateSignal(OUTPUT1)                'Activate the spindle Enable signal to turn on your spindle
End If