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

Ergebnis 1 bis 6 von 6

Thema: Schleife Programmieren

  1. #1
    Klaudio Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    da ich erst seit kurzem mit SPS programmiere bin ich leider noch nicht so fit.

    Folgendes Problem versuche ich schon seit Tagen zu lösen:

    Ich habe in mein SPS Programm einen Zähler eingebaut. Dieser zählt hoch bis zu einer bestimmten Aktion, z.B. von 1 bis 10 (kann aber auch von 1 bis 5 sein).

    Nun möchte ich, dass wenn ein Eingang (z.B. ein Taster E 5.0) ein Signal gibt, ein Zylinder A 4.0 so oft ein und ausfährt wie der Zählstand ist. Dabei soll der Zylinder ausfahren, 500ms verweilen und wieder einfahren.
    Wenn der Zähler auf 5 ist, und der Taster gedrückt wird, dann soll der Zylinder 5 mal ein- und ausfahren.

    Also z.B.:

    Zähler Z1

    Eingang E 5.0

    Ausgang A 4.0

    Aus der Hilfe weiss ich, dass ich den Zähler rückwärts zählen lassen kann, mit Abbruchbedingung.
    Weiter weiss ich, dass ich eine Einschaltverzögerung erstellen kann, z.B. für das Einfahren des Zylinders.
    Aber leider weiss ich nicht, wie ich all das unter einen Hut bringe.

    Ich hoffe, dass ich mich halbwegs verständlich ausgedrückt habe.
    Kann ich mein Problem in einer Schleife darstellen? Wie würde so eine Schleife aussehen. All meine Versuche sind bisher kläglich gescheitert.
    Könnte mir jemand sagen, wie so ein FB aussehen könnte.
    Ich bin für jede Hilfe dankbar.

    Gruß

    Klaudio
    Zitieren Zitieren Gelöst: Schleife Programmieren  

  2. "weiß nicht, ob es funktioniert, habe leider gerade nichts zum testen und ist wahrscheinlich viel zu aufwendig, aber so könnte es funktionieren.

    U E 5.0 //Start Signal
    S M 1.0 //HIME

    UN M 1.0 //HIME
    SPB M1 //SPRUNG ans Ende (SPB ==> Sprung bedingt (VKE =1 --> Sprung nach Marke 1)

    U T 2 //ZYLINDEREINFAHRZEIT
    = M 1.2 //HIME TIMER (weil von Timern keine Flanke ausgewertet werden kann)


    L Z 1 //Zähler aus dem anderen FC
    L 0 // Wert = 0
    ==I //VERGELEICHER Integerzahl
    R M 1.0 //ABSCHALTUNG

    SPB M1 //SPRUNG ans ENDE (SPB ==> Sprung bedingt (VKE =1 --> Sprung nach Marke 1)

    FN M 1.2 //negative Flanke vom HIME TIMER
    O E 5.0 // 1. Impuls durch Taste, da keine negative Flanke vom Timer
    L S5T#600MS //500ms Verweildauer + 10ms Fahrweg Zylinder
    SI T 1 // Setze Impuls
    U T 1 //Timer 1 Ausfahren + verweilen
    = A 4.0 //Zylinder

    FN A 4.0 //Negative Flanke wenn Zylinder zurückfährt startet Timer 2
    L S5T#100MS //Rückfahrt des Zylinder
    SA T 2 //Timer 2 Rückfahrt

    U T 2 //Einschaltimpuls des Timers
    ZR Z 1 //zählt den Zähler um eins zurück

    M1: NOP 0 //NOP 0 = No Operation keine Funktion"


  3. #2
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 24 Danke für 21 Beiträge

    Standard

    Eigentlich brauchst Du gar keine Schleife zu programmieren, mindestens nicht in dem Sinn was man aus der PC-Programmierung kennt. Die Schleife kriegst Du, so zu sagen, von der Ablaufzyklus der SPS geliefert.

    Du brauchst Dich nur darauf zu konzentrieren, dass Du Dein Auslösesignal erkennst (Flankenerkennung für E1.0). Dann fährst Du Dein Zylinder aus, wartest Deine 500ms ab und fährst zurück.

    Dann gibt es die Frage, wie erkennst Du, dass der Zylinder wieder zurück gefahren ist? Gibt es Endschalter, oder musst Du auch hierfür ein Timer setzen. Egal was, aber hier brauchst Du irgendwas womit Du erkennen kannst, dass der Zylinder zurück ist, womit Du Dein Zähler ein runterzählen kannst und wenn <>0 der Zylinder wieder losschicken kannst.

  4. #3
    Klaudio Gast

    Standard

    Hallo,

    danke für Deine Antwort.

    Leider habe ich an dem Zylinder keinen Endlagenschalter. Ich müsste also auch wieder mit einer Ein- bzw. Ausschaltverzögerung arbeiten.

    Kannst Du mir vielleicht ein Beispiel in AWL geben, wie so etwas aussehen könnte.


    Gruß

    Klaudio

  5. #4
    KTKOEL Gast

    Standard

    Womit stellst Du eigentlich Deinen Zähler ? mit einem weiteren Signal ?


  6. #5
    Anonymous Gast

    Standard

    Hallo zusammen,

    Zur Frage mit dem Zähler.
    Ich lasse den Zähler in einem FC hochzählen, dafür wird ein anderes Signal benutzt.

    In der neuen FC möchte ich nun, dass nach dem Drücken einer bestimmten Taste der Zähler rückwärts zählt, und dabei eben einen Zylinder ein- und ausfährt.

    Leider weiss ich nicht, wie die passenden AWL-Anwiesungen dazu aussehen.

    Danke im Vorraus

    Gruß

    Klaudio

  7. #6
    KTKOEL Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    weiß nicht, ob es funktioniert, habe leider gerade nichts zum testen und ist wahrscheinlich viel zu aufwendig, aber so könnte es funktionieren.

    U E 5.0 //Start Signal
    S M 1.0 //HIME

    UN M 1.0 //HIME
    SPB M1 //SPRUNG ans Ende (SPB ==> Sprung bedingt (VKE =1 --> Sprung nach Marke 1)

    U T 2 //ZYLINDEREINFAHRZEIT
    = M 1.2 //HIME TIMER (weil von Timern keine Flanke ausgewertet werden kann)


    L Z 1 //Zähler aus dem anderen FC
    L 0 // Wert = 0
    ==I //VERGELEICHER Integerzahl
    R M 1.0 //ABSCHALTUNG

    SPB M1 //SPRUNG ans ENDE (SPB ==> Sprung bedingt (VKE =1 --> Sprung nach Marke 1)

    FN M 1.2 //negative Flanke vom HIME TIMER
    O E 5.0 // 1. Impuls durch Taste, da keine negative Flanke vom Timer
    L S5T#600MS //500ms Verweildauer + 10ms Fahrweg Zylinder
    SI T 1 // Setze Impuls
    U T 1 //Timer 1 Ausfahren + verweilen
    = A 4.0 //Zylinder

    FN A 4.0 //Negative Flanke wenn Zylinder zurückfährt startet Timer 2
    L S5T#100MS //Rückfahrt des Zylinder
    SA T 2 //Timer 2 Rückfahrt

    U T 2 //Einschaltimpuls des Timers
    ZR Z 1 //zählt den Zähler um eins zurück

    M1: NOP 0 //NOP 0 = No Operation keine Funktion

Ähnliche Themen

  1. While Schleife in ST
    Von Snooky im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 30.11.2010, 21:50
  2. for-Schleife
    Von fai004 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 26.04.2009, 19:14
  3. Schleife programmieren
    Von googy im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 20.11.2008, 16:01
  4. Schleife in S5 programmieren
    Von housi83 im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 26.10.2008, 22:26
  5. Schleife Programmieren mit Simatic????
    Von oli--pro im Forum Simatic
    Antworten: 26
    Letzter Beitrag: 29.09.2008, 14:45

Lesezeichen

Berechtigungen

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