我有一个结构数组:myStructure[0..100]
我想按名称索引该结构。
通过为每个索引命名:
P101_AI := 9
P102_AI := 10
P103_AI := 11
P104_AI := 12
因此在结构中索引成员:myStructure[P103_AI].value
(即,索引myStructure [11] .value)
但是,可以间接索引吗?
即如果是TempString : STRING[30];
在运行时更改TempString以索引数组。
这里有一些伪教程来描述我想做的事情:
FOR i:=101 TO 104 DO
TempString := CONCAT('P',i);
TempString := CONCAT(TempString,'_AI');
MyStructure[ indirect(TempString)].value := 'some value';
END_FOR;
如何创建一个枚举?
TYPE E_AnalogInput :
(P101_AI:= 9P102_AI,P103_AI,P104_AI);END_TYPE
然后您可以声明:
analogInputs : ARRAY[E_AnalogInput.P101_AI..E_AnalogInput.P104_AI] OF INT;
运行for循环:
FOR inputCount:=E_AnalogInput.P101_AI TO E_AnalogInput.P104_AI BY 1 DO
//Do something
END_FOR
希望这会有所帮助