Internal Error (ARM): Unsupported conversion. FW30. CoDeSys 3.5.21.3

Hello, after switching PLC PFC-200 750-8212 and project to the latest FW30 and CoDeSys 3.5.21.3 I has got compilation error [ERROR] : Internal Error (ARM): Unsupported conversion

This error occurs only when I try to login after changes in the code with REAL or UDINT conversation via Online Change.
No error when I just build project.
No error when I download full project.

I found this, looks like need to check all TO_**** conversation.

Hi Antauva,

This error behavior, which prevents online-change, is known and has been reported to CoDeSys. Our current prognosis indicates that this error will be fixed in CoDeSys 3.5 SP22.

Torgeir

1 Like

Hello,
I also experience this problem quite regularly without any apparent reason. To remove this issue, I do Create → Clean All and then compile.
This way, the error disappears each time. However, be careful—persistent variables are lost when using this method.

Hello. I’ve also encountered this issue. Apparently, changes to the PersistentVars list cause this error (cleanup is required), and the cleanup leads to the list being reinitialized because the list has been modified. Very funny.

The compilation problem lies indirectly in the Wago library “WagoSysKbusServices”. This library is automatically included in the project when at least one configurable Kbus card is used (e.g., 750-451, 464, 649, 471, 496, etc.).

Here is an example project (everything is on the image, the important thing is that card 750-463 is inserted).

To trigger the error: simply create a copy of the function (fMy_1, using ctrl-c/ctrl-v, no code call is necessary, strange, normally such a code change does not require a download) and try to log in with “online-change”…

C:\ProgramData\CODESYS\Devices\4096\1006 1209\6.4.5.11\ - this is where “device.xml” for 750-8212 is located. With previous Wago Kbus libraries, there is no compilation error in such cases:

It would be great if Wago could provide a partial solution by adjusting the conversions in Kbus libraries to fix this bug in Codesys. Furthermore, the changes made in the Kbus libraries (in FW30) that cause this CodesysSP21 incompatibility are suitable for 64-bit systems, which is not the case for PFC200.

Best regards

Dennis

Nice investigation!
Did you try to avoid this exception by replacing the libraries with older ones in the PlaceHolder?

I did not find such an option in the PlaceHolder; only by modifying the device.xml and then reopening the project.

Here you can select the previous version,
you are modified device.xml, this means it get version 1.1.1.1 automatically I think.

Sorry, I didn’t read carefully, changing libraries helped you.
Thank you again for the investigation! :grinning_face:

Thank you very much for the tip about placeholders. That saved my day yesterday.