Taster reagieren nicht oder sehr träge

philipp75

Level-2
Beiträge
67
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Liebe SPS Gurus,

seit ein paar wenigen Tagen scheint meine Wago Steuerung langsam auf Tastendrücke zu reagieren. Manchmal muss man 3-4 mal drücken bis das Licht an- bzw. ausgeht, manchmal scheint eine Taste zu hängen und der Dimmer spielt verrückt.

Eine größere Änderung habe ich an der Wago nicht vorgenommen, nur an der Visu ein paar Kleinigkeiten ohne Logik auf der Steuerung.
Was können allgemeine Gründe dafür sein?


der PLC Browser sagt mir plc load = 0%
per SSH eingeloggt und "top" ausgeführt: irgendwas zwischen 1-50% CPU utilization

Code:
top - 20:54:35 up 481 days,  6:34,  1 user,  load average: 0,77, 1,07, 1,08
Tasks: 108 total,   1 running, 107 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1,9 us,  9,0 sy,  0,0 ni, 85,9 id,  0,0 wa,  0,0 hi,  3,2 si,  0,0 st
MiB Mem :  239,074 total,   73,656 free,  103,969 used,   61,449 buff/cache
MiB Swap:    0,000 total,    0,000 free,    0,000 used.  111,000 avail Mem

Steuerung: WAGO 750-8202 PFC200 CS 2ETH RS / DMX Dimmer über AllNet (DMX4All)
Firmware Wago: 03.05.10(17)

Falls wichtig: Im Haus sind zwei weitere Wagos verbaut- eine für Gartenbewässerung und Beleuchtung und eine für den Ofen - beide sind über NetVars verbunden sind.


1000 Dank schoneinmal!
Phil
 
Wie groß ist die Zykluszeit bzw. Task-Zeit und ggf. die E/A-Aktualisierungszeit? Eine Taste muß mindestens so lange gedrückt werden, damit die SPS den Tastendruck sicher mitbekommt.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

vielen dank für Deine Antwort - anbei der Dump, ich hoffe das ist das gesuchte.

Code:
tsk

Number of Tasks: 3

Task 0: DefaultTask,  ID: 2
   Cycle count: 1218300136
   Cycletime:       25294 microseconds
   Cycletime (min): 21940 microseconds
   Cycletime (max): 212899820 microseconds
   Cycletime (avg): - microseconds
   Status: RUN
   Mode:   CONTINUE
   ----
   Priority:  31
   Intervall: 10 ms
   Event:     NONE
   ----
   Function pointer: 16#B5D99E34
   Function index:   663

Task 1: InputUpdateTask,  ID: 3
   Cycle count: 415831703
   Cycletime:       431 microseconds
   Cycletime (min): 369 microseconds
   Cycletime (max): 63113 microseconds
   Cycletime (avg): - microseconds
   Status: RUN
   Mode:   CONTINUE
   ----
   Priority:  31
   Intervall: 100 ms
   Event:     NONE
   ----
   Function pointer: 16#B5D00038
   Function index:   3

Task 2: KBus-Task,  ID: 999
   Cycle count: 0
   Cycletime:       2523 microseconds
   Cycletime (min): 0 microseconds
   Cycletime (max): 8154 microseconds
   Cycletime (avg): - microseconds
   Status: RUN
   Mode:   CONTINUE
   ----
   Priority:  0
   Intervall: 0 ms
   Event:     0000:0000:0000
   ----
   Function pointer: 16#00000000
   Function index:   0
 
Eine Taste muß mindestens so lange gedrückt werden, damit die SPS den Tastendruck sicher mitbekommt.
... und auch mindestens so lange nicht gedrückt werden, um mehrere aufeinander folgende Tastendrücke zu unterscheiden.

Aber was heisst ...
seit ein paar wenigen Tagen scheint meine Wago Steuerung langsam auf Tastendrücke zu reagieren. Manchmal muss man 3-4 mal drücken bis das Licht an- bzw. ausgeht, manchmal scheint eine Taste zu hängen und der Dimmer spielt verrückt.
Reagiert die Steuerung gar nicht auf zu kurze Tastendrücke bzw. zu kurze Pausen zwischen Tastendrücken oder reagiert sie zwar, jedoch erst "verspätet"?

Oder ist die ZyklusZeit evtl. so kurz (geworden), dass die Steuerung ein Prellen der Kontakte nicht gut genug "wegbügeln" kann?

Oder hast Du ein Problem mit dem BezugsPotenzial? Schlechte MasseVerbindungen oder sogar fehlende? Oder hohe AusgleichsStröme auf den MasseVerbindungen? Wenn das Problem so plötzlich aufgetreten ist, würde ich tatsächlich auf eine schlechte MasseVerbindung tippen. Vielleicht hat sich eine Klemme gelöst oder eine Strippe wurde versehentlich herausgerissen?
 
