在 Twincat 3 中获取枚举的字符串值
Get String value of a Enum in Twincat 3
在 Twincat 3 中,我有一个像这样的枚举:
TYPE ENUM_FUNCTIONS :
(
EMPTY :=0,
MOTOR_SPEED_INPUT_1 :=1,
MOTOR_SPEED_INPUT_2 :=2,
MAIN_SHAFT_SPEED_MONITOR_3 :=3,
MAIN_SHAFT_SPEED_MONITOR_1 :=4,
MAIN_SHAFT_SPEED_MONITOR_2 :=5
);
END_TYPE
有什么方法可以得到枚举的字符串值吗??
例如使用ENUM_FUNCTIONS[5]得到值MAIN_SHAFT_SPEED_MONITOR_2
是的。请参阅 here 如何操作(仅适用于 TwinCAT 3.1.4024.x 或 CODESYS 3.5.14.0)
TL;DR,简而言之,在Enum和TO_STRING
函数上使用to_string
属性获取字符串:
{attribute 'to_string'}
TYPE ENUM_FUNCTIONS :
...
END_TYPE
myEnum: ENUM_FUNCTIONS;
str: STRING := TO_STRING(myEnum);
在 Twincat 3 中,我有一个像这样的枚举:
TYPE ENUM_FUNCTIONS :
(
EMPTY :=0,
MOTOR_SPEED_INPUT_1 :=1,
MOTOR_SPEED_INPUT_2 :=2,
MAIN_SHAFT_SPEED_MONITOR_3 :=3,
MAIN_SHAFT_SPEED_MONITOR_1 :=4,
MAIN_SHAFT_SPEED_MONITOR_2 :=5
);
END_TYPE
有什么方法可以得到枚举的字符串值吗??
例如使用ENUM_FUNCTIONS[5]得到值MAIN_SHAFT_SPEED_MONITOR_2
是的。请参阅 here 如何操作(仅适用于 TwinCAT 3.1.4024.x 或 CODESYS 3.5.14.0)
TL;DR,简而言之,在Enum和TO_STRING
函数上使用to_string
属性获取字符串:
{attribute 'to_string'}
TYPE ENUM_FUNCTIONS :
...
END_TYPE
myEnum: ENUM_FUNCTIONS;
str: STRING := TO_STRING(myEnum);