Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Axis with 9503

I am working on a project were I need to run multiple stepper driven turntables independently (with a later step to give the option to move all or some at the same time) however right now I am just trying setup a program to run two motors independently. I have been able to get a single motor to run using a modified version of the position setpoint example but I am having trouble adding more than one axis. I am using a cRIO 9035 and ultimately will be using 6 9503 modules to drive the turntables. if anyone could give me a hint or point me towards an example on how to do that I would be much appreciative.

 

Larry

0 Kudos
Message 1 of 14
(4,398 Views)

Hi LawrenceD,

 

Can you describe what you mean by having trouble adding another axis? Are you encountering an error, or just not certain how to do so?

 

In case it's the latter, here's an article that describes how to add a new SoftMotion axis.

 

You can also check out some of the multi axis examples that ship with the SoftMotion driver:

  1. From any LabVIEW window in the menu bar, select Help » Find Examples...
  2. Navigate to Hardware Input and Output » Motion Control » SoftMotion » Express VIs » Multi Axis

Regards,

Regards,

Michael Whitten
Senior RF Applications Engineer
0 Kudos
Message 2 of 14
(4,358 Views)

Adding the second axis to the project is not the problem it is actually utilizing the second axis inside the program. the first attempt that I tried gave me an arbitration error but I am not really sure what resource was having the arbitration problem. my first attempt was with a program consisting of two sets of the program that I have working for one axis.

0 Kudos
Message 3 of 14
(4,354 Views)

Hi Lawrence,

 

Do you have a specific question about how to utilize the second axis, that I could assist you with? In the meantime, I'd suggest taking a look at the examples I included in my first post, to see what utilizing multiple axes looks like.

 

Regards,

Regards,

Michael Whitten
Senior RF Applications Engineer
0 Kudos
Message 4 of 14
(4,346 Views)

The examples that you listed appear to be made for servo motors and do not appear to work with my 9503 modules. I do not know what I would need to do to run multiple 9503 axis at once, if you know of an example that works with multiple 9503 modules that would be outstanding.

 

Larry,

0 Kudos
Message 5 of 14
(4,344 Views)

Hi LawrenceD,

 

You're right. My apologies; I hadn't realized which motion card you were working with. 

 

Luckily, there is a great example of using the 9503 with multiple axes built into LabVIEW. However, you won't find it in the NI Example Finder after LabVIEW 2015. Instead, you can find it by doing the following:

  1. From LabVIEW, select File » Create Project
  2. Under Sample Projects, select SoftMotion
  3. Select the Stepper Drive (NI 9503) project
  4. Finally, under Project Type, select Position Profile Multi Axis

This example has plenty of instructions, and a description of how you can add even more axes to the project.

 

Regards,

Regards,

Michael Whitten
Senior RF Applications Engineer
0 Kudos
Message 6 of 14
(4,335 Views)

Thank You that is extremely helpful. Do you think that it would be possible to replace the drop down menu for the axis selection with an array of buttons so that I could select which axis move so that I can move multiple axis simultaneously or would that require some major rework of the sample?

 

Larry,

0 Kudos
Message 7 of 14
(4,315 Views)

I am looking over that Example that you pointed me towards and I noticed that I could not change axis while the program was running, is that by design?

 

Larry,

0 Kudos
Message 8 of 14
(4,307 Views)
I am looking over that Example that you pointed me towards and I noticed that I could not change axis while the program was running, is that by design?

Are you referring to the Host VI? If so, yes, that is intentional. The code first configures the selected axis and the motion line before entering the While loop. If you wanted to change the axis while the program is running, you would need to modify the code to disable the current axis, clear the motion reference, and create a new motion reference before restarting the while loop.

 

Do you think that it would be possible to replace the drop down menu for the axis selection with an array of buttons so that I could select which axis move so that I can move multiple axis simultaneously or would that require some major rework of the sample?

No, this would require reworking the example. You would need to add another loop for a different axis, use coordinate spaces, or use motor gearing for another. 

 

At this point, using the motion axes in your host VI will be exactly the same as if you were using one of the 951x modules. The difference is that your axis is "user-defined", meaning that it is using user-defined variables to communicate between the host and FPGA. Therefore, I would suggest you take a look at the examples I pointed at earlier, under Hardware Input and Output » Motion Control » SoftMotion » Express VIs » Multi Axis.

 

Again, these examples are not for your device. However, you could easily implement the same type of code in your host VI to make multiple axis movements simultaneously.

Regards,

Michael Whitten
Senior RF Applications Engineer
0 Kudos
Message 9 of 14
(4,293 Views)

Finally got to get back onto programing for this. so I wrote a program (see attached block diagram) using one of the 9503 examples as a basis but every time I try to enable one of the drives I get error code -70217. when I looked up that error code it is saying that it comes up when the drive is in fault state, none of my 9503 have the fault light on and when I clear faults before trying to enable I still get the same error.

 

Any suggestions would be much appreciated.

Larry

0 Kudos
Message 10 of 14
(4,248 Views)