Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,217
  • Joined

  • Last visited

  • Days Won

    120

Posts posted by Michael Aivaliotis

  1. Thanks, I've already been looking in the Write to SGL File VI, but didn't want to change it. Copying and editing is a good idea! Thanks!  :thumbup:

    5120[/snapback]

    I know this is just symantics but in situations like this you can just open the original VI and do a "save as" then give it a different name.

  2. Good eye Michael!

    And a picture just big enough to make everyone VERY curious.

    Barrie

    4863[/snapback]

    Well, if you consider that the dimensions as stated are 1.5" square, it's very small. I like it.

  3. Hi!

    Is it possible to change a horizontal array of leds into a vertical array with some clicks?

    Or must I build it new in vertically arrangement?

    4648[/snapback]

    Sarah, a 1D array can be displayed in both horizontal or vertical. You just need to stretch the array with your mouse down instead of across.

    Unless you are referring to a 2D array? Then you must use the "Transpose 2D Array" function.

    post-2-1114542994.gif?width=400

  4. This was posted to the NI forums and I'm copying it here for commentary.

    It seems that all issues brought up by the community have been addressed. This includes the non-compete language which I personally didn't expect to be changed.

    I'd like to here feedback on this from the LAVA Forum members.

    Over the past few months there have been many postings about software activation and NI
  5. michael,

    and everyone that has offered it, thanks for the advice.  i looked at the presentation and was intrigued by the Queue diagram on page 41.  i was not able to find that code in the download.  is there any chance i can get that actual code?  i have retrofitted some early projects with queues and notifiers, but this is the first project im trying to use queues from the start and i would like to get it "right", if there is such a thing. :)

    thanks,

    robert

    4591[/snapback]

    Actually, this is my favorite little piece of code. It was impossible to cover everything in a 1 hour presentation so I left this code out but I should add it in. Here it is:

    Download File:post-2-1114377201.zip

  6. Why bother checking if it exists? Also, you should just install all the required files yourself instead of calling the NI msi file. I've been doing this for years and have never had problems with my apps not working. By doing this, you let the run-time files become part of your application setup. In order to see what needs to be installed from the run-time, just install the run-time on a virgin machine and take a look at the attached image.

    post-2-1114375224.gif?width=400

  7. how many separate loops can you get away with?

    thanks,

    robert

    post-981-1113333476.jpg?width=400

    4521[/snapback]

    Use as many as you feel comfortable with. There is no limit or right or wrong. One thing I would comment on is how you implement and document them. If you are using 2 loops in parallel then it's ok to have both of them on the same diagram outside of a sub-vi. This is good especially if the communication is mostly done between the 2 loops. As things grow in complexity however you will find that displaying and debugging code with 4 or more loops (on the same diagram) gets complicated. I would suggest you download and review some of the code in a presentation I gave a while back.

    http://lavausergroup.org/niweek2004/meetin...niweek_2004.zip

  8. I'm just throwing this out there to see if anyone else has had this problem. I have a M series DAQ card connected to an SCXI chassis that has a thermocouple module in it. The issue I'm seeing is that after a power failure, when the labview application starts talking to the card again it gives back an empty array of data from the DAQmx vi's (with no errors). The solution is to re-create the DAQmx channel configuration. If the system is shut-down and re-started gracefully then all is fine.

  9. i didn't know about the memory usage of the lv2 global versus the shift register aproach i used before.

    4419[/snapback]

    I would think that the memory usage would be the same since both approaches use a shift register. The only thing I see is a bit of overhead during the conversion process from variant to datatype. Also you have the issue of a call to a VI which takes up very little cpu time but a VI call nonetheless. If this VI will be called from a single caller all the time then I don't see the point. I would prefer to use a shift register in the caller. Like I said before, this would be a good a pproach if this VI is called from multiple callers.

  10. cheers dide :)

    only thing that i've noticed now is when I hit the stop button there's quite often a lag of about 4-5 seconds.

    Ideally it's meant to be an emergency stop - it halts all the parallel processes then the next part of the sequence writes zeros to all the ports to halt all activity.

    It was quick a while back, but now it's got a lag in it - down to those 'wait' functions you reckon?

    4420[/snapback]

    Well, one quick thing I can come up with is the following (see image). This will speed up your longest loop. to detect the button press faster. You can do this to the other loops as well but you should use the tic count timer instead of the seconds since function. This will give you finer resolution. There is probably a slicker approach but this is the best I can do quickly.

    post-2-1112629316.gif?width=400

  11. Well, the approach really depends on what you are trying to do with the data. For example, is the data usually written to all at once all the time? If so then you might want to always write the data in one shot as one cluster. The only time I would write individual values would be if the writing will happen in multiple places in my code.

  12. sorted! pretty chuffed me thinks :D

    4413[/snapback]

    Well, all looks good as far as I can see. Now that all processes are in parallel, the queue messaging architecture makes more sense. This way, if one process is waiting for a message, it doesn't hold up the others. Good job! :thumbup:

  13. Sorry, one more thing, if this can be done using queues, would you/anyone happen to have an example?  I'm the type that has to look at a program to understand it.  Thanks

    Matt

    4378[/snapback]

    Ok, here it is is. I built a LV6.1 example that shows how to have a server that sends data to whomever requests it. This one shows 2 clients and is done with parallel loops for simplicity. Of course these can be put into Sub-VI's. The datatype used is string but you can use anything really. I know some people use variants.

    Enjoy.

    Download File:post-2-1112239412.vi

    post-2-1112240139.gif?width=400

  14. if there a way to put a delay in without making the rest of the program suffer as a result? :(

    cheers :)

    4373[/snapback]

    Yes. All you need to do is separate the VI's into separate parallel loops. This will allow the "slow" VI's to run at any speed they wish and the other VI's won't be affected. It should be straight forward but if you need any help let me know and I can post the modified code.

  15. Hi John:

    Thanks for the info--

    I'm running 7.1.1 now, but come to think of it, seems like this has been going on for a long time... perhaps off & on since I switched From Macs :wub: to Windows :ninja:

    Perhaps I should check with NI support.

    Anyone else having the problem currently :question:

    Thanks, Lou

    4273[/snapback]

    Nope, no problem here. never seen this. Do you have sticky keys enabled in windows? This is in the disability aids section.

×
×
  • Create New...

Important Information

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