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

Ergebnis 1 bis 8 von 8

Thema: For Schleif Strukturierter Text

  1. #1
    Registriert seit
    01.05.2007
    Beiträge
    100
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    arbeite mich gerade in ST ein und frage mich warum die folgende Schleife bis 101 zählt und dann der Anweisungsteil nie gestoppt wird. Der Zähler läuft dauernd hoch und stoppt nie.

    FOR i:= 1 TO 100 BY 2 DO
    achsposition:=achsposition+1;

    END_FOR

    wie kann ich einen anweisungsteil exakt 100 mal durchführen und dann die Schleife stoppen bis manuell der Wert i auf 0 gesetzt wird.

    Danke für eure Hilfe
    Zitieren Zitieren For Schleif Strukturierter Text  

  2. #2
    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 bluebird277 Beitrag anzeigen
    und frage mich warum die folgende Schleife bis 101 zählt
    danke, you made my day!

    also ... erster durchlauf i = 1 ... zweiter durchlauf i = 3 ... dritter durchlauf i = 5 ... neunundvierzigster durchlauf i = 99 ... fuffzigster durchlauf i = ??? richtig, 101


    um auf hundert zu kommen empfehle ich die schrittweite 1 und einen geraden startwert, sowas abgefahrenes wie 0 zum beispiel

    Code:
    *
    FOR i := 0 TO 99 BY 1 DO
    [...]
    END_FOR
    Geändert von vierlagig (28.01.2010 um 16:02 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    bluebird277 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.05.2007
    Beiträge
    100
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard

    hallo vierlagig,

    danke für deine schnelle antwort habe es jetzt wie von dir empfohlen gemacht


    FOR i:= 0 TO 99 BY 1 DO
    achsposition:=achsposition+1;
    END_FOR

    er zählt aber trotzdem immer weiter. Kann ich den nicht sagen dass er innerhalb einer For Schleife ein Ventil ansteuern soll wie z.B

    If start then

    FOR i:= 0 TO 99 BY 1 DO
    If Grundstellung then
    Ventil:=True;
    elsif Arbeitsstellung then
    Ventil:=False;
    end_if

    END_FOR

    end_if

  4. #4
    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

    ja, natürlich, er zählt jetzt in jedem zyklus 100 weiter, nett, ne?

    die frage ist, was willst du tun? so richtig verstehe ich deinen ansatz nämlich nicht ...

    aber so zu spielen: bau mal ne if achsenposition < 1000 for die schleife...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    bluebird277 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.05.2007
    Beiträge
    100
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard

    ok was will ich tun gute Frage Ich versuche es mal zu erklären
    Habe eine Case Schrittkette in der Schrittkette wird eine Feder vereinzelt.

    Für einen kompletten werkstückträger brauche ich 6 Federn. Aber jede Feder an einer anderen NC Position. Sprich Schrittkette Start Position anfahren Feder vereinzeln. Beim nächsten Start neue Achsposition anfahren Feder vereinzeln usw.
    Die Positionen habe ich in einem Array von 0-14 Abgespeichert. Da der Ablauf in der Schrittkette aber immer gleich ist ändert sich nur die Achsposition.

    Somit möchte ich also bei jedem Schrittketten Start die nächste Achsposition im Array anfahren.

    Ich möchte also das mit eine For Schleife machen.

    Sonst müsste ich so ne Lange Schrittkette schreiben und das bei Insgesamt bis zu 15 verschiedenen werkstücken alle mi tunterschiedlichen Achspositionen.

    Hoffe es war verständlich für dich

  6. #6
    Registriert seit
    19.11.2006
    Beiträge
    1.346
    Danke
    6
    Erhielt 254 Danke für 231 Beiträge

    Standard

    Zitat Zitat von bluebird277 Beitrag anzeigen
    Hallo zusammen,
    arbeite mich gerade in ST ein und frage mich warum die folgende Schleife bis 101 zählt und dann der Anweisungsteil nie gestoppt wird. Der Zähler läuft dauernd hoch und stoppt nie.

    FOR i:= 1 TO 100 BY 2 DO
    achsposition:=achsposition+1;

    END_FOR

    wie kann ich einen anweisungsteil exakt 100 mal durchführen und dann die Schleife stoppen bis manuell der Wert i auf 0 gesetzt wird.

    Danke für eure Hilfe
    Abgesehen vom kleinen Logikfehler, den vierlagig schon korrigiert hat, macht die Anweidung mit FOR hier keinen Sinn. Die FOR-Schleife wird jeden Zyklus ausgeführt und hat zru Folge, dass jeden Zyklus der Wert für "achsposition" um 100 inkrementiert. Du hättest genauso gut schreiben können
    Code:
    achsposition:=achsposition+100;
    Die SPS arbeitet doch schon zyklisch. Innerhalb der FOR-Schleife kannst du eh keinen Zustand einer Boolschen Eingangsvariable abfragen, da dessen Zustand sich während der Schleife nicht ändert.
    Eigentlich nutzt man FORs nur um Arrays o.ä. in einem SPS-Zyklus durchzurattern.

  7. #7
    Registriert seit
    19.11.2006
    Beiträge
    1.346
    Danke
    6
    Erhielt 254 Danke für 231 Beiträge

    Standard

    Zitat Zitat von bluebird277 Beitrag anzeigen
    Die Positionen habe ich in einem Array von 0-14 Abgespeichert. Da der Ablauf in der Schrittkette aber immer gleich ist ändert sich nur die Achsposition.

    Somit möchte ich also bei jedem Schrittketten Start die nächste Achsposition im Array anfahren.
    Einfach am Ende der Schrittkette:
    Code:
    achsposition := achsposition+1;
    ggf. nach dem letzten Schritt zurücksetzen.

    Zitat Zitat von bluebird277 Beitrag anzeigen
    Ich möchte also das mit eine For Schleife machen.
    Macht hierfür keinen Sinn

  8. #8
    bluebird277 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.05.2007
    Beiträge
    100
    Danke
    6
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    vielen dank für eure Hilfe hat mir sehr geholfen

Ähnliche Themen

  1. BR-Studio und Strukturierter Text - Problem
    Von Kirpitsch im Forum Programmierstrategien
    Antworten: 13
    Letzter Beitrag: 29.06.2011, 20:50
  2. Aufgaben Strukturierter Text
    Von Jumpinjack im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 27.01.2011, 23:27
  3. Strukturierter Text ????HÄ?????
    Von Pinky im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 22.04.2010, 14:26
  4. Mitsubishi FX3U und Strukturierter Text
    Von Jorge im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 10.02.2010, 20:38
  5. Strukturierter Text
    Von bluebird277 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 21.01.2010, 15:54

Lesezeichen

Berechtigungen

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