Jump to content

Dan DeFriese

Members
  • Posts

    201
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Dan DeFriese

  1. QUOTE (george seifert @ Dec 19 2008, 09:53 AM) Hard to say without seeing the code. The error code would appear to be telling the truth (0 is a NULL refnum). Is the Refnum 0 immediately after the Automation Open.vi?
  2. QUOTE (mindmoody @ Dec 14 2008, 10:24 AM) No way in heck!!! Buying is almost always cheaper than building... In this case, there's no question. Of course, if you like learning stuff: I'm an advocate of Atmel's AVR series microcontrollers. Visit AVRFreaks.net if you go this route. I also like using ExpressPCB for printed circuit boards. Visit ExpressPCB.com for details. ~Dan
  3. Editing enums through the properties dialog is slow (different LV versions are faster than others). To be specific, it just seems to take a long time for the dialog itself to load. I don't why this is. However, there are a couple of things you can do to make your life easier. 1) right-clicking on the enum brings up the context menu.. from here, you can add / remove items (one at a time). 2) you can edit the current item by holding the <CTRL> button and placing the pointer over the control... the pointer should change to the string edit glyph. Click the mouse to edit. 3) while entering enum values directly on the control... use <SHIFT> + <ENTER> to add and edit a new value. 4) if you have a list you can use VI Server .. Oh, you got that one already. As far as programmically executing the 'Apply' menu item in your custom control... You could try using the virtual keyboard within your script VI. If I get a chance this evening I post an example.
  4. QUOTE (Dan DeFriese @ Dec 11 2008, 12:10 PM) I threw together a simple example (LV 8.5): Unzip Open the Project Build the My Application build spec. Run the application. Open the Driver.vi and Run the Driver.vi Note that the VI Server port is set to 3364 in the application.ini file. Unfortunately, I've never had luck setting this value programmatically at runtime. Hope this helps. Let me know if you have problems.
  5. Did you set the tcp port in the built exe to serve on a port other than port 3363. This may interfere with Developement Environment. Try adding these keys to your built app's ini file: [Application] server.tcp.paranoid=True server.tcp.servic="My Computer/VI Server" server.tcp.enabled=True server.tcp.access="+localhost" server.tcp.port=3364
  6. I've never built a DLL in LabVIEW before. However, I'd assume that all the VIs (export functions) that you want parallelism for would have to be reenterant and that any of their common subVIs would have to be reentrant as well.
  7. QUOTE (miab2234 @ Dec 7 2008, 02:29 PM) Looks like the Linear Fit.vi from an older version of LV C:\Program Files\National Instruments\LabVIEW 7.1\vi.lib\analysis\6fits.llb\Linear Fit.vi
  8. QUOTE (mindmoody @ Dec 5 2008, 10:04 AM) The MAX232 is just a level converting IC RS232-TTL (+12V/-12V to 0V/5V). This IC is usually placed between the RS232 port and a microcontroller. You don't communicate to the MAX232, you communicate through it. Google MAX232 for datasheet and sample schematics. Again, you'll have to provide more details about the nature of your project/assignment for anybody to guide you further.
  9. QUOTE (FLAnatic @ Dec 3 2008, 08:53 AM) Just to clarify, I just wanted to point out some minor pitfalls one may run in to... IMO the benefits far outweigh the periodic hassles (most of which have simple workarounds). I would never go back to using a single monitor again. BTW, thank you jhoskins for pointing out the Multimon utility. I downloaded it last night and it works great.
  10. I enjoy a dual monitor setup myself. However, sometimes some of the applications I use "remember" that they were on display 2, then, and when I take my laptop into a meeting have trouble getting my applications back on display 1. With respect to LabVIEW... Occasionally I'll forget to set the runtime postion properties of subVIs (Dialogs) and they'll open halfway off the display when I run my software on the target PC (which usually only has one display).
  11. I just adjusted the formatting of the Y axis of the control. Right click the graph. In the context menu select: Y Axis -> Formatting. I adjusted formatting to be floating point w/4 digits of precision. Hope this helps, Dan
  12. QUOTE (mike_nrao @ Nov 25 2008, 10:24 AM) I think I did too! My example was not intended to be practical with respect to the usage of event structures. The parallel loops were only intended to simulate different parts of an application in order to demonstrate that how different parts of which could be used to unlatch the FG. I thought the intent was to have a temporary condition that would be unlatched when read. (Note the latched behavior of by Cancel boolean with respect to your submission.) However, this evidently wasn't what the original poster had in mind, but appears more interested in the behavior of the stop button. Which I just implemented as an experimentbased on crossrulz reply... go figure.
  13. QUOTE (GraemeJ @ Nov 23 2008, 09:42 PM) Yes, I believe that the only reason this works is the concurrency. I always thought using events this way was considered BAD PRACTICE by NI. A week ago, I wouldn't have even tried this because I was under the assumption it would result in dead-lock, regardless of concurrency. However, crossrulz suggested this was possible in his reply... so I thought I'd try it. Normally, I would have used a separate FG to control the application's run state. In this case the example works... Perhaps the rules have changed? Perhaps they haven't and we just got lucky? Most likely though, I probably just misunderstood the caveat list 4.5 years ago when I last read them and for cases in which all event structures being concurrent, this is perfectly acceptable.
  14. Try using the Write to Spreadsheet.vi.
  15. QUOTE (vultac @ Nov 23 2008, 05:43 PM) http://forums.mccdaq.com/
  16. As jgcode pointed out... using the "latched" variety of mechanical operation settings prohibit the use of local variables and reading of the value in property nodes. When these settings are used, the control will only be unlatched when the block diagram code reads from the control's terminal. Thus, it can only be used in one place. Of course, there are many ways to achieve the behavior you're looking for (or at least what I think you're looking for). My approach would be using what is called a functional global (FG). Basically, this concept uses the static (or persistant) property achieved when you don't wire the outer-left terminal of a shift register. Search "functional global" on LAVA, NI.com, or your LabVIEW Help for more details. I've attached some example code for you play with. Instructions are on the FP. Let me know if this helps or you have further questions.
  17. QUOTE (Ton @ Nov 20 2008, 03:24 PM) This is near the top of my on my wishlist, too! Actually, its a very close second to having the ability to designate pre and post-build VIs for each build spec. However, I'd be very happy in the near term if somebody could explain how to get the progress messages when performing programmatic builds.
  18. QUOTE (GraemeJ @ Nov 20 2008, 11:08 PM) Please clarify what you mean by this. Can you post an example of what your trying to do?
  19. Yes, this works fine. I put together a little example.
  20. Yes, this works fine. I put together a little example.
  21. Dan DeFriese

    DAQ

    QUOTE (vultac @ Nov 18 2008, 01:04 PM) I'm not sure what you mean by "the sensor has arrays". However, if you wish to get a particular element of an array use the "Index Array" function on the array pallete.
  22. Dan DeFriese

    DAQ

    QUOTE (vultac @ Nov 14 2008, 05:28 PM) Ahh ok, It sounds like you just want to change the radix... Right click the numeric control and select Visible Items -> Radix. (note that the control must be an integer representation for this option to be available). This will display the radix selection on the left side of the control. You can use the radix selector to show the value as decimal, hexidecimal, octal, and of course binary. You can also use the Number to Boolean Array function to convert the integer into an array of booleans. Hope this helps.
  23. QUOTE (bmoyer @ Nov 14 2008, 01:28 PM) Something like this may get you started.
  24. Dan DeFriese

    DAQ

    QUOTE (vultac @ Nov 14 2008, 11:54 AM) Could you elaborate on what you mean by digital signal? As stated earlier, your DAQ has already digitized it so the PC can access it.
  25. QUOTE (goran @ Nov 14 2008, 05:59 AM) Try changing the enum constants to U32 representation. Edit: Actually the calling convention should be changed from c to winapi
×
×
  • Create New...

Important Information

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