08-09-2018 08:57 AM
hello!
I am trying to build a system which reads a matrix of points and then sends the points one at a time
to a FPGA system
I am trying to control the location of a motor with PID, I am using network-published variable to communicate.
the problem is that I am missing a lot of points that get lost in the process.
The program that reads the points need to be slower than the one who processes the PID. but I need them to work as synchronized as possible (no matter if there is a small difference, but as close as possible).
I am not sure how to upload all the project, so if more information is needed let me know.
All the VI's I've uploaded I created them inside the chassis of a cRIO 9076.
Thanks for any help
08-10-2018 06:21 PM
If you're losing data points and response time isn't important, you could try using a queue.
I think it might be easiest to start working from one of the examples that you can find in the LabVIEW help.
08-13-2018 12:56 AM
Hi EyalZ,
I am using network-published variable to communicate.
Why do you use network shared variables to communicate between loops in your RT target?
Why not use queues, globals - or put everything (getting new setpoint and FPGA communication) into just one loop?
Like this:
Side note:
Network communication is VERY undeterministic. You should NOT do undeterministic stuff in a deterministic TimedWhileLoop…
I am not sure how to upload all the project, so if more information is needed let me know.
Best is to ZIP your whole project folder. (I suppose you organize your projects with all related files in their own folders…)
This way we don't lose your RT and FPGA definitions (as can be seen by those broken wires in the image).