Error 1055 from a Property or Invoke Node in VI or Executable

Updated Dec 18, 2023

Reported In

Software

  • LabVIEW Real-Time Module
  • LabVIEW

Operating System

  • NI Linux Real-Time

Issue Details

For RT VI:

I have deployed a VI or a real-time executable (rtexe) on a real-time target. When I try to run the code, I receive the following error message:

Error 1055 occurred at Property Node...
Possible reason(s):
LabVIEW: Object reference is invalid.

 
 

For Desktop:

I have a property/invoke node in a loop and I am receiving Error 1055 when trying to execute them, even though I am passing the reference between loop iterations.

Solution

For RT VI:

  • Remove any property or invoke nodes referencing front panel objects, as front panels are not loaded during rtexe execution.

For Desktop VI:

  • Ensure that shift registers are used instead of tunnels through For Loops.
  • Do not use the Default if Unwired option for an exit tunnel.
  • Go through each case and make sure the object reference is not being edited.
  • Make sure that the input reference is correctly linked to a front panel control or indicator, otherwise, by using the Probe Tool, the Refnum wire will return a Not A Refnum value.
Not a Refnum.png
 
 

Additional Information

RT Solution:

The most common cause for this error is that there is a rtexe running at startup on a real-time target and has a property or invoke node referencing a front panel object. When the rtexe is run at startup and is not accessed by a host PC, the front panel will not be generated, so any references to front panel objects will return error 1055 indicating that the object referenced doesn't exist. If this is the issue, removing the property or invoke node should correct the behavior.

There is also a documented known issue that occurs in LabVIEW Real-Time versions 2014 and 2015 when obtaining a dynamic reference to a control on a x64 NI Linux Real-Time target. After making a modification to the VI with this reference, Error 1055 is thrown from any property node attempting to access the dynamic refnum. In order to resolve this error, close and re-open the VI.

Desktop Solution:

When passing object references between loop iterations it is important to not use the Default if Unwired option for the exit tunnel but to actually connect the unwired cases to the original object reference. This is important as the default value for an object reference data type will not be the object reference for the front panel element you are trying to update. Likewise, it is important to use shift registers instead of tunnels in For Loops in case of a 0 iteration loop.



In addition to that, go through each case and make sure that the object reference is not being changed or closed.