Jetzt mal ganz im ernst, der Timer ist schuld und nicht das schlechte Netz oder ein Betriebselektriker der nicht weiß was er macht?
Du als Programmierer bist sehr wohl für eine sauberes Kalt/Warmstart-Verhalten deines Programmes zuständig. Das macht gute Software aus.
Der Betriebselektriker soll schalten walten können ohne das was schiefgeht und von der USV soll die Ablaufqualität auch nicht abhängen.
Ich selber habe in jeder Software hunderte IEC Timer und die haben noch nie nicht funktioniert.
Was war dann die ET#-12D -Anzeige. Nicht existent? Nie passiert?
Du hast doch geschrieben dass dir bekannt ist dass Siemens-CPUs beim Kalt/Warmstart "
empfindliche und teilweise auch nicht vorhersagbar" reagieren...
Wo kommt jetzt das niemals nie her?
Keine Sorge ich verwende auch ausschließlich IEC-Timer.
Heißt aber nicht dass die problemlos sind, wie oben ja angemerkt, deshalb finde im meinen Rat zur "Aufmerksamkeit" durchaus berechtigt...
Das Initialisieren von Funktionen bzw. ganzer Bausteine ist doch ungeschriebenes Gesetz und wird in jeder Siemens Schulung oder Ausbildung gelehrt.
Ja komisch, sind die Siemens-Programmierer des IEC-Timers wohl nicht auch deine Schulung gegangen...
Denn deren Funktionen initialisieren sich ja schon mal nicht sauber...
Ich würde ja nichts sagen wenn der Timer nach CPU-Neustart bei 0 beginnt, stehen bleibt oder einfach weiter läuft.
Aber wenn der Timer im negativen Bereich zu arbeiten beginnt, dann ist das wohl nicht sauber oder korrekt.
Damit ist es also die Aufgabe des Programmierens dieses
schlechte Initialisierungsverhalten selbst abzufangen.
Wobei wieder keiner weiß wie dieses Verhalten genau aussieht, da nicht beschrieben.
Ist es echt so schwer den Fehler mal bei seiner Lösung zu suchen und der Art und Weise wie man implementiert anstatt immer alles auf das System zu schieben?
Hmm... ich nenne einen Fünf-Minuten-Timer der bei T#-12H(D) herumgurkt durchaus als fehlerhaft.
Wenn du selber einen Timer schreiben würdest, würdest du ja (oben hast du es geschrieben) dafür sorgen dass er sich korrekt initialisiert?
In dem Fall wurden 2 simple Timer im FUP zu nem Taktgeber verschalten. An die Reset/Initialisierungsroutine wurde tatsächlich nicht gedacht.
Bei so nem simplen Scheiß denkt man nicht immer dran...
Wobei, im Endeffekt stimmst du mir ja zu.
Der Programmierer ist verantwortlich dass sich sein Programm sauber initialisiert, dementsprechend muss er sich auch um jeden IEC-Timer kümmern den er verwendet.
Denn wie du oben ja beschrieben hast, verhalten sich CPUs unter bestimmten (undokumentierten Bedingungen) "
sehr empfindliche und teilweise auch nicht vorhersagbar".
Ich sag ja nicht dass der Programmierer in dem Fall schuldfrei war, das System aber schon ganz sicher ebenso nicht....