LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Programmatically changing chart stacking in subvi from compiled application.

I am creating a data acquisition application which needs to display a variable number of waveforms (1-16). I have a main vi that uses vi scripting to configure a Waveform Chart control owned by a dynamic subvi. I would like to be able to deploy this as a compiled application vi, but when I create the application I get the following error:

 

Error 1073 occurred at Property Node (arg 1) in Daq.vi

 

Possible reason(s):

LabVIEW:  This property is writable only when the VI is in edit mode, or this method is available only when the VI is in edit mode.

 

Does anybody know a work around for this issue? Attached is a screen capture of the relevant code.

 

Thanks,

 

Kevin

Download All
0 Kudos
Message 1 of 9
(3,054 Views)

As far as using scripting property nodes in an executable, you can forget about it.

A possible workaround would be to have two indicators, one with stacked plots, the other not and show/hide the one you want to use/not use programmatically.

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

The issue with this suggested work around is that the number of waveforms to be stacked is dynamic, so I'd need to have a separate indicator configured to display 1-16 waveforms.

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

To be more precise I'd need 16 indicators (one 1 waveform, one for 2 stacked waveforms, etc.)

0 Kudos
Message 4 of 9
(3,047 Views)

I am afraid you are correct...

0 Kudos
Message 5 of 9
(3,045 Views)

Do they need to be stacked? An option would be to have one graph with all of the plots, and display the legend with the visibility controls to the user, so the user can control which ones are visible.

 

Another option is to add a button that will display a popup graph for a specific graph. This popup can be a VI template (or even a reentrant VI) so that you only need one VI, but it can be called multiple times to have multiple windows.

0 Kudos
Message 6 of 9
(3,033 Views)

Ideally the user would be able to be able to dynamically select which waveforms to display and whether they are overlayed or stacked. The minimum requirement is that all of the initially selected waves are displayed stacked. Looks like it will be a much more complex programming task than I had originally anticipated as the built in behaviors of the chart primitives are not as flexible as I need. I'll probably need to provide a separate control to select which waves to display.,another for stack/overlay and mange the visibility of 17 underlying chart primitives.

0 Kudos
Message 7 of 9
(3,024 Views)

Oh, I should mention that the waveforms need to be displayed in close to real-time as the data is acquired. With that in mind I don't see an easy way to implement a pop-up window that would display a given waveform in a single chart. 

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

The stacked is the easy part, as it's easy add/remove graphs that way, for 17 separate you'll place 17 and hide the unused ones. That way you can use 1 VI and modify visibility as needed.

/Y 

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 9 of 9
(3,013 Views)