[S5] Zykluszeit messen bei einer S5-135U

euro

Level-1
Beiträge
43
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Ich muss nächste Woche bei einer S5 135U die Zykluszeit messen um den Einfluss einer Programmänderung auf die Zykluszeit zu bestimmen.

Bisher hab ich nur was zur 115U, über Forum-Suche oder Google, gefunden wie ich die Messung aus dem Programm heraus durchführen kann.
Deshalb meine Frage:
Geht es bei der 135U ebenfalls über die Systemdatenwörter BS 121 bis 123, wenn ich die Abfrage aus einem FB heraus mache?
Gruß
euro
 
Hi Euro,​

bei der S5 928B gibt es dafür den OB152​
Ich habe das allerdings noch nie gemacht.

AKTZYK : bereits abgelaufene Zeit des aktuellen Zyklus Festpunktzahl Millisekunden 0 bis 13 000
LASTZYK : Dauer des letzten abgelaufenen Zyklus Festpunktzahl Millisekunden 0 bis 13 000
MINZYK : Dauer des kürzesten Zyklus seit der letzten Initialisierung der Zyklusstatistik Festpunktzahl
MAXZYK : Dauer des längsten Zyklus seit der letzten Initialisierung der Zyklusstatistik : Festpunktzahl Millisekunden 0 bis 13 000
MITTELWERT : Mittelwert der Zykluszeiten der zuletzt abgelaufenen Zyklen


Bei Aufruf des OB 152 können Sie über eine Funktions-Nr. folgende Einzelfunktionen aktivieren:

0 Zyklusstatistik ausschalten
1 AKTZYK / LASTZYK lesen
2 MINZYK / MAXZYK lesen
3 MITTELWERT / ZYKLUS-ZÄHLER
lesen
8 Zyklusstatistik initialisieren
15 Zyklusstatistik einschalten

 
Zuviel Werbung?
-> Hier kostenlos registrieren
Man kann das auch per Programm tun, ohne spezifische Kenntnisse der Systemdaten einer SPS zu haben.
Code:
      UN    M      7.0
      L     S5T#1S
      SE    T    254
      U     T    254
      =     M      7.0
      L     MW   500
      L     1
      +I    
      T     MW   500
      U     M      7.0
      SPBN  m002
      L     MW   500
      T     MW   502
      L     0
      T     MW   500
m002: NOP   0
In dem MW 502 werden die Anzahl der registrierten Zyklusdurchläufe je Sekunde gezeigt.
Das ist zwar nicht Echtzeit, aber zur Bewertung einer Zykluszeiterhöhung sicherlich mehr als ausreichend.
 
Hallo

UN M 7.0
L S5T#1S <----- l kt 100.0
SE T 254
U T 254
= M 7.0
L MW 500 <----- in S5 nur bis MW254
L 1
+I
T MW 500
U M 7.0
SPBN m002 <----- SPBN ? Befehl nur in S7 bekannt
L MW 500
T MW 502
L 0
T MW 500
m002: NOP 0
 
Entschuldigung.
Das Beispiel war als Muster für die Vorgehensweise gedacht.
So sieht es als Beispiel in S5 aus :
Code:
      UN    M      7.0
      L KT100.0
      SE    T    254
      U     T    254
      =     M      7.0
      L     MW   200
      L     KF +1
      +F   
      T     MW   200
      UN     M      7.0
      SPB=m002
      L     MW   200
      T     MW   202
      L     0
      T     MW   200
m002: NOP   0

Das geht aber nur in einem FB, wegen des Sprunges.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke erstmal für alle Antworten!

Die Lösung mit dem OB 152 gefällt mir am besten, da der andere Lösungsvorschlag doch ein ganz schöner work-around ist. Mittlerweile hab ich auch was zum OB 152 in der Programmieranleitung zur CPU 928B gefunden.

Jetzt hoffe ich nur, dass das auch noch in den Programmspeicher passt. Dieser ist leider schon ziemlich ausgereizt.
Wenn es nicht passt werd ich mal mit der Lösung von blasterbock probieren. Sollte dies dann auch scheitern bleibt wohl nur noch die Möglichkeit die Zeiten mit einem Oszi zu messen.


Gruß
euro
 
Messung Zykluszeit

Hallo euro,
mit nachfolgendem "Progrämmchen", eingefügt in den OB1, habe ich im Unterricht gern die Zykluszeit ermitteln lassen:
Code:
L MW100 / beliebiges, aber kein Schmiermerkerwort nehmen
L KH1
+ F
T MW100
Zur Ermittlung der Zykluszeit wird das MW100 in der Bit-Ansicht ausgewertet.
Zum Prinzip:
- Bit 0 wechselt in jedem Zyklus seinen Zustand
- Bit 1 wechselt nach jeweils 2 Zyklen seinen Zustand
- Bit 2 wechselt nach jeweils 4 Zyklen seinen Zustand usw. bis
- Bit 15 wechselt nach jedem 32768. Zyklus seinen Zustand.
Man nehme eine Uhr mit Sekundenzeiger und messe die 1-Zeit eines beliebigen Bit.
Angenommen, die 1-Zeit des Bit 14 dauert 12s, dann berechnet sich die Zykluszeit zu:
t = 12000ms/2hoch14 = 12000ms/16384 = 0,73ms/Zyklus --> fertig!
Vorteil: Diese Methode lässt sich bei allen SPS anwenden!
MfG
eNDe
 
Schöne kleiner Trick. Die vier Zeilen Code passen auch auf jedem Fall noch in den Speicher. Werd ich mir definitiv im Hinterkopf behlalten.

Gruß
euro
 
Zurück
Oben