HarryH
Level-1
- Beiträge
- 142
- Reaktionspunkte
- 4
-> Hier kostenlos registrieren
Hallo zusammen,
Wir sind eine Maschinenbaufirma die automatische Abfüllmaschinen für Schüttgüter und Flüssigkeiten mit dazugehöriger Förder-/Palettiertechnik baut. Nun hatte ich mit meinen Kollegen die Disskussion über die "richtige" Programmierweise mit S7. Dabei geht es um zwei schon im Ansatz sehr unterschiedliche "Programmierstile". Ich nenne sie mal "Klassisch" und "Modern", obwohl die Begriffe keine Wertung über den Programmierstil sein soll:
1. "Klassisch"
- hauptsächlich globale Operanden (DB, M)
- kaum parametrierte FC's/FB's
Vorteile:
- Gut nachvollziehbare "Signalwege" (--> Gehe zur Verwendungsstelle)
- Leicht nachvollziebar für Außenstehende, welche die Software nicht erstellt haben (z.B. Servicepersonal firmenintern und beim Kunden)
Nachteile:
- Aufwändig zu erweitern, wenn z.B. selber Maschinenteil nochmal dazu kommt. --> Umkopieren aller Merker, DB's, etc. --> Fehlerquelle
2. "Modern"
- objektorientiert -> Funktionalitäten werden so in FB's gekapselt das sie leicht austauschbar sind -> alle Daten werden über die Bausteinschnittstelle übergeben (E, A, DB, UDT, FB).
- so gut wie keine globalen Operanden -> nur Daten aus der Schnittstelle (IN, OUT, STAT)
- bis 4 Ebenen verschachtelte FB's
Vorteile:
- Gute Standardisierung möglich
- Leicht zu erweitern
Nachteile:
- Schwer nachzuvollziehende "Signalwege" (--> Gehe zur Verwendungsstelle ist garnicht möglich)
- Für Außenstehende schwer nachzuvollziehen (z.B. Servicepersonal)
- Erhöhter Zykluszeit
Wie schreibt ihr eigendlich eure Programme? Eher "Klassisch" oder "Modern" (um mal in dieser Begrifflichkeit zu bleiben)? Freue mich über regen Austausch.
Gruß HarryH
Wir sind eine Maschinenbaufirma die automatische Abfüllmaschinen für Schüttgüter und Flüssigkeiten mit dazugehöriger Förder-/Palettiertechnik baut. Nun hatte ich mit meinen Kollegen die Disskussion über die "richtige" Programmierweise mit S7. Dabei geht es um zwei schon im Ansatz sehr unterschiedliche "Programmierstile". Ich nenne sie mal "Klassisch" und "Modern", obwohl die Begriffe keine Wertung über den Programmierstil sein soll:
1. "Klassisch"
- hauptsächlich globale Operanden (DB, M)
- kaum parametrierte FC's/FB's
Vorteile:
- Gut nachvollziehbare "Signalwege" (--> Gehe zur Verwendungsstelle)
- Leicht nachvollziebar für Außenstehende, welche die Software nicht erstellt haben (z.B. Servicepersonal firmenintern und beim Kunden)
Nachteile:
- Aufwändig zu erweitern, wenn z.B. selber Maschinenteil nochmal dazu kommt. --> Umkopieren aller Merker, DB's, etc. --> Fehlerquelle
2. "Modern"
- objektorientiert -> Funktionalitäten werden so in FB's gekapselt das sie leicht austauschbar sind -> alle Daten werden über die Bausteinschnittstelle übergeben (E, A, DB, UDT, FB).
- so gut wie keine globalen Operanden -> nur Daten aus der Schnittstelle (IN, OUT, STAT)
- bis 4 Ebenen verschachtelte FB's
Vorteile:
- Gute Standardisierung möglich
- Leicht zu erweitern
Nachteile:
- Schwer nachzuvollziehende "Signalwege" (--> Gehe zur Verwendungsstelle ist garnicht möglich)
- Für Außenstehende schwer nachzuvollziehen (z.B. Servicepersonal)
- Erhöhter Zykluszeit
Wie schreibt ihr eigendlich eure Programme? Eher "Klassisch" oder "Modern" (um mal in dieser Begrifflichkeit zu bleiben)? Freue mich über regen Austausch.
Gruß HarryH