Dynamische Structs? S7

voluba

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich benutze in meinem Gesamt-FB den Aufruf eines Auslese-FBs.
Dieser nutzt einen SFC (51) um verschiedene Daten aus der HW-Konfiguration zu ermitteln.
Als Rückgabewerte werden verschiedene structs (zb 2 words, dann 1 DoT, dann ein array von 5 bytes) geliefert.

Ich möchte nun möglichst elegant die Structs vom Auslese-FB zurück zum Gesamt-FB bringen um sie dort auszuwerten.

Dafür müsste ich nun mit case-Abfragen und Struct-Paaren arbeiten. Letzteres bedeutet code-verdoppelung und das würde ich gern verhindern.
Ein Any-Pointer käme auch nicht in Frage das verschiedene Datentypen gebündelt und so nicht mehr zu unterscheiden wären.

Gibt es für diese Problemstellung eine Lösung?

(PS: Das Programm ist in SCL geschrieben)

Bei Unklarheiten einfach Rückfragen stellen ;)
 
Hallo,
wenn dein "Rückgabebereich" immer gleich groß ist (also z.B. 20 Bytes) dann könntest du mit AT unterschiedliche Sichten auf den Bereich machen und ihn so jeweils anders "interpretieren". Das wäre dann keine Verdopplung der Deklarationsbereiche ...

Gruß
Larry
 
... dann deklarierst du dir den Empfangspuffer auf die maximale Größe und baust darauf unterschiedliche Sichten auf. Eine AT-Sicht kann auch kleiner sein wie der Bereich, auf den sie sieht - nur nicht größer ... aber das meckert dann schon der Compiler an.

Gruß
Larry
 
wäre eine Möglichkeit DBs im Arbeitsspeicher zu erzeugen? (SFC 22)
Dann müsste ich die entstandenen Array of Bytes mit einer AT-Sicht zu nem Struct umdeklarieren können oder?
 
Zurück
Oben