Jump to content

jgcode

LabVIEW Tools Network
  • Posts

    2,397
  • Joined

  • Last visited

  • Days Won

    66

Posts posted by jgcode

  1. QUOTE (MicrochipHo @ May 20 2008, 10:43 AM)

    Here's an example

    What's HH alert? Anyway, This is what I am planning to do for context: I believe instead of the loop interations i have in the original sub vi. i will use the times that the whole loop incremented at whatever the user chooses, and the sine curve will be updated with that when the person chooses refresh.

    Then a sub vi is needed (it must be created) to calculate the rms value.

    Here are the quotes:

    Create a new vi and place the sine wave sub vi in a while loop delayed by a wait function that is synchronizable to the system clock. The loop is updated witha control in the units seconds. Place a momentary button named refresh that updates the display and writes the control values to the wave sin generator. Boolean controls to view the three awways shoul also be on the front panel. Place an error handler in the code to notify the user that a maximum voltage of 10 Vpp.

    Create a subvi that acquires 1 cycle of the generated data and calculates the rms value.

    save it in a wired and password protected version.

    i think i may have overdone the connector panes. Is it worth having a subvi at all?

    By the way you need to include all subVIs if you post a top level vi (try a zip file).

    I don't think the above is too hard to do and I won't be doing you homework assignment for you, but subVIs are great to abstract code, create modular code, create reuseable code, make debugging easier, make the BD neater etc..

    It would be a good idea to encapsulte the function generator in a subVI (whether you are required to write your own or use LV's).

    Have a go at making it run, at this stage overkill on the connector panes shouldn't be a higher priority than getting it to work.

    Remember to have fun!

  2. LabVIEW Object-Oriented Programming FAQ: How to Use LabVIEW Object-Oriented Programming: Item 4 - if link is current then LVOOP is not supported in LV8.5 RT.

    Does anyone know first hand if OOP, whether it be Endevo GOOP, Sciware or dqGOOP (or other ?) will work under LV8.5 on embedded targets - in particular NI's real-time OS (Vxworks)

    We have previously used Sciware in LV8.2 RT so I know that works however, I have been told that Endevo GOOP is not compatiable with LV8.5 and wanted to check the truth of this comment.

    Regards

    JG

  3. For a while I used to program solely on a 13.3" with 1280X800 res. It is extremely portable and works well enough at that res. At home I have a 1680x1050 20" to connect to. At work we also use 1680x1050 20" as well. I try to make sure I don't abuse the extra space on the BD by keeping my code neat and compact so switching between the two is normally fine.

    But I am down with MA on this one as I don't think overall screen size is that important compared to screen res - so if you need portability, make sure you go for a high res screen. Having the same res as your workstation is going to be the most efficent to go between if you are out of the office and need to be programming either on a plane or on-site for a client/project.

  4. QUOTE (tcplomp @ May 15 2008, 06:02 PM)

    You had that hanging over your bed?

    I am not embarrased to say I had this in my room as a kid

    ...ok wait... maybe I am! :blink:

    PS - for some strange reason I just couldn't throw it out - the force of chuck?

  5. There may be some helpful info here:

    Preston Johnson writes: "Finally, you may note that the DMA buffer read is a blocking operation. In other words, when you call read DMA buffer read, the call blocks all other RT LabVIEW code from executing until the read completes. This means that if you are waiting for data to arrive, nothing else in LabVIEW happens. I normally use a read DMA of 0 bytes and use the backlog number to compare with my desired read. Once the backlog is big enough for the read to execute, I then execute the read. Of course I have a sleep (metranome) in my check the buffer loop. This allows your other calculation functions and data storage functions to work while the DMA buffer is filling."

    You could also try using Shared Variable with a RT FIFO (static configure) or the RT FIFO queues (dynamic configure) to buffer data for interthread communication rathar than use locals or globals which are prone to being overwritten.

  6. I am lurker turned poster (as of yesterday) so I thought I would say hi!

    I lurked unregistered before joining.

    My name is JG and quit my last job and took up a full time programming position in LabVIEW because LabVIEW is so much fun damnitt!! :P

    I was exposed to LabVIEW in academia.

    My current goal is to obtain CLA!

    The company I work for does a fair bit of work with NI PAC so I am having a ball in learning the correct techniques to program in RT and FPGA!!

    Learning LabVIEW never ends, which is another reason I love it.

    I love discoving new and better ways to program!

    And in that regard LAVA is kickass!

  7. QUOTE (brianafischer @ May 13 2008, 07:56 AM)

    jgcode, this is exactly what I was looking for! Sometimes you just have to dig a little deeper within LabVIEW because there are so many features.

    I know what you mean, I used to do what you did or I would unbundle the cluster then make an indicator from the elements just so I could get a reference!

    But it was one of those a-ha! moments when we found it.

    I have been playing with VI server and refs a fair bit lately - I am constantly amazed at all the things you can do.

    Thats why I love LabVIEW :)

×
×
  • Create New...

Important Information

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