-> Hier kostenlos registrieren
Array vom Datentyp Variant/Any/Pointer/REF_TO
Hallo,
ich bin auf der Suche nach einer Lösung für folgende Herausforderung:
Ich bekomme auf meiner funktion per InOut eine (bekannte) Struktur übergeben.
In dieser Struktur sind Variablen für mich zu lesen, und eine zu schreiben (pro Struktur)
-> Da jede Struktur ident ist, kopiere ich mir das ganze momentan auf ein temporäres Array, arbeite damit rum & schreibs am ende wieder auf die IO-Struktur zurück.
Gefällt mir nicht - braucht Zykluszeit & die Funktion wird oft benötigt (~100 Aufrufe/Zyklus).
(Allerdings kann ich mit dem temp-Array schön mit Schleifen und indiziert arbeiten)
Da das ganze mit funktionierenden Pointern eigentlich unnötig wäre wollte ich mir ganz gerne einen Pointer auf die IO Struktur Referenzieren und den übergebenen Datenbereich gleich direkt beschreiben, ohne unnötiges hin und herkopieren.
Aber:
Weder im optimierten noch im klassischen Speicher lässt mich TIA ein brauchbares (Pointer-)Array definieren.
-> Arbeite ich ohne Array, sprich ich arbeite mit der referenz oder dem Variant funktionieren die Abfragen/Zuweisungen problemlos, allerdings verliere ich alles was ich mit einem Array gewinne..
In der Hilfe von Siemens kann ich allerdings diesbezüglich keine Einschränkungen für Array oder die zeiger (parameter-)datentypen finden, lediglich, dass ich kein Array vom datentyp Array anlegen kann.
Hab' ich hier einen generellen Denkfehler oder hat jemand einen anderen Vorschlag?
(Die Strukturen als Array übergeben würde das hässliche nur nach draussen schieben & auch unnötig Zykluszeit brauchen)
Vielen Dank für jede Hilfe
Jasko
CPU: 1500er
TIA Version: V15

Hallo,
ich bin auf der Suche nach einer Lösung für folgende Herausforderung:
Ich bekomme auf meiner funktion per InOut eine (bekannte) Struktur übergeben.
In dieser Struktur sind Variablen für mich zu lesen, und eine zu schreiben (pro Struktur)
-> Da jede Struktur ident ist, kopiere ich mir das ganze momentan auf ein temporäres Array, arbeite damit rum & schreibs am ende wieder auf die IO-Struktur zurück.
Gefällt mir nicht - braucht Zykluszeit & die Funktion wird oft benötigt (~100 Aufrufe/Zyklus).
(Allerdings kann ich mit dem temp-Array schön mit Schleifen und indiziert arbeiten)
Da das ganze mit funktionierenden Pointern eigentlich unnötig wäre wollte ich mir ganz gerne einen Pointer auf die IO Struktur Referenzieren und den übergebenen Datenbereich gleich direkt beschreiben, ohne unnötiges hin und herkopieren.
Aber:
Weder im optimierten noch im klassischen Speicher lässt mich TIA ein brauchbares (Pointer-)Array definieren.
-> Arbeite ich ohne Array, sprich ich arbeite mit der referenz oder dem Variant funktionieren die Abfragen/Zuweisungen problemlos, allerdings verliere ich alles was ich mit einem Array gewinne..
In der Hilfe von Siemens kann ich allerdings diesbezüglich keine Einschränkungen für Array oder die zeiger (parameter-)datentypen finden, lediglich, dass ich kein Array vom datentyp Array anlegen kann.
Hab' ich hier einen generellen Denkfehler oder hat jemand einen anderen Vorschlag?
(Die Strukturen als Array übergeben würde das hässliche nur nach draussen schieben & auch unnötig Zykluszeit brauchen)
Vielen Dank für jede Hilfe

Jasko
CPU: 1500er
TIA Version: V15

Zuletzt bearbeitet: