ANY Data Type in MOVE function

The Help for MOVE says data type can be ANY. I think this really mean any elementary types. User types(Struct, array) don’t work. It also doesn’t provide a compiler error when connecting UDT’s. PcWorx generated a compiler error. Is it supposed to work, or is it supposed to generate an error?

Hi sparky66,
I think it’s ANY in the IEC61131-3 kind of meaning and not to be taken literally :wink:
ANY
– ANY_DERIVED
– ANY_ELEMENTARY
– ANY_MAGNITUDE

– ANY_BIT

– ANY_CHARS

– ANY_DATE

I’d expect a compile error as well if it indeed must noch work.

Cheers
DivisionByZero

If EN is TRUE and ENO is false, it suggest that something go wrong.
As for me FBD and NOLD not suitable for data processing, and it is mach more far-sighted to deal with ST at most cases.

You’re right, this problem can be reproduced easily:
2024-01-12_08-10-47.gifThe documentation says the data type can be ANY, not ANY_ELEMENTARY, so this should work.

I will report this as a bug in either in the function or in the documentation.

Oh right, I should’ve read the text as well as looking at the table… in the IEC61131-3 ANY_DERIVED contains 12 different derived types. Two of them being Arrays and Structs.
So it should work.
If the table you used is from the help file then it might be yet another documentation error because it is incomplete.

This has now been confirmed as a bug in the MOVE function. Without EN/ENO, the function moves STRUCT and ARRAY data correctly. A fix is planned for the next hotfix of PLCnext Engineer (i.e. version 2024.0.1).