LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Mimicking behaviour of sub-panels in LabVIEW-RT

Solved!
Go to solution

Hello,

I have been given an early stage prototype project which was developed using LabVIEW 2018 SP1 on a Windows10 PC. The top level VI acts as a GUI and makes extensive use of subpanels; the subpanels are identical and are linked to clones of a single VI. I have been asked to check that it will operation on a real time system (see specs below) and I am sure it will come as no surprise to most of you that it will not deploy because subpanels are not supported by real time operating systems.

My initial though is to remove the subpanels and instead programmatically launching the clones as and when the user desires them controlling the position on the screen so as to create the illusion that they are part of the same application; the main application would still be there to provide the top level controls and indicators but again would be positioned in such a way as to maintain the illusion.

Would this be practical or is there a better way to do this?

I realise that I haven't been specific (e.g. providing the actual source code) so am just looking for guidance on general approach rather than something specific

Software: LabVIEW 2018 SP1, LabVIEW-RT 2018 SP1

Hardware: Dell laptop running Windows 10 Enterprise, cRIO 9039 running RT-Linux attached to an iiyama touch panel display

Message 1 of 3
(2,150 Views)

Generally, RT has not GUI.  You use a remote system as an HMI if necessary.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 3
(2,122 Views)
Solution
Accepted by topic author Dave.M

@Dave.M wrote:

My initial though is to remove the subpanels and instead programmatically launching the clones as and when the user desires them controlling the position on the screen so as to create the illusion that they are part of the same application; the main application would still be there to provide the top level controls and indicators but again would be positioned in such a way as to maintain the illusion.

Would this be practical or is there a better way to do this?


This is about the only practical solution I've found, and is similar to the approach I've taken to simulate subpanels on RT. When the application launches there is a main top-level VI occupying the left of the screen, and half a dozen floating windows which all occupy the same space on the right of the screen (one on top of another).

 

All front panels are fixed sized, have no window decorations, and are set to floating. When the 'subpanel' VIs are launched, their panel size and position is set using the Front Panel Panel Bounds property. Each of the floating VIs are launched only once and brought into focus by setting the Front Panel Window.State property to Standard. This will float the window above all the others, making it visible.

 


@crossrulz wrote:

Generally, RT has not GUI.  You use a remote system as an HMI if necessary.


Every Intel based cRIO and PXI controller that has a video out, has support for embedded UI when running Linux RT. Very handy for local monitoring and control when paired with a touch screen display.

 

 




Certified LabVIEW Architect
Unless otherwise stated, all code snippets and examples provided
by me are "as is", and are free to use and modify without attribution.
Message 3 of 3
(2,052 Views)