ГОСТ Р МЭК 61131-3—2016
Пример ниже иллюстрирует свойства объявления класса и его использование.
Пример — Определение класса
Class CCounter
VAR
mJCurrentValue: INT;(’ Default = 0 *)
m_bCountUp: BOOL:=TRUE;
END_VAR
VARPUBLIC
mJUpperLimit: INT:=*10000:
mJLowerLimit INT:=-10000:
ENDJVAR
METHOD Count (‘ Толькотело *)
IF (m_bCountUp ANDm_iCurrentValue<mJUpperUmit) THEN
mJCurrentValue:= m_iCurrentValue+1;
ENDJF;
IF (NOTm_bCountUp AND mJCurrentValue>mJLowerLimit) THEN
mJCurrentValue:- mJCurrentValue-1;
ENDJF;
END_METHOD
METHOD SetDirection
VARJNPUT
bCountUp: BOOL;
ENDJVAR
m_bCountUp:=bCountUp;
END_METHOD
END_CLASS
6.6.5.3 Декларация экземпляра класса
Экземпляр класса объявляется подобно определению структурной переменной.
Когда объявляется экземпляр класса, начальные значения общих переменных могут присваи
ваться в перечне инициализации, заключенном в скобки, с последующим оператором присваивания,
который следует за идентификатором класса, как показано в таблице 49.
Элементы, которым не присвоено значение в перечне инициализации, получают начальные зна
чения из объявления класса.
Таблица 49 —Декларация экземпляра класса
Н о
мер
О писание
Пример
1
Объявление экземпляра класса с неявной ини
циализацией
VAR
MyCounlerl: CCounter;
END_VAR
2
Декларация экземпляра класса с инициализа
циейегообщихпеременных
VAR
MyCounter2: CCounter:=
(mJUpperLimit;=20000:
mJLowerLimit:=-20000);
END_VAR
114