Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,217
  • Joined

  • Last visited

  • Days Won

    120

Posts posted by Michael Aivaliotis

  1. btw, those are warnings not errors. All web pages generate warnings, even on ni.com. This is a way of life on the web. Some declarations only work for certain web browsers. If a browser does not recognize something, it generates a warning like the one's you indicate.

    Sometimes however I have noticed that the Google ads cause pages to pause for a while before they load. Haven't investigated this yet but I will soon.

  2. There is no such thing as a Global constant. Globals exist in only one form. They are nodes that are placed on the diagram. In the Functions palette>Programming>Structures>Global Variable. After placed, double-click on the black node to open the Global front panel to place your data type controls.

  3. Just found out from this post that NI has setup an online method of running and executing LabVIEW with 3hr time slots. This is freakin' cool! It's an actual personalized VMWARE image on a Windows machine that is created just for you! I just went and tried it and have learned this:

    • Initial startup is slow because your computer needs all the Java stuff loaded.
    • Subsequent startup takes about 3 minutes.
    • With every new login, you get a fresh 3 hrs.
    • It worked fine in IE7 and FF2.
    • The trial machine has access to the internet which means you can actualy program something, zip it and upload it? Why would they allow this?

    Of course, after this post, I'm sure we're gonna crash the servers... ;) . Watch NI cripple it after this announcement :( . I can see this as a useful tool to use when you don't have LabVIEW installed on your computer. I guess the question is, why wouldn't you have LabVIEW installed?

    Edit: It seems this all runs a bit quicker in IE7.

  4. QUOTE(BrokenArrow @ May 8 2007, 05:44 AM)
    ...but ultimately the Serial Port Write.vi is unchanged. Should that be renamed per loop?
    This is testing my memory since it's been a while with 5.1. I had it installed here but took it off for lack of HD space. I would rename the Serial Port Write.vi, per loop, see what happens. I agree that you shouldn't bother with massive cleanups at this point. Actually, that might cause even more problems. It sounds like a complete re-write is in order, if anything. I feel your pain, having been down that road too many times myself. I wish I was there beside you to help out... :thumbup: . Hang in there.
  5. Steve Jobs is an iWitch

    <object width="425" height="350"><param name="movie" value="http://www.youtube.com/watch?v=xgZKjJt-TkU"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/watch?v=xgZKjJt-TkU" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>

  6. Are you referring to a specific vi server method or the general concept of publish/subscribe?

    I would think that if you create a queue and then dequeue this constitutes a publish subscribe one to one. If you need multiple subscribers then you would have to somehow create an array of queues. When someone subscribes, you add a new queue to the array. The publisher in this case would have to put the message onto all the queues.

  7. Just an update to let everyone know that the LabVIEW Wiki has seen some activity and I am happy that some of you have come forth and have taken the step to contributing to the LabVIEW Wiki. Your efforts are appreaciated however small or large. Recent new articles:

    [wiki]Error cluster[/wiki]

    [wiki]Control References[/wiki]

    [wiki]Converting a Sensor Voltage Input to Physical Units[/wiki]

    [wiki]Psuedopath[/wiki]

    [wiki]LabVIEW ini File[/wiki]

    [wiki]CAR Number[/wiki]

    [wiki]Uninitialized shift register[/wiki]

    There were other minor edits not listed here.

    Also, I have made extensive updates to the Wiki Help for new users. Don't forget to check out the FAQ section as well.

  8. Sometimes you need to make decisions like a Ninja. Kill first ask questions later.

    <object width="425" height="350"><param name="movie" value="http://www.youtube.com/watch?v=khS4zlinxk0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/watch?v=khS4zlinxk0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>

    Let's all have fun. Thank you all for your comments and opinions on the matter. If there is anything else I need to be aware of, please don't hesitate to PM me or report a post.

    This thread is now closed.

  9. QUOTE(Thang Nguyen @ May 4 2007, 07:43 AM)

    I see that they put everything in the buffer then plot it out. We can use an array and append a new value into this array and plot it out at each interval. If I do a test for three days. This will become a big problem with memory for a multiple plot. Is there any better way?

    You can modify the array so that you only view the last n points. Once it reaches a certain size (which you determine) delete one old data point from the array before adding a new one.

  10. QUOTE(robijn @ May 3 2007, 02:13 PM)

    The people that were "abused" sent me personal messages complaining about their treatment. The people doing the "abusing" (I use the word "abuse" for lack of a better word) are not official LAVA spokespeople so I want to make it clear as to who does the abusing. If anyone is going to abuse anybody it should be me. I never mentioned any layered system. Anybody can still be involved. Just click the Report button anytime. There is nothing else you need to do after that. A moderator will take over. Just in case you all are not aware, the only moderator right now is me. Let me be the bad guy and take responsibility for cleaning up the forums, you don't have to. I already do this on a daily basis anyway.

    QUOTE(robijn @ May 3 2007, 02:13 PM)

    I hope LAVA will continue to serve the purpose that it was set up for. If too much noise is present it will not do so anymore for me and I will use it less. If more users do this, there will be a gradual process of decay over the coming years.

    What do you consider noise? Questions like: "I'm getting error code 15 when running this DLL"? People come to the forums to ask questions and get problems solved. Sometimes, there are exploratory posts that lead into interesting discussions but they can't all be like that. I always start my posts with a question. I can't think of anyway else to do it.

    It's true that we are reaching a state where LAVA is getting very popular and everyone is joining in the discussions. You cannot blame people or scold them for walking into a "members only" club where there is no doorman, nobody checking your pass, and no sign on the wall. If that's what you all want then I don't see any other way than to have no guest access, login required, a monthly fee to join and a photocopy of your CLA certificate. Everyone is familiar with the experts exchange. This will definitely clean up the forums.

    On the other hand, we can just move on and try to be as involved as possible in LAVA. When I started the forums, I was the only guy answering posts, sometimes spending an hour or 2 rewriting someone's code to repost to the forums. Other times posting examples and long answers. I had no Idea who was on the other end nor cared. I'm just generous that way. But I'm sure that by doing this I earned many loyal members and inspired others to do the same.

    It's unfortunate that there are some HH's that want packaged solutions to their school problems. These people will be dealt with and this discussion will be history. I'm not concerned about that. What I am concerned about is that as a result of this discussion, we now have long time members doubting if they are advanced enough. What is the criteria for advanced? Can someone define this? Other than checking everyone's certification credentials I don't see how? Putting all LAVA members through a test? Is this really necessary?

    The only practical solution at the moment is to let the natural order of things dictate as it always has. We all need to roll up our sleeves, come out of the shadows, and put in the effort to get involved in the discussions. The more "advanced" noise we create the better. :thumbup:

  11. QUOTE(Tomi Maila @ May 4 2007, 12:08 AM)

    I don't think flush queue would be a replacement for lossy queues. The problem is that if consumer loops is undeterministic, then the queue may get full, no matter how many elements you are able to dequeue at once. Consider for example that your consumer runs in UI thread and the UI thread get's busy for an external DLL call or heavy UI refresh. As a result your queue can gets full because your flush queue does't get called in time. This results in producer not being able to enqueue elements and the determinism of producer loop is lost as it becomes entangled with the consumer loop.
    I agree that the situation you describe is bad, however this is a simplification of what happens in a properly architected system. Understanding that you are consuming data, you would not put your consumer code in a situation where there is a chance for it to hang due to UI interactions. A dedicated parallel process would probably be instantiated for this. It's not that important that your consumer be fast but that it always consumes at a steady rate without stopping.

    If you leave the queue unbounded (or a very high value) then you will notice the queue size stabilize at an acceptable value. This would not work with a fixed small queue size of 10. I modified the example to use a flush queue and even set the producer to 1ms and the system kept up fine. I agree however that when a limited queue size is required, this would not work. On the other hand, letting your queue size grow or fluctuate is not good for determinism either.

    All of this really depends on the speeds involved. If you have a fast producer loop with a really slow consumer then the proxy design seems like overkill since you will be missing so much data that it's probably better to use a notifier mechanism instead.

    Overall, your suggested design should work but I probably would use RTFIFO's in regards to LabVIEW RT and determinism.

×
×
  • Create New...

Important Information

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