S5 95U Zykluszeit auslesen

Lumpi

Level-1
Beiträge
104
Reaktionspunkte
11
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Bin neu hier. Also mal ne kurze Vorstellung. :cool: ;)
Bin zur 23 Jahre, gelernter Elektroinstallateur und bilbde mich zur Zeit ein bischen weiter (Techniker)
Im diesem Rahmen sitzen wir zur Zeit an unserer Projektarbeit. Hier wäre es von großem nutzen wenn wir die Zykluszeit bei einer vorhandenen Siemens S5 95U auslesen könnten. Das Handbuch gab leider nicht richtig was her.
Vieleicht wisst ihr ja rat?
Gibts da einen speziellen Prorammbaustein oder Zusatzsoftware worüber man da ran kommt?

Vielen Dank schon mal im Vorraus

Gruß
Sven
 
Im diesem Rahmen sitzen wir zur Zeit an unserer Projektarbeit. Hier wäre es von großem nutzen wenn wir die Zykluszeit bei einer vorhandenen Siemens S5 95U auslesen könnten. Das Handbuch gab leider nicht richtig was her.
Vieleicht wisst ihr ja rat?
Gibts da einen speziellen Prorammbaustein oder Zusatzsoftware worüber man da ran kommt?

Geht so ohne weiteres nicht.

Du kannst aber einen Timer zyklisch antriggern und die abgelaufene Zeit ablesen, allerding nur mit einer Auflösung schlechter 10ms.

Erst bei den großeren CPU kann man z.B. aus Systemdaten die Zykluszeit auslesen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zwei Vorschläge:
Wenn du die Zykluszeit einfach nur selbst wissen willst, nimm einen unbenutzten Ausgang (nicht Relaisausgang!),
füge in dein Programm
UN A x.Y
= A x.y
ein und miß die Zeiten, die der Ausgang high oder low ist, mit dem Oszi.

Wenn du die Zeit im Programm brauchst: Die 95U hat zwei schnelle ( 5kHz?) Zähler. Die Eingänge sind auf der anderen 15-poligen Buchse, nicht der für das PG. Die Werte liest du aus EW36, EW38 wenn ich mich nicht irre, sonst Handbuch ansehen. Wenn du da einen externen Takt von 1kHz anlegst, kannst du in jedem Zyklus den Zähler auslesen und die Differenz zum vorigen Zyklus ist die Zykluszeit in ms.
 
Gab's da nicht ein Systemdatenwort mit der Zykluszeit, oder hatten das nur die SPS ab 115U?
 
Gab's da nicht ein Systemdatenwort mit der Zykluszeit, oder hatten das nur die SPS ab 115U?

Du hast es quasi erfasst ... zumindest laut Handbuch gibts die aktuelle Zykluszeit in den Systemdaten (und weiter damit in Zusammenhang stehende Zeitwerte) erst ab den 115er CPUs (941 - 944):
  • BS 121 - aktuelle Zykluszeit
  • BS 122 - maximale Zykluszeit
  • BS 123 - minimale Zykluszeit
 
Hmmm, danke schon m,al für die Antworten. Ich hatte sowas in die Richtung befürhchtet.

Gibts denn irgendwo eine offizielle Angabe um wie viel schneller eine S7 (z.B. die 313) gegenüber der 95U ist?

Man kann es denke ich ja anhand der im Datenblatt der beiden Steuerungen angegebenen Zeit pro Binäroperation abschätzen. Da ist die S7 20mal schneller als die S5 95U.
 
Gibts denn irgendwo eine offizielle Angabe um wie viel schneller eine S7 (z.B. die 313) gegenüber der 95U ist?

Man kann es denke ich ja anhand der im Datenblatt der beiden Steuerungen angegebenen Zeit pro Binäroperation abschätzen. Da ist die S7 20mal schneller als die S5 95U.
20x scheint mir ein bischen hoch.
So direkt kann man die S5 mit der S7 nicht vergleichen, da die S7 Befehle kennt, die bei kleinen S5 - Steuerungen nur mittels Funktionsbausteinen erschlagen werden konnten (z.B. Gleitpunktarithmetik)

Warum willst du das eigendlich so genau wissen ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sollte halt eine genaue Gegenüberstellung der S5 gegen die S7 werden.
Auserdem hatten wir vor im Vorfeld abzuschätzen was auf der einen speziellen Produktionslinie noch möglicht ist in Richtung Produktionssteigerung.
Es ist geplant die Taktzahl auf der Linie zur erhöhen, nur muss geprüft werden ob das mit der S5 möglich ist.
Ausserdem hätten wir gerne gewusst wie viel Zeit man allein durch den Umbau auf s7 rausholen kann (Zykluszeitreduzierung).

Mal so ne Überlegung: Wenn ich jetzt ganz am Anfang einen Merker setzte der einen Ausgang ansteuert und einen weiteren Merker der dann ganz am Schluss des Programms einen weiteren Ausgang betätigt, dann könnte ich ja die Zeit messen die zwischen den beiden Schaltvorgängen vergeht. Oszilloskop vieleicht oder so.
Dann hab ich ja dazwischen das gesamte Programm und somit auch den Hauptteil der Durchlaufzeit.

