We've recently purchased a Compact Rio system for several projects here at work. I am at the forefront of learning how to use it, and then will be teaching a few others how to use it for their projects. I am fairly competent with Labview, and picking up on the Rio in an "ok" time frame. My problem lies in the fact that I explain things as clear as mud to people. Every project we will be using it for is similar, and just my code will confuse some others.
I think about the easiest solution to this is finding some very basic examples of this: A host VI program that goes into the VI running on the Rio, takes the data that it is aquiring, and then displays it on the host computer VI. We have, in the past, just aquired the data with a DAQ board and displayed it. I would like some simple examples, such as aquiring strain, or voltage, using the Rio, and then displaying that data on the host VI. Anything that is as simple is possible that can be used as a teaching tool is appreciated. I have also searched for some of the manuals, and even some of those have been confusing me, and I seem to have the principles down. Any help is appreciated!
If you want as simple as possible, do all of your aquisitions with Scan Mode. Scan mode requires no FPGA programming, no coding for transfer of data between RT and FPGA, and simple timing setup - you just drag the channels in your project onto the RT block diagram and put it in a loop.
There are some downsides, however. Your scan rate is limited to around 1khz, not all modules are supported(the 9236 strain module is not supported but the 9237 is), and if you have a controller with less than 3M gates then you have to run in hybrid mode(requires a blank FPGA VI)
The examples for the 9236 and 9237 strain modules are quite complex, and the shunt calibration can be difficult to explain(I've had to explain it to dozens of customers, and it can always be a challenge), and only take a finite # of samples. If you are using the 9236, let me know and I can send you my code to do continuous acquisition, but it is still modified from the example, so still uses the same state machine that can be tricky to teach others.
To keep the cRIO->host as simple as possible, just use shared variables with the FIFO enabled, and dont forget to comment your code and keep it clean with subvi's and logical dataflow(left to right, no random branched off wires that go who knows where)
Let me know what hardware you have(controller, backplane, modules) and maybe I can dig up some examples on my computer for ya.
Thanks for the info reguarding the simplicity of the matter. I had planned on simply using scan mode for my application while putting the strain channels in as you mentioned. I can use this method as a teaching tool for our other team members, but will most likely need to lean towards learning the FPGA side of things to help teach them that. Some examples for my simple program, and maybe a few advanced ones for our cRIO 9073 would be great.
Also, if you have some very simple, basic FPGA examples for me to start learning on that would be excellent. Thanks for the help!
You can program the NI 9237 to supply 2.5 V, 3.3 V, 5 V, or 10 V of excitation voltage, and the module can provide up to 150 mW of excitation power.