ГОСТ Р МЭК 61131-3—2016
FUNCTlON_BLOCK ROOMCTRL
VARJNPUT RM: REFJTOLIGHTROOM; END_VAR
VAR_EXTERNALActual_TOD: TOD; END_VAR// Определениеглобального времени
II в этом случае, функциональный блок для вызова динамически связанного
//RMможет относиться к производномутипу функционального блока!
IF RMо NULL THEN
RM\DAYTIME:= (Actual_TOD <= TODU20.15)AND (Actual_TOD >= TODU6.00));
ENDJF
END_FUNCTION_BLOCK
И Использование полиморфизма и динамического связывания со ссылкой
И см. выше
// см. выше
II см. выше
PROGRAMD
VAR
MyRooml: LIGHTROOM;
MyRoom2: LIGHT2ROOM;
My_Room_Ctrl: ROOM_CTRL;
END VAR
My_Room_Ctrl(RM: - REFfMyRoom1));
My_Room_Ctrl(RM:~ REF(MyRoom2));
END_PROGRAM;
6.6.8.5 Полиморфизм c THIS
Во время выполнения программы THIS может содержать ссылку на текущий тип функционального
блока или на все его производные типы функциональных блоков. Таким образом, любой вызов метода
функционального блока с использованием THIS — это случай динамического связывания.
Примечание — При особых обстоятельствах, например, если тип или метод функционального блока
обьявлен как FINAL, или отсутствуют производные типы функциональныхблоков, то ссылка или THIS могут быть
полностьюопределены в периодкомпиляции. Вданном случав нет необходимости вдинамическом связывании.
6.7 Элементы последовательной функциональной схемы (SFC)
6.7.1 Общие положения
Подраздел 6.7 определяет элементы последовательной функциональной схемы (SFC) для ис
пользования в структурировании внутренней организации программного компонента программируе
мого контроллера, записанные в одном из языков, определенных в настоящем стандарте, для цели
выполнения функций последовательного управления. Определения в подразделе 6.7 приведены из
МЭК 60848 с изменениями, необходимыми для того, чтобы преобразовать представления из докумен
тальногостандарта в набор элементов реализации управления для программного компонента програм
мируемого контроллера.
Элементы SFC обеспечивают средства разбиения программного компонента программируемого
контроллера на набор шагов и переходов, соединенных между собой направленными связями. С каж
дым шагом связан набор действий, а с каждым переходом связано условие перехода.
Поскольку элементы SFC нуждаются в сохранении информации о состоянии, программные ком
поненты, которые могут быть структурированы с использованием таких элементов, представляют со
бой функциональные блоки и программы.
Если какая-либо часть программного компонента разбивается на элементы SFC. то программный
компонент в целом также подвергается разбиению. Если разбиение SFC для программного компонента
не предусмотрено, то программный блок в целом рассматривается как одиночное действие, которое
исполняется под управлением вызывающего объекта.
144