Oder hab ich da jetzt nen Denkfehler??:confused:
 
Das geht auch mit dem von Zottel vorgeschlagenen Weg, sogar einfacher.

UN Ausgang
= Ausgang

Dies hat zur Folge das der Entsprechende Ausgang jeweils einen Zyklus High und einen Zyklus Low ist.
Damit solltest du dann wie (ebenfalls) Zottel schreibt mit einen Oszi die Zykluszeit relativ genau feststellen können.

Wie genau das ist hängt aber auch sehr vom Programm ab, welches in der SPS abgearbeitet wird.
Es gibt zum Beispiel Programmierer die viel mit bedingten Bausteinaufrufen arbeiten,
da ist es natürlich schwer zu sagen inwieweit du auf diese Art eine reproduzierbare Zykluszeit rauskriegst.

Welche Art Anlage willst du eigentlich optimieren?
Weil pauschal würde ich ja sagen das eine Taktzeit nur sehr sehr untergeordnet von der
Zykluszeit der SPS abhängt.

Mfg
Manuel
 
@MSB

Ob man richtig was rausholen kann, kommt auf die Art der Programmierung an. Wenn viele SPS-Zyklen vergehen, bis eine Aktion dann tatsächlich stattfindet ist da richtig was zu machen. Z.Bsp. wenn Servos erst 10 Parameter übergeben werden, ehe dann der Start erfolgt oder auch wenn die Zykluszeit start reduziert werden kann. Wir haben mal eine 315 durch eine VIPA Speed7 ersetzt, das hat 25% ausgemacht, ist aber eher selten, 10% sind schon gut.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mal so ne Überlegung: Wenn ich jetzt ganz am Anfang einen Merker setzte der einen Ausgang ansteuert und einen weiteren Merker der dann ganz am Schluss des Programms einen weiteren Ausgang betätigt, dann könnte ich ja die Zeit messen die zwischen den beiden Schaltvorgängen vergeht. Oszilloskop vieleicht oder so.
Dann hab ich ja dazwischen das gesamte Programm und somit auch den Hauptteil der Durchlaufzeit.

Oder hab ich da jetzt nen Denkfehler??:confused:

Ich kenne die S5 kaum, vermute aber mal daß Du falsch liegst, warscheinlich werden die Ausgänge (ähnlich wie bei der S7) erst nach Ablauf des kompletten Programmzyklus aktualisiert, d.h. Deine beiden Ausgänge kommen exakt zur gleichen Zeit an der Ausgangskarte an.
 
Laß den Ausgang blinken einen Zyklus ein, den 2. Zyklus aus, dann wieder ein...
Dann kannst du das genauso messen, mußt allerdings rechnen !!!

gemessener Wert / 2 = Zyklus :ROFLMAO:
 
@Ralle
In solchen Fällen würde ich dir sogar recht geben.

Liegt vielleicht auch an meinem üblichen Tätigkeitsfeld,
da wird die Taktzeit meistens "mechanisch" vorgegeben.
Da ist zwar dann gewöhnlich Spielraum für eine Optimierung des (Softwarmäßigen) Ablaufs,
ob die SPS für die Abarbeitung da nun ein paar ms mehr oder weniger braucht,
spielt da eigentlich keine Rolle.

Aus diesem Grund ja auch die Frage nach der Art der Anlage.

Grundsätzlich finde ich es aber seitens Siemens auch nicht gut, das die Kommunikation DEN Einfluss auf die Zykluszeit hat, den sie hat.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich weiss ja nicht wie genau das sein soll.
hier mal was mit einer zeit

Code:
FB 199                               E:EIGENE
Netzwerk 1
Name :ZYKLZEIT
Bez  :ZEIT      E/A/D/B/T/Z: T
Bez  :HIMW      E/A/D/B/T/Z: E  BI/BY/W/D: W
Bez  :IST       E/A/D/B/T/Z: A  BI/BY/W/D: BY
Bez  :MAX       E/A/D/B/T/Z: A  BI/BY/W/D: BY
Bez  :NEU       E/A/D/B/T/Z: E  BI/BY/W/D: BI
Bez  :HIM1      E/A/D/B/T/Z: E  BI/BY/W/D: BI
     :***
 
Netzwerk 2                                                    FUP Ausgabe
     :U   =NEU
     :SPB =M001
     :L   KF +0                                Variablen bei ersten mal Nullen
     :T   =IST
     :T   =MAX
     :T   =HIMW
     :S   =NEU
     :                                         Bearbeitungszeit dieses FB ca:
     :
