LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Set FP as Floating programmatically. Strange behavior.

To set a FP as Floating, the IsFloating property must be used. The use of this property is not recommended but, to my knowledge, there is no better alternative (LabVIEW 2021). This is the simplest code, and it works — just set it to True.

 

01_FloatTest_Simple.png

However... setting it to False was a gamble for me. I could not understand why, in most cases, the FP remained floating even though the read value was False.

 

Some experiments revealed interesting behavior: if IsFloating is set by an external asynchronous process, it works correctly in both directions.

FloatTest_asyncCmd.png

04_FloatTest_Async.png

But... only if the FP of the asynchronously called VI is open.

 

 

Thus, this is the working solution.

06_FloatTest_Async_preload.png

 

It does not matter whether the second VI is started with the VI Server or with the Start Asynchronous Call node.

 

Could you explain this strange behavior?

_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 1 of 3
(182 Views)

@_Y_ wrote:

To set a FP as Floating, the IsFloating property must be used. The use of this property is not recommended but, to my knowledge, there is no better alternative (LabVIEW 2021). This is the simplest code, and it works — just set it to True.


What about using a VI property node with "FP.Behavior" and setting it to floating? 

https://www.ni.com/docs/en-US/bundle/labview-api-ref/page/properties-and-methods/vi-server/vi/fpbeha... 

 

Message 2 of 3
(168 Views)

Thank you UliB, I missed this property.

 

But the academic interest still here. What causes this strange behavior?

 
_____________________________________
www.azinterface.net - Interface-based multiple inheritance for LabVIEW OOP
0 Kudos
Message 3 of 3
(141 Views)