LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

saving consecutive 3D curve graphs from a loop

Hi (I am using Labview 8.0)
 
I have a program that takes an input signal, performs some computations and then generates a 3D curve plot. The information is then stored in a spreadsheet (excel). After all that has been done, I graph the next series of data points from my signal, do the computations and graph as a 3D curve plot and once again store those data points in excel in the same spreadsheet. Basically my graph is getting constantly updated.
 
What I want to do is store all these updated graphs as .jpg because I do not like graphing in excel and I already have all the graphs displayed it's just that they go away once they are updated. How can I store all these graphs? I've looked the the ActiveX property nodes and haven't been able to find something suitable.
 
Any ideas?
 
Thanks,
 
Cameron
0 Kudos
Message 1 of 9
(3,129 Views)
Just create an "invoke node" with method "get image". Then save the resulting image using the image functions.
 
 
(personally, I would use PNG instead of JPG, looks better).

Message Edited by altenbach on 07-17-2006 12:47 PM

0 Kudos
Message 2 of 9
(3,132 Views)

Hi altenbach-

I am not sure if I am doing something wrong but when I create an invoke node and I am under method, nowhere do I see a "get image" display. I see various things like: aboutbox, clear data, control Image, control Image EX, ect. but nothing like "get image" . Either I am doing something wrong such as looking in the wrong place or something else is off. If you could be slightly more specific that would be great (maybe a sample VI) or something.

Thanks a lot,

Cameron

0 Kudos
Message 3 of 9
(3,112 Views)
Well, to me it seemed pretty easy. 🙂 I am not quite sure how you are creating the invoke node, have you tried as in the image?
 

(EDIT: Ah, I see what you are doing wrong, you are wiring the 3D curve reference to a generic invoke node.) 

Message Edited by altenbach on 07-18-2006 08:07 AM

Download All
0 Kudos
Message 4 of 9
(3,110 Views)

That is one of the oddities of the 3-d graph.

The invoke and property nodes of the activeX container can only be created from the FP.

The reference that is automatically created on the diagram is a ref to the object inside the ActiveX container.

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 5 of 9
(3,102 Views)


@Ben wrote:

The invoke and property nodes of the activeX container can only be created from the FP.


  • Or from the BD (right-click on the terminal... create...)
  • or by creating a reference of the 3D curve container, then wiring it to the invoke node (see image #1)
  • or by linking a generic invoke node to the FP object (see image #2).
  • .... 🙂


Message Edited by altenbach on 07-18-2006 08:17 AM

Message 6 of 9
(3,096 Views)

Sorry to bug you again but I have one more quick question and once again, thanks for both your help so far it has been quite helpful:

As far as getting an image goes, and saving it as a .jpg or .png, that is working fine. However, say my graph updates every 20 seconds and then I want to save the following 20 seconds of graphed data, how do I go about that? So eventually the end goal is that I'll have like graph1, graph2, graph3, graph4 etc. where each graph represents 20 seconds of data.

My current issue is that I can only manage to get a graph of the most recent graphed data and all earlier ones disappear. I imagine it must be somehow related to the file name so that it can change from graph1 to graph2 as each iteration of the while loop proceeds.  I can send my program to you so  you can look at it if you'd like a better idea of what I mean.

Once again, you've been amazingly quick in your repsonses and that is really appreciated

Cameron

Message Edited by Cameroon on 07-18-2006 01:09 PM

0 Kudos
Message 7 of 9
(3,081 Views)
Well, you just need to create incremetal filenames using code (See attached, LV8). 😄
 
Some other suggestion:
  1. Make sure there is data dependency between the FOR loop and getting the image to ensure execution order. Currently you don't know in what order they execute. Most likely, the image gets taken during a random interation of the FOR loop. LabVIEW does NOT execute left to right!
  2. Take all these property nodes outside the loop. Since nothing changes, you only need to write these once.
  3.  there are quite a few other things that can be optimized... Sorry, I don't have time to look into it in more detail.

Message Edited by altenbach on 07-18-2006 11:56 AM

0 Kudos
Message 8 of 9
(3,067 Views)

Regardless if my program isn't perfect (I am a Labview user for one month), thanks for all your help. Making the data dependency thing resolved your concern and now it stores the graphs all in one folder which is exactly what I want. Really appreciated,

Cameron

0 Kudos
Message 9 of 9
(3,056 Views)