Best method for state machine design for multi-dimensional clustered data

I have an application that is collecting analog tag data(1000 points) and displaying on a graph. In each vi, I may collect data for as many as 32 channels, but only one channel at a time. Usually this is collected in numeric order, but maybe not all the time. I am also saving an "expected profile" to a file for each channel. I display both expected and actual data on the graph and select which channel to view with a ring control. My question is about how to design the state machine for best memory usage/execution speed/... If I use a shift register with a cluster datatype, that holds both 1000 point arrays, some statistical data like max/min/pass/fail/test limits for 32 channels, won't all of the u
nbundle/bundle functions use a ton of memory??? Right now I am writing the cluster data to memory tags for each channel. I use the ring control to determine which tag to read. I have the tags grouped by channel into several groups for actual data, expected data, results data,... What design methods would provide the best function using a shift register/queues and notifiers/memory tags in the tag engine?? I also use CITADEL to read the max and average as a trend display on each channel and to select a specific 1000 point dataset to view if the max and average are out of limits. Does anyone have similar applications??

It sounds as if you will be working with alot of data here so I can understand your concerns for memory management. If you were to unbundle and bundle data in your application, you are correct in saying that it will require more memory. It is somewhat difficult to get the overall picture of what you are needing to set up, but from what I can gather, it sounds as if you could have an array of 32 elements; each element a cluster of your data as well as the statistical data, and then you could index through that array to determine what to display on the graph. The shift registers will be reusing the same memory over and over so there should not be a problem there. Queues wouldn't necessarily help you in any way in this situation. Depending on how many memory tag
s you are using, you could increase the amount of memory usage required by Citadel and the tag engine, but if you are needing to write your cluster data to the database, then there is not much you can do about it. Ultimately it sounds like a pretty involved application and will require a fair amount of memory regardless to ensure smooth functionality.
In general, questions about the LabVIEW architecture and memory management are typically better answered if they are posted to the general LabVIEW discussion forum area. But I hope that this has addressed some of your concerns. Have a good day.
Patrick R.