M001 :L   =ZEIT                                AG 103 8MA02 ca 2,55 ms
     :T   =HIMW                                AG 103 8MA03 ca 1,81 ms
     :L   KF +999                              AG 115 943   ca 1,85 ms
     :L   =HIMW                                AG 135 928   ca 0,43 ms
     :-F                                       AG 135 928B  ca 0,05 ms
     :L   KF +1
     :+F
     :T   =IST
     :L   =MAX
     :<=F
     :SPB =M002
     :L   =IST
     :T   =MAX
M002 :U   =HIM1
     :UN  =HIM1
     :L   KT 999.0
     :SE  =ZEIT
     :O   =HIM1
     :ON  =HIM1
     :L   KT 999.0
     :SE  =ZEIT
     :
     :BE
 
Hallo.

Ja Ihr habt recht, der Abbild der Ausgänge wird natürlich erst am ende des Zyklus erstellt. Also ist meine Überlegung hinfällig.

Eine andere Überlegung wäre einen Timer mit einer Zeit von 1min einzufügen und einen Zähler der immerin dem Zyklus um den Wert eins erhöht wird.
Das sollte ja auch bei der S5 möglich sein denke ich.:confused:


Generell ist zu sagen das es sich um eine reine Handling Anlage handelt. Es werden Bleche aufgenommen und auf ein Band abgelegt.
Also ein Verfahrweg und eine Saugerleiste die mittels Luftdruck runter und hoch fährt.

Momentan läuft die ganze Geschichte mit einem Takt von 12 pro min., soll allerdings auf 15 erhöht werden.
Der Anlagenteil muss also um 1sec. schneller werden.
Überlegung ist halt das mit kürzerer Zykluszeit auch die Pausen zwischen den einzelnen Schritten auch geringer wird. Also z.B. die Zeit zwischen dem Verfahren der Servoachse und dem herunterfahren der Saugerleiste.
Wenn hier schon minimun ein Zyklus vergeht (eher 2) dann sind das bei einer GESCHÄTZTEN Zykluszeit von 100ms schon 0,2sec.;)
usw. usw.....

Ich hoffe ihr versteht die Problematik.
 
Hallo.

Eine andere Überlegung wäre einen Timer mit einer Zeit von 1min einzufügen und einen Zähler der immerin dem Zyklus um den Wert eins erhöht wird.
Das sollte ja auch bei der S5 möglich sein denke ich.:confused: .
Auf jeden Fall, gute Idee.

Überlegung ist halt das mit kürzerer Zykluszeit auch die Pausen zwischen den einzelnen Schritten auch geringer wird. Also z.B. die Zeit zwischen dem Verfahren der Servoachse und dem herunterfahren der Saugerleiste.
Wenn hier schon minimun ein Zyklus vergeht (eher 2) dann sind das bei einer GESCHÄTZTEN Zykluszeit von 100ms schon 0,2sec.;)
usw. usw.....
Hmmm. hier würde ich überlegen, ob es nicht Sinn macht, auch das Programm selber zu optimieren. Warum 2 Zyklen warten, und nicht sofort reagieren?

CPU - Tausch wird aber sicher was bringen, weil bei kurzer Zykluszeit die Reaktion auf Endschalter schneller erfolgt und daher mit höherer Geschwindigkeit gefahren werden kann, vorausgesetzt das die Antriebe in der Geschwindigkeit einstellbar sind und nicht schon am Limit fahren...

Wieviel kB hat das Programm ? Eine Zykluszeit von 100ms wäre erschreckend hoch!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zykluszähler

Hallo,

wenn es keine Anzeige der Zykluszeit gibt wie bei der S7-300, macht es wenig Sinn einzelne Zyklen zu erfassen. Am sinnvollsten baut man z.B. einen Merker, der jeden zweiten Zyklus ein ist:
UN M 0.0
= M 0.0
Diesen Merker läßt man über einen SVIMP-Timer zählen, dann: Zeit/Zählwert/2 enspricht der Zykluszeit.
 
Hallo,
nochmal was zum Abbild der Ausgänge/Eingänge.

wenn mann direkt mit einem T PW 32(AW32) oder L PW 32(EW32) darauf zugreift umgeht mann das Abbild und schreibt bzw. schaut auf die Peripherie.
Auch mitten im Zyklus.

Thomas
 
Etwas spät.... aber ggf. stellt sich das Problem ja immer mal.... wie bei mir heute.....

Programm in einen FB, Aufruf in OB1.

:A DB xx
0088 :
0089 :UN M 8.0;# UN Zeit- Neustart
008A :L KT 600.1; dann z.B. 60 sec laufen lassen
008C :SE T 127
008D :
008E :U T 127
008F := M 8.0;* Zeitrahmen absolviert
0090 :
0091 :U M 8.0
0092 :L DW 10; # Zähler- Istwert
0093 :SPB =SAFE
0094 :L KB 1
0095 :+F; * noch geht's weiter
0096 :SPA =PRN
0097 :
0098 SAFE :T DW 11; * Wert wegsichern; OB1 n mal in z.B. 60 s; :)
0099 :L KB 0; # Zählerwort nullen
009A PRN :T DW 10
009B :BE

Jens Th.
 
Zurück
Oben