10.12.2020 14:25 | |
Beigetreten: 21.01.2013 Letzter Bes: 14.02.2025 Beiträge: 3552 Bewertung:
|
Hallo heinickel, da mich das Thema selbst interessiert, habe ich selbst Versuche unternommen. Da es ja nur um die Parameterübergabe geht, habe ich die Laufzeit leerer Funktionsbausteine gemessen. Dabei habe ich - passend zu deiner Beschreibung - folgende 3 Varianten getestet:
Da ich im Homeoffice keine CPU zum Testen habe, musste ich auf SIMATIC S7-PLCSIM Advanced V3.0 zurückgreifen. Das zeitliche Verhalten soll dabei ja praktisch gleich der realen CPU sein. Mein erster Versuch ergab - wie laut Programmierempfehlung erwartet - einen Geschwindigkeitsvorteil von Variante 3 gegenüber Variante 2 und 1. Bei weiteren Versuchen musste ich feststellen, dass - warum auch immer - die Aufrufreihenfolge der Varianten bei der Messung mit der RUNTIME-Anweisung in diesem Test eine Rolle spielt. Um Einflüsse der Aufrufreihenfolge zu verhindern, habe ich dann jeweils immer nur eine Variante ausgeführt und die Laufzeit aus 100.000 Zyklen gemittelt. Dabei ergaben sich folgende Werte (für eine CPU 1516-3 PN/DP):
Eventuell kann ich das Verhalten im Büro nochmal auf einer CPU 1515 SP PC2 testen. Viele Grüße |
11.12.2020 08:09 | |
Beigetreten: 21.01.2013 Letzter Bes: 14.02.2025 Beiträge: 3552 Bewertung:
|
Hallo heinickel, ich habe den Versuch gerade auf einer CPU 1515SP PC2 wiederholt. Hier zeigt sich leider das von Dir beschriebene Verhalten. Ich habe für die drei oben erklärten Varianten folgende Mittelwerte aus 100.000 Messungen erhalten:
Das ist ein Ergebnis, welches ich so nicht erwartet hätte. Zum einen, da die 1516 - wenn auch nur über PLCSIM Advanced simuliert - schneller sein sollte als die 1515SP PC2 (bzw. die darin laufende 1505S). Dies könnte allerdings auch daran liegen, dass mein Notebook eventuell nicht schnell genug für PLCSIM Advanced ist. Zum anderen hätte ich allerdings auch nicht erwartet, dass sich ein derartiges Zeitverhalten zeigt. Eventuell würde sich das Zeitverhalten zugunsten der UDT-Varianten bessern, wenn in den Bausteinen auch Funktionalität programmiert ist. Eventuell solltest Du Dich mich diesem Verhalten an den Support, oder - da Du Dich ja noch in der Planungsphase befindest - an die Fachberatung wenden. Viele Grüße |
Folgen Sie uns auf