Опитвам се да добавя собствено enum в MotionWorks. След създаването на нов тип данни единствените налични типове са ARRAY,STRING,STRUCT.
Писане на следния код:
TYPE SimulationType:
(
Passing := 0,
Random := 1,
Failing := 2
) INT := 0;
END_TYPE
не компилира. Yaskawa изглежда отговаря на ENUM (според този списък), но не мога не измисля как да го декларирам.
Редактиране: мога да направя следното:
TYPE
ResultType:(Pass, Random, Fail);
END_TYPE
Но изглежда не създава enum, тъй като нямам достъп до неговата стойност. Имам достъп до него като структура.
Редактиране 2:
Ако декларирам:
TYPE
ResultType:(Pass, Random, Fail);
END_TYPE
И задайте променлива
ExpectedResultType : ResultType;
След това в кода се опитвам да използвам:
IF ExpectedResultType = ResultType.Pass THEN
Done := TRUE;
END_IF;
Той се компилира, но няма да стартира.
Опитът да използвате този код няма да се компилира:
CASE ExpectedResultType OF
ResultType.Pass:
Done := TRUE;
Error := FALSE;
ResultType.Random:
Done := TRUE;
ResultType.Fail:
Error := TRUE;
Done := FALSE;
END_CASE;