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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Schleife in S5 programmieren

  1. #1
    Registriert seit
    23.10.2008
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!

    Ich habe eine Frage zu einem S5 Programm. Ich möchte in einem FB alle 100ms einen Wert in einen DB abspeichern. Dafür habe ich mir mit Hilfe eines Sprunges eine Schleife gebastelt, die so funktionieren soll wie der LOOP Befehl in der S7.
    Bei jedem Durchlauf der Schleife wird die Adresse im DB erhöht, so das ich später auf alle Werte zugreifen kann, und den Mittelwert daraus berechnen kann.
    Nun meine eigentliche Frage: Wird das so funktionieren? Die Maschine ist in Betrieb und wird für die Umprogrammierung nur kurz gestopppt. Möchte also nicht für lange Stillstand verantwortlich sein.
    Die nächste Frage ist, wenn ich die Schleife jetzt z.B. 30 mal durchlaufen lasse, sind das 3 Sekunden. Wird der gesamt Rest des Programmes nicht mehr abgearbeitet??? Wie kann ich das Problem anders lösen?

    Vielen Dank schonmal für eure Hilfe

    housi
    staatl. gepr. Techniker Prozessautomatisierung
    Zitieren Zitieren Schleife in S5 programmieren  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.264
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Das wird so nicht gehen. Die SPS geht in Stop, wegen Zykluszeitüberschreitung, alles steht! Schleifen sind mit Vorsicht zu genießen.
    Du könntest z.Bsp. einen Timer nehmen, ihn auf 100ms stellen und damit eine Flanke erzeugen, welche dann für den einmaligen Durchlauf deines selbstgeschriebenen Speicherprogramms sorgt.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    housi83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.10.2008
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo und Danke für die schnelle Antwort.

    Dann habe ich nur das Problem, wie ich die Adresse im DB festlege. Diese soll sich ja nach jedem speichern erhöhen. Oder hab ich da jetzt irgendwie ein Brett vorm Kopf?

    Noch eine Frage: Wenn die CPU direkt in Stop gehen würde, wofür gibt es dann z.B. in der S7 den LOOP Befehl. Da müsste die S7 doch dann auch in Stop gehen. Oder wird dieser Befehl doch anders verarbeitet?

    Dankeschön
    staatl. gepr. Techniker Prozessautomatisierung

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.264
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Wie lang ist denn die Zykluszeit der SPS im Moment, wie genau müssen die 100ms sein?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    housi83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.10.2008
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also ich denke so +-10ms wären schon akzeptabel.

    Die aktuelle Zykluszeit liegt laut Aussage meines Kolegen bei 8ms.
    staatl. gepr. Techniker Prozessautomatisierung

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.264
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von housi83 Beitrag anzeigen
    Hallo und Danke für die schnelle Antwort.

    Dann habe ich nur das Problem, wie ich die Adresse im DB festlege. Diese soll sich ja nach jedem speichern erhöhen. Oder hab ich da jetzt irgendwie ein Brett vorm Kopf?

    Noch eine Frage: Wenn die CPU direkt in Stop gehen würde, wofür gibt es dann z.B. in der S7 den LOOP Befehl. Da müsste die S7 doch dann auch in Stop gehen. Oder wird dieser Befehl doch anders verarbeitet?

    Dankeschön
    Man kann schon Loop anwenden, aber man muß das mit Augenmaß tun.
    3 Sekunden sind tödlich für eine SPS, stell dir vor da fährt ein Motor auf seinen Endschalter und die SPS hängt gerade in einer Loop.

    S5, langer her ..., da gibt es den Bearbeitebefehl. Das ist eigenlich sogar einfacher als bei der S7.

    ..

    Ah, gefunden, guckst du mal hier: http://www.sps-forum.de/showthread.p...earbeitebefehl

    Besser gleich das: http://www.sps-forum.de/showpost.php?p=6199&postcount=2
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    housi83 (23.10.2008)

  8. #7
    housi83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.10.2008
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also LOOP nur wenn die Zeit wesentlich kürzer ist, und wo die Zykluszeit nicht so kritisch ist.

    Alles klar, dann werde ich mal versuchen über einen Timer alle 100ms in meinen Umrechnungs und Speicherbaustein zu springen, und dann dort jedesmal wie im Beispiel gezeigt die Adresse erhöhen.

    Vielen Dank!
    staatl. gepr. Techniker Prozessautomatisierung

  9. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.264
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von housi83 Beitrag anzeigen
    Also LOOP nur wenn die Zeit wesentlich kürzer ist, und wo die Zykluszeit nicht so kritisch ist.

    Alles klar, dann werde ich mal versuchen über einen Timer alle 100ms in meinen Umrechnungs und Speicherbaustein zu springen, und dann dort jedesmal wie im Beispiel gezeigt die Adresse erhöhen.

    Vielen Dank!
    Das wäre, meiner Meinung nach, der richtige Weg!
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  10. #9
    housi83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.10.2008
    Beiträge
    7
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich werde es so ausprobieren, und mich dann nochmal melden ob es geklappt hat.

    Danke nochmal und noch einen schönen Abend!
    staatl. gepr. Techniker Prozessautomatisierung

  11. #10
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Zitat Zitat von housi83
    Ich möchte in einem FB alle 100ms einen Wert in einen DB abspeichern. Dafür habe ich mir mit Hilfe eines Sprunges eine Schleife gebastelt, die so funktionieren soll wie der LOOP Befehl in der S7.
    Ein LOOP über 3 sec. ist hier der der vollkommen falsche Ansatz. Auch die gute, alte S5 hat Weckalarme im 100ms Raster, man muss halt nur den Zeiger auf den zuletzt beschriebenen Datenbereich retten ...

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren So ein Loop gehört nicht in eine SPS ...  

Ähnliche Themen

  1. While Schleife in ST
    Von Snooky im Forum CODESYS und IEC61131
    Antworten: 6
    Letzter Beitrag: 30.11.2010, 21:50
  2. Schleife programmieren
    Von googy im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 20.11.2008, 16:01
  3. Schleife Programmieren mit Simatic????
    Von oli--pro im Forum Simatic
    Antworten: 26
    Letzter Beitrag: 29.09.2008, 14:45
  4. For Schleife in VB 6
    Von godi im Forum Hochsprachen - OPC
    Antworten: 8
    Letzter Beitrag: 14.06.2007, 10:03
  5. Schleife Programmieren
    Von Klaudio im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 11.08.2005, 20:20

Stichworte

Lesezeichen

Berechtigungen

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