Jump to content

george seifert

Members
  • Posts

    399
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by george seifert

  1. QUOTE (tmunsell @ Aug 21 2008, 12:14 PM)

    I have been trying to create an installer for my app, but even though I have all the drivers loaded on my laptop, the builder keeps asking for the DVDs. I don't want to have to carry them around with me all the time (I do a lot of my programming while at home). Is there a way to create an installer without needing the DVDs? Will I have to copy each DVD to a folder on my laptop (wasting a lot of disk space)?

    I finally got LV 8.6 to cache the distributions. NI gave this advice and it worked.

    In order to get the Locate Distribution dialog box to appear that has the

    Cache component from this distribution checkbox, you must attempt a

    build where LabVIEW cannot find the source files needed for the

    distribution. To do this do not insert the DVD that has the files

    needed or point to a location that you know does not have the needed

    distribution files. Then this dialog box will appear asking you to

    redirect the computer to the correct location of these files. When

    this Locate Distribution dialog box appears it will include the

    needed checkbox.

    George

  2. QUOTE (Dan DeFriese @ Aug 22 2008, 11:29 AM)

    Hello Todd,

    I've never used this feature, but with LV 8.2 and greater you should be able to cache the device drivers and components you need the first time you create an install.

    From LV 8.2 Help:

    "... Caching installer components—If you build an installer more than once and the installer contains additional installers or components, caching eliminates the need to specify a location for the additional components each time you build the installer.

    The first time you build the installer, the Locate Distribution dialog box prompts you to locate the distribution that contains the additional components. Place a checkmark in the Cache component from this distribution checkbox to copy files from the distribution into a permanent location on the local system. The next time you build an installer that includes these components, the Application Builder automatically copies the components from the local system instead of prompting you for a distribution CD. "

    Hope this helps,

    Dan DeFriese

    That used to work great up to LV 8.5, but I don't think it's available in 8.6. At least I haven't found how to make it cache the components yet. I'd really like to know how to get that feature back.

    George

  3. I've been using MB's icon editor for a while now (in LV 8.5.1) and it has served me well. I'm having a problem with it though since I upgraded to LV 8.6. The editor starts up fine, but when I go to select a color it brings up the color select and then hangs up. I can't cancel out of anything. I have to hit the stop button to get it to quit. Any thoughts?

    George

  4. QUOTE (jaegen @ Aug 7 2008, 11:53 AM)

    Ah that's it! I didn't know that option was there. I was looking for that option under the actual event, but it wasn't there.

    George

    QUOTE (ned @ Aug 7 2008, 12:51 PM)

    I've only taken a quick cursory look at your VI, but a better approach would probably be to remove the while loops from inside your event cases, and instead use a shift register in the outer loop to build up your string each time a key down event occurs, until you reach the termination character.

    I think you're right about that. I was doing a quick and dirty to check out the dynamic event handling.

  5. I've been messing with this all morning and it just doesn't make sense. After I enter an event case, keystrokes are not being recorded in a string control. I thought at first it was because "Update value while typing" wasn't checked but that didn't help. Please see the attached VI.

    Here's what's supposed to happen. The keystrokes will eventually come from an RFID device, but for now typing from the keyboard does the same thing. When the VI is entered it sets the key focus to the "RFID ch" control. Then it waits for a "[", then clears the control and waits for text followed by "]". After that the "Key down" event for that control is released and a "Key down" event for "RFID pump" is registered and key focus is set for that control. Then basically the same thing happens for the newly registered control except it waits for "<text>". For some reason after the "<" is recognized it stops getting data from the control. Any ideas why? I've tried creating a new control instead of RFID pump, but it does the same thing. The stuff that happens in the second event is exactly the same as the first. I can't see why it won't work.

    George

    Download File:post-2786-1218125368.vi

  6. QUOTE (Neville D @ Jul 31 2008, 11:24 AM)

    Might depend on the hardware you are using.. Low cost DAQ's may not allow the lines to be treated individually..

    Why not try an example with two lines and tasks and if it works, go from there?

    Neville.

    I'm using a PXI-6254. I've tried setting individual tasks for each line and it works fine. I'm just wondering that's a good way to go vs the other way I mentioned.

    George

  7. In my app I need to control 16 digital lines individually. I was wondering if makes sense to setup 16 different digital output tasks where there's one channel for each line. Then to control a line I'd use the appropriate task when using DAQmx Write. Otherwise, if I setup the output as a port, then I'd either have to keep track of the output state for all the lines or read the state of the lines before ORing in the one line I need to control.

    I'd appreciate any thoughts on which way makes more sense.

    George

  8. Mayb I should start up front and tell you what I want to accomplish and then any brave souls can read further and suggest why the attached VI doesn't work. I have a SMU (PXI 4130) that takes differing amounts of time to set a current depending on if the setting spans a range boundary. I want to be able to make that SMU setting and then wait a specific amount of time (sometimes 1 msec). If the SMU takes a little longer to return then I want that extra time to come out of the wait time. To do this I figured I would need an external time source to control a timed sequence to give better than the normal 1 msec resolution. So now onto the problems I'm having.

    I've got two problems here that I would really appreciate some insight on. The attached VI is the subject of both problems (as is the VI is worthless, but it illustrates the problem). Note that you need some type of DAQ board with a counter on it to run it.

    Download File:post-2786-1213281601.vi

    I can't figure out why this timed sequence doesn't work with an external timing source. It works mostly as expected (see next problem) with the internal source, but fails miserably with the external source. Run the VI as is to get a baseline. Then connect the DAQmx Create Timing Source VI to the Source Name input of the timed structure. It seems like it should run exactly the same both ways.

    Problem 2 (run with the internal timing source). The VI should take the same amount of time to execute regardless of the input to the Wait VI (within reason of course). That's actually the main impetus for this whole exercise. But according to the Actual End indicator it runs faster with a longer wait time. :blink:

    Thanks for any input. I've been beating my head on this for a few days and my head's getting sore.

    George

  9. How can I display something in the lower left window edge (like where NI displays the project name)? I've seen other applications do this so it must be possible, but I don't know where to start. If not there, could something be displayed on the toolbar or menubar? I'm thinking of displaying test progress there so it would need to be updated while the VI is running.

    George

  10. QUOTE (jdunham @ May 22 2008, 11:19 PM)

    I decided it was easier to describe all this in LabVIEW, so here you go. These are just code fragments, not tested or anything, but I've used these methods in many applications.

    I got it working. One minor oversight in your diagram in the middle example. I had to negate the offset value that feed into the "number of samples per channel" input on the DAQmx Read VI because it needs a positive value. Other than that it works like a champ.

    George

  11. Thanks a million :worship: . Yes, seeing the code snippets is much easier than reading an explanation. I've got to do some digesting and experimenting, but it's helpful to know it can be done. I almost had myself convinced that I wasn't going to be able to do it. 10 lashes for not believing in LV!

    George

  12. Thanks for the help. One more question if I may. Assume that acquisition is always running - converting 2 channels. Is there a way to set it up so that I can read from one channel and (in another loop) read from another channel? The two reads would be asynchronous. It seems like reading from the one channel resets the buffer pointer so that when I try to read from the other channel it has to wait for the buffer to fill again. Somehow it seems like I need two buffer pointers to guide the two different reads.

    George

  13. QUOTE (Neville D @ May 22 2008, 11:23 AM)

    You can sort of do it, by sampling all the channels at the highest rate that you need (in a group) and then have 1 loop or VI that acts as a DAQ server with all the data available, and different clients sampling different channels at required lower rates.

    Neville.

    Maybe that is a better way (at least cheaper) than using the FPGA - start up the A/D sampling all channels all the time and then pick what I need out of the buffer. Does that sound reasonable? Does the DAQ board use up processor resources transferring it's data all the time or does it only transfer it off the board when I do a read?

    George

  14. I posted this on the NI forum and got one reply that I hope isn't true. Hopefully someone else here can confirm or deny it.

    I need to be able to sample up to 8 analog channels independently. For instance I need to start up a conversion in one VI and then in another VI start up another conversion on another channel - independent of the first conversion. I thought maybe the PCI-6143 should be able to do that because it has separate A/Ds for each channel, but when I tried it with a simulated device I get the following error:

    Error -50103 occurred at DAQmx Read (Analog Wfm 1Chan NSamp).vi:2

    Possible reason(s):

    The specified resource is reserved.

    The operation could not be completed as specified.

    This is the same error I get if I use a more standard DAQ. If it can be done are there any examples that show how to do it? If not, does anyone know if anybody makes an A/D card that can do this?

    George

    PS,

    I did some more checking. It looks like I probably need an R series device to do the independent sampling.

  15. QUOTE (BrokenArrow @ May 19 2008, 03:33 PM)

    But with some strange timing requirement built in. If you select a cell then click too fast the second time, it'll think it's a double-click and not let you in. You have to click and wait about one second. This isn't very intuitive IMO, and I can see your lament, George.

    It is frustrating and confusing. I suppose it's time to bring this up with NI. Thanks everyone for confirming that it happens on your system.

    George

  16. QUOTE (BrokenArrow @ May 19 2008, 11:05 AM)

    For me, it is reliably letting me change values upon a Triple-Click. It never allowed me to edit upon one click.

    Richard

    I've played with it some more. If I'm on the line already a single click works. If I'm switching to another line a triple click works. A double click never works.

    Is this known behavior? It doesn't make much sense to me.

    George

  17. I have a listbox in my VI in which I would like the user to be able to edit the cells while the code is running. Sometimes all it takes is a single click on the cell before it highlites it for editing. Most of the time though I have to click multiple times. What's going on? Should I somehow be handling the edit as an event?

    I've attached a simple VI to illustrate the point.

    Download File:post-2786-1211205841.vi

    George

  18. QUOTE (Aristos Queue @ May 8 2008, 09:23 AM)

    As mentioned in another post, no, a single processor can only do one thing at a time. But let's say that one VI does serial "add add add" and another VI does serial "multiply multiply multiply", the processor might very well do "add multiply add add multiply multiply" or any other interleaving. The VIs as a whole do run concurrently, though the individual nodes are done one by one.

    Thanks. That confirms what I thought.

  19. QUOTE (Aristos Queue @ May 6 2008, 09:58 PM)

    • If you have a single processor and you start two VIs running, they will run at the same time, with the OS thread swapping back and forth between them.

    But they can't actually run at the same time can they? Let's break it down to the bare minimum. Say all each VI does is add two numbers. Those adds don't execute at the exact same time, right?

×
×
  • Create New...

Important Information

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