nicht belegen von Ausgängen bei FC, FB

Laura

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
[FONT=&quot]Hallo[/FONT]

[FONT=&quot]Ich habe ein FC mit Lokalenvariablen angelegt und rufe ihn in meinem Programm mehrmals auf. Nun benötige ich bei allen Aufrufen nicht alle Ausgänge und Eingänge. Ich möchte das diese Ausgänge oder Eingänge nicht mit Merkern oder DB Eintrag belegt werden müssen. Einmal weil ich nicht soviel habe und des anderen wegen der Übersicht.[/FONT]
[FONT=&quot]Wie kann man dies bewerkstelligen?[/FONT]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
so mal aus der Hilfe des S7 Managers

Zuordnen von Aktualparametern zu Formalparametern
Ein Formalparameter ist ein Platzhalter für den "tatsächlichen" Parameter, den Aktualparameter. Aktualparameter ersetzen beim Aufruf einer FC die Formalparameter. Sie müssen den Formalparametern einer FC immer Aktualparameter zuordnen (z. B. dem Formalparameter "Start" einen Aktualparameter "E3.6"). Die Eingangs-, Ausgangs- und Durchgangsparameter, die von der FC verwendet werden, werden als Pointer auf die Aktualparameter des Codebausteins gespeichert, der die FC aufgerufen hat.
Wichtiger Unterschied bei Ausgangsparametern von FC und FB
In Funktionsbausteinen (FB) wird beim Zugriff auf Parameter die Kopie des Aktualparameters im Instanz-DB verwendet. Wird beim Aufruf eines FB ein Eingangsparameter nicht übergegeben bzw. im Baustein ein Ausgangsparameter nicht beschrieben, so werden die im Instanz-DB noch vorhandenen älteren Werte weiter verwendet (Instanz-DB = Gedächtnis des FB).
Funktionen (FC) haben kein Gedächtnis. Die Versorgung der Formalparameter ist deshalb im Gegensatz zum FB nicht optional, sondern zwingend erforderlich. Der Zugriff auf FC-Parameter erfolgt über Adressen (bereichsübergreifende Zeiger). Wird als Aktualparameter ein Operand aus dem Bereich Daten (Datenbaustein) oder eine lokale Variable des rufenden Bausteins verwendet, wird für die Parameterübergabe eine Kopie des Aktualparameters in den Lokaldaten des rufenden Bausteins temporär gespeichert.


Achtung
Wird in einem solchen Fall ein OUTPUT Parmeter in einem FC nicht beschrieben, können die ausgegebenen Werte zufällig sein!
Der für die Kopie bereitgestellte Bereich in den Lokaldaten des rufenden Bausteins wird mangels Zuweisung an den OUTPUT Parmeter nicht beschrieben und bleibt somit unverändert. Damit wird zufällig der in diesem Bereich stehende Wert ausgegeben, da Lokaldaten nicht automatisch mit z. B. 0 vorbelegt sind.

( Editiert da ich den Gruß vergessen habe )
gruß Thomas
 
Zurück
Oben