Hello Guest it is July 22, 2024, 01:46:50 AM

Author Topic: inhibit all axis  (Read 5653 times)

0 Members and 1 Guest are viewing this topic.

inhibit all axis
« on: November 27, 2013, 04:39:44 AM »
Hello everybody,
i'm creating a button on my screenset to disable/enable the drivers of the stepper motors, so that i can
put the motors "on pause" when needed.

The problem is that when my motors are  "paused" this way, i can still jog the different axis in Mach ( with no moves of the motors obviously)
and the DRO's are changing.
That's pretty disturbing because if i jog unvoluntay, i lose my reference.
So my question:
Is there a way to "freeze" the DRO's so that they won't change when  the motors are paused, and as soon as the motors are re-enabled the DRO's would be free to change again.
I've tried the function DoOEMButton(250).  (Jog Inhibit X Off/On Toggle  and so on for each axis)
But it doesn't prevent the DRO's to change.

Any ideas ?
« Last Edit: November 27, 2013, 04:53:55 AM by kilooli »

Offline Hood

  •  25,835 25,835
  • Carnoustie, Scotland
Re: inhibit all axis
« Reply #1 on: November 27, 2013, 05:54:21 AM »
First thing to point out is when you disable a stepper you will lose position, it may not be much but it can add up. The reason is the drive will almost certainly have stopped the motor on a microstep and when you disable it will jump to the nearest full step.

Are you using the parallel port?

If so inhibiting an axis should make that axis inoperable from Jog buttons, both DRO and axis.

Re: inhibit all axis
« Reply #2 on: November 27, 2013, 06:05:07 AM »
Hi Hood,
thanks for answering one of my question again....

i haven't thought about the pause changing the position, you're right...

But anyway, the function i mentionned doesn't produce the desired effect.
Actually i'm not at home for some days and i'm doing tests with a non connected at all Mach3 installation on a laptop.
And the DRO's are moving despite the instruction DoOEMButton(250) or (251,...252,etc...)

At home my configuration is the following:
-Macbook Intel with windows XP SP2  hard installed
-Ethernet SmoothStepper (so no parallel port)
-Bob + 4 digitals drivers

Maybe i'm not using the correct function, can you help me with this VB programming?

Greeting from France!
« Last Edit: November 27, 2013, 06:09:12 AM by kilooli »

Offline Hood

  •  25,835 25,835
  • Carnoustie, Scotland
Re: inhibit all axis
« Reply #3 on: November 27, 2013, 06:10:02 AM »
Ok if you are just simulating it might be different, you would need to be simulating with the parallel port driver to see the real actions when using the parallel port.

However you are using the ESS so a better option is to use the Online/Offline button. It works well in the SS/ESS and does exactly what it is meant to do, it puts your drives/motors ofline. If I recall you can still jog around via the DROs (motors dont move) but as soon as you put online again the DROs will jump back to their previous location.

Offline Chaoticone

  • *
  •  5,624 5,624
  • Precision Chaos
Re: inhibit all axis
« Reply #4 on: November 27, 2013, 06:10:35 AM »
To disable on screen jog buttons change your jog mode to MPG. Disable Jog buttons 250-255 only disable keyboard jog buttons (possibly external buttons as well, haven't tested yet).

;D If you could see the things I have in my head, you would be laughing too. ;D

My guard dog is not what you need to worry about!
Re: inhibit all axis
« Reply #5 on: November 27, 2013, 06:18:19 AM »
Thank you Hood and Brett.

So Hood, you mean the "Offline" button could disable my drivers???
I was going to connect the enable inputs of the drivers to any relay available on my BOB  to activate or desactivate the drivers.
A button in the screenset to toggle the relay, et voilĂ  !

Is the "Offline function" acting so ? What is the physical way (relay?) it acts on ?

Offline Hood

  •  25,835 25,835
  • Carnoustie, Scotland
Re: inhibit all axis
« Reply #6 on: November 27, 2013, 07:59:33 AM »
Inhibit wont actually disable the drives, it would just stop Mach/ESS commanding them.
What you would be best to do is have a VB button on screen that activates/deactivates an output and it would also switch on/off the Online button.
You would have the output connected to your drives enable relay.

Re: inhibit all axis
« Reply #7 on: November 27, 2013, 08:24:43 AM »

thanks a lot, Hood !
I'll try this when i'm back home.

Re: inhibit all axis
« Reply #8 on: November 29, 2013, 01:41:22 PM »
Hello Hood !
I'm back home and did some tries:It works the way you told. Perfect !

Now i've got another problem:
I'm fine tuning the motors and i realized that in JOG mode, Mach (or mach with ESS) double the value i ask.
But only with the jog function, not with MDI.

I explain :
In 1 mm increments, the DRO goes  to 2mm with just one keypress. And this is effective, i checked with dialer.
The same happens  with a  0.1mm increment : i got a 0.2 mm move for just 1 keypress, 0.4mm for 2 keypresses etc..
Obviously it is also the same for 0.01 increments, that give me 0.02mm each time...

 ??? ???

In MDI mode, everything is allright, if i ask 1 or 0.1 or 0.01 mm it moves accordingly truly

I've searched in Mach and in ESS config. but didn't find something interresting.
Can you help me, please ?

i rechecked the situation and found that sometimes, mostly the 2-3 first kepresses after having completely  shut down Mach , it  gives the correct move, and then it starts to double the values.
« Last Edit: November 29, 2013, 01:49:03 PM by kilooli »
Re: inhibit all axis
« Reply #9 on: November 29, 2013, 04:29:38 PM »
I answer to myself.
I'm working on an Apple MacBook Intel with Win XP SP2  hard installed.

It seems that the Apple Keypad(via Bootcamp drivers)  is not perfectly recognised by Mach and the system Hotkeys are not present and not editable.
I'm obliged, to jog , to emulate the  jogging action.
I guess this causes the issue.

If  i replace the XML profile with one from a TRUE PC , the problem disappears.
Maybe i should initiate a virgin profile on my PC and transfer it to the Mac and reconfigure everything.
I don't know if it will work, but it seems to.