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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Guter Programmierstil?

  1. #11
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also wenn Ich früher Schrittketten in AWL erstellt habe, hab Ich das auch immer mit SPL gemacht, das ganze am besten in einem FB, dann TON/TOFF als multiinstanzen verwendet und immer am Ende der kette alle aufgerufen. In der kette hab Ich dann nur IN und OUT von den multiinstanzen verschaltet!
    Ich hab immer noch am anfang des Bausteines alle Signale welche irgendwo in einem Schritt gesetzt werden zurückgesetzt, und immer im jeweiligen Schritt wieder gesetzt, dadurch konnte Ich auch die Schrittnumervariable auf einen bestimmten Schritt ansteuern und die gesetzten bits waren dann trotzdem immer richtig!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  2. #12
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard

    Zitat Zitat von hucki Beitrag anzeigen
    Ich würde nur gerne verstehen, warum jemand der Meinung ist, ein Programm mit Sprungliste wäre lesbarer als ohne.
    Ich bin bei Dir , das in diesem Beispiel die Lösung ohne Schrittketten besser ist.
    Bei komplexeren Programmen erhöhen sie aber, in der Regel, die Übersicht und verbessern die Fehlersuche, da man sich immer nur um einen definierten Bereich des Programms kümmen muss.

  3. #13
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

    Vielleicht noch einmal eine Anmerkung dazu :
    Es gibt mehrere Möglichkeiten, eine Schrittkette zu realisieren. Eine Sprunglsiete zu verwenden ist nur eine davon - und wird nicht unbedingt von jedem favourisiert ...

    Gruß
    Larry

  4. #14
    truth ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.09.2013
    Beiträge
    7
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank für die vielen Rückmeldungen.

    Zunächst möchte ich noch ein paar erklärende Worte zum Hintergrund meines Themas/Frage nachreichen:
    Da ich sonst relativ viel in C/C++ programmiere, erschienen mir Sprungverteiler wie switch(...) { case ... } oder auch if(...){...}else{...} immer gut geeignet, um ein Programm übersichtlich zu gestalten. Außerdem habe ich früher mal Assembler (6502) programmiert, weshalb ich mir dachte, dass es nicht allzuschwierig sein sollte, jetzt mit AWL anzufangen.
    Dass das ein Trugschluss war, ist mir klargeworden, als ich versucht habe, einen Timer in mein Programm zu integrieren.

    Mein Problem ist, dass sich der Programmablauf in meinen bisherigen Programmen meistens an Zuständen orientiert hat, während die AWL-Programmierung wohl eher auf Zustandswechsel aufbaut.
    Dass typische AWL-Programme sich von Assembler unterscheiden, ist mir ja schon aufgefallen ...
    ... aber dass z.B. in Schrittketten für jeden Schritt eine eigene Variable (true or false) definiert wird, nur um festzustellen, in wechem Schritt man sich befindet,
    war mir bisher suspekt. Das war auch der Grund, warum ich mein Beispielprogramm B2 als Zustandsautomat erstellt habe.

    Zurück zu meiner Ursprünglichen Frage:
    Welches Konzept bzw. welcher AWL-Programmierstiel ist geeignet, um auch größere, komplexere Anwendungen realisieren zu können, ohne all zu schnell den Überblick zu verlieren?
    Vielleicht hat auch jemand eine Idee, wo ich AWL-Beispieleprogramme (ab 40 Zeilen aufwärts) finde, die nicht nur erklären, was das Programm tut, sondern auch warum das Programm so und nicht anders geschrieben wurde.

    Nochmals vielen Dank für alle bisheriegen Antworten.

    Viele Grüße,
    Truth

  5. #15
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard

    Zitat Zitat von truth Beitrag anzeigen
    Vielleicht hat auch jemand eine Idee, wo ich AWL-Beispieleprogramme (ab 40 Zeilen aufwärts) finde, die nicht nur erklären, was das Programm tut, sondern auch warum das Programm so und nicht anders geschrieben wurde.
    http://support.automation.siemens.co...ew/de/30362969

  6. #16
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.493
    Danke
    1.142
    Erhielt 1.243 Danke für 974 Beiträge

    Standard

    Zitat Zitat von MSB Beitrag anzeigen
    Das für mich nachteiligste:
    Die Art und Weise, wie die Schnittstelle von Graph funktioniert muss man irgendwie mögen ... was auf mich persönlich nicht zutrifft.
    In den Einstellungen kannst du "Benutzdefineirt" wählen und dir die Schnittstelle gestalten wie sie dir gefällt.
    Im einfachsten Fall nimmst du Init_SQ und Automatik.

    Wenn man sich aber den kompletten Parameter-Satz anschaut, dann fragt man sich schon ob die Entwickler noch von dieser Welt sind.
    Allerdings gibt es auf der anderen Seite auch Anwender, die alles mit Graph lösen (Betriebsarten, Einrichtfunktionen, Fehlerdiagnose und vielleicht auch noch Kaffekochen und Frau beglücken)

    Gruß
    Dieter

  7. #17
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 920 Danke für 740 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von truth Beitrag anzeigen
    Vielen Dank für die vielen Rückmeldungen.

    Zunächst möchte ich noch ein paar erklärende Worte zum Hintergrund meines Themas/Frage nachreichen:
    Da ich sonst relativ viel in C/C++ programmiere, erschienen mir Sprungverteiler wie switch(...) { case ... } oder auch if(...){...}else{...} immer gut geeignet, um ein Programm übersichtlich zu gestalten. Außerdem habe ich früher mal Assembler (6502) programmiert, weshalb ich mir dachte, dass es nicht allzuschwierig sein sollte, jetzt mit AWL anzufangen.
    Dass das ein Trugschluss war, ist mir klargeworden, als ich versucht habe, einen Timer in mein Programm zu integrieren.
    Warum programmierst Du dann nicht in SCL?

    Das orientiert sich doch an Hochsprachen und sollte Dir somit wesentlich einfacher fallen. Und außerdem scheint ja Siemens selber von AWL auf SCL umzustellen. Die S7-1200 kann z.B. nur noch FUP/KOP oder SCL, aber kein AWL mehr.

Ähnliche Themen

  1. TIA Programmierstil
    Von kuti im Forum Simatic
    Antworten: 29
    Letzter Beitrag: 05.07.2013, 20:37
  2. Programmierstil / schöner programmieren?
    Von D4K!ZZ4 im Forum Programmierstrategien
    Antworten: 35
    Letzter Beitrag: 31.10.2011, 10:56
  3. Guter Messtaster ?
    Von Unisardo im Forum Antriebstechnik
    Antworten: 8
    Letzter Beitrag: 27.06.2011, 09:43
  4. programmierstil s7
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.11.2005, 19:04
  5. Programmierstil - Richtlinien - S7
    Von eloboy im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 13.10.2004, 09:13

Stichworte

Lesezeichen

Berechtigungen

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