Jump to content

Phillip Brooks

Members
  • Posts

    875
  • Joined

  • Last visited

  • Days Won

    42

Everything posted by Phillip Brooks

  1. It's not the same as a FP group, but you could use a loop with count of 1 or a sequence structure to create a grouping.
  2. I Moved up to 1280x1024 with my new job. The Dell I received has a nice monitor and graphics card, and the legacy code I work with was done on a dual screen 1280x1024 setup (lots of scrolling made me give in). I had created a two tone background image that gave me a 1024x768 rectangle in the upper left of my screen so I could check my front panel size for use on the ATE computer. After attending the LabVIEW Intermediate I&II classes, I found a couple of similar backgrounds on the CD that also left room for the menu bar (assumed bottom) so I use this instead. (See attached) I don't maximize the diagram, I use the extra real estate for the control and tool palettes. The only time I find myself scrolling is when I start getting into ActiveX calls and control references; the size of the property and method nodes don't make things easy.
  3. Image Toolbox by George Zou. http://www.geocities.com/gzou999/gtool.html The diagram have been removed, but the output returns Pixmap data for use in your application.
  4. If your application is already built, it may take some work. Whenever I've needed to load parameters from an INI file, I: 1. Create clusters that contain the variable elements that I need to read/write. 2. Save these as typedef'd controls and use these in my sub-vis. 3. Use the OpenG INI read and write functions to load and store the clusters in INI sections and variables. If a variable is added, you can edit the typedef'd control. This should update anywhere you've placed the control. Don't change the order of your cluster elements, just add elements to the end. By using simple typedefs instead of strict, you can move the elements around within the cluster frame on the front panel without breaking your code; you can even hide elements that you don't need. I generally try not to delete elements from my clusters once I've added them. If your software design process is working, you shouldn't need to make that many changes
  5. I THINK some countries have a requirement that the domain must be hosted in country. Example YOURDOMAIN.co.th (Thailand domain) must resolve to a server located within the borders of Thailand. Otherwise, they can't enforce laws (porn, political, etc). Don't know about the Virgin Islands. How about a domain name like "openg.vi" ?
  6. Anyone ever consider registering a Virgin Islands domain name? ( LabVIEW.VI )?!
  7. Unbundling is used for the Cluster data type. If you are trying to select a specific row or column of your 2D array, then you want to use the "Index Array" function in the Array pallet.
  8. The displayed value includes a character suffix that indicates magnitude; I believe 'p' indicates Positional. http://en.wikipedia.org/wiki/Positional_notation
  9. I agree. It doesn't have to be a blast from a shotgun with both barrels, though. I recently demonstrated the fact that you can expand the Index Array function to someone. He had 12 discreet Index Array functions connected to the same array, with one index input to each. They were indexing elements 0-11. I showed him a "trick" and he nearly fell out of his chair. This is someone who has been programming in LabVIEW for 6 years. He's also fond of globals and locals and sequences that nested 5 and six deep ; he blows up when he can't create a sequence local in my code to move data around. I feel like I've got a good handle on all the features/functions of LaBVIEW (5 years+ I just completed the Intermediate I & II classes) and now need to think at a higher level. Many LabVIEW users are just that; users. If you need to create sequence, then a sequence is what you must use! Sort of like an apprentice tradesman; if the only tool you have is a hammer, then everything looks like a nail!
  10. Could just as easily been titled "How to eliminate vendors based on drivers.
  11. :thumbdown: Well, timed loops are limited to 1 msec resolution when running under windows. You can select 1 MHz clock only with RT; this won't work because I need the DLL. Still thinking....
  12. I will have three A/D channels generating single WORD data running at 1200 Hz each. These will not be synchronized. The channels are enabled and disabled manually, this is a monitoring function I may need to switch hardware and DLL at some pint (this is a VME Single Board Computer), but the alternate DLL offers the same functionality (pointer to a ISH routine). I really don't want to write a wrapper DLL. I might be able to poll using timed loops, I'm evaluating this now...
  13. I have a DLL that monitors hardware. When an defined interrupt occurs, the DLL calls an interrupt handler by way of a pointer to the handler. I need to handle this from LabVIEW. Below is the API documentation for the function. The vmeConnectLM() hooks an interrupt handler when a location monitor is signaled (interrupt occurred). ULONG vmeConnectLM( BYTE LMNumber, // LM number 0-3. ULONG PtrToHandler. // Handler address for the LM INT. ); Parameters LMNumber - The LM number range of 0-3. PtrToHandler - Pointer to a handler to be called when the INT occurs. Return Values Zero, if successful; otherwise an Error Code. Remarks A vmeAcquireInt() API call must be performed before any interrupt can be enabled or disabled. The handler suppose is to be declared as typedef void (*FUNC)(ULONG). If this command is successful, the Location Monitor interrupt specified by LMNumber will automatically be enabled. The parameter passed into the handler will be the LMNumber. How/what can I associate to this DLL function?
  14. If you're just trying to understand LabVIEW, you might check out http://www.iit.edu/~labview/Dummies.html This will help guide you through things like the front panel, block diagram, etc. Good luck!
  15. Well, after reading the comp.lang.labview threads a bit closer, then action engine is really just a "functional global". I've ONLY been using LabVIEW since 5.1, and never been exposed to the LV2 or functional global concept. I understood the concept, but the term "action engine" bothered me. The answer (for me) is here: http://forums.lavausergroup.org/index.php?showtopic=273
  16. I'm involved in a new project where I will be using templates. These templates make use of sub-vis referred to as Action Engines. I've searched various LabVIEW materials, Google and (most importantly) the LAVA Forums. I can't find any references to an Action Engine implementation. It appears that these action engines are passed references to front panel vis and contain uninitialized shift registers. the Actions are enumerated, and current states are returned as outputs. I understand how they work, but where does this term Action Engine com from? I did see a couple of posts on comp.lang.labview regarding action engines.
×
×
  • Create New...

Important Information

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