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

Ergebnis 1 bis 3 von 3

Thema: Tipps zur "besseren" Programmgestaltung für Anfänger

  1. #1
    Registriert seit
    09.11.2014
    Beiträge
    19
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich weiß nicht ob ich mich hier schon mal vorgestellt habe, aber kurz zu mir: Mein Name ist Ansgar, bin 18 Jahre alt und komme aus Mönchengladbach. Ich mache momentan ein Duales Studium als Elektrotechniker für Automatisierungstechnik.

    Da wird in unserem Ausbildungsbetrieb die Programmierung der S7 nur oberflächlich gemacht haben, und ich mich auch hobbymäßig mit Elektronik und Elektrotechnik beschäftige, habe ich mir selbst eine S7 315-2DP gekauft.

    Ich habe mir für den Anfang als Projekt eine einfach Fußgängerampel ausgesucht, mit Tag/Nachtprogramm. Das ganze soll dann im laufe der Zeit zu einer größeren Kreuzung mit Vorzugsschaltung, Links/Rechtsabbieger und per Analogwert vorgebbaren Rotzeiten werden.

    Nun ja, ich habe jetzt ein Programm geschrieben, welches eine einfache Fußgängerampel mit Tag/Nachtbetrieb darstellt. Funktioniert auch alles so wie es soll, aber ich würde gerne mal hören was ihr anders machen würdet und warum.

    Ich hänge mal das ganze Projekt aus TIA V13 hier als .zip an, wäre super wenn da jemand drüber guckt und mir Tipps gibt

    Freundliche Grüße
    Ansgar

    Ampel.zip
    Zitieren Zitieren Tipps zur "besseren" Programmgestaltung für Anfänger  

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

    Standard

    • Im deinem FC verwendest Du die temporären Schrittvariablen (teilweise) zuerst lesend (z.B. NW3, #"Schritt 6")
      Der Zustand von Temp-Variablen ist nicht definiert. Meist steht zwar 0 drinn, aber darauf darf man sich nicht verlassen.
      Bei Temp-Variablen muss er erste Zugriff immer schreibend erfolgen.
      Alternativ mach einen FB draus und verwende statische Variablen.
    • Wenn Du statt "Schritt x" "x_Warten_auf_Rot" verwendest kann man dein Prog. leichter nachvollziehen.



    Und hier noch zwei Hinweise, wenn Du dich mal als Fortgeschrittener fühlst:
    • Wenn Du statt den SIMATIC Timern (T1, T2, etc) TON und TOF verwendet, kannst Du universell verwendbare Bausteine schreiben, die keine festen Ressourcen verwenden.
    • Die Verwendung von Merken ist bei der S7-300 ok .
      Bei S7-1200 und S7-1500 sollte das aber möglichst vermieden werden, weil es diese CPUs ausbremst. Außerdem sind es auch feste Ressourcen.
      Also möglichst nicht verwenden (oder nur vorrübergehend zum Testen während der Entwicklung/Inbetriebnahme)
      Am besten speicherst Du die Werte eines FB in dessen DB ab.


    Aber lass dich blos nicht von meinen Anmerkungen entmutigen!

  3. #3
    ansgar96 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.11.2014
    Beiträge
    19
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hey,

    danke für deine Tipps. Ich werde mal gucken wie und ob ich das umsetzen kann und mich dann nochmal hier melden.

    Zitat Zitat von miami Beitrag anzeigen
    Aber lass dich blos nicht von meinen Anmerkungen entmutigen!
    Keine Sorge, ich Frag ja extra nach um es besser zu machen

    Freundliche Grüße
    Ansgar

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 07.12.2016, 09:11
  2. Step 7 FUP-Baustein (Canopen) verlangt Datentyp Array "Anfänger"
    Von Xplosion im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 27.06.2013, 18:08
  3. Antworten: 38
    Letzter Beitrag: 05.11.2012, 13:03
  4. Antworten: 34
    Letzter Beitrag: 02.10.2012, 13:28
  5. Anfänger und Verständnisprobleme "Zykluszeit"
    Von mister_chaos im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 05.02.2009, 14:46

Lesezeichen

Berechtigungen

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