On demand Save and Recall Control Values, Elegant solution

I have a developed a sub-VI that will gather ALL of the information (metadata) for each Control save it to a file to be retrieved later.  This is very useful to recall user-specific layouts after a power outtage, for transfer to another machine etc...  Could be easily modified to recall a default setting file as well.  NOTE: cannot save or recall Boolean Latch data.
Hope this is handy.  Let me know what you think...
Thanks
Dan
Attachments:
save and recall settings.vi ‏25 KB

The LabVIEW Idea exchange is to propose and vote for ideas to be implemented in future LabVIEW versions. Are you expecting NI to implement something similar in the future? If you are just showcasing a programming example, the LabVIEW forum might be a better place. Please clarify.
LabVIEW Champion . Do more with less code and in less time .

Similar Messages

  • Anyone advise me on how to save and recall the satate information of a cluster of combo boxes?

    I have a set of combo boxes saving a devices state information. I would like to save and recall all the selections. I know there are properties to access the selected items, but searching about, I'm not sure the technique to do this. I would like to save/recall in XML format. I made an attempt and it saved the combo box data, but not the selections. Thanks for any help.
    Solved!
    Go to Solution.
    Attachments:
    TestStateXmlSave.vi ‏22 KB

    I'm not sure what you mean by a bool of array.  There are no booleans in your program from what I can see.  If I understand you correctly, your trying to read the individual elements of your cluster control, is this right?  You can do this using Property nodes.  This is just and example.  Let me know if I'm off base. 
    Use a For loop to process your elements that you want to save.  I would consider using an Event structure for your main VI.  This will do what you are trying to do here, and it will be more compact, cleaner, and more scalable.
    Reese, (former CLAD, future CLD)
    Some people call me the Space Cowboy!
    Some call me the gangster of love.
    Some people call me MoReese!
    ...I'm right here baby, right here, right here, right here at home

  • Query property "Save and reuse variable value" doesn't work in BW EHP1

    We have a workbook which contain 4 queries, every different worksheet is a different query.
    All the queries are on the Same InfoCube and all the queries use the same variables.
    In the properties of the query n.2 we set the parameter "Save and reuse variable values" then we refresh the 1st query and all work fine (the system asks the variable values) but when we refresh the 2nd query the system doesn't use the same variable values that we have inserted for the query n.1
    We don't have the same problem in 7.0.
    Any help is appreciated.
    Luca

    Hi,
    I suppose, you need to set the 'Save and reuse variable values' for each query individually in the workbook. I am not sure however there is a option where you can specify to apply the settings of one query to all queries in the work book.
    Please check and hope it helps.
    Regards,
    Adarsh Mhatre

  • Display Report Level Filter value and Input Controls Value

    Hi,
    Please let me know how to display Report Level Filter value and Input COntrol values in the report.
    I have 2 tabs in the WebI Report. The first tab has the summary details about the other tabs like reprot desc, prompt values, reprot filter values,etc.
    In the 2nd tab I have the actual report which has input controls defined, prompt values and global level report filters.
    Can anyone please tell me how to display the Report level filter values and the Input Control values in the first tab report.
    For ex: Tab 2 has a Report level filter: Region = NA
    I need to display in Tab 1 in as Region: NA
    I used the function ReportFilterSummary but that is giving me other details, I want only the object name and the value.
    Also how to dispaly the Input Control values in the tab 1.
    Please let me know if you have any suggestions for this issue.
    Thanks

    did you try
    =ReportFilter([Year])
    if you are making report filter over the year, it will return the value of the filter
    by the way, the filter should be applied over all the report not to a specific block to be able to get the correct value
    the Input control also considered as report filter, only if you're applying them on the level of the report, if you applying an input contron over a specific block or chart, you will not get the values for ReportFilter
    good luck

  • How to save and load control's values

    Hello,
    Thank you john and evan,
    I use, as you've understand, the invoke node "get all control value variant", and i want to change the format of the output array in order to save it an load it later to get back the configuration of my VI. For the moment i've try as john tell me with the data manipulation's functions and it's not runing. I send you an example of the code that i read in the array it's a string for controls name and a variant for the values.
    I don't really now in what format i must change them to load it later with the invoke node "set control value".
    Regards
    alexis (sorry for my awfull english)
    Attachments:
    Sans titre.vi ‏56 KB

    Hmm, the attachements didn't attach so here's another try:
    Attachments:
    Restore example.jpg ‏40 KB

  • Save and recall front panel configurat​ion on FPGA

    First of all, I am a first time user of Labview.  The application is with an FPGA on a NI-9146 board.
    My question is, I would like to save the front panel settings when I exit the application, then recall them the next time the application is started. 
    Seems to be a few ways to do this but are not supported with the FPGA module. 
    The application is fairly straight forward timing and the Windows host PC will provide a GUI to the operator.
    Solved!
    Go to Solution.

    Someone may correct me if I'm wrong, but this task is more tedious then it needs to be.
    The normal way of doing this on the FPGA is to plop down a FPGA read function for every control on the FPGA front panel, then write them to a file.  Probably using an OpenG function, but really something like the binary write would work if you don't expect to add/remove items.  Then when the application starts you need to reverse the process ploping down a FPGA write function for every control.
    Now there is a slighly easier way that in theory works in a limited use case.  The FPGA VI when running is just like a normal VI and you can get a reference to it.  Here you could run the OpenG Write Panel to INI, and Read Panel from INI.  These are two canned functions that save tons of time.  Now the reason this might not work for most FPGA developers is because in the end, the goal is to not see the FPGA VI and instead only run the bit file and call into the FPGA using the hooks NI provides.  It sounds like you are going to have the VI shown anyway so this method may actually work for you.
    It does kinda suck and I think it would be nice if NI had a way to read and write all FPGA front panel controls at once for things like this.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • How do I save and recall a custom search in 10.5?

    In 10.4 I could hit command+F then make a custom search that I could place in my sidebar and revisit later by clicking and then clicking "edit." I find I can't do that now in 10.5. What I'd like to do is set up a custom finder search for sound effects that does the following:
    • Searches only two specific drives (you used to be able to add or subtract locations to search, now you only have "This Mac" or your username, you can't add locations!)
    • Has two "name" fields and one "Kind" is "Audio"
    • Can be recalled.
    Thanks in advance for any help

    The functionality for searching multiple different places was removed in Leopard. It can still be done, but it isn't easy, you have to edit the saved smart search file. I saved one and edited it so that it searches both my startup drive and my data drive, and only those drives/partitions, but I have not bothered to configure another like that, too much trouble.
    For a more normal sort of user the best bet is to create two smart seaches, one for each drive you wish to search--open the drive, hit Command-F then click the drive name rather than the idiotic default of This Mac, do the same for the other drive, configure the search for each drive and save. When you want to use the searches you would open two Finder windows and click the first smart search in the sidebar of window one and the second smart search in window two.
    While you must fill something in the search terms box, you can do something that will return almost no results, for instance "Name:matches:xyz" and save. When you bring the saved search up, click the Gear/Action item in the window's toolbar, then select "Show Search Criteria"--the fields you had when you saved it will then display and you can edit them.
    You might find my article on Leopard's Spotlight useful:
    http://www.pinkmutant.com/articles/Leopard/leospot.html
    Be sure to click the link in the article to see even more detailed examples. Oh, and be sure to tell Apple exactly how unhappy you are with the disimprovements to Spotlight's usefulness:
    http://www.apple.com/feedback/macosx.html
    The more people who make Apple aware of just how miserable the current GUI is, the more likely the next one will be improved.
    Francine
    Francine
    Schwieder

  • Save and Recall a set of nodes

    I read somewhere that it's possible to save a set of nodes (a piece of a tree) that you use constantly. Not a macro. A set that's built once, then recalled whenever needed saving the time of rebuilding. It's not "add script."
    I found this a while ago but don't remember where. I'm looking through my manuals & 3rd party books now. Any help would be greatly appreciated.
    Thanks,
    pete

    It's definitely not a linked node. I suppose I could use a macro but it would be somewhat of a hassle to go into the macro internals to edit it every time. For example...
    RotoShape -> Blur -> Reorder -> SwitchMatte
    But maybe I can copy/paste the internals as node tree outside of the macro. That wouldn't be so bad.
    Thanks for the response. I'll keep looking to see if I can find it in print. Maybe what I read was in fact in the macro section.
    Thanks again,
    pete

  • Cluster of control references: want to access the control value

    I want to be able to save and set control values that are saved (XML). I have my controls on about 5 sub vi's. So I thought it'd be a good idea
    to put all the control references in a cluster from the several sub vi's and save and read from one point.
    I can get the cluster values (i.e. the references to the controls), but how to proceed from here? If somebody has a better idea it is very welcome.
    I have also read Ben's nugget here, but it deals with references to controls in a cluster, not references to a reference of a control in a cluster

    Thank you for reading that Nugget!
    I use a GUI Controller in many apps so I can grab refs in sub-VI's.
    Here are some screen shots of them in use.
    The first "GUI Cnt" is a wrapper around the AE and invokes the action "Set Analysis mode" then another call let me get a cluster of the refs so I can choose based on the name.
    This image shows what that action does.
    THis is what happens when going into collection mode.
    That is a small set of what you will find in my image gallery Feel free to browse (yes I know there is a lot of Olivia in there ) and ask if anything catches your interest.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Is it better to use Invoke nodes or property nodes to set/get control values?

    I have a series of VI's that run in parallel, each to manage different functions- pumping, sensing, a fluid flow model, an experiment generator/runner.
    These need to exchange data, which I am currently doing using invoke nodes (that are all in subVIs), using methods "Set control value" and "Get control value". I find that every now and then (perhaps 1% of the time) the data isn't exchanged correctly and therefore the system doesn't work. I can imagine how "set" could go wrong if they happen simultaneously, and can devise ways of preventing this. However, the "Get" method suffers from the same problem. This is a major problem, because I want to leave it running for several hours.
    I could in
    principle achieve the same thing using property nodes and find myself wondering if this might be more reliable. But I don't want to change over only to find it makes no difference!
    Can anyone advise?

    You can use some kind of syncronization such as queues, occurances, or notifiers but I think the easiest way would be to create and action engine. This was only one action can execute at a time avoiding a "race condition". Possibly a write action and a read action might help. You also can add queues or notifiers into this concept. hope this helps.
    BJD1613
    Lead Test Tools Development Engineer
    Philips Respironics
    Certified LV Architect / Instructor

  • Best practice for saving and recalling objects from disk?

    I've been using the OOP features of LabVIEW for various projects lately and one thing that I struggle with is a clean method to save and recall objects.
    Most of my design schemes have consisted of a commanding objects which holds a collection of worker objects.  Its a pretty simple model, but seems to work for some design problems.  The commander and my interface talk to each other and the commander sends orders to his minions in order to get things done.  For example, one parrent class might be called "Data Device Collection" and it has a property that is an array of "Data Device" objects.
    The Data Device object is a parent class and its children consist of various data devices such as "DAQmx Device", "O-Scope Device", "RS-232 Device", etc.
    When it comes to saving and loading data, the commanding class's "Save" or "Load" routine is called and at that time all of the minions' settings are saved or recalled from disk.
    My save routine is more-or-less straight forward, although it still requires an overwriting "Save" and "Load" vi.  Here is an example:
    It isn't too bad in that it is pretty straight forward and simple and there also would be no changes to this if the data structure of the class changed at all.  It also can save more generalized settings from it's parrent's class which is also a good feature.  What I don't like is that it looks essentially the same for each child class, but I'm at a loss on an effective way to move the handling of the save routing into the parent class.
    The load routine is more problematic for me.  Here is an example:
    Again, the desirability of moving this into the parent class would be awesome.  But the biggest complaint here is that I can't maintain my dynamic dispatch input-output requirements because the object that I load is strictly typed.  Instead I have to rely on reading the information from the loaded object and then writing that information to the object that exists on the dynamic dispatch wire.  I also dislike that unlike my Save Routine, I will need to modify this VI if my data structure of my object changes.
    Anyway, any input and insight would be great.  I'm really tired of writing these same VIs over-and-over-and-over again, and am after a better way to take care of this in the parent class by keeping the code generalized but still maintain the ability to bring back the saved parameters of each of the children classes.
    Thanks for your time.

    I'm with Ben. Don't rely on the current ability to serialize an object. Create a save method and implement some form of data persistence there. If you modify your class you might be disappointed when you cannot load objects you previously saved. It mostly works but as soon as you reset the version information in the class, you can no longer load the old objects. This is fine if you know how to avoid resetting the history. One thing that will do this is if you move the class into or out of a library. It becomes a new class with version 1.0.0 and it no longer recognizes the old objects.
    [Edit:  I see that you are just writing to a binary file. I'm not sure you can load older objects anyway using that method but I have never tried it.]
    This will not help you right now but there are plans for a nice robust API for saving objects.
    =====================
    LabVIEW 2012

  • Problems with parity and flow control using visa serial

    I am trying to create a basic user interface with the options that my
    company uses most often for a force indicator.  You can configure
    the indicator over serial, as well as read the values off the
    indicator.  I am trying to create the user interface so that using
    producer/consumer loops with events, once you change a value, it will
    write that new value to the serial port, ie the device. 
    The problem I am having is transfering the parity and flow control
    values for the serial config to the Basic read write VI.  The
    problem is that once the consumer loop executes, it will write the
    values correctly to the VI, but then the outer loop executes 200 ms
    later and clears the values.  I know that this is normal behavior
    and that in order to keep the values stored, normally you would use a
    shift register.  I tried to use this and had some issues with
    correct data types/array mis-mtaches, ets, so I created an indicator
    and had a local vaible read the indicator, which seems to be working
    for the stop bits, read bits, baud rate, etc, but not the parity anf
    flow control.  I always get "blank" outputs for theses values (if
    you enable the digital display you can see that they are outputing the
    value 0 which correspondes to None in both cases, which is
    correct).  Even though it appears that it is outputting the
    correct value, I get an error that says the VISA property is
    invalid.  I initally did a search and found that my stop bit
    control was wrong (outputting double instead of integer), but I could
    not find anything on the parity/flow control issue.  I even tried
    to copy the serial config controls from the basic serial read/write to
    my dialog box and that did not work either.
    I would be grateful for any suggestions.
    Thanks
    Kenny
    Kenny
    Attachments:
    BGI_main pandc.zip ‏232 KB

    I should add that I am using LV 8.0 and that the serial config
    indicator in the consumer loop will be off the frontpanel in the final
    VI so that it is not visible to the user.
    Kenny

  • Savin' and recalling multiple channel Strips ?

    is there a way to save and recall multiple channel strips ? what i'm trying to do is for example : to set up
    Ultrabeat Multi which would include several Aux's and busses with indivitual bus effect etc and recall it in a New song exactly as i saved it . how do i goabout it
    thx B
    Mac Pro 2.66   Mac OS X (10.4.8)   Yamaha MLan i88x Audio Interface

    Two ways you could do it.
    1: set the existing setup as a template; remember to get rid of all regions in Arrange & all audio in the Audio window. Whenever you want a new song with these settings, create it using this template.
    2: at the top of each channel strip just below the EQ window is a small triangle. Click on that and select 'Save Setting As . . ' and give it a memorable name.
    Do that for each channel strip you wish to save. In your new song, select the strip setting you want and everything in that channel will be opened; all FX, Ultrabeat or any other Logic synth you may have had inserted.
    I hope one of these helps you.
    guitarguru

  • Auto save and auto recover of front panel controls/indicators values

    i just want that when i exit from the VI's front panel all controls and indicators current values get saved automatically and when i get back into this vi,those values get recovered automatically.
    Like if i incremented numeric control value from 1 to 5 , when i exit from the vi the value 5 get saved automatically and when i get back into the vi ,it shows the recovered value 5 to me automatically.
    best regards

    I'm Back
    I was mistaken when I said the you could select to save either the controls or indicators or both in the Open G Vi's, They are hard wired for both. I made minor changes to these VI's for my app.,  because I only needed the controls to be saved. The example I am providing uses the Modified VI's, but I've also included the originals.
    Modified
    Read Panel from INI.vi
    Write Panel to INI.vi
    Originals
    Read Panel from INI.vi
    Read Panel from INI__ogtk.vi
    The ability to select either or both could easily be implimented into these Vi's using a case selector and an enum wired as an input
    Controls only
    Indicators Only
    Both
    Incase you don't have the OpenG toolkit I've provided the necessary files for this example to function
    Extract the zip file to your User.lib directory then open Usage.vi
    Hope this helps you
    Georges Janveau
    Attachments:
    Config File Usage.zip ‏861 KB

  • How to save controls value in labview

    hi
    i want to know how to save the controls value in PC. means if i assign 5  digital value to a control it should remain there even i restarts my PC.
    Solved!
    Go to Solution.

    This can mean two things. Will the default value always be 5? You could right click the control, select Data Operations, then Make Current Values Default. This can only be done at edit time and the value is saved with the vi. If you know you will always need the same default value then do this. If you need the user to be able to change the default value without editing and saving the vi then see the post by smercurio_fc above.
    =====================
    LabVIEW 2012

Maybe you are looking for