LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Real-Time FPGA variables

 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

0 Kudos
Message 1 of 3
(1,946 Views)

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.

0 Kudos
Message 2 of 3
(1,908 Views)

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:

check.png

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).

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 3 of 3
(1,898 Views)