Unanticipated delays, the closure of dynamically called VI

LV10.0 / WXP

A VI is called dynamically by Method VI Run (wait until done = FALSE, Auto have Ref = TRUE).

Queues are used to Exchange data with the main VI.

Closing (the main VI "stop" message), the LabVIEW VI hangs for about 25 seconds (!) with one of the processors of the machine dual-core at 100%.

Someone else met this strange behavior? Any ideas?

Thanks in advance


Tags: NI Software

Similar Questions

  • With the help of dynamically called screw in TestStand deployment

    I write code to interface with a & Rohde Schwarz ZNB Network Analyzer.  I use LabVIEW 8.2 and TestStand 3.5.  For reference the ZNB driver is available here: R & S of ZNB Driver.  I use a slightly older version of the driver, some before they needed to LabVIEW 2009.  I am writing all the code on a development machine that has the full version of TestStand/LabVIEW and it works on another machine that has the TestStand deployment license.

    This driver is dynamically linked to some things he needs.  I am able to operate with simple LabVIEW EXEs but not in TestStand deployments.  The following excerpt comes from their documentation, explaining a little about how the driver works and how to use in LabVIEW EXEs.

    3.4.2 How to generate executables or libraries in LabVIEW driver kernel drivers instrument based on attributes is dynamically bound to any VI performed during execution. This can be recognized by the LabVIEW application builder. The LabVIEW application builder follows all the static dependencies and include them in the package distributed at the generation of an executable file.

    To create an executable in LabVIEW, please manually add all the screws in the \PREFIX \_utility\callbacks folder to the LabVIEW project. In the case of project based please add private to your project folder. With this reference manual, the driver core is included in the compilation and the driver core is accessible during execution.

    I can't get this to work in TestStand deployments at all.  I can't even connect to the device since the VI Init has these issues.  I get the same error for all the various attempts that I made.  The same error is that when you add manually the screws for the LabVIEW EXE.

    Error-1073807346

    Property in Rohde & Schwarz Vector Analyzer.lvlib:rsidr_core_session_fgv.vi-> network node

    Rohde & Schwarz Vector Network Analyzer.lvlib:rsidr_core_check_error.vi->

    Rohde & Schwarz Vector Network Analyzer.lvlib:rsidr_core_attribute_write_int.vi->

    Rohde & Schwarz Vector Network Analyzer.lvlib:rsidr_core_attribute.vi:3->

    Rohde & Schwarz Vector Network Analyzer.lvlib:rsvna.vi:2->

    Example 1 setting of the Instrument 24Default .vi:1->

    Rohde & Schwarz Vector Network Analyzer.lvlib-> efault Instrument Setup.vi

    Rohde & Schwarz Vector Network Analyzer.lvlib:Reset.vi->

    Rohde & Schwarz Vector Network Analyzer.lvlib:Initialize.vi->

    Connection of ZNB testing.VI

    VISA: (Hex 0xBFFF000E) the given reference of session or the object is not valid.

    So far, I tried the following, all solutions producing this same error.  I struggled with this and turned off for awhile then maybe there are other solutions attempts I forget.

    (1) it looked like a lot of the report to go to the private folder were finished in SupportVIs.  I manually pasted the rest there, too.

    (2) I added all driver files on my workspace and included in the files with the rest of my deployed screws.

    (3) I added all driver files on my workspace and said pilot TestStand to deploy them to the original location in Program Files.

    Someone at - it ideas?  R & S didn't even know what was TestStand, so that they could not help me.

    I was finally able to solve this problem on mine, the other day.  I brought the Network Analyzer to my office and did a lot of tests in this way.  Eventually, I discovered that I needed to include the folder private pilot deployment, what I was doing in one of previous attempts.  It turns out that you must also maintain the original of this file directory structure when you include it, otherwise dynamic calls are not looking in the right place.  Once it worked on my PC, I got it on the machine test and worked as well.

  • Switch on the dynamic call

    I use packet sniffer example in my code with a few changes to calculate the delay of my data.

    I need to make a dynamic call to run this VI at some point my main code and stop at another point.

    Just to test I put some delays between market, stop and get the time as below:

    But in VI that I call, the stop button is inside a structure of event... like here:

    So... even if I try to stop the VI in my dynamic appeal, it seems that my VI will not read this change... only read if I manually stop the VI.

    so I try to stop at the first VI but does not stop... what could be a solution for this?

    Thank you

    Thai

    Problem solved. I just inserted the stop button in the same case where is Timeout, now I can guarantee you that this value will be read.

  • Dynamically call DBMS_XMLINDEX to delete the setting and exit with the exception

    Hi all

    I am trying to create a procedure to dynamically call DBMS_XMLINDEX.dropparameter.
    If the parameter doesn't exist no then gracefully exit with the exception as "the parameter does not exist.
    But I keep getting errors because of the dynamic passing.
    Procedure is something like:


    Create PROCEDURE drop_parameter (p_parameter IN VARCHAR2)
    IS
    no_parameter EXCEPTION;
    PRAGMA EXCEPTION_INIT(no_parameter,-12004);
    BEGIN
    RUN IMMEDIATELY ' DBMS_XMLINDEX.dropparameter ("| p_parameter |") ';
    dbms_output.put_line ('abandoned parameter');
    EXCEPTION
    WHEN no_parameter THEN
    dbms_output.put_line ('parameter does not exist');
    END drop_parameter;

    For the implementation we can try to create the parameter in the form:

    BEGIN
    DBMS_XMLINDEX. () REGISTERPARAMETER
    'Param1 ',.
    ' PATH TABLE PathTB1
    Paths (INCLUDE (/ a/b / c))
    / d/e/f
    ))
    ');
    END;
    /

    The setting above should be deleted or if not existing, then exit gracefully.
    Please suggest.

    Thank you...

    You test the incorrect error code...

    ORA-12004: http://docs.oracle.com/cd/E11882_01/server.112/e17766/e9858.htm#sthref3299

    Try with ORA-44737, for example:

    SQL> set serveroutput on
    SQL>
    SQL> BEGIN
      2  DBMS_XMLINDEX.REGISTERPARAMETER (
      3  'Param1', 'PATH TABLE PathTB1 PATHS (INCLUDE ( /a/b/c /d/e/f ))');
      4  END;
      5  /
    
    PL/SQL procedure successfully completed
    
    SQL>
    SQL> CREATE PROCEDURE drop_parameter(p_parameter IN VARCHAR2)
      2  IS
      3    no_parameter EXCEPTION;
      4    PRAGMA EXCEPTION_INIT(no_parameter,-44737);
      5  BEGIN
      6    DBMS_XMLINDEX.dropparameter(p_parameter);
      7    dbms_output.put_line('Parameter dropped');
      8  EXCEPTION
      9    WHEN no_parameter THEN
     10        dbms_output.put_line('Parameter does not exist');
     11  END;
     12  /
    
    Procedure created
    
    SQL> exec drop_parameter('Param1');
    
    Parameter dropped
    
    PL/SQL procedure successfully completed
    
    SQL> exec drop_parameter('Param1');
    
    Parameter does not exist
    
    PL/SQL procedure successfully completed
     
    

    (and even once, you do not need code dynamics)

  • dynamically called vi, PDM invalid file reference

    Hello

    I can't explain a strange behavior, I hope someone can give me a hint.

    First of all, do not ask why I need this way to go, I would like to understand why this is happening.

    We have a FGV which has 3 actions: Init, write data and close. It works on the TDMS files. The action of the init creates a TDMS file reference that is stored in a shift register to be prepared, used by writing and finally narrow cases.

    Everything is OK, if I use this FGV simply in a main VI directly from the block diagram. So that I can init, write data and finally close the PDM file.

    However, for some reason, appeared a new requirement: to be able to 'Init' and 'Close' the TDMS file using the FGV, but within a dynamically called VI (a pop-up window that may not stop the execution of the appellant).

    So in primary VI, I call dynamically VI one another by using the asynchronous call (flag x 80, "call and forget" method), and it dynamically called VI fires the FGV TDMS.

    When I probe the reference of TDMS files, I can see that it gets its value correctly after the case 'Init' of fire. After this 'init' which happened (from Dynamics called VI), a location in the MAIN VI starts calling this FGV with enum action 'Write '. I can see via sensors, the case of writing Gets the same number of REF TDMS file which has been stored in the shift register after the case 'Init '.

    But even so, the VERY first function TDMS write throws an error msg "TDMS file invalid reference '! How is it possible, if the file reference is OK and the same as that created by the function 'File open TDMS' in case 'init '?

    Again, if I execute 'init' action also directly the main VI, not a third dynamically called VI, everything is OK, it works.

    I hope that my explanation is not too bad

    Thanks for the tips and if no idea, I'll try to recreate/replicate this behavior in a test project that is small, and I'll post it...

    The problem is that when the dynamic called vi stops all references that he open invalid.

    To see what I want to say, change the dynamics vi delay like 30 seconds before she stops, the savings loop works fine until the dynamics vi stops, then the error returns.

    Mike...

  • Dynamically call a demon or an actor VI in TestStand

    Hi all

    The context:

    • I have a non-reentrant VI that must run in parallel to a sequence
    • This VI is opened and closed several times during the tests.
    • I close the VI sending him a pending request as it closes.

    It seems to me that there are two ways to start the VI:

    • Have TestStand call a LabVIEW VI that launches the dynamic VI. This could be the static node in the CGRA or an invoke node using a ref VI.
    • Use the asynchronous step "Run VI" in TestStand type.

    Right now I use the step "Run VI" asynchronous. I do not use the option "Reserve loaded live for execution", and once from time to time I get the crash 'TestStand sequence editor has stopped working ".

    My questions:

    1. With regard to memory management, which is the best way to put in place my use case? Is it better to have LabVIEW make the dynamic call or TestStand call dynamic?
    2. What is the difference in between both of these memory management works?

    Thanks a lot - suggestions are appreciated.

    Mr. Jim

    Let us know how it goes with the movement of the sous-suite.

    Basically the call run VI Asynch just dynamically create a sous-suite and qualifying in a new thread.  You can view it in the definition of step Type in one of the PreSteps.  But using the subsequence you eliminate the part of the dynamic generation of it (I've seen topics with, similar to what you describe).

    Good luck

  • Is there a way to store the State of the vi loaded dynamically without resorting to tricks Subvi?

    I have a VI to open a UDP connection, data recovery, and then close the connection:

    Set the State to 1 opens a UDP connection.

    Definition of State 2 retrieves a UDP packet. Most of the boxes above is for the manipulation of data.

    Placed at 3 farm the UDP connection.

    Now, calling this vi as a sub - VI works fine:

    But calling the vi dynamically only:

    The second call inside the while loop will raise an error. Apparently, bibliographic are not valid from one call to the other when you call a vi loaded dynamically. What I need to know is, is there a convenient way to get around this?

    Hello

    The call dynamically a VI within a while loop can be pretty bad in terms of performance and I'm not sure it's a good idea.

    But if you really want to do this, using the function "Call by reference node" would be more appropriate in your case (you can find some examples easily).

    Best,

    J.

  • Re-use of dynamically called code of target in real-time on PC

    I have a code that is deployed on a target in real time what I call dynamically. I also want to use the same code dynamically on a PC in the same project.

    This works very well when you run interpreted code in form. However, I can't add the dynamic called VI to build on my PC specification if the VI is under the aim of RT in the project. I can only include it in the build specification that is in conjunction with the software to the target of the RT.

    How can I use this VI dynamically in the ad for the construction specifications and places without having two copies of it?

    I actually found a way using a static reference of vi:

    Rather than providing a path to the file of the 'open' vi reference, simply load the VI statically and I then enter its name to open an instance, re-entering. This approach has the advantage of process Dynamics called VI as if it was dropped on the block diagram - I don't have to explicitly include the vi file in the build specification.

  • Injection of the event to answer call waiting

    Hello

    I am trying to answer a phone call using injection of the event, I saw a few discussions about this, and it seems that the method I use is correct is a sense. I can answer a call on callIncoming, but not on callWaiting. I can answer both using the Simulator, but the device does not respond on callWaiting.

    This is my method:

    In callIncoming/callWaiting, I create a timer with a delay of 100 ms, which calls a function that sends KEY_SEND up and down events. Simple, but it only accepts a standard appeal, not an appeal pending.

    Can someone advise?

    Concerning

    Lionel

    Figured this out, increasing the timer time solves the problem.

  • Delay the start of an application

    I have a request for automatic enforcement, I want to delay the star of this application.

    Here's a suggestion:

    When your application first starts, call scheduleApplication to start your application at some point in the future, and then store a value (such as restart = true) in the PersistentStore (to prevent you from doing this twice).

    ApplicationDescriptor thisApp = ApplicationDescriptor.currentApplicationDescriptor ();
    ApplicationManager.getApplicationManager (.scheduleApplication) (thisApp, System.currentTimeMillis () + 60100, true);

    On the second startup, remove the persistent store value and allow the application to run.

  • Download this message when I try to run Lightroom. Point procedure entry AgTransitCargo_pushTransitCargo could not be found in the AgKernel.dll dynamic link library - system: windows 7 64 bit is no error in the log file

    Download this message when I try to run Lightroom. The procedure entry point AgTransitCargo_pushTransitCargo could not be found in the AgKernel.dll dynamic link library

    system: windows 7 64-bit

    There is no error in the log file.

    no error in scannow at the command prompt.

    errore lightroom.jpg

    Hi Michela,

    Lightroom makes a call the the AGkernel.dll file, but the file isn't sure what to do because it can't find the line of code within himself to answer. This can happen for several reasons, that fall within these two broad categories: AGkernel.dll is damaged and must be repaired or AGKernel.dll version is incorrect and should be updated to the correct version.

    Here are some things you can do to fix the file:

    -Record again with Windows AGKernel.dll: https://support.microsoft.com/en-us/kb/249873

    -Windows repair: https://support.microsoft.com/en-us/kb/929833

    -Install all the updates that are available for Windows: Windows Installer updates

    -Uninstall and reinstall Lightroom

    Kind regards

    Tanuj

  • How can I keep the workstation user interface log after the closure of the workstation?

    Hello

    On a Windows host, the newspaper of the UI for desktop is called vmware - < user name > - < PID > .log and is stored in the user's TEMP directory. Now, I got a problem that occurs during the closing of the workstation. I want to check the log to see what's happening, but the user interface log is deleted automatically after the closure of the workstation.

    Is there a way to tell the workstation no do not remove the log of the user interface? Thank you.

    Well, can you try this?

    %AppData%\VMware\config.ini to edit and add:

    UI.log.FileName = "C:\some\path\to\logfile\vmui.log".
    UI.log.Keep = 'TRUE '.

  • Get the converted HTML (dynamic converter) content of external application

    According to the requirement, external application (java application) assume to get dynamic content (HTML version) converted from the Complutense University of MADRID.
    I am trying to run the GET_DYNAMIC_CONVERSION service with call of web service client and CRMI.
    I see no content HTML is coming as the result of the GET_DYNAMIC_CONVERSION service.
    Could you please guide me in getting converted HTML document to external application.
    Let me know if you need further details.

    Thanks in advance

    Published by: 958795 on Sep 12, 2012 15:29

    Thank you, Ryan. Keep right em... :-)

    IIRC, by default, when the call to this service via RIDC, will get you service data returned back to you in a format of .hda.

    Add "IsJava = 0" to your request for the HTML code instead, for example

    binder.putLocal("IsJava","0")

  • How to define the event handler dynamically generates?

    Hi all

    Usually we add event like this:

    myCanvas.addEventListener ("click", onClick)

    How can I configure the second parameter so that I can add the Manager click dynamically?

    For example, I clickHandler1, clickHandler2 functions.

    And another variable fname: string will be contains value1, value2,...

    Thank you and best regards,

    If you read my post above and apply it to your specific situation, you should be able to solve it. The example I provided shows how to pass and call a function by name. If you already have a reference to the function, you can simply modify the string parameter and pass directly to the function.

    If you are still having problems getting this, please provide an example of what you're trying to do, we can show the solution in context.

  • process on the main window to stop running after the closure of a modal dialog box

    Hi everyone, I am new to Oracle Forms so any help would be appreciated.

    Here's the scenario: I'm on MY_MODALESS_WINDOW and run a trigger that looks like:

    ================================
    execute_trigger ('TRIGGER_1');
    If form_failure then goto FAIL; end if;

    show_window ('MY_MODAL_DIALOG');
    synchronize;
    raise form_trigger_failure;

    execute_trigger('TRIGGER_2);
    If form_failure then goto FAIL; end if;

    < < FAIL > >
    null;

    ================================

    -No error in compilation.
    -Here is the number: TRIGGER_2 has never been called/executed after the closure of the MY_MODAL_DIALOG?

    Thanks again,

    Published by: user12216598 on March 12, 2010 09:07

    As I said before, open a modal window does not stop execution of the current procedure. If you need this behavior, put your modal window and all its components in another form module and use CALL_FORM to open this form. Then the execution stops at the CALL_FORM statement and and will continue after the CALL_FORM when you leave the form called.

Maybe you are looking for

  • HP 15-r022tx Notebook PC has no driver support for windows?

    I think to buy a computer laptop 15-r022tx flipkart HP and it comes with free back installed on it. But I want to install windows 7 on it and have the drive to it. But I'll take not all pilots, and so I looked for the drivers and downloads on HP supp

  • How to remove screen on Equium L350D?

    I would like to know how to completely remove the screen on Equium L350D?

  • Council dv7 Intel processor

    Hello If anyone can help with information on what heat sink represents the map intel 600863-001 for HP DV7 Thank you

  • HP 8600: 2 Facer printing

    I have no problem with 2 back of my Apple computer, but I can't print 2 sides when I feed a document both sides in the HP 8600 printer.  Even if I think that I select the two print side 1 option only on the side of prints.  It's as if I'm just doing

  • How to get MAC address?

    Hello How can I get MAC address of the device's wifi network programmatically? concerning