Is it allowed to use property value nodes?

To remove the problems of spaghetti, I need to delete rows.

Previously, I used local variables, but the values written to local variables could not be found in time.

So I started using nodes of property value instead.

Are safe as substitutes to the lines?

CITA wrote:

To remove the problems of spaghetti, I need to delete rows.

LabVIEW includes wires, no lines. What do you mean by "need". WO is you force?

The program work correctly?

So you have beautiful, clean and narrow (son) 1 d elements and that you want to replace by larger elements 2D (local variables, the property value nodes) across face significantly more chart area?

Because you now also remove the dependencies of hard data, you probably need to add sequence structures, to keep racing in failure conditions. This will clutter the diagram even more! Why do you think that is the solution to your problems?

Basically, you replace spaghetti with something worse still, for example, the content of the dumpsters behind an Italian restaurant after a night occupied.

CITA wrote:

Previously, I used local variables, but the values written to local variables could not be found in time.

What is your definition of "appropriate"? The use of knots of property and local variables does NOT accelerate your code. In fact it will make it slower. As mentioned, race conditions can indeed retrieve outdated values before they have been updated to the current values elsewhere, so "timely" could easily turn into "too early."

If you have performance problems, you don't want to chop the code and become even more fragmented.

CITA wrote:

So I started using nodes of property value instead.

They have exactly the same problem as local variable, but are more demanding on resources. What was your thought process, perhaps?

CITA wrote:

Are safe as substitutes to the lines?

Yet once, LabVIEW didn't 'lines', except in the range of decoration. Local variables and property nodes make code significantly less safe, because they make them much more difficult to find and avoid race conditions. They also make debugging almost impossible.

You can start from scratch with a design template set and a code well structured and hierarchical.

If you still think there are too many wires, consider using clusters and berries. Dozens of scalar son can replace a single cluster thread. A multidimensional array can carry millions of data points in a single thread. You get the point!

It is difficult to give advice more targeted without actually seeing some of your code. Feel free to join so we can give more specific comments. There are many examples here in the forum where we were able to copy the HTML code to 10% of the original size while making it faster and cleaner at the same time still to add additional features. All this without the need for local variables and property nodes.

Tags: NI Software

