-> Hier kostenlos registrieren
Hallo zusammen,
ich habe folgendes Problem in TwinCat 3:
ich übergebe einem Funktionsbaustein eine komplexe, verschachtelte Struktur.
Die Struktur wird auf unterster Ebene aus bekannten Strukturen zusammen gesetzt.
Beispiel:
TYPE ST_HMI:
STRUCT
stAxisData : ST_Axis;
stChannelData : ST_Channel;
END_STRUCT
END_TYPE
TYPE ST_Axis:
STRUCT
stActPositions : ST_REAL_DATATYPE;
stSetPosition : ST_REAL_DATATYPE;
END_STRUCT
END_TYPE
TYPE ST_REAL_DATATYPE:
STRUCT
rValue : REAL;
rMax : REAL;
rMin : REAL;
...
...
END_STRUCT
END_TYPE
Ich werte diese Struktur innerhalb einer PLC-Bibliothek aus.
Die Gesamtstruktur ist in der Bibliothek bekannt und soll Element für Element (je BasisStruktur wie zB ST_REAL_DATATYPE) in ein Array geschrieben werden.
Ich suche nach einer Möglichkeit das "Registrieren" der einzelnen BasisStructs in den jeweiligen Arrays zu automatisieren, ohne das komplette Struct kennen zu müssen.
Die HauptStruktur ST_HMI wird kontinuierlich erweitert, und ich möchte vermeiden dabei jedes mal das Array händisch anpassen zu müssen.
De Facto suche ich eine Möglichkeit die Struktur ST_HMI nach den bekannten Basis Strukturen wie zB ST_REAL_DATATYPE zu "scannen".
Ich hoffe mein Problem ist verständlich erklärt
Ich freue mich auf eure Vorschläge
ich habe folgendes Problem in TwinCat 3:
ich übergebe einem Funktionsbaustein eine komplexe, verschachtelte Struktur.
Die Struktur wird auf unterster Ebene aus bekannten Strukturen zusammen gesetzt.
Beispiel:
TYPE ST_HMI:
STRUCT
stAxisData : ST_Axis;
stChannelData : ST_Channel;
END_STRUCT
END_TYPE
TYPE ST_Axis:
STRUCT
stActPositions : ST_REAL_DATATYPE;
stSetPosition : ST_REAL_DATATYPE;
END_STRUCT
END_TYPE
TYPE ST_REAL_DATATYPE:
STRUCT
rValue : REAL;
rMax : REAL;
rMin : REAL;
...
...
END_STRUCT
END_TYPE
Ich werte diese Struktur innerhalb einer PLC-Bibliothek aus.
Die Gesamtstruktur ist in der Bibliothek bekannt und soll Element für Element (je BasisStruktur wie zB ST_REAL_DATATYPE) in ein Array geschrieben werden.
Ich suche nach einer Möglichkeit das "Registrieren" der einzelnen BasisStructs in den jeweiligen Arrays zu automatisieren, ohne das komplette Struct kennen zu müssen.
Die HauptStruktur ST_HMI wird kontinuierlich erweitert, und ich möchte vermeiden dabei jedes mal das Array händisch anpassen zu müssen.
De Facto suche ich eine Möglichkeit die Struktur ST_HMI nach den bekannten Basis Strukturen wie zB ST_REAL_DATATYPE zu "scannen".
Ich hoffe mein Problem ist verständlich erklärt

Ich freue mich auf eure Vorschläge
