Nodes property RT for Typedefs

I add a new feature to an application of the CR for which I would like to maintain scalability and flexibility by using a type of cluster definition. The cluster will represent the channels to use for a particular modular Subvi. I will reference this cluster in several places, and there's a chance I might need to add new items in the future, that's why I want to use a type definition (to apply the update in the world of the location of a file).

I also need to be able to return the list of items in the cluster. Normally, I would do by accessing the Controls [] property, then through each control for the Label.Text for individual element names. Unfortunately, I can't access these properties on an RT target. [Well, I can if I run in the development environment, but not when compiled into an executable file] I understand that some nodes of property are not available on the objectives of the RT, but it is not clear to me who is and is not. For example, I often connect via remote façade panels, and I know that I can use the Visible? and nodes of property mode disabled on front panel controls (reading and writing) without problem, even if the position of NOR, it's that the front does not exist on the objectives of the RT. Why can I use these properties, but not as simple as controls [] and Label.Text?

Also, anyone who has run in a similar situation and has found a way around it? It's a way to enjoy the benefits of the type definitions (which is globally set to day) for groups of channels on an RT target?

TurboPhil wrote:

Thanks for the explanation, Justin. It makes sense to instantiating a connection of façade (via the development environment) the impact to the target RT read some nodes of property. Or, at least I can see the logic behind it. I still think it would be nice if some properties might be available for the target of RT running without a connection to the front panel, provided that the reading of these properties will not affect determinism of the system...

As for your suggestion of table, yes I totally agree with the concept. Except that - at least to my knowledge, it is not a good way to pre-populate the table in all instances. In other words, I want to have a list of predefined strings, defined as a type definition so that I can call from several screws and if I need to add / remove from the list at any time, I just need to change the definition of a type. Using, say, an array of strings, the best I can do is to use a control and change the default value. But would not be spread in all instances of control throughout the project.

In general, I use an enum typedef to define lists of channel, and I have a little Subvi to go through each element of the enum (since I can not access the property names point []) to return a list of the elements in the chain. In this case, however, I wanted to have a little more flexibility: I want a typedef cluster whose elements are channel types and the entries of these elements specify the names of channel. Specifically, I work on a scalable CAN interface Subvi, which must be able to communicate with devices on several different manufacturers; for each device, I have a list of types of conventional channel which I will use for communication (set point, feedback, temperature - to be represented by elemnt cluster names), but each manufacturer has a different channel name ('SRA_Desired_Pos', 'SRA_Actual_Pos', 'SRA_Internal_Temp', etc - will be reflected in the value of the element of cluster chain) for each type.

I was wondering if anyone out there has run into this kind of situation and find a clever way around it.

"Well, that's a horse of a different color!"

Just parse the descriptor type of the enum.

Ben

Tags: NI Software

