XY graph fails even in random generated data

Hi, 
I have attached the Temp_test.vi and the image of the output on the screen. The vi simulates a temperature reading over long time. The plot shows the data normally, but after a while some earlier genrated points, not the current data drops to zero. Please try it out and see if there are any answers. Running Windows 7 64-bit and Labview 2010 SP1 (LabVIEW 2911sp).
Thanks for your help.
Tom
Attachments:
temp_test.vi ‏52 KB
ScreenHunter_01 Aug. 12 14.33.gif ‏92 KB

I agree this seems like a real bug (now reported here).
You can open the front panel of the express VI and inspect the code. Code looks fine. Maybe there is a problem with the constant dynamic to waveform conversion/coercion?
There are a couple of things I would have programmed differently* (inside the inner subVI of the build xy graph express VI provided by NI), but even changing these points does not make the problem disappear.
*footnote (suggested code improvements for the xy graph express VI):
use a globally initialized feedback node initialized with the empty cluster array (eliminating the local variable and "first run?" primitive).
appending the new array to the old array instead of prepending. (I have no clue why they would add the new data to the beginning of the existing DBL array. Darren showed at his NI week presentation that prepending is more expensive than appending when building arrays).
Similar to the waveform chart, this function needs a configurable history size! (what, only 3 kudos over 2+ years!!!! )
Overall, using the xy graph express VI is a nightmare in terms of memory reallocations. Internally, it constantly converts between dynamic and waveform data, growing inner arrays inside complicated data structures. While I question the need to grow arrays forever in general (it will never end well!) or trying to display millions of points on a graph that is less than 1000 pixels wide (what is the point!), you can avoid the observed problem by getting rid of the express VI entirely and just use a simple shift register. (See attached). It is also significantly faster overall.
Curiously, replacing the timed loop with a plain while loop also seems to fix the original problem in the original VI. Can anyone verify this?
LabVIEW Champion . Do more with less code and in less time .
Attachments:
temp_testMOD.vi ‏30 KB

