Tipps zur Standardisierung der Programmierung

Zuviel Werbung?
-> Hier kostenlos registrieren
Nun ja, ich kenne zwar die Hintergründe von Dracos Standard nicht, aber ich vermute, er wurde nicht erst letztes Jahr erstellt. Stammt also aus einer Zeit, als SCL und TON etc. noch nicht so "in" waren.
1982 wahrscheinlich. Schätze mal, daß sich seitdem auch nicht viel verändert hat.
Und wenn ein Standard erstmal in xxx Anlagen eingesetzt wurde, muss man schon sehr gute Gründe vorbringen, um ihn ueber den Haufen zu werfen.
Fortschreitender geschäftlicher Schaden für die gesamte Firma wäre da mal so ein Grund.
Nur mal so als Denkanstoss...
Wenn man deinen Ausführungen folgt, dann dürften wir im Serienmaschinenbau keine anderen Standards mehr vorfinden. Denn die Anfänge sind in der Regel ja nicht gestern gelegt worden.
Nebenbei hat der beschriebene Standard natuerlich auch Vorteile, wie hier im Forum schon oeffters diskutiert wurde...
Das ist jetzt hoffentlich nicht dein Ernst? Es ist kein Standard, sondern ein schlechter Scherz.

Der einzige Vorteil davon ergibt sich für einen kleinen Haufen betagter Mitarbeiter, die sich kurz vor der Rente ihre Ruhe auf Kosten der gesamten Firma erkauft haben. Denn mit so einer Vorgehensweise kostet jedes Projekt locker mal das Doppelte davon, wie die Investitionen beim Einsatz von zeitgemäßen Mitteln ausfallen würden. Ich bin zwar kein Fachmann im Unternehmensconsulting, aber ich schätze das mal so. Und dieser Müll ist hinterher auch für nichts zu gebrauchen, es ist nicht migrierbar und nicht editierbar, zumindest nicht für Leute die keine S5 mehr programmiert haben.
 
Ich bin zwar kein Fachmann im Unternehmensconsulting, aber ich schätze das mal so. Und dieser Müll ist hinterher auch für nichts zu gebrauchen, es ist nicht migrierbar und nicht editierbar, zumindest nicht für Leute die keine S5 mehr programmiert haben.

Anschließend bis du das Kücken in der Firma, dann wird es aber Zeit das du dir
von den Dinosauriern, noch ein paar Kniffe aus der S5 Zeit zeigen lässt. Ansonsten
wird es irgendwann schwer für dich, wenn die alten in Rente gehen und ein Kunde
hat ein Problem mit einer Anlage.

Aber irgendwie verstehe ich dich, ich bekomme auch noch jedem Tag Programme
von Kollegen auf den Tisch, deren Struktur aus DB11 und DB12 für S5 Zeiten bzw.
Zählern ist, zusätzlich KOP Programm, deren Verkettung aus schlecht bzw. undokumentierten
Merkern (M 1.0 mit Symbol M 1.0) besteht, die nicht auf 2x 24" nicht darstellbar sind.

Gut das ich mit S5 aufgewachsen bin.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nunja, wie gesagt, ich kenne Euren Standard nicht und die Hintergründe und konkreten Anforderungen schon garnicht. Geh doch einfach mal zu Deinem Chef und Teile ihm Deine hier aufgeführten Argumente mit ;) Wenn er kein Idiot ist, sollten ihn die 50%ige Programmierzeiteinsparung schon aufhorchen lassen. Evtl. darft Du das dann im nächsten Projekt beweisen ;)
Zu dem beschriebenen Programmierstil, ich sagte nicht, dass er gut ist, sondern das er AUCH Vorteile besitzt. Natuerlich auch Nachteile, was man gegeneinander abwaegen sollte. Und wie RN schon anmerkte, die Altanlagen loesen sich mit dem neuen Standard nicht in Luft auf, d.h. Du musst dann 2 Programmierstile beherrschen und verstehen um auch Altanlagen warten und erweitern etc. zu koennen. Es gibt immer mehrere Sichtweisen.
Ansonsten bin ich mal davon ausgegangen, dass Deine Kollegen nicht ganz doof sind, was natürlich nicht stimmen muss ;)
 
Ich habe da für mich eine Lösung gefunden und arbeite nicht nach diesem Standard. Die Leitung drückt da ein Auge zu. Außerdem gehöre ich offiziell nicht zu dieser Abteilung. Von den anderen Kollegen, die nicht aus dieser speziellen Abteilung sind, ist auch kaum jemand bereit, die Vorgehensweisen zu übernehmen.

Aber des ist zum Teil schon harter Tobak, wenn ich sehe wie in einer Anlage mit dreistelliger Anzahl an Proportionalventielen, einem Haufen komplexer vorgesteuerter überlagerter Regler und hydraulischen Leistungen von mehreren Megawatt, mit einem hochverfügbaren Rack und 417H CPU, die Software so aufgebaut ist, daß noch nichtmals BLOCKMOVE Befehle eine Anwendun finden. Datenblöcke werden z.B. so kopiert:

Code:
L DB100 DBD0
T DB200 DBD0
L DB100 DBD4
T DB200 DBD4
...

Ich habe für mich entschieden, dass

- Bibliotheksbausteine die ich verwende vorzugsweise in SCL geschrieben werden,
- nur lokale Datenhaltung verwenden wird,
- die Anzahl der DBs möglichst klein gehalten wird,
- für die Datenhaltung möglichst sinnvolle Strukturen benutzt werden,
- Schrittketten im Graph geschrieben werden,
- Komplxe Reglerstrukturen aus dem CFC kommen, um den Signalfluss grafisch nachvollziehen zu können.
 
Wie ich das verstehe verwendest Du klassisch KOP/FUP + Graph + CFC in einem Projekt? Das KOENNTE einem Nichteingeweihtem aber auch gehöriges Grübeln bereiten. Vor allem wenn er kein Graph, SCL und CFC auf seinem PG hat ;) Also immer mehrere Sichtweisen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie ich das verstehe verwendest Du klassisch KOP/FUP + Graph + CFC in einem Projekt? Das KOENNTE einem Nichteingeweihtem aber auch gehöriges Grübeln bereiten. Vor allem wenn er kein Graph, SCL und CFC auf seinem PG hat ;) Also immer mehrere Sichtweisen...
Bei der Kompexität der Syteme wäre es illusorisch, zu erwarten, daß man die Problemstellungen mit Mitteln von KOP/FUP alleine lösen kann. Wenns nach mir ginge, würde ich auch auch gleich in Richtung PCS7 gehen und die Programmierer verpflichten, bibliotheksfähige Bausteine so zu erstellen, daß die PCS7-fähig sind.

Aber soweit muss man gar nicht gehen, es gibt fertigungstechnische Anlagen wo man das nicht braucht. Wichtig ist, daß man am Puls der Zeit bleibt und im Unternehmen das Bestreben existiert, möglicht die optimalen Produkte und zeitgemäße Mittel für die Umsetzung der Projekte zu bestimmen und mitzunehmen, anstatt im vorletzten Jahrhundert zu verharren.
 
Zuletzt bearbeitet:
Nun ja, ich kenne zwar die Hintergründe von Dracos Standard nicht, aber ich vermute, er wurde nicht erst letztes Jahr erstellt. Stammt also aus einer Zeit, als SCL und TON etc. noch nicht so "in" waren. Und wenn ein Standard erstmal in xxx Anlagen eingesetzt wurde, muss man schon sehr gute Gründe vorbringen, um ihn ueber den Haufen zu werfen. Nur mal so als Denkanstoss... Nebenbei hat der beschriebene Standard natuerlich auch Vorteile, wie hier im Forum schon oeffters diskutiert wurde...

Also ich glaube das kann man nicht Standard nennen sondern Programmierstil. Ich kann Draco voll verstehen. Bei mir wurde mit "verloren gegangener Kreativität" gegen einen Standard argumentiert.
Wie Instandhaltung, nachfolgende Kollegen damit zurechtkommen? ..... Und alles schön mit Merkern dafür keine internen Variablen und dann noch M1.0 = "M1.0"

Wie auch immer, ich glaube lieber einen schlechten Standard, als gar keinen.

Aber scheinbar scheint ein Nicht-Vorhanden-Sein eines Standards, mehr die Regel als die Ausnahme zu sein.

Wobei doch alles so ähnlich ist: die meisten Maschinen bestehen aus Betriebsarten, Motoren, Zylindern, Türen, Knöpfen, einem Roboter?, einem HMI, .....

Unter einem Standard verstehe ich übrigens nicht was in Stein gemeißeltes, sondern eine stetige Weiterentwicklung und Erweiterung.

Wobei es nicht nur die "alten Hasen" sind, die bremsen. Es scheint eher eine Frage zu sein wie weit der gewollte Standard dem eigenen Programmierstil entgegenkommt. Da sollte aber seit den Programmierempfehlungen von Siemens kein Diskussionsbedarf mehr bestehen.
 