Similar Questions

  • Node property/reference for the image and 'Create VI' inconsistent control?

    Hello

    I encountered this problem several times already and although I have worked around him, so far, I would really like to understand what is it:

    If I have an image display control on the Panel before (IMAQ Vision, not the image control type) and drag a property node or a reference to it on the block diagram, it seems impossible to create a Subvi diagram if the selected objects are equipped with a knot of property image or an image reference. Select 'Create Subvi' won't do anything, don period. No warning, no beep system, no nothing.

    A related issue is that if I have a view control reference on the diagram and try to create a control from it (for example to use as a control on one dimension of connector VI entry), same thing, "Create control" will not do anything.

    Why is this?

    Thanks for your comments.

    X.

    Xavier,

    This was reported to R & D (35835) for further investigations. A possible workaround is to make the Subvi LabVIEW 7.1 and open it in the new version of LabVIEW.

  • How to set the property node maximum xscale for several scale XY Chart

    Hello

    I use a graph XY with three X axis and three scales of axis Y to draw the three sets of data. This works well.

    What I do now is to set the Xscale.Maximum property node for one of the x-axis (the other two autoscale). If I click right in the (Create Blockdiagram; Node property; X scale; Maximum) I can not choose what x-axis I want to put the Maximum for.

    So my question: how to select a specific axis allows you to set the XScale.Maximum property node when having several axes?

    Thank you for your help, any suggestions are appreciated!

    Hello

    After some more research and experimentation, I found that using the scale property X Active I can determine/set for which the XScale.Maximum Xscale is used.

    This solved my problem.

    I hope someone else can save themselves a few hours with this thread!

    Thank you

  • Table & node property

    Hello

    I have a simple problem.

    On my side, I have a 2D chart.
    I can right click and exploitation of data > empty data to clear the table.

    I want to do this in my entry into force.

    If I do the node property or the local Variable with an empty array as input for my program initialization, it don 't work.
    They are therefore, any possibility of having a property node > data operation > empty table.

    In advance, thank you for your help

    Hey Mini,

    in your init framework you write empty tables to table three controls.

    When I test your VI it works as expected: all three paintings are deleted/erased...

    What else do you need?

    But as said before: you use two shift uninitialized registers. It would be really useful to initialize - using the same empty array constants!

  • disable the node property problem

    Hi all!

    I want to do a VI that the user will not fool around with the button.

    So I put in my case for the "change the value" event, a node property disable during 1 second (disable) and out of it, an enable.

    The problem is that if I press the as button 3 times in 1 second, the button will still change the value 3 times, as he has memory.

    I want to just the user to be able to make changes to the value only after 1 second and not save them. I hope I made myself understood

    Are there any suggestions?

    You may use a state machine with two loops. UI loop place the actionwith a timestamp and the loop of consumer can compare timestamps to decide if enough time has passed, or if the action should be discarded.

  • all the nodes property objects and objects grouped

    Hello

    Now position an on my GUI objects in the center of the screen using nodes property. However, I don't want to have to have a node property for each decoration, image and control. Is it possible that I can group all the objects and then use a property node to position them? I tried to use the property node all objects, but none of the clues seem to apply to my group of objects.

    Help please!

    Thank you very much.

    John

    p.s. I downloaded my vi test. The graph, the decoration and the exit button have been grouped. control over check.vi to set the object to be moved.

    Tabbed pages are a great way to group objects GUI.

    Rather than use a decoration,

    • use a tab control
    • Delete everything except the first tab
    • Hide tab
    • The value of the proprties of the tab control and control on this page is move, hide, display as well as the tab control.

    I hope this helps,

    Ben

  • Node property accessor vs LVOOP

    I spent my CLD and exploring the world of LVOOP.  I am a mechanical engineer with about 1.5 years of experience in LabVIEW, so I still have a ton to learn.

    While browsing through the LVOOP, I ran across things that I can't reconcile.

    When is the right time to create an accessor for a property of a class method and what is the right time just use a node property to get or set a node of class?

    Data class must have all children data parent instantiated inside more his own?  Or does just have its own data?  (that is, if the parent has child Name and Value, should he Name, Value and amount or quantity?)

    Can anyone provide an example of Composition as a class relationship?  I understand the LVOOP class training that the Composition is a "has - a" relationship, but I'm still not sure what this means in reality in the real world.

    Any help is appreciated.  Thank you

    Welcome to the object-oriented approach.

    When is the right time to create an accessor for a property of a class method and what is the right time just use a node property to get or set a node of class?

    I used to always create accessors and it is advisable to do so. Technically if the accessor is private (which means no VI outside the class can call) and you don't need to do any checking of range or any other logic on a read or a write and your class is not to have children, then you might get away with just using a ungroup by name (using a property node requires creating an accessor - the property node is just syntax to call the accessor).

    An accessor allows you to:

    1. the scope of access (i.e. which is able to access these data, data of class being always private in LabVIEW)
    2. error checking or conversion to centralize code
    3. protect code against changes how store you a value (as long as you can write an accessor which returns a value in the specified format, the way the value is stored internally to the class will not affect the rest of the application)
    4. have a single point to debug

    Data class must have all children data parent instantiated inside more his own?  Or does just have its own data?  (that is, if the parent has child Name and Value, should he Name, Value and amount or quantity?)

    Not if you use accessors to get data from parents. Because the child inherits all methods of parents, he can call the parents of the accessor methods. Recreate the fields Name and Value of the child class would be exactly what OO tries to avoid duplicate work.

    Can anyone provide an example of Composition as a class relationship?  I understand the LVOOP class training that the Composition is a "has - a" relationship, but I'm still not sure what this means in reality in the real world.

    Of course, take the job template DAQmx for example.  A task class contains information of calendar and 'a' one or more channels in. Each channel can be it's own class that represents the type of measure and scale for this specific channel information.  Given that the task class contains an array of classes of channels that have no use outside the context of a task, then you have a composition relationship.

    Hope this helps clear things

    Simon

  • Backup of property intellectual for iC-how long should it take?

    Hello

    Backup of property intellectual for iC-how long should it take?

    Was support for 12 hours and only at half way.

    The amount of data and what is your connection?

    There is no possible way to answer your question. How long is a piece of string?

  • 3407: cannot allocate space to store the property information for global cache

    Salvation of the experts on the issue of a load in ttisql as follows, statement

    CACHE LOAD domain_group GROUP COMMIT ALL 256 LINES;

    This exception is thrown, and I can't find anything with google:

    3407: cannot allocate space to store the property information for the global cache groups because the space in the partition of the temporary data is less than the minimum threshold of 3000000 bytes--of the Member MG2_alone2_1 of the grid

    My my_ttdb DSN is configed as follows:
    [my_ttdb]
    Driver=/home/TimesTen/TimesTen/tt1122/lib/libtten.so
    Data store = / home/timesten/data/database / my_ttdb
    LogDir = / home/timesten/logs
    PermSize = 4000
    TempSize = 32
    DatabaseCharacterSet = AL32UTF8
    OracleNetServiceName = amq_915

    The result of cachegroups is:

    Group cache CACHEUSER. DOMAIN_GROUP:

    Group cache type: asynchronous, Writethrough global (dynamic)
    AutoRefresh: No.
    Breeding: LRU on

    Table roots: GTLD_WHOIS_TEST. GTLD_DOMAIN
    Type of table: spread


    Child table: GTLD_WHOIS_TEST. GTLD_DOMAIN_STATUS
    Type of table: spread

    The County of gtld_domain table is 3,005 million records in the gtld_domain_status table.

    Waiting for your help, thank you.

    According to the error message you need to increase the temporary data partition which is the TempSize setting in your DSN.

    As point of departure set to 1000 and then to monitor it in ttIsql with the dssize command to see if it needs to raise more or may be reduced after a workload has been run.

    Tim

  • FRM-30442: WARNING: requested property ignored for subordinate element mirror

    Hi all

    After conversion of oracle forms 6i to oracle 10g form, form on the compilation of the gives the error "FRM-30442: WARNING: requested property ignored for subordinate element mirror. Can someone suggest a solution for this problem.

    Concerning
    Kishan M G

    Hello

    >
    ' FRM-30442: WARNING: property Required ignored for subordinate element mirror.
    >

    This is only a warning and will not affect the operation of the form. The compiler has decided to ignore a '' necessary '' to the question property and wishes to inform you of this decision.

    Kind regards

    PS: Open XXIB_I10_BILLED_ACCOUNTS. Range of ACCOUNT_NUMBER_CTL of property. You see data > required = Yes? Make it no.

    Published by: Dominique June 15, 2012 11:59

  • typedef red dot coercion cluster with node property value

    Hello!

    I have a project more vast, where I have parallels of DAQ and other calculations. In the project that I have spend all my relevant data between different parts of the program by using a typedef cluster control, so if I need to add the new element, it updates everywhere in my project. My problem is, when I want to update the items of this control on the graphical interface of typdef in what concerns changes in different places in my program, I use the property for this node. It works normally, but sometimes, I get a really strange behavior... sometimes the enum element not updated and so on...

    I have attached a simplified version, only including the party concerned...

    No idea what I did wrong?

    Thank you very much!

    The attached file and the picture shows a way to write about the control with nodes of property.

    Run the program. You can change the "current GPIB Subvi" selection or select a control (via index) and set its value.

    You can use a def enum type to select the desired control if you know that the order of the controls will not change.

    Steve

  • Issues related to the cell property node: Position Active for a table control

    Hello

    What determines the Position of the Active cell in a table control property node? I have this in my code and display the value of an indicator on front panel. The displayed value is always set to 0,0. Help for the property node says it's "read - only" so what defines the Position of the Active cell in a table control value?

    Define you the active cell with a property node.  Once you select an active cell, you can do this cell and single cell-specific things, things like the background value color.

  • Control disappear the node property for the post of Pentecost

    Why what happened? I accidentally create a situation like that in the VI and control disappear without any errors, can solve this problem, but the control never return to its original position.

    Hi Rodrigo,

    you are unable to find the control you went it off to the left...

    LabVIEW has some problems when the FP elements are moved by far (in a sense). These problems include not being able to find/move this element or results in an object with a width of 0.

    Why someone would move an item to > 16000 positions in both directions?

  • Nodes property and rings of Menu

    So I have this multimeter I need to make a driver for, and it has so many modes/scales of operation it will be a pain.

    So that's what I'm working with, there are a lot of 'functions of measure', including the tension continues, alternating voltage, current DC current alternative, etc, there is more than what is shown in this picture, but functions are the first row in the table above.

    Associated with each function is a set of ranges. GPIB codes for each range are on the left most column, and you can see what they are in the other columns.

    To manage the functions of measure and the beach in this driver I have, I'll use 3 sub.vis:

    The first sub.vi is very simple, consisting of a ring of unique menu, a number to string converter, then a concactenate string, shown in the first attachment. It sends the command of the unit function.

    The third sub.vi is also quite simple, it sends the range control to the device.  This is the sub.vi between the two that I need help.

    What I want is to have a single control of the range , in the form of a ring of menu, and the 2nd sub.vi reformatted this menu ring. So what I need is to use a property node to set the line items in the ring menu to match with items included in the 6 columns above, so that if the function is chosen to be volts DC, the menu range ring will show 3mV 10mV, 30mV, 100mV, etc etc, but if the function is chosen to be alternating current the menu range ring show 3uA, 30uA, 300uA, etc etc.

    The other tricky part of this is that the voltage and the current functions of the AC pass range controls (see how there is no range associated with orders R2, R4, R6, etc.).

    That I'll probably be able to come up with something clever to treat (as simply double the value coming out of the ring and incrementing it with a + 1 on these functions to make them all odd), but for now I need help in the form line items in the menu ring.

    Attachment 2 was my first attempt to simply edit the line items in the menu ring.  Unfortunately the way it is put in place, he crams this whole string them in 1st command line, rather than separate.  I don't know how to change one of the elements of the past that 1st menu ring.

    Hope I explained quite well, make me know if I need to be clearer.

    You use the wrong property.  The property to use is 'Strings' and the entry is an array of strings.

  • nodes property IMAQdx

    Hello

    I m using a camera GigE (DFK23GM021) and im trying to put for example the brightness.

    I would like to know how the work of property nodes and how can I get the names of attribute/chains I put in the nodes.

    Thanks in advance.

    the camera im using does not support property imaqdx nodes, instead I use nodes in the Active X for it to work.

Maybe you are looking for