I'm using the Get Image method on a control reference to generate a graph that goes into a PDF report. I noticed for some reason the grid lines on my graph were on top of my plots which I thought was odd but I didn't really care because you could still follow the trend. Unfortunatly our equipment is getting quite precise on the measurements and the scale zooms out enough that our plot line might only be a couple of pixels in size, and the grid line has a chance to cover up the data. After looking into it a bit the reason for this seems to be that the Get Image method behaves differently if it is taken from a graph that is in a front panel that is open, or if it is closed. Here is an example:
In this simulated data it isn't as big of a deal, but as I said if my actual data was -1.4 the whole time, it might be hidden by the grid line. Attached is an example which behaves the same way in 2015 SP1 32-bit and 2016 32-bit on Windows 7 x64.
Is there any suggestions? Work arounds? Can I get a CAR? By the way this control comes fromt he Missing System 2.0 controls. Thanks.
Edit: Okay so it seems replacing the graph with a silver graph, makes the issue go away. I just then need to change the silver graph to look like the system one.
If I capture the image twice I end up with the same image twice, and overlaying them would appear the same as capturing it once. My example shows that getting the image one way is incorrect, and the only way to make it work properly is to show the front panel of the VI with the graph and that is not something I want to do.
It was almost 5:30pm. I was in a hurry.
By capture the image twice, I mean one without data, just the frame and the grid; one with data but no grid.
It might have a time issue if you don't want to show the image.
Since the silver style has no problem, just use silver style. Or you can customize it to looks like system style.
It was almost 5:30pm. I was in a hurry.
Fair enough. That isn't a bad suggestion. Still this is a UI bug that NI should look into, but because there is a work they will likely give it very low priority.
This is not an isolated issue.
LabVIEW has this problem (layer messed up) all over the place.
For example, if you move an error wire to back, under another wire, create a subVI includes both wires, in the new subVI, the error wire is in the front.
Create VI snappet has the same problem.
So I just got the automated email from the forums asking if the issue was resolved and while yes my issue can be worked around, we have yet to hear from anyone at NI. I made screenshots showing the issue, posted example code on how to reproduce the issue, and I've found a work around. Can someone from NI acknowledge this issue and explain it, justify it, or create a CAR? Yes I realize it is quite minor, but if the forums are going to bother me, then I'm going to ask NI again. Thanks.
I woke up with the Xmas spirit and was getting ready the presents.
I checked the forums and Hooovahh wanted a CAR.
I checked the VIs a little bit to find out what the Elves had done to Hooovahh's graph, and got the same behavior (naughty Elves)... after messing around a little bit with the VI, I prepared Santa's deers to send the CAR and checked the Get Image Method Labview Help, just in case. And got this:
If a front panel is not visible, LabVIEW does not update the values in the objects on the front panel. If you call a VI whose front panel is not visible and you use the Get Image method to create an image of a front panel object, the image does not reflect any value changes that occurred when you ran the VI.
If you want the image to reflect value changes, make sure the front panel is open before any values change. If you do not want to display the front panel but want the image to reflect value changes, create a Property Node from any terminal on the block diagram of the VI for which you want to create a front panel control image.
So, it may be expected to behave this way after all. (I am sorry Elves)
Ohh no! Hooovahh may not get a CAR for Xmas evening...
What could Hooovahh want more than a 'toy' CAR for Xmas (pun intended)??
I put the Elves to work and found the Append Control Image to Report VI, I looked for a magic example and got the HTML Report.VI example.
I wrapped(zipped) it and attached it for you.
It may not be a pdf report but it is a cool HTML report tool, way cooler than getting a CAR for XMas.
Merry Xmas Hooovah! Merry Xmas zou! Thank you for your help to the community!
-NI A Re Na.
Okay a couple of things, first thanks for the laugh.
Second your HTML graph missed the point. I was showing that the control reference of the graph in the subVI is the one that doesn't display it correctly. If I wire the other control reference the same issue is seen where the grid lines are on top of the data, in the HTML file created.
The last thing is you mentioned that if the VI's front panel isn't open then the values aren't updated...but clearly they are you see the graph and you see it has data that isn't saved as default of the control. So while you say the values on the front panel won't be updated, they clearly are, and do reflect the values from the last time that VI was ran even when the front panel isn't opened. Is this an unintended feature? If so I'd like to submit it as a request to be an actual feature that is supported, instead of one that is is implemented but 1% of the time acts weird.
Ok, Santa's deers got moving again!
Your CAR is on the way... ohh wait!
A couple of elves spies got some new intel...
The elves changed the update mode of the Graph in the SubVI, and with the Strip Chart Update Mode (default) it behaves in that way, but with the Scope or Sweep Chart Update Mode (Front Panel of SubVI-Right Click on Waveform/Advanced/Update Mode/) it shows the data with the grid behind.
So, it may be expected for the way the Strip Chart Update Mode works.