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. :blink::blink::wacko::wacko: Too many negations...

    Good luck. If you come up with a cool example, please upload it. It might give people ideas.

    Hi Shinni,

    Yen gave you a good link to get started with the picture control.

    I do have to admit that solutions that require the picture control are not for the tame of heart. They do "let you break all of the rules" in LV.

    Rather than list everything that I have done with it in the hopes that one will be close to what you want, could you post some images so we can visualize what you are attempting?

    We may be able to help you develop something by harnessing the "wistles and bells" built into the other LV objects.

    Ben

  2. to protect the french: ok, their beer is awfull, so I can understand you are a little bit unsure ;) but they can cook meals, you dream off, and the wines from bordeaux are delicious!

    Hi Alfa,

    I appreciate you sharing your thoughts with us.

    Here is a quote by AE you may like.

    "Great spirits have always encountered violent oposition from mediocre minds."

    Some day I'll share my theory that gravity can actuall travel faster than the speed of light.

    Unfortunately, I'd have to destroy a planet to prove it. :oops:

    Ben

  3. Uh oh, Ben mentioned Nazis. I am officially invoking Godwin's Law and declaring this debate over. Since Ben was arguing that the April Fool's joke was not funny, it is officially deemed funny.

    Oh, and all of us Big Brothers over in LabVIEW R&D think Michael's April Fool's joke was hilarious...

    -D

    Well I can't say I knew about that rule!

    Does it apply to Premium Members as well?

    Ben

  4. It's quite possible that I'm not the only one who tends to believe people, especially when they bring bad news.

    You need to remember that we (at least some of us) don't know you personally, we don't know the exact nature of the relationship between you and Jim (for instance, why do you post a question instead of asking around the office first?), we don't know exactly how much of an effort it is to maintain this site or how much it costs and we do know that NI does have a tendency to take over competitors. Just remember how Ben Bailey explained his views here and then did come to a compromise with NI. I don't know how the MCC situation turned out, but these things do happen. You're right that there were some dead give-aways, but as I said, people tend to believe bad news.

    Also, people don't always "think". Sometime they just react as they hear something. I can say that my first reaction was "O.K., that's bad. How do I get the most out of this?". Only later came thoughts about the other meanings. I will just say again: "That's not funny!". :wacko:

    The use of NI personnel participance was a good point, though. :P

    Not to justify my reaction but to explain it...

    Within the last year or so I completed reading Shirer's (sp?) The Rise and Fall of the Third Riech (sp?).

    I read it because I took to heart what I think Benjamin Franklin siad "Those who fail to study history or doomed to repeat it" (or was that "We can only peer into the future by standing on the shoulders of the past." Whatever!).

    I came away from that study with the leason "The US did NOT defeat the Nazi's (actually it was Rusia, and the US was just a diversion) the US became the Nazi's"

    I had also decided to become a Premium LAVA member and start participating here after being censored one too many time on the "other forum".

    So I am paranoid.

    It will be the scientist and engineers of our age that will be the first to be shut down. We (the scientist/engineers) have filled the niche that had previously been occupied by the "priestly class". Just stop and think about what is "good" or "bad" to eat. In the US it is the scientist and engineers tha decide what is "good" food and what is "bad".

    As such we (the engineers and scientists) have a unique power that is not weilded by others. The US tried to outlaw alcohol and that failed, but just try to find a nice bag of "Pork Rinds" or Wonder bread.

    So from my paranoid point of view, it is only a matter of time before we WILL be shutdown.

    So...

    When I read the orignal "joke" it not so much a shock, but a signal that history is indeed repeating itself.

    Ben

  5. I first "heard" in a private message where someone wondered if I'd read the bad news. I've been out all day and rather preoccupied and I hit "View New Posts" and read the topic from the start.

    All I can say now is, "Well done Michael", this was much better than any of NI's April Fools. :worship:

    I can also say that, at the moment, while my blood pressure still needs a logarithmic scale to be read, that it's a really really good thing for you that you're on the Left Coast ...

    I may need a heart transplant...

    :nono:

    Add me to list of people who take this stuff too seriously.

    I red the thread before Mr Guy posted and reacted in the only manner that seemed prudent at that time.

    I down loaded the entire contents of the scrting forum!

    Ben

  6. My results show that I know nothing about HTML and how to get my results to show up in this thread!

    <table width=350 align=center border=0 cellspacing=0 cellpadding=2><tr><td bgcolor="#CCCCCC" align=center>

    <font face="Georgia, Times New Roman, Times, serif" style='color:black; font-size: 14pt;'>

    <strong>You Are Dr. Bunsen Honeydew</strong>

    </font></td></tr>

    <tr><td bgcolor="#DDDDDD">

    <center><img src="http://images.blogthings.com/themuppetpersonalitytest/bunsen.jpg" height="100" width="100"></center>

    <font color="#000000">

    You take the title "mad scientist" to the extreme -with very scary things coming out of your lab.<br />

    And you've invented some pretty cool things, from a banana sharpener to a robot politician.<br />

    But while you're busy turning gold into cottage cheese, you need to watch out for poor little Beaker!<br />

    "Oh, that's very naughty, Beaker! Now you eat these paper clips this minute."

    </font></td></tr></table>

    <div align="center"><a href="http://www.blogthings.com/themuppetpersonalitytest/">The Muppet Personality Test</a></div>

    Ben

    Edited by Ben

    **LAVA Edit** Ben, I fixed it for you...

  7. That's got to be one of my favourites!

    An optimist says the glass is half full, a pessimst says the glass is half empty, and an engineer says the glass is twice as big as it needs to be.

    Hi Chris,

    I managed to get an official answer to my question re:which thread does a global READ occur in?

    The official answer is....

    "

    Ok, the official word is that local and global variable reads do NOT cause a thread swap to the user interface thread.

    "

    See reply #29 in this thread

    http://forums.ni.com/ni/board/message?boar...76661&jump=true

    on the NI Dev-Exchange.

    This contrary to what I had thought.

    Ben

  8. I knew I should have put a smiley after weight comment. :P I didn't mean to imply... oh never mind.

    I wouldn't have spilled the beans, but since Amazon did so I thought I'd say something. Concerning the weight, funny, my hard drive is still the same, right down to the gram :laugh:

    Another one of my favorite Dilbert cartoons is the one where they convice the pointy haired boss that using a smaller font will help conserve disk space.

    Bureacracy is OK when you know how to twist it to your whim. ;)

    Ben

  9. crelf,

    Thanks for the last one. I see how you did it, now. Transparent meters, white face, small green rectangle instead of an arc. I got hung up on trying to create an arc.

    Darren,

    Appreciate the info.

    B Chavez,

    Thats just what I was looking for. Thanks.

    Roy

    Just for the sake of discussion...

    Show the ramp, customize to adjust the size and then write the marker values.

    That will give you the arc.

    Ben

    Download File:post-29-1143567436.vi

  10. :blink: Oops! :D

    There are a limited number of thoughts that I have had in my life that are worth repeating. For the most part they warrent a "Duh" and not a wow.

    Three that come to mind are.

    1) People always find things in the last place they look because after they find it, they stop looking.

    2) If you are always early you are never late. (Einstien says I'm wrong on this one when the speed of light is involved).

    3) I can do nothing in less time than you can do something. (Works well for optimizing code).

    Thanks for your help Chris!

    Ben

  11. Final Update (?):

    After testing and personally witnessing the results this is what I found.

    1) Globals are still evil. Eliminating these got rid of "Finished Late" issue due to dragging windows around.

    2) One of the 600+ VI's passing a bad "Period" value into one of the timed loop sub-VI's.

    3) The remaining failing module will be restructured to stream line its processing.

    Once again, I thank you for sharing your ideas.

    Ben

  12. If I remember correctly you can only have one cursor active at a time so when using the property node you will get the value of the active cursor. So what you have to do is set the active cursor property first and then read its value. Another way to do it that I just found would be to use the cursor list property and use the cluster and array functions to get the values.

    In this thread (on the NI Developer Exchange)

    http://forums.ni.com/ni/board/message?boar...=125133#M125133

    Chilly Charlie posted some examples that show you how to access all of the hidden properties of the cursor pallette.

    I hope that help,

    Ben

  13. Years ago I read a posting by either Jim Kring or Jean-Pierre about NI's patent for a 3D bloack diagram.

    Does anyone recall this discusion and have any info on this subject?

    Ben

    BTW: Many times my mother looked at me and told me "Benny, don't ever get old!" Well I did not follow her advise and sometimes remember dreams as if they were memories.

  14. Update:

    After reviewing our notes and more testing, our observations indicate that the problems may have been the timed loop itself.

    We replaced the timed loop with a while loop and then replaced that with a Timed Loop and now that module is not repoting any "Finished Late" events.

    I have asked for four more test runs to confirm the fix.

    I have no plans to return to using the global "Stop Boolean".

    I will update more when the testing is complete.

    Again thank you for your "processing time".

    Ben

  15. hmm ... but then he must have REALLY a lot of globals in his software. I usually use about 20 - 30 globals in a project. Most of them contain "system variables", which are written once at the programm start with things like: application path, path to database, is an exe, path to the ini file, and other programm specific configuration settings read from the ini.file ... and I never experienced any of the problems mentioned in the initial post.

    But I can imagine, if you make massive usage of globals to pass data between parallel while loops, there could be a problem. Besides: if you mention, that the CPU load goes up to 75% and you can reduce it to 4%, when using old style globals, my question is: are you shure you haven't programmed a race condition? I mean, the switch to the OSG foreces labview to call the OSG-instances one by one, and as far as I know LV makes it sure, that all instances are called in the one iteration before the next iteration starts, which inherentely prevents from race conditions.

    (did I make it clear what the point is? sorry, can't explain better [the coffee is bad this morning]...)

    CORRECTION!

    The revised CPU load of 4% were BAD numbers!

    After concentratitng getting rid of the finished late errors and watching the CPU loads we found that we were not getting updates. WE eventually found that all o the timed loops were exeting prematuturly.

    Running a preliminary test WITHOUT GLOBALS show only a small reduction in CPU.

    We are still seeing the FINISHED LATE issues with only two of the 30 Timed Loops. Same two.

    We are going to have to retrace our steps but globals are NOT involved anymore.

    It is currently looking like an issue with the two timed loops.

    I WILL update this thread when I know more.

    Thanks for acting as a sounding board!

    It really helps.

    Ben

  16. Come to think of it - that means that you could write to a global and then read from it again before it's updated. I know that globals inherently lead to race conditions, but the statement above means that even if you force dataflow so a global is written on your BD and then later read, there is no gaurantee that the write happened before the read... :unsure:

    Chris,

    Experimenting indicates that the global reads are probably executing in the UI thread.

    Switching all of the globals (in the timed loops) over to LV2 versions has dropped my CPU loads from 75% and 50% to 4% and 4%.

    Ben

  17. Yes they do (from "VI Execution Speed" on NI's website):

    How Multithreading Affects User Interface Actions

    When you write to a local or global variable, LabVIEW does not switch to the user interface thread immediately. LabVIEW instead writes the value to the transfer buffer. The user interface updates at the next scheduled update time. It is possible to update a variable multiple times before a single thread switch or user interface update occurs. This is possible because variables operate solely in the execution thread. Functional global variables can be more efficient than ordinary global variables because they do not use transfer buffers. Functional global variables exist only within the execution thread and do not use transfer buffers, unless you display their values on an open front panel.

    You are fast Chris!

    Lacking any more info I will have to read that as aplying to BOTH read and writes.

    Now I have to wonder why the two loops in question are always "low man on the totem pole" when trying to get at the UI thread.

    Well, I did give the globals a chance!

    Maybe this will be better in the long run. It was going to get tough deciding to use LV2's or globals for those "single writer, multiple readers" situations.

    Ben

    Globals are evil! :nono:

    Do the loops have the same priority? Do the VIs have the same priority, execution thread, common non-reentrant code? Did it happen before the Spring Equinoxe?

    Come to think of it, we never saw the issue before yesterday!

    All of the timed loops are clones each other (before I started hacking).

    They are given unique names based on which module they are in. I can try ruling that out tomorow.

    Yes I agree they are evil, but I try to give people (and LV functions) another chance.

    Are the new LV8 shared globals just as evil?

    Ben

  18. Hi All,

    After some trouble shooting the engineer I was working with looked at me and said "WHY?"

    "Why questions are always the hardest Q's to answer.

    Warning! I am going to be asking about normal LV globals NOT LV2 globals. Using LV 7.1.

    I have to admit that I have very little experience using globals and this is probably my first attempt to use them.

    I am using them in this application because I found that a simple boolean global can be read a lot faster than the best LV2 version I could think of. In my application, the "Stop Boolean" global is only written one place but read in about 250 sepearte loops to indicate it is time to stop.

    About 30 of those loops are timed loops and we noticed that two of the timed loops were asserting the "Finished Late" flag. The actual finish time was about 1 msec after what was expected.

    We found that if we ran the application without the two loops that were flaging the "Finished Late", none of the other loops had problems. If we added either of the two loops that were finishing late, they would again finish late but the others never had trouble.

    Running either of the two loops by themselves never give an error. Add any of the other non-late-finishers, BINGO we start seeing the finished late again. Oh bother!

    I removed ALL of the code inside the loops that finished late except the read from the global boolean and still the loops finish late.

    At this point I had to question the global!

    I replaced the global boolean read with a LV2 style boolean and the finished late erros stopped! :o

    We could not make (dragging a window around on the desktop helped produce the error) that loop to finish late as long as it was using the LV2.

    I restored the global boolean and >>>> Finished late!

    More background info.

    The application dynamically loads all the VI's required to operate. A timed loop is used in every loaded module. This is how I am quickly including and excluding the offending code. Continuing....

    Changing the order in which the modules (timed loops) are loaded did not make a difference.

    So.....

    Why would 2 timed loops always take longer to read a global boolean than any of the other timed loops?

    Do gloabl reads have to execute in the UI thread?

    Thank you for reading,

    Ben

  19. A neat idea (and maybe its already the case?) is if the <customize this text> descriptor was actually able to be customized by those that manage to obtain 500 post status. Maybe Jim's got something fun and creative he'd like to put there! A sorta reward for him being so active (and beneficial) on these forums.

    Congratz Jim,

    Dave

    Does LAVA have a "Board"?

    It is not just "on these forums." He has been proving himslef to be a true LabVIEW Champion.

    One of my favorite Dilbert cartoons (my wife insists I am Dilbert) goes like this.

    Dilbert walks in Radio Hut and is approached by the young sales guy who says "Hi, I am half your age and know more about computers than you ever will, can I help you?"

    Dilbert replies "Yes, I need a half dozen niad-pulse converters and an Anza-brush..... or am I bluffing?" :yes:

    Jim, you are probably close to half my age and you DO know more about LV than I ever will.

    Congratulations Jim!

    Ben

×
×
  • Create New...

Important Information

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