-
Posts
2,767 -
Joined
-
Last visited
-
Days Won
17
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Grampa_of_Oliva_n_Eden
-
-
This discusion reminds me of the "Why would you want to waste all of your CPU on a mouse when can do the same thing with a keyboard?".
So I say let them talk, I'll go draw pictures.
Ben
-
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.
-
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
-
-
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
-
QUOTE (vultac @ Jan 30 2009, 06:08 AM)
The State Diagram Editor was an add-on tool that now cost extra. You don't need it if you http://zone.ni.com/devzone/cda/tut/p/id/3024' target="_blank">review this tutorial.
Ben
-
-
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
-
-
QUOTE (vultac @ Jan 29 2009, 11:07 AM)
http://lavag.org/old_files/monthly_01_2009/post-29-1233246453.jpg' target="_blank">
Ben
-
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
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
-
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
-
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
-
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
-
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
-
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.
-
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
-
-
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
-
QUOTE (Eugen Graf @ Jan 23 2009, 12:20 PM)
Although I don't care about inplaceness (cough, cough) if you ever find that you have to care about inplaceness then you may want to chase down all of the links and related links that I did not care to assemble in http://forums.ni.com/ni/tagging/view_tag?tag.text=Inplaceness&tag.message_scope=all' target="_blank">this Tag on the dark-side.
Still not caring about inplaceness,
Ben
-
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
-
QUOTE (Manudelavega @ Jan 21 2009, 06:44 AM)
... This array is in a global variable so that other VIs (graphs...) can access it ...A LV Global can not be accessed "in-place" so accessing the data in a global will force data copies for each of its instance in your program.
A beter approach is using queues or an Action Engine (also known as Functional Global).
Ben
-
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.
-
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
Topic about LabVIEW just started on slashdot.org
in LAVA Lounge
Posted
This discusion reminds me of the "Why would you want to waste all of your CPU on a mouse when can do the same thing with a keyboard?".
So I say let them talk, I'll go draw pictures.
Ben