ГОСТ Р МЭК 61131-3—2016
Пример 1
inter£ace2
+------------------------------+
--|?=|-- interfacel
+------------------------------ +
Пример 2— Попытка присваивания с ссылками интерфейса
Успешная инеудачная попытка присваивания с ссылками интерфейса
// Объявление
CLASS СIMPLEMENTSITF1, ITF2
END_CLASS
// Использование
PROGRAMА
VAR
inst: С;
interfl: ITF1;
interf2: ITF2;
interf3: ITF3;
END_VAR
interfl:= inst;
interf2 ?= interfl;
interf3 ?- interfl;
END_PROGRAM
Пример 3-
// Объявление
CLASS dBase IMPLEMENTS ITF1. ITF2
END_CLASS
CLASS CIDerivedEXTENDS dBase
END_CLASS
// Использование
PROGRAMA
VAR
instbase: dBase;
instderived: CIDerived;
rinstBasel, pinstBase2: REF TO dBase;
rinstDerivedl, rinstDerived2: REF_TO CIDerived;
rinstDerived3, rinstDerived4: REF_TO CIDerived;
interfl: ITF1;
interf2: ITF2;
intern: ITF3;
END_VAR
//теперь intern содержит действительную ссылку
Uinterf2 будет содержать действительную ссылку
//равную interf2~ inst;
Hinterf3 будет равно NULL
Попытка присваивания с указателями интерфейса
134