LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

polymorphic terminal cannot accept this data type

 I am getting an error "polymorphic terminal cannot accept this data type" in the attached VI . Can any body guide me how to fix it.

 

I will be glad if some one guide me how to fix this problem.

0 Kudos
Message 1 of 13
(10,258 Views)

If the values are always going to be a TRUE or FALSE, just add in a Not Equal To Zero? on your array.  That will convert it to a Boolean Array.  I would recommend doing this right after the Remove Zero Coefficients function.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 13
(10,245 Views)

You need to think about what you want to do and what VIs you want to use to do it.  It is a little difficult to tell what you really want to do, but it looks like you are manipulating polynomial digital encoding schemes (I see "PRBS" and "Reed Solomon Encoder" names in your code).

 

What do you intend to do after converting the Boolean array to an array of zeroes and ones?  It seems to me the place you go astray is in using the Zero Padder function which is designed to work with "measured" (i.e. real, not integer) quantities.  Note the color change in your wires.  Since the input to Zero Padder are the integers 0 and 1, the output will also be (Dbl) representations of these two numbers.  Why use Remove Zero Coefficients (which is designed for a completely different purpose)?

 

Again, since it is unclear what you intend to do, the simplest solution would be to eliminate Zero Padder and Remove Zero Coefficients, which will leave your data in the appropriate I32 Array format, and your FOR loop should work just fine.  Alternatively, if you want to (mis)-use Zero Padder to make your array a multiple of 32 in length, simply convert its output to I32 (or U32) and skip Remove Zero Coefficients.

 

BS

0 Kudos
Message 3 of 13
(10,219 Views)

Hi, I would apreciate very much if you can give me a hand.

 

I am sending 3 pictures of my problem.

 

Picture 1 shows the error messge (Polymorphic terminal.....)

 

I am trying to convert a Bollean array (the line that is coming from top  from the loop counter),  in  to a number so I can compare it with 0, this is just a test. and use this information

of true or false to stop other loop that you will see in picture  problem 2, but all the time I have this uncompatibility of wires and also some times it says that I am trying to coonect a 1 D Bollean array of true or false to a simple True or False  and that si the reason I am trying to convert the bollean array from the top, ( since I am clear this is a 2D array) but when I use the boolean array to number converter it says Polymorphic terminal can not accept this data type.  I red the error and talks about trying to change the nodes etc etc.

 

I am really frustrated since how something so simple of trying to get the status of the first loop (true ir false) I can not use it to stop the loop underneath.

Please, If you hve any idea how to make the wire compatible I woyuld really apreciate it.

 

The reason I need to use this, is because in picture 3 you can see a Case loop, and I need to diferentiate which case will turn  on or offf the while loop at the bottom, and I thought that a simple T or F from the case would be fine passing from an AND gate but this give me error after error.

 

Best regards

 

Cristian

 

 

Download All
0 Kudos
Message 4 of 13
(9,768 Views)

Problem 1: you are trying to connect a 3D array of numbers to an input that can only take a scaler.  Maybe that bit of code needs to be inside of that inner FOR loop?

 

Problem 2:  Where is that last tunnel suppost to be wired up to?  I do not understand what you are trying to pass out of the outter most loop.

 

Problem 3:  How is this related?  Maybe you should post your actual code and explain what the application is supposed to be doing.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 5 of 13
(9,748 Views)

Hi, thanks for the help.

i have enclosed the program.

 

What I want is that when the the case on the top is 4 the equal comparator will make a True and with this true I can activate the while loop underneath. 

But I get this wire errors

0 Kudos
Message 6 of 13
(9,730 Views)

Hi, thanks for the help.

i have enclosed the program.

 

What I want is that when the the case on the top is 4 the equal comparator will make a True and with this true I can activate the while loop underneath. 

But I get this wire errors

0 Kudos
Message 7 of 13
(9,730 Views)

Hi, thanks for the help.

i have enclosed the program.

 

What I want is that when the the case on the top is 4 the equal comparator will make a True and with this true I can activate the while loop underneath. 

But I get this wire errors

0 Kudos
Message 8 of 13
(9,730 Views)

Hi, thanks for the help.

i have enclosed the program.

 

What I want is that when the the case on the top is 4 the equal comparator will make a True and with this true I can activate the while loop underneath. 

But I get this wire errors

0 Kudos
Message 9 of 13
(9,730 Views)

Hi Cristian,

 

you need to clean up your VI before you even can start to program the way you like to…

 

THINK DATAFLOW! (Or: Learn to THINK DATAFLOW!)

 

As has been said before: your comparison is made with a 3D array and gives a 3D result. You CANNOT connect a 3D array to the loop stop condition!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 10 of 13
(9,722 Views)