LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Unexplained coercion dots

Solved!
Go to solution

I am dealing with several odd conversion dot issues.

 

First, if I create a control (say a boolean) and then create a reference, and then create a refnum from the reference, I get no conversion dot. But if I select a refnum from the controls pallette and set up the VI server class exactly as it is with the first method, and then connect it to the original control I get a coercion dot. What am I missing here? The two seem to perform exactly the same way, but I am curious to know if I am paying some kind of memory penalty.

 

Next, when I wire motion trajectory control vi's together directly, I get coercion dots. For instance if you pass the board and axis wires directly from one function to another, you get the dots. I am running LV stuff to LV stuff directly and LV is telling me something doesn't match. What is going on with that? The code runs and the machinery moves, but it makes me nervous.

 

Insights are greatly appreciated. Mailing large chunks of grey matter to augment my own is really appreciated!

David A. Taylor
0 Kudos
Message 1 of 5
(3,078 Views)

Maybe one is a strict reference and the other is not.

 

Turn on context help and hover over the wire.  Then temporarily delete the wire and do a Create Constant on whichever input had the coercion dot and see what the context help says now for the data type on the wire.  The context help might give you a clue as to what the differences are in the datatype of the wire vs. the input.

Message 2 of 5
(3,072 Views)
Solution
Accepted by topic author Mariahnova

mariahnova wrote:

I am dealing with several odd conversion dot issues.

 

First, if I create a control (say a boolean) and then create a reference, and then create a refnum from the reference, I get no conversion dot. But if I select a refnum from the controls pallette and set up the VI server class exactly as it is with the first method, and then connect it to the original control I get a coercion dot. What am I missing here? The two seem to perform exactly the same way, but I am curious to know if I am paying some kind of memory penalty.

 

Next, when I wire motion trajectory control vi's together directly, I get coercion dots. For instance if you pass the board and axis wires directly from one function to another, you get the dots. I am running LV stuff to LV stuff directly and LV is telling me something doesn't match. What is going on with that? The code runs and the machinery moves, but it makes me nervous.

 

Insights are greatly appreciated. Mailing large chunks of grey matter to augment my own is really appreciated!


 

Re: your ref Q.

 

The ones with no coercion are probably "strict" while the ones you create manually are non-strict. To make the manuall ones strict just control drag the control into the ref control and and it will adapt to strict.

 

Re: the motion stuff

 

[insert tongue in cheek]

 

Sometimes software developers should be forced to "eat their own dog food".

 

The developers of the motion sub-VI are not LV developers ...

 

[remove tongue from cheek]

 

Please don't learn anything about LV by examining those sub-VIs.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 3 of 5
(3,071 Views)
Also, the icon of the control reference will give you an indication. The "strict" ones are set to "Include Data Type". They have a little red star on the icon. You can right-click on the reference control and see that option checked on the popup menu.
0 Kudos
Message 4 of 5
(3,066 Views)
Thanks for the info on the coercion dots. Every time I think I begin to understand the gritty details LV reveals more goodies.
David A. Taylor
Message 5 of 5
(3,011 Views)