Das mit den Bausteinaufrufen klingt logisch, nur woher bekomme ich die Bausteinaufrufzeiten?
Ich seh schon, dass ist gar nicht so einfach, weil doch sehr viele Faktoren mit einbezogen werden müssen.
Vielen Dank für eure zahlreichen Tipps!
Werd das ganze jetzt nochmal durchrechnen.
Und wofür? Das braucht in der Praxis kein Mensch.
Und wofür? Das braucht in der Praxis kein Mensch.
manchmal sind theoretische betrachtungen notwendig, z.b. bei der einsatzplanung einer bestimmten CPU. außerdem ist es auch immer gut zu wissen, wo eine hohe zykluszeit begraben sein könnte.
Der Baustein der gemessen wir ist in SCL programmiert.
das ist natürlich tricky, da kommste eigentlich nur sinnvoll voran, wenn du den baustein übersetzt, die quelle löschst (aus dem testprojekt, natürlich nicht von deinem rechner) und dir dann an hand des AWL-codes, der nun beim öffnen des bausteins erscheint eine zykluszeit herleitest
Noch etwas mehr info bekommt man, wenn man den Baustein in eine MemoryCardDatei (*.wld) schiebt (nur den einen Baustein) und in daraus öffnet (dann muss man die Quelle nicht löschen).
Dann sieht man auch gleich, was so an Code generiert wird für Bausteinaufrufe und Parameterübergabe. (es wird dabei eine Fehlermeldung ausgegeben, kann man aber ignorieren).
Und mal schön auf die Adressierungsarten achten und mal ins Handbuch schauen, ist bei den kompilierenden CPUs echt heftig wie die Ausführungszeiten ansteigen.
Wie wäre es, das Kompilat einfach direkt aus dem AWL-Editor zu öffnen? Geht auch.
Wenn ich wissen will, wie lange ein Baustein braucht, mache ich vor dem Aufruf ein sfc64, speichere das Ergebnis und nach dem fraglichen Baustein wieder und subtrahiere die Zeiten.
... Laufzeiten für einen Befehl nicht konstant sind (Caches, Optimierungen, Speicherzugriffe).
Selbst die Messung ist nicht trivial wegen der Cacheeffekte (die 317 ist da sehr beeindruckend, abhängig von der Schleifengröße schwankt die Befehlsausführungszeit um Faktor 3!)
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?