07-07-2014 08:46 AM
I'm having an unusual problem that hopefully has a simple solution. I am using VB6 to make an ActiveX DLL that is called from a VB.NET 2010 application. This is connected to the motor by an NI UMI-7774. I can initialize the board, no problem. I can jog the motor in and out, home it, limit switches working fine. If I disable an axis (using the flex_enable_axis command) it will disable but then I can't re-enable it using the same command with a different bit mask. I say that I can't re-enable it based on the Disable light on the UMI interface. The odd thing is that, once I have requested axis 1 to be enabled, the Disabled light on the UMI it still on but if I command it to jog, the Disable light goes off and it jogs just fine.
Is this just a quirk of the UMI interface or is there something that I'm missing?
07-08-2014 02:07 PM
Hi DanBl,
It may be just a slight bug in the UMI interface. Do you see any errors or anything like that when you try to re-enable? Or does the command seem to go through, other than the disable light on the UMI interface is still on? Is there any effect on the functionality of your system?
07-08-2014 06:15 PM
Thanks for the reply. I check the return of the command and it always comes back zero. I don't see any evidence that it is upset by anything. If I don't tell it to enable then telling it to jog does nothing. After I posted my question, I went back and looked at my amplifier led. From that data point, I would have to say that it is actually holding off the enable line until I tell it to jog.
Informationally, I am running the app on Win7 32bit and using NI-Motion v8.5.1 and NiDaq v9.8.
If this is truly the nature of the beast (UMI)(and I hope not) is there some programattic way of telling whether an axis is enabled or not?
07-09-2014 04:18 PM
Hi DanBl,
It's pretty tough to tell what's going on just based on forum posts. Unfortunately I can't find a way to programmatically tell whether an axis is enabled using our text-based library. Have you tried moving the call to enable the axis to another part of the program and seeing if the behavior remains the same?
07-10-2014 09:13 AM
I've managed to make a kind of Rube Goldberg workaround. When I enable the axis, I then start and stop a jog with 0 velocity. The axis doesn't go anywhere and the led on the UMI interface is now correct. Not elegant, but functional.