Schnelligkeitstest einer SPS

Nine

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich bin vollkommener Neuling. Ich hab nun den Auftrag theoretisch herauszufinden, welche SPS schneller ist. Genauer gesagt:

Ich wäre auf einer Baustelle und hätte zwei SPS zur Hand. Nun soll ich testen welche von beiden schneller ist. Ich hab leider keine Ahnung, wie ich das machen soll.

Ich hab keine Information über die SPS erhalten.

Nun meine Frage:
Hätte einer vllt ein Tipp wonach ich im internet suchen soll, oder einen Link, wo ich etwas hilfreiches finde?

Vielen Dank schon mal im voraus.
 
Hallo,

zuerst die eine einbauen, schauen was für Zykluszeit du hast und anschließend die andere ausprobieren mit derselben Vorgehensweise. Je weniger Zykluszeit, desto schneller.

Umständlich aber naja.

Gruß
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
wie schnell die zykluszeit sein wird hängt von cpu und programm ab.

wenn du die möglichkeit hast bau die cpu ein und öffne aus dem s7-manager
zielsystem/diagnose/baugruppenzustand
dort den reiter zykluszeit

ansonsten kannst du dir das auch mühsam ausrechnen, indem du die bearbeitungszeiten der befehle addierst. diese findest du in der operationsliste
 
Tolle Frage ...

Hallo,

nine schrieb:
Ich hab keine Information über die SPS erhalten.

Na dann hilft nur, in einem Kraftwerk auf den höchsten Schornstein zu steigen und die beiden zu vergleichenden SPS-Steuerungen aus ca. 188 Höhenmetern runterzuwerfen. Die SPS, die zuerst unten ankommt, ist definitiv die schnellste.

Gruß

Question_mark
 
SPS-Weitwurf

Hallo,

Thomas_V2.1 schrieb:
Oder wir testen mal grad real, eine S5 könnte ich stiften...

Jetzt brauchen wir noch einen Spender für die VIPA und vom Betreiber des Kraftswerksbau in Grevenbroich eine Genehmigung für den geplanten SPS- Weitwurf *ROFL*

Gruß

Question_mark
 
Hallo,
ich bin vollkommener Neuling. Ich hab nun den Auftrag theoretisch herauszufinden, welche SPS schneller ist. Genauer gesagt:

Ich wäre auf einer Baustelle und hätte zwei SPS zur Hand. Nun soll ich testen welche von beiden schneller ist. Ich hab leider keine Ahnung, wie ich das machen soll.

Ich hab keine Information über die SPS erhalten.
Hallo,
Wenn du keinerlei Infos über die jeweilige SPS hast, fällt die Sache mit der Operationsliste schon mal raus. Wenn du die Zykluszeit auch nicht direkt auslesen kannst, wie z.B. bei der S7, gibt es noch folgende Möglichkeit: Programmiere einen Zähler, der jeden Zyklus um 1 erhöht wird. Lasse diesen Zähler auf jeder SPS die gleiche Zeit laufen und gucke, auf welcher SPS der Wert höher ist. Die SPS mit dem höheren Zählerstand ist die schnellere....

mfG
Jörg
 
Hallo,
Wenn du keinerlei Infos über die jeweilige SPS hast, fällt die Sache mit der Operationsliste schon mal raus. Wenn du die Zykluszeit auch nicht direkt auslesen kannst, wie z.B. bei der S7, gibt es noch folgende Möglichkeit: Programmiere einen Zähler, der jeden Zyklus um 1 erhöht wird. Lasse diesen Zähler auf jeder SPS die gleiche Zeit laufen und gucke, auf welcher SPS der Wert höher ist. Die SPS mit dem höheren Zählerstand ist die schnellere....

Es gibt aber SPSen die sind schnell beim Bit-Geklapper, dafür aber beim rechnen langsam. Andere wiederum können schnell mit Gleitpunktzahlen umgehen, dem Prozessor fehlen aber Bit-Befehle.

Darum ist eine pauschale Aussage "SPS x ist schneller als y" genauso aussagekräftig wie der Fallvergleich vom Grenvenbroicher Kraftwerk.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt aber SPSen die sind schnell beim Bit-Geklapper, dafür aber beim rechnen langsam. Andere wiederum können schnell mit Gleitpunktzahlen umgehen, dem Prozessor fehlen aber Bit-Befehle.

Darum ist eine pauschale Aussage "SPS x ist schneller als y" genauso aussagekräftig wie der Fallvergleich vom Grenvenbroicher Kraftwerk.

Da stimme ich dir voll zu, aber wenn es eine theoretische Aufgabe ist, dann ist die Zählerei eine Lösung, mit der die Lehrkraft wahrscheinlich zufriedengestellt wäre.

