Real-Time Measurement and Control

Showing results for 
Search instead for 
Did you mean: 

controlling the servomotor with cRIO-9056



I am a PhD student and I am trying to build a small shake table to simulate earthquakes or mining tremors. On this table, I would study models of various structures (mainly models of cooling towers). I am a civil engineer and my knowledge of automation is limited, so I am kindly asking you for help.


I have access to the cRIO-9056 controller, and the following modules are installed:

NI 9472 - two modules,

NI 9421 - one module,

NI 9263 - one module,

NI 9205 - two modules.


1. I would like to ask you, can I use LabView and the controller (together with modules) to control the servo motor (servo motor and servo amplifier)? The power of the engine would be about 2000 [W], 2.7 [hp].

2. Will I be able to control the servo motor with impulse?

3. Do any of the modules give me high-speed digital outputs and inputs?

4. Is it possible to get feedback to the computer?



Dawid Cornik



0 Kudos
Message 1 of 5

Hi Dawid. 

For us to supply meaningful answers we'd need a bit more information on what's happening beyond the cRIO and its modules.

I'll answer as best as I can with a few assumptions. 

1. Yes cRIOs are great for controlling stuff, what you can control would depend on the inputs of what you need to control and what outputs you have available on the cRIO. To properly answer this we'd need to know what servo motor you have as these come in a wide selection. 
2. I'd refer back to answer 1. 
3. Your 9472 gives you Digital outputs, and your 9421 gives you inputs. High Speed is always a very personal term. I've worked with people defining high speed as anything above 100Hz, while others have been complaining that anything below GHz is too slow. 
4. Yes the cRIO has multiple ways of sending data to a computer. 


Best of luck

Kind regards
LabVIEW Fairy

cRIO Enthusiast
Please mark solutions when appropriate.
Unofficial Forum Rules and Guidelines
0 Kudos
Message 2 of 5

Yes, you need to give a bit more info. I would imagine that you are not connecting the cRIO directly to the motor, but instead the output channels probably go to the servo amplifier which in turn drives the motor - so really you need to consider what inputs that has. Sometimes motor control is done by PWM (pulse width modulation - i.e. quickly swicthing DOs), other times it is may be via an analogue signal to something like a drive / amplifier card, or even a network comms to a drive. The update rates for the DO or AO modules will be dictated by a) the type of signal, b) how fast you need the system (control) to respond - for earthquake / tremors I expect you have a well defined maximum frequency. For signal processing the minimum you need to sample at it twice as fast as the max frequency, but if you are doing control then sampling ideally needs to be at least 10 times faster than the max frequency. This sampling criteria applies to all signals in your control loop - inputs (sensors) and outputs (actuator / drive signals).


Whichever it is there will be a way to do it with a cRIO. The issue with sample rata may also influence how you use a cRIO - it has two modes Scan (on Labview Realtime) whcih is fine for signals down to few msec update (min is 1msec), but if you need to go faster then you will need to get the code onto the FPGA. Both LV Realtime and LV FPGA have complexities beyond the normal LV.

There are some dedicated servo motor IO modules, but whether or not they are approriate depends on your motor and any drive.


I am wondering if the term "servomotor", "servo amplifier" and the 2000W power means this is a hydraulic motor, which will be quite different to a an electrical motor.


Consultant Control Engineer
0 Kudos
Message 3 of 5

Hi Andy,


I have a similar question!

I need to use a cRio 9056 to control a Harmonic Drive servo motor (RSF-5B-100-US050-BC).


Here is the product catalog:


for my application, 10~20 Hz input and output sample rate would be quite enough.


Can you recommend a module and hardware for this?


The salesperson provided the following info: 


  • In addition to the actuator what had been requested is “associated accessories that will help us connect them to a cRio controller”, so let me elaborate.  The actuator is quoted with optional extension cables.  The extension cables terminate with pigtail wires (and crimp-style terminals on the brake cable) as shown on p.52 of the online catalog.  Please consult with cRio on their connection recommendations (my guess is they probably offer a connector kit).
  • One other comment is that the encoder signal coming out of the encoder is open collector style (i.e. A, B, Z, U, V, W signals without compliments) as show in “Encoder lead wire” table on p. 27.  The encoder extension cable incorporates a converter from open collector signal to line driver style (i.e. A, B, Z, U, V, W signals with compliments) as shown in a small table on p.52.
  • For an installation drawing of this actuator, please refer to p.17.


Thank you for your help in advance.

0 Kudos
Message 4 of 5

Well that is a very open ended question - as there are lots of aspects to consider.


In general terms you could:

  1. Go for a Motor Specific IO module - like NI-9514 which can drive a servo motor and has encoder measurements built into same module (if available)
  2. Or, build up from lower level IO modules (e.g. DI.DOs) that can do interfacing

    Depends if you can find a motor specific module that is compatible with the device you have, or if you are ok with messing about with low level programming (encoders can involve FPGA programming, as you have to count pulses at a speed dependent on encoder resolution and rotational speed and not related to the 10-20Hz measurement rate you want - but plenty of supplied examples for different types of encoders).

    A good place to start may be reading the Getting Started Guide for a Motor Specific IO Module, as they generally give a nice overview even if you end up using something different
Consultant Control Engineer
0 Kudos
Message 5 of 5