LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to get multiple axes with 9501 C-Series modules running with SoftMotion on a cRIO 9074?

Solved!
Go to solution

Hi,

 

I'm having trouble setting up multiple user-defined variable axes with two 9501 c-series stepper modules running on a Compact RIO 9074.

 

I started with the "9501 Stepper Drive (Getting Started)" example, which worked fine with a single user-defined variable axis (Interactive Test-Panel, SoftMotion functionality on host).

 

I need to control 2 axes and I couldn't find any help on adding a second axis, so I came up with the following approach. My approach was to expand the FPGA VI in a way to add functionality for the second user-defined variable axis, so I did the following steps:

 

1. Add a new user-defined variable axis.

2. Add the same user-defined variables that the first axis had for the second axis.

3. Make a copy of the global variables that the first axis needed in order to have independent global variables for the second axis.

4a. Expand the FPGA VI while-loops with the same circuits for axis 2 and make sure those circuits for axis 2 use their own global variables, the right modules, their user-defined variables and change the axis index from 0 to 1 (not sure how exactly the axis index is defined).

4b. I also tried to copy all the loops so each axis had their independent loops. Then adapt global variables, modules, user-defined variables, axis index.

 

The FPGA VI compiles and runs, but when I get to the Interactive Test Panel for both axes and try to enable them, it throws a -70228 error (controller unable to confirm that the drive is enabled).

 

Am I doing something wrong? Is there maybe a more simple way to get two 9501 modules working with SoftMotion?

 

I can provide the projects of my two edited examples (same loop/independent loop), if needed.

 

LabVIEW setup:

LabVIEW 2014f1

FPGA Module 2014

Real-Time Module 2014

SoftMotion 2014f1

cRIO-Drivers 2014f1

Xilinx  Tools 14.7 2014

 

I hope that somebody can help me, thanks in advance.

0 Kudos
Message 1 of 4
(2,857 Views)

hi,

 

maybe your project will provide more information. From your description I don't see anything wrong.

 

Did you enable the axis 2 in its properties?

 

Best,

 

Anna

Anna Vogl
Certified LabVIEW Developer
0 Kudos
Message 2 of 4
(2,778 Views)
Solution
Accepted by topic author darenk

I managed to get it working.

 

I was missing that some motor-control SubVI's in the FPGA VI have defaulted their axis index to 0. I didn't even see they worked with an axis index until I looked into the block diagram of those.

 

So what happened was that my routines on the second axis immediately disabled the first axis because of the wrong axis index.

 

Setting the axis index to 0 and 1 (axis 1 and axis 2) for every single motor-control SubVI was what was missing.

0 Kudos
Message 3 of 4
(2,753 Views)

Hi Darenk,

Could you help to share the example code of multiple axes with 9501 C-Series modules running with SoftMotion on a cRIO 9074? It is helpful for good reference

Thanks a lot

Vivian

0 Kudos
Message 4 of 4
(2,160 Views)