Similar Questions

  • How to read the values of the variables of façade in loops without using local variables or property value nodes?

    I know that local variables and nodes of property value are causing a lot of problems.

    But if I read the value of a variable front outside a loop.

    the value is only read once before the start of the loop.

    Changed the front variable values during the iterations of the loop, is invisible.

    How can I solve this problem?


  • IM new to LabVIEW. Is it possible to send the signal to more than one parcel on a chart by using the value property of the graph node

    I'm new to LabVIEW. IAM trying to display two plots on a graph using the node property value charts. I tried to feed the two signals into a signal of fusion and then in the value property node, but it did not work. Then I tried to build a table of two signals and it powers the value of hardware node. It did not work. What escapes me, should I use the node property value this way?


  • How to use property nodes?

    Hello world

    I am a beginner of LabVIEW. So I want to know about the property in detail node. Please please someone help me to know the function of each property node...

    Thank you in advance,

    Hi Achuthaperumal

    I understand that you are a beginner of the LabVIEW. But I think it's too difficult to explain the function of each property node.
    Because there are a lot of property node in the LabVIEW.

    The main reason we use a property node is we want to change a LabVIEW action programmatically.

    When you create a LabVIEW program, you can change the behavior of "every indicator/controller etc." by changing the property.

    But in this method, you cannot change during the execution of the program.
    For example, if you want to control "the color of the Boolean indicator."

    You can use this property of node

    => Can I programmatically change the colour of the façade? http://digital.ni.com/public.nsf/allkb/0DDBDB2FE2F54A5286256918006D7BB9.

    If you want to know the function of each property node, I will recommend you to use LabVIEW HELP.

    Tepig

  • DRM validation to check the existence of nodes in a different hierarchy as a property value

    Hello gurus,

    I have two hierarchies, named A and B respectively. I need to create a validation for nodes in A hierarchy that checks the value of a property such that the node must have the property value equal to any node name in the hierarchy B.

    Means that the values for this particular property for the nodes in A hierarchy must exist as a node in the hierarchy B.

    It would be very grateful if someone can give an idea to achieve this.

    Hello

    Try this in a type formula validation-

    NodeInHier (PropValue (Custom.PropName), B)

    This returns false if the value of the property is not a node in the hierarchy B and True if it's.

    So, you will get a validation message whenever the property is loaded with a value that is not a node in the hierarchy of B.

    Thanks, let me know

    Denzz

  • Waveform invalid property value table

    I use LV7.0 and you have a problem with access to an array of waveform using a property node.  I have a number of nodes of property for the same waveform graph, which I address at the "same time".  I use a reference to the chart in knots of generic property.  I believe I have 7 lots available on the card, but I address them, between 0 and 6, I get an error of invalid property value (arg 1) on 6.  It seems that he does not like me affect the ActYScl 6.  When I pull up the properties of the graph, it shows I have 7 available plots.  Is there some obscure affecting somewhere that limits the number of plots?... or what is well known that causes this error.  Overall the program is quite complex and would take some time to disassemble for display, so I wanted to know if there was anything the hand that can cause this.  I have attached a picture of the place of boredom.

    Thank you.

    You have 7 plots, but you have 7 Y-scales?  If you have 2 or more locations that are assigned to the same scale given, so you're probably not as Y-scales that you have drawn.

    There is no correlation between the number of sites and the number of scales is.  Even the order of the curves according to the scales could be different.

  • Bug in reporter Panel updated with the property Value Chart

    Hi guys,.

    Defer to what the Panel update property is set to true and chart is updated with the help of node "Property value", data are not updated graphics. Capture of the block diagram and VI (2014) screen gasket.

    Is this a known bug, and is there any fix for it?

    Thank you

    Knockaert

    I have not tried running your code, but here are some possible solutions:

    1. There is a primitive to write the value of a control by index (added in ~ 2013). This is designed to be used others live too and should work like a local.
    2. You can send data using another way (like a queue, etc.).
    3. Use the Ctl Val.Set method.
    4. Do not use a chart. Use a chart and manage the buffer yourself. You can find some examples if you're looking for graph XY.
  • calculation using the formula node needs two clicks

    Hello

    I want to use this piece of code for a larger program. My goal is to take 10 values and calculate two values using a formula. I used the formula node as the calculation functions digital ordinary would be too heavy. If I click on save, it saves two values to a file.

    The problem that I am facing is that when I start the program, it works very well for the first time. The second time however, if I change the values, and then click on save, it still displays the previous values, or some altered values. I have to click on save twice to get the correct values. I don't understand the reason why this happens. Can anyone help?

    File attachment: Capture screen and VI.

    P.S. If the solution can help with the problem, I'm ready to change any part, but please, not irrelevant to suggestions on how to * improve my code *, because I've worked hard to make it work with another major project.

    I don't completely understand the description of your problem.  But I see two problems.

    1. the "Save" button actually belongs to the event that handles the record button.  And the case of the event should really be Jean-Claude Value Change of mouse down?

    2. your STOP at the bad mechanical action.  Since it happened so this just released, it is only true while you're pressing it.  It stops the upper loop, but can't stop low loop because your loop will also be waiting to save button to press.  Stop will always be false because you cannot press two buttons at the same time.

    Try to make your action to stop button to be changed when released.  You must return the button to false programmatically born of two loops.  In fact, it would be better to have a case of events for the stop button to stop the lower loop.

    I don't understand what you're trying to do in the upper loop.  You read a file as soon as possible, and it seems to be the same file that you create in the lower loop.  Why?

  • Can I use data value references with a functional overall?

    Can I use data value references with a functional global?  I am trying, but it causes problems:  I run the attached VI with "new DVR" selected.  Then I run it again with "return array" and I get the error 1556: "The reference is invalid. This error might occur because the reference has been deleted."  It seems to have forgotten the DVR, but I thought it should be stored in the shift register.
    
    Another odd thing:  In my VI, if I try to connect the wire shown in "something strange", then the type changes (from U16 array to DBL), i.e. it doesn't recognize the type referenced by the DVR.
    
    I want to pass a very large 4-dimensional array between parallel loops with a functional global.  To avoid memory problems, I want to use a DVR and in-place element structures.  If that's not allowed in Labview, I will try passing it through a user event or notifier.  Any problems with those alternatives?
    
    Thanks.
    

    I received a response from an engineer applications OR on this subject, and it seems that it is perhaps a problem with Labview.  They are working on it, so I'll go ahead and close this discussion.

    Thanks for the help,

    Allan

  • Error compiling 2010 FPGA - TclTasklC:project_028: unknown property value

    Hi, I use a cRIO 9075 and a NI 9211 to measure the temperature to a project very busy with. Whenever I have try the code for compilation of t I have a compilation error which read as follows:

    Compilation failed due to an error of Xilinx.

    Details:

    ERROR: TclTasksC: project_028:Unknown 'spartan6' property value specified for "PROP_DevFamily."

    Can someone help me on how to solve this error, I'm using LabVIEW 2010 FPGA and Xilinx 11.5

    Concerning

    You are welcome! I am happy to know that everything works correctly!

    Happy Friday!

    Jordan

  • Possible problem with the help of "property disable node.

    Hi, in Labview version 9.0 (32-bit), there seems to be a conflict between the info on the help of the Enum constant as applied to the property disable node. If I right-click on a control variable and select Create-> property-> disable node. If I then click on disable-> Help for disable, the aid lists allow the following allocation of the integer 0 - disable, 1 - disable and Greyed, 2. However, if I right-click on the generated Enum constant and select properties-> change the items, the order of citation is as follows; 0-enable, Disable-1, 2 - disable and Greyed. The assignment of the latter, it's how the Enum constant actually works. It seems that help information may be incorrect.

    Kind regards

    Pat

    I think that it is a good fishing.

    Can you post a snapshot of this bug?

  • 200077 error has occurred to the property trigger Node DAQmx DAQmx Start Trigger (analog Edge.vi:1-> CRT with trigger

    I created a program that reads analog data and draw a waveform, but I need to stop the program when the voltage drops to a certain tension. When I tried the analog edge trigger it showed the error in the subject:

    Reason: The requested value is not supported for this property value. The value of the property may be invalid because it is in conflict with another property.

    Property: Trig startup type

    Requested value: analog edge

    You can select: Digital Edge, no

    I understand what the analog trigger is not available for my DAQmx version, without again getting equiptment, can I use a trigger to stop reading data at a specific voltage?

    How to start and stop a similar read digital triggering?

    Thanks in advance!

    Ah! Well, then the Boolean value of status would be connected to the State of the thread of the unbundled error, Boolean stop to the stop button and the Boolean value to the right would be the stop for loop itself... so something like this (see image).  This is an excerpt from LabVIEW 2014, so it can not easily fall in your version, but I hope it's clear enough on how you can wire it to the top.

  • Desktop\SharedDocs is not accessible. You are not allowed to use this network resource. Not enough server storage is available to process this command.

    \\XXXDesktop\SharedDocs is not accessible. You are not allowed to use this network resource. Contact the administrator of this server to find out if you have the permission to access. Not enough server storage is available to process this command.
    I got the above message when I tried to access my room servert pc (XP Pro with Service Pack 3) from another pc Client (XP Home Edition with service pack 3) on a network share. I see all class document & readers who share in my network places on both PCs.
    There is no problem when I have access to XP Home Edition of XP Pro. I heard the pc installed with Acronis True Image to give to this question. But my two PCs are installed with it. Any solution.
    What I've tried so far on my pc (XP Pro):
    1. click on start, run, type regedit, and then click OK.
    2. Locate and double-click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
    3. on the right side, double-click restrictanonymous setting.
    4. make sure that that the value in the value data box is set to 0, and then click OK_ (why the default value is 0. I change it to 1, but always the same)
    5. close the registry editor.
    6. restart the computer.
    I also tried to enable the allow anonymous enumeration of SAM accounts and shares on XP Pro (default value is Disable).
    File and printer sharing exception is enabled in firewall. Don't have a firewall part 3

    The two guest account are capable of Simple file sharing in XP Pro box checked also checked.

    Hello

    Please visit the following link.

    http://answers.Microsoft.com/en-us/Windows/Forum/windows_xp-networking/three-computers-networked-fine-then-suddenly-the/3976b554-bb9c-4920-881f-38eb64480ca7

  • It is allowed to use Windows Movie Maker to create and edit videos Youtube Monetizable (commercial use)? »

    (By Microsoft), it is allowed to use Windows Movie Maker to create and edit (titles, effects) of Youtube videos that will be Monetizable?

    Yes, but the videos should be your property made/saved by you and not fact/record of others.

  • HypGetMemberInformation in VBA. Does not return the property values.

    I tried to use HypGetMemberInformation in VBA to find the level of a member of the grid.

    I continued to get zeros even for members who are not level 0 ones.

    I went to test HypGetMemberInformation a test connected grid that has members in the first column (column A).

    I packed a test routine I ran after you connect the grid manually:

    Void TestMemberLevelFind()

    Dim line As Integer

    Dim MemberProperties Collection As

    Dim vtMemberName As String

    ' Dim vtPropertyName As String

    Dim vtPropertyValue As Long

    Dim vtPropertyValueString As String

    Dim ErrorCode as long

    Dim ErrorMessage As String

    Define MemberProperties = new Collection

    MemberProperties.Add HYP_MI_NAME

    MemberProperties.Add HYP_MI_DIM

    MemberProperties.Add HYP_MI_LEVEL

    MemberProperties.Add HYP_MI_GENERATION

    MemberProperties.Add HYP_MI_PARENT_MEMBER_NAME

    MemberProperties.Add HYP_MI_CHILD_MEMBER_NAME

    MemberProperties.Add HYP_MI_PREVIOUS_MEMBER_NAME

    MemberProperties.Add HYP_MI_NEXT_MEMBER_NAME

    MemberProperties.Add HYP_MI_CONSOLIDATION

    MemberProperties.Add HYP_MI_IS_TWO_PASS_CAL_MEMBER

    MemberProperties.Add HYP_MI_IS_EXPENSE_MEMBER

    MemberProperties.Add HYP_MI_CURRENCY_CONVERSION_TYPE

    MemberProperties.Add HYP_MI_CURRENCY_CATEGORY

    MemberProperties.Add HYP_MI_TIME_BALANCE_OPTION

    MemberProperties.Add HYP_MI_TIME_BALANCE_SKIP_OPTION

    MemberProperties.Add HYP_MI_SHARE_OPTION

    MemberProperties.Add HYP_MI_STORAGE_CATEGORY

    MemberProperties.Add HYP_MI_CHILD_COUNT

    MemberProperties.Add HYP_MI_ATTRIBUTED

    MemberProperties.Add HYP_MI_RELATIONAL_DESCENDANT_PRESENT

    MemberProperties.Add HYP_MI_RELATIONAL_PARTITION_ENABLED

    MemberProperties.Add HYP_MI_DEFAULT_ALIAS

    MemberProperties.Add HYP_MI_HIERARCHY_TYPE

    MemberProperties.Add HYP_MI_DIM_SOLVE_ORDER

    MemberProperties.Add HYP_MI_IS_DUPLICATE_NAME

    MemberProperties.Add HYP_MI_UNIQUE_NAME

    MemberProperties.Add HYP_MI_ORIGINAL_MEMBER

    MemberProperties.Add HYP_MI_IS_FLOW_TYPE

    MemberProperties.Add HYP_MI_AGGREGATE_LEVEL

    MemberProperties.Add HYP_MI_FORMAT_STRING

    MemberProperties.Add HYP_MI_ATTRIBUTE_DIMENSIONS

    MemberProperties.Add HYP_MI_ATTRIBUTE_MEMBERS

    MemberProperties.Add HYP_MI_ATTRIBUTE_TYPES

    MemberProperties.Add HYP_MI_ALIAS_NAMES

    MemberProperties.Add HYP_MI_ALIAS_TABLES

    MemberProperties.Add HYP_MI_FORMULA

    MemberProperties.Add HYP_MI_COMMENT

    MemberProperties.Add HYP_MI_LAST_FORMULA

    MemberProperties.Add HYP_MI_UDAS

    ' For line 8 to 83 =

    For row = 8-10

    vtMemberName = ThisWorkbook.ActiveSheet.Cells (rank 1). Value

    For each vtPropertyName in MemberProperties

    Code of error = HypGetMemberInformation(ThisWorkbook.ActiveSheet.Name, vtMemberName, vtPropertyName, vtPropertyValue, vtPropertyValueString)

    If ErrorCode = 0 Then

    MsgBox _

    "The worksheet name:" & ThisWorkbook.ActiveSheet.Name & Chr (13) & _ "."

    "Member name:" & vtMemberName & Chr (13) & _ "."

    "Property type:" & vtPropertyName & Chr (13) & _ "."

    "Property value:" & vtPropertyValue & Chr (13) & _ "."

    "The property string:" & vtPropertyValueString ".

    On the other

    ErrorMessage = GetReturnCodeMessage (ErrorCode)

    MsgBox "SmartView API function HypGetMemberInformation returned an error message:" & Chr (13) & ErrorMessage, vbOKOnly, PrivateConnectionDescription

    End If

    Next

    On the next row

    End Sub

    The routine produces no result expected.

    Only of zeros.

    For all properties and all members.

    There must be something fundamentally wrong with my code.

    The function arguments are correct with regard to the name of journal, the member name and property name.

    Value of the property is always 0 and the property value string is always empty.

    Two property value arguments are expected to be passed by reference, so I should get some useful information.

    No error is generated so that the return error code is always 0.

    I guess that some prerequisite so that this function is not satisfied, but what is?

    Concerning

    Problem solved.

    The cause of all evil, as ususal, type mismatch...

    Arguments by reference:

    vtPropertyValue, vtPropertyValueString

    must be declared as variants but returned it to the values are ARRAYS...

    After the function call, to loop through these berries extract the real info returned!

    In the case of unique value of parameters such as the level of Member just use index 0, for example:

    vtPropertyValue (0)

    The corrected code is less with parts modified trhe parked in Green:

    Void TestMemberLevelFind()

    Dim line As Integer

    Dim index As Integer

    Dim MemberProperties Collection As

    Dim vtMemberName As String

    Dim vtPropertyName As Variant

    Dim vtPropertyValue As Variant

    Dim vtPropertyValueString As Variant

    Dim ErrorCode as long

    Dim ErrorMessage As String

    Define MemberProperties = new Collection

    MemberProperties.Add HYP_MI_NAME

    MemberProperties.Add HYP_MI_DIM

    MemberProperties.Add HYP_MI_LEVEL

    MemberProperties.Add HYP_MI_GENERATION

    MemberProperties.Add HYP_MI_PARENT_MEMBER_NAME

    MemberProperties.Add HYP_MI_CHILD_MEMBER_NAME

    MemberProperties.Add HYP_MI_PREVIOUS_MEMBER_NAME

    MemberProperties.Add HYP_MI_NEXT_MEMBER_NAME

    MemberProperties.Add HYP_MI_CONSOLIDATION

    MemberProperties.Add HYP_MI_IS_TWO_PASS_CAL_MEMBER

    MemberProperties.Add HYP_MI_IS_EXPENSE_MEMBER

    MemberProperties.Add HYP_MI_CURRENCY_CONVERSION_TYPE

    MemberProperties.Add HYP_MI_CURRENCY_CATEGORY

    MemberProperties.Add HYP_MI_TIME_BALANCE_OPTION

    MemberProperties.Add HYP_MI_TIME_BALANCE_SKIP_OPTION

    MemberProperties.Add HYP_MI_SHARE_OPTION

    MemberProperties.Add HYP_MI_STORAGE_CATEGORY

    MemberProperties.Add HYP_MI_CHILD_COUNT

    MemberProperties.Add HYP_MI_ATTRIBUTED

    MemberProperties.Add HYP_MI_RELATIONAL_DESCENDANT_PRESENT

    MemberProperties.Add HYP_MI_RELATIONAL_PARTITION_ENABLED

    MemberProperties.Add HYP_MI_DEFAULT_ALIAS

    MemberProperties.Add HYP_MI_HIERARCHY_TYPE

    MemberProperties.Add HYP_MI_DIM_SOLVE_ORDER

    MemberProperties.Add HYP_MI_IS_DUPLICATE_NAME

    MemberProperties.Add HYP_MI_UNIQUE_NAME

    MemberProperties.Add HYP_MI_ORIGINAL_MEMBER

    MemberProperties.Add HYP_MI_IS_FLOW_TYPE

    MemberProperties.Add HYP_MI_AGGREGATE_LEVEL

    MemberProperties.Add HYP_MI_FORMAT_STRING

    MemberProperties.Add HYP_MI_ATTRIBUTE_DIMENSIONS

    MemberProperties.Add HYP_MI_ATTRIBUTE_MEMBERS

    MemberProperties.Add HYP_MI_ATTRIBUTE_TYPES

    MemberProperties.Add HYP_MI_ALIAS_NAMES

    MemberProperties.Add HYP_MI_ALIAS_TABLES

    MemberProperties.Add HYP_MI_FORMULA

    MemberProperties.Add HYP_MI_COMMENT

    MemberProperties.Add HYP_MI_LAST_FORMULA

    MemberProperties.Add HYP_MI_UDAS

    ' For line 8 to 83 =

    For row = 8-10

    vtMemberName = ThisWorkbook.ActiveSheet.Cells (rank 1). Value

    For each vtPropertyName in MemberProperties

    Code of error = HypGetMemberInformation (ThisWorkbook.ActiveSheet.Name, vtMemberName, vtPropertyName, vtPropertyValue, vtPropertyValueString)

    If ErrorCode = 0 Then

    If IsArray (vtPropertyValue) then

    For index = LBound (vtPropertyValue) to UBound (vtPropertyValue)

    MsgBox _

    "The sheet name:" & ThisWorkbook.ActiveSheet.Name & Chr (13) & _ "."

    "Member name:" & vtMemberName & Chr (13) & _ "."

    "Property type:" & vtPropertyName & Chr (13) & _ "."

    "Property" & index & "value table:" & vtPropertyValue (index) & Chr (13) & _

    "Property" & index & "string array:" & vtPropertyValueString (index)

    Next

    On the other

    MsgBox _

    "The sheet name:" & ThisWorkbook.ActiveSheet.Name & Chr (13) & _ "."

    "Member name:" & vtMemberName & Chr (13) & _ "."

    "Property type:" & vtPropertyName & Chr (13) & _ "."

    "Property value:" & vtPropertyValue & Chr (13) & _ "

    "The property string:"& vtPropertyValueString"

    End If

    On the other

    ErrorMessage = GetReturnCodeMessage (ErrorCode)

    MsgBox "SmartView API function HypGetMemberInformation returned an error message:" & Chr (13) & ErrorMessage, vbOKOnly, PrivateConnectionDescription

    End If

    Next

    On the next row

    End Sub

    Fortunately we can someone find this useful.

    I wish documentation Oracle was a little clearer with more extensive code examples.

    Gustaw

Maybe you are looking for