Cluster Typ-Def Constant Reset

Hi all,
Ahhhhhh....  I have a typ-def cluster array with many elements in each cluster.  I created a vi, in which I delcared a 20 elements with specified values (a vi that contain constant values).  I made a minor change in my typ-def, and all the values that I keyed in got reset.  How do I avoid that in the future?  Thx!
Yik
Kudos and Accepted as Solution are welcome!
Solved!
Go to Solution.

Diane's suggestion is the only to solve your problem. Defaults values do not carry over from a typedef. The one thing you can do is save the defaults values you want in your typedef and recreate the constant. New constants created will pick up the current default values. However once you change the typedef all the constants you have will get reset.
Mark Yedinak
"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot

Similar Messages

  • How to create Type Def constants

    I tried doing some searching but I just see stuff on enums vs rings.
    I am trying to set up HW configuration. I have multiple boards I am talking to and would like to combine the IO into 4 arrays. DI, DO, AI, and AO. I can do this fine but I am worried if the designer decides to insert/change one IO point. (e.g. Board 1 slot 2 is an input and it is desired to change to an output). This would of course shift every point after that alteration by 1 and I would have to go through all of the code from the ground up an modify it. Instead it seems I should be able to create a I32 cons array that is a type def used through out the code that would look something like the following:
    [i32 array]
    0
    1
    2
    15
    3
    4
    5
    6
    16
    7
    8
    The idea is that at initial design the array was likely 0,1,2,3,4,5,6 etc but since slot 2 was changed it ended up being 15 and I just have to shift the type def constant. I would then use the type def constant to map the data properly before it reaches any of the other code.
    Am I missing something or is there no way to have constants update in this manner??? Only enums? that seems poor
    Message Edited by CJasnoch on 03-26-2008 01:00 PM

    falkpl wrote:
    I usually simulate the CONST by using a vi that returns the constant.  An example is pi (YES I KNOW THIS IS ALREADY PROVIDED BY LV) place the double constant 3.14.....on the block diagram, and wire it to an indicator, select one terminal and wire it out.  Change the icon and your done.  This is different from the saved value typedef in one important way, the data can not be changed without opening the vi, which can be protected.  this can be used in conjunction with a typdef for complex data types.    An example of this is a version cluster, having a major, minor and revision integer inside of a cluster, typedef this and then make a vi called application version use the typdef for the constant on the diagram and the indicator out of the CONST Vi.  This is my prefered method to simulate a CONST in labview.  This is not as elegant as a preprocessor directive in C but it works nicely.
    Paul
    That's the way I do it, too.  This method, combined with blanking the B&W icon of the VI and drawing an icon that doesn't use all the space of the 256 color slot lets you create something effectively similar to the primitive constants NI has.
    =============
    XP SP2, LV 8.2
    CLAD

  • Type defs changes not reflected in block-diagram constants?

    I'm struggling with strict type-defs today.
    If I create a strict type-def, say of a cluster with an enum in it, and save it. Then create a block-diagram constant from the strict type-def in a blank vi. Then make changes to the strict type-def (say, add another item to the enum), the block-diagram constant ghosts out , as it should. If I then select "Apply changes" from the strict type-def menu, the ghosted block-diagram constant becomes un-ghosted, as it should. BUT, it hasn't update!? If I look for the new item in the enum, it isn't there!? I'm sure it should be, right?
    No changes that I'm making to my type-defs or strict type-defs are being reflected in my block-diagram constants (which are definitely still linked to the controls with "Auto-update from type-def" checked on). It does work for front panel controls and indicators though - just not block diagram constants.
    I'm using LabVIEW 8.5.1, Win XP Pro. Any ideas anyone?
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

    Solved. I think.
    I tried a range of type-defined controls, including an enum, a ring list, a cluster with an enum inside it, and a cluster with a ring list inside it.
    Changes to the enum items were reflected in all vi controls and block diagram constants.
    Changes to the ring list items were not reflected in the controls or block diagram constants.
    This snapshot shows the the last item available in each ring and enum list. Clearly the rings were not updated when the custom controls were. (Yes, I applied changes and saved too).
    Switching to strict type-defs only impacted  the front panel controls, as Ben highlighted, because this is GUI related. You can see from this second snapshot where all type-defs are now strict type-defs that all enums and rings updated to reflect all three items, but the block diagram rings are still out of date
    I expect somebody will tell me now that this is normal behaviour??? 
    Message Edited by Thoric on 09-10-2008 02:31 PM
    Thoric (CLA, CLED, CTD and LabVIEW Champion)
    Attachments:
    custom_control_test.jpg ‏53 KB
    custom_control_test_stricttd.jpg ‏54 KB

  • How can I change the numeric and enum default values in a Strict Type Def Cluster?

    I have a Strict Type Def cluster that contains 10 Numerical controls and a number of enums.  I have edited default values of the numerical controls in the Strict Type Def, in customize mode, performed a "Make Current Values Default"  and have done a "Apply Changes"  and saved.
    This cluster is used in various locations throughout the project and have not found a way to make the cluster default values change downstream.  The Strict Type Def (STD) Control appears to have the right values on the front panel.  But if I place an instance of this on a blank front panel, and run a wire from it in the block diagram with a probe and indicator, I still get the old default values being passed from the STD.  
    Solved!
    Go to Solution.

    There Are No Strict Type Definition Constants
    "Even though typedefs only update when types change, instances get cosmetic changes from the definition whenever they update. So one trick to "push" changes to typedef instances is to change the data type, apply changes, and then change the data type back. [edit, March 26 - Note that the typedef instances need to be in memory when you use this trick]."
    From Eyes on VIs, here.
    http://blog.eyesonvis.com/
    I love this article.
    Jim
    You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice

  • Change table size and headers in type def cluster

    Is is possible to change a table size and headers that is inside a type def cluster?
    I have a vi that loads test parameters from a csv file. The original program used an AC load so there was a column for power factor. I now have to convert this same program to be used with a DC load, so there is no power factor column.
    I have modified to vi to adjust the "test table" dynamically based on the input file. But the "test table" in the cluster does not update it's size or column headers.
    The "test table" in the cluster is used through out the main program to set the values for each test step and display the current step by highlighting the row.
    Attachments:
    Load Test Parms.JPG ‏199 KB
    Table Cluster.JPG ‏122 KB

    Nevermind, I figured it out...
    I was doing it wrong from the start, in an effort to save time writing the original program I simply copied the "test table" to by type def cluster.  This worked but was not really as universal as I thought it would be, as the table was now engraved in stone since the cluster is a type def.
    I should not have done that, but rather used an array in the cluster and only used the table in the top level VI where it's displayed on the screen.

  • Setting control to default value when it is a strict type def

    If my subVI has a control that happens to be a strict type defined cluster and I have saved the values in the control as the default values, how can I change them back to the default values of the type def (which are empty).  Because it is a strict type definition, i cannot click on the elements inside the cluster and modify them (e.g. click on an array inside the cluster and do an empty array operation.)
    In the attached screenshot, the control "BLE Meters To Test" is just an array of clusters and I was able to empty the array.  The control "Capture Data" is a strict type def.  I would like to clear the contents of this control without having to delete the control and add it back with a new instance of the same strict type def.
    Solved!
    Go to Solution.
    Attachments:
    screenshot.PNG ‏33 KB

    are you talking about edit mode or run mode?
    You could temporarily add a second instance of the typedef (all empty), then change it to a constant. Whenver you need to reset at run time, write the new digram constant to a local variable of the control.
    glstill wrote:
    Because it is a strict type definition, i cannot click on the elements inside the cluster and modify them (e.g. click on an array inside the cluster and do an empty array operation.)
    Make sure to click on the array container, not on the array elements.
    LabVIEW Champion . Do more with less code and in less time .

  • About Strict Type def

    Hii
      i have created a cluster of ring control as a strict type def.Also i have used a constant of that cluster in my program where  i need.Now am changing the items in that ring control by opening the strict type def.I am giving Apply changes , save and all.Now the cluster in my program is changed.But my constant remains unchanged.;..How can i update a constant...

    The wonders of searching (and that's just one of the results for my simple search).
    Try to take over the world!

  • How to change the font color in a strict type def programatically

    Could someone suggest a way to change the font color of a string indicator in a strict type def cluster programmatically? The cluster contains a label that is color-coded to match the function of the data channel represented by that cluster.  The function of each channel is not predetermined, so the font color needs to be changed programmatically.  To represent all channels, I have arranged a large cluster that contains 100 instances of the control.  This makes it essential that the control be strictly type defined in order to change the layout of the clusters uniformly.
    Can anyone suggest either a method by which I can let the control remain a strict type def and change the font color, or a method by which I can programmatically change the control from a strict type def to a type def?  Currently, I am saving the control as a strict type def every time I make a change and then saving it again as a type def when I am ready to run the program.  This works fine, but just seems inelegant.  This color-coding is used throughout the program in various indicators, so a neat solution would be greatly appreciated.

    As mentioned in my Nugget on Type definitions you can create strict type-defs that contain type-defs.
    If you make your data definition a type and put that definition in a strict type-def (one of each flavor) you can use the appropraite strict type where each is required.
    Yes the data structure will have another level of nesting so if you are "too far gone" you may not like this idea.
    Otherwise you can write a VI that opens the typed-def and do a "save as..." and use it everytime you edit the type-def.
    I hope something helps!
    Ben
    Message Edited by Ben on 10-06-2008 10:26 AM
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction
    Attachments:
    Strict_of_Typedefs.PNG ‏30 KB

  • Sort Second Element in Array of Strict Type Def Clusters

    I need to sort the an array of strict type def clusters by the second or third element in the cluster.  In the past I have used 1-D array sort and sorted by the first element of the cluster.  When I need to sort by the second, third, or fourth element of the cluster I just break down the cluster and rebuild it placing the desired sort element in the first position of the new cluster.  This works for simple tasks and clusters, but as the cluster gets more complicated this becomes a pain to do this.  There must be a cleaner way to sort by other elements within the original array of strict type def clusters.  Has anyone succeeded in doing this a different way?

    Hello,
    Here's the way I would do it...just create a new cluster array, where each cluster contains two elements...the unbundled item you want to sort by, and the cluster itself.  Then sort the new cluster array, then unbundle the sorted cluster array to get the original clusters (now sorted).  Here is a screenshot:
    There may be a better way, but this is the first thing I thought of.
    -D
    Message Edited by Darren on 03-16-200610:00 AM
    Darren Nattinger, CLA
    LabVIEW Artisan and Nugget Penman
    Attachments:
    Sorted_cluster.jpg ‏30 KB

  • HOW TO GET REFFERENCE OF INDICATOR OF TYPE DEF CLUSTRE

    Have 2 quastions:
    1. Have a type def culster of boolian indicators.
        how to extract individual references so I can pass them to sub vi.
    2. Since bollian indicators dont latch its value.
        Can I make an array of boolian indicators that will keep its value hen passes to sub vi.
    Thanks.
    Solved!
    Go to Solution.

    Neos wrote:
    Actually the example was to just show how to get reference of individual controls of cluster.
    whatever the OP wants to do with refrences its his choice.
    Firstly, I got a little confused because you had thanked me and so I thought you were the OP for a moment.
    Secondly, though - your example added just enough obfuscation that the OP did not understand that this was actually an exercise to get references from a cluster.
    I know you used the property nodes to bring out the reference wires.  If the wires were connected to indicators that said "control reference" it would probably have been clearer.
    One thing you should note is that if a pupil does not get the concept you are trying to teach, 99% of the time it is the teacher's fault.
    Bill
    (Mid-Level minion.)
    My support system ensures that I don't look totally incompetent.
    Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

  • Data Log File Refnum Type Def Bug??

    Hello,
    I just found some quirky behaviour (LV 7.1.1):
    1. In the attached LLB, open "RefnumVI.vi"
    2. Select the Data Log File Refnum control and open it for editing (Edit - Customize Control ... from the menu)
    3. Close "RefnumVI.vi" but leave "Refnum.ctl" open
    4. Select the enum inside the refnum container, and open it
    5. Select File - Save As ... and save the enum as "RefnumEnum2.ctl"
    6. Close the enum
    7. Save "Refnum.ctl", and close it
    8. Reopen "RefnumVI.vi" and display its hierarchy (Browse - Show VI Hierarchy from the menu)
    Notice that "RefnumVI.vi" still has a link to "RefnumEnum.ctl", even though we saved this as "RefnumEnum2.ctl" earlier.
    If you go back to the VI, right click on the refnum, and replace it with itself (i.e. select "Refnum.ctl"), the link disappears.
    This behaviour does not happen if I use a Cluster instead of a Data Log File Refnum.  I imagine the difference is that the calling VI needs to know about the structure of the data log file in ways it doesn't need to know about the structure of a cluster, but this still is very counter-intuitive behaviour.  Is this really expected?  Or is it a bug?  Is there any other way to remove the link?
    Cheers,
    Jaegen
    Attachments:
    RefnumEnumBug.llb ‏22 KB

    Nathan,
    Thanks for your response - I have 8.2 and am in the process of evaluating how/when to upgrade.
    Does this mean that the compiler/linker is behaving differently depending on where you open a type def from?  The reason I'm asking is that I've seen similar behavior when editing a hierarchy of type defs; depending on how I open the low-level type def I'm actually editing, changes will or won't get propagated to other instances properly.
    Regarding this actual problem, the issue I had is that the data log file refnum type def exists on many VIs, and thus the incorrect link now exists on many VIs, and I don't see any way of correcting the problem without manually replacing the type def with itself in every location (given there's no "Replace All" feature in LV 7.1.1 ).  However, the hierarchy I'm dealing with was only created for testing, so I don't actually need to fix it .  I'll just know to avoid causing this problem in the first place in the future.
    Jaegen

  • Changes to Text Ring Items in Type Def not Updated in Copies

    In LabVIEW 2010, I have Type Definition which is a Cluster that contains several Controls including a Text Ring control.
    If I go into the Type Definition and Edit the Items in the Text Ring, those changes to the Items in the Text Ring do not show up in the "copies" of the Type Definition control on my Front Pane, even though the "Auto-Update from Type Def." feature is checked.
    How do I get changes to the Items in a Text Ring in a Cluster in a Type Definition Control to show up in all of the "copies' of the Type Definition on my Front Panel?
    I shouldn't have to edit the same Items in the same Text Ring in multiple places.

    What you see is normal behaviour of rings. The general advice is to use an enum instead of a ring. Rings are useful as FP elements which you want to populate during run-time.
    I guess this is the best option you have, replace the ring by an enum inside your type def and hope it's all fine...
    Another option you can try if you need to have it as a ring, is to make it a strict type def. I'm not sure but I would expect it to propagate the ring text to all instances. On the other hand, you can't programmatically set the ring text as long as it's a strict type def, so to get the bahviour of a ring again, you will need to revert back to a normal type def.
    Felix
    www.aescusoft.de
    My latest community nugget on producer/consumer design
    My current blog: A journey through uml

  • NEED BIOS BACKDOOR PASSWORD FOR HP PROBOOK 6540b. Have tried all types of bios resets, no luck.

    NEED BIOS BACKDOOR PASSWORD FOR HP LAPTOP PROBOOK 6540b. Have tried all types of bios resets, doesn't work.
    The password stay's no error code for entering wrong ones.

    Hi, 
    I too have been pulling my hair out with this problem on the 6540B. However after  2 days of various driver combinations I've finally found a working fix. I don't have the luxury of reinstalling Windows XP as the machine is custom configured with apps which will take over a week to configure again.
    If you've got no audio it's probably because you've installed the IDT High Def Audio Driver. You may have tried a whole bunch of other options also to try and rectify the problem as I did.
    The solution is fairly simple:
    Goto to add/remove programs and remove "SoundMax".
    Reboot
    The audio driver may try to reinstall on boot up... allow it to install. It will still not work and will still show exclamation mark against IDT driver in Device Manager.
    Goto run... then type regedit and hit enter. Windows registry opens.
    Goto My Computer>HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Services>
    Delete the WHOLE KEY for AEAudio and then exit regedit
    Go to device manager and uninstall the IDT High Def Audio device from Device Manager
    Then using the original HP Application and Driver Recovery DVD supplied with the notebook, run the autoplay, choose Hardware Enabling Drivers, tick only the IDT High Def Audio driver and follow the installation instruction on screen. You will be prompted to reboot after which Windows will find new hardware. The IDT will install itself and you will find that the sound works!
    Good Luck!
    For those that cannot find their original disk, the IDT Audio Driver from the original disk is available at http://tinyurl.com/IDTAudio6540b or http://www.4shared.com/file/RxXn5afj/IDTAUDIO.html

  • Type def boolean button.

    hi, i'm korean.
    my english is it' too bad. that why i'm sorry.
    first i wanna make type def boolean button.
    it's not problem. but make triangle shape.
    happen problem. like that
    red box is notihing. but if i click there, that is change to true or false.
    i don't know how to make flexible area setting.
    plz help me
    GOOD
    Solved!
    Go to Solution.

    Here is one way to do what you are asking: link
    This thread has a VI (post # 12) that uses triangle butons that may be a good start for you.

  • How can I Change data in a type def control containing a Xcontrol with a local variable

    Hello
    I made a Xcontrol and I inserted this control in a type def.
    When I want to change the control's data with a local variable in a VI, the VI change nothing. The change of data isn't perform
    How can I correct this issue?
    Thanks for your help
    Solved!
    Go to Solution.

    Hello,
    What's your LabVIEW version ? Do you have a simple example program which demonstrates this behavior ?
    I found another discussions related to your issues with Xcontrols:
    updating type defs in Xcontrol Facade
    No Data Change event generated for a XControl in a Type Def
    XControl facede.vi 
    Hope this helps.
    Regards, 
    Steve M.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Vidéo-t'chats de l'été : présentations techniques et ingénieurs pour répondre à vos questions

Maybe you are looking for

  • DVR Problem w/QIP7232P2 DVR Operation; HOW Long will I have to wait for 1.9.1?

    THE SHORT PROBLEM: 1) DVR records only a few moments of pre-scheduled events then the recording stops with only 10 to 30 seconds stored content and this is reported in the on screen detail. 2) DVR records a full 1 hour show however, after 20 or so mi

  • How to create Dunning/Payment block on Open items

    I am working on a program to create Payment, dunning and interest blocks on customer line items. Is there is any Function module to create these Blocks in customer line items? If no what is the best approach to create customer Line item level blocks.

  • Sax parser problem

    hi, i am assuming the problem is with sax parser but i cant be sure. I am parsing a xml file (about 1.4MB) with some data in it. the parser i have created reads the xml file correctly for the most part but when at some point the "public void characte

  • Not able to display values within ORDERADM_I table in smartforms.

    I have copied the Smartform CRM_REMINDER_EMAIL01. When I try to include the field &ORDERADM_I-PRODUCT& in smart form I am getting a error message <i>""ORDERADM_I" is a table without a header line and therefore has no component called "GUID</i>" when

  • Reinstalling iPhoto '09

    My iPhoto is totally screwed up. I wish to REMOVE iPhoto, then use my iLife DVD to reinstall iPhoto '09. What must ZI be sure to throw away to totally remove iPhoto. I can handle separating iPhoto out of the PKG so that I can just install a new copy.