ГОСТ Р МЭК 61131-3—2016
И/ Увеличение текущего значения
//Достигнут верхний предел
THENCV:=CV +INC;
QU:=FALSE;
ELSE QU:= TRUE;
ENDJF
UP:- CV;
END_METHOD
// Результат метода
METHOD PUBLIC UP5: UINT
VAR_OUTPUTQU: BOOL; END_VAR
UP5:= THIS.UP(INC:= 5, QU => QU);
END_METHOD
END_CLASS
6.6.5.4.4 Представление вызова метода
Методы могут вызываться в текстовых языках (таблица 50) и в графических языках.
В представлениях всех языков имеется два разных случая вызова метода:
a) внутренний вызов метода из экземпляра собственного класса Имя метода предваряется ключе
вым словом «THIS». Данный вызов может выдаваться другим методом:
b
) внешний вызов метода экземпляра другого класса. Имени метода предшествует имя экземпля
ра и «.*.
Этот вызов может выдаваться методом или телом функционального блока, где объявлен экзем
пляр класса.
Примечание — Используютсяследующиесинтаксисы:
- синтаксисА() используетсядля вызова глобальной функцииА;
- синтаксисTHIS.А() используетсядля вызова метода из собственного экземпляра класса;
- синтаксисTHIS.А() используетсядля вызова метода А издругогоэкземпляра класса.
6 6.5.4.5 Текстовое представление вызова
Метод с результатом вызывается как операнд выражения. Метод без результата не должен вы
зываться внутри выражения.
Метод может вызываться формально или неформально.
Внешний вызов метода дополнительно требует имени экземпляра внешнего класса.
Пример 1 — ... class_instance_name.method_name(parameters).
Внутренний вызов метода требует использования THIS вместо имени экземпляра.
Пример 2— ... THIS.method_name (parameters).
Таблица 50— Текстовый вызов методов— Формальный и неформальный перечень параметров
Но
мер
Описание
Пример
1а
Полный формальный вызов (только текстовый)
Используется, если указание параметров EN и
ENO в вызове является обязательным
А:= COUNTER.UP(EN:= TRUE. INC:= В.
START:= 1. ENO=> %MX1. QU => С);
1Ь
Неполный формальный вызов (только тексто
вый)
A:= COUNTER.UP(INC:= B. QU => C);
Используется, если указание параметров EN и
ENO в вызове неявляется обязательным
Переменная START будет иметь неявное значение 0
(ноль)
2
Неформальный вызов (только текстовый) (с
фиксированным порядком параметров и пол
ный)
А;=COUNTER.UP(B, 1.С);
Данный т вызов эквивалентен вызову в примере 1а,
нобез параметров EN и ENO
// Count up by 5
//Достигнут верхний предел
// Вызов внутреннего метода
117