Да, это будет работать, но можете ли вы гарантировать, что никто не напишет в коде что-то вроде этого:
struct_NULL.input := 7;
Поэтому я бы предпочел написать короткую функцию, которая вернула бы все значения по умолчанию :
FUNCTION F_setToDefault_MyStruct : MyStruct
VAR
DefaultStruct : MyStruct;
END_VAR
F_setToDefault_MyStruct := DefaultStruct;
Итак, в программе вы можете вызвать:
//set struct to default values
TestStruct:=F_setToDefault_MyStruct();
Я знаю, намного больше кода, но никто не может изменить начальные значения в struct_NULL, и я думаю, что это Намного легче читать и понимать