Jump to content

Grampa_of_Oliva_n_Eden

Members
  • Posts

    2,767
  • Joined

  • Last visited

  • Days Won

    17

Posts posted by Grampa_of_Oliva_n_Eden

  1. QUOTE (Aristos Queue @ Feb 4 2009, 12:54 PM)

    The minimum is slightly above 4000 queues, although you probably won't see anything that soon because the refnum is made up of three components, one that is a cycling number and one that is based on something like the tick count and one that is random. Probability is in your favor until you get up around 10000 refnums of the same kind (meaning that if you create 5000 queues and 5000 notifiers, you're probably still safe on both).

    Thank you. Thats the right order of magnitude for what I was seeing*.

    Ben

    * Control on the Fly app where each object had command response, subscription and update queues. 100 objects in both screens. Object (and their queues) created and destroyed (using destroy switch). Most of the time I saw no trouble but if I was loading and unloading (Switching from operate mode to edit mode removed all of the old and reloaded with the new set there where about 800 destroy/create Queue operations required )large designs it was only a matter of time until things "just stopped happening" and my Event logger started complaining about invalid queue refs.

  2. QUOTE (stever @ Feb 3 2009, 07:01 PM)

    Hello,

    I would like to be able to set different parts of my LabView code to run exclusively on different (and isolated) CPU cores... I have LabView (8.6*),... I just want this loop to run as fast as it can, as if it were a regular while loop in the block diagram,...

    Thank you!

    Steve

    I don't remeber which version it was released in but the Timed Sequence lets you specify the CPU afinity.

    Ben

  3. QUOTE (Aristos Queue @ Feb 4 2009, 11:12 AM)

    This has been confirmed as CAR 136680.

    Summary: "Queue/Notifier references can become unexpectedly invalid when using "Force Destroy" option for long-running VIs"

    ...

    Thank you very much for that update!

    I believe I just delivered an app with this bug (that I was writting off as an issue with loading and unloading templates. I was setting up a half-dozen queues for each and destroying them when unloading). My observation fit with the above description if the "wrap-around" occured after about 1000 queues were created.

    So....

    What is the number of queue create/destroys that are required to hit this bug?

    Ben

  4. QUOTE (crelf @ Jan 29 2009, 03:47 PM)

    I have a control on a FP of a running VI - I have a reference to the control - now I want to save it as a ctl file. There's no "save instrument" method for that I can see for ctl references. Anyone got any ideas?

    I'll look again but I was sure I did a Save As for one of my VI's.

    Ben

  5. QUOTE (Antoine Châlons @ Jan 29 2009, 09:02 AM)

    Say I have 2 VIs a.vi and b.vi and both are password protected with the exact same password.

    Then try that :

    - open a.vi

    - hit "ctrl + e"

    - enter the password

    >> you see a.vi's block diagram.

    - open b.vi... surprise, it's unlocked and you don't need to enter the password to see the block diagram.

    For me it's a bug because if a.vi and b.vi have different passwords it does not happen.

    I thinks I should move this to the bug list section, any objection ?

    [EDIT]

    The only reason why I didn't go straight to bug list section is that I was trying to imagine the nightmare for those NI lads working on some NI password protected code... if they have to enter the password for every single password protected VI :o

    Bug?

    Based on the fact that we have an option undr tools (?) "Clear Password cache" NI did put some thought into keeping the password in a cache. Ibeilive this is what makes it mposible search an entire hiarchy and only have to enter the pasword once for all VI protected by that password.

    Just sharing my thoughts,

    Ben

  6. QUOTE (BrokenArrow @ Jan 28 2009, 08:24 AM)

    In a loop performing reads on a card 24 hours a day, (analog inputs in this case), are there any issues with regard to using a Sub-VI or not? Note the JPG, and note that in this case the loop is slow, so we don't care so much about the 2.5uS (?) that it takes to open tand close the VI every loop iteration - I'm just wondering about the effect on memory in the long term. I would definately turn off debugging, but what about any gains with the Prioroty settings? Or Reload for each call vs. load and retain vs. load with callers ... etc.

    The only thing I see that could be different is the cluster. In the lower no-sub-VI loop, LV can reapeatedly through the last value into the buffer that is the output tunnel of the while loop. In the sub-VI flavor the sub-VI does not know the cluster is not being used whil looping so it has to return a copy of that data each time.

    Ben

  7. I'd like the comments supported as well. I don't have a pre- LV7 version of LV handy so I can't be sure but did the pre-LV7 version support comments?

    My I got bit story

    Customer requested I document all ini setting of an app someone esle developed. I did a quick check to make sure LV would not freak over the comments and reading from an ini with comments was just fine. So I commented pages of settings and applied that file to the running system. The system handled it just fine BUT, the first time the file was saved, all the comments where lost! So we turned my backup version of the ini file into an appendix of the formal documentaion and learned a leason.

    Ben

  8. QUOTE (Aristos Queue @ Jan 26 2009, 03:35 PM)

    You say you're having trouble coming up with the inheritance hierarchy... here's an easy way that might not be optimal but would get you started:

    ...

    There you go. Dynamic dispatch magic over a VI hierarchy, generated, almost by rote recipie, from an enum and a set of typedefs.

    Good luck!

    Notes to go with Aristos' posting.

    Don't mess with the icon connector layouts required etc. until your light bulb turns on (ie you are starting to get it)

    Same thing with public vs privates.

    Both of those things can get complicated and are not required to get a handle on LVOOP.

    Ben

  9. QUOTE (ejensen @ Jan 26 2009, 02:51 PM)

    That thread morphed into a "why you should buy Test Stand.

    You above posted code sorta does a lot of what LVOOP does in the sense you are calling the right VI for your widget. The dynamic dispatch does this (chooisng the right flavor of VI) automatically.

    If you are having trouble understanding LVOOP I would like to suggest you start asking "dumb questions"* and let people give you the nudges you need.

    Ben

    * By dumb Q I mean Q's where you may feel dumb, not that they are really dumb Q's

  10. QUOTE (ejensen @ Jan 26 2009, 02:39 PM)

    I was afraid that was the answer I would get. I tried to use LVOOP, but had a hard time getting the hierarchy figured out up front. I started the entire process over after several failed attempts at LVOOP. I'm afraid I need to avoid it until I can get some proper training. I don't come from a programming background and I still haven't wrapped my head around OOP. Any other ways to accomplish this?

    I think it was Shane that posted a Nugget on Function Overloading but I could not find a link.

    Define a cluster with an enum to determine the type of widget and add a variant to hold the data.

    Use the enum to drive a case structure and inside the case cast the variant to the proper type for that enum.

    Sorry I could not find the link,

    Ben

    PS LVOOP would have been my first suggestion as well.

  11. QUOTE (pallen @ Jan 25 2009, 06:11 PM)

    I've noticed these dark lines in my tab controls in Linux. There are a couple of colours that seem to hide the lines completely. But most don't.

    I'm curious if anyone else has noticed this. Is there any workaround?

    Linux.... not sure if this will help...

    On Windows I would check the color depth first and then gradually back-oof on the graphic accelerator options to see if the problem goes away.

    Sorry but that is all I can offer,

    Ben

  12. QUOTE (Mark Yedinak @ Jan 23 2009, 03:43 PM)

    I realize that I am not that active here, more of a lurker, but I simply wanted to announce that I passed my CLD exam. Funny thing is I failed the first time and walked out of that exam thinking I nailed it. I walked out of the last exam sure that I blew it and I passed it quite easily. Goes to show you never know.

    As for the exam itself I have to agree with many of the various topics regarding the certification testing and process. Passing or failing the exam doesn't necessarily reflect an individual's true ability but having gone through the process I can definitely say that I have learned quite bit and I know the process itself has improved my skills.

    Congratulations!

    Ben

  13. I'll add an arguement for scripting

    I have an app that uses SCRAMNet and maps 2 Meg of memory for up to about 50 devices. This mapping is documented in a standard form.

    The mapping can change when engineerings decides it needs re-mapped. It took two developers 3 days to re-map the data fields the last time there was a major change. I wrote Script that was capable of redfining the clusters associated with the mapping and it worked on machine at home. At work it gave me an insane object error while doing the demo for my boss.... I abandoned scripting.

    Ben

  14. QUOTE (Michael_Aivaliotis @ Jan 21 2009, 04:53 PM)

    So far I still haven't heard any valid arguments against releasing it in NI Labs. As the young people say: "All of them are made of FAIL and are pretty lame". Nice try though.

    ...

    The patent for LV has is is due to run out (unless something happened since I last looked).

    MS purchased a company (don't remeber the name) that had intelectual property that rivaled LV.

    Someday, NI is going to have to gird up their loins and put LV up against C++ etc if LV will eventually "take over the world" (Yair's signature).

    Scripting has been the "big hammer" used by NI to develop a lot of the enhancements we have seen recently to LV.

    so...

    Keeping Scripting limited NI can maintain its control over enhancements to LV and force anyone attempting to make a better version of LV (LV writtien in LV?) they will have to work for it.

    Re: The secret slipping out about scripting in the first place.... "Lets let Mickey try it. He hates everything."* Look at some of the early public relese of Scripting utilities. EG The tunnel wiring tool. Look at NI's release of the new linked tunnels in LV 8.6.

    Ben

    * If I spelled out everything in plain English, I would not be neBulus.

  15. QUOTE (Michael_Aivaliotis @ Jan 22 2009, 04:46 AM)

    I can't tell if you're serious or not.

    That is the beuty of brain-storming! The ideas do not have to be serious (and often are better not being serious since they spwan creativity).

    Speaking for myself I like that idea. Now how we get the word out to the instructors of the world.... Maybe we could get it mentioned in the NI Newsletter if we actully implement this idea.

    Ben

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.