mir ist des Öfteren schon aufgefallen das die Simulationsfrequenz von Profilab beim Einsatz von berechnenden Bauteilen, wie „Formel universell“, „Addierer“ usw. sehr schnell, stark einbricht.
Dem Anschein nach werden die Ergebnisse der berechnenden Bauteile in jedem Systemtakt neu berechnet. Dies geht natürlich zu Lasten der Simulationsfrequenz und ist zudem unnötig wenn sich das Ergebnis der Berechnung nicht ändert.
Meine erste Idee um dies zu vermeiden wäre die Berechnung nur dann durchzuführen wenn sich ein Wert der analogen Eingänge am Bauteil ändert. Ändert sich kein Eingangswert, wird einfach das zwischengespeicherte Ergebnis der letzten Berechnung als Ergebnis ausgegeben. Bei Programmstart müssen dazu natürlich alle Bauteile einmal berechnet werden, damit die Eingangswerte und das Ergebnis zwischengespeichert für den nächsten Takt zur Verfügung stehen.
Da der Vergleich ob sich ein Eingangswert geändert hat oder nicht, logischer Weise auch Simulationsfrequenz kostet, hab ich noch eine andere Idee wie es noch schneller gehen könnte.
Geht man davon aus, das die meisten Berechnungen doch mit Messwerten durchgeführt werden die aus einer Hardware ausgelesen werden und jeder Messwert nur mit einer bestimmten Abtastrate in Profilab eingelesen werden kann, ist es auch reine Zeitverschwendung wenn die Berechnung zwischen den Abtastzeiten mehr als einmal durchgeführt wird.
Würde man nun jedem berechnenden Bauteil einen zusätzlichen digitalen Eingang spendieren, der nur bei High die Neuberechnung durchführt und bei Low das zwischengespeicherte Ergebnis der letzten Berechnung ausgibt, ließe sich auch eine Menge Rechenzeit einsparen.
Was meinen die Experten dazu?
Ach, eines noch … wird es ein Profilab 5.0 geben?

Gruß
Chris