Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 8 von 8

Thema: IN_OUT eines FB/FC

  1. #1
    Registriert seit
    20.09.2005
    Beiträge
    63
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard


    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
    Zitieren Zitieren IN_OUT eines FB/FC  

  2. #2
    Registriert seit
    21.10.2009
    Ort
    BW
    Beiträge
    62
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    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.
    Wer anderen eine Steuerung steuert,
    hat meisst ein Steuerungs-steuer-steuerer...

  3. #3
    Registriert seit
    06.02.2009
    Beiträge
    28
    Danke
    3
    Erhielt 6 Danke für 3 Beiträge

    Standard

    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.
    Ritterlicher Verfechter der nachvollziehbaren und übersichtlichen Programmierung

    >>> Das Problem steht zu 95% vor der Maschine

    Meine Umgebung (meistens): Win XP, S7 V5.4 SP5, 840D sl, Transline

  4. #4
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.572
    Danke
    63
    Erhielt 259 Danke für 219 Beiträge

    Standard

    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.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  5. #5
    Registriert seit
    20.06.2010
    Beiträge
    169
    Danke
    14
    Erhielt 18 Danke für 12 Beiträge

    Standard

    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ß

  6. #6
    Registriert seit
    20.09.2005
    Beiträge
    63
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Alles klar gechecked.

    Danke!

  7. #7
    Registriert seit
    27.05.2006
    Beiträge
    189
    Danke
    0
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Hallo,

    IN oder OUT werden per Wert übergeben. IN_OUT als Zeiger. Dadurch ist IN_OUT schneller.

  8. #8
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Pikador Beitrag anzeigen
    IN oder OUT werden per Wert übergeben. IN_OUT als Zeiger. Dadurch ist IN_OUT schneller.
    Das wäre mir neu.
    Kann es sein, dass Du da was durcheinander bringst:
    Bei FB werden Werte übergeben und bei FC Adressen.
    Gruß
    Michael

Ähnliche Themen

  1. IN_OUT mit Indirekter Adressierung
    Von SCM im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 14.10.2011, 12:07
  2. IN_OUT Parameter Tempdaten zuweisen
    Von Bensen83 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 29.07.2011, 21:17
  3. Mit BLKMOV im FB auf IN_OUT vom Typ UDT
    Von Johannes F im Forum Programmierstrategien
    Antworten: 8
    Letzter Beitrag: 17.12.2009, 13:27
  4. UDT als In_Out an Multiinstanz FB
    Von dirknico im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 01.10.2009, 12:28
  5. IN/OUT/IN_OUT/Temp Anfangswert definieren?
    Von Hawkster im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 28.11.2008, 21:52

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •