Hello Guest it is April 25, 2024, 06:31:12 PM

Author Topic: Stop a macro several times with M01 and/or SystemWaitFor (Start)  (Read 6478 times)

0 Members and 1 Guest are viewing this topic.

Hi,

I have been looking at various posts regarding this, but I just can't find why the following code is not running correctly no matter how the "Stop on M1 command" is set in the General Config panel or if I use the button on the main screen.
In the code below, the 1st M01 command is ignored and the 3rd pause is not working at all. If I comment out the 1st M01 and use the 1st SystemWait, then I can stop on the 1st pause but then the second / 3rd pauses are ignored.
Any idea on why and how to get this to work ?
Thank you
(I'm running Mach3 v3.041 on XP)

=============

Sub Main()

'Test Stop on M01

Code "M01"            'sets a machine pause
Code "(Press Start to continue - 1)"   'this goes in the status bar
'SystemWaitFor (Start)

'Code "M01"            'sets a machine pause
Code "(Press Start to continue - 2)"   'this goes in the status bar
SystemWaitFor (Start)

Code "M01"            'sets a machine pause
Code "(Press Start to continue - 3)"   'this goes in the status bar
'SystemWaitFor (Start)

Code "(End)"            'this goes in the status bar
End Sub

Offline poppabear

*
  • *
  •  2,235 2,235
  • Briceville, TN, USA
    • View Profile
Re: Stop a macro several times with M01 and/or SystemWaitFor (Start)
« Reply #1 on: July 10, 2008, 10:24:12 PM »
Here is your code.
SystemWaitFor, only works for REAL inputs, so your gonna have to bring in a true input.

here is the code:

Sub Main()

'Test Stop on M01

ReStart = IsActive(INPUT4)            'this is input signal 4

DoOEMButton(1001)                    'sets a machine pause
Message("Press Start to continue - 1")  'this goes in the status bar
SystemWaitFor (ReStart)

DoOEMButton(1001)                     'sets a machine pause
Message("Press Start to continue - 2")  'this goes in the status bar
SystemWaitFor (ReStart)

DoOEMButton(1001)                     'sets a machine pause
Message("Press Start to continue - 3")  'this goes in the status bar
SystemWaitFor (ReStart)

Message("End")                     'this goes in the status bar
End Sub

Scott
fun times
Re: Stop a macro several times with M01 and/or SystemWaitFor (Start)
« Reply #2 on: July 11, 2008, 01:02:41 AM »
Hi Scott,
Thank you very much for your answer and the code.
I'm new to this but I thought SystemWaitFor (Start) was waiting for the main Start button. That's why I was trying this too. I understand now it's a variable and how that can be used.
But this is to be used in a m6End macro where I want to stop several times and display an operator message. And no real input is available (one could be made available with a manual switch but I am already short in the nb of inputs with the HobbyProCNC board, so ...). And I really don't like the idea of having 2 different  "Start" buttons.
So, how do I get M01 to stop and restart ? Or saying it differently, how do I pause (temporarily stop/resume) a macro operation several times and still/only use the main Start button ?
Thanks again for your help.

Offline poppabear

*
  • *
  •  2,235 2,235
  • Briceville, TN, USA
    • View Profile
Re: Stop a macro several times with M01 and/or SystemWaitFor (Start)
« Reply #3 on: July 11, 2008, 02:17:19 AM »
you need to spell out what you want to happen, step by step, I dont understand what you want.........

m1 is already an optional stop/pause, and to start running again, you just hit the cycle start button.....

scott
fun times
Re: Stop a macro several times with M01 and/or SystemWaitFor (Start)
« Reply #4 on: July 11, 2008, 03:17:10 AM »
Thank you for your patience on this.
WITHIN the M6End.m1s process that I have up and running correctly (auto tool zero with a contact plate), I like to pause the macro several times and display operator messages like :
- now change tool, click Start when done
- now position plate and connect lead to bit, click Start when done
- now disconnect lead and remove plate, click Start when done
On this last Start, then the M6End macro would end and the tool returns to normal operation.
I have all the code that takes care of the X,Y,Z positions, before and after the tool change, up and running. I just can't stop and get the various messages out when I want while executing the M6End. So, how do I pause and restart (with the main Start button) within a macro
I hope it's clear.