Showing results for 
Search instead for 
Did you mean: 

cRIO; To FIFO or no to FIFO?

Go to solution

That is my question.


My project is using a cRIO-9073   There are three analog input modules.  Two analog output modules, and one relay output module.  All are running in Scan Mode.  


Currently I have the chassis with the modules installed on my desk.  But I am not connected to any real world IO. 


I've done some initial testing with the host and target and I am now creating IO Alias Variables that I will use in my code.  However, I'm a little unsure about the types of variables I should be using for this project.  IO Alias Variables do not have the option of FIFO or any buffering that I can see.  But I'm not sure if I require that or not.


The project will have some monitoring and controls done on the RT Target.  A couple of the analog inputs will be set to trigger digital outputs if they rise above a setpoint. 


The host will log all inputs to a database and keep a circular buffer of data in memory for display on a "live" graph.  There will also be some manual controls and access to the setpoints that the RT Target will use.  


The process is slow.  The fastest data will be logged is once per second and nothing needs to react any faster than that.  


So far, it seems very easy for me to just use my IO Alias Variables either on my Target in or my Host.  I would think that at the speed things will be operating, this method would be more than sufficient.  However we have a very short development cycle planned for this project and I'd really like to avoid any potential problems.


Can anyone with some experience tell me why this method may or may not have problems?


Muchly appreciated.    :smileyvery-happy:

Patrick Allen:
0 Kudos
Message 1 of 4
Accepted by topic author pallen



If the samplings rates of your application are as you stated in your post, there really is no need to  switch to FPGA mode. Scan mode should be more than sufficient to get you all the data. Keep in mind you can go up to about 1Khz rate using Scan mode (given that your modules are capable of those rates). Also, using the Scan mode I/O variables are by far the easiest way to get your data over to the host. You actually just drag and drop the IO variables corresponding to your modules' physical channels directly into your PC Host VI. Overall, I don't see any problems with your design so far, but at the same time, you did not elaborate too much on the requirements of the project. 


If you're looking for more information about the cRIO Scan Mode, I suggest the following: 


Using NI CompactRIO Scan Mode with NI LabVIEW Software

The RIO Scan Interface Under the Hood




Message 2 of 4

Thanks for the reply Misha,


I had a feeling I was on the right track.  But I wanted to avoid a big "Oops" if I was making one. 


I have previously looked at both of those documents you mentioned.  Before I had my hardware, even with those documents I couldn't figure out exactly how to setup Scan Mode.  If you look at the first document and scroll down to the configuration information, it only tells you how to buy a cRIO.  Unfortunately, almost all the other NI documents refer back to this one as being the "configuration" document.  


Luckily for me my cRIO already had the correct version of NI-RIO installed along with the Scan Engine.  So setting scan mode was as easy as defining my target in my LV Project and selecting Scan Mode from a menu.  All the modules then auto populated and I was able to drag them right into a VI. 


So far things seem pretty easy. I just need to complete everything in a couple of days.   





Patrick Allen:
0 Kudos
Message 3 of 4

I see what you mean - I could not find anything we have that will walk you step by step in configuring your cRIO for Scan Mode. Though really, it comes down to selecting Scan Mode when you first add your target to the project, or you can manually change this in the properties of the chassis later (right click > properties). For unsupported backplanes, it may get a bit more tricky: Using CompactRIO Scan Mode with Unsupported Backplanes


Anyway, good luck with your project!

0 Kudos
Message 4 of 4