Control the order of execution of the init/release

I have a small program that I write in LabView.  It has an API (one set of screws to wrapping the functions of the DLL to control a device).

Other such programs in the Gayshop make liberal use of the structures of the sequence.  I understand that the sequence into LabVIEW structures are not usually recommended.  I am writing my program with the best style of LabVIEW (as far as I understand - I'm still a relative novice in LabVIEW).

I found that I could wire together the error / mistake Terminal to create a data flow to control the order of execution and it works beautifully.

However, there are some cases where it is not enough.

Here is an example.  I hope that the answer to this will answer my other questions.  If this is not the case, perhaps that I'll post more.

One of the first live I call is an Init function.  One of the last screw is the release function.

The release function must be called at the end, after the rest of the program executed (in this case, it is after the user requests the stop).  It should be naturally at the end (or almost) of the error string in / out connections error (as it is currently).

However, the error it receives, which will determine whether or not he will run, should be the output of Init.  Release should work even if something else has failed.

I enclose a photo showing the problem, with most of the code snipped out (as exactly what is happening in the middle is not relevant).

What is the elegant way to handle this in LabVIEW.  Is it really a deal for a structure of the sequence, or is there a way more pleasant or better?  How would you recommend handling?

Thank you very much.

BP

I agree with what pincpanter said, more you will need to use the status of the function 'Init '.

Note that you can ignore the error and make the merger within the Vi version if you wish.

Steve

Tags: NI Software

Similar Questions

  • I want to open links, I click on to appear among the tabs at the end (to the right) of my browser. Is there a way to control the order of the tabs?

    I find it confusing that when I click on a link, the new tab for this link opens somewhere in the middle of my line of tabs. I would have preferred that the new tabs would appear and the (right) end of the alignment of the tab. I see no way to control the order of tabs in Firefox. Is there a way to accomplish what I want?

    Type of topic: config in the URL bar and press ENTER.

    Answer Yes.

    Filter = browser.tabs.insertRelatedAfterCurrent

    Double-click this preference to activate it false.

    Then restart Firefox.

  • Y at - it a State chart type or the flowchart describing the order of execution process model?

    One of my clients asked me this question...

    I have a problem with a change in the order of execution in TestStand 4.1.1.  [he has improved from 3.1 to 4.1.1]  It seems that ProcessModelPreStep runs earlier in 4.1.1 to 3.1.  This causes our model of error because some required variables have not been set when executing.  I wish that was a big flow chart or a diagram of the State for TestStand.  Maybe it is and I don't know where to look?

    The reminder that you describe is a reminder of engine and is independent of the process template.  There is a list of all actions and their order described in the TestStand reference manual in Chapter 3 of the section called "step Execution.  You will see the action 11 is a reminder of previous step motor.

    P. Allen

    NEITHER

  • Can the Format date/timestring service that can control the execution of the loop to a VI?

    Can the Format date/timestring service that can control the execution of the loop to a VI?

    Example,

    a VI is running at August 25, 2010 and print a txtdata(3)) '100825.

    Then follow when time system running at 2359hrs, August 25, 2010 at 0000hrs, August 26, 2010.

    and print a txtdata(3)) '100826.

    How?

    When the system changes a new date, problems occur.


  • Control the order in which the tools are displayed

    Hello

    I have developed a number of folder level JavaScripts.  Each JavaScript displays a button to launch under the "additional tools".

    I was hoping that someone could tell me how I can control the order in which these buttons will be displayed.

    Buttons are displayed in alphabetical order according to the 'cLabel '?  If they are listed according to the date and time the file was created or modified?

    Is there an optional parameter to set the order?

    Thank you

    Linda

    Hello

    Actually, I figured out how to control the order in which appear the buttons below "additional tools".

    There is an optional parameter for app.addToolButton called NPO: which can be used.  I think that the lower the number used, the highest on the list, the button will appear.  This kind of work.  The list of buttons re - arrange themselves, but not exactly the way I wanted to.

    Another thing I did was to rename the JavaScript files. I went before the first file name with a '1 '.   The second file directly under the first I preceded it's name with a number '2' and so on.  That seemed to do the trick...

    All I had to do was probably to rename the JS files with the '1' and '13' numbers and buttons with appear correctly.

    Thank you

    Linda

  • How to control the order of showDetailItems in panelTabbed programmatically

    Hello
    Is it possible to control the order of the showDetailItems in panelTabbed by programming? I want to can I mix the showDetailItems.

    Thank you
    Romaric

    I have not tried this, taking a few clues of this blog-
    http://www.javaoracleblog.com/Java/Dynamic_Tab_Implementation_in_ADF.JSF
    Probably putting the index of children panelTabs could help.

  • Control the order of (date of entry-boxes)?

    I have several < cfinput > controls placed vertically (using an HTML table).  They are 'date' with the beautiful calendar drop-down fields.

    Problem is... when the calendar comes down, it goes down behind the calendar under control.  This obscures the bar the name of the month and almost prevents access to the buttons previous/next month.

    So I was wondering: is it easily and conveniently possible to control the order of the drop down calendar, so that it appears in front of all?

    (P.S.  As usual, "it works fine in FireFox and breaks in IE."  No surprise there...)

    This work around should solve the problem (even though its boring that we have need of a workaround for this):



     
     
     
     
     
     
     
     
     
     
     

    Date 1
     

        
     

     
    Date 2
     

       
     

     
    Date 3
     

       
     

     

  • Trying to update channels in real time while controlling the Agilent 34970

    Hi all

    I got Aussie help on these forums and I hope that someone will be able to point me in the right direction with this problem. I'm still fairly new to LabVIEW please bear with me.

    I work with the LabVIEW driver for the Agilent 34970 connected on a GPIB-ENET 100/1000. The device was detected and works very well. The reason why I am writing today, what I'm trying to update the list channels in real-time. Currently I need to stop the whole process in order to modify the list of channels, but due to the nature of the tests we will occur, it is important that I can add more channels I want without interrupting the ongoing trials.

    I searched the forums and tried to change control of chain of channel for "Update of the value while typing" and "limit to the only line." The motivation behind the change of the latter was so that I could change the channel list and use the ENTER key to run. I also tried to create a while loop with shift registers but construction ws so clumsy that it does no more.

    I am sure that the change must take place as soon as the control of the chain, but is not certain since the pint is so he can reset which channels to scan and which appears lower in the VI. I have attached the VI I work with; It is a slightly modified version only Advanced Scan example of the driver.

    Thank you in advance,

    Yusif

    You might have added a registry to shift, but you're not actually compare anything. You compare the value of the control to the value of the data coming from the shift register to see if it has changed. If so, change the scan list.

    If you need to have a delay after you change the scan list, then you must add the delay within the business structure that calls the VI to reconfigure the scan list. You can use the late VI period causes the delay occur after you set up the analysis using the wires of the error to force the order of execution.

    P.S. Your naming scheme for screw means that you probably use a source code control system. If so, you would be well served by taking the time to discover the source control systems and installing a. It is very easy, and he has had several discussions in the LabVIEW forum on recommendations of source code control systems.

  • How to use Labview to control the motorized turntable?

    Hello

    I am new to Labview and do a project that requires the use of labview to control the motorized turntable (XYZ axes). I need to use the Labview programming and have no idea at all. Need help, thank you very much!

    Lei,

    Everything said by others is correct and to do because they describe, at a given time. But I always approached these projects of motion control first by looking at the 'motion controller' (I hope you have a) and 'drivers' (what you need) between the computer/LabVIEW and engines decide what communications will be required for these devices and get an idea of the syntax of command and the language to use with them.  In some cases, the controller and the motor driver are integrated in a single unit. Heck, in some cases, they are even integrated with each engine.

    The motors can be the stepper motors or perhaps servomotors.

    In the case of drivers stepper (devices that provide power electronics to run the engines), many of them are run using only two control signals for digital called 'step' (a pulse train) and 'direction' (high-low level) and if it is possible to generate directly with the PC, it's an order of magnitude easier (if you have not already a library of available motion control to manage the generation of these signals and) the execution of the stepper motors) of having a "Motion Controller" between the PC and the "motor".  Engine drivers step by step usually can be configured that current engine and the size of the stage and sometimes for the other plus-moteur/driver-parameter setting. The configuration of these can be made with jumpers, switches or, for some drivers, with orders ASCII on some sort of port of communication, but in general these are values you download the installer once at the beginning and then never touch again if you do not need generally to have a full time available on their change communication path.

    In the case of the actuator drivers (once again the devices that provide power electronics to run the engines), many use a +/-10V control input analog signal, and, again, while it is possible to generate the signal directly with the PC hardware, a separate axes controller is usually much simpler and more robust.  In the case of a servo system, there is also a signal back to an encoder or resolver attached to the engine to be used by any device will exercise the motion controller in the system.  There are once again associated with the driver configuration parameters (and controller in this case, since it is part of the servo feedback loop) which must be configured at the start but once set up properly, they rarely need to be changed again.

    A movement controller which is separated from the PC often manage several drivers, and can often coordinate a movement between them. It will load the rise up/down of the engine speed as that changes. It will be followed by position of each motor. The servo system, but it will take the feedback signal and use it to adjust the speed/position/torque of the engine. The motion controller also deal with race and home or index of signals is usually on most lines of movement and provide information of the State of the switch to the PC.   To run the motor controller is then just a matter of chaining a set commands of (usually ASCII) to indicate how fast to run and how far to go (and direction) and by sending a command "do it." Then, ask you to keep track of the status of the process and the States of the switches.

    In many cases the builders of controllers of movement are a primitive way to communicate with the controllers of a PC with no additional software other than what they offer. With this you can at least have an idea of how different the controller commands and responses they produce. That you can start to build sequences of commands to perform the actions you want.

    You can then add LabVIEW to the mix and to understand how you can get it to send sequences of similar orders on the paths of communication that are available and respond intelligently to the information it receives in return for motion control.

  • What are the objects javafx can be built in the init() method?

    I have consulted the api javafx2.2, it says:

    Threading

    JavaFX creates a thread of the application for enforcement of the startup application, input events processing method and execution of the animation chronologies. Creation of JavaFX Scene and Stage objects as well as the change in the operations of scene graph to living objects (objects already attached to a scene) must be made on the JavaFX application thread.

    Request of the manufacturer and init method is called on the thread of Launcher, not on the Thread of the JavaFX Application. This means that an application does not build a Scene or a Stage constructor or in the init method. An application can build other objects of JavaFX in the init method.

    But exactly what javafx objects can be built in the init() method? if someone could make a list? Now I know, what objects except the scene, scene, Tooltip, ContextMenu, HTMLEditor and WebView. Is this good? Are there still other objects that cannot be built in the init() method? Thank you.

    Things that need to be created on the JavaFX Application thread (cannot be created in init) are:

    1 WebView.

    2. anything that involves the creation of the window (balloon, the ContextMenu etc are all from the windows popup in their internal implementation).

    Jira related question:

    RT-17716 some controls cannot be created on the FX application thread

    There are workaround solutions in the comments to:

    RT-25127 ToolTip the tab (and other controls) cannot be defined in FXApplicationThread

  • How to control the rendering of the tab character in a TXT file?

    When I browse a TXT file, the tab character is rendered in order to look a lot like 8 places. Is there a way to control the apparent number of spaces in the rendering? Yes, I know that things like

                   pre { tab-size: 4 }
    

    in CSS3 could control this number in the rendering of HTML elements, but I want a control similar to a TXT file.

    Or if you want to use CSS, this bookmarklet will insert the style rule on the page:

    javascript:var r="pre{-moz-tab-size:4;}"; var s=document.createElement("style"); s.type="text/css"; s.appendChild(document.createTextNode(r)); document.body.appendChild(s); void 0;
    

    (Note that at least for now, you must prefix-moz - on the size of tabs in Firefox.)

  • Siri can control the functions of the phone

    For about the last week or more (probably since the last update) when I ask Siri to perform tasks that control the phone such as "that the timer, call me back, set an alarm, etc." she said "Sorry I can't do that right now."  A reboot solves the problem temporarily, but the problem comes back shortly after.  When you have learned to rely on Siri to these functions, it becomes incredibly annoying.

    iPhone 64 GB 6s

    iOS 9.2 (13 c 75)

    Hi Macidiot_1979,

    If you are having problems with Siri understand your voice commands, take a look at the troubleshooting steps in this article.  For example, what happens when you turn off the Wi - Fi and order Siri using your cellular network?  Take a look at these steps and answer if the problem still persists.

    Use Siri on your iPhone, iPad or iPod touch

    Help with Siri

    • If "Hey Siri" does not work, make sure that "Hey Siri" is turned on under settings > general > Siri.
    • Could Siri say, "Sorry, I have problems connecting to the network", or "Try again in a few moments." It is probably a problem with the network. Check your Internet connection and try again later.
    • If Siri is not available or responding to questions, see the next section.

    If Siri is not available, or do not understand or answer questions

    After each step, see if you still need help:

    1. Make sure that your iOS device has an Internet connection via Wi - Fi or cellular data.
    2. On your iOS device, make sure that Siri is enabled under settings > general > Siri.
    3. Restart your iPad, iPhone or iPod touch.
    4. On your iOS device, go to settings > general > Siri and turn off Siri. Then turn on again.
    5. Ensure that the microphones on your device are not blocked. For example, if your device has a protection case, remove it.
    6. If you use an iOS device, try to use Siri with headphones. If the works of Siri, get more help with the microphones on your device.
    7. Contact Apple support.

    Happy holidays!

  • To control the shutter SC10

    Hi all, I am an amateur and very new for driver, Labview, and programming with pilots. But now, I must create an amplification in labview to control the Thorlabs SC10 to the shutter. I try to read documents about Labview but not all count.
    Please tell me what can do starting from the connection to the writing of this aplication!
    I think I'm in the despair of my quality
    Thank you very much for your help!

    My e-mail address: [email protected]

    This link to shutter SC10:

    http://www.mediafire.com/?ctjdc32nqpzhkbw

    Hello

    According to the manual, SC10 shutter can be controlled with a RS-232 connection.

    So the first step is to build (or buy) the cable if you don't already have in order to connect the shutter to the PC.

    Then, in LV, you will need to learn how to send messages to RS - 232. You can do it with the functions of the VISA. Search for "RS232" in the finder example LV.

    To learn to communicate in RS - 232, you can also connect 2 PC together, send message with LV and receive with the Windows Hyperterminal.

    Then he must know exactly the syntax of messages RS-232 you must send to the shutter (each instrument has its own set of 'orders').

    Finally, you will code the application LV using while/for loops, the sequence structures, structures case...

    Good luck!

  • How to control the output voltage?

    Good time after some time can get the output voltage, but this value is alwayscontinuous. How to control the voltage output through a Boolean? In

    in order to get this tension when I want to.

    Greetings.
    Hugo Santos

    Hi Hugo,.

    If you use a LabVIEW project, you must set the time of sampling in the properties of the node (see SamplingInterval.png). But this time to refresh the data should be high enough. If you take into account this update of time trying to control your way out.

    Kind regards

  • How to control the mouse cursor using EEG signals

    Hello world

    I am doing a project of cursor control using EEG signals. The idea is to find a way to all signals in a specific period of time in order to find the signal Ridge. Then, the highlight will be a parameter to control the position of a cursor.

    Can someone tell me the function that allows you to control the mouse cursor?

    I also found an old topic asking about it (http://forums.ni.com/t5/LabVIEW/Moving-Mouse-using-Labview/td-p/1285842) and I run an example of this link ( smercurio_fc) program. My cursor is stuck in the upper left corner of the screen, I can't control it again. Can you tell me how to run this program and to use the windows API?

    Thank you in advance.

    Sorry, but I can't do it for you.

    As I advised, you should take the free online tutorials. You clearly lacks the basic concepts of LabVIEW, as data flow.

    Things more: in your real applicaton does not use DAQ Assistant, screw Express are generally not optimal for data acquisition. It is safer and better use good DAQmx live. What is the equipment you use? Sampling rate, etc.?

    Why do you need to read data files? For testing? I thought that you will acquire data active, right? In your VI generate you some signals and write in a data file. Is this also for testing?

    There are several constructs in your VI which simply don't make sense.

    So again, I really suggest to go through online Core1-2 teaching material, which is accessible if you are a student, or if you have shared services provider license... It will really help.

Maybe you are looking for

  • App Store on MacBook Air, Apple ID that will not, cannot update apps

    I have a working computer that has been used by the previous Manager and I want to update the programs, but when I do he wants me to connect with the apple of the other person ID. I connected with my Apple ID and it shows that I'm beneath me. I had t

  • Satellite L850 does not start

    Hi, I have problems with my L850-150 The thing is that it does not start. Power led turns, Nums Lock led turns, fan comes on and does nothing more, so it is not a power supply problem. I read in this forum that the bios update could solve the problem

  • How can I return to mountain lion or lion?

    I'm not like El Capitan. Whenever I start I have to go into the settings of the mouse and reverse the dominant click and it seems slow and lazy on my old iMac. The only reason why I upgraded was because I received messages on my browser Safari is not

  • Find physical limits without limit switches.

    Hello I have a mechanical system which is operated by a motor without Stricker of CC of enslavement. It is a very small system and close is not possible to place the micro swithces in it. But I must find its limits before and back. How can I find its

  • NET USE error: '67 system error has occurred. The network name cannot be found. »

    Original title: NET USE worked for error. OK I used the following with a RDP'ing of XP in a server of S2k3 years: NET use lpt2 \\SERVERNAME\printername /persiternt:yes now, I get a "system error 67has has occurred. The network name cannot be found. »