Hello,
I am currently implementing a struct, let's call it Struct1, in which i have say multiple ints and an array[0..10] of Type Struct2, which can contain 1-10 Struct2's:
TYPE Struct1:
STRUCT
id : usint;
name : string;
vars : ARRAY[0..10] of Struct2;
END_STRUCT
END_TYPE
The var array can contain 1-10 structs and i dont know beforehand how many, but I want to iterate over these struct2's later on.
Now my question is, if i create a Struct1 'Object', how exactly do i set the structs in the var array? Is the Struct2 array already initialized with empty struct2's? When I iterate over them, can I somehow see if they are already 'set' to a value or still empty?
Thanks in advance for any help!
π
2
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
AFAIK the IEC61131 standard defines, that all variables are 0 initialized. It's more or less the other way around. You can define noinit if you want to avoid this initialization.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I am currently implementing a struct, let's call it Struct1, in which i have say multiple ints and an array[0..10] of Type Struct2, which can contain 1-10 Struct2's:
TYPE Struct1:
STRUCT
id : usint;
name : string;
vars : ARRAY[0..10] of Struct2;
END_STRUCT
END_TYPE
TYPE Struct2:
STRUCT
var_name : string;
var_bit_start : USINT;
var_bit_length : USINT;
END_STRUCT
END_TYPE
The var array can contain 1-10 structs and i dont know beforehand how many, but I want to iterate over these struct2's later on.
Now my question is, if i create a Struct1 'Object', how exactly do i set the structs in the var array? Is the Struct2 array already initialized with empty struct2's? When I iterate over them, can I somehow see if they are already 'set' to a value or still empty?
Thanks in advance for any help!
more posts ...
AFAIK the IEC61131 standard defines, that all variables are 0 initialized. It's more or less the other way around. You can define noinit if you want to avoid this initialization.