CX 8090 - reagiert sehr langsam

ssyn

Level-2
Beiträge
252
Reaktionspunkte
28
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe einen alten Projekt beim Kunden mit Beckhoff CX-8090, wo Visu sehr langsam reagiert. Ich schreibe dasselbe Projekt bei mir auf gleich CX, testete und bemerkte - wenn Programm auf Steuerung läuft, dann alles läuft in Steuerung sehr langsam (bei Cerhost), bei jedem Klick muss ich sehr lange warten.

Zyklusszeit war früher 1 ms, ich machte es 50 ms, aber es hilft nicht.
In System Manager Ausleistung ist immer ca. 10%, egal ob Programm läuft oder nicht

1720090854633.png

SD-Karte ist nicht voll:

1720084900492.png

Wenn ich mache "Stop" von PRG durch PLC Control - dann reagiert Steuerung wieder schnell.


System Properties sind folgende, ich versuchte es ändert mehr nach links oder rechts - hilft nicht (machte Reset nach Änderung immer).

1720085142406.png

Und fand im Internet Task Manager für Windows CE (ARM Version) und startete ihn bei Steuerung aber er zeigte sehr seltsame Information:

Wenn Programm läuft, Task Manager zeigt kleine Auslastung, obwohl alles geht sehr langsam:

1720085541851.png

1720085556631.png

Wenn Programm ist gestoppt, es zeigt große Belastung - obwohl alles läuft bei Cerhost ganz schnell


1720085612894.png

1720085632190.png

In Programm selbst hab ich nix besonders gefunden, außer tausende Variable, die in Globale Variables deklariert wurden mit VAR_GLOBAL RETAIN PERSISTENT.

Aber direkt in Programm benutzt man nur ein paar hundert davon.

Ich versuchte gestern zusammen mit Beckhoff Support das Problem zu lösen, leider erfolgslos. Wenn hat jemand irgendwelche Vermutung oder Vorschläge - würde sehr dankbar dafür.
 
Zuletzt bearbeitet:
Der erste Gedanke, der mir dabei kommt:
Du sagtest "altes Projekt", ich sehe Twincat2 und du spricht von tausenden persistenten Variablen.
Die SD-Karte ist zwar nicht voll, aber sie hat wahrscheinlich einiges an Schreib-/Lesezyklen hinter sich.
Kann es also sein, dass die SD-Karte einfach kurz vor dem Ableben steht?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Khyzer, dann ist es unklar, wieso bei Stop von PRG läuft die Steuerung normal. Beim Kunden ist andere SD-Karte und kann nicht so sein, dass beide Karte kurz vor dem Ableben stehen.
 
Der 8090 ist nun nich gerade ne Rakete und je nach Umfang der Visu kann das schon alleine der Grund für die Trägheit sein.

Bei den "kleinen" hab ich immer eine dedizierte externe Visu verwendet. Die interne benutze ich nur vom PG aus für Diagnostik.
 
Plan_B, bei diesem Projekt ist auch externe Visu benutzt. Es läuft als separate App in WinCE. Ich habe es für Testen geschlossen (so, Programm läuft allein ohne Visu), aber es hilft nicht.
 
Ich denke es ist eine TargetVisu oder doch eine Webvisu?? Man kann die Update Rate einstellen -> min ist 50ms. Aber der CX8090 hat eine kleine Performance, da wird die Update Rate nicht unbedingt helfen. War es denn immer so langsam oder erst jetzt??
 
Also nicht auf dem CX?

Nein, doch auf CX, aber nicht von TwinCAT, aber von andere Programm - Spider Control.

Ich habe in Anleitung für Twincat 2 über Task-Interval gelesen, da schreibt man als Beispiel immer 200 ms. Ich habe in Twincat PLC Control in Task-Configuration die Interval von 50 ms auf 200 ms geändert. Jetzt läuft es ein bisschen schneller als vorher. Aber doch nicht "normal".
 
Zuviel Werbung?
-> Hier kostenlos registrieren
also meine Erfahrung bei den kleine Systemen : PLC Online + Cerhost -> dann wird die Visu langsamer -> ist halt nur OneCore -> in dem Fall 400MHz

Ich habe zwei SD-Karte mit zwei verschiedene Projekte für CX8090. Beide in TC2, sehen für mich sehr ähnlich zu einander, aber bei Projekt 1 alles ist langsam und bei Projekt 2 - ganz schnell. Beckhoff Steuerung in Test-Board ist dasselbe.
 
Verwenden beide Projekte die Funktion FB_WritePersistentData?
Wie oft wird die Funktion angestoßen?

Ich glaube deine beiden Probleme haben eine gemeinsame Ursache!

Der Aufruf von FB_WritePersistentData sollte mit 1s-USV überhaupt nicht notwendig sein.
Bei zu häufigem Aufruf (alle x Sekunden) können die vielen Schreibzugriffe den Speicher beschädigen. Zudem kann das die Ursache für das Träge verhalten der Steuerung sein!

Der CX80XX benötigt den speziell zugeschnittenen Funktionsbaustein FB_S_UPS_CX80xx für die 1s-USV.
https://infosys.beckhoff.com/index.php?content=../content/1031/cx8010_hw/1610438027.html
 
Zuletzt bearbeitet:
In System Manager Ausleistung ist immer ca. 10%, egal ob Programm läuft oder nicht
Im Auslieferungszustand ist die CPU-Auslastungsanzeige bei allenCX80xx-Geräten deaktiviert (diese wird mit konstant 10% angezeigt)...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Verwenden beide Projekte die Funktion FB_WritePersistentData?
Wie oft wird die Funktion angestoßen?

So sehen beide FB in Deklarationsteil in PLC_PRG bei "Run"

1720501797024.png

Hier ist Aufrufe in PLC_PRG

