Jump to content

pete_dunham

Members
  • Posts

    56
  • Joined

  • Last visited

Everything posted by pete_dunham

  1. I am thinking about getting a laptop to use for personal LabVIEW projects. Starting out with just a simple simple USB DAQ device (USB-6009). Mostly because of my budget and I want to see what I can get out of it. Anybody have recommendations on PC laptops that seem to be solid with LabVIEW? Looking for something that is cheap and small...but obviously will work. My main computer is a laptop, so not looking to invest a ton, just something that will work and won't make my code crawl.
  2. This sounds simple, but the COM retention sounds useful. I have used similar hubs, with no retention, and have run into some weird pains: For instance, after moving a test setup and plugging the hub back in, maybe into a different USB port, all of my COM ports in MAX get incremented from my last setup. MAJOR PAIN. For instance...have a 4 port usb to serial hub with: COM2, COM3, COM4, COM5. After a move XP wants to reinstall drivers and now I have COM6, COM7, COM8, COM9. Depending on how you have your resources coded, this can be at least mildly annoying.
  3. This Topic is from a ways back, but I ran into a similar issue. I set up a Event (as an interrupt) registering a Change Detection event from a digital i/o card (discontinued pxi6533). Each time I started the VI the event would trigger (just once). I worked through the issue with NI engineers, as they weren't expecting this behavior. It was a simple work-around ("throw away" the first event). But no one could ever come up with what caused this behavior.
  4. I am pretty sure I am missing something either with using LV Project Explorer or a saving option. When I am programming and making stuff work/backing everything up/debugging...I finally get my program running the way I want. The problem is that sometimes in the heat of battle I have subVIs and files crossed linked across multiple desktop folders, a thumbdrive, etc. I havent' yet found a way to export everything I am using to a folder (for example to move to a thumbdrive to work on another LabVIEW PC). I always end up missing files and then manually gathering them up (after I make notes when I try to load the program). Am I missing something? I hoping that I have gotten by without discovering this awesome developed LV feature, that everyone else uses.
  5. Seems to be working now. Using Safari from OS 10.5 now. Wasn't working on Firefox in XP, but will give it another shot from there soon. .............. trial:
  6. The flasher uploader won't let me upload any image files. I have tried .jpg, .bmp, and png. I tried some big and smaller files (smaller being less than 100k). This topic was posted on the "Site News" section. Anyone else having this problem?
  7. Thanks everyone for the input! In past applications I have implemented similar architecture similar to what Aristos Queue mentioned as an "Update Indicators" state. However, in the code I am looking at, it doesn't make sense since I am looking to update indicators that are being acted on within a SubVI. Basically, some call and response communications that don't make sense to de-modularize. I am still investigating closing references and built some code to use as an example in this discussion: If I have a simple state machine that has a basic layout without closing the references: Which of the following options makes more sense in closing the VI server refs: OPTION #1:) Closing refs on each "pass" to property node -OR- Option 2:)Closing the created references on exit of state machine (which LV does anyway?)
  8. Mark, Thanks for the reply! I am going to look into this and I am sure I will use this in some way or another. In the mean time, I may have come full circle and may keep some of the VI server references. Are there some basic rules in closing these references?. Do I need to close the reference, say everytime I update the value through a property node (pass the ref num through the property node to a close ref vi)?
  9. I am working with some code that was developed, by someone else, as a state machine with a lot of local variables and VI server references. The locals variables have been easy enough to clean up, but looking for a better approach to clean up the references tied to indicators. In some states a VI server reference of an indicator is passed into a state, because the indicator needs to be updated from several loops within subVIs. Not necessarily in real time, but serial communication that needs to be updated faster than the SubVIs or states could directly update the indicator. Because of the complexity and needed modularity of the subVIs it woudln't make sense to de-modularize the subVIs that contain loops. For me, sending in VI server references seems like adding un-needed complexity and area that can cause issues during debug. Or is this good practice? What is the best way to update such an indicator? I like keeping all of my data passing within a cluster within the State machine. Could I bundle a queue "handle" and then periodically enqueue my cluster within my subVI'ed loops? The disadvantage of this approach would be that a consumer loop would be solely in-charge of any displaying/ updating indicators. Is this better than using VI server references? Any thoughts?
  10. This was brought up in another Topic ""New content list does not include user's own posts?" but wasn't the main topic in posting: I would like a way to view ALL forums topics by date. Sometimes I browse through all the posts and plan to go back later. But going back, I sometimes I have trouble finding a topic I have already "read". I have to find it by either remembering what subforum it was in, or by searching for it. Is there not a way to view all topics (read/unread) by date?!??? -Pete
  11. Setting up scales with virtual channels in Measurement and Automation Explorer(MAX) could be more intuitive. I would like a change in the hierarchy of these settings. IDEALLY, I would want to set up a virtual channel with the Min and Max value in RAW voltage, rather than the min and max values that are dependent on the scaled value. I usually know the voltage range/gain settings I am expecting on each channel, but sometimes add the custom scale later. This is a pain to go back and change the min and max values accordingly. For example, say I have 3 voltage channels with an expected range of -1V to 1V. (I set these up in virtual channels). Now, assuming each channel has a unique custom scale, I have to go and select the scale and THEN I have to go back and modify each channel's min and max value. Before I knew better, I would forget this step and some of my scaled measurements would appear to be saturated at the raw voltage measurement. Also, a change in this custom scale doesn't propagate these min and max values through any channels that is using this scale!
  12. This is a new topic but spawns from my earlier post : http://forums.lavag.org/Variant-To-Data-Wh...ter-t13974.html I made a faulty assumption in developing code with relation to Type Defs and Control Refs. Thought I would post to see if anyone has run into the same issue or has a workaround...or a better approach I have some sample simple code for explanation.... 1)Below is the basic idea. The key components here are the Boolean Cluster (Cluster) which is a Type Definition (for example only, as right now I could use a boolean array for same functionality). And the Reference of this cluster; the reference is passed into code which can perform any action (see example). The type def can be modified (controls added and deleted) and this code will still work! 2)The same code as 1) but as a SubVI. This initially works...UNTIL I update the TypeDef. This results in a broken arrow 3) A created work-around. Which lets me have a subVI, but need to get array of Control Refs before. Can update Type Def and code will still run So I infer from this code that the control reference is a static reference that is not dynamically linked to the control? Is this correct? This seems like a limitation from passing type def. control references through subVIs...as the Control Ref is not dynamically updated (the subVI sink is looking for a different source if type def updated).
  13. Thanks for the replies. I should have worded my question as a better way to program. I was looking for better memory/performance as opposed to how fast the code excutes. The code you provided looks good and made sense. I got stuck when I was changing my code to a (strict) reference throught my Class Specifier constant. I kept looking for different ways to get this Constant strictly defined... I ended up having to change my Class Specifier Constant to a control, and then click on the control and choose "Include Data Type" and then change this control back to a constant. This seemed like a long way around...is there a more straightfoward way?
  14. Working on some code...and am not sure which one is faster. And more importantly the reasons why #1) #2)
  15. Throughout my tests I use Call Sequence steps with the "New Thread" option to run DAQ VIs asynchronously. For instance: I call/start a multi-channel VI with a Call Sequence (option: run NEW THREAD) and then move on in TestStand to turn on/off power supplies or apply analog input (Maybe this isn't the best way?) Then I use a WAIT step (option wait for the THREAD I called) when I need to gather up results before moving on. Anyway.... This usually works perfectly. EXCEPT, I have been noticing weird behavior when I used Break Points around this Call Sequence (with NEW THREAD). Any steps within this sequence with the embedded calling sequence will wait for this thread IF there is a breakpoint present in the sequence (regardless of where breakpoint its). I spent a TON of time trying to find out why I lost my ability to make this Call Sequence (with New Thread) act as a asynchronous call. When in actuality my debugging by using Breakpoints was causing this unusual behavior. Anyone else notice this? Is there a better way to do this? Is there something I am not understanding?
  16. What about coding a HTML page and then opening and saving in WORD? I have done this from TestStand. It was straightforward and I could get some nice looking reports. I started with a html template/page where I embedded code with "dummy" tags; ex: "<will replace this HTML tag with tag for graph .gif"> ALSO What made this even better for me was LV HTML toolkit to put my array of results into a nice-looking HTML tables. Let me know if you want to try this route and I can try to dig up some code.
  17. LV 8.2 on 8195 Controller PXI Chassis. Can't find control/indicator on Front Panel when double-clicking on control/indicator from Block Diagram. LV locks up completely. Sometimes, can end windows task/applications. Other times it goes to BSOD and memory dump. Very annoying since this is a habit working on other systems and VIs. WEIRD: Can go from front panel <double click> to control on block diagram (front panel to diagram works....block diagram to front panel crashes!) VERY ANNOYING! On large front panel with A LOT of indicators (approx 60+). Controller, Indicators, some tied through type definition/cluster. Doesn't happen on same system when VIs has average number of controls/indicator. would be nice to have a patch...not holding breathe
×
×
  • Create New...

Important Information

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