Na da bin ich anderer Meinung. Auch heute noch. Habe da aktuell eine Anlage bei der die Taktzeit um mehr als 5s verbessert werden konnte und das nur durch Tausch der CPU, also durch Verringerung der SPS-Zykluszeit!!!
Interessant. Eine Verbesserung um 5 Sekunden finde ich Ekstrem.
Wenn eine Maschinen Taktzeit durch CPU Rechenzeit verringert werden soll, handelt es sich vermutlich um die Wartezeiten die durch den Bearbeitung in den CPU 'unnötig' verlängert werden. Also, wenn ein Geber sein Zustand ändert, bis ein Aktuator-Zustand durch den CPU geändert wird.
Wenn es eine Sequenz gibt der viele Schritten hat, dann werden pro Sequenz-Durchlauf den Sequenz verlängert mit ungefähr das hälfte von den CPU-Zykluszeit multipliziert mit den Anzahl von Schritten in einen Sequenzdurchlauf.
Wenn den CPU Zukluszeit z.B. von 20 ms auf 5 ms verringert wurde und dadurch eine Besserung von 15 ms, dann um ein Maschinentaktzeit Minderung von 5s zu erzeugen muss es ungf. 667 Schritten in den Sequenz sein.
5000 ms / (15 ms * 0.5) ~ 667
Dass sind ziemlich viele Schritten.
Den relative Besserung muss auch in Verhältniss zu den Gesammte Zykluszeit gesehen werden. 5 Sekunden ist wirklich merkbar, wenn den Maschinenzyklus von 20 Sekunden auf 15 Sekunden verbessert werden kann, aber nicht so merkbar wenn von 3600 auf 3595 Sekunden.
Wenn es handelt um eine Maschine mit Kurze zykluszeiten, und viele Schritten in sein Sequenz, dann wurde ich überlegen Hardware-Interrupts zu verwenden.
Oder, wenn es geht den Sequenz in eine Zyklische Interrupt aktualisieren. In den Fall muss den Sequenz nicht abhängig sein von z.B. Berechnungen die nicht durch den Interrupt aktualisiert werden.