Step 7 Pointer auf verschachtelte Datenstruktur

DasRallum

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute

Ich progammier derzeit eine ET200S Steuerung mit Step7. Dabei bin ich auf folgendes Problem gestoßen:

Ich habe in einem Datenbaustein Structvariablen angelegt: "PNPN_Koppler_1"; P"PNPN_Koppler_2"; usw.
Inerhalb dieser rufe ich eine UDT, welche die Datensignale zu einem Roboter verwaltet, mehrfach auf: "Roboter_1"; "Roboter_2"; usw.

Nun habe ich einen FB programmiert der mit den Daten von einem der Roboter arbeitet und dementsprechend an die IN_OUT-Schnittstelle die Roboter UDT parametriert.
Leider musste ich nun feststellen, dass er irgendwie den Pointer nicht akzeptiert. Scheinbar kommt er mit der Structurvariable durcheinander. Ich will aber auch nicht unbedingt die ganze Struct an die IN_OUT-Schnittstelle packen, da ich ja nur einen der Roboter bearbeite. Als Notlöung könnte ich die Struct weglassen, aber das will ich vermeiden, da es woanders wieder Probleme mit sich bringt und zudem "unordentlich" ausschaut.

Gibt es eine Möglichkeit einen Pointer auf so eine verschachtelte Datenstruktur zu setzen oder bleibt mir keine andere Wahl, als irgendwie eine Alternative zu finden.

viele Grüße
DasRallum
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@TE:
Es ist leider so, wie du es schreibst - du kannst nur die Hauptstruktur an einen Pointer übergeben, nicht aber eine eingelagerte Sub-Struktur. Hierfür müßtest du dir den Pointer (im Baustein) quasi selbst errechnen.

Gruß
Larry
 
Dann habe ich die Frage nicht verstanden.
Bei mir geht das so:

Var_1.jpg

Ich bin der Meinung, das ist das, was der TE will.

Gruß
Erich
 
Zuletzt bearbeitet:
Ich würde das SubUdt an nen IN: Any legen und das komplette Subudt aus dem DB in den Temp des FB blockmoven. Dann kannst du im FB strukturiert und symbolisch arbeiten. Den tempudt kopierst du am fb-ende wieder in den db.

Alternativ: Verschaltung des udt an nen inout : udt
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hatte es noch nicht mit SubUDTs versucht. Wie gesagt ich hatte eine Struct-Variable angelegt und in dieser die UDTs aufgerufen. Ich versuche es demnächste Mal mit SubUDTs
 
Zurück
Oben