Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,196
  • Joined

  • Last visited

  • Days Won

    104

Posts posted by Michael Aivaliotis

  1. 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.

  2. 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:

  3. 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.

  4. It seems like your approach will work. I wrote a different version of your method using only queues and no user events. The wait function in the proxy loop can be removed without problem. I just kept it to be consistent with your implementation.

    http://forums.lavag.org/index.php?act=attach&type=post&id=5718

    http://forums.lavag.org/index.php?act=attach&type=post&id=5719 (LV8.0)

    Let's not forget that an event structure is just a queue after all. I like queues over event structures because you can see the inner workings. Your producer event is basically an unbounded queue which is what I've created in my example. In order for all of this to work, you need to make sure the proxy loop is much faster than than the producer loop. Otherwise, your producer queue or user event queue will continue to grow in size because the proxy cannot keep up in the dequeue process.

    What I would like to see from NI is a feature/switch/setting in the dequeue function to allow us to remove a range of elements at once instead of one at a time (return all elements). Then there would be no need for a proxy. The dequeue would remove the number of elements available. Edit: Well, now that I think of it, this is currently possible with the Flush Queue function. Perhaps this is the solution here. Not Sure

  5. QUOTE(yen @ May 3 2007, 11:13 AM)
    The servers are relatively slow as it is and the interface becomes inconvenient when there is a large number of posts to go through.
    The server is the fastest it's ever been. It's a dedicated machine. There is room for upgrade but it's already at about $109US a month which is about breaking even at the moment. Also, we are located in North America so regardless of speed your location will also be a factor. I'm wondering what feature of the NI forums makes it better for viewing a large number of posts? can you elaborate?
  6. QUOTE(Noxious @ May 2 2007, 07:36 PM)
    I have used LabSQL and actually got it to connect to my DB but I had to use the MySQL ODBC 3.51 Driver. However, I don't think installing this driver on every PC that I deploy my application on is a very practical solution.
    Perhaps it's not practical in your situation, but essental. I can't think of any other way to connect to a database without a driver of some sort. The MYSQL driver comes with an installer. Do you have an installer for your LabVIEW application already?
  7. QUOTE(yen @ May 2 2007, 12:41 PM)

    I would suggest again the suggestion we made once of having a very simple LabVIEW test in order to register.
    This is out of the question. All are welcome here on LAVA. I don't want to exclude anyone. Some may want LAVA to be an exclusive club but quite frankly, if it comes to that, it will cease to be interesting for me. In addition to that, the forums will die because everyone will be a lurker reading Tomi and AQ's posts on Greek philosophy.

    This discussion is going in the wrong direction. My original comment was not to HH's or newbies. It was directed towards the forum regulars. Be nice! We all already acknowledge that Homework Huster's are not liked. Fine, that is an issue separate from all other. Other than that, ALL other questions are welcome whether they be simple or complex. I am the first to post stupid questions here on LAVA. If we don't then NI will never fix the problems that plague new users of a feature. Remember, we are all new when it comes to the introduction of new features regardless of how long you use LabVIEW.

    There has been discussion of forwarding new users to the NI Forums. Again, the wrong attitude. I mean, if that doesn't sound like "we don't want your kind here" I don't know what does? Forwarding people to the NI Forums is not acceptable. Links to solutions or key examples/articles are fine but a general "brush off" to the dark side is just wrong and insulting.

    In order to put a closure to this discussion, I am implementing the following policies/procedures:

    1. Homework Hustlers are not allowed on the Forums. No exceptions.
    2. If you think a certain post is a homework hustling type question. Click on the report post to moderator button. This is the only recourse available to you. DO NOT respond to the post. You are not a moderator and posting negative or disrespectful comments will be considered abuse and results in a penalty by suspension of your account for a period of 2 days. If a post has been determined to be a Homework question, the guilty party will be contacted via PM and a clarification will be requested. If the issue is still not resolved to the satisfaction of a moderator, then the users' account will be deleted and all their posts removed.
    3. In general. Do not post comments to any discussion about how the user will be better off on another website or forum. Any comments that imply that the original poster is not experienced enough in LabVIEW or should not be on LAVA is considered disrespect and follows the same 2 day suspension penalty.
    4. Moderators: Only the moderators are authorized by the LAVA Forums to perform any user account suspension/deletion, post editing, post deletion and post moving. In addition, only moderators can decide if a post is a Homework question. Moderators do not read every post. This is impossible. Please use the report post to moderator button to bring anything to the attention of a moderator.
    5. Posting in the wrong forum. Do not respond to a post located in the wrong forum to let the user know it's in the wrong forum. This is the job of the moderator since they have the power to move the post. Again, please use the report post to moderator button. Making comments of this fact is considered impersonating a moderator and is not acceptable.
    6. Spam: If you think a specific post is clearly spam use the report post to moderator button. Replying to such posts only adds visibility to them and makes the problem worse.
    7. Personal Messages: Do not use the personal message (PM) system for LabVIEW technical support, dating, abuse or LabVIEW SN requests. If a member reports to a moderator that their PM inbox has been abused(for any reason) then the abusers' account will be suspended for 4 days.
    8. Member's privacy regarding moderation decisions. All moderator decisions and outcomes (suspensions, deletions etc) will be kept private and confidential. This will allow offenders to recover from what may possibly be a mistake or error on their part.

    I will add these rules to the [wiki]Forum Guidelines[/wiki] as soon as I can.

  8. QUOTE(crelf @ May 1 2007, 10:07 AM)
    It's even easier: just click on " ! REPORT " next to the post.
    Yes, exactly. Members should always use this feature any time they want my attention drawn to a post. I can't be everywhere but the Report Button is the most effective.
  9. QUOTE(tcplomp @ May 1 2007, 12:07 PM)

    I get this message for all LAVA rss'es from Wizz RSS

    An invalid XML was returned from http://forums.lavag.org/index.php?act=rssout&id=3 (LAVA Bug List)

    Also id 9 (LAVA LabVIEW 8) and 2 (LAVA All Programming Discussions)

    Only - ALL of LAVA - (id 8) works OK

    Ton

    tcplomp let's not confuse the issue. LAVA Forums only has one RSS feed and it's working fine. The others you cite have been discontinued for months. The only LAVA Forums feed you should be using is => http://forums.lavag.org/index.php?act=rssout&id=8

    crelf It appears that an older Blog post of yours is not generating proper XML output thus breaking the feed. I'll look into it more.

    I've sent a support request for this issue. It should be resolved soon.

  10. QUOTE(Val Brown @ Apr 30 2007, 06:34 PM)

    Yes, I agree -- and here's where I see the lack of value in using an XControl. Now I'm NOT asking for all of the following functionality to be included in a posted example but I am pointing out that -- at least as far as I'm concerned -- there are shortcomings to using XControls in real world, deployed code. I HOPE the shortcomings that I see relate more to my own lack of familiarity with XControls but....

    Now to me it's easier to architect all of that NOT in an XControl but in the "older" architectures of QMH or ESM using typedefs, etc.

    What you are describing is a complete application on its own. This can definitely be encapsulated into a single VI. If you need to use this functionality then you can call the VI and embed it into a subpanel. Why not?

    QUOTE

    there are shortcomings to using XControls in real world

    I disagree with this. If you ever have to use multiple property nodes to manipulate and customize a UI then this is a good candidate for an XControl. You are not manipulating hardware, you are manipulating UI components based on user interaction or possibly interlock conditions. Based on my experience, manipulating UI's to handle users takes 10 times as long as hardware communication. XControls allow you to reuse this UI code.

    Having stated all this, it does not mean you cannot implement hardware interaction or tasks that take a little too long inside of an XControl. You can always launch parallel process VI's for that. This requires a little more effort on the part of the programmer and is not a built-in feature of XControls.

  11. QUOTE(xtaldaz @ Apr 30 2007, 10:58 AM)
    Ummm, thanks for the ummm...help. There are so many comments I would love to make, but I will refrain.
    I think that's best. :P . Btw, is does your avatar happen to be a jackrabbit? :D
×
×
  • Create New...

Important Information

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