Detects the use of object-oriented features, such as function block declarations with
EXTENDS
and IMPLEMENTS
, or property and interface declarations. This rule is useful when you write code
that is intended to be ported to other IEC 61131-3-compliant systems.
Justification: Not all systems support object-oriented programming. The code is more easily portable without object-orientation.
Importance: Low
Example
//Function block extended by another and implementing an interface: FUNCTION_BLOCK POU EXTENDS CTD IMPLEMENTS ITF //SA0119 ... // Declaration parts of property methods assigned to a function block: POU.Prop.Get //SA0119 POU.Prop.Set //SA0119 --> SA0119: Object-oriented features not allowed