В моем проекте у меня есть тип:
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 := ??? )];
Но это не кажется правильным. Это можно было бы упростить, если бы пользовательские структуры имели только один уровень глубины, и для этого приложения я мог это сделать. Тем не менее, я все еще не думаю, что у меня правильный синтаксис.