IN_OUT eines FB/FC

Daimonion

Level-1
Beiträge
79
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ganz banale Frage. Könnt ihr mir die Wirkungsweise eines IN_OUT bei einem FC/FB erklären?
Dem "Pin" am FC weise ich ja eine Variable zu. Wann kann ich auf diese Variable schreibend und wann lesend zugreifen?

Sicherlich total einfach, aber ich komm einfach noch nicht mit klar.

Danke für die Hilfe

Daimonion
 
Mit IN_OUT kannst du lesen und schreiben von der gleichen Variable... macht z.B. dann sinn wenn du einen Wert umrechnen willst, aber die selbe variable verwenden möchtest.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ausführlich:

den FB steuerst du von Aussen an, z.B.:

NW1:
U E 10.0
S M 333.3
NW2:
CALL FB 123 , DB123
Wert_a:=M333.3
NW3:
U M 333.3
= A 10.0


In dem Baustein FB123 selbst kannst du jetzt mit dem In_Out etwas tun und anschliessend auf die gleiche Variable wieder ausgeben:
U #Wert_a
= #Start_Wert

U #Ergebnis_Wert
= #Wert_a

So sollte es funktionieren. Benutzt hab ich es aber noch nie, lieber 2 getrennte Variablen für Eingangs/Ausgangswert, lässt sich besser online beobachten.
 
Vielleicht mal ein Beispiel, bei dem das Verwenden einer IN_OUT Variable Sinn macht.

Eine Ablaufschrittkette in einem FB soll mit einem Freigabemerker gestartet werden. Damit die Schrittkette nicht 2-mal startet, soll diese den Freigabemerker nach Start sofort zurücksetzen. Das geht dann mit einer IN_OUT Variable.

Z.B.:
Code:
U #Flanke_XY
S M10.0 // Freigabemerker

CALL FB1, DB1
Freigabe:= M10.0

Im FB1 wird der Freigabemerker dann zurückgesetzt.

Wenn die Freigabe als IN-Parameter angebunden wurde, kann der Status nicht schreibend werden. (Rücksetzen nicht möglich)
Wenn die Freigabe als OUT-Parameter angebunden wurde, kann der Status nicht lesend bearbeitet werden. (Abfrage als Startbedingung nicht möglich)

Als IN_OUT-Parameter kann man die Variable lesend und schreibend bearbeiten.
 
Hallo,

eine IN_OUT Variable macht ganz besonders dann Sinn wenn sie auch für Visualisierung verwendet wird. Z.B ein FB mit dem man eine Sollwertführung realisiert.
Der sollwert kann Vor Ort von OP oder vom Prozessleitsystem verändert werden. In diesem Fall soll jedoch der Sollwert der am Prozessleitsystem eingegeben wurde auch auf dem OP aktualisiert werden. Die IN_OUT Variable wird gelesen wenn die Bedienung VOR-ORT beim OP ist und wit beschrieben wenn die Bedienung Fern beim Prozessleitsystem ist.

Gruß
 
Zurück
Oben