LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

SoftMotion: Error 77003 with unbound axes

Hi All,

 

I have an application that uses unbound axes in softMotion to drive a number of linear motors. The motors use analog postion transducers for feedback control.

 

I have adapted the example "Servo Interface (9263 & 9401).vi" to use a 9264 AO and a 9205 AI. However, when I run the RT VI I get error code 77003, which has the description "The device in use is not supported by the NI SoftMotion Module." This error occurs whenever I try to use a read data invoke node on the unbound axis. Can anyone explain this error a bit more clearly? I'm not sure which device the error refers to. 

 

Also, in trying to find the source of the problem I opened the interactive test panel on an unbound axis. Here I can see that the "encoder position" variable is updating, but the "current position" variable does not change. Are these familiar problems to anyone?

 

Thanks,

Matt

0 Kudos
Message 1 of 10
(4,539 Views)

Matt,

 

My first questions is are you using a cRIO or cDAQ chassis, because this will not work in a cDAQ chassis.  Also here is a link to our devices which support soft motion http://sine.ni.com/tabcat/app/main/p/ap/motion/lang/en it looks like you are using devices not on this list which is why you are getting this error. 

 

Regards,

 

Greg H.

Applications Engineer
National Instruments
0 Kudos
Message 2 of 10
(4,515 Views)

Thanks Greg,

 

I am using a cRIO-9022. I have looked at the list of supported modules, but as far as I can see these are only the specialised motor drivers. The modules from the NI example I have used (9263 & 9401) don't appear on this list either. Doesn't the unbound axis option in softMotion allow for general purpose analog/digital IOs?

 

Regards,

Matt

0 Kudos
Message 3 of 10
(4,509 Views)

Matt,

 

You are correct in what you said about being able to use the general purpose AIO/DIO devices, my apologies for my previous statement.  Do you think you could post your modified code so I can take a look at it on my end?

 

Regards,

 

Greg H.

Applications Engineer
National Instruments
0 Kudos
Message 4 of 10
(4,495 Views)

Hi Greg,

 

Thanks for your help. Attached is my project.Hopefully there's not too much to change to get it working on your system.

 

Thanks,

Matt

0 Kudos
Message 5 of 10
(4,491 Views)

Hi,

 

Comparing the original example and your code it looks like you have added significant functionality.  Have you tried setting up the example for your devices only (no additional functions/features) and deploying it?

 

Regards,

 

Greg H

Applications Engineer
National Instruments
0 Kudos
Message 6 of 10
(4,480 Views)

Hi Greg,

 

I have tried to make the code as simple as possible and as close to the original example as possible. Three things were changed in the FPGA code between the example and my project. They are the following:

 

1. PID output was scaled to be appropriate to the AO limits in the Position/Velocity loop. I have since realised that this isn't necessary, as the axis properties allow you to set this up. Removing it from the FPGA hasn't fixed the problem though.

 

2. I have swapped the encoder loop to an AI read, as I have linear potentiometers, rather than a dedicated encoder for position. This loop removes the voltage offset and applies a sensitivity in um/V.

 

3. I removed the drive status loop, as there is no status line on my motors.

 

The only other functionality I can see is the loop timer in the position transducer loop. I hope this helps.

 

Best regards,

Matt

0 Kudos
Message 7 of 10
(4,470 Views)

Hi Matt,

 

Could you post your latest code with all of your subVIs as well?

 

Regards,

 

Greg H.

Applications Engineer
National Instruments
0 Kudos
Message 8 of 10
(4,463 Views)

Hi Greg,

 

Since deleting the loop counter in my position transducer loop and removing my PID output scaling in the Position/Velocity loop I no longer get the 77003 error. I'm still not sure what this error was referring to, but the code is working.

 

Also, I have changed the UpdateFeedback VI so that the analog input is updated, as well as the encoder position variable. Now I can see the position variable update in the axis interface. As far as I can see, things are working now.

 

Thanks for your help!

Matt

0 Kudos
Message 9 of 10
(4,459 Views)

Matt,

 

I am glad to hear you were able to get things working.  Let me know if you need anymore help.

 

Regards,

 

Greg-H

Applications Engineer
National Instruments
0 Kudos
Message 10 of 10
(4,455 Views)