Ich würde auf zu kurze Taskintervalle oder ein höher priorisierter task macht dir die Abarbeitung deiner DI,s platt.
Du hast zwei Tasks mit gleicher Prio und die sind mit prio 31 von der Priorität her sehr niedrig.
Welcher Task verarbeitet bei dir die Logik die Probleme macht.?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Verhalten ist ehrlich gesagt nicht sonderlich deterministisch - würde sagen "mal so mal so". Manchmal reagieren die Taster gar nicht, mal normal, manchmal leicht verzögert. Auf gaaaanz kurze Tastendrücke reagiert sie nicht (bin mir aber auch nicht sicher ob sie das jemals getan hat)

Bei mir wurde vor kurzem eine Wallbox installiert - soll heissen der Elektriker war am Schaltschrank.... Aber das korreliert zeitlich nicht miteinander - die Störungen traten also erst 2-3 Tage später auf.
 
Man sollte dann Zähler für die Taskzeit nach dem Laden des Bootprojekts zurücksetzen und dann die Sps das Programm mal abarbeiten lassen, dann wird die Zeit bei guter Programmierung wesentlich niedriger und ohne riesen Schwankungen sein. Dan klappt auch das mit den 2,5 Faktor recht gut.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe nun mal das Programm gestoppt und wieder gestartet

Jetzt sieht das so aus:
Code:
tsk
Number of Tasks: 3
Task 0: DefaultTask,  ID: 2
   Cycle count: 1379
   Cycletime:       24033 microseconds
   Cycletime (min): 22525 microseconds
   Cycletime (max): 246880 microseconds
   Cycletime (avg): 36891 microseconds
   Status: RUN
   Mode:   CONTINUE
   ----
   Priority:  31
   Intervall: 10 ms
   Event:     NONE
   ----
   Function pointer: 16#B5D8B480
   Function index:   663


Nach einer Minute und ein paar mal "tsk":
Code:
tsk
Number of Tasks: 3
Task 0: DefaultTask,  ID: 2
   Cycle count: 5534
   Cycletime:       27510 microseconds
   Cycletime (min): 22401 microseconds
   Cycletime (max): 379967 microseconds
   Cycletime (avg): 36863 microseconds
   Status: RUN
   Mode:   CONTINUE
   ----
   Priority:  31
   Intervall: 10 ms
   Event:     NONE
   ----
   Function pointer: 16#B5D8B480
   Function index:   663
 
Das Verhalten ist ehrlich gesagt nicht sonderlich deterministisch - würde sagen "mal so mal so". Manchmal reagieren die Taster gar nicht, mal normal, manchmal leicht verzögert. Auf gaaaanz kurze Tastendrücke reagiert sie nicht (bin mir aber auch nicht sicher ob sie das jemals getan hat)

Bei mir wurde vor kurzem eine Wallbox installiert - soll heissen der Elektriker war am Schaltschrank.... Aber das korreliert zeitlich nicht miteinander - die Störungen traten also erst 2-3 Tage später auf.
Es kann nicht deterministisch sein weil die 10ms von Task 0 mal eine Flanke des Tasters mit verarbeiten und mal nicht.
Evtl. hast du zwei Probleme, 1x Tasksystem 1x Masseproblem
 
Ich habe nun mal das Programm gestoppt und wieder gestartet

Jetzt sieht das so aus:
Code:
tsk
Number of Tasks: 3
Task 0: DefaultTask,  ID: 2
   Cycle count: 1379
   Cycletime:       24033 microseconds
   Cycletime (min): 22525 microseconds
   Cycletime (max): 246880 microseconds
   Cycletime (avg): 36891 microseconds
   Status: RUN
   Mode:   CONTINUE
   ----
   Priority:  31
   Intervall: 10 ms
   Event:     NONE
   ----
   Function pointer: 16#B5D8B480
   Function index:   663


Nach einer Minute und ein paar mal "tsk":
Code:
tsk
Number of Tasks: 3
Task 0: DefaultTask,  ID: 2
   Cycle count: 5534
   Cycletime:       27510 microseconds
   Cycletime (min): 22401 microseconds
   Cycletime (max): 379967 microseconds
   Cycletime (avg): 36863 microseconds
   Status: RUN
   Mode:   CONTINUE
   ----
   Priority:  31
   Intervall: 10 ms
   Event:     NONE
   ----
   Function pointer: 16#B5D8B480
   Function index:  
[/QUOTE]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Deine Taskzeit ist ziemlich lange, das Programm kann nur in Scheibchen abgearbeitet werden. Wenn du die Taskeit auf 300ms hochstellst wird dein Programm anders reagieren, evtl. müssen die Doppelklicks sehr langsam ausgeführt werden.
Aber trotzdem brauchen da Programmteile viel Zeit.
Kannst du einzelne PRGs mal aus dem Programmdurchlauf rausnehmen? Somit könntest du sehen wie die Zeit sich verändert.
 
Code:
Cycletime (max): 246880 microseconds
nach einer Minute und ein paar mal "tsk":
Cycletime (max): 379967 microseconds
Tendenz steigend also. Knappe 400 ms Zykluszeit und erst recht Schwankungen 25..400 ms können einen Bediener (der Tasten) durchaus irre machen und die Reaktion eines Dimmers auch. ;)
 
Ein Soll von 10ms macht keinen Sinn wenn du Minimum 22ms brauchst. Da würde ich erst mal auf 30ms hoch gehen und dann schauen, was die Werte machen.
 
Zurück
Oben