S7 Multiinstanzen stat Variablen

Raabun

Level-1
Beiträge
51
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
So, nun nach dem langem Titel meine Frage:
Ich habe einen FB80 aufgebaut, der mehere FBs (200,201,203..)aufruft.
Diese FBs (200++) habe ich in die statischen Variablen des FB80 definiert.
Alles ist ok und kein Mecker.

Nun will ich aber Ausgangs-Variablen des FB200 als ein Eingang für FB201 verwenden. Wenn ich nun mit Paste&Copy mir die Variablen aus der Deklaration hole, meckert Siemens.

Gibt es einen Weg diese stat Variablen innerhalb meines FB80 zu verwenden, oder muß ich den Umweg über temp. Variablen gehen?

Gruß Dirk-Uwe Batz
 
Du hast dem stat FB doch einen Namen in der Deklaration im Kopf des aufrufenden FB gegeben. Diesen Namen mußt du deiner Variablen voranstellen.

Also:

Variable: RW_Laeuft
FB: WT_Schreiben

Aufruf: #WT_Schreiben.RW_Laeuft
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also wenn ich die Variable:

#DC_Master.AE2_Ist_normiert (Ist bei DC_Master eine OUT Variable)

einem Input zuweise erscheint folgende Fehlermeldung:

Deklarationsbereich der Aktualseite VAR_OUTPUT paßt nicht zum formalen Deklarationsbereich VAR_INPUT des Formalparameters xy
oder

Unzulässige Parameterzuweisung
Ist es so gewagt einen Ausgang mit einem Eingang zu verschalten?

Warum über haupt das ganze Gedäh mit INPUT, OUTPUT und IN_OUT wo doch sowieso alles in einem DB landet?

Gruß
Dirk-Uwe
 
Ja, stimmt:

Sienems-Hilfe dazu:

Beschreibung:
Der Deklarationsbereich Ihres Formalparameters paßt nicht zum Deklarationsbereich des Aktualparameters, z.B. kann auf einen formalseitigen INPUT-Parameter kein aktualseitiger OUTPUT-Parameter zugewiesen werden.
Behebung:
Bitte gleichen Sie die Deklarationsbereiche einander an, indem Sie die Parameter entsprechend verschieben.

Mit OUT an eine INOUT geht auch nicht, eine Statische aus dem anderen Fb kann man aber anfügen.
Hab nochmal bei mir nachgesehen, ich nutze auch immer Temp, Stat aus dem übergeordneten FB als Zwischenspeicher, also eine Stát an den Output des einen FB und diese dan an den Input des Anderen.

PS: Wenn du die entsprechenden Variablen in den beiden FB jeweils als INOUT deklarierst geht es.
 
Zuletzt bearbeitet:
Zurück
Oben