Similar Messages

  • Detection Method of Date Modified fails due to copied files date modified change

    I've been working through an issue for some time now and I think it's a bug with SCCM 2012 SP1. I've built literally 50 deployments in "Application Management" in SCCM 2012, but I've been chasing my tail on a few of them throwing the
    "succeeded but couldn't detect" error. The few that have given me problems are all copying text files and then detect the modified date to verify that the file is there. All worked when I initially built them in Windows 8 but are now failing
    randomly...even on a machine where they previously worked and I deleted the files to test the deployment again. 
    What I'm doing:
    My java deployment requires policies which we control with the Deployment.config, deployment.properties and java.policy files. A simple script creates the directories and copies the files. I then create a deployment type for this "ConfigFileCopy.cmd"
    and create a detection rule for each file that I am moving over. The detection rule looks for a "date modified" date between the beginning and end of the date for the day I modified the file. This allows me to modify the files to change our
    java policies and then redeploy them with the "new" modified date as the detection rule, which forces the update.
    The problem:
    When I first created my deployment, everything worked pretty well. The files copy out and the script runs successfully. There were some minor tweaks I need to make to my scripts, so I did and then updated the content for the deployment type. I believe this
    is where things go a little wonky. At this point, my deployment starts failing with the "0x87D00324" error.
    Looking through the logs, everything looks good. The reason configuration manager is failing on detecting the modified date for those files, as it turns out, is because the modified dates don't meet the criteria. So that part is properly failing the detection.
    The problem is that the modified dates are correct on the server but not the client. Looking in c:\windows\ccmcache, I can see multiple folders....presumably one for each version of the application that I updated. Looking at any of the newer content folders
    for this app, the modified dates are the date and time the file was copied out to the workstation, which is incorrect as the file hasn't been modified during that process.
    The odd part, is that this doesn't happen EVERY time on EVERY machine. My primary desktop is windows 8.1 and received the files correctly and installed without issue. My test win 8.1 laptop initially received them correctly, but then as I refined the scripts
    it began picking up the wrong modified dates and started failing.
    I found a similar issue to this existed in SCCM 2007 (http://support.microsoft.com/kb/2276865) so I suspect that this is truly just a bug that hasn't been addressed (or maybe is fixed in R2). Unfortunately
    we have business reasons we can't upgrade to R2 at this time so I'm hoping someone has experienced this and has some sort of work around that might get me by for now. If someone can confirm it is fixed in R2, that would help my case to upgrade as well.  
    I can work around the issue by changing my logic to detect any date greater than a specific date. But I shouldn't have to do that and I'm concerned there are scenarios I haven't thought of that will cause unexpected behavior or failures with that.
     

    This outlines the behavior. It's apparently by design. 
    "SCCM has a habit of changing the ‘Date Modified’ timestamp of all files it delivers when it detects an ‘upgrade’ of the source files for that application. It typically does not touch the timestamp
    of the source files if it delivers a brand new install to a client that has never received the software, however if a single file in the source folder is changed for that application, then SCCM tries to use a previous version of the application in the cache
    (C:\windows\ccmcache) and only downloads the new file that has change. This results in all files having their ‘Data Modified’ timestamp changing (except for the brand new file). Therefore determining if that application has delivered
    successfully using ‘Date Modified’ timestamps is not recommended. The key to seeing this process in action is looking at the file properties in the
    C:\windows\ccmcache\<sccm code> folder for that application, particularly before and after a file is updated in the original source SCCM application folder."
    http://blog.kloud.com.au/tag/sccm/

  • How to produce the digital random generator,which counts 0 and 1 randomly

    hi , i want to generate the digital random generator for my project,which counts the 0 and 1 randomly. can anybody help me in doing this.

    Your question has been phrased in a way to cause confusion to what you actually want to achieve. Are you trying to display the random generator like a bit stream on a graph ie:
    If so then this vi will do that:
    Every time you press the 'Generate' Button it will create a digital array according to the 10 bit random number generated and display on a graph.
    There is a way of doing this using a 'Digital waveform graph', i personally have never used it and after about 5 minutes of just looking into it for you gave up It is something i should spend the time to look into as it presents your digital data nicely, showing the 0's and 1's within the graph.
    If i have misunderstood what you want again i apologise
    Rgs,
    Lucither
    Message Edited by Lucither on 05-10-2010 06:27 AM
    "Everything should be made as simple as possible but no simpler"

  • Randomly Generated Pixels

    Hi!
    I want to create a script that creates random (or near random) values for every single pixel of a document, similar to the "Add Noise..." filter, but with more control, such as "only b/w", "only grey", "all RGB" and "all RGB with alpha" and maybe even control over the probability distribution. Any idea how this could be tackled? Selecting every single pixel and applying a random color seems like something that would take a script hours...
    Why do I need this?
    I've started creating some filters in Pixel Bender (http://en.wikipedia.org/wiki/Adobe_Pixel_Bender). Since Pixel Bender doesn't really have any random generator (and workarounds are limited) I'm planning on passing on the random numbers through random pixel values. I'm well aware that this can only be used for filters in which Pixel Bender creates images from scratch, but that's the plan.
    Thanks!

    Understanding the details of the Add Noise filter is probably beyond the scope of just a short post.  Here is an approach to start learning what it does.
    - Take a 50% gray level and make it a Smart Object.
    -  Open up the historgram panel (should show a spike right at 50%)
    - Apply noise filter to Smart Object in monochrome building up from small percentages in small increments
    - You will notice that for this option above, you end up with a uniform probability function over the entire tonality spread at 50% applied for uniform distribution.
    There are a variety of ways to manipulate this function, through various blends.
    Please note a couple things
    1) I am using CS5 and though not documented anywhere that I have seen, the Noise Filter does work different than in CS4.  In CS4, if you run the same noise filter twice on two identical objects, my experience is that you get the identical bit for bit result ( a random pattern yet not independent of the next run of the filter).  Manipulating Probability Density Functions (PDFs) per my previous post requires that each run of the Noise Filter starts with a different "seed" so that the result is independent of the previous run.  CS5 does this where succesive runs will create an independent noise result.
    2) PS does not equally randomize R, G, and B.  There are ways to get around this yet wanted to give you a heads up.
    3) There are other ways to generate quick random patterns outside of PS and bring them in (using scripts).   You would need to understand the format of the Photoshop Raw file.  This type of file contains bytes with just the image pixel data.  These types of files are easy to create and then load into PS. From a script (or even faster call a Python script) create this file and then load it into PS as a Photoshop Raw format file and use as an overlay.  There is not question that this is faster than trying to manipulate individual PS pixesl through a script.
    4) Please not the under Color Settings there is an option called Dither.  If this is set, there are  times where PS adds nosie into the image (I leave mine turned off).  If is used in a number of places in PS other than what the documentation implies (more than just when moving between 8 bit color spaces)
    Good luck if you are going after making a plug-in.  I have never invested in that learning curve.  Good luck.

  • Error generating data provider-Query cant be released

    Hello Experts,
    I am working on web template (WAD 3.5) where i have 6 graphs each having independadnt data provider (Bex query).
    I also have drop boxes which represents the selection screen of queries attached to graphs.
    'Affected data providers list' of dropboxes consist of all data providers that are attached to graphs in template, as each graph is supposed to get refreshed if user changes drop box selection.
    Template was working fine until i made the change to query 2 which is dataprovider 2 for graph 2.
    Since then i am not able to run template it gives me error -
    -The query cant be release for OLE DB for OLAP
    -Query couldnt be open
    -Error generating data provider.
    As i checkd that qury independantly in query analyzer, its working perfect without any error.
    What could be the possible reason for this error then??
    regards,
    Pritesh.

    Hi Manpreet,
    Use the 'verify' icon in the query designer to check whether your query definition is correct. Also u  you
    can check if you can execute the query in the backend with transaction RSRT2. In  RSRT2 try re-generating
    the query before running it.
    Hope it helps.
    Regards,
    Javed

  • SMS_DISCOVERY_DATA_MANAGER Message ID 2636 and 620. Discovery Data Manager failed to process the discovery data record (DDR)

    Hi
    I'm seeing this critical error on my primary.
    SMS_DISCOVERY_DATA_MANAGER Message ID 2636 and 620. 
    Discovery data manager failed to process the discovery data record (DDR)"D:\Prog.....\inboxes\auth\ddm.box\userddrsonly\adu650dh.DDR", because it cannot update the data source.
    Where these ddr's are actually under ddm.box\userddrsonly\BAD_DDRS folder
    I see a ton of DDR files in that folder. Not sure if I can delete them, so I moved them to a temp folder. AD User discovery keeps generating them.
    Any help ?
    Thanks
    UK
    

    Check the ddm.log file for more information.
    My Blog: http://www.petervanderwoude.nl/
    Follow me on twitter: pvanderwoude

  • I have a big problem. I lost my other device, and Sync doesn't recognize my Recover Key, even if I generate a new one. What to do? I have all my bookmarks there

    ''dupe of https://support.mozilla.org/en-US/questions/934696 - locking''
    The Sync doesn't recognize my Recovery Key ("Wrong Recovery Key") even if I generate a new one. What to do?

    If you have generated a new Recovery Key, then unfortunately the account data that you had before is gone (Sync will wipe all data before creating a new key to ensure it stays secure). So unfortunately at this point, unless you have a backup of your data somewhere, it is inacessible.
    [[I've lost my Firefox Sync account information - What to do]]

  • Randomly generate an ID for SQL Create Table command

    Hi,
    I need help to randomly generate an integer, which i can use as a primary key for the ID of a table field. I have no idea how to do this so that it generates a different number every single time.
    Right now it just increments the ID by 1. Maybe, is there a way to get the last ID value of the table field and then increment starting from that one? thanks

    Your analysis is flawed! One of my main reasons for
    doing this is to reduce the load on the db server. I
    don't have to go to the db to get an id every time I
    need one. Every now and again (usually less than one
    in a 2000) I have to repeat an insert operation.
    You already stated that this was the reason, so I used that as part of my assessment. With most, perhaps all databases, the ability to increment a key is done as part of the insert operation. It requires no additional 'trip' to the database to get the ID. There is so much wrong with your idea, I hardly know where to start. I wouldn't be so firm except you stated that you do this all the time. Even using it once is very questionable I wouldn't want this idea to profilerate to other peoples systems without comment.
    You also said:
    On one project I was having to place usage transaction records
    into a database with each one needing an ID. I started using your
    technique but it was taking almost as much time as the insert of
    each transaction into the database.I agree, and I think dcminter agreed that there are less expensive practices then max(fld)+1 which are in fact using the vendor specific capabilities. However, if this was taking as long as your insert, there was probably something else wrong. For example, if the field you are getting the max value for isn't indexed, or isn't the first field in a contatenated index (an index of multiple fields), then some databases (there are exceptions like redbrick) will require either a full table scan, an index scan or an ackward index lookup to give back the max value. It shouldn't be that way, but it is and you have undestand how your database is resolving max() in order to make the best decisions.
    I stand by analysis and I would suggest that rather then use your method "all the time" that you save it for that unusual situation where nothing else will work for you.

  • Implementing the random generator

    Hello, i have posrted this question in the forum yesterday, and didnt get a reply, so i am reposting, hope i havent violated any of the forum rules? If i have can a mod tell me, delete it and ill try and find my old post
    The problem i am having is trying to implement thwe random generator in to my code, it hasnt been done correctly as its not printing out a list of matches based on the conditons, can someone tell me what is wrong? thanks
    import java.util.Random;
    public class Matchlist
        private studentdetails sd = new studentdetails();
        /** matchList StringBuilder stores the match list in progress */
        private StringBuilder matchList = new StringBuilder();
        private Random studentPicker = new Random();
        private int loop = 0;
        private int matches = 0;
        public Matchlist()
            sd.createstudentdetails();
        /** Method to create the actual match list, returns the list as a string */
        public String CreateMatch()
            int game;
            int yellowStudent = 0;
            int currentGame = 0;
            int matchAttempt = 0;
            while (matches < 70)
                makeMatches:
                for (game = 0; game < 4; game++)//g = game
                    for (int greenStudent = 0; greenStudent < 17; greenStudent++)
                        while (sd.getgh(greenStudent).getGame(game).equalsIgnoreCase(""))
                            matchAttempt++;
                            if (matchAttempt > 800)
                                sd = new studentdetails();
                                game = 0;
                                matches = 0;
                                break makeMatches;
                            yellowStudent = studentPicker.nextInt(17);
                            if (sd.getyh(yellowStudent).getGame(game).equalsIgnoreCase(""))
                                if (sd.getgh(greenStudent).getC_lass() != sd.getyh(yellowStudent).getC_lass())
                                    /** Check to see if the person has played the other person */
                                    if (sd.getgh(greenStudent).checkPlayed(sd.getyh(yellowStudent).getName()) == false)
                                        /** Set the game to the name of the opponent played */
                                        sd.getyh(yellowStudent).changeGame(game, sd.getgh(greenStudent).getName());
                                        sd.getgh(greenStudent).changeGame(game, sd.getyh(yellowStudent).getName());
                                        /** Build the match list step by step using append with \n at the end to create a new line */
                                        matchList.append(sd.getyh(yellowStudent).getName() + " vs " + sd.getgh(greenStudent).getName() + "\n");
                                        matches++;
                                        currentGame++;
                                        if (currentGame == 18)
                                            currentGame = 0;
                                            break;
            /** Convert the stringbuilder into an actual string, then return it */
            String completeMatchList = matchList.toString();
            System.out.println(matches);
            for (int i = 0; i < 18; i++)
                sd.getyh(i).getEmptyMatches();
                sd.getgh(i).getEmptyMatches();
            return completeMatchList;
        }

    Where is it occuring? What are the values of the variabels at that point? We can't even run your code to find out because it could be in the studentdetails class which you haven't posted. I suggest you use an IDE to set breakpoints and step through it in a debugger which will allow you to examine the state of the program a any given point and identify where the NPE is coming from.
    For Netbeans
    http://www.netbeans.org/kb/55/using-netbeans/debug.html
    For Eclipse
    http://pages.cs.wisc.edu/~cs302/resources/EclipseDebugTutorial/

  • Period of Java's random generator

    Hi.
    I am trying to find out how long period the java generator has. I havent been able to find this info anywhere, even though I searched paper indexes, google, java.sun etc.
    It looks like the random generator uses 2^48 for modulus. And I read somewhere that the multiplier is 0x5DEECE66DL, but this info is unsure. I don't know the increment factor either. With this info it would be possible to calculate the period, if it is not given.
    I would appreciate any information about this.
    Espen Sigvartsen
    [email protected]

    Have you checked out the source code for Random? It shows some of values you mention. Below is a snp of the source code. You should check it out it may provide some of the anwsers you are looking for...
        static final long serialVersionUID = 3905348978240129619L;
        private final static long multiplier = 0x5DEECE66DL;
        private final static long addend = 0xBL;
        private final static long mask = (1L << 48) - 1;
        synchronized public void setSeed(long seed) {
            this.seed = (seed ^ multiplier) & mask;
          haveNextNextGaussian = false;
        synchronized protected int next(int bits) {
            long nextseed = (seed * multiplier + addend) & mask;
            seed = nextseed;
            return (int)(nextseed >>> (48 - bits));

  • Normal random generator

    Hello,
    Can I customize "normal random generator" to have a input for seed unless a parameter data? In both, "block" and "block script" solution a only can use seed like a parameter.
    Thank´s in advance.

    OK.
    OBJECTIVE: Create several dll for models using a Normal Random Generator Block
    ACTION: Change the "PARAMETER SEED" to a "INPUT SEED". This way, I will config the dll without need a new compilation with diferent seed parameter adjusted for each dll.
    Thank´s.

  • Why I cannot change the generated data source?

    Hello all,
    I have a generated data source from ODS, now I need to change something on it but the system only allow me to display it even I clicked the pen-glasses icon. Could anybody tell me how?
    Thanks
    Ryan

    Hi Ryan,
    You can't the generated data source from an ODS object, this is becasue ODS supplies delta from change log tables and the export data source / info-source structure should be same as of the change log table.
    However you can change the generated data source-info source assignment of info-cube.
    Hope it helps
    Thanks,
    Soumya
    Message was edited by:
            Soumya Mishra

  • Error while generating Data provider

    We are facing a weird issue while using Design Studio 1.2. Locally the tool works fine but when we use it from BI-Launchpad or through BI Enterprise it gives intermittent error "Error while generating Data Provider"
    Same setup works fine in our Validation Environment.
    We have tried running repair for Design Studio, redeploy the war files, creating new view but issue still exist.
    We have BI 4.0 SP7 installed on Windows 2008 R2 system.
    4 CMS running in cluster, Design Studio 1.2 is installed on 3 Nodes out of 4.
    For now we are using 1 tomcat to access the system to narrow down the issue.
    Experts please help us to resolve this issue.
    Attach is the error message we are receiving

    I am not clear what your data source is, but I recommend checking the PAM https://websmp102.sap-ag.de/~sapidb/011000358700001013822013E because there are some limitations with Design Studio and BI4.0

  • Creating a DBI Report with a Generated Data Source

    Hi all,
    I am on a customer site helping them to implement DBI.
    We're using DBI Designer to create some Custom Reports.
    We're interested in using Generated Data Sources in order to simplify handling of the complex Time Hierarchies implemented as standard within DBI (eg Rolling 30 days, Compare To Periods etc).
    I've read the Metalink Note on how this should be achieved.
    (Note 363529.1)
    Unfortunately, we seem to be in a Catch 22 situation.
    The note states that we need to have BSC v5.3 (or later !) installed.
    The latest patch version of OBSC we can find is 5100729 (BSC.I.delta.12).
    Our belief is that BSC.I is version 5.2 (incidentally, why do we have two naming/numbering "conventions" ?)
    So two questions :
    can we use generated data sources now, or do we have to wait for BSC 5.3 ?
    when will BSC 5.3 be generally available ? (our customer uses HP/UX)
    thanks for any input
    Mike

    Hi All,
    I am a newbie to DBI. Currently going through the documents DBI for Finanicials
    and Payable.
    We have to develope custom reports for Payables and Financials intelligence based on Oracle Reports . I would like to know if its possible or not because I read a thread on Forum ("How do you make a copy of an existing DBI report? ") in which it mentions that it is not possible to edit a standard report.
    And if it is possible how to go for that ?
    Thanks in advance,
    Anant.

  • How to create a new user in IDM 8.1 with random generated password?

    Hi, i want create a new user using a modified tabbed user fom that cannot ask for password and confirm password to the administrator but randomly generate a new password (only when the form is opened in user creation) according to password policy and display it on the form.
    I think it is possible because Reset User Password Form does it, but i don't know how put this kind og logic in an other form.
    thanks
    Marco

    If you want to generate a users password randomly then you could take a look at the com.waveset.provision.PasswordGenerator class inside the Identity Mgr REF kit. Here's an example:
    <Rule name='generateRandomPassword'>
           <Comments>generate a random password</Comments>
           <RuleArgument name='accountId' value='Configurator'>
             <Comments>accountId of the user</Comments>
             <String>Configurator</String>
           </RuleArgument>
           <RunAsUser>
             <ObjectRef type='User' id='#ID#Configurator' name='Configurator'/>
           </RunAsUser>
           <block trace='true'>
             <defvar name='session'>
               <or>
                 <ref>context</ref>
                 <ref>display.session</ref>
               </or>
             </defvar>
             <defvar name='wsuser'>
               <invoke name='getObject' class='com.waveset.ui.FormUtil'>
                 <ref>session</ref>
                 <s>User</s>
                 <ref>accountId</ref>
               </invoke>
             </defvar>
              <defvar name='pwgenerator'>
               <new class='com.waveset.provision.PasswordGenerator'>
                 <ref>session</ref>
               </new>
             </defvar>
             <invoke name='generatePassword'>
               <ref>pwgenerator</ref>
               <ref>wsuser</ref>
             </invoke>
           </block>
        </Rule> You'll want to take the password.password field and inside the Default event handler check to see if waveset.id is null, if it is then call the Rule above.
    HTH,
    Paul

Maybe you are looking for

  • Select-options in module pool. Please respond quickly

    Hi Guru's, I have created a program by following example in SDN ( which contains select options), I have called in the PBO and PAI, Select options which is in the subscreen area appears, but when I am giving some values into the select options Say 10

  • Multiple condition for payment terms

    Hi, I wanted to create new payment terms with multiple combination say for example 95% Payment in Advance & Remining 5% in Net 360 days.  How to configure with multiple conditions.

  • How do I re-format my iPod classic

    have an 80 gig classic and want to totally re-format it. any help? thanks, Mark

  • No image but screen backlight and webcam working perfect

    I own an 13' macbook pro mid 2010 and i got a problem with the display actually my Lvds connector was damaged on my logic board and got it changed but now my screen backlight and webcam only are working and i dont have any image on my display. i can

  • Connecting webservice to SAP XI/PI.

    Hi, I am developing a webservice in Microsoft Visual Studio. I want to access a file which is in SAP XI/PI server(i.e XI server local file). How can I connect to XI server and access the file. Regards, Varun