Skip to main content

Compiler Error C0511

Message: The function block '<function block name>' is ABSTRACT and cannot be used as a target for an assignment.

Possible error cause: A value was assigned to an abstract function block. The concrete function blocks may have different types and therefore cannot be copied.

Error correction: In order to copy the data of the function block, concrete function blocks have to be used.

Example 480. Example of the error:
PROGRAM PLC_PRG
VAR
refAbstract1 : REFERENCE TO AbstractPOU;
refAbstract2 : REFERENCE TO AbstractPOU;
END_VAR

refAbstract1 := refAbstract2;

Message:

C0511: The function block 'refAbstract1' is ABSTRACT and cannot be used as a target for an assignment.

Error correction:

Use the reference assignment REF= to assign the reference refAbstract1 to the same function block as refAbstract2.