-
Posts
541 -
Joined
-
Last visited
-
Days Won
23
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by crossrulz
-
When the ATE is being developed in parallel with the product, you get the exact same mess as you are talking about. I'm going through that right now. Every other day there is a pin moved, requirement changed, subassembly totally redesigned, protocols changed, etc. Development testing starts and then all of your requirements change again. Needless to say, it is quite frustrating.
-
If all CAN transmits have to go through a single VI, simply make that VI non-reentrant and the semaphores aren't needed. The VI itself will act like a semaphore since it can only run in one thread at a time. I did the same thing with a serial port until I made the realization that they aren't needed due to the non-reentrancy of my serial port control VI. But I seriously wonder what is holding your semaphore.
-
I had the exact same thought. These functions have absolutely nothing to do with placing new nodes on the block diagram. But whatever. There they are. CTL+SPACE and then another CTL combo. RCF makes so much more sense in this matter.
-
VIs are normally known strictly by name. When a VI is added to a library, the library name becomes part of the VI name in memory. For instance, I have a VI called "Initialize.vi" for two different libraries (in my case, N5700 and KE2425). These are for power supplies. The Agilent N5700 and Keithley 2425 need different initialization processes. If I didn't put Initialize.vi into a library, there would be a conflict. So I made the two libraries. Now I have, according the the LV memory space, "N5700.lvlib:Initialize.vi" and "KE2425.lvlib:Initialize.vi". Two different VIs. So I guess the short answer to your question is because the lvlib is part of the VI's name in memory space.
-
If you look in the timing pallet, there is a Date/Time to Seconds which takes in a cluster. Parse out your strings, fill in the clusters, convert and subtract.
-
I keep getting the entirety of a thread whenever someone adds to the topic in my RSS reader. For instance, Jarimatti Valkonen posted to "Lurker Roll Call" on 7/15/09 at 12:15PM. Instead of seeing that one post, I got all 93 posts in the RSS. For small threads, this isn't so bad. But for large ones like this (and Heaven forbid the Alpha String ) it is kind of a pain. I am using Outlook 2007 on Windows XP as my RSS reader.
-
Just quickly thinking about it again (after reading the RSS), the masking (AND) should be done last (after the summing). Sorry for the lapse in logic.
-
My boss still won't make a decision about whether or not I'm going. It'll probably be like last year. "Hey, NI Week starts tomorrow! Who wants to go?" I keep pinging him, so we'll see.
-
-
Yeah, gotta love those highly generic emails. It's an automated message that they send out. Could they sound less arrogant? Probably. But that's marketing for you. I usually just instantly delete e-mails like that and move on.
-
QUOTE (Cat @ May 19 2009, 07:27 AM) It sounds like the episode where they find the silicon life form on that mining planet, at the end when Bones is trying to heal the "mother". Cause then Bones pops up and and says something like "Maybe I am a bricklayer" once he healed the "mother's" phaser injury. I couldn't tell you the episode name, but I remember it being on the first season.
-
You can simply create a VISA indicator and pass the reference out that way. I create chains of VIs to read, write, change baud rate, etc. using the VISA resource reference and the error cluster. Seems to work quite well for me.
-
QUOTE (Gavin Burnell @ May 12 2009, 09:43 AM) Dude, that is hilarious. I just spent the last hour looking at it figuring out what you did. I can tell you wasted a lot of time puting it together. On a side note, this would be an excellent example for a lecture on refactoring.
-
Might I recommend the USB I2C/SPI module from NI (USB-8451). It is very easy to use. I know very little about SPI, but this guy does it all for me.
-
Timed loop bug - could someone please confirm
crossrulz replied to george seifert's topic in LabVIEW Bugs
I ran it all through lunch with no error. I am also using LabVIEW 8.6, so it's not exactly the test you are looking for. -
QUOTE I have had to do this with some computers. Take out the hard drive and make it a secondary hard drive on a newer computer. As long as you don't muck around with what is actually on the hard drive, it should go back into the old computer and run just fine. I am also assuming you have another computer with ATA hard drive connections and not the SATA. This is also a good way of getting into people's "My Documents" :ninja: . My next question though is how was this file generated in the first place? There has to be a VI or something somewhere that was used to generate it. Or if all else fails, make your own new table and change the code to be able to read your new format.
-
A good way for teaching people the basics of dataflow?
crossrulz replied to Yair's topic in LAVA Lounge
I only made it to the third level before my wife started complaining that I wasn't spending any time with her. Otherwise I probably would have been up all night or until I got through them all, whichever comes first. -
Hmmmm....this VI looks very familiar. Is your boolean "Send Parameters" is set to TRUE? Are you referencing the right COM port VISA session? Is there some weird error coming out of the Serial Port Setup VI? These would be the software problems possible. I am assuming that you are sending out the right data byte since I previously helped somebody else with this exact VI (must have gotten it from a teacher). After the software checks, I would check your wiring (TX to TX will not work well) and then your microcontroller code. My gut feel is your boolean is set to false and therefore you will not send out the byte.
-
from the NI help QUOTE Just to check to see if it might be the student version or communication error, you might want to make a very small program that just reads and writes a few variables and see if you get the error that way. If this works fine, then I would start looking at the code really hard.
-
Q's - Whats all the fuss about
crossrulz replied to ShaunR's topic in Application Design & Architecture
This is starting to become a heated debate. People have a tendency of finding a good tool and then try to use it as a cure-all. We have all done it. I think what ShaunR is trying to say is that a lot of people on this forum will instantly say to use a queue without much thought for any other tool. Yes, queues are one of the more powerful tools in LabVIEW. Are they for every situation? Absolutely not. They can easily complicate things, like any other powerful tool. But as far as passing data between loops, I'd say that, in most situations, queues are the best route to go for mostly two main reasons: 1. They do not lose data (every element written into the queue will be available for dequeue) and 2. if there is no data in the queue, there is no CPU usage for the dequeue loop (assuming infinate timeout). Polling globals uses valuable CPU time. I have to put code on computers that are 10+ years old, so I need all the CPU time I can get. -
QUOTE (postformac @ Apr 24 2009, 02:49 PM) Yep, put the heading as the first row in the array. In case you didn't know, you can use the comma delimited file and make the extension a .csv (instead of .txt) and windows will automatically think it is an Excel file.
-
There might be a better way, but create your table like this instead of the express VI. The string array coming from the top is the time string.
-
Exclusive Range for a Case Structure
crossrulz replied to asbo's topic in LabVIEW Feature Suggestions
QUOTE (asbo @ Apr 24 2009, 11:35 AM) You mean like this: Already in there. Darren had a nugget about these case structures here. Check it out. There's lots of good info in it. EDIT: I just figured out that you didn't want to include the 10 in that case :headbang: . That would be interesting. But the case structure can't handle floating points, so therefore you would have to use "1..9".