CX5130 mit Windows 10 und TcHMI Server => Performance Problem

msauerpb

Level-1
Beiträge
200
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich verwende den CX5130 jetzt mit Windows 10 64-Bit:

1653886872919.png

Und habe folgende Echtzeit-Task Konfiguration:

1653886922846.png

Als HMI läuft auf dem System zusätzlich der TcHMI Server v1.10.1336.203. Der Zugriff auf die HMI ist teilweise sehr langsam, d.h. die Seite wird zwar schnell angezeigt, die Inhalte der Variablen kommen aber verzögert. Bzw. die Uhrzeit, die ich mit diagnostic.servertime ausgebe, läuft weiter Aktionen werden von den Buttons aber nicht an die PLC weitergegeben.
Wenn ich dann mit Remote Desktop eine Verbindung aufbaue und den Taskmanager starte, kann ich auf dem 1 Core teilweise 100% Auslastung sehen wobei die 100% durch den Taskmanager verursacht werden.

Ist der CX5130, als dual core, für Windows 10 64-Bit nicht empfehlenswert, wenn ich einen Isolated Core für meine PLC verwende?

Danke für Eure Hilfe.
gruss
martin
 
100% Auslastung per se ist erstmal nicht kritisch - bedeutet halt nur das kurzzeitig das System ausgelastet wird und manches etwas länger dauert.
Der CX5130 ist soweit ich mich erinnere mit "nur" 2 GByte RAM ausgestattet. Win10 nutzt da einiges, dann kommt noch der RemoteManager dazu... Das bremst auch.
Aber konkret: Ohne die Auslastung deiner TwinCAT-Tasks zu kennen kann man nichts sagen. Keine Ahnung ob du 10% oder 90% der Resourcen dort nutzt. Und soweit ich es verstehe ist die TcHMI nicht wirklich super performant. v1.10 war auch eine frühe Version.. Allerdings ist ein Umstieg auf die aktuelle v1.12 nicht so ohne..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Auslastung ist:

1653893920129.png

Wobei CPU0 der PLC+Windows gehört und dort die 1ms Task läuft. CPU1 ist der isolated Core mit der 100us Task.

Und der schnellen Task:

1653893953830.png

Sowie der langsamen Task:

1653893983395.png
 
Was mich mal interessieren würde ist, was in der Fast Task gemacht wird, dass Du da eine so extrem kurze Zykluszeit benötigst. Bis auf eine Ausnahme hatten alle meine Auftraggeber immer Zykluszeiten im ms Bereich. Die eine Ausnahme war eine Zykluszeit von 500µs für die Messwerterfassung, aber auch die ist ja um den Faktor 5 höher als Deine.
Für das "normale" SPS Programm, den HMI Server und dann noch Windows 10 finde ich einen Kern ganz schön sportlich vor allen Dingen bei Deinen extremen Zykluszeiten.
 
Du kannst mal probeweise die PlcTask mit auf Core 1 legen, sollte gerade noch so klappen. Da aber anscheinend für die Zukunft auch noch eine NC-Task droht, wirst Du mit dem CX5130 nicht wirklich glücklich werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was mich mal interessieren würde ist, was in der Fast Task gemacht wird, dass Du da eine so extrem kurze Zykluszeit benötigst. Bis auf eine Ausnahme hatten alle meine Auftraggeber immer Zykluszeiten im ms Bereich. Die eine Ausnahme war eine Zykluszeit von 500µs für die Messwerterfassung, aber auch die ist ja um den Faktor 5 höher als Deine.
Für das "normale" SPS Programm, den HMI Server und dann noch Windows 10 finde ich einen Kern ganz schön sportlich vor allen Dingen bei Deinen extremen Zykluszeiten.

Wir steuern damit unser HV-Netzgerät (für EB-Anlagen). Die schnelle Task, verarbeteit die analogen Messwerte und reagiert auf Überschläge. Aus diesem Grund gibt es die 100us Task.
 
Du kannst mal probeweise die PlcTask mit auf Core 1 legen, sollte gerade noch so klappen. Da aber anscheinend für die Zukunft auch noch eine NC-Task droht, wirst Du mit dem CX5130 nicht wirklich glücklich werden.
Die NC geschichte schalte zwei Ausgänge des Netzgerätes und ist extrem selten. Dies ist nur ein Beckhoff Motor, der über die MC_... Bausteine angesteuert wird und ab und zu einmal zwischen 0 Grad und 180 Grad hin und her fährt.
 
Bisher hatten wir den CX5130 mit Windows 7 laufen. Dort waren die Probleme nicht so gross. D. h. für Windows 10 sind dann min. 2 Cores zu empfehlen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich (aus der standard SPS Ecke) finde das immer noch bemerkenswert und verstehe es nicht wirklich was Beckhoff da treibt. Da nimmt man eine Art PC mit GB's an RAM und einem, für den eigentlichen Zweck, überdimensionierten Prozessor. Darauf läuft dann ein Windows mit all seinen Unzulänglichkeiten, Hintergrunddiensten und Schnittstellentreibern. Auf diesem Konstrukt versucht man dann mit allerlei Tricks und Kniffen eine SPS zu simulieren und diese echtzeitfähig zu gestalten. Bei all den absehbaren und nicht absehbaren Problemen die das mit sich bringt, ist das doch ein Riesen Aufwand im Vergleich zu einer, auf den eigentlichen Zweck zugeschnittenen Hardware die einfach nur das tut was nötig ist und nicht einen Berg an overhead mit versorgen muss. Was genau ist hier der Vorteil und warum möchte man so etwas einsetzen?:unsure:
 
@sunny22: Heuzutage ist HW billig, SW teuer (im Gegensatz zu früher). Wenn dir also die Platform xyz diverse Schnittstellen bietet dann ist es praktisch anstelle hier alles selber zu codieren. Und die Ansprüche heuzutage sind erheblich höher als früher.
Jeder will ja "nur" ein bißchen Datenanbindung/Webfunktionalität/Cloud...
Ich denke fast jeder PLC-Hersteller nutzt inzwischen irgend ein reguläres Betriebssystem (VxWorks oder oder) und keinen MicroController mehr wo er fast alles selber machen muss.
Windows selber ist halt ne Hausnummer - es hat aber unbestreitbar seine Vorteile. Bei den größeren Systemen hat man auf Wunsch direkt die Entwicklungsumgebung on board und die meisten Leute können damit umgehen ebenso wie die IT.
Letztendlich wirst du aber hierzu genauso viele Meinungen finden wie Leute die du fragst.

@msauerpb. Aus dem hohlen Bauch heraus würde ich sagen das der Flaschenhalt der Level2 Cache ist sowie die HMI an sich (ich habe nachgeschaut, der CX5130 hat 4 GByte Ram was ausreichend sein wird). Auf einem CX5140 gibt es für Core0/1 und Core2/3 jeweils unabhängige Caches... und damit würde es dann deutlich flotter laufen. Das hat aber nichts mit der Anzahl der Cores zu tun.
Ich stimme StructuredTrash zu das du alle SPS-Funktionalitäten auf einen einzelnen Core (vermutlich auch die NC) laufen lassen kannst. Versuch macht hier klug. Nur wie gesagt wird das System damit vermutlich nur etwas schneller.

Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@msauerpb
Ich weiss, das Thema ist schon ein paar Monate alt. Trotzdem verstehe ich immer noch nicht wieso Du so kurze Zykluszeiten brauchst. Du schreibst, dass Du damit analoge Messwerte verarbeiten willst. Wieso verwendest Du dazu nicht eine 10ms Task und eine Oversampling-Klemme die bis zu 100 Messwerte pro Zyklus einliest. Das wären dann auch 100us.
Wir setzen auch CX5130 Steuerungen mit Win10 ein und haben keine Probleme. Als Visu setzen wir jedoch VisiWin ein. Ich denke, Deine Anwendung müsste einen Einsatz eines CX5130 auch ohne Probleme zulassen.
 
@Pippen
Wir verwenden die SPS in einem HV Netzgerät zur Regelung von Filament und Wehnelt und Steuerung der Hochspannung. Aus diesem Grund laufen die Software Regler mit 100us Taskzeit.
 
Zurück
Oben