Jump to content

Khalid

Members
  • Posts

    160
  • Joined

  • Last visited

Posts posted by Khalid

  1. I am assuming you're using DataSocket Read VIs. So, to write to the OPC Server, you will use the DataSocket Write function (or VI if using the legacy version).

    -Khalid

    PS: You attached a VI; doesn't seem to do much. What was the purpose?

    Sorry about that: just realized that you're using front-panel datasocket. So to write this way, you will want to make a "Publish" data-connection from your Control. Or if it's an Indicator then "Publish and Subscribe."

    Unless it's a real simple project, you will have more flexibility using the DataSocket VIs as opposed (or, in addition to) to front-panel datasocket only.

    -Khalid

  2. As you probably know, there's a Fuzzy Logic Toolkit for LabVIEW. And there are examples for implementing Neural Networks in LabVIEW (on NI's website). But nothing for Neuro-Fuzzy.. as far as I can tell.

    What exactly is the theory behind Neuro-Fuzzy? Are the Fuzzy rules modified (dynamically?) using a Neural Net?? My understanding of this theory is a little fuzzy :P . If you can point to a good, authoritative, resource on this, may be we can come up with ideas to implement it in LabVIEW.

    Regards,

    -Khalid

  3. ... Also, if you're in a multi-developer team then you could be clearing breakpoints put in by other coders that you're not even aware of. ...

    I agree we have to be careful. However, I am not sure checking-in code with breakpoints is a good practice -- especially on multi-developer projects. IMHO, the scope of debugging should be local to each developer, and thus only the individual's VIs should have the breakpoints she wants (clearing them before checking-in). Imagine hitting breakpoints in places we least expect (and care!). It's like when people check-in broken VIs on a multi-developer project -- well not as bad, but still intrusive. But I guess that's a topic for another discussion :)

    Regards,

    -Khalid

  4. National Instruments recommends that you save VIs as individual files,

    organized in directories, especially if multiple developers are working on

    the same project.

    LabVIEW 7.x User Manual, Page 7-12.

    If you're stuck with LLBs in an ongoing project, here's a trick you can use: in your file structure, create a folder (directory) to represent the LLB -- name it exactly the same as the LLB, for instance, "myLibrary.llb" including the 'dot llb' part. And then put the VIs from the original LLB under this folder. (You may use the Library Manager to do this... )

    This way, you are now working with individual VIs (great for source-code control, etc.), and at the same time your rest of the system isn't broken because the paths to these VIs are still the same as before.

    -Khalid

  5. I don't think I'd use a "Clear All Breakpoints" function - I use breakpoints for a reason (debugging code), and I'd like all my co-developers to have to clear them manually after they've assesed that the code has been properly debugged...

    I beg to differ. Case in point: we're happily debugging and adding breakpoints left-n-right as we go. We finally find and fix the problem. At this stage, I shouldn't have to go to each breakpoint -- some of which I don't even remember where I put them (may be in a false case which doesn't get exercised under normal operation, for instance) and clear them manually.

    -Khalid

  6. Yes you can [merge]. Take a look at lvdiff, which allows side by side comparisons of VI differences.

    Hi Jim,

    I use LVDiff -- it only facilitates in comparing the two VIs by highlighting the differences. We cannot merge changes from one VI into another, like we can with text files (C/C++, for instance). Merging VIs automatically would be quite involved.

    I like the check-in/check-out paradigm because my team mate then knows I am working on it. And he can either wait for me, or come talk to me. In update/commit, I am guessing we would end up manually merging changes from one into another.

    I guess it all boils down to personal preference.. and/or company policy.

    Regards,

    -Khalid

  7. ... Also, since CVS and Subversion use a concurrent access model (update/commit) rather than a synchronous access model (check-out/check-in), I am not sure that I would like limiting myself to the latter by going through the SCC API.

    How, in your opinion, is "update/commit" better than "check-in/check-out"? We can't merge VI diagrams..

    Just trying to understand as I have always used the latter (with Perforce).

    Thank you,

    -Khalid

  8. On the Expres pallette, under Signal Manipulation, you will find an Express block called 'Convert from Dynamic Data.' That should convert the LVM Signals (output from the 'Read LVM File' block) into an array of doubles.

    A shortcut is to create an array of DBL indicators, wire the Signals output form the 'Read LVM File' to this. LabVIEW will then auto-insert the above conversion block for you.

    Hope this helps,

    -Khalid

×
×
  • Create New...

Important Information

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