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

Ergebnis 1 bis 6 von 6

Thema: Funktionsbaustein vs. Programm

  1. #1
    Registriert seit
    13.10.2009
    Beiträge
    61
    Danke
    24
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich programmiere gerade eine sehr kleine modulare Anlage, die aus mehreren Stationen (oder eher Modulen) besteht.
    Es fließen mehrere Werkstücke durch die Stationen. Es kann natürlich vorkommen, dass eine Station mit der Weiterverarbeitung warten muss, bis die nächste Station frei ist oder bis überhaupt ein Teil von der vorherigen Station kommt.
    Jetzt frage ich mich gerade, ob ich die Stationen als FB oder als Programm programmieren soll?

    So wie ich das sehe, ist der einzige Unterschied, dass von einem FB mehrere Instanzen angelegt werden können, während ein Programm manuell kopiert werden müsste (was zu einer Fehlerquelle bei Änderungen führen kann).
    Oder gibt es noch weitere Unterschiede? Eventuell wenn es um Verschachtelung von mehreren FBs/Programmen geht?

    (Ein FB kann natürlich auch in den permanenten Speicher gelegt werden, aber das ist hier nicht relevant.)
    Geändert von SPSstudent (08.12.2009 um 15:07 Uhr)
    Zitieren Zitieren Funktionsbaustein vs. Programm  

  2. #2
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    Ein Unterschied liegt natürlich auch darin, dass Du Programme einem Task zuordnen kannst. Einem FB kannst Du direkt keinem Task zuordnen.

  3. Folgender Benutzer sagt Danke zu Grubba für den nützlichen Beitrag:

    SPSstudent (08.12.2009)

  4. #3
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Programme sind isoliert voneinander, dh. sie haben keine gemeinsamen Variablen und laufen auf verschiedenen Tasks.

    Es ist zu empfehlen die Stationen/Prozesse auf FB's zu implementieren, in der Art, dass du einen FB hast, der die Kommunikation vom Programm zu den FB steuert, der dann in jedem FB instanziert wird, welcher einen Prozess abbildet. Das gibt dann einen FB im FB und spart Code.

    Du solltest dir darüber klar sein, das FBs Objekte sind, die ihren internen Zustand behalten.

  5. Folgender Benutzer sagt Danke zu drfunfrock für den nützlichen Beitrag:

    SPSstudent (08.12.2009)

  6. #4
    Registriert seit
    19.10.2009
    Beiträge
    194
    Danke
    8
    Erhielt 50 Danke für 44 Beiträge

    Standard

    Ausserdem kann ein FB wie ein Datentyp behandelt und per VAR_IN_OUT an einen anderen FB übergeben werden. Im modularen Aufbau kann es z.B. nützlich sein, dass ein FB über die Variablenliste den Verweis auf Previous_FB und Next_FB bekommt.

    Gruß,
    witkatz

  7. Folgender Benutzer sagt Danke zu witkatz für den nützlichen Beitrag:

    SPSstudent (08.12.2009)

  8. #5
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Beitrag

    Ein FB ist von der "Robustheit" immer einem per Copy/Paste vervielfachtem Programm System vorzuziehen.

    Man testet nach einer Änderung des FB diesen akribisch und kann dann sicher sein, dass man nirgendwo vergessen hat, die Änderung auch noch durchzuführen. Im Prinzip ist das eine Kapselung des potentiellen Fehlerproblems auf eine Stelle.

    Das ist so wie in der Produktion, eine Serienfertigung, die man im Griff hat, ist einer Mannschaft von individuellen Handwerkern, die alle parallel ein gleiches Produkt herstellen, an Qualität überlegen.

    Die Sache zahlt sich natürlich immer besser aus, je komplexer ein Programm wird, leider sind die Lehrprogramme sehr oft nur wenige Zeilen lang und man sieht sowieso alles auf einem Blick.
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Robustheit  

  9. Folgender Benutzer sagt Danke zu RobiHerb für den nützlichen Beitrag:

    SPSstudent (11.12.2009)

  10. #6
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wobei man sagen muss, es lohnt, wenn man die IO's von den FB entkoppelt. Daher man übergibt die IOs als Parameter, anstatt die direkt im FB zu verwenden. Dabei wird man entdecken, dass oftmals Code wiederverwendet werden kann. Sobald man gezwungen ist, Code zu kopieren, hat man mit hoher Wahrscheinlichkeit etwas falsch gemacht.

Ähnliche Themen

  1. Funktionsbaustein aufrufen
    Von Spoon im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 06.02.2010, 22:04
  2. Funktionsbaustein mit Lizenz
    Von Anatol_r im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 09.09.2008, 14:39
  3. Funktionsbaustein Anwahl mit INT
    Von Computerliebe im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 17.06.2007, 20:08
  4. Funktionsbaustein in S40
    Von Arne30 im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 24.07.2006, 15:05
  5. Funktionsbaustein in S5 ???
    Von Tom1971 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 06.04.2006, 18:48

Lesezeichen

Berechtigungen

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