Jump to content

vivante

Members
  • Posts

    37
  • Joined

  • Last visited

Posts posted by vivante

  1. Hallo everybody,

    I have created a new add-on for LabVIEW called "TTM" that helps me a lot to automate some boring activities as:

    • save source code into a zip file with build version, to keep my projects syncronized with executables,
    • send emails to my test group or my customers with attachements,
    • transfer my builds to my web site, using ftp protocol
    • manage files and folders
    • zip/unzip source code files
    • execute custom VIs into my script
    • inject license codes into my executables before creating installers (if you use instant plus, TTM's great for you)
    • other tedious stuff
    • it is programmable, it's easy and other developers save a lot of time with it. I think can be usefull to you also.

    It can be downloaded at http://www.toolsfors...roducts/TTM.php

    Claudio Vivante

    ... ops... I forget to write that TTM works with LabVIEW 2010 and LabvIEW 2011 only.

    sorry

    Claudio

  2. Hallo,

    I was working on this topic: I would like to identify which digital lines are reserved on a NI device when I configure some counter input tasks (of course that device must support them).

    If, for example, I configure my system to read two encoders (it means DAQ drivers are going to reserve 6 lines A+B+Z for the first encoder and A+B+Z for the second one), which digital lines will be reserved? if I can find out them, I can programmatically define a task to read free (i.e. unreserved) digital lines, without any knowledge of device pinout. Otherwise I must define a table for every device my customers want to use.

    doing so I have found this example (see attachment) where I created a task for an input encoder and then I can user all available digital lines as output lines. can you explain me why DAQ drivers don't raise up an error?

    If I configure digital lines as input lines Labview doesn't generate any error, but in that case both counter and digiatl lines are input task so I accept that DAQ drivers don't signal an error.

    I repeated this test with simulated NI devices and real devices (PCI and USB, like USB 6341) , with LV2009 and LV2010, always with the same result.

    More, can someone of you tell me how to discover which digital lines are associated to counter channels?

    thank you in advance for your replies.

    Vivante

    crazyConfiguration.vi

  3. Well, Daklu you have understood my idea: I want to use control's labels as keys in my lookup table so I can change private data definition of my class according to my needs (to be correct I must write "to my customer caprice") and I don't have to update manually the array constant you have shown in your example. Sometimes I use this technique to update those panel's controls with same name of my cluster fields (in this case my structure is a simple cluster not a class definition, of course).

    Vivante

  4. Hallo JG,

    thank you for your reply.

    I've read on Labview context help that Cildren[] property is not available at runt time, my idea is to work on private data using a reference to private data cluster from a member of the class at run-time. I need to compare every single cluster item label with a list of tags and get/set a specific set of values programmatically. My application will use this method to filter some data according to user's selection and he knows only names of cluster's items.

    thanks,

    Vivante

  5. well, odd Vi names refer to those VIs which have inside one or more Express VI calls.Thanks Scott!

    Now I have checked every VI name with

    vi.lib\addons\analyzer\_analyzerutils.llb\VIAnUtil Valid SubVI.vi

    as Darren says, and my Hierarchy seems to work fine. I didn't know vi.lib\addons\analyzer\_analyzerutils.llb where I have found very interesting functions.

    it seems that powerful vi functions are somehow hidden or not documented....

    thanks to everybody.

    Vivante

  6. Oh, you are right: I didn't write about their VI properties: fewof them are reentrant and most are not reentrant,

    some are in my user.lib and some in my project subfolders. Below you see a screenshot of Vi properties.

    bye

    Vivante

    post-18107-022143500 1286547404_thumb.jp

  7. Hallo people,

    I am using "TRef Traverse for References.vi" to get a complete list of subVis in my application. I need something like a VI hierarchy which I will use to get statistics on my code.

    well, I've found a strange result: "TRef Traverse for References.vi" returns some vi name with appendix like ":Instance:0" or ":Instance:Instance 1 29..."

    strange thing is that vi names appear many times but subVi are called only one time. Below you find an extract of my VI hierarchy which is alphabetically ordered so can see that "___T4SM_CalibrateTrasducer.vi" appears three times, but in my code is called only one time in one VI.

    .......

    D-GraphSize.vi

    XYGraph.vi:Instance:1

    openTDMSFile.vi

    ...

    ___T4SM_CalibrateTrasducer.vi

    ___T4SM_CalibrateTrasducer.vi:Instance:Instance 1 29Saved ___TSM_D-Calibrazione .vi

    ___T4SM_CalibrateTrasducer.vi:Instance:Instance 2 29Saved ___TSM_D-Calibrazione .vi

    ___T4SM_D-LanguageSelection.vi

    ...

    of course I can remove the unused part of Vi name before using my file list, but I am curious to understand the real meaning of it.

    does anyone of you know the meaning of this appendix?

    thank you in advance,

    Vivante

    post-18107-033131500 1286542120_thumb.jp

    getVINames.vi

  8. Hallo,

    I am a new member and browsing the "VI scripting" forum, I've found many posts about XNode, but I cannot find tutorials or other technical papers about them.

    Please, can somebody explain me what an xnode is? Are there documents related to xnode?

    thanks in advance,

    Vivante

×
×
  • Create New...

Important Information

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