-
Posts
531 -
Joined
-
Last visited
-
Days Won
21
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by crossrulz
-
Equal? Comparison on Strings - Compare Aggregates
crossrulz replied to asbo's topic in LabVIEW General
Here's a good example: The results are the same. -
Strange Semaphore Behavior
crossrulz replied to theoneandonlyjim's topic in Application Design & Architecture
This might sound stupid, but are you sure you are running your "Initialize" state? -
How to split a string to decimal?
crossrulz replied to lovemachinez's topic in Application Design & Architecture
Are you passing the temperature values over the RS232 in an ASCII format or binary? If you are passing them in a binary format, I recommend the String to Byte Array. If you are passing them in an ASCII format, look at the String/Number Conversion palette (it's under the String palette). These can get your string into numbers to then put into the graph. -
That looks just like the test interface box I have to work with right now...
-
I don't. That's the reason I don't like the NI forum RSS feeds. I like seeing the responses in my RSS.
-
Really neat tool! I have already put it to good use.
-
How to derive the script's own directory path?
crossrulz replied to Gan Uesli Starling's topic in LabVIEW General
or if you have an executable, use a property node. -
I was recently tasked with setting up a system for managing our LabVIEW User Library. The library hasn't been created yet, but it is coming. I want to use VIPM, but my company is very hesitant about spending money on software. What other options has anybody tried? I'm looking for wide array of opinions supporting and criticizing any option.
-
Things like this are usually timing issues. Is something running in parallel that could be changing values on you? What happens if you put in a wait just before where your breakpoint is and remove the breakpoint? Without seeing the code, these are the best suggestions I can come up with.
-
...and it is still only the first 200 in the thread. So when someone does update the "Alpha Thread", "5th Dimension", etc., the I am still only seeing posts from 2007.
-
If you are using DAQmx 9.0, there is a Configure Logging function so the data will go straight into a TDMS file. If you want to look at the data in Excel, NI has an add-on so that Excel will read the TDMS. I did this for a system I'm using now and it works great. Here's a screen shot of my prototype.
-
queue handling inside a wrapper
crossrulz replied to mstoeger's topic in Application Design & Architecture
That is the name of the game: which tool is appropriate where? For the application you described, I would probably do something similar as you. By no means is there a single "good" way nor is there a silver bullet for every application (no matter how much we want there to be). So to answer mstoeger's original question, yes you can save a queue reference in a FGV and it does work well. Is it really want you want to do? Well, that's for you to decide based on your application needs. My experience has been that queues work best with only one reader/consumer. Following that methodology, I would not put your Dequeue Element inside of you FGV if that is the route you want to take. -
queue handling inside a wrapper
crossrulz replied to mstoeger's topic in Application Design & Architecture
Maybe the example mstoeger gave is a bad one for this function. In the way I use these functions, my diagrams are a lot cleaner because I don't have to pass the queue reference everywhere (to several loops, into subVIs, through structures, etc.). I only have one reader of the queue. Notice that I do not use my FGV to read the queue, only get the reference. The benefit here over the FGV holding an array is that the reader will just sit there and use no CPU time. With a single reader I could have commands that come from many different sources (user interface, reactions to outside sources, etc.), often not even on the same diagram (different TestStand calls) or many subVIs down. Yes, I could obtain the queue reference by name, but that is a pain to keep track of my queue's name, obtain the queue, send a quick command, and "close" the reference (not destroy since another thread still has it open). My company had a VI that did that and I eventually said "Why not just keep the reference here?" Hence the FGV given above. I noticed a good performance boost, no hard data on it, but I could definitely tell. -
queue handling inside a wrapper
crossrulz replied to mstoeger's topic in Application Design & Architecture
I do this all the time. You can check out here and here for examples. I was unable to open your VIs (I'm using 8.6), but attached should be an idea of what you want. I use this VI to communicate between threads. One thread reacts to what the other thread sends. But I have several commands that could be sent. So this VI is used to open the queue, send commands, simply get the reference, and close the queue. Monitor Queue.vi -
Australian spirit: Sit in the back and wait for everyone to wipe out?
-
I know Cincinnati wasn't hit quite as hard as the east coast, but Round III is here and hitting hard. I even heard reports of yet another big snow possible this weekend.
-
Issue Tracking using Microsoft Access
crossrulz replied to ASTDan's topic in Development Environment (IDE)
We did something similar here using MS Access. Personally, I hate it. Only one person can be in the database at a time, it is a pain to maintain, and our SCM is constantly having to update the VBA due to new program requirements or general complaints. However, there are no licensing fees (other than your normal MS Office license) and you can tailor it to exactly what you need. As you stated, it is ok for a small organization or group. But we have had many problems with people leaving the data base open and then nobody else can access it. -
I think our cat is trying to become an engineer. My wife woke up this morning to him playing with my Newton's Cradle.
-
I like to have VIs that wrap a queue to communicate between the threads. You can visit here for a good example. I mostly do this to avoid polling and I know I get every data point.
-
diffrent of "property->Value" and "Local Variable"
crossrulz replied to MViControl's topic in LabVIEW General
I did something similar to what rolfk is suggesting for a presentation I gave back in April. I would like to attach the results, but apparently I'm not allowed to upload .xls files. I used a for loop to write to and indicator using the terminal, local variable, an explicit property node, and a property node w/ a reference 1 million times. Keep in mind that I ran this on a Windows machine that IS had a hand in, so the timing can be off a little bit. -
diffrent of "property->Value" and "Local Variable"
crossrulz replied to MViControl's topic in LabVIEW General
Functionally, they are the same. But the implementation is totally different. A property node will force the front panel to draw and will really slow down your program. Local Variable is faster, but not nearly as fast as a wire, shift register, or terminal. -
I use the "TestStand - Get Property Value.vi", right click on the sequence context and choose create control. In newer versions of TestStand it is an ActiveX control. If you are using an older version (like 3.5), it is a separate control you can find under TestStand -> Legacy.
-
I too am a LabVIEW developer. I fully understand having trouble thinking in TestStand. I am still fighting it. The Monitor Queue.vi is a functional global variable which will hold the queue reference for outsiders to use. During the Initialize case of that vi, the queue reference is created and stored in the uninitialized shift register. The queue is then destroyed during the Close case. The Initialize and Close should only be done in the monitor vi itself. "Sequence Context in" is a reference from TestStand. This reference is needed if we need to look at TestStand variables, abort the application, etc. See the following screen shot for finding it in TestStand.