Jump to content

Search the Community

Showing results for tags 'subpanel'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Software & Hardware Discussions
    • LabVIEW Community Edition
    • LabVIEW General
    • LabVIEW (By Category)
    • Hardware
  • Resources
    • LabVIEW Getting Started
    • GCentral
    • Code Repository (Certified)
    • LAVA Code on LabVIEW Tools Network
    • Code In-Development
    • OpenG
  • Community
    • LAVA Lounge
    • LabVIEW Feedback for NI
    • LabVIEW Ecosystem
  • LAVA Site Related
    • Site Feedback & Support
    • Wiki Help


  • *Uncertified*
  • LabVIEW Tools Network Certified
    • VI Scripting
    • JKI Right-Click Framework Plugins
    • Quick Drop Plugins
    • XNodes
  • General
  • User Interface
    • X-Controls
    • Custom Probes
  • Database & File IO
  • Machine Vision & Imaging
  • Remote Control, Monitoring and the Internet
  • Hardware

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Personal Website

Company Website

Twitter Name

LinkedIn Profile

Facebook Page



Found 10 results

  1. I'm trying to run a VI using the Call by Reference function, then embedded it into a subpanel in my Main.VI. Once the VI is embedded, I can't use it in the subpanel. It's like everything is blocked and it won't let me interact with any of it. If I use an invoke node and call the Run VI method, this isn't an issue. Unfortunately, this is part of a much bigger application that use Call by Reference functions, so I can't replace those calls. I have attach image snippets showing my code. Does anyone have any suggestions why this might be happening or a work-around to fix it? Thank you in advance!
  2. I have an issue with a Sub Panel in a generic GUI VI we use as part of our company's OO based application framework. Most often the SubPanel behaves like it should. But sometimes after the application has stopped, the VI that was last inserted into the SubPanel, is still inserted according to LV. When this happens (and I start the application again) I can't insert that VI into the SubPanel again, I can insert other VIs, but if I try to insert the last Inserted VI, LV says: Error 1145: Cannot open VI because it is already in a subpanel control. If I try to open the VI's FP, LV opens the FP of the GUI VI that has the SubPanel (just like it should if it was inserted), but the SubPanel is Empty. And LV behaves the same, even after the SW stopped?!?! When LV stops all SubPanels should be emptied (i.e.all inserted VIs should be thrown out.) Has anybody else experienced this strange behavior? Our framework is doing something that LV doesn't like of, but I haven't figured it out yet. We do see one strange behavior as well. We start up the framework with a VI that kicks off some processes (just like you do in Actor Framework), and when the framework starts up and starts inserting stuff in the SubPanels, the Top VI becomes broken, but it's still running. Have you guys seen this as well?
  3. I see a lot of knowledgeable minds around here, so here's my challenge. I have a test system that will have, at the user interface level per channel, 3 inputs and 2 outputs that together encompass a simple test scenario. I would like that scheme repeated up to 10 times in a single application so you could watch a bank of units under test, allowing both scripted or manual manipulation of inputs; plus viewing and logging of the outputs. Here is an example of what I think I want the user to interact with: I would like to associate each of these "subpanels" (not to be confused with actual subpanels - yet) with a LabVIEW class object that will handle the interface with hardware. All channels would be coordinated by a top-level VI (let's call it the Controller) that aggregates the channels and provides the ability to parse script files to press buttons and stuff. Here's where I'm having trouble, conceptually. One solution seems to be to spin off a new asynchronous call-and-collect VI (in the form of the pictured panel as a brat VI) that has the brat throw its control references into a queue for the Controller to catch and store for later access. The brat would receive stuff like a user stop event and the hardware session's class object when first called. I would then create an array a grid of 10 Sub Panel controls on the Controller's front panel and place each brat VI into its own Sub Panel like a facade. The core of the hardware IO would be built into the brat VI (operating on the class objects), with the Controller pulling the strings and catching outputs and user interaction through dynamically registered events and property nodes operating on the brat's references. This all seems like it should all be workable and isn't fundamentally new to me. Does this seem reasonable? Another - much less (in)formed - concept I had was to avoid the ACBR brat structure entirely and implement this "subpanel" as an XControl that I can treat like a regular control on my Controller's front panel. I think of XControls because I can't have a cluster with both inputs and ouputs (unless I access the indicators with property nodes and fake it, I think), though I am actually only assuming that XControls allow both at once, or the equivalent behavior. In this scenario, the controller would retain an array of my hardware session's class objects and index them associated with each control. This way, the controller would invoke a hardware IO operation in a for loop to iterate across all devices. Similarly, when one of the XControls had a button clicked, the controller would see the value change event, figure out which one fired it, and do some function for only that associated hardware. I've never implemented an XControl before - at all - so the first solution is going to be the easier one for me. Is there a good argument for going the XControl route over the asynchronous-brats-with-Sub-Panel route? Thank you for your inputs, and sorry for the wall of text!
  4. I ran into this; I wonder if I'm misunderstanding, or it's a bug. I have a FP, with buttons I want to toggle with keys, and I have string controls in a subpanel, like in the attached minimal example. I'd like to toggle the button while the focus remains in the subpanel string. While this is no problem for a control on the FP, pressing F1 while focus is in the subpanel string rises the focus to the whole subpanel container. What is wrong? If a bug, how to workaround? Setting KeyFocus to the sbubpanel string ref doesn't seem to help. Seen in 2014SP1 linux and 2014SP1f3 windows. main.vi subvi.vi
  5. Is there a way to retrieve the reference of the VI inserted in a subpanel? I'm writing a code that takes a "parent" VI ref, and then scan through all its splitters, panes, and subpanels, and now I'd like to retrieve some infos from the VIs loaded inside the subpanels... Cheers
  6. Hello, I am working on a user interface for an 8 site test station. I put a lot of thought into the design of the UI and when I started trying to implement, I ran into a major road block and was hoping I could get some advice here. Here is an overview of what I have: I have 1 view where I want to see an overview of all 8 sites and have basic control of each site. Each site can test part A or B. Each part has different information and therefore, I want the overview display to be different for each, depending on which part number is being tested. So I made a "Part" Class and 2 child classes "A" and "B". Each child class has an "overview" VI that has the information that I would like to display. My plan was for each site to create an instance of the appropriate class ("A" or "B") and insert the "overview" VI into the subpanel corresponding to the appropriate site. This is where I ran into a problem. I load part A into site 1, and the subpanel loads the correct display. Then I try to load a second part A in site 2, and I get an error saying I can't load that VI because it is already loaded in another subpanel. I had assumed that if I had a reentrant VI and had created multiple instances of it, that I could insert each instance into a separate subpanel. After searching on the NI website, I found an article saying that this is not possible. I guess I made a bad assumption when I went down this path. Does anybody have any recommendations for alternatives? Or any way around this? Thanks!
  7. Is it possible to remove a VI from a subpanel without the subpanel reference (just using the VI's reference)?
  8. Hi I want to populate a FP tab in a tab control with a sub VI I wrote, and do it programmatically, rather than brute force copying it in there 4 or 8 times, but I always get just one instance of the subpanel. I pull up the position property to make each instance below the previous. I don't think I have 4 just all on top of each other.. Heres the BD and FP: Hmm looks like lavag doesn't allow me to paste screen shots, so I put them in the word doc that's attached Thanks! subpanelQuesstion.doc
  9. I am writing an X control that launches a popup that I want to place in reference to a control that is part of the XControl. It worked ok when the X Control was in a normal VI (even with multiple panes), but when that vi is in subpanel it always shows up in the same location. It gets the same "panel coordinates" everytime regardless of where the top level vi is placed, but changes when the subpanel is moved on the front panel of the main vi. It seems like I need to go one more level up, but so far have been unable to find a way to do that. It is almost like instead of "owning vi" I need the reference of the subpanels owning vi. Here is the vi I am using. The vi with the magnifying glass recursively searches for controls within controls (e.g. clusters, tabs). Basically it finds the pane the control belongs to then finds the panel coordinates and then the screen coordinates. Does anyone have a trick to make this work for subpanels? Much Thanks!
  10. My Main reason for posting is that I too am wondering what is the best architecture for displaying status of multiple instruments. I am developing for 3 instruments with it being very probable that i will expand to 7-10 instruments. The User will run and control these instruments asynchronously and would like to see realtime status displayed on the GUI. There is the possibility that there could be some instruments used sometimes, and then other times other instruments are used. What I would like to do is let the user select which instrument Panels are displayed in the Front Panel and allow rearranging of these panels. How can I do this? I would have a variable size front Panel for each Instrument. I thought about using subpanels, but Can they be programatically created? I think that they can be programatically resized. I thought about having a stack of Subpanels off to the side and I could grab them, resize, position, and populate the instrument FP as needed. Also I was thinking that it would be nice to allow the user to rearrange the instrument panels onscreen as needed. I was going to make each instrument its own class and somehow relate the Instrument FP to the class if that made sense. I didn't want to make a pop up window for each FP. And I could probably do this easily with an array of Subpanels, but my problem is that each FP could be a different size. Is this a good Idea, or am I going down a bad path here?
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.