The instantiation of the indicators of labview or sub - VI?

Is it possible to create multiple instances of a LabVIEW indicator or sub - VI while the first level VI is running?

Here's what I'm trying to do:

I have a network of wireless acceleration sensors all monitored by a LabVIEW VI. Each sensor sends packets to the VI containing the ID of the sensor, status data and acceleration sensor. I have a Subvi, which displays the data (using a graph) and status information for a single radio. I want to set up my main VI so that whenever the sensor module connects to the network, it may create an instance of this sub - VI for that particular sensor. Is it possible to do something like that?

I hope someone can point me in the right direction.

Thank you

Mike

Hello

To create instances of a Subvi, access the properties of VI of Sub VI (by clicking with the right button on the VI icon on the right top corner) > execution > re-entrant execution. Mark this option and drop your Subvi wherever necessary. Whenever it is used, a new instance is created. You can also try a file .lives (model VI) who works in the forums.

Kind regards
Amine31

(Bravo to give good answers, mark it as a Solution If your problem is resolved)

Tags: NI Software

Similar Questions

  • When I change the setting by LabVIEW on my device, I see change on the monitor of the device?

    When I change the setting by LabVIEW on my device, I see change on the monitor of the device?

    This question should be addressed to the manufacturer of the device. From your previous posts, I guess you use GPIB or serial. If the unit has received the order, the manufacturer should be able to tell if no indicators on the device to update when the order is received. Based on my experience, however, the device indicators will most likely update on receipt of an order successfully.

  • Update of the indicators of the façade is trolling in the test of the functions in the provider DLL

    I'm looking to see if someone can explain a behavior to display weird LabVIEW I see when to test some timeout works in a third party DLL. I have a work around in place but I would still like to know why, without the workaround, the information displayed by the indicators on the front panel are not synchronized with what is happening in the execution of the VI, even though I tried all sorts of things to impose the synchronization. Note that to run the VI in a useful way, you need to be able to communicate with a Galil axes via an Ethernet controller, and which, for the most part, limited this discussion to what the experts among you know happen under the hood of LabVIEW in situations like this.

    This is what looks like the VI when my work around (false wait added) is active. It's a small state machine that uses the elements of the array "Test Sequence" to tell him what to do in each step of its implementation. Here he plays a first time-out value, sets a new value of timeout, reading again, the timeout by asking a READING of the controller (without having first asked to say anything), followed by restoring the initial time-out and then tests to stop.  The two indicators in the red rectangle are there to show the current status of the execution, and it is this pair of indicators which are not synchronized with the State of the actual program.

    When execution completes, it is what we see.

    If the false timeout is too short, then the indicators are not synchronized with the State of the program, or in this case, with the other.  Note that the only time wherever the VI display is static enough for me to take a screenshot as it is during the period of "Test Timeout. When the time-out occurs Finally, things be synchronized and the same results are displayed.

    Here's the code.  I am also attaching a folder zipped with the code, just because I don't know if the extracts are smart enough to include all the dll referenced by library call nodes.

    Here on the left of the loop indicator 'State' and 'Index' terminals can be seen. The 'fake Wait' needed to make the indicators work synchronously appears below in the same area. Before coming with this 'fix' things I've tried, what has not worked, were:

    • addition of the structure of flat sequence seen here with the indicators in the first panel
    • Entrance to the 'value' property nodes using linked to two indicators with their outputs error Garland at the entrance of the error on the function 'G Read' (test timeout).
    • defining indicators for "synchronous display" (apparently this parameter actually only works with the multi-threaded code, which I don't believe it is)
    • setting false property to "postpone updates on the front panel.

    Another thing that worked linked a "probe" to any data path entrance side of the conditional structure. I thought that it causes also a few milliseconds of delay as the expectation.

    My best guess at what happens is that display updates are "launch and forget" actions that occur on parallel execution paths in the single execution thread and function on obtaining some of the main process to complete time slices. But when the main process is the name of an external library, which, outside the library can't share time with all other processes that can run in the same thread.  All this makes sense?

    This is because all these CFLN calls to the dll are set to run in the UI thread (to view the color orange on the top of the node).

    If they eat the cycles in the UI thread, they may not leave enough cycles to LabVIEW to make updates to the user interface of the front panel.

    What make these 3 part of the dll?  They need to run in the UI thread?  Is there a problem with the standby so that the DLLs are not pounding the UI thread?

  • Read the indicators continually the Subvi execution

    Greetings,

    Number of previous threads about this problem. However, it looks like all the need of huge changes to to the Subvi.

    Now, we have a bunch of Subvi programmed by different programmers, but at the end it is difficult if we combine all the indicators in each Subvi and display the values in the façade of a single main vi, without big changes for each Subvi.

    Control reference using will be a solution, with some changes in the sous-de VI, but it seems that the main vi and Subvi need to run at the same time. We cannot run only a Subvi himself then.

    Variable overall is another station, however, we have a huge amount of indicators, creating global variables for each indicator in each Subvi seems like redundant procedures.

    '

    I wonder if there is a way to create a main vi shell-like read these indicators permanently without needing to touch the inside of each individual Subvi. Or please let know us if you have better ideas.

    Thanks in advanced for any comment.

    -chen

    I was not involved in all this other discussions that you mention, so I can only go off of what you have described in your post. So the questions I ask are:

    -Don't the SubVIs run continuously (called) before the end of the application?

    -How to stop the sub live? You are reliant on the controls on the front panel (for example, a stop button)?

    If you'd rather not touch the sub live, you could put the sub sub-panels in the main vi screws. This would allow you to expose their facades, hosted in the main vi. Search for Sub panels using LabVIEW or online. It would also expost controls too, but you can customize the front of each to hide these off-screen, so to speak. There is also a VI properties that allow you to programmtically re - locate originally and resize the front panels in order to ensure the proper display.

    If this does not work for you then I think you should take a hard look at your architecture. Sometimes you can get so far from Shoemaker to things together. Look closer at all misconceptions of what a VI is actually and what calling a VI in an another VI means in fact (you're basically calling a function with some extras added as a front panel). There are ways to get what you want by programming, but they are hard work, not very easy to manage and can be more effort than other solutions.

    My strategy of choice? Use a messaging system any to communicate between your objects in your system. You have your items (hand UI, each Sub VI is a small entity of independent work of others) and you can use one of the buildings available to you through LabVIEW base (notifiers, queues, events user Global Variables (yuck), FGVs etc.) to allow these objects communicate with each other.

    But I guess you've heard all this before. All I can say is that "they are right". Sometimes there is no better solution for the bad design to re-design.

  • The indicators are not lighting on Satellite series

    The light is yellow, the others do not work. The laptop turns on, runs on battery, everything, but the indicators do not work. What can be the problem?

    Hello

    just a quick question: is your laptop work properly. (Except that the indicator thing)? If Yes, you have two options:

    1. you can accept.
    2. you can try another adapter (if available)
    3. you can try it without the battery inserted. Just remove it.
    2. you can send your machine to a service partner chartered for a checkup of material (if you need a link to find the service partner near, it's here: http://eu.computers.toshiba-europe.com/cgi-bin/ToshibaCSG/generic_content.jsp?service=EU&ID=ASP_SUPPORT)

    Otherwise I have no suggestions for you since I really Don t know what is wrong with your machine, but I guess something with your powersystem is not OK.

    Welcome them

  • stop the script with labview

    Let's say that I run a script using the "DIAdem"run script.vi"due to the demand of the user.  Later, the user wants to cancel because it took longer than expected.

    How to stop the script using labview tools?

    Jim

    Hi Jim,.

    It is possible, but not in the way I think you hope.  I don't know any way to end a VBScript script running in the DIAdem of the 'outside '.  If you have been watching DIAdem you could hit the key, but a subsequent application of LabVIEW goes in "Script stack" of DIAdem and does not run until the first VBScript happens naturally.

    Of course, you need to run all your calls of LabVIEW to Sophie in an asynchronous way, or does not.

    If you can do is set up each VBScript that you think you might want to abandon to periodically query a global variable of tiara, say "B9" and end of inside the VBScript if B9 = TRUE.  LabVIEW DIAdem (ToCommand) command interface will stack Script tiara, but variable interface of LabVIEW DIAdem (ToDataSheet) does not work.  If you can "poke" during execution of the first VBScript variable B9 of LabVIEW and influence its behavior, but only if and when this VBScript uses this variable (B9) get bitten.

    Of course, none of this helps if your VBScript is busy waiting for a simple VBScript command to run, and it helps only if your VBScript executes several activities, among which it can interrogate the variable (B9).

    Hope that helps,

    Brad Turpin

    Tiara Product Support Engineer

  • How to set the parameters of the AKD with LABVIEW driver?

    Hello

    I am looking for a simple example to set or read the AKD with Labview driver settings.

    The AKD has ethernet communication and control is analog - AKD-P00306-NBAN-0000

    I want to use Labview to read the paramerters even as Kollmorgen WorkBench

    Thanks for your help

    Thank your for your help

    I found a solution with the TELNET Protocol

  • The trio of Labview, card PT and Basler A - 610 camera F gray

    Hi all

    I'm doing a project on the merger of the camera with a PH d teacher. As I am the research assistant I can make all preliminary ups. in any case its very annoying that I'm stuck on the first step. Which is simply the video detection from one camera on LabVIEW. The equipment I use is an A-610f "basler" firewire camera, a gray PT 1394b PCI Express Card (http://www.ptgrey.com/products/firepro/index.asp).

    The basler connects with gray map of PT via a firewire cable. Now that the card is not an OR product it is not shown in the MAX I just need to get the video of LabVIEW, but I don't know where I have to access the camera from.

    I'm using LabVIEW 8.2.1 and I Vision Assistant and Toolkit Vision and Motion installed on my machine. In addition I just download demo version of the Vision Development module as well. Again for the clarification that I just need to acquire video from my camera.

    Finally ive it resolved myself!... .. The main problem was with the son of the late himself! .. I was amazed when gray pt was charging me $75 for a firewire cable because it was available in my country of origin for Rs 250 to the free market. I bought one and then started five days of immense struggle and re struggle. Finally, I thought that ive tried all means why not give it a last try and buy the original cable. I borrowed it from a firm surface and 'khatttaaaaaaak'... it works! Although I had to install the SDK of basler to view the video stream. Once the entrance to the camera was visible on the SDK. It was smooth then leave. IMAQ Max was able to detect the camera. The right software was all that remained to be installed. Once the right software has been installed using MAX. It was all great. The power of the camera was visible on max as well. I opened the Vision Assistant and he began to take the camera feed as well.

    I decided to transfer to another device in the PCI card and hooked to another quality firewire cable. The repeatition of above process ensures that the camera is fed was visible on SDK, MAX and Vision Assistant. Although permitted high-speed bandwidth continues to be a problem. Another problem which forced me to bite the nail outlet there is over and done.

    Moral of the story: use the original substance

  • Open the file using Labview 8.5 traditional NI VI

    Hello

    I want to open this VI I have attached below using the version of labview 8.5

    But when run the VI, the error message pop out as below:

    I suspect this VI to traditional aid OR component.

    How can I run this VI using my latest version of Labview?

    Thanks in advance

    Yes, you're right. This is the traditional DAQ VI.

    Install traditional DAQ 7.4.4 (WXP or W2000) and check that you activate LabVIEW support when configuring the installation program.

    PS: The LabVIEW 8.5 and traditional DAQ are not supported under W7. See here (OS<-->LV) and here (DAQ<-->LV).

  • The call of the TestStand of LabView modules

    Hello

    I have some dllmodules developed to be launched from TestStand and so the methods require a context of sequence as in param.

    But now I would call these modules on a computer without TestStand. I thought the call of LabView but is it possible? I do not have access to change the modules.

    You can use the TestStand Deployment Utility, located in the TestStand menu under Tools-> deploy the TestStand system

    In the TSDU, you can create an installer to deploy a workspace TestStand and tab of Setup options, you can even choose to include the TestStand engine in the installation program.

  • Retrieve the names of the measures of the stage using LabVIEW

    How retrieve you the names of the measures a digital multiple of the step using LabVIEW?

    I have built a vi to be called TestStand and will pass the "ThisContext', but the vi is not complie.  That's how far I got.  The vi is attached.  The error message is:

    "The method selected in the invoke node is invalid or no method has been chosen.  Click on the invoke node and select a method. »

    My vi is an attempt to write the code of

    Normal
    0

    fake
    fake
    fake

    MicrosoftInternetExplorer4

    / * Style definitions * /.
    table. MsoNormalTable
    {mso-style-name: "Table Normal";}
    MSO-knew-rowband-size: 0;
    MSO-knew-colband-size: 0;
    MSO-style - noshow:yes;
    "mso-style-parent:" ";" "
    MSO-padding-alt: 0 to 5.4pt 0 to 5.4pt;
    MSO-para-margin: 0;
    MSO-para-margin-bottom: .0001pt;
    MSO-pagination: widow-orphan;
    do-size: 10.0pt;
    do-family: "Times New Roman";
    MSO-ansi-language: #0400;
    mso-fareast-language: #0400;
    mso-bidi-language: #0400 ;}

    message.ID = 10653 in LabVIEW.  More precisely:

    Normal
    0

    fake
    fake
    fake

    MicrosoftInternetExplorer4

    / * Style definitions * /.
    table. MsoNormalTable
    {mso-style-name: "Table Normal";}
    MSO-knew-rowband-size: 0;
    MSO-knew-colband-size: 0;
    MSO-style - noshow:yes;
    "mso-style-parent:" ";" "
    MSO-padding-alt: 0 to 5.4pt 0 to 5.4pt;
    MSO-para-margin: 0;
    MSO-para-margin-bottom: .0001pt;
    MSO-pagination: widow-orphan;
    do-size: 10.0pt;
    do-family: "Times New Roman";
    MSO-ansi-language: #0400;
    mso-fareast-language: #0400;
    mso-bidi-language: #0400 ;}

    Dim MyStep ACE [step]
    Dim MyMeasurement As PropertyObject

    MyStep =
    seqContext.AsPropertyObject.GetPropertyObject ("Step", 0)
    MyMeasurement =
    MyStep.AsPropertyObject.GetPropertyObject ("Result.Measurement [0]", 0 ")

    MsgBox (MyMeasurement.Name)

    Can someone help me complete the vi?

    Thank you

    Thank you very much.

    A small change to the vi required.

  • How to save stationglobals the disk in Labview

    Hi, can anyone suggest me how to save the values of stationglobal the disk when my vi is running? I update the stationglobal property set API TS call in my vi. But when I left the TestStand and open again the old values of stationglobal are still there and not news. What should I do to update the values of stationglobal? If anyone has any sample vi please provide me.

    Thanks in advance,

    Nadie

    Try this. You don't mention the version of LabVIEW, you use so I recorded to 8.0.

  • How to change the time timestamp labview at the UTC time

    Hello

    I have table of database in UTC time field.i select and insert data in the database table based on labview timestamp controll.

    example:

    Table:

    S:no U.name PWD Epoch (UTC 1970)

    1 1450422341 123 kumar

    mock 2 786 1450421623

    the era of labview is difference from UTC time. so ADD this second 2082844800 at the time of labview that it will work for selection quary but time insert is not a job.

    Here's how to convert a timestamp of LabVIEW to a timestamp of Excel (OLE).

    Red the explainiation down and I'm sure you can figure out how to change it to get the party time you need.

  • Is the tool provided with the works of Labview 2009 with LabVIEW2010

    Hello

    I use currently LABVIEW 2010 want to know about toolkit provided with the dvd of LabVIEW 2009

    is compatible with the labVIEW 2010

    Thank you

    Check out this link.

    http://www.NI.com/support/LabVIEW/lvtool.htm

    If the required toolbox does not "(ou supérieur) ' after the requirement for 2009, or specifies LV2010 it is not compatible."

  • Open the project Veristand Labview 2012 2012

    Hello!

    I have on my maschine 2012 LabVIEW and NI Veristand 2012.

    I am trying to open the 2012 2012 LabVIEW Veristand in project. Here's the sequence that I made:

    -Open Veristand separately (Yes, I know, it can be called with the help of command line)

    -Run the vi as illustrated in the diagram below:

    -as in the photo above, I received error 1172.

    I checked in my task manager--> there is no double open veristand

    I restart my PC, repeat the same procedure--> does not work. Received the same error message.

    Someone at - it experience even?

    Thank you

    Rajamodol

    Dear Rajamodol,

    VeriStand gateway creates a TCP/IP communication channel that
    facilitates communication with the VeriStand engine on the network.

    So if you are running a project on a desktop PC, gateway VeriStand initiates the
    VeriStand engine. If you run a project on an RT target, the VeriStand
    Bridge synchronizes with the system definition file that is running on the
    Target of RT.

    If you set the gateway VeriStand "localhost".

    Kind regards
    Oleg Scherling, mengg | Engineering applications. National Instruments | NIG. |

Maybe you are looking for