We use the cRED-IV a lot and its a great architecture to start working from - thanks!
Regarding your last comment about fixed-point data type on the FPGA:
This is preferred to performing a calibration however, one thing we have found is that, if you are using a wide range of modules, you are forced to coerce to a single type of fixed point representation per DMA.
Given that if you had to move them through the single DMA (e.g. the one reserved for high speed) is there a way to avoid this?
One thought is to typecast each fxp type to int32 then using the channel manager, convert back again to the original fxp then double/single to log.
Would this work?
Your comments on this are appreciated.
Are you logging waveforms or single point (slow-speed) data? If you're logging waveforms, this is a really useful design:
If you're logging single point, and using LabVIEW 8.6 or 2009 you can use the Scan Engine, which makes life a lot easier because you don't even have to write an FPGA personality.
If you are logging both then I think the In-Vehicle datalogger design is probably the best bet even though it's a bit dated.
NI Systems Engineering
Glad you find the architecture useful.
The method you suggest works fine, although it can be kind of painful to reassociate each piece of data with its apropriate representation. If you're handling different pieces of data in different ways anyhow then it's not much additional work, but if you want to handle all of the data in the same way then you could check this out:
One of my coworkers put that together, and I think it's probably the most elegant solution to the problem.
NI Systems Engineer
Thanks for the link Ryan, that looks great!
I am checking it out now.
We have 10 CompacRIO 9012 not being used properly, I just want use them data looger + same simple PID control. Will this design can be use to this version of hardware ? It looks like the configuration not allow me to select this version of CompactRio.