08-15-2013 04:04 AM
I'm involved in trying to shoe-horn some new functionality into an existing program with Host, Real-Time and FPGA aspects to it.
I've run into a situation where I think User Events might be able to help with my signalling between processes. My questions are:
Are User Events going to introduce jitter into my program because the event queue (I'm stuck with LV 2012 SP1) is unbounded and could theoretically need to allocate data at some random time in space. Are RT-FIFOs preferable for exactly this reason? If anyone has experience with Events on a RT System, I'd be glad to hear because something tells me it's not optimal....
Shane
08-16-2013 04:16 AM
Hi Shane,
What do you mean by "signalling between processes" ?
Do you mean you want to share data between multiple loops ? If you do, how many loops do you have ?
08-16-2013 05:56 AM
Yes, sharing data between loops.
I have 2-3 loops which may need to share the data. I say "signalling" because it's more of a producer consumer approach than a simple sharing of data. i.e. different loops need to tell each other what to do. The amount of data actually being transmitted (State information) is small.
Shane.
08-16-2013 08:50 AM
There is many different inter-process communication methods that you can use to share data locally between loops and VIs on RT target.
Are you communicating between a determinstic loop and non-deterministic loop? Or are you communicating between non-detreministic loops ?
Do you need to transfert every value or only the latest ?
For each combination you have a solution :
Deterministic and Non-deterministic Loops Non-deterministic and Non-deterministic loops
Latest Single-process shared variable - Signle-process shared variable
with RT-FIFO ennabled (signle - Local Variable
element) - FGV
Every Value - Single-process shared variable - Queues
with RT-FIFO ennabled (multi-
element)
- RT FIFO functions