В моем проекте у меня есть такой тип:
TYPE myDataStruct :
STRUCT
A : UINT;
B : WORD;
C : REAL;
D : Custom_Obj;
END_STRUCT
END_TYPE
И мне нужно сохранить массив этого типа для постоянной памяти.Я не могу просто использовать VAR RETAIN
, потому что этот конкретный фрагмент памяти должен сохраняться в процессе загрузки.Контроллер, который я использую, имеет способ сделать это, но для того, чтобы он работал, мне нужно иметь возможность установить массив равным начальному значению.Итак, если я объявил
myarray := ARRAY[0..20] OF myDataStruct;
Как мне затем инициализировать этот массив в пустой массив?Что эквивалентно new
на других языках?
Я догадался
myarray := [21(A := 0,
B := '',
C := 0.0,
D := ??? )];
Но это не так.Это можно было бы упростить, если бы было только один уровень глубины пользовательских структур, и для этого приложения я мог бы это сделать.Тем не менее, я все еще не думаю, что у меня есть правильный синтаксис.