Array of cluster

Hello,
i'm using array of cluster to allow user entering differents setting
But in some case i would like to adapt viewing to hide  some parameters or displaying 0 or a null field
my problem is when creating a ref on control in the list how to know wich line is concerned to modify the good one
here a vi for example
when case 1 is seleced in first column other ctl can be any of  choices
when case 2 is selected i would like the mofify two others to be 0 and none
is there an other way than playing with coordonate and size of elements to know which line is the current one ?
Regards
Tinnitus
CLAD / Labview 2011, Win Xp
Mission d'une semaine- à plusieurs mois laissez moi un MP...
RP et Midi-pyrénées .Km+++ si possibilité de télétravail
Kudos always accepted / Les petits clicks jaunes sont toujours appréciés
Don't forget to valid a good answer / pensez à valider une réponse correcte
Solved!
Go to Solution.
Attachments:
list of ctl.vi ‏8 KB

I was able to simplify that VI to the point where I can post the code to demonstrate the idea.  Here it is in both 8.6 and 9 (it seems to have lost some font formatting when saving back to 8.6).  I haven't used XControls at all but it seems like the sort of thing that could be converted to one easily if I had the time and need for it.
Attachments:
Array of Clusters in Table.vi ‏52 KB
Array of Clusters in Table 8.6.vi ‏33 KB

