Hallo zusammen, Herr Schwellinger,
das ganze läuft jetzt seit geraumer Zeit, Visu nicht ganz stabil (derzeit Prio 2), aber der Rest ist prima
Prio1 ist derzeit eine penetrante, hochfrequente Fehlermeldung im Log, zu finden u.a. unter Diagnostics im Webingterface:
Thu Apr 07 2016 12:09:01.253745 codesys: Event reset:High CPU usage detected ERR%
Thu Apr 07 2016 12:09:01.253745 codesys: Event reset:High CPU usage detected ERR%
Thu Apr 07 2016 12:09:01.271192 codesys: Event reset:High CPU usage detected ERR%
Thu Apr 07 2016 12:09:01.271192 codesys: Event reset:High CPU usage detected ERR%
Thu Apr 07 2016 12:09:01.289161 codesys: Event reset:High CPU usage detected ERR%
Thu Apr 07 2016 12:09:01.289161 codesys: Event reset:High CPU usage detected ERR%
Das sollte aber nicht sein, die Applikation ist leer (Template "Standardprojekt") außer einem manual ergänztem RETURN in PLC_PRG: Aufgerufen zyklisch alle 20ms mit Prio 1. Der 600MHz ARM Prozessor der PFC200 sollte das schon hinbekommen...
Die Überwachung zeigt:
"top" unter Linux teilt mit (worst case):
top - 12:23:26 up 3:54, 1 user, load average: 2.07, 1.92, 1.88
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
Cpu(s): 57.1%us, 42.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 252280k total, 68532k used, 183748k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 19688k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15402 root 20 0 2388 1108 880 R 31.2 0.4 0:02.25 top
1748 root 20 0 54916 26m 2844 S 25.0 10.9 82:30.03 codesyscontrol.
1513 root 20 0 8360 2452 1772 S 12.5 1.0 26:22.25 ledserverd
1364 root 20 0 4424 2032 1500 S 6.2 0.8 14:31.67 syslog-ng
1462 messageb -50 0 2376 896 684 S 6.2 0.4 13:05.70 dbus-daemon
1510 root 20 0 6892 1556 1332 S 6.2 0.6 12:29.24 logforward
Normalerweise braucht top aber keine 31% und "idle" ist eher bei 50% (fast immer):
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
Cpu(s): 29.7%us, 25.3%sy, 0.0%ni, 44.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 252280k total, 50952k used, 201328k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 18764k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1751 root 20 0 38080 11m 2776 S 25.2 4.5 16:42.56 codesyscontrol.
1516 root 20 0 8360 2452 1772 S 11.5 1.0 7:40.03 ledserverd
1367 root 20 0 4240 1908 1500 S 6.2 0.8 4:03.88 syslog-ng
1472 messageb -50 0 2376 892 684 S 5.9 0.4 3:55.92 dbus-daemon
1513 root 20 0 6892 1556 1332 S 5.3 0.6 3:30.09 logforward
- Die Fehlermeldungen/Logeinträge kommen auch, ohne dass man eingeloggt ist und top Rechenzeit schluckt.
- Der LED-Server braucht 1 / 8 der Rechenzeit: Komisch, aber wohl wahr. Das Kernproblem mit der Überflutung des Log-Files wird davon vermutlich aber nicht berührt?
Im Ergebnis stellt es sich das Problem so dar:
- Das Logging nimmt unterm Strich ca. 6% der Rechenzeit (ev. verschmerzbar)
- Es schreibt ungefähr 300kB pro Minute ins Flash: 400 MByte pro Tag, das macht das wear-out leveling bestimmt nicht 20 Jahre mit und die schöne SPS ist für die Tonne.
Zur Ergänzung:
- SPS firmware revision: 02.03.23(04)
- Entwicklungsumgebung: "CODESYS V3.5 SP8 +"
- Rohdaten in /var/log/wago/wagolog.log sehen so aus:
Thu Apr 07 2016 12:24:04.368562 0x000D0002 codesys: R
Thu Apr 07 2016 12:24:04.388686 0x000D0002 codesys: R
Thu Apr 07 2016 12:24:04.408717 0x000D0002 codesys: R
Thu Apr 07 2016 12:24:04.431795 0x000D0002 codesys: R
Thu Apr 07 2016 12:24:04.450657 0x000D0002 codesys: R
Thu Apr 07 2016 12:24:04.469919 0x000D0002 codesys: R
Dank und Gruß,
CarpeDiem