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

Ergebnis 1 bis 4 von 4

Thema: Worin liegen die Unterschiede zum FB und FC

  1. #1
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Der Funktion-Block hat Gegensatz zu einer Funktion Speicherbereiche die länger als einen Zyklus gültig sind. Dazu müssen für jeden Aufruf des FBs eine eigene Instanzen gebildet werden die den Speicherbereich bereitstellen. Die Logik ist im eigentlichen FB und die Lokalen Variablen sind in der Instanz.

    Bei Siemens sind dazu lästige Instanz DBs nötig. Bei anderen Systemen funktioniert die Instanzbildung wie eine Variablen Deklaration und verhindert den Quer zugriff auf die Daten.

    Die IEC 61131-3 beschreibt das auch als Datenkapselung:
    Zitat:
    Was sind Funktionsblöcke?
    Die Aufgabe von einem Funktionsblock ist die Kapselung der Daten und der Algorithmen.
    Der Algorithmus definiert wie die Eingangsdaten zu den Ausgangsdaten unter
    Berücksichtigung der lokalen Daten verarbeitet werden sollen.

    _________________
    Gruß
    ZoToS
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.
    Zitieren Zitieren Worin liegen die Unterschiede zum FB und FC  

  2. #2
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Man kann FB´s auch multiinstanzfähig auslegen.
    Somit können mehrere FB´s in einem FB aufgerufen werden um den gleichen Instanzdatenbaustein zu nutzen.

    Gruß, pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  3. #3
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    von Doc Funfrock:

    Ich habe in der FAQ etwas zu FBs gesehen und will mal ein Bsp liefern. Alles in ST:

    Oftmals benötigt man Automaten die über eine Zustandsvariable und eine Case-Verzeigung gebildet werden. Bsp eines Blinklichtes:

    Code:
    Code:
    VAR 
      state : INT := 1; 
      timer1  : TON; 
      timer2  : TON; 
    END_VAR 
    
    timer1(PT:=t#500ms); 
    timer2(PT:=t#100ms); 
    
    CASE state OF 
     1: 
      Red_Light := TRUE; 
      timer1.IN := NOT timer1.Q; 
      IF timer1.Q THEN 
       state := 2; 
      END_IF; 
    
    
     2: 
      Red_Light := FALSE; 
      timer2.IN := NOT timer2.Q; 
      IF timer2.Q THEN 
       state := 1; 
      END_IF 
    END_CASE;


    Diese Art der Konstruktion wiederholt sich oft im Alltag. Nun aber zum Kern. Oft hat man Stationen, die sich in manchen Grundfunktionen gleichen, wie z.B. eine Start-Taster oder die Anzeige von Zuständen. Wenn man diese Stationen als FB implementiert, so spricht nichts dagen innerhalb dieser FB wiederum einen FB zu instanzieren, der diese gemeinsamen Funktionalitäten abbildet, denn der Automat von oben kann geteilt werden:

    Code:
    Code:
    VAR 
      state : INT := 1; 
      timer1  : TON; 
      timer2  : TON; 
    END_VAR 
    
    timer1(PT:=t#500ms); 
    timer2(PT:=t#100ms); 
    
    CASE state OF 
     1: 
      Red_Light := TRUE; 
      timer1.IN := NOT timer1.Q; 
      IF timer1.Q THEN 
       state := 2; 
      END_IF; 
    END_CASE; 
    
    CASE state OF 
     2: 
      Red_Light := FALSE; 
      timer2.IN := NOT timer2.Q; 
      IF timer2.Q THEN 
       state := 1; 
      END_IF 
    END_CASE;

    Somit kann ein Teil des Automaten in dem FB programmiert werden, der von allen Stationen instanziert wird während der spzielle Teil im FB der Station implementiert wird. Als Bsp sei die Montrac-Bahn genannt. Diese Bahn ermöglicht den Transport des Produktes zu den Bearbeitungsstationen. Der SPS-Code für die Verwaltung der Wagen (Start, Stop, Anstossen des Prozesses) ist allen Stationen gemeinsam und muss nicht kopiert werden, sondern wird als FB in jeder Station instanziiert Dieser Code ist nichts weiter als der 1. Teil des Automaten für eine Station mit den Zuständen:

    - Wagen ist in der Station
    - Ist ein Prozess passend für das Produkt auf der Station vorhanden?
    - Station führe Prozess Nr. x aus
    - Schick Wagen weiter


    Der Vorteil ist leicht zu sehen, umgeht man doch das Kopieren von Code und die gemeinsame Codebasis, verhindert, dass man eine Station bei der Fehlerkorrektur vergisst.

    Um das zu realisieren benötigt man noch ein globales Array mit allen Stationsdaten, in dem auch die Zustandvariable instanziiert wird.

    Doc Funfrock
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  4. #4
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hinweis: Ich bin für jede Info bzgl. der Themen aufgeschlossen und werde sie gerne ins FAQ übernehmen. Also, schickt mir Nachrichten im Forum oder per PN.

    Gruß, pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

Ähnliche Themen

  1. Unterschiede ??
    Von prinz1978 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 24.10.2008, 08:07
  2. Formieren von Umrichtern, die im Lager liegen?
    Von Sockenralf im Forum Antriebstechnik
    Antworten: 10
    Letzter Beitrag: 10.05.2008, 16:00
  3. S5 / S7 DB-Unterschiede
    Von skyracer im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 15.08.2007, 21:59
  4. CPU unterschiede???
    Von peltzerserbe_ im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.06.2006, 20:35
  5. Worin liegen die Unterschiede zum FB und FC?
    Von Snake787 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 08.11.2005, 14:49

Lesezeichen

Berechtigungen

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