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

Ergebnis 1 bis 9 von 9

Thema: Programmaufbau, -ablauf

  1. #1
    Registriert seit
    26.05.2009
    Ort
    Franken
    Beiträge
    4
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Unglücklich


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Servus!

    die Abschlussprüfungen rücken näher, und ich steh noch immer auf ner 5 in Steuer- und Regelungstechnik X_X
    Wie fangt ihr an? Was mach ich nur falsch? Ich brauch echt dringend die Hilfe von Profis, sonst kann ich meinen Technikertitel vergessen.
    Wir programmieren auf Step5, Zeug wie die allgemein bekannten Rolltore, Silobefüllung, Ampelschaltung..eigentlich den ganzen Kram, über den ihr wahrscheinlich lachen werdet.
    "Erstelle ein ablauffähiges Programm in AWL", der Satz verfolgt mich schon nachts.
    Einen Grafcet krieg ich ja noch hin (najaaa..ich hoff es mal) aber FUP bricht mir anschließend endgültig das Genick.

    Wie fangt ihr an, ein Programm zu schreiben?
    Gibt es irgendwelche Tricks, die Übersicht zu behalten?
    ----wie schreibt man ein Programm?!




    viele Grüße, Stoif
    Zitieren Zitieren Programmaufbau, -ablauf  

  2. #2
    Registriert seit
    18.01.2009
    Beiträge
    48
    Danke
    24
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Strukturiete Programmierung.

  3. #3
    Stoif ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.05.2009
    Ort
    Franken
    Beiträge
    4
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank für die Antwort, doch hilft sie mir ehrlich gesagt, absolut nicht weiter. Ich versuch verzweifelt jedesmal eine strukturierte Programmierung, aber es haut nicht hin. Nicht im Geringsten.
    Erstmal Grunstellung zusammenfassen, alles klar, mach ich.
    Dann die weiteren Schritte programmieren...auch logisch...
    Nur Klappen tut es nie.
    Hat jemand vielleicht Aufgaben mit Lösungen?! Wo auch Hilfestellungen dabei sind, warum man was grad tun muss?
    *Verzweiflung*
    Zitieren Zitieren Strukturierte Programmierung?  

  4. #4
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Pfeil

    Zitat Zitat von Stoif Beitrag anzeigen
    Wie fangt ihr an, ein Programm zu schreiben?
    Bei "Rolltore, Silobefüllung, Ampelschaltung" könnte ich jetzt sagen: Ich schreib es von oben runter im OB1. Aber das ist nicht das, was du hören willst; es stimmt auch nicht ganz, ich schreib bei S5 immer FB, weil man da alle Befehle nehmen darf und den FB wiederverwenden kann.
    Zitat Zitat von Stoif Beitrag anzeigen
    Gibt es irgendwelche Tricks, die Übersicht zu behalten?
    Ablaufdiagramme. Tabellen. Standard-Methoden.
    Zitat Zitat von Stoif Beitrag anzeigen
    ----wie schreibt man ein Programm?!
    So, wie man mag, wie man es kann, wie es eine Kundenanforderung vorgibt oder wie es die Resourcen zulassen.

    Zu den Hilfsmitteln:
    Ablaufdiagramme sind besonders nützlich für Schrittketten, wie sie z:B. in Verpackungs- oder Handhabungsmaschinen vorkommen. Leider muß ich ein Beispiel erfinden. Nahe an der Silobefüllung ist eine Abfüllstation.
    1. Behälter fällt hinein.
    2. Waage erhält Signal für Leerbehälter wiegen (Tara)
    3. Waage meldet "Tara ermittelt"
    4. Füllschlauch wird über Behälter positioniert
    5. Befüllung
    6. Füllschlauch zurückziehen
    7. Behälterdeckel wird in Position gebracht
    8. Behälterdeckel wird niedergedrückt
    9. Stempel für Deckel niederdrücken wird angehoben
    10. Behälter wird rausgefördert
    Weiter bei 1

    0. Station ist in unbekanntem Zustand (z.B. nach Netz aus mit Behälter drin).

    Der Übergang zwischen zwei Zuständen wird durch eine Bedingung bewirkt (Transition).

    1->2 Endschalter "Behälter vorhanden" (EBV)
    2->3 Zeitglied (die Waage braucht eine Mindest-Signaldauer) (T1)
    3->4 Eingang "Tara gewogen" von der Waage kommt (ETG)
    4->5 Endschalter "Füllschlauch über Behälter" (EFB)
    5->6 Eingang "Gewicht erreicht" von der Waage kommt (EGE)
    6->7 Endschalter "Füllschlauch in Ruheposition" (EFR)
    7->8 Endschalter "Deckel über Behälter" (EDUB)
    8->9 Endschalter "Deckel niedergedrückt" (EDNG)
    9->10 Endschalter "Stempel oben" (ESTO)
    10->1 nicht Endschalter "Behälter vorhanden" (EBV) und Endschalter "Behälter erreicht Position hinter Füllstation" (EBHF)

    Jeder Zustand wird durch einen Merker repräsentiert.
    1=M0.1
    ...
    7=M0.7
    8=M1.0
    9=M1.1
    10=M1.2

    Nun die Schritte durch die Übergangsbedingungen weiterschalten:
    U M0.1 // wenn Schritt 1
    U EBV // und Endschalter "Behälter vorhanden"
    S M0.2 // nächsten Schritt setzen
    R M0.1 // aktuellen Schritt löschen

    U M0.2 // wenn Schritt 1
    U T1 // Zeit für Signal an Waage
    S M0.3 // nächsten Schritt setzen
    R M0.2 // aktuellen Schritt löschen

    Das kannst du für alle Schritte so machen.

    ... (mach mal!)

    Der Übergang von 10->1 hat allerdings eine Kombination als Bedingung:

    U M1.2 // wen Schritt 10
    UN EBV // und nicht Endschalter "Behälter vorhanden", also Behälter wech
    U EBHF // Behälter erreicht Position hinter Füllstation
    S M0.1 // nächsten Schritt setzen
    R M10.2 // aktuellen Schritt löschen

    Jetzt kommen die Aktoren:
    In Schritt 1 öffnet eine Klammer, die den Behälter fallen läßt:

    U M0.1
    = A_MAGNETVENTIL_BEHÄLTERKLAMMER

    In Schritt 2 wird der Waage signalisiert, daß sie Tara wiegen soll. Zudem wird ein Zeitglied laufen lassen:

    U M0.2
    = A_TARAWIEGEN

    U M0.2
    L KT 5.1 // 0.5 Sekunden Impulsdauer, damit die Waage es merkt
    SE T1 // Beendet diesen Schritt nach der Zeit

    In Schritt 3 wird gar kein Aktor angesteuert. Wir warten einfach auf die Waage.

    In Schritt 4 wird ein Magnetventil angesteuert, daß den Füllschlauch über den Behälter schiebt.

    Den Rest kannst du selbst ergänzen.

    Schritt 0 tritt auf, wenn die Steuerung eingeschaltet wird. Je nach Bauart der Maschine muß geprüft werden, ob alle Elemente in Grundstellung sind. Wenn nicht, ist Handeingriff nötig, z.B. um einen Halbvollen Behälter oder einen verklemmten Deckel zu entfernen. Nach Startsignal und wenn dabei alle Endschalter etc. in Grundstellung sind, geht es zu Schritt 1.

    Was ich mit "Standard-Methoden" meine:
    1. Stop oder Endlagenschalter drahtbruchsicher ausführen. Eingang liefert 1, solange Schalter nicht betätigt.
    2. Etliche Schritte enden dadurch, daß ein Aktor eingeschaltet und auf das Ende der Bewegung gewartet wird. Möglicherweise "klemmt" etwas und die Endlage wird nie erreicht. Zu Diagnosezwecken startet man eine Zeit, die größer ist als die Zeit, die die Bewegung normalerweise braucht. Läuft diese Zeit ab, klemmt wohl etwas. Aktor aus und Störmeldung.
    3. Oft kann man auch schon überwachen, ob sich der Aktor überhaupt aus der Ausgangsstellung (der vorigen Endlage) wegbewegt. Wenn nicht, kann man das Klemmen schon früher erkennen und Überlastung minimieren.
    4. Bei Endschaltern für entgegengesetzte Endlagen dürfen nie beide (oder mehrere) signalisieren, sonst ist wohl ein Endschalter defekt.
    5. Auch der Füllvorgang kann mit einer Zeit überwacht werden.
    6. Sinnvollerweise überprüft man die Bereitschaft von Aktoren (Motorschutz, Luftmangel, Bereitschaft von Umrichtern,...), die man benötigt, um einen Schritt zu beenden, bevor man diesen Schritt startet (Wenn man trotz Luftmangel das Magnetventil zur Befüllung öffnet, geht es vielleicht unter dem Druck von Schüttgut auf, aber nicht gegen den Druck wieder zu und der ganze Zeug "läuft aus").

    Natürlich kann man auch die Ampelschaltung in so eine Schrittkette fassen. Aber für eine Kreuzung mit zwei Strassen reicht eine Tabelle:

    Ost-West Nord-Süd
    rot grün
    rot-gelb gelb
    grün rot
    gelb rot-gelb

    Transitionsbedingung ist immer eine Zeit, eben die Dauer der Ampelphase.
    Das ist natürlich nur eine von vielen Möglichkeiten...

  5. Folgender Benutzer sagt Danke zu Zottel für den nützlichen Beitrag:

    Stoif (27.05.2009)

  6. #5
    Registriert seit
    26.05.2009
    Beiträge
    541
    Danke
    35
    Erhielt 78 Danke für 69 Beiträge

    Standard

    Respekt Zottel !!!

    Gut erklärt. Damit sollte er eigentlich klar kommen.
    Aber mal ganz ehrlich. Er macht ne Technikerprüfung auf S5?!?!

    Sag doch bitte mal deinem Lehrer, er solle mal einen Schritt in das "Jetzt" machen und nicht in Vergangenheit schwelgen....

    Gruß wolder

  7. #6
    Registriert seit
    30.01.2009
    Beiträge
    440
    Danke
    25
    Erhielt 48 Danke für 44 Beiträge

    Standard

    Zitat Zitat von wolder Beitrag anzeigen
    Respekt Zottel !!!

    Gut erklärt. Damit sollte er eigentlich klar kommen.
    Aber mal ganz ehrlich. Er macht ne Technikerprüfung auf S5?!?!

    Sag doch bitte mal deinem Lehrer, er solle mal einen Schritt in das "Jetzt" machen und nicht in Vergangenheit schwelgen....

    Gruß wolder
    Du nimmst mir das Wort aus dem Mund, genau das habe ich auch gedacht wo ich es gelesen habe

  8. #7
    Stoif ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.05.2009
    Ort
    Franken
    Beiträge
    4
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Super, Zottel, vielen Dank!
    Ich versuch das Ganze gleich mal, echt toll erklärt.
    @Wolder: Wenn man mit dem reden könnte, würd er mir vielleicht auch das Programmieren anständig erklären Aber nächstes Jahr gibts Step7 (wenn ich nicht mehr da bin) ..ach und.. ich bin ne sie :P

    So, hier mal mein Programm: (in hoffentlich ablauffähiger Form)

    OB1
    PB1 Behälter fällt auf Endschalter
    U M0.1 // Grundstellung (?)
    U E0.1 // Endschalter 1-Signal
    S M0.2 // Setze FF
    R M0.1 // Neues Teil fällt auf Endschalter und setzt M0.2 zurück

    PB2 Zeitglied SE
    U M0.2 // Start Zeit
    L KT 5.1 // Zeitwert 5 s
    SE T1

    PB3 Wiegen
    U M0.2 // Setzbedingung
    U T1 //und Zeit
    S M0.3 // set
    R M0.2 //reset

    PB4 Tara wiegen
    U M0.3 //Setzbedingung
    U E0.2 // Ausgang Waage hat 1-Signal
    S M0.4
    R M0.3

    PB5 Schlauch kommt
    U M4.0
    U E0.3 // Füllschlauch in Endlage
    S M0.5
    R M0.4

    PB6 füllen
    U M0.5
    U E0.4 // Sollgewicht erreicht => Ausgang 1-Signal
    S M0.6
    R M0.5

    PB7 Füllschlauch in Ruheposition
    U M0.6
    U E0.5 // Endschalter Füllschlauch Ruheposition
    S M0.7
    R M0.6

    PB8 Deckel positionieren
    U M0.7
    U E0.6 //Endschalter Deckel über Behälter
    S M1.1
    R M0.7

    PB9 Deckel schließen
    U M1.1
    U E0.7 // Untere Endlage Deckel verschließen
    S M1.2
    R M1.1

    PB10 Stempel in oberer Endlage
    U M1.2
    U E1.0 // Obere Endlage Stempel
    S M1.3
    R M1.2

    PB11 Setzen in Grundstellung nach Durchlauf (?)
    U M1.3 // Setzbedingung vorhergehen
    U E1.1 // Behälter auf hinterer Position
    UN M0.2 // kein neuer Behälter da
    S M0.1
    R M1.2

    :: DE (oder so?)

    E0.1 Endschalter Behälter ist da
    E0.2 Waage auf Tara gesetzt
    E0.3 Endlage unten Füllschlauch
    E0.4 Gewicht erreicht
    E0.5 Endlage Füllschlauch Ruhestellung
    E0.6 Endlage Deckel über Behälter
    E0.7 Endlage unten Stempel
    E1.1 Endlage oben Stempel
    E1.2 Behälter in hintere Position


    jetzt is nur die drahtbruchsicherheit weg..oder?
    Geändert von Stoif (27.05.2009 um 10:20 Uhr)
    Zitieren Zitieren =d  

  9. #8
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Zitat Zitat von Stoif Beitrag anzeigen
    So, hier mal mein Programm: (in hoffentlich ablauffähiger Form)
    in OB1 müßten die anderen Bausteine ja aufgerufen werden, damit sie überhaupt bearbeitet werden:
    SPA PB1
    SPA PB2
    SPA PB3
    ...
    BE

    Es ist keine so gute Idee, jeden Schritt in einen eigenen PB zu packen, wegen der Übersichtlichkeit. Bei großen Programmen reichen auch die 255 PBs, die die S5 erlaubt nicht mehr. Typisch wäre ein Netzwerk pro Schritt.

    Ein weiterer PB könnte z.B. benutzt werden, um die Ansteuerung der Aktoren zu bewirken.

    Das folgende kannst du in die Symboltabelle schreiben:
    E0.1 EBV Endschalter Behälter ist da
    E0.2 ETG Waage auf Tara gesetzt
    usw.

    Der Vorteil: Du kannst mit den Symbolischen Namen arbeiten und mußt dir nicht die Funktion aller Eingänge merken. Natürlich geht das auch für Merker und Ausgänge.
    Wenn du bei S5 den Batch Compiler oder bei Step7 Quellen benutzt, kannst du zum UMVERDRAHTEN einfach einen Eingang, Merker usw austauschen und alles neu übersetzen.

    Ich hatte im Beispiel auch noch keine Drahtbruchsicherheit angenommen. Ein Drahtbruchsicherer Schalter liefert halt so lange 1, wie er NICHT betätigt ist. Aus:

    PB5 Schlauch kommt
    U M4.0
    U E0.3 // Füllschlauch in Endlage
    S M0.5
    R M0.4

    wird also:
    U M4.0
    UN E0.3 // Füllschlauch in Endlage wenn Eingang 0
    S M0.5
    R M0.4

  10. Folgender Benutzer sagt Danke zu Zottel für den nützlichen Beitrag:

    Stoif (27.05.2009)

  11. #9
    Stoif ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.05.2009
    Ort
    Franken
    Beiträge
    4
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Daumen hoch


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    [QUOTE=Zottel;200234]in OB1 müßten die anderen Bausteine ja aufgerufen werden, damit sie überhaupt bearbeitet werden:
    SPA PB1
    SPA PB2
    SPA PB3
    ...
    BE

    Ach du Schande, jetzt wo du es sagst...das hätten Mal NW´s werden sollen glaub ich :P

    Ich hab heut mal alle Aufgaben gemacht, die wir so in der letzten Zeit bekommen haben und die Erstellung dauert keine 15 Minuten pro Aufgabe mit deinem System!
    Morgen stellt sich dann hoffentlich raus, ob alles stimmt was ich da gebastelt hab. (die Zuversicht ist jedenfalls zurück!)

    Arbeitszeitverkürzung -150%
    Verständnis +99% Level up auf 100%

    Neues aus der SPS-Hölle dann morgen nach der Korrektur, ob die Werte einzuhalten sind :P
    DANKE ZOTTEL!

Ähnliche Themen

  1. Zeitlicher Ablauf in ST
    Von Basstarono im Forum CODESYS und IEC61131
    Antworten: 23
    Letzter Beitrag: 19.08.2008, 15:23
  2. Programmaufbau C7-633 bzw. AG-Abzug
    Von digga im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 10.04.2008, 19:00
  3. Programmaufbau
    Von ralle81 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 13.02.2008, 23:58
  4. Ablauf Regallager
    Von sr-83 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 09.10.2007, 10:03
  5. Antworten: 5
    Letzter Beitrag: 02.03.2005, 11:02

Stichworte

Lesezeichen

Berechtigungen

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