Wenn er aber auf der Baustelle steht, dann hat er ein Programm für diesen konkreten Anwendungsfall. Und dann kann man schon vergleichen, welche CPU im Vergleich dieses konkrete Problem schneller abarbeitet. :ROFLMAO:
Dann darf es aber kein Programm sein, daß mit vielen bedingten Aufrufen von einzelnen Programmteilen abhängig vom Anlagenzustand arbeitet, denn sonst hat man immer verschiedene Grundbedingungen, die eine aussagekräftige Messung unmöglich machen.

Gruß
Jörg
 
Hallo,



Na dann hilft nur, in einem Kraftwerk auf den höchsten Schornstein zu steigen und die beiden zu vergleichenden SPS-Steuerungen aus ca. 188 Höhenmetern runterzuwerfen. Die SPS, die zuerst unten ankommt, ist definitiv die schnellste.

Gruß

Question_mark

Na dann nehm ich die, die noch funktioniert XD.

Danke für die Informationen. Die Idee mit dem Zähler ist wirklich gut. Ich werd das morgen mal antworten und sag dann Bescheid, ob ich die Frage wirklich richtig interpretiert habe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab nochmal nachgefragt, es war leider nicht ganz, das was er hören wollte. Ich soll ein Programm schreiben, womit ich den Prozessor belaste und somit herausfinde, welche schneller ist.:confused:
Ich grübel mal über diese ganze Sache nach. Vielen Dank für eure Hilfe, die Ideen fand er nicht schlecht, aber sie sollten noch ausgereifter sein.
Ich war mir halt unsicher, was genau er wollte, tut mir leid, dass ich es nicht genauer formuliert hab.
 
Na, dann bleibe bei dem Grundgedanken des Zählers.

Aber zähle wie oft die SPS einen Datenbaustein verschieben kann in einer gewissen Zeit, bei variabler Anzahl der Bausteine und immer anderen Daten in dem Basis-DB.

Wenn "ER" dann fragt was DU meinst hat "ER" selber keine Ahnung...
 
@nine
Eigentlich hat derjenige der das bemängelt hat, sogar noch weniger Ahnung, als du ...

Ein SPS-Prozessor lässt sich nicht belasten ...
Dieser braucht pro Befehl eine gewisse Zeit, und diese Zeit ist weitestgehend garantiert (und im HB nachzulesen).
Der Prozessor läuft mit der gleichen Last, unabhängig ob das Programm aus 2 Und besteht,
oder eine ganze Werkshalle steuert.

Mfg
Manuel
 
Hallo!

http://www.speed7.com/de/technische-daten/benchmarks/

Der Benchmark kommt von uns (VIPA/Profichip) und wenn es S7-kompatible Steuerungen sind, kann man den auch einsetzen.
Bei Bedarf geben wir ihn auch an interessierte Kunden!

Aber in diesen Benchmark ist schon einiges an Zeit reingeflossen!

von "MSB"
"Ein SPS-Prozessor lässt sich nicht belasten ...
Dieser braucht pro Befehl eine gewisse Zeit, und diese Zeit ist weitestgehend garantiert (und im HB nachzulesen).
Der Prozessor läuft mit der gleichen Last, unabhängig ob das Programm aus 2 Und besteht,
oder eine ganze Werkshalle steuert."


Leider ist dem nicht so, bei allen neueren CPUs (Speed7, SIEMENS 317/319) lässt sich die Ausführungszeit nicht mehr so einfach ausrechnen.

Als Beispiel: SIEMENS 317: wenn man nur eine kleine Schleife macht und die häufig durchlaufen lässt um damit auf die Ausführungszeit pro Befehl hochzurechnen, kommen deutlich andere Werte heraus, als wenn man eine größer Schleife benutzt (durch den Cache des dort eingesetzten Prozessors bedingt). Anderes Beispiel: Die 319 optimiert den AWL Code (die NOPs werden gar nicht ausgeführt...)

Um hier aussagekräftige Werte zu bekommen, braucht man zum einen ein gutes Zeitsystem (die internen Timer haben ein 10ms Raster und Jitter! und die meisten SIEMENS CPUs haben keinen brauchbaren µs Timer wie die Speed7).
Und den richtigen Test!
Und man muss die Ergebnisse interpretieren können (für SCL braucht man andere Tests, da dort die indirekten Adressierungsarten deutlich intensiver benutzt werden als bei FUP/KOP).

In so einen Bechmark fließen schon etliche Wochen!

Aus dem Grund kann ich auch nur empfehlen, die Benchmarks als Hilfe zu benutzen aber für die Entscheidung das echte Programm durchlaufen zu lassen, vorzugsweise auf der Anlage, dann hat man keine Probleme mit der Peripherie, die auch noch zu großen Unterschieden führen kann, je nachdem ob sie dran ist oder nicht.

Grüße

Longbow
 
Zurück
Oben