- Beiträge
- 15.422
- Reaktionspunkte
- 4.045
-> Hier kostenlos registrieren
Ich habe seit einigen Jahren in einer Anlage ein WinCC 7.2 am Laufen.
Darin werden rel. viele Aktionen mit Basic-Sripten ausgeführt. Teilweise rufen die Scripte externe DLL-Funktionen auf.
Ich sende dabei Anfragen an einen Server, der mit eine Antwort zurücksendet oder auch Aufträge an Drucker.
WinCC scheint nun nach mehrmaligem Erweitern der Anlage immer größere Performance-Probleme zu haben.
Zuerst dacht ich immer, der Daten-Server benötigt so lange für die Antwort (muß Daten suchen und die Antwort zusammenstellen).
Inzwischen haben wir rausbekommen, dass der Server in der Regel weniger als 0,2 Sekunden für die Antwort benötigt.
WinCC zeigt mir manchmal in der SPS aber erst nach 15 bis 30 Sekunden an, dass das Ergebnis vom Server eingegangen ist.
Bin ich mit meinem Laptop an der SPS online, wird es signifikant noch langsamer.
Es ist für die Mitarbeiter halt unschön, wenn ein Vorgang abgeschlossen ist, der Drucker dann aber erst nach 15 Sekunden ein Label auswirft.
Ich schicke den Druckauftrag sofort von der SPS, über eine Variablenänderung, ein Basic-Script ruft dann eine DLL, die den Druck ausführt.
In der Zwischenzeit gibt die DLL die Steuerung zurück, so dass WinCC weitere Scripte abarbeiten kann, ich frage nur das Druckergebnis ab und mache weiter, wenn es kommt.
Kann mir jemand sagen, ob es irgendwelche Wekzeuge im WinCC oder extern gibt, mit denen ich feststellen kann, wo wirklich der Flaschenhals an der ganzen Sache ist?
Ist es möglich, das zu viel Scripte gleichzeitig ausgeführt werden wollen? Wo genau kann ich das sehen?
Welche Möglichkeiten gibt es, um hier Lasten besser zu verteilen?
PS: Wir lesen z.Bsp. Fehlermeldungen nicht bitweise, sondern als Rohdatenvariable ein und zerlegen das Ganze dann mittels einer externen Funktion.
Das braucht sicher einiges an Performance, aber auch wenn die Anlage fehlerfrei läuft, also die Rohdaten zwar gelesen werden, sich aber nciht ändern, und so die Scripte nicht "feuern", ändert sich die Performance nicht zum Besseren.
Darin werden rel. viele Aktionen mit Basic-Sripten ausgeführt. Teilweise rufen die Scripte externe DLL-Funktionen auf.
Ich sende dabei Anfragen an einen Server, der mit eine Antwort zurücksendet oder auch Aufträge an Drucker.
WinCC scheint nun nach mehrmaligem Erweitern der Anlage immer größere Performance-Probleme zu haben.
Zuerst dacht ich immer, der Daten-Server benötigt so lange für die Antwort (muß Daten suchen und die Antwort zusammenstellen).
Inzwischen haben wir rausbekommen, dass der Server in der Regel weniger als 0,2 Sekunden für die Antwort benötigt.
WinCC zeigt mir manchmal in der SPS aber erst nach 15 bis 30 Sekunden an, dass das Ergebnis vom Server eingegangen ist.
Bin ich mit meinem Laptop an der SPS online, wird es signifikant noch langsamer.
Es ist für die Mitarbeiter halt unschön, wenn ein Vorgang abgeschlossen ist, der Drucker dann aber erst nach 15 Sekunden ein Label auswirft.
Ich schicke den Druckauftrag sofort von der SPS, über eine Variablenänderung, ein Basic-Script ruft dann eine DLL, die den Druck ausführt.
In der Zwischenzeit gibt die DLL die Steuerung zurück, so dass WinCC weitere Scripte abarbeiten kann, ich frage nur das Druckergebnis ab und mache weiter, wenn es kommt.
Kann mir jemand sagen, ob es irgendwelche Wekzeuge im WinCC oder extern gibt, mit denen ich feststellen kann, wo wirklich der Flaschenhals an der ganzen Sache ist?
Ist es möglich, das zu viel Scripte gleichzeitig ausgeführt werden wollen? Wo genau kann ich das sehen?
Welche Möglichkeiten gibt es, um hier Lasten besser zu verteilen?
PS: Wir lesen z.Bsp. Fehlermeldungen nicht bitweise, sondern als Rohdatenvariable ein und zerlegen das Ganze dann mittels einer externen Funktion.
Das braucht sicher einiges an Performance, aber auch wenn die Anlage fehlerfrei läuft, also die Rohdaten zwar gelesen werden, sich aber nciht ändern, und so die Scripte nicht "feuern", ändert sich die Performance nicht zum Besseren.
Zuletzt bearbeitet von einem Moderator: