From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

How Capable is the Cheaper cRIOs

I'm sorry to ask a open ended question but I haven't had much experience with cRIO hardware.  When someone talks about a Windows based i3 PC with 4 GB of ram I have generally a good idea of how much stuff I can have going on at the same time.  Until Windows gets in the way, I know how quickly I can perform some operation and update the UI.

 

When someone asks me if a specific model FPGA card is good enough for a task I usually have to code up a bunch of stuff, then compile it for the different FPGAs and see how much resources it uses to best understand what hardware should be selected.

 

With the cRIOs I am at a loss.  Specifically I'm looking at the two cheap 8 slot options, the 9073, and the 9074.  I realize both have the same old Spartan FPGAs, one runs at 200MHz, the other 400MHz, one has 128MB of nonvolitile memory while the other has 256MB.  What are these devices capbile of?  Can I install DAQmx? VISA? XNET? NI-CAN? Veristand?  How difficult is it to just access the cRIO/cDAQ hardware modules plugged in from a host PC?  Is there certain modules I couldn't use in these chassis?

 

One issue I have is that I don't have an application yet.  We've been developing test systems using cDAQ chassis and every once in a while I would like to have some Real-Time control.

 

For those that have used either the 9073, or 9074 what were you able to accomplish with it?  Did you find it underpowered?  Thanks.

0 Kudos
Message 1 of 14
(6,417 Views)

I'm still ocming up to speed when it comes to cRIO myself.

 

As far as DAQmx is concerned, you don't have that.  You have access to the modules via the FPGA.  You can put the FPGA into a scan mode, meaning it will just read the modules and you don't have to program the FPGA.  You just read the data in the RT system.  So you will need to use some sort of communication scheme in order to send the data up to your main PC.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 2 of 14
(6,413 Views)

Here are some basics - sorry if this is already obvious to you:

  • if you operate in Scan Interface mode the FPGA runs in a predefined mode which passes data between IO modules and LV application running on the RT processor. There is no user LV application running on FPGA. The fastest sample time for Scan Interface is 1msec, but might be slower depending on how much you are doing on the RT processor and its speed (400MHz vs 266Mhz - or more for higher performance ones).
  • if you operate in FPGA mode, you have to programme FPGA to collect data from IO modules, but it gives you more flexibility with IO and can be much much faster (FPGA clock cycle is 40MHz) so you can take full advantage of fast IO modules. Typically you split functionality of application between FPGA and RT in some sensible way to suit each of their capabilities. FPGA has some limitations in what can be implemented.

Here are a couple of white papers that explain a little bit about performance of different cRIOs (RT and FPGA):

Hope this helps a bit ...

 

 

 

Consultant Control Engineer
www-isc-ltd.com
Message 3 of 14
(6,399 Views)

Hey Hooovahh,

 

Check out the Application Tutorials at the bottom of this page. 

http://www.ni.com/gettingstarted/beginapplication.htm

 

There are some good screen shots of how to interact with a cRIO. A embedded cDAQ will be similar to to the cRIO for deployment but you using the DAQmx interface instead of scan engine/fpga. You can do any of those things with a cRIO. The more you want to do at once then you start running out of room.

 

Why are you interested in VeriStand specifically on a cRIO?

I'd suggest you get in touch with your local rep. If you private message me I'll look him up and get you in contact with them. Just send me your info. We also do quite a few hands on events throughout the US and Canada that I'm aware so I can check with your local guy to get a compactRIO event in your area. I used to help out with these and they are the best way to get experience with a cRIO by far. http://www.ni.com/events/

Kyle Hartley
Senior Embedded Software Engineer

0 Kudos
Message 4 of 14
(6,391 Views)
Im not so much interested in veristand as i am curious about how it can be used. Ive done real time stuff on pxi and thought it would be similar. I will be doing several hands on sessions at NI week. Also thanks for the links.
0 Kudos
Message 5 of 14
(6,386 Views)

Okay now that I've had time to digest it, let me see if I have this right.

 

All cRIO platforms effectivly have no software on them other than the real-time OS.  The newer Linux ones can have additional software installed, but not something like DAQmx, just small utilities that can be called using the System Exec call.  These chassis have an FPGA which get data and send it to the RT side relativly slow, unless you write your own FPGA code which can push the hardware more to the limit as far as sampling rates go.

 

A embedded cDAQ is just like the cDAQ USB chassis, except that instead of a host PC, an embedded PC is used.  In this case you can have Windows or Real-Time OS, but there is no FPGA.  These devices can have software installed on them.  The cheapest 8 slot device I found that is of this type is the 9138.

 

One other question about compatibility.  Are all cDAQ modules compatible with cRIO chassis?  I ask because I'm curious how streaming data from a cRIO device would look on the FPGA side.  Like a LIN or CAN device.

0 Kudos
Message 6 of 14
(6,362 Views)

Hooovahh wrote:

One other question about compatibility.  Are all cDAQ modules compatible with cRIO chassis?  I ask because I'm curious how streaming data from a cRIO device would look on the FPGA side.  Like a LIN or CAN device.


I want to say yes.  But I will not definately say so.  When you look up the module on the NI site, it should state if it is or is not compatable with cRIO or cDAQ.  I know of several modules that do not work with cDAQ, but do with cRIO.  I haven't watched for going the other way.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 7 of 14
(6,355 Views)

Hooovahh,

 

I've got several 9074's up and running.  So far due to time constraints I've not used the FPGA and just used the scan engine.  Use of the FPGA would help reduce some of the processor load.  I have yet to find a c-series module that's not supported.  Shared Network Variables need to be used very sparingly.

 

In one case I'm controlling 12 lifetests at the same time.  Units are either running continuously or cycling on and off.  Monitoring pressure and current on each test.  Each test runs completely independant of the others and has its own dedicated data log via .tdms.  Most of the time cRIO runs headless. 

 

I suppose it's really about your expected channel counts and the type of acquisition.

0 Kudos
Message 8 of 14
(6,350 Views)

@crossrulz wrote:

Hooovahh wrote:

One other question about compatibility.  Are all cDAQ modules compatible with cRIO chassis?  I ask because I'm curious how streaming data from a cRIO device would look on the FPGA side.  Like a LIN or CAN device.


I want to say yes.  But I will not definately say so.  When you look up the module on the NI site, it should state if it is or is not compatable with cRIO or cDAQ.  I know of several modules that do not work with cDAQ, but do with cRIO.


So I did find a few modules that aren't compatible.  Here is a single slot CAN, and LIN cDAQ modules that I've used in cDAQ chassis.  They both have notes saying that they only works with some cRIO chassis.  I assume because the low end ones don't have much resources on the FPGA.

 

I've worked with FPGA and some PXI real-time in the past and I'm familiar with the concept of off loading operations on to the dedicated hardware instead of using resources on the host.  This too is an attractive feature.

 

Again thanks for all the information from everyone.  The more I look into it the more I think I won't be able to convince the powers that be, that the added fucntionality of a cRIO, or embedded cDAQ, is worth the greater cost from a dumb cDAQ chassis.  Bascially the cheapest 8 slot cRIO that supports the modules we use commonly (AIO, DIO, CAN, LIN) is the 9068.  Don't get me wrong I would much rather use it but we generally will be making many duplicates for each program.  Probably on the order of 20 to 30 chassis, and the 9068 is $4,000 per chassis, rather than the $1,500 for a 9811 dumb cDAQ.  That would be a cost difference of $50k to $75k more, and without knowing more about what is required from me, I probably won't make a very good case for the increased cost.

0 Kudos
Message 9 of 14
(6,343 Views)

Hey Hooovahh,

 

Here is the documented details all supported C series modules across the crio and indi com products. I couldn't find the link last night for some reason. This is quite useful to keep around. 

ftp://ftp.ni.com/pub/devzone/tut/crio_software_versions.htm

 

This version nicer to look at and includes cDAQ but the above version is what my group supports.

http://www.ni.com/white-paper/8136/en/

Kyle Hartley
Senior Embedded Software Engineer

0 Kudos
Message 10 of 14
(6,337 Views)