是否可以将元素添加到 struct.
TYPE StructBase:
STRUCT
Start : INT;
Complete : INT;
END_STRUCT
END_TYPE
StructDerived : StructBase;
StructDerived.StateInit : INT;
StructDerived.StateMoveFwd : INT;
StructDerived 的元素将在“枚举”函数中编号。完成后,StructDerived 元素用于 case 语句。
这个想法是准备一个完整的抽象函数,并准备好我需要的基本功能。当这个功能被扩展时,应该清楚在哪里添加什么。因此,例如机器中的所有单元都具有相同的布局。
我正在研究的是这样的:
TYPE BaseState:
STRUCT
EnumVal : INT;
Name : STRING;
END_STRUCT
END_TYPE
TYPE StructBase:
STRUCT
StateArray : ARRY [..] OF BaseState;
END_STRUCT
END_TYPE
StructDerived : StructBase;
StructDerived[0].Name := 'StateInit';
StructDerived[1].Name := 'StateMoveFwd';
So if i would use it in a case:
CASE AbortingState OF
StructDerived[0].EnumVal:
....
记录“名称”以进行状态跟踪。看起来像列表或字典之类的东西会做很多工作。
感谢您对此事的任何建议。