1720501838732.png

Bool-Variable StartWriteData für Start von FB_WritePersistentData ist False und niergedwo mehr in Projekt und Visu benutzt. So, wenn ich es richtig verstanden, zweite FB wird nicht gestartet überhaupt. Die einzige Möglichkeit es zu starten - mit PLC Control online gehen und dann selbst es in StartWriteData TRUE schreiben. Das wurde natürlich nie gemacht.

1720502252500.png

Ich habe ausserdem in TwinCat System Manager folgende Häkchen gefunden. Könnte es aber so sein, dass die Steuerung irgendwie falsch normale Retain Persistent Daten bewertet ? Und deswegen die Steuerung löscht sie?
 
Ich habe gerade beim Kunden neuen Fall. Aber jetzt kommt Erklärung, weil früher mit Kunden meine Kollegen sprachen.

So, die Werte wurde NICHT verloren, sie wurden nicht auf 0 oder FALSE gesetzt. Sie wurden auf alte (falsche) Werte zurückgesetzt. Sorry, dass ich falsche Information Euch geteilt habe.
 
Ich habe hier die Information gefunden, dass diese "Lösche ungültige Retain Daten" und "Lösche ungültige Persistent Daten" nicht ausgewählt müssen. Grund - Datenverlust zu vermeiden. Eigentlich die Information steht in Anleitung für Großsolaranlage, weiß nicht, ob für alle Fälle geht, aber das ist der einzige mögliche Grund, was ich zu Zeit gefunden habe.

1720513081261.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn die Funktion FB_WritePersistentData wirklich nicht aktiviert wird, wird sie auch nicht das Problem der hohen Auslastung sein.

Wenn die Daten nicht „0“ waren, sondern die „falschen“ Daten geladen wurden, könnten entweder „Startwerte“ oder veraltete (ungültige) Daten geladen worden sein.

Vorsicht – deine Test SPS ist scheinbar ein CX9000 – und somit ohne 1s-USV!
Beckhoff hat inzwischen einen ganzen Zoo an unterschiedlichen CX-Steuerungen.
Leider unterscheiden sich die Speicherkonzepte deutlich.
Das muss bei der Programmierung berücksichtigt werden!

Stichworte: NOVRAM / 1s-USV / File-System + richtige USV …
 
CX9000 - das ist das letzte Bild von Anleitung, nicht von meiner Steuerung. Ich habe CX8090 mit 1s-USV.
Ich habe heute halbes Tag in verschiedene Situationen die Werte geschrieben und machte Strom aus und wieder ein . Immer wurden die Werten normal gespeichert.

Wenn die Daten nicht „0“ waren, sondern die „falschen“ Daten geladen wurden, könnten entweder „Startwerte“ oder veraltete (ungültige) Daten geladen worden sein.

Du hast rechts. Die "falschen" Daten kommen von "Startwerte". Ich habe das erst jetzt bemerkt. So, wahrscheinlich bei irgendwelche Versuch die Retain-Daten zu schreiben wurden sie als "ungültig" bewertet und dann kommen "Startwerte" stattdessen.
Ich hatte heute wieder Telefonat mit Beckhoff, man hat mir angeboten, die Steuerung zu wechseln. Häkchen bei "Lösche ungültige Retain Daten" und "Lösche ungültige Persistent Daten" wegnehmen hilft, laut Beckhoff, wahrscheinlich nicht, aber ich kann es versuchen.

Okay, ich kann die Änderung in Programm machen und die "richtige" Werte direkt in "Startwerte" in Deklaration schreiben. Als Zwischenlösung geht es, mal sehen. Aber die Frage - wieso die Steuerung läuft sehr langsam und wieso die Retain Daten werden "verlieren" - für mich bleibt unklar.

Wenn läuft 1s-USV und speichert z.B. jeden Tag vor Ausschaltung "die richtige" Werte.

So, ich habe z.B. "die richtige Werten von Freitag" - "Kopie 1" und am Montag muss die Steuerung wieder sie speichern. Wenn diese Daten wurden als "gültig" bewerten, dann speichert die Steuerung das erneut und ich habe "die richtige Werte von Montag" "Kopie 2" anstatt "Kopie 1". Wenn nicht, dann muss meiner Meinung nach die letzte erfolgreich gespeicherte Werte lassen, so - "Kopie 1".

Aber in meinem Fall es versucht schreiben und wenn die Werten sind "ungültig" - dann wurden "Startwerte" stattdessen benutzt. Für mich es scheint sehr seltsam.

P.S. Habe gerade in TwinCAT System Manager gesehen, so, meine Vermutung ist richtig

1720532359217.png
Und jetzt die Daten von "Startwerte" sind anstatt richtige Werte. Ich versuche jetzt "Lösche ungültige Retain Daten" und "Lösche ungültige Persistent Daten" weg und wiederhole alles erneut.
 

Anhänge

  • 1720532033117.png
    1720532033117.png
    2,3 KB · Aufrufe: 3
Zuletzt bearbeitet:
Ich habe heute mehrmals getestet.

1) Ohne "Lösche ungültige Retain Daten" und "Lösche ungültige Persistent Daten", 10 Mal. Online in PLC Control gehen, die Werte prüfen und danach offline und Spannung weg. Nach ein paar Minuten wieder Steuerung mit Spannung besorgen.

Die "richtige" Werte bleiben ohne Änderung nach 10 Mals.

2) Mit "Lösche ungültige Retain Daten" und "Lösche ungültige Persistent Daten".

Nach sechsten Mal wurden die "richtige" Werte weg und stattdessen kommen "Startwerte".

P.S. Nebenbei, in Anleitung für System Manager ist in Musterkonfiguration auch keine Häkchen da.

1720596383737.png
 
Zurück
Oben