Laufzeit WinCC Variable zu SPS extren Lang

Krumnix

Level-3
Beiträge
1.456
Reaktionspunkte
190
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Ich habe hier ein Problem.
An einem WinCC-Rechner sind über Ethernet/TCP_IP 6 317-2PN/DP CPUs
projektiert.

Das WinCC ist Version 6.2 auf Windows Server 2003 und ein Client-Laptop,
der ab und an an das Netzwerk angeschlossen wird, um Service zu fahren.

Wenn ich jetzt an dem Rechner eine Taste drücke, damit eine Bewegung
fahren soll, dann dauert es ca. 3sec, bis der Fahrbefehl ankommt.
Da der Kunde solange auf die Taste drückt, bis sich was bewegt, läßt er
sich nach diesen 3sec. wieder los. Problem dabei ist, das der Antrieb dann
aber leider 3sec. noch "nachläuft".
Sprich die Anforderung in der SPS ist immer noch vorhanden.

Hat wer eine Idee, wie ich diesem Problem auf die Schliche kommen kann?
Gibs irgendein Tool mit dem ich sowas überwachen kann und den Flaschenhals
finden kann?

Danke!
 
Krumnix schrieb:
Wenn ich jetzt an dem Rechner eine Taste drücke, damit eine Bewegung fahren soll, dann dauert es ca. 3sec, bis der Fahrbefehl ankommt.
Da der Kunde solange auf die Taste drückt, bis sich was bewegt, läßt er
sich nach diesen 3sec. wieder los. Problem dabei ist, das der Antrieb dann
aber leider 3sec. noch "nachläuft".
Selbst wenn den Variabeln-Aktualisierzeit kürzer wäre, gefällt es mir nicht mit solche software-Taster mit haltender Funktion.
3 Sekunden sind relativ viel, 1 Sekunde ist mehr normal, obwohl 1 Sekunde Nachlauf auch zu viel ist.
Was machst du wenn den HMI abstürzt ?
Für solche Zwecke verwende ich immer ein physikalische Schalter oder Taster.
Eine Software-Taster kann eine Bewegung starten, aber die Bewegung stoppt nach eine festen Zeit oder wenn eine andere Bedingung erfüllt wird, zB. ein Näherungsschalter.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mhm... ist das schon immer so oder erst mit der Zeit gekommen?

6 CPUs und wieviele Variablen? Wie hoch ist die Aktualisierungsrate der Variablen? Da könnte ein Flaschenhals sein. Wie hoch ist die CPU und Netzwerkauslastung des Rechners (Taskmanager)? Welcher Virenscanner läuft? Was hängt sonst noch mit im Netzwerk und kommuniziert? Spielt da einer im Büro noch WoW über die gleiche Leitung?

Es kann vieles sein. Bist du sicher, das das Signal diese Laufzeit hat und nicht die SPS was manipuliert? Eventuell ne Schaltfläche einfügen die direkt nen freien Ausgang mit Lampe ansteuert um dies mal zu testen.

Thomas
 
Pro CPU werden ca 1200 Variablen verarbeitet.
Auf einem WinCC-Bild sind nie Variablen von 2 Unterscheidlichen CPUs
aktiv.
Scripte gibt es im Hintergrund keine.
Das System ist frei von anderen Netzwerken (Büro, etc.), daher ist auch
kein Virenscanner installiert.

In der Anlage gibt es einen Switch von Siemens mit 8 Ports.
WinCC Server, 6 CPUs und der Mobile Laptop (ist nie angeschlossen!).

Der Antrieb soll ja so lange fahren, wie auf die Taste gedrückt wird.
Endschalter schalten logischerweise den Antrieb aus, wenn sie erreicht
werden. Eine "Positionierung" ist hier nicht so wichtig. Also wenn der Antreib
hier ne halbe sec. weiter läuft.

Nur 3sec geht garnicht.

Das Problem war beim Start der IBN nicht vorhanden. Jetzt, ca 6 Monate
später taucht das immer öfters auf bzw. ist fast ein Dauerzustand.

Und es geht ja nicht nur um die Taster. Auch die Anzeigen sind um einen
gewissen Zeitfaktor verschoben.

Der Aktualisierungszeit der Variablen ist bei 500ms, 1sec oder bei Änderung
eingestellt. Weitere gibt es nicht!
 
... schalt mal den Laptop an. Nicht das der PC versucht irg
endwelche Netzwerkresourcen die mal da waren zu suchen. Welche Updates hast du in letzter zeit gemacht? Ist der intel Raid - Treiber aktuell ? Festplatte mal defragmentiert?
Virenscann gemacht?

Einen Virenscanner würde ich (haben wir) auch bei einem autarken System installieren. Da kommt einer mit nem Stick... und die Zentrifuge fliegt dir um die Ohren. Updates sollten bei Produktivsystemen mit ca. 2Wochen Verzögerung laufen um eventuelle Falschfunde vorher erkennen zu können (Newsletter des Herstellers usw.)

Thomas

PS. Spendier mal dem PC und der CPU mit dem Problem einen extra Switch mit nem kabel zum bestehenden mit den anderen CPUs um Netzwerklast durch CPU-Querverkehr auszuschließen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Diagnosemöglichkeiten gibt es mehrere:

In WinCC gibt es das Programm "WinCC Channel Diagnosis".
In dem Programm kann man sich u.A. die Zeiten für die letzten Read und Write Response ansehen. Außerdem gibt es dort einen Fehler Zähler (Error Count).
Dort würde ich erstmal nach außergewöhnlichem Werten Ausschau halten.
Dann würde ich mal das entsprechende Prozessbild aufrufen, und im Diagnoseprogramm nachschauen welche und wieviele verschiedene Aktualisierungszyklen angemeldet werden (z.B. Cycle 1s, Cycle 2s, ...).
Viele verschiedene Aktualisierungszyklen sind nicht unbedingt vorteilhaft für die Performance, da WinCC diese Variablen nicht in ein Telegramm zusammenlegt.

Für eine genauere Diagnose würde sich Wireshark mit meinem S7-Protokoll Plugin anbieten.
Download der dll unter:
http://sourceforge.net/projects/s7commwireshark/
Damit kannst du dir jedes zur SPS Datentelegramm ansehen, Filter auf Schreib- oder Lesezugriffe setzen etc.
Jedes Telegramm wird in Wireshark mit einem Zeitstempel versehen, sodass man damit schnell herausfinden kann wo es hakt.

Ich hatte mal ein Projekt mit einer über eine (langsame) DSL-Strecke an WinCC angeschlossenen SPS. Bei manchen Bildern dauerte es bis zu 10 Sekunden bis die Daten bei WinCC vollständig da waren. Mit der Wireshark Diagnose habe ich dort herausgefunden, dass durch das zyklische Abfragen von Störmeldungsvariablen fast keine Zeit mehr für den Datenaustausch von "normalen" Prozessvariablen blieb. Über einen Registry-Eintrag kann man die Pollzeit für Störmeldevariablen ändern. Ein entsprechendes Hochsetzen des Wertes ergab zumindest etwas Besserung.

Wenn bei dir aber das Projekt schon mal schneller war und an der Projektierung nichts geändert wurde, muss der Fehler irgendwo anders liegen. Falls es ein Problem im Netzwerk ist, kannst du das mit Wireshark auch sehr gut diagnostizieren, z.B. TCP Abbrüche, Retransmissions etc.
 
Zurück
Oben