Zuletzt bearbeitet:
So was ich mal hier festhalten möchte, ein guter Programierstiel oder Standard, hat nichts mit
dem Alter zu tun oder ob da die Modernsten Sprachen verwendet wird.
Ein schlechter Programmierstil kann auch sein wenn man einfache Aufgaben, wie Binäre
Verknüpfungen, in komplexen Anlagen, unbedingt in Hochsprache machen möchte,
mit Hornbrille und Pikel im Gesicht !!!
Dann ist das Programm schlecht und Puperitäre Jüngling hat wegen seines Ausehen keinen Stil.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... ein guter Programierstiel oder Standard, hat nichts mit
dem Alter zu tun oder ob da die Modernsten Sprachen verwendet wird.
Ein schlechter Programmierstil kann auch sein wenn man einfache Aufgaben, wie Binäre
Verknüpfungen, in komplexen Anlagen, unbedingt in Hochsprache machen möchte ...
*ACK*

Ich würde auch sagen, das Standard heutzutage mit guter Strukturierung und guter Dokumentation zu definieren ist.
Auch dazu gehören würde m.E. z.B. das gleiche Sachen auch immer gleich heißen.
Was ich sehr gerne mache ist, dass ich mir für wiederkehrende Perepherie-Schnickeleien wie Zählerkarte, FU, Servo-Regler, Laser und und und eigene Bausteine erstelle, die so funktionieren, wie ich es brauche und setze ich dann natürlich auch immer wieder gerne ein. Oder innerhalb der Programmierung : ein FB für ein Aggregat oder eine Station hat immer den gleichen Innenaufbau und Bennung der verwendeten Strukturen.

Es gibt da viele Möglichkeiten ...

Gruß
Larry
 
Jo... Auch wenn ich auch am liebsten immer PCS7 einsetzen wuerde, ein Standard oder ProgrammierStil ist nicht per se schlecht, nur weil er auf AWL, Merkern und Timern basiert. Wenn es wichtige Gründe dafür gibt, und er gut gemacht ist kann er im speziellen Fall sogar besser sein als was auch immer...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jo,
Wobei ich aber trotzdem den meisten Praktikanten die nötige Erfahrung absprechen wuerde um einen ordentlichen und auf die konkreten Bedürfnisse angepassten Standard zu erstellen...

Naja, so manchen Kollegen der seit 20 Jahren dabei ist lässt sich genauso gut mangelnde Objektivität und Flexibilität vorhalten.

Letztendlich profitieren Programmierer davon das nahezu niemand im Unternehmen ihre Arbeit bewerten kann. So das es im Grunde genommen nur zwei Arten von Programmierern gibt.

- Die die seit 20 Jahren das gleiche Programm zum laufen bringen bis es irgendwann funktioniert.
- Die die immer wieder mal an ihrem Wissen und ihrem Programm arbeiten um es einfacher zu haben.

Ich glaube der unterscheide der beiden Typen macht mehr aus als der Unterschied alt oder jung.
 
Die zeiten ändern sich...

Ein schlechter Programmierstil kann auch sein wenn man einfache Aufgaben, wie Binäre
Verknüpfungen, in komplexen Anlagen, unbedingt in Hochsprache machen möchte,
mit Hornbrille und Pikel im Gesicht !!!
Dann ist das Programm schlecht und Puperitäre Jüngling hat wegen seines Ausehen keinen Stil.

Die heutigen Prozessoren sind so schnell, dass Du im Prinzip so umständlich programmieren darfst, wie Du willst.

Die Übersicht und Struktur entscheidet, ob das System gut ist, in 10 Jahren auch von einem Aussenstehenden gewartet und modifiziert werden kann ohne dass es erst einmal tausend Tricks + Nebeneffekte erforschen muss.

Ich habe einmal in einem Software Projekt mitgearbeitet, wo einzelne Bits verboten waren! Du musstest einen Integer nehmen, um zu sagen, ein oder aus und IF und Kollegen, um Verknüpfungen zu behandeln.

Das Projekt wurde erfolgreich abgeschlossen, war im Budget gebieben, hatte 150 Millionen in der Software gekostet und lief fast am ersten Tag der Inbetriebnahme schon problemlos, dank einer strengen Einhaltung von Normen und einer 10 Mann starken Testmannschaft, die den Source auch auf Normverstösse überwachten und zurück an den Entwickler gaben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die heutigen Prozessoren sind so schnell, dass Du im Prinzip so umständlich programmieren darfst, wie Du willst.

... dank einer strengen Einhaltung von Normen und einer 10 Mann starken Testmannschaft, die den Source auch auf Normverstösse überwachten und zurück an den Entwickler gaben.

Das sehe ich genauso. Leider gibt es bei Siemens nicht die Möglichkeit der statischen Code Analyse. Würde es diese Funktion geben würde Standardisierung in der SPS ein ganz neues Level erreichen.
 
Zurück
Oben