LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Datas in Real Time - High speed?

Basically, I´m trying put in a XY graph the datas that I read from Eletronic Load by a GPIB device. The question is: I need a high resolution (2 ms). With while loop and reading one data by execution I only obtained 15 ms of resolution. The other option was read an array of datas. But in this case I didn´t obtain datas in real time to made my graph. One time - an array of datas...
Anybody knows how to solve my problem??? 😉
 
Thanks!!!
0 Kudos
Message 1 of 4
(2,962 Views)
If you're running Windows, do not expect anything better than your 15 msec loop rate.  In fact, even that rate is surprising!  Also, with a message-based interface like GPIB, you will be lucky to break the 10 msec barrier even using a real-time OS.  The array method is the way to go.  Just size the number of points to update on your graph so that you don't perceive the delay.  The human eye can only discern updates at the most every 42 msec or so.  That's how fast the TV updates its image (in the US anyway).  It worries me that you are so focussed on your graph updating.  The graph does nothing to aid a control loop.  It only shows a human what is going on.  Placing a human in a control loop is usually a bad idea, and it's especially bad if you are trying to do something high speed.  The best trained humans will never react faster than 100 msec to something like a graph.  OK, that's a guess... but it's got to be something like that just based on neuron firing propagation times.  What you should consider is that if you need to react to some signal threshold or rate of change, use LabVIEW to automate that.  The graph is just informational and your information consumer (humans) cannot process it that fast.

Dan Press
Certified LabVIEW Architect
PrimeTest Automation
Message 2 of 4
(2,958 Views)

Ok!!! Let´s supose that I´m working with an array of datas... I will read from Eletronic Load, in one loop execution, for example, an array of 50 datas. How to put this 50 datas in a XY graph in 50 diferent time? As I sad, I will have 50 datas - 1 time... I tryed already implement another loop to read this array, one in one data, and put in the graph. But the problem is that this while loop is faster than the loop to read from Eletronic Load... After I make my graph, I have to wait 100 ms (GPIB VI takes to read the array) to put again the datas in the graph... So I have a delay of 100 ms!!!

How to sove this problem?

Greetings!!!

0 Kudos
Message 3 of 4
(2,944 Views)
I'm assuming that you are executing some instrument command that tells it to return multiple measurements. If that's the case, then the instrument manual should tell you what the time delay is between readings. You can use that as the dt value for a regular graph and not bother with an XY graph at all unless you want to build a time array. You can set the dt with a property node or with a cluster. Going to the diagram and looking at the context help for a graph shows you the cluster format.
0 Kudos
Message 4 of 4
(2,911 Views)