Similar Messages

  • How do I convert a 1-D array of cluster of 5 elements into a 2-D array of numbers? (history data from a chart)

    Hello,
    in my vi I have a chart with 5 Plots displaying measurement data.
    The user should be able to save all the history data from the chart at anytime. (e.g. the user watches the chart and some event happens, then he presses a "save"-button)
    I know, that I can read out the history data with a property node. That is not the problem. The problem is, how do I handle the data? The type of the history data is a 1-D array of cluster of 5 elements.
    I have to convert that data somehow into a 2 D-array of numbers or strings, so that I can easily save it in a text-file.
    How do I convert a 1-D array of cluster of 5 elements into a 2-D array of numbers?
    I use LabVIEW 7.1
    Johannes
    Greetings Johannes
    Using LabVIEW 7.1 and 2009 recently
    Solved!
    Go to Solution.

    Gerd,
    thank you for the quick response and the easy solution.
    Look what I did in the meantime. I solved the problem too, but muuuch more complicate :-)
    And I have converted the numbers to strings, so that I can easily write them into a spreasheet file.
    Johannes
    Message Edited by johanneshoer on 04-28-2009 10:39 AM
    Greetings Johannes
    Using LabVIEW 7.1 and 2009 recently
    Attachments:
    SaveChartHistory.JPG ‏57 KB
    SaveChartHistory.JPG ‏57 KB

  • Array of Cluster with event structure

    Hi,
    I am having Array of cluster with cluster having 1 String Control , 1 Combo box, 1 Led control and 2 Numeric control. In the combo box i am having two options to select ('Binary' and 'PWM').Whenever Binary is selected then Led control has be enabled and whenever PWM is selected 2 Numeric control has to be enabled.
    Is there any way to do this??
    Pleas help me...
    Regards
    Meenatchi

    actually in my application, the front panel has to have 16 rows of controls (1 string control, 1 combo box, 1 Led control, 2 numeric control).so i planned to keep all those controls in a cluster and create one array.If i didnt so i will have 16x5 controls in my front panel and i have to put 16 event cases for each combo box to do the enable and disable of controls..
    is there any simple way to do this..i have attached my front panel view
    Attachments:
    Untitled10.vi ‏139 KB

  • Array to Cluster, Automate cluster size?

    I often use the Array to Cluster VI to quickly change an array of data into a cluster of data that I can then connect to a Waveform Chart.  Sometimes the number of plots can be different which results in extra plots (full of zeros) on the graph, or missing plots if the array is larger than the current cluster size.  I know I can right-click on the node and set the cluster size (up to 256) manually.  I could also use a case structure with as many Array to Cluster nodes as I need, set them individually and wire an Array Size to the case structure selector but that's kind of a PITA. 
    My question is whether or not anyone knows a way to control the cluster size value programatically.  It seems that if I can right-click it and do it manually there must be some way to automate it but I sure can't figure it out.  It would be nice if you could simply wire your desired value right into an optional input on the node itself.  Any ideas will be much appreciated.
    Using LabVIEW: 7.1.1, 8.5.1 & 2013
    Solved!
    Go to Solution.

    I'm under the impression it's impossible.  See this idea for related discussion.
    Tim Elsey
    LabVIEW 2010, 2012
    Certified LabVIEW Architect

  • Add element to array of cluster

    I have an array of cluster. Cluster contains two elements. How to add an element in cluster at run time on the second position efficiently? In other words dont want another copy of cluster which contains three elements and copy the original two elements plus the new element. 
    Original array of cluster lets say has two element Temp1 and Pressure 1.
    Need to add another element in cluster and now the array of cluster will be Temp1, Volt1 and Pressure 1. So Volt 1 is added to all cluster elements at second order throughout the array of clusters programatically. 
    CLD,CTD
    Attachments:
    TestAddElementToCluster.vi ‏10 KB

    It is unclear from your original post what the problem you need to solve actually is.  Are you trying to create a user interface?  Do you need to dynamically add arbitrary data to a data set, or is it a fixed set of functionality that can be dynamically changed in predetermined ways?
    Having done it, I will recommend you not try the scripting and subpanels approach.  There are almost always better ways.
    Remember that your data structures do not need to mirror your user interface.  If you were trying to display the temperature, voltage, and pressure data to the user, a multicolumn listbox may be more appropriate than a raw cluster in an array.  Internally, this would allow you to maintain the temperature, voltage, and pressure as separate arrays and only display the ones you want in the listbox.
    Please give us a more information on the problem so we can help you with an easier solution.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Add elelment by element in an array of cluster

    Hi All,
    I have a problem in extracting data from array of cluster to a single cluster. Please have a look at the attachment.I have found the solution but it consumes lot of memory because of shif registers andi am using this many places which is loading to nearly 100% in RT. Please provide an better alternative solution.
    Attachments:
    Array of Clusters.JPG ‏153 KB

    AutoTEC wrote:
    Hi,
    No i am almost at the end of coding . If i change the entire architecture affects. Only problem is this logic consumes more time. Pls any other idea...
    Standard situation if a propper data management is not done before coding OR  lead to the wrong architekture.
    Do you use type definitions? Help a lot to avoid the horror of optimizing the datastructure.
    Since it is much faster to rebuild a cluster by indexing the elements from your cluster of arrays than generating a cluster  of arrays from an array of cluster (Puh!) 
    AND you have timing problems I see only two solutions : Faster hardware or a reorganisation of your data.
    So change the datasturcture , create a subvi 'IndexMyData2Cluster' and whereever you indexed the array of cluster  replace it with that vi.
    Or run both structures in parrallel (BRRR, race conditions, inconsistent data , uuuaaahhh)
    Greetings from Germany
    Henrik
    LV since v3.1
    “ground” is a convenient fantasy
    '˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'

  • Programmatically Change Array to Cluster Size

    Hello,
    I have a Chart with several values scrolling across it. The number of
    values is variable. To prepare the data for the Chart, I use the Array to
    Cluster element. Is there a way I can programmatically change the size of
    the cluster output?
    Thanks,
    Peter

    Peter,
    As far as I know, you cannot programatically chage the size of the cluster output in the Array to Cluster vi. However, you may not need to convert to a cluster for charting. The chart will take a 2D array and plot mutiple lines. See the attached example which uses Reshape Array to form the data for a chart.
    The only hitch is that it erases the plot when you change the number of values to plot. This may or may not be important to you.
    Tim
    Attachments:
    Reshape_array_for_chart.vi ‏18 KB

  • Boolean LED Blinking in Array of Cluster

    Hello,
    I did not found anything to my problem in the developer zone of ni.com. Only how to index a element in an array of cluster.
    I want to set the Property "Blinking" of a boolean LED control in an array of cluster. But all attemps were to no avail and nothing happens.
    Can someone look at my VI please?
    Thanks shavo
    Message Edited by shavo on 05-28-2009 05:12 AM
    Attachments:
    ClusterBlinking.vi ‏58 KB

    It's not possible to change the physical property of the element of a array of cluster.
    Balaji PK (CLA)
    Ever tried. Ever failed. No matter. Try again. Fail again. Fail better
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.

  • Use of Write Key VI with an array of cluster

    Hi,
    I wanted to use an array of clusters to define some configuration parameters for an application. Unfortunately, "Write Key VI" doesn't support the cluster type. Has anybody modified this function ("Write Key VI") to support cluster and array of cluster? If not, any clue to keep it as simple as possible?
    My clusters include boolean, path, U32 and string.
    Thank you,
    Olivier 
    Solved!
    Go to Solution.

    OD wrote:
    Couldn't log to this website. Any alternative ?
    Sure see this Nugget.
    I have links for other methods included but the Nugget does exactly what you are asking to do. I wrote th Nugget to entertain other developers, but in the end is serves as an example why you may want to find another approach. You'll understand what I mean once you look at that Nugget.
    Parapharisng from Jurrasic Park "Just because could do something does not mean we should."
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Easier way to convert array to cluster with named variables?

    I have an array of variables, I would like to essentially unbundle that array to named variables.
    I believe the only way of doing this is by converting the array to cluster (besides removing each element one by one)?
    Is what I have done below the best way of doing it? seems a bit weird having to unbundle and rebundle by name.
    comments appreciated.
     

    Your problem code is actually right before the red square. Instead of the "array-to-cluster-unbudle dance", you should simply use a plain index array resized for the same number of outputs. same functionality, less convoluted.
    Your wiring is a bit of a mess and it is hard to tell if the order of elements in the array is the same as in the cluster.  Maybe a simple typecast to the cluster would work.
     

  • 1D Array of Cluster of 2 Elements Write to Spreadshee​t

    Hi all, first time using LabView in many years.  I am trying to write a VI that will acquire data from our cDAQ (right now just trying to get it to work with a single thermocouple in a NI 9211, but eventually will be 8 X thermocouple, 4 X pressure transducer), display it in realtime on a plot, and then when the acquisition is stopped, output the data to a file for later use.  I am currently using the Base LabView package.
    My problem (as I remember it was 7 years ago when I last used this) is with the data types not working together.  This is my thought process currently on building this VI.  Everything is inside a While Loop with the Wait function at 1000ms.
    - Acquire a point of data using the DAQ assistant
    - Send that point of data into a bundle
    - Send the iteration count into the same bundle (as a timestamp)
    - Send the resulting cluster of 2 elements into a Build Array function
    - Send the resulting 1D array to a shift register in the While Loop, as well as to an XY graph for realtime plotting
    - Wire the incoming point on the shift register back into the Build Array function
    In my mind, this allows the XY graph to plot the complete array every iteration, giving a realtime view of the signal.  Everything works fine up to this point.  My problems are:
    When I stop and restart the program, the shift register is not cleared, so the existing data in the array remains on the graph.  I know I need to initialize the shift register to clear it, but I cannot figure out what to wire to it that will be compatible with the data type (I just get broken wires with everything I tried).
    Similarly, I cannot figure out how to output this data to a spreadsheet after I Stop the While Loop.  I think I should wire the "Write to Spreadsheet File" VI to the outgoing shift register, but again, I can't get compatibility with data types (source is a 1D array of cluster of 2 elements).
    I have attached my current program "Production" to this post.
    I look forward to the help!
    Brad
    Attachments:
    Production.vi ‏46 KB

    Hi Brad,
    I would suggest you change your architecture. First, to answer your questions:
    1.
    In order to ensure that your shift register is not reading the last
    value from it's memory location, you just need to create a constant for
    the shift register. To do this, right-click at the input of the
    'left-placed' shift register and create a constant.
    2. The Write
    to Spreadsheet is expecting a 1-d or 2-d array while you are wiring a
    Dynamic Data Type. Use the Convert from Dynamic Data Type to convert
    the data into the appropriate waveform after which you can get the
    waveform attributes which includes the values and the timestamp data. Or, you can use the Write to Measurement File to write to a .lvm file which can be opened in Excel as well.
    Changes to your architecture:
    Since
    you are using a lot of channels, I would advise you use a
    producer/consumer architecture. You can have a look at this
    architecture by navigating to File -> New.. and searching for the
    Producer/Consumer template. You will notice that this architecture uses
    queues. The way you will design your VI is to use DAQ to acquire the
    data into your producer loop, convert this data into a waveform and
    then send this data to the consumer loop via queues. In your consumer
    loop, you can write this data to a file. At this point, I would
    encourage you to write to a binary file instead of a spreadsheet file. The write will happen faster and you will be using less space on your hard disk when compared to ASCII writes.
    I know this can be real confusing for a beginner, so be sure to post back if you have any questions.
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Shared Variable based on Array of cluster

    Hello,
    I've created a shared variable which is based on an array of cluster (typedef). The cluster only contians two double elements for x-y coordinates of a point.
    Everything seems working until I found the shared variable can only hold the first two elements when I pass an array to it.
    Are there any settings I've missed?
    Thanks
    Yan

    Data is simply created and directly sent to SV.
    The difference during defining the SV is:
    Normally, when define an array SV, it allows to change the "Number of elements" (default as "2").
    However, when define a typedef array SV, the option is gone. Does it then use the default number "2" as the number of elements?

  • Replace an array into the array of cluster!! Possible?

    Hello,
    I got a problem with inserting an array I acquired from another vi into the existing array of cluster. My big array contains a cluster of 5 elements (name, value, save, active and position. I want to connect my sub vi ,whose output is an array of number, to the main vi by replacing only the values in the main array. So all values in the main array are acquired from the sub vi but the remaining data stays the same. I also want my main array to look the same too, except the values have changed. I know it sounds quite simple but I don't really know it.
    Thanks in advance
    Solved!
    Go to Solution.
    Attachments:
    vi connection.vi ‏12 KB
    Data_Read (adapted).vi ‏32 KB

    I guess you need something like this. This will replace the values present in the main array with the values obtained from the sub vi.
    Good luck
    The best solution is the one you find it by yourself
    Attachments:
    vi connection.vi ‏8 KB
    Data_Read (adapted).vi ‏26 KB

  • Write an 1d-array of cluster with 3 elements

    Hi,
    I have to make a "Power spectral densities" analyse from my waveform data. The results from this VI is an array of cluuster with 3 elemments. Now I want to write this array of cluster with 3 elements to a file. And later it must be able to use this file with EXCEL!!
    thanks

    Hi
    I found some outer Forum entries about this topic.
    Look at this links:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=49553&requireLogin=False
    http://forums.ni.com/ni/board/message?board.id=170&message.id=51526&requireLogin=False
    I hope this helps
    Manuel

  • Array of cluster of arbitary type

    Hi all,
    Is it possible to generate an array of cluster with the following characteristic?
    1. each element cluster in the array will be of different type
    2. depending on the code, each element could be a different data type at different time.  For example, the cluster at array[0] will be a string when the user input is one, and array[0] will be a U16 if the user input is two.  The index for a particular datatype is arbitary.
    Let me know.  I am trying to write a subvi that will get an array of U16 convert the array to an array of cluster with string, U16, double, single, U32, etc.
    Yik
    Kudos and Accepted as Solution are welcome!
    Solved!
    Go to Solution.

    That would work great.  Thanks!
    Yik
    Kudos and Accepted as Solution are welcome!

Maybe you are looking for

  • How to display Spool title in custom format.

    Hi When SForm goes to Spool by default it display the title based on <PrinterName> <Report> <UserName>, i need a solution where i can customize the title before it goes to spool. So that i can make difference this spool with others  while compare to

  • My macbook Pro Used to lose connection to Enterprise  wifi

    When i am at home it seldom loses connection to my home wifi ,except after waking up from sleep!!!! When connecting to a Enterprise Wifi ,like University Wireless , it will lose connection frequently!! How to deal with this 2 problems? I am using the

  • ALC-LCM-100-011 error for configuring LC to weblogic

    When trying to configure LC to managed weblogic application server. I am seeing this error. I tried to change the port from 7001 to 8001(configured for managed server). I tried to put the IP of localhost and tried with 127.0.0.1 and no use. My weblog

  • Contribute CS4 ignores template changes?

    First, I'm new to Contribute. I understand the general idea of what it does and how it works, but I'm clearly out of my element on how it works with template files. I'm setup as an administrator on a Contribute CS4 installation on WinXP. I can edit a

  • Improve contacts program

    Last week I received my E70. What I hoped that it could replace my Psion Revo. Big disappointment. Appr. 8 years later it seems still not possible to at least reproduce the ease of use that was typical for these Psions. E.G: the contacts program! For