Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Forward and reverse limit switch does not stop motion. PXI-7344

I’m using the PXI-7344 and the latest NI-motion driver on Labview realtime. When I reach a forward or reverse limit switch the motion is not stopping.  The limit switches are working properly and are properly detected when looking at the limit switch status. We enable the limit switch at the beginning of our program.

 

When the limit switch is activated the motion will not start (so that works) but it will not stop the motion while it is executing a trajectory.

 

Any idea what the problem is?

 

Thanks.

0 Kudos
Message 1 of 13
(4,704 Views)

Hi Matt

 

The limit switch will not stop the motion if the motors are moving in the direction opposite to the switch. It's possible that the reverse limit switch and forward switch and inverted and we would thus not see motion stop when the switch is triggered. Another possibility is that the voltage drops to zero from the UMI and that there maybe an offset on the drive itself, is there any offset in the voltage you are applying to the drive? Do you see any change in output on the UM-7764 after the switch is triggered?


Thank You
Eric Reid
National Instruments
Motion R&D
0 Kudos
Message 2 of 13
(4,685 Views)

Thanks for the response.

 

The limit switches are wired properly and they work to prevent to start a motion from starting but will not stop a motion that is in execution. It is not an offset problem. The motion continues to execute its path until it is completed (until it reaches the commanded position).

 

0 Kudos
Message 3 of 13
(4,681 Views)

Hi Matt

 

If the forward and reverse limit switches are enabled, then any triggering of either the forward or reverse switch during movement in Measurement and Automation Explorer should trigger a halt to the motion. Please note that this will not kill the drive as doing so would cause the motor to overshoot the switch. If the limit switch is not enabled it will still show up in Measurement and Automation Explorer (will light up) but will not affect the motion in anyway. Check under Motion I/O settings and confirm that both the forward limit switch and reverse limit switch are active.


Thank You
Eric Reid
National Instruments
Motion R&D
0 Kudos
Message 4 of 13
(4,658 Views)

Hi Matt and Eric,

I am seeing the same issue with a PCI-7354 with hardware limits wired into a UMI-7764 breakout board. The limit switches work fine and will even stop the motion if the number of counts moved is < 1000 counts. If you try and stop the motion after about 1000 counts it continues to move until it reaches the programmed position. It doesn't make logical sense, but its definitely a repeatable error.

 

Thanks,

Adam

0 Kudos
Message 5 of 13
(3,820 Views)
Hey awaspe,

Are you using the software limit switches, or physical switches? Can you be more specific on your setup please? 
0 Kudos
Message 6 of 13
(3,800 Views)
I am using hardware limit switches that are wired directly to the UMI box. They are wired as normally open (NO) so that MAX indicates a limit triggered signal once the switch is depressed. There are two limit switches mounted at the end of travel of a linear stage. If I start a move from the home location (located halfway between the two limits) and depress the switch manually within about 500 encoder counts, the limit is triggered in MAX and the motion is stopped as expected. If I let the motion travel by more than approximately 1000 counts and perform the same operation, the limit is still triggered in MAX, but the motion continues to move until the programmed number of encoder counts is reached.
0 Kudos
Message 7 of 13
(3,791 Views)

Hi awaspe
So I am trying to understand your setup a little more. I wonder if you use step, or servo motors. What environment are you experiencing this in? Is it LV, MAX, or something else, and what version of the NI-IMAQ driver are you using? Also, it would be really helpful if you could post a screenshot of your MAX sittings.

 

Thanks.

0 Kudos
Message 8 of 13
(3,749 Views)

Also if you could please attach a  (.nce) of your MAX configuration with these settings in the Motion IO section:

 

 Motion_IO_settings.png

Message Edited by esmaham on 03-31-2010 05:10 PM
0 Kudos
Message 9 of 13
(3,742 Views)

Hi esmaham,

I am using servo motors for this application. I am experiencing this issue both in MAX and in our VC++ application that calls the motion control libraries. The version of NI-IMAQ is version 2.2. I've attached my current max settings and but it won't let me attach the .nce file. I can email it directly to you if you'd like.

 

I've also figured out the root of the problem. When I try to press the halt button under the same conditions the motion also doesn't stop - but hitting the kill switch does. I think I need to reconfigure my setup to kill the motor once a harware limit is triggered rather than just halt it (its a piezo motor with a very high holding torque, so it stops pretty quick when killed).  I've read a few forums related to changing the default action to a kill rather than a halt but most of the suggestions require writing a VI, which I believe only applies to Labview (and consequently does not apply to me). Others have suggested configuring the motion i/o map to force the inhibit in to activate the inhibit out once a limit is triggered, but I also had difficulty getting this to work. Any suggestions would be greatly appreciated.

 

Thanks,

Adam

0 Kudos
Message 10 of 13
(3,669 Views)