Similar Messages

  • Help me with a state machine design

    I have a little bit of a problem.  I have a system with several modes, each selected by the user and called with a case structure.  Each case in the case structure is its own state machine with a few states (like 4-6).  Now here's the catch.  I need one of the states within one of the modes to call and execute an entirely different mode (and all of its states) without actually changing the mode command, and to do so every iteration until I jump out of that state into another state within the first mode.
    Is there a simple way to do that that I'm just not thinking of?
    Lee Jay

    Lee, my first thought would be to use just a big state machine.  For example if each mode needs 4 states, mode 1 gets states 0-3, mode 2 get states 4-7, and so on.  This way, if you need to change modes in the middle of another mode, you just direct the state selector to the state that starts the mode.  (If that makes sense).  It's not real elegant, but it works fairly well as you still maintain the flexibilty of the state machine design, including the ability to add and rearrange cases. 
    Don't forget you can use any method to select the cases, including strings, so you have full flexibility with how you setup case select.
    Troy

  • Error message - image exceeds size save for web was designed for

    When I try to Save to Web in Illustrator CS3, I get the following error message: "the image exceeds the size save for web was designed for". Even when I click that I want to go ahead and save it, it sends another error that reads "could not complete this operation. the rasterized image exceeded the maximum bounds for Save for Web".
    Earlier in the day yesterday, I saved for web with no issue. NOw, it doesn't matter how small my design is, it is giving this error.
    Please advise.

    > So in CS3 Save for Web grabs the Artboard, neither the artwork nor the Crop Area/Marks area?
    Creating a new document using "Basic RGB Document" and then "Save for Web & Devices" crops either to the artboard or to the artwork as selected from the "image size" tab in the save-for-web window.
    If your artwork extends beyond the artboard, selecting "clip to artboard" will obviously eliminate everything outside the artboard. Unchecking it will crop the image to the artwork in the file (and thankfully not any artwork that is hidden).
    If you make crop marks in the file, you can choose to either clip to the artboard or not. Not will clip to the crop marks, acting as kind of a secondary artboard.
    ETA:
    You can choose which type of on-screen file type you want your output to be. From GIF, JPG, PNG-8, PNG-24, SWF, SVG, and WBMP. And whether or not you want transparency in those formats that support it.

  • If I choose a hard drive ask my backup disk for time machine, will it clear out the data that was previously stored in my hard drive?

    If I choose a hard drive ask my backup disk for time machine, will it clear out the data that was previously stored in my hard drive?

    Hello edjhsu,
    Unless the drive is in a format that isn't compatible with Time Machine, the files will not be overrwitten. However it is typically a better idea to keep your files and your backup separate, especially since files on the Time Machine drive will not be backed up by Time Machine.
    Mac Basics: Time Machine backs up your Mac
    http://support.apple.com/kb/HT1427
    Cheers,
    Allen

  • Clustering and multi dimensional clustering?

    hi friends,
    why do we need Clustering and multi dimensional Clustering in bi 7.0?
    can i get any scenerio?
    Regards,
    suneel.

    Hi Suneel,
    You can get some good info here: http://help.sap.com/saphelp_nw70/helpdata/en/79/401442499cca7ee10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/02/5cf74153b6ca17e10000000a155106/content.htm
    Hope this helps...

  • Other events interfere with abort for state machine started by an event

    In the attached VI there is a state machine that is triggered by a boolean “start” change event.  There is also a boolean “stop” that stop the state machine, a numeric “voltage” that has an event handler and a boolean “exit” that has an event handler.
    The stop button works as expected unless if the voltage value is changed before the stop button is pressed.  I was thinking this might be because there is an event for the voltage value change but there is also an event for the exit button value change and the problem does not occur if the exit button is pressed before stop.
    If anyone could explain the reason I am only running into the problem with the voltage value change and/or how to properly implement the stop/abort function I would appreciate it!
    Thanks,
    Dave (LabVIEW 7.1)

    Well that certainly solves the problem I was having!  The case in a while in a case in a while reminds me of the 10-level deep if statements I used to end up when starting C programming.  I guess the inner case/while are required for the state machine and the outer while is required for the Producer / Consumer.  I always find myself thinking in terms of "if/then" statements and the case/comparison took the place of that. 
    Regardless, problem solved.  If anyone has tips on how to make it (attached) look better, please post them!
    Lynn, I wasn't quite sure about your instructions on passing the exit and stop commands through the queue.  I went with the idea of keeping the long-running loop separate.  I know I still have a bit more to work out such as use of exit button while state machine is running, and the stop button only works in between state machine iterations.
    Message Edited by davey31415 on 11-27-2006 07:04 PM
    Attachments:
    PowerfoldMeasStat.vi ‏158 KB

  • How to create state diagram (for state machine)

    Hallo  all.
    In my previous visit here, i saw picture of state diagram (bubbles with connection),
    How to create that in labview (if there is such option) ?
    or, which other software create state diagram.
    thanks  

    There is the State Diagram Toolkit (additional tool from NI for LabVIEW) with good interface and unreadable code
    It gives you a State Diagram Editor at Functions palette.
    It is very good tool for state diagram visualization, but readability of the code is controversial.
    When you will get a clear picture of a diagram from State Diagram Editor, I suggest use classic state diagram pattern: case structure driven by typedef enum in while loop.
    Regards
    Mikrobi (Zbigniew St. Sobków)____________________________________________________________
    "You can lead a horse to water, but if you can get him to float on his back you've got something."

  • Best practice in Infoprovider & Query design for access by BO Universe

    Hello Experts,
    Are there any best practices identified by practitioners or suggested by SAP for development of Infoprovider and queries for access by BO Universe.
    Best practices should be from the prospective of performance, design simplicity, adaptability to change etc.
    Appreciate your help.
    Regards,
    Pritesh.
    Edited by: pritesh prakash on Jul 19, 2010 10:51 AM

    Thanks Suresh.
    My project plan is to build Infocubes & queries which will be then used to build Universe upon it. Thus I am looking for do's & dont's while designing infocubes & queries such that there wont be any issues(performance or other) when accessed by Universe built on it.
    Hope I have made it more clear now.
    Regards,
    Pritesh.

  • Best method to update database table for 3 to 4 million rows

    Hi All,
    I have 3 to 4 million rows are there in my excel file and we have to load to Z-Table.
    The intent is to load and keep 18 months of history in this table. 
    so what should be best way for huge volume of data to Z-Table from excel file.
    If is from the program, is that the best way use the FM 'GUI_DOWNLOAD' and down load those entries into the internal table and directly do as below
    INSERT Z_TABLE from IT_DOWNLOAD.
    I think for the huge amount of data it goes to dump.
    please suggest me the best possible way or any psudo code  to insert those huge entries into that Z_TABLE.
    Thanks in advance..

    Hi,
    You get the dump because of uploading that much records into itnernal table from excel file...
    in this case, do the follwowing.
    data : w_int type i,
             w_int1 type i value 1.
    data itab type standard table of ALSMEX_TABLINE with header line.
    do.
       refresh itab.
       w_int = w_int1..
       w_int1 = w_int + 25000.
       CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
      EXPORTING
        FILENAME                      = <filename>
        I_BEGIN_COL                   = 1
        I_BEGIN_ROW                   = w_int
        I_END_COL                     = 10
        I_END_ROW                     = w_int1
      TABLES
        INTERN                        = itab
    * EXCEPTIONS
    *   INCONSISTENT_PARAMETERS       = 1
    *   UPLOAD_OLE                    = 2
    *   OTHERS                        = 3
    IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    if itab is not initial.
    write logic to segregate the data from itab to the main internal table and then
    insert records from the main internal table to database table.
    else.
    exit.
    endif.
    enddo.
    Regards,
    Siddarth

  • MY POSSIBLE FIX for Time Machine preparing for ages every hour

    Like many others, i have had problems with Time Machines backups - ever since upgrading to 10.5.2. Every hour it would say 'preparing' for ages, and then, when it did finally backup, the data transfer was incredibly slow. Not to mention the amount of cpu usage it was using during the preparing status!
    I have no idea if this is a FIX, or if i was just lucky, but Time Machine now works as it should, i.e. it backs-up seamlessly.
    Anyway, this is what i did: booted from my Tiger disc (yes, even though i have Leopard) and went into its 'disc utility', from there i selected 'repair permissions'. Once the Tiger disc had completed repairing the permissions, i quit out of it and restarted my MacBook normally, i.e. not from the Tiger disc. When it had finished restarting, i went to disc utility and selected 'repair permissions'.
    Ever since, TM has been just perfect. Coincidence? - i honestly do not know.
    By the way, i don't know if repairing the permissions from within Leopard did anything or not, but this is the sequence i used. Plus also, it might be good to note that i had repaired permissions many a time, but with no success in fixing TM, but once doing it from the Tiger disc it fixed TM.
    I hope it helps someone, because i know just how annoying it was when TM was not working correctly!

    I upgraded from Tiger to Leopard, which is why i believe i have had trouble.
    What is 'A&I or E&I'?

  • Searching for a better design for function in sql where clause

    We are using for a while a parameter management framework based on parameter hierarchy and matrix fully internazionalized. For implementation flexibility we never use primary key to access directly the parameter but used a function that return the corresponding primary key by selecting it in an array in a package with a parameter name or external identification number that never change.
    All is working well ... the system is very flexible ... we are as developper very happy because we can offer a centralized management parameter system for the whole application.
    Our problem is regarding the lack of sql performance when the packaged function are used in sql ... it seem that they are executed each time for earch row instead of only once and bind to the sql (as a bind variable). This is really a big issue. We solve the problem in PL/SQL by getting the parameter in variable and bind it the sql but it is not possible everythere and we will be interesting to know if somebody had similar problem and how we may solve the problem.
    Thanks a lot

        select  contractdate.contract_i
                                , contractdate.contractdate
                        from    contractdate
                                ,     (     select     contractdate.contract_i
                                  , max( nvl( contractdate.dateto, sysdate) ) dateto
                             from     contractdate
                             where     contractdate.t_contractdate_i = firstexpiry
                             group by contract_i
                        ) contractdatelast
                        where     contractdate.contract_i = contractdatelast.contract_i
                        and     nvl( contractdate.dateto, sysdate ) = nvl( contractdatelast.dateto, sysdate )
                        and     contractdate.t_contractdate_i = t_contractdate_ipar.fgetflextypologyclassitem_i( t_contractdate_ipar.fis1stexpiry )t_contractdate_ipar.fgetflextypologyclassitem_i is the function that return the primary key corresponding to the internal identification number
    t_contractdate_ipar.fis1stexpiry is the function that return the internal identification number
    An array in a package contains class and items internal identification number with the corresponding primary key used in the whole application (label, description in the user language also). All data for item (parameters) are stored in the flextypologyclassitem table that is referred by all parameters in the application. An application manage this table as a centralized parameter system.

  • Best method for data acquisitio​n applicatio​n

    Another Newbie question:
    I have a different application that I am working on (preliminary development stage) and I would to perform the following steps but I am not quite sure what the best method to complete the task
    1) acquire data   
    2) wait 60 minutes (at this point at a later time I will add code to turn oven on)
    3) acquire data
    4) wait 60 minutes ( at this point, at a later time I will add code to turn oven OFF)
    5) acquire data
    6) END
    Currently I am using a modified example of the Agilent 34970A.  I can sucessfully contol the agilent meter and get data using labview (chart and log to lvm only).
    I am looking ahead for the main intention:
    Ideally the user of the application will list channels desired to acquire data from and make an association to a serial number (havent figured this part out yet) and then push the START button and walk away.  At the very end the Initial / Hot / Return data would be obtained, calculations performed, and a printout made.
    I am looking a good starting point to work off of whereby I can continue my baby steps.  Should I use Event driven or a sequence?
    Any good examples?
    Thank you for your time

    jqm,
    It seems like you have figured a good state machine model for your application. I am attaching a more elaborate state machine example than what is available in Example Finder. It uses a Producer/Consumer scenario with queues to pass data between two loops. You can follow that example to create your application. You might not be able to run the program unless you configure your Data Acquisition hardware to correspond to the software settings. However, you will be able to see the overall structure pretty well.
    Study the example well to see how data is passed from one state to another. For your wait time you can use either Elapsed Time VI or Wait VI.
    Hope that helps.
    Kalin T
    Applications Engineer
    National Instruments
    Kalin T.
    National Instruments
    Attachments:
    State Machine Example.zip ‏426 KB

  • Best Method For Keyword Search (Full Text Search)

    I have some cataloged columns I am searching for Keywords.
    This table is getting huge over 6.7 million records and it is
    becoming slow. What is the best method to optimize the DB for this
    Search.
    Do I need to create a column that
    will have a keyword associated to a description of each record
    or.... and search this particular column for the Records?. My
    clients records at time are store like "Bolt, Flange" and some are
    stored as "Bolt, Flange 1/4inch....." . Any one with any idea of
    the best methodology of getting this Keyword Search Optimized and
    returning faster query results?
    Thanks

    Consider creating a Verity collection on the appropriate
    columns in your database. The frequency of database update will
    help in determining if this is the appropriate thing to do.

  • HDD for Time Machine and other stuff

    Just a very short question.. Can I use my external harddrive for Time Machine and for example putting files on it to take it to my friend, or the otherway around, put files on it and take it back home?
    The reason I ask this is that I hooked up a USB HDD and it said I needed to clear all the data on the disk first before using Time Machine.

    As you probably already figured out.. I don't know anything about External HDDs. That's why I want you to ask which of those LaCies you would suggest for TM with 40GB of used data and it needs to be fast:
    1: http://www.lacie.com/products/product.htm?pid=11022 (320GB)
    2: http://www.lacie.com/products/product.htm?pid=11013 (320GB)
    3: http://www.lacie.com/products/product.htm?pid=10695
    4: http://www.lacie.com/nl/products/product.htm?pid=10811 (only a Dutch link, I'm sorry)
    Hope you're able to help because your help is fabulous so far!
    Message was edited by: FiveMenM

  • Switch hard drive from local to Airport Extreeme for Time Machine Backup

    I have an external drive I am using for time machine backups for my iMac. I have an Airport Extreme and would like to use it to backup my iMac and my Macbook Pro (wireless). I have a PC that would be nice to backup a few things also, but not mandatory.
    If I move the hard drive from the 400 FireWire port to the Airport, will it need to be reconfigured to allow for backups on teh network? Will it erase (or will I need to erase) the drive's current backup data of my iMac? Do I need to partition it to allow for multiple machine backups?
    Thanks.
    Matt

    If I move the hard drive from the 400 FireWire port to the Airport, will it need to be reconfigured to allow for backups on teh network?
    No, as long as the external hard drive is formatted in either HFS+ or FAT32 it will be recognized by the AirPort.
    Will it erase (or will I need to erase) the drive's current backup data of my iMac?
    Potentially, yes. Time Machine backups are stored differently on local attached drives versus those that are network-based. There is a procedure to "copy" an existing TM backup from an external drive to a Time Capsule that may work for an AirPort Disk (external drive connected to either a TC or AirPort Extreme). However, I would strongly recommend not going this route as Apple does not currently support Time Machine backups to AirPort Disks.
    Do I need to partition it to allow for multiple machine backups?
    For Time Machine this would not be necessary as it will create a unique "file" for each Mac. However, you may have other requirements that partitioning the drive would make sense. Note: You would have to partition the drive prior to connecting it to the AirPort, as the AirPort Utility itself does not support partition management.

Maybe you are looking for

  • Re: Aging Report For GL Accounts

    Hi Friends, Is their any report for aging GL Account? Without any conncection to Sub-ledger It is not reconciliation account, but open Item is managed. Regards, vivek

  • External hard drive not mounting - what's happening?

    All of a sudden one of my external firewire drives is not mounting, but that's not all.... it's not showing up in disk utility, not showing up in system profiler, not showing up on desktop, not showing up in finder, not showing up in Disk Warrior, an

  • Smart Playlist - how to enter "or"

    I wanna create a smart playlist with the following logic: Play count = 0 and Podcast is ture and (album = CNN or "BBC Radio") But i found i cannot make the smart playlist understand "or". Anyone have idea? Thanks.

  • Filename -v- Title

    Most of my photos get imported into iPhoto (08) sporting the file name -- usually something like "DSC0001.jpg" -- into the space reserved for the "title" in the information panel. This is also the title that is displayed when I upload the photos to s

  • BFILE type in Developer 6.0

    Anybody tryed to retrieve data from table with the colum of BFILE type? Any success? If yes, please let me know how you did it. null