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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 35

Thema: Unterschied FB FC

  1. #21
    Registriert seit
    22.08.2009
    Beiträge
    60
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo interpretiere ich das nun richtig:

    FC1 : Bsp. Out: mw2
    FC2 : Lade mw2
    Würde FC2 den Wert aus mw2 nich finden da die Daten gelöscht sind?
    Wenn ich aber in FC1 schreibe Out: db2.dbw2 würde ich den doch ausserhalb von FC1 wiederfinden oder?

    Fb1 : Bsp. Out: mw3
    Was müsste ich nun machen wenn ich den mw3 haben möchte ohne einzugeben zu müssen dbx.dbw3?

    Kann ich auch gnz normal die Daten aus einem Instanz db beispielsweise DB1 Wort 0 mit : DB1.DBW0 abrufen?
    Geändert von rabit (01.02.2014 um 14:42 Uhr)

  2. #22
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.793
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Hallo,
    - es ist immer besser etwas an eigenem Beispiel zu erfragen.
    - mit ungeraden Merkerwörtern solltest du dir erst gar nicht angewöhnen zu arbeiten (überlappende Speicherbereiche)
    - du kannst auf die Daten eines Instanz-DB's (wie auf die eines beliebigen anderen DB's) zugreifen - ich persönlich halte das aber außerhalb des FB's für schlechten Stil.

    Gruß
    Larry

  3. #23
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Zitat Zitat von rabit Beitrag anzeigen
    FC1 : Bsp. Out: mw2
    FC2 : Lade mw2
    Würde FC2 den Wert aus mw2 nich finden da die Daten gelöscht sind?
    Das sind die globalen Speicher, die außerhalb (beim Aufruf) der FC angegeben werden. Somit findet FC2 die ausgegebenen Daten von FC1 auch wieder.
    Nur die lokalen Daten, die innerhalb der FC verwendet werden (zu erkennen an der Raute #), werden mit der Beendigung der FC zum Überschreiben frei gegeben.

  4. #24
    Registriert seit
    22.08.2009
    Beiträge
    60
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vollkommen richtig was ihr beide sagt.
    Ich mache das auch nicht so, klar MW 2, 4 ,6 usw
    Auch Funktionen mit zu speichernde Daten lege ich in einen FB.
    Jedoch wollte ich erfragen ob es möglich ist was Ihr ja beantwortet habt.
    Die Raute ist ein super Hineweis.
    Ich habe es mal ausprobiert und sehe keine Raute?
    Habe ich was falsch gemacht?
    Wie kann ich denn nun ausserhalb vom FB1 und FC1 auf die
    In Variable (2567) zugreifen und auf die Merkerwörter ohne dies in einem DB separat zu speichern?

    Ich bekomme nicht in meine Hirse welche daten verloren gehen?

    Oder meint Ihr in etwa wenn ich anstelle 2567 eine PEW 256 in FB 1 abfrage und diese dann irgendwo abgespeichert werden? Etwa in EW 256 und das gleiche mit FC 1 mache, und auf EW 256 nicht zugreifen kann weil Daten temporär gespeichert und beim verlassen des FC1 gelöscht wird?
    Angehängte Grafiken Angehängte Grafiken
    Geändert von rabit (01.02.2014 um 16:30 Uhr)

  5. #25
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard

    Ich habe das Gefühl, dass du die grundlegenden Sachen nicht verstanden hast bzw. nicht verstehst
    Die Raute ist im Baustein zu sehen, nicht außerhalb deines Bausteins. die zahl 2567 ist eine konstante Zahl, keine Variable. Im Baustein wirst du auf die Variable mit #In2 zugreifen können.
    Code:
    L #In1
    L #In2
    +I
    T #Out
    Du übergibst zwei Werte für In1 und In2... Ob das jetzt ein fester konstanter Wert, ein Merkerwort, ein Eingangswort ist oder im Datenbaustein abgelegt ist, ist dem Baustein egal (Typ muss jedoch stimmen). Den Wert, den du an #Out übergibst, muss außerhalb des Bausteins gespeichert werden (z.B. in einem Merkerwort).

    In deinem Beispiel macht ein FC mehr Sinn.
    Wenn du Variablen im Baustein verwendest, die für den nächsten Aufruf wichtig sind, gehören die in den static Bereich rein, ergo brauchst du ein FB. Alternativ geht auch ein FC mit InOut Variablen.

    Deine letzten zwei Sätze sind mir zu umständlich und kann den Gedankengang nicht ganz nachvollziehen. Kannst du dich da noch etwas klarer ausdrücken? Danke

    EW - Eingangswort (wird zu Beginn eines Zykluses aktualisiert)
    PEW - Prozesseingangswort (Wert wird zum Zeitpunkt der Abfrage ermittelt)
    Geändert von shutdown_TIA12 (01.02.2014 um 18:56 Uhr) Grund: Im Code: aus * ein + gemacht

  6. #26
    Registriert seit
    22.08.2009
    Beiträge
    60
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe vermutet wenn ich einen PEW 256 abfrage dan frage ich ihn in dem Moment des Abfragezeitpunktes ab wenn ich aber eine weile später den PEW 256 zum Zykluszeitpunkt
    haben möchte da sich die Werte von PEW wieder geändert haben dachte ich frage ich den EW 256 ab da die Zyklusmäsige PEW Abfrage in einem EW abgelegt wird??

  7. #27
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Zitat Zitat von rabit Beitrag anzeigen
    Die Raute ist ein super Hineweis.
    Ich habe es mal ausprobiert und sehe keine Raute?
    Habe ich was falsch gemacht?
    Du hast keine Variablen im oberen Bereich bei IN, OUT usw. angelegt.
    Das ist die Schnittstelle des Bausteins. Mit deren Hilfe werden beim Aufruf Daten von außerhalb des Bausteins, z.B. das MW2 auf die lokalen Variablen, das sind die, die Du dort oben angelegt hast, übergeben.
    Dadurch kann man bei mehreren Aufrufen des Bausteins verschiedene globale Variablen an die gleichen lokalen Variablen zur immer gleichen Verarbeitung übergeben bzw. von diesen zurück bekommen.

  8. #28
    Registriert seit
    22.08.2009
    Beiträge
    60
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe es versucht nachzubauen.
    Kann mir nun jemand in Fup ergänzen wie ich diese Schnittstellen von einem anderem Baustein lesen /beschreiben kann?
    Angehängte Grafiken Angehängte Grafiken

  9. #29
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Ruf doch mal Deinen FB jetzt im OB1 auf.

    Dann wirst Du 3 neue PINs sehen und zwar mit den Namen Deiner erstellten Variablen. Deswegen heißen sie Schnittstelle. Sie stellen die Verbindung von der "Außenwelt" zum "Innenleben" des FBs dar.

    Direkt auf das "Innenleben" des FBs (den IDB) zuzugreifen geht zwar, löst hier aber sicher kontroverse Diskussionen aus, ob das einen guten Programmierstil darstellt oder nicht. Ich persönlich bin da eher Larrys Meinung:
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    - du kannst auf die Daten eines Instanz-DB's (wie auf die eines beliebigen anderen DB's) zugreifen - ich persönlich halte das aber außerhalb des FB's für schlechten Stil.
    Geändert von hucki (01.02.2014 um 19:56 Uhr) Grund: 'n "r" vergessen

  10. #30
    Registriert seit
    22.08.2009
    Beiträge
    60
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok habe ich aufgefufen sehe zwar die 3 Pinne nicht aber habe verstanden was Du meinst.
    Wäre super den Fehler rauszubekommen.
    So also könnte ich diese 3 zusätzlichen "Pinne" immer mit mir belibigen Konstante, Wörter etc. beschalten?
    Angehängte Grafiken Angehängte Grafiken

Ähnliche Themen

  1. Unterschied EW und PEW
    Von Anonymous im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 12.07.2010, 22:42
  2. Unterschied P und POS
    Von Drain im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 16.04.2009, 13:35
  3. Unterschied MP, OP und TP
    Von Jelly im Forum HMI
    Antworten: 2
    Letzter Beitrag: 11.03.2009, 14:03
  4. Unterschied PN TCP/IP
    Von sailor im Forum Feldbusse
    Antworten: 9
    Letzter Beitrag: 30.05.2008, 16:20
  5. Unterschied SCL und ST
    Von nobug im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.03.2008, 10:04

Lesezeichen

Berechtigungen

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