-
Posts
2,767 -
Joined
-
Last visited
-
Days Won
17
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Grampa_of_Oliva_n_Eden
-
-
QUOTE(Pana-man @ Aug 23 2007, 08:02 AM)
Not wanting to take the credit, it was suggested up higher. If you click on the link to my samples, there is a template ready to download that provides a base framework. Amazingly similiar to others I have seen. I guess when you are on the right track, you start to see convergence on simularities. It implements all that I have suggested above, And can very easily be modified to a two loop machine. The one feature I have not seen in similiar architectures is using a multiline string to add states rather than the pesky array constant. For me, it makes it infinitly more readable. For all, feel free to comment good or bad.Like your signature, I'm always willing to learn.
Since I came into programming through the back-door I have never received any formal training in programming (LV courses and intro to C are the exceptions). So rather than getting the "this is a car and it consists of a suspension system, a..... I learned to code by examining first a bolt and then a nut and the two put together are a fastening system...
So hearing this from the "top-side" helps a lot.
Ben
-
QUOTE(Pana-man @ Aug 23 2007, 12:21 AM)
This reminds me of a conversation that went on some years ago petitioning NI to remove sequence structures from LabVIEW as well as another that wanted global variables removed. The core of both arguments was actually due to poor user implementation, and NOT the actual tool itself. This framework, like any other tool works just fine if the programmer has discipline. naming states with some sort of grouping method, logical dividers, a state, for debugging, that catches undesired cases, a cluster that is passed thru so that adding/deleting variables that need to be accessed in every state is on ONE wire, some sort of error handling routine AND the ability to log what the machine is doing are MUSTS. GEE, just like the arguement to remove GOTO statements from basic and fortran when I was doing that in the late 80s. The environment and frameworks are never responsible for making up for poor programming. This is not a criticism... When I look at my original labview code from back in 1993, it is enough to make me puke, but the race conditions, lockups and other problems I had back then were due to my poor programming decisions, and NOT from the ability to shoot myself in the foot! My $.02. No inflation here. LOLThe suggestion to group and organize the steas is a good one. I'll pass that on to the engineer who has to work with that app.
Ben
-
I have not used it because I just did not get it.
I have started reading on OO and it sure looks a lot like what I do every day. It looks like it is just a vocabulary thing with me. It is starting to click. I hope to implement LabVOOP in some experiments before trying it in a real app.
Ben
-
Thank you to everyone for their replies.
So it seems like the QSM will live for a while and that 2-10 states are recomended AND that a QSM with 60 states is a nightmare even for the most experienced QSM'ers.
???? Follow-up Q for those that use the QSM ????
Are diagrams ever used to document these critters and if so, could you post a sample diagram (just an image not your code) that illustrates the operation of a semi-complex implemtation?
Thank you,
Ben
-
-
-
-
Thanks for starting this poll.
I have a theory that can confirmed or contradicted by this poll (well not really).
Ben
-
QUOTE(purehemp @ Aug 18 2007, 03:26 PM)
...For example, I dropped out of Engineering and started Geography, and I heard a lot of physical nonsense...A true understanding of all things is beyond our capabilities. We have to team up and trust each other to report on their area to the best of our ability.
We are also responsilbe for evaluating what we see hear and read (unless we choose to reamain asleep, or is that "a sheep").
Ben
-
-
QUOTE(crelf @ Aug 17 2007, 04:25 PM)
What a bunch of bovine scatola !
Beat Christian to Knight of NI status and that will be impresive.
http://forums.lavag.org/index.php?act=attach&type=post&id=6671
You may get Knighted by Jeff K himself.
Even if you don't beat Christian to that mark but you beat me (and I'm still alive) I'll buy the :beer: to celebrate!
Yes YEN the offer is good for you as well.
Ben
-
QUOTE(Kevin P @ Aug 17 2007, 12:04 PM)
Good question. I'm particularly interested in the I32<-->U32 kind of case.I've been carrying around a factoid in my head for several years that such a conversion involves merely a reinterpretation of the bits and does not have to make a data copy. Probably back somewhere around LV RT 6.1, I did some execution time testing for converting a large array of U32's into I32's. At the time, I thought my observation was that the execution was too fast to include any memory allocation (didn't have the "Show Buffer Allocations" tool available). So I took that to mean that conversion between signed and unsigned ints did nothing to change or copy the bits in memory, it just reinterpreted them.
I've been relying on that factoid for a long time now, and will now have to see if I've been fooling myself.
P.S. Were there any weird behaviors of the "Show Buffer Allocation" tool, especially when it first came out? Somewhere along the line, I developed a degree of skepticism about that tool though I don't recall exactly why. It seems like everyone else finds it to be extremely reliable.
Same on the skepticism for the Profiler tool, only much more so. I have only rarely found it to be even a little bit helpful at tracking down memory or CPU hogs. I had an app running 24/7 for weeks. Windows' task manager would show me losing ~2MB available memory per day. But the Profiler couldn't find any vi with growing memory consumption. The max usage of any vi kept showing up at about 350 K, even after Task Manager had dropped by 100 MB.
-Kevin P.
The buffer re-use only is valid after a save 9actually a recompile) and if you had not done that, you may have questioned the lack of a buffer.
The profile tool had a problem where it was not updating mem useage, but I do not remeber when that was fixed and what broke it.
Sorry!
Ben
-
QUOTE(jzoller @ Aug 17 2007, 11:32 AM)
That reminds me Stephen, is that were you got the "mu" from?
Ben
-
QUOTE(crelf @ Aug 17 2007, 10:51 AM)
showInplaceMenuItem=True
For LV 7.0 and prior. It those versions you had to look at the buffer for each wire one at a time.
Ben
-
QUOTE(Tomi Maila @ Aug 17 2007, 08:36 AM)
My educated guess is that LabVIEW will not reuse buffer in type conversions in any situation. This is confirmed by 'Show buffer allocation' tool at least for I32 -> U32 conversion (assuming the tool works properly). LV 8.5 in-place structure doesn't help as the input and output type must be same when using the structure. You can fairly easiy test ifI'm leaning the same way.
even an I32 > I32 feed from shift registers and stored in SR's still copies the data at its input.
Similarly for string to U8's.
Ben
Note: This has changed with newer version of LV. See NI link for Christian example.
-
-
QUOTE(TG @ Aug 16 2007, 09:20 PM)
Truth be know I wish I had more > really good < books on software engineering to refer to.I have several but few are really good ones.
LabVIEW Advanced Programming Techniques Second Edition by Rick Bitter, Taqi Mohiuddin and Matt Nawrocki
There are so many books out there but budget is limited and so.. how to find the good ones to spend wisely? hmm..
The local library serves my needs. If they are really good then I start begging my wife.
Ben
-
QUOTE(dsaunders @ Aug 16 2007, 02:42 PM)
...Adding in the complexity of preemption and priority scheduling to the architecture already described is chaotic.
David
I was trying to sit back and try to learn something but your last comment has me smiling becuase of two statements from people around me.
One said "It is like using a bunch of "goto" statements". The other was my wife who has repeatedly said "Goto statements introduce chaos."
Ben
-
QUOTE(Paul_at_Lowell @ Aug 9 2007, 12:54 PM)
...I still had many questions, so to find out how UML fits in the design process (why and when to create UML artifacts, their relationship to Object-Oriented Analysis and Design, design patterns and principles, and the software design process itself--particularly the Unified Process) I read--and highly recommend--Applying UML and Patterns (3d ed.) by Craig Larman. This book offered the most complete picture I have found thus far.
...
If I had to recommend just one of these to read it would definitely be Larman's book.
Wonderful suggestion Paul!
I have only read the first 10 pages but the things I have read Stephen and Tomi write are already making sense.
Maybe I'm not so "st-OOP-id" after all. :thumbup:
Ben
-
QUOTE(NormKirchner @ Aug 15 2007, 06:19 PM)
No No No, the code exists to easily figure out from coordinates where the change happened. Doing the compare is just too much overhead.But I will say that there are times that it is warranted, this just doesn't seem like one
I know what you mean Norm.
Can you find the thread?
Ben
-
Although arrays are not automatic, they can be done.
THe example below illustrates a method that works on 2-d array.
http://forums.lavag.org/index.php?act=attach&type=post&id=6635
Not Equal compare agregatres inside nested For Loop structure to get array of changed.
Divide index by column count gives row and column. Index NewVal on you know what changed and what the new value is. Old value optional.
Array size change detection is left as an exercise for the reader.
Ben
http://forums.lavag.org/index.php?act=attach&type=post&id=6636
-
Don't fight this battle alone.
Let NI do their job. Get the local sales guy on the line and let him work on showing the higher-ups what LV and NI have to offer. If your oragnization wants to standardize LV out of the game, NI has a lot to loose.
Make a phone call.
Ben
-
QUOTE(shoneill @ Aug 15 2007, 10:01 AM)
...On a side note, am I the only one who uses a seperate UI loop (hiding controls, scaling charts and so on) for their code? I guess I'm trying to prevent my main loop from switching to the UI thread for hiding and showing controls, but I don't know if it's overkill or not.....
Shane.
No, I try to do all of the UI work that can be accomplished quickly ( < 1 second) in the GUI loop and anything that takes time gets passed off to a slave loop.
Ben
-
Find out who and congratulate them in this thread.
http://forums.ni.com/ni/board/message?boar...message.id=4022
Ben
Writing configuration file
in LabVIEW General
Posted
Warning! Shameless plug follows.
I will be posting a Nugget on a technique I discovered for accessing complex data structures entities starting only with a generic reference to a control on Sunday evening.
It should survive LV upgrades structure redefinitions and re-ordering of clusters.
I'll post here once it is posted.
End of Shameless plug.
Ben