Jump to content

Aitor Solar

Members
  • Content Count

    259
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Aitor Solar

  1. QUOTE(Felipelc @ Jan 15 2008, 07:12 PM)

    It's posible to have two colors 'themes' (buttons, graphs, text) in one VI, and select one of them with a selector or by an event detector?

    Yes, though is not immediate. When the user selects the new color set, you'll have to change the colors of all the affected elements through property nodes.

    Saludos,

    Aitor

  2. QUOTE(tcplomp @ Dec 19 2007, 10:53 AM)

    it is installed by the OpenG 'Additional Application Control' package.

    Well, the "Open VI Object Reference" function is inside LabVIEW, though is not shown in the palette. That OpenG package "just" gives an easy way of placing it in the block diagram ;).

    Saludos,

    Aitor

  3. QUOTE(Gavin Burnell @ Dec 15 2007, 02:50 PM)

    Of course it's possible, my XNode does it:

    Download File:post-1450-1198053874.avi

    But when you have a strict VI reference the VI is reserved, so you usually can't use the run method (more tricks needed to do it), and so the XNode usefulness is reduced, hence I didn't mention this possibility.

    QUOTE(Gavin Burnell @ Dec 15 2007, 02:50 PM)

    Are you planning to release your XNode on the Lava CR ?

    Not now, it has a lot of dependencies :( . But I can pass it to test, send me a message if you want.

    Saludos,

    Aitor

  4. I also prefer the first method (call me traditional ;)). To avoid the necesity of writing down the controls' names (so error-prone), I have developed an XNode to manage the Set Value and Get Value methods automatically. Visually is similar to the Call-By-Reference function, and you can easily drag a VI or browse to the desired VI:

    post-1450-1197550752.jpg?width=400

    The XNode's generated code just gets and sets the connected values:

    post-1450-1197550757.jpg?width=400

    Next step is to automatically update the XNode pattern when the referenced VI changes, but Aristos warning about linker functions has frightened me :o .

    Saludos,

    Aitor

  5. I addition to what Ton said, in the code you're not breaking the inner while loops. I'm not sure what's your goal, so:

    1) If you want to check from an inner loop if the stop button have been pressed, you can use a local.

    2) If you want to check from a running subVI if the stop button have been pressed, you can use the reference, but is probably better to implement some kind of communication as queues.

    Hope that helps.

    Saludos,

    Aitor

  6. QUOTE(tcplomp @ Nov 20 2007, 11:19 AM)

    Right click an instance -> Open Polymorphic VI

    <ctrl-I> -> Documentation

    All right, is a shortcut to File -> VI Properties. You know, I always use a right-click on the VI icon and then "VI properties" and that doesn't work with polymorphics.

    Thanks, Ton. I fell stupid now :oops:

    Saludos,

    Aitor

  7. QUOTE(M.M.K @ Nov 18 2007, 10:47 AM)

    The output dose not reaches the Max. value

    Because i goes from 0 to N-1, so your last iteration output is MAX - INC. Add a +1 to the N or to the i. Keep also in mind that you are casting a double to an int when you set the N value; you have no guarantee the selected increment can reach the max value (for example, if MIN=0, MAX=1 and Increment=0.3, you won't reach 1 but 0.9 or 1.2, depending on the N value).

    Saludos,

    Aitor

  8. QUOTE(Michael_Aivaliotis @ Nov 15 2007, 09:49 AM)

    I guess that makes 2 in the special "required outputs" club.

    But I'm afraid you are still alone in the "detachable node" club :( .

    I was going to explain how I did it, but I don't want to take away your well-earned NIweek beers ;) .

    Saludos,

    Aitor

  9. QUOTE(martin@aerodynamics @ Nov 14 2007, 12:30 PM)

    post-1396-1195041534.jpg?width=400

    Error 1077 is usually associated to a wrong property name. Are you sure all the German names you put are correct?

    QUOTE(Tomi Maila @ Nov 14 2007, 03:13 PM)

    Yes, the search capability should be heavily improved. I like the approach of your tool, though I still like a global search function because sometimes you just don't know where to look.

    I also left out the possibility of creating constants, something your tool has. It was for the sake of simplicity, since you can create a constant from any property ot method, but in fact the question is more complicated if we include strict constants. It happens some classes (like the Vision Image Display) are in fact a strict sub-type of another class, allowing properties and methods the original (un-strict) class doesn't have. But for now I don't see the point of digging that way.

    QUOTE(Tomi Maila @ Nov 14 2007, 03:13 PM)

    3) Ability to automatically "reverse engineer" classes, properties and methods for new LabVIEW versions when the tool is started in a LabVIEW version for which there is not yet configuration files generated (I've not implemented this so...)

    Umm, do you mean the tool should automatically find all the possible classes, properties and methods? I'm afraid that's not an easy task and is far beyond the scope of this simple tool. Generation of the classes tree can be automatic (and fast) through scripting, but usually crashes labview. Finding the correct properties and methods names is more difficult and I prefer not to elaborate on that. I don't know if you have find an immediate way for recovering all that info, I haven't :( .

    QUOTE(Tomi Maila @ Nov 14 2007, 03:13 PM)

    You can also make the start-up faster by using VIs as configuration files. You know how to script a VI with certain default values on the front panel indicators. Such VIs can function as very fast and extensible configuration files. Simply either 1) open the VI and read the front panel controls or 2) open a reference to the VI and call it dynamically. The latter method is faster but requires a little more work if connector pane is changed as old connector pane formats need to be supported.

    Well, the startup seems really fast for me but, I have understood correctly, with the approach you propose, for adding or changing a property would be necessary to open the VI, change the value and making it the default value. I thing the txt files are much more versatile and user-configurable.

    Saludos,

    Aitor

  10. As requested, here is this simple tool intended for providing an easy way of calling properties and methods. I thinks it's pretty intuitive and works as other similar applications. Select the LV version, the class and the desired properties or method. Press "copy" to have the function in the clipboard and paste it in a block diagram.

    post-1450-1194860212.jpg?width=400

    Known issues:

    • The description box doesn't show anything, because I haven't found a way of programmatically retrieving it. Any idea will be welcome.
    • Some properties can't be created this way. For example, try Generic -> Owner and you'll see the deprecated property is created instead.
    • Maybe not all properties and methods are included and can be some repeated. You can play with the txt files to add and try ned props/meths.
    • The search capability was added as an afterthought and I would prefer to have it better integrated. But still useful.

    Please tell me any improvement or idea you get.

    Saludos,

    Aitor

    • Like 2
×
×
  • Create New...

Important Information

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