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

Seite 2 von 7 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 67

Thema: "Saubere" Programme

  1. #11
    Registriert seit
    16.05.2007
    Ort
    im Stahlwerk...
    Beiträge
    1.178
    Danke
    120
    Erhielt 429 Danke für 236 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Ralf1969 Beitrag anzeigen

    Gibt es irgendwo allgemeinverbindliche Richtlinien für 'saubere Programmierung'?
    Verbindliche Richtlinien kenne ich auch nicht. Ich bin zwar selber ein Proggi, aber wenn wir mal eine Anlage Fremdvergeben, dann halte ich schon in der Pflichtenheftphase für den Auftragnehmer einige Programmier-Regeln fest, an die sich die Firma zu halten hat.
    Um nur einige zu nennen:
    • Programm in deutscher Sprache
    • Netzwerke nur mit Überschrift
    • Gut kommentierte Symboltabelle
    • Keine Merkerschnittstellen (Eingänge auf Merker rangieren, dann verarbeiten, anschliessend Merker auf Ausgänge rangieren)
    • Möglichst in FUP (jaja, daran scheiden sich die Geister...)
    • keine Netzwerke mit "auskommentiertem" Code, der dann in FUP verschwindet
    • Referenzliste "Operanden ohne Symbol" muss leer sein.
    • FUP-Netzwerke nicht größer als ein Bildschirminhalt (normale Auflösung)
    Damit sind wir bisher ganz gut gefahren. Ich hab zwar noch etwas meine Instandhalterbrille auf (10 Jahre Instandhaltung liegen hinter mir), aber man findet Fehler einfach schneller, wenn nach den obigen Kriterien programmiert wurde.

    Gruß Approx
    Nihil est in cpu, quod non fuerit in intellectu" - Nichts ist in der CPU, was nicht (zuvor) im Verstand war.

  2. Folgende 4 Benutzer sagen Danke zu Approx für den nützlichen Beitrag:

    HDD (03.03.2008),kiestumpe (03.03.2008),SvenSa (04.10.2010),Werner54 (12.03.2008)

  3. #12
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    Und hier noch ein paar Ergänzungen:

    1. Kein Zugriff auf Instanzdaten ausserhalb des Funktionsbausteins
    2. Keine Sammelsurium-Datenbausteine, Trennung nach Anlagenteil, oder Trennung nach Parameter und Istwerte.
    3. Die Nummernbereich würde ich nicht zwangsläufig vorschreiben, mir sie aber vom Programmierer vorlegen lassen und somit prüfen, ob eine Struktur vorhanden ist.
    4. Nachweis bei Programm-Abnahme, wie Programm ohne "rote LED's" auf PLCSim laufen kann
    5. Nachweis über Test's der verwendeten selbstgeschriebenen (gekapselten) Bausteine (FC/FB).
    6. Nachweis, dass S7 keine Inkosistenzen mehr anmeckert.
    7. Recovery-Strategie Beschreibung (Bei Defekter CPU).
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  4. Folgender Benutzer sagt Danke zu kiestumpe für den nützlichen Beitrag:

    HDD (03.03.2008)

  5. #13
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Approx Beitrag anzeigen
    • Keine Merkerschnittstellen (Eingänge auf Merker rangieren, dann verarbeiten, anschliessend Merker auf Ausgänge rangieren)
    warum? ... ein kurzer erfahrungsbericht und ein quasi-pro für merkerschnittstellen:

    einer unserer anlagenlieferant hat seine programme nach folgender struktur aufgebaut

    1. INPUT-Scan (Eingänge auf Merkerbereiche rangieren für die einzelnen Anlagengruppen)
    2. MAIN-Funktionen für die einzelnen Anlagengruppen
    3. STEUER und REGEL-Funktionen für die einzelnen Anlagengruppen
    4. DRIVE-Funktionen für die einzelnen Anlagengruppen
    5. OUTPUT-Scan (Merkerbereiche auf Ausgänge rangieren für die einzelnen Anlagengruppen)

    ...wobei die anlagengruppe der in der hardwareumsetzung definierten entspricht...

    daraus ergibt sich für den inbetriebnehmer folgender vorteil:

    - seine funktionen MAIN, STEUER, DRIVE sind in baugleichen anlagen immer gleich, IBN-service zeit verkürzt sich und man brauch auch keine schmiermerker

    für den instandhalter bedeutet diese gliederung:

    - bei einem defekten eingang, muß keine lange querverweisliste abgearbeitet werden. einfach umverdrahten, im INPUT-Scan ändern ... fertig .. ähnlich für ausgänge (aber die sollten sowieso nur einmal beschrieben werden ... aber bei S/R sinds schon mal zwei ...)
    Geändert von vierlagig (03.03.2008 um 16:35 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #14
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    An diesem Punkt habe ich auch gestutzt, aber vielleicht soll und approx erklären was er damit genau meint.
    Bezieht das vielleicht auf IN-Parameter von FC/FBs? Hier wäre es natürlich Quatsch sie auf Schmiermerker zu legen.
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  7. #15
    Registriert seit
    09.06.2007
    Beiträge
    398
    Danke
    25
    Erhielt 46 Danke für 44 Beiträge

    Standard

    Ich denke , das Rangieren von Merkerbereichen kommt noch aus der Zeit vor einer komplett symbolischen Programmierung, wie sie in einer IEC-Umgebung standardisiert ist.

  8. Folgender Benutzer sagt Danke zu Ludewig für den nützlichen Beitrag:

    zotos (04.03.2008)

  9. #16
    Registriert seit
    16.05.2007
    Ort
    im Stahlwerk...
    Beiträge
    1.178
    Danke
    120
    Erhielt 429 Danke für 236 Beiträge

    Standard

    Zu den Merkerschnittstellen kann ich nur sagen, dass es aus Programmierersicht einfacher ist, weil man sein Programm bequem im Büro schreiben kann und vor Ort nur noch die Schnittstelle beschalten muss. ABER: Wenn man fix einen Fehler suchen muss, dann sind mit Merkerschnittstelle immer noch ein paar Steps mehr nötig, um z.B. einen fehlenen Eingang zu lokalisieren. In meinem Fall hatte der "Gute Mann" in der betreffenden Anlage seine Merker nicht mal gut kommentiert. Ich hab dann kurzerhand das komplette Programm umverdrahtet (kurz ist gut - es hat ca. ne Woche gedauert). Aus solchen Dingen hab ich halt gelernt und mein Cheffe pflichtet mir bei.

    P.S. Ist ja wie beschrieben auch nur meine Meinung zu "sauberer" Programmierung.

    Gruß Approx
    Nihil est in cpu, quod non fuerit in intellectu" - Nichts ist in der CPU, was nicht (zuvor) im Verstand war.

  10. #17
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Approx Beitrag anzeigen
    In meinem Fall hatte der "Gute Mann" in der betreffenden Anlage seine Merker nicht mal gut kommentiert.
    solltest aus den erfahrungen aber keine allgemein gültigen regeln aufstellen, denn wie du schon erwähntest:

    Zitat Zitat von Approx Beitrag anzeigen
    • Gut kommentierte Symboltabelle
    der zwischenschritt über den fehlenden eingang ist ein berechtigter einwand, allerdings kann man das durch gute störauswertung und damit verbundener visualisierung kompensieren, so dass man den eingang und in meinem fall, ich den INPUT-scan, wirklich nur anzufassen brauche, wenn ich darin eine änderung/erweiterung vornehmen muß/möchte...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  11. #18
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard

    Früher hab ich das auch nicht so gesehen aber das Argument von vierlagig, dass wir in irgend einem anderen Thread schon mal durchhatten hat mich überzeugt, so dass ich meine neuen Programme auch nach diesem Stil schreibe.
    Zitat Zitat von vierlagig Beitrag anzeigen

    für den instandhalter bedeutet diese gliederung:

    - bei einem defekten eingang, muß keine lange querverweisliste abgearbeitet werden. einfach umverdrahten, im INPUT-Scan ändern ... fertig .. ähnlich für ausgänge (aber die sollten sowieso nur einmal beschrieben werden ... aber bei S/R sinds schon mal zwei ...)
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

  12. #19
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Idee

    Wie wärs denn mit dem Vorschlag, anstatt der Merker zwei Datenbausteine zu verwenden z.B. "DB-IN", "DB-OUT"?
    Hab mit PEW und PAW schon ähnliches gemacht und die Erfahrungen, was gute Vorbereitung anbetrifft, sind recht gut.
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  13. #20
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Für die "Merkerhasser" unter uns wäre das natürlich eine Alternative.
    Ich persönlich halte Merker für diesen Anwendungsfall aber für "in Ordnung".
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 16.03.2012, 18:20
  2. "Index Pulse", "Home Switch" und "Position Limit Switch"
    Von senmeis im Forum Antriebstechnik
    Antworten: 3
    Letzter Beitrag: 07.03.2011, 11:21
  3. "kill" Siemens Programme ?
    Von JesperMP im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 15.05.2009, 18:19
  4. Antworten: 2
    Letzter Beitrag: 14.12.2007, 15:09
  5. Antworten: 4
    Letzter Beitrag: 29.11.2006, 08:59

Lesezeichen

Berechtigungen

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