Sonstiges S7-1500 - Ausfall bei Zugriff mit Chrome über Android

Zuviel Werbung?
-> Hier kostenlos registrieren
Reicht es somit, wenn ich das Javascript Zeugs aus der Seite nehme? Das wäre einfach zu testen.
Wenn das die einzige Quelle von AWL-Anweisungen sind (also im statischen Teil auch keine AWP), könnte man damit erst mal anfangen.

Die anwenderdefinierten Webseiten landen ja in den Webserver-DBs. Wenn der Haupt-FB dazu nicht im Programm aufgerufen wird, dann funktionieren die Anwenderdefinierten nicht. Ich vermute mal, dass die Ersetzung der AWP-Variablen auch durch den aufgerufenen FB durchgeführt wird. Die Siemens eigenen Seiten funktionieren ja unabhängig davon.
 
ja, bei der 1511-1 PN war der Code Arbeitsspeicher recht schnell voll, Zykluszeit schon bis zu 100ms glaub ich (noch ältere FW, da hat sich einiges getan), und da noch einiges kommt, hab ich die übernächste genommen.
Offtopic:
Klingt ja sehr ungewöhnlich für eine Hausautomatisierung. Was frisst denn so viel Zykluszeit? So viele Aktoren/Sensoren...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Thomas

Test mit allen Javascript bzw. AWP weg - CPU Stopp möglich (das hat mich jetzt gewundert, da ich dachte, dass es die Kommunikation ist)
Test mit direktem Aufruf der Simatic eigenen Einstiegsseite (Webserver/Anwenderseiten/Einstiegsseite/Startseite statt AWP1) - CPU Stopp möglich mit Fehlerprotokoll:

Temporärer CPU-Fehler: Schwerwiegender Firmware-Ausnahmefehler
(interner Systemcode: 16#00400001 16#1002012E 16#78D7B110)
CPU wechselt in DEFEKT-Zustand (Systemreaktion)

#257, 302 / #258, 302
#262, 302 #263, 302

Offtopic:
Klingt ja sehr ungewöhnlich für eine Hausautomatisierung. Was frisst denn so viel Zykluszeit? So viele Aktoren/Sensoren...

Am Anfang war die String erstellung für die Kommunikation und der Webzugriff sehr Zykluszeit intensiv. Dann hat es eine neue FW gegben mit der ist es besser geworden. Dann war der Speicher voll - somit Zwangsumstieg.
144DE, 160DA, 28AE, 4AA, ca. 35 Seiten inkl. den Cams, bei einer Heizungsseite sind über 100 Variable soweit ich mich erinnere.

20190508-JG_022221.jpg
 
Wieso ist das Thema eigentlich gelöst?

Hab meiner Frau gezeigt wie sie die CPU am Display starten kann ;).

Nein, ich hab aus versehen auf "hilfreichste Antwort" geklickt statt auf Danke. Hab es soeben korrigiert.

@Thomas - werde heute noch versuchen ob sich die CPU auch ohne Modbus Kommunikation lahmlegen läßt. Hab 2 Modbus TCP Abfragen mit Client 5.1 die einmal auf positiver und einmal auf negativer Flanke vom Sekundentakt laufen. Wenns noch was einfaches gibt was ich versuchen kann gib mir Bescheid.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So jetzt der vorerst letzte Versuch, bevor es für mich kompliziert wird.
Modbus Kommunikation abgedreht (Trigger fürs lesen entfernt), keine Uhrzeit sync. Damit sollte es keine andere TCP/IP Kommunikation geben, ausser beim Browser Start, der Aufruf der Simatic eigenen Einstiegsseite. (Intro Überspringen ist angehakt - Keine Beobachtungstabellen etc definiert.
An Sonderbausteinen hab ich nur OB30 und OB100 Einsatz.

Hat zwar ein bisschen länger gedauert, aber anbei der Fehlerstatus:

Temporärer CPU-Fehler: Schwerwiegender Firmware-Ausnahmefehler
(interner Systemcode: 16#00400001 16#10020011 16#00000000)
CPU wechselt in DEFEKT-Zustand (Systemreaktion)

#257, 17 / #258, 17
#262, 17 #263, 17
 
Ich denke, nun hilft nur noch eine Wireshark Aufzeichnung.

Ja, das denke ich auch. Ich hab mir Wireshark Portable heute angeschaut, aber damit bin ich erstmal überfordert. Bis ich das Zusammenbringe bräuchte ich sicher 2-3 Tage (switch Zugriff einrichten etc.). Wenn es jemand für seine eigenen Zwecke, oder für die Allgemeinheit austesten will, stelle ich gerne das System per Teamviewer etc. zur Verfügung, sofern mein Cisco Switch nacher wieder so läuft. Aber nächste Woche heißt es wieder Arbeiten und da geht es, falls ich zu Hause bin, nur am Abend. Für mich ist es soweit erledigt, dass ich einfach Chrome nicht nutze.

Ich denke wenn der Siemens Support, zu dem ich als Privater bis jetzt keinen Zugang habe, sich die Fehlermeldungen anschaut, werden die das schon finden. Ob ein Protokoll überhaupt bei der FW Fehler Suche helfen würde, bin ich auch nicht sicher. Dann könnte man es nur leichter reproduzieren. Jedenfalls bin ich richtig froh, das ich ein Test(Tausch)system hab, sonst hätte ich es nicht geglaubt, bzw. einen CPU Defekt für möglich gehalten.

Danke jedenfalls wieder einmal für die gute Hilfe hier im Forum!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich glaube nicht wirklich das sie das ohne dein System nachstellen können.

Ich schreib mal unseren Vertreter an.

Mit Teamviewer alleine wird das niemand Analysieren können, da das Problem ja nur mit deinem Tablett auftritt. Du müsstest halt einen Switch mit mirrow Port oder einen Hub dazwischenschalten.

Welche Chrome Version läuft denn auf dem Tablett?
 
Ich glaube nicht wirklich das sie das ohne dein System nachstellen können.

Ich schreib mal unseren Vertreter an.

Mit Teamviewer alleine wird das niemand Analysieren können, da das Problem ja nur mit deinem Tablett auftritt. Du müsstest halt einen Switch mit mirrow Port oder einen Hub dazwischenschalten.

Welche Chrome Version läuft denn auf dem Tablett?

Die Systemcodes etc. sollten schon reichen, wenn sich wer dransetzt und ein bisschen sucht, denke ich.

Und mein vorhandener Switch kann das. Nur mir fehlt da eben das know how. (SSH Zugang für Wireshark?, Mirrorport einstellen etc. müßte ich mich in alles erst einlesen). Wenn wer ständig mit sowas zu tun hat, ist das vermutlich in 1-2 Stunden erledigt. Und natürlich würde ich dabeibleiben und mit dem Tablet den CPU Stopp auslösen versuchen.
Chrome Version ist Letztstand - die genauen Versionen von Tablet, Android etc. stehen alle im ersten Beitrag.
 
Mit nur aus der Ferne draufschauen wird das nicht gehen, weil du das vor Ort auch passend zusammenstecken musst.

Wie das Portmirroring einzustellen ist, hängt immer vom Hersteller ab. Aber üblicherweise konfigurierst du ein Port als Mirror-Port, und wählst einen oder mehrere Quell-Ports aus dessen Traffic auf dem Mirror-Port zusätzlich gespiegelt haben möchtest.
Als Quell-Port wählst du den Port aus an dem die SPS eingesteckt ist.
An den Mirror-Port schließt du einen PC mit Wireshark an.

Wenn du Wireshark startest, wählst du die Netzwerkkarte aus der Liste aus welche mit dem Switch am Mirror-Port verbunden ist, und kannst dann schon aufzeichnen. Es sollten dann auch schon Pakete in der Liste von Wireshark eintreffen wenn jemand den Webserver der SPS aufruft.

Wenn das funktioniert ist das schon einmal der erste Schritt.

So eine Aufzeichnung enthält aber u.U. auch private Daten aus deinem Netzwerk. Darum solltest du so etwas nicht ohne weiteres z.B. hier im Forum anhängen wenn du dir nicht sicher bist. Dafür lässt sich die Aufzeichnung z.B. auf weitere Details beschränken, oder eine Aufzeichnung nachher auch noch auf den Datenaustausch zwischen SPS und Tablet bereinigen. Wenn der erste Schritt getan ist, können wir ja weitermachen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
- und generell finde ich die Webtechnologie für wichtige Geschichten nicht so toll

alles meine persönliche Meinung und auch in ähnlicher Form für viele wichtige Anlagen umgesetzt.

Gruß.

Es ist so, daß im Zeitalter der "Industrie 4.0" immer mehr Leute der Meinung sind, wir würden hier irgendwelche besondere Smartphone-Apps entwickeln. Den Unterschied zwischen einer ausfallsicheren Anlage mit gehörigem Safety-Anteil und Kinderspiel "Schlange" kann man offensichtlich keinem Manager mehr vermitteln.
 
@Thomas - Dank Deiner Anleitung läuft das soweit. Hab einen Laptop mit Lan Kabel auf den konfigurierten Mirorport gehängt (Source ist Port 2 - SPS / Destination ist Port 3 - Der Laptop / Type = Tx and Rx).

Aber da ist ja die Hölle los in meinem Netzwerk (2 aktive Server mit 3 VMs, 5 Cams usw.2 APs etc., obwohl ich schon etliches abgedreht habe. Kann ich das nicht schon vorher irgendwie besser filtern? Ich hab jetzt Wifi und die VM Netzwerkadapter am Laptop unter Aufzeichnen/Optionen abgedreht. Dann gibts noch Lan Verbindung und Ethernet. Ich sehe auf die schnelle keinen Unterschied?

Wie erkenne ich eigentlich, das ich jetzt den sicher den SPS Port habe? Wie geht es weiter? Einfach die CPU jetz zum Absturz bingen?
 
Zuletzt bearbeitet:
Du kannst beim Aufzeichnen schon einen Filter setzen, z.B. auf eine bestimmte IP oder auch Mac-Adresse, oder einen bestimmten TCP Port.

Ein Filter auf IP-Adresse würde sich ggf. anbieten, wenn deine SPS z.B. die IP 192.168.1.100 besitzt, dann mit:

host 192.168.1.100

Oder z.B. auf die Portnummern des http/https-Protokolls mit einem Filter:

port 80 or port 443
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber da ist ja die Hölle los in meinem Netzwerk (2 aktive Server mit 3 VMs, 5 Cams usw.2 APs etc., obwohl ich schon etliches abgedreht habe. Kann ich das nicht schon vorher irgendwie besser filtern? Ich hab jetzt Wifi und die VM Netzwerkadapter am Laptop unter Aufzeichnen/Optionen abgedreht. Dann gibts noch Lan Verbindung und Ethernet. Ich sehe auf die schnelle keinen Unterschied?

Wie erkenne ich eigentlich, das ich jetzt den sicher den SPS Port habe? Wie geht es weiter? Einfach die CPU jetz zum Absturz bingen?

Wenn an dem Switchport mit der SPS wirklich nur noch die SPS hängt, dann dürftest du auf dem Mirrorport eigentlich nur den Datenaustausch sehen an dem die SPS teilnimmt, und ggf. einige Broadcast Nachrichten.

Der Switch schickt ja die Datenpakete nur an den Ports heraus an dem auch der Teilnehmer mit der angefragten MAC-Adresse hängt, genau aus dem Grunde wird eben der Mirrorport benötigt, weil du ansonsten an einer anderen Stelle im Netzwerk den Datenverkehr zwischen SPS und Tablet nicht mitschneiden kannst.

Um zu sehen woran der Absturz liegt:
Einmal eine Aufzeichnung eines Aufrufs einer möglichst einfachen Webseite von der SPS mit Webbrowser bei dem es funktioniert erstellen, und eine weitere Aufzeichnung bei der die gleiche Seite aufgerufen wird und die SPS in Defekt geht.
 
Nur mal zur Info: Der Jochen hatte mir am Wochenende ein paar Wireshark Mitschnitte erstellt, aber wirklich erkennen woran es liegt lässt sich nicht.
Bei https lässt sich das ja nicht mehr ganz so einfach diagnostizieren wie bei http. So wie er schreibt, tritt bei der Verwendung von http das Problem auch nicht auf.

Was allerdings auffällt, dass sein Browser auf dem Tablet innerhalb einer 30 Sekunden Aufzeichnung versucht insgesamt 63 https Verbindungen aufzubauen, von denen dann 39 mit Zertifikatsfehler wieder abgebaut werden. Parallel kommen aber einige https Verbindungen auch erfolgreich zustande über die dann Daten ausgetauscht werden. Irgendwann ist dann Schluss und die SPS beantwortet neue https Verbindungsanfragen (Client Hello) nicht mehr, und da ist die SPS dann vermutlich schon in Stop/Defekt.

Meine Vermutung ist, dass die SPS bei zu vielen https Anfragen in zu kurzer Zeit überlastet wird und sich damit in Stopp schicken lässt, weil die gleiche Webseite über http mit gleichem Browser zu funktionieren scheint. Ohne eigene SPS auf dem Schreibtisch an der sich auch alles ausprobieren lässt ist das aber sehr schwer nachzuvollziehen.

Falls hier jemand einen kurzen Draht zum Siemens Support besitzt, kann er die ja mal auf die Problematik hinweisen. Das ist ja nicht ganz unkritisch wenn sich die SPS so leicht in Stop schicken lässt.
 
Grüß Euch,

Danke nochmal für die Anleitung an Thomas. Wie er schon geschrieben hat, hab ich nach seiner Anleitung ein Protokoll erstellt.
Wenn es noch wer haben möchte, bitte PN mit Email Adresse für die Dropbox Freigabe. Ich glaube auch nicht, das sich da was rauslesen läßt.
Zusammengefasst nochmal der Iststand:

CPU 1515-2PN HW FS:03 - FW 2.6.1
Display HW FS:01- FW 2.6.1


Auslösendes Gerät: Lenovo Yoga Tab3
Browser: Chrome V 73.0.3683.90 verfügbarer Letztstand
Betriebssystem Tablet: Android 7.1.1 - verfügbarer Letztstand
Strecke zur Simatic: AP Cisco WAP 371 - FW: Letztstand und Switch Cisco SG300-28PP - FW: Letztstand

Soweit ich jetzt am Schluß beobachten konnte, passiert es nur mit https. Getestet ohne Zertifikat auf der SPS, mit TLS und Webseiten Zertifikat (selbst erstellt)
Mit http ist es mir nicht gelungen, was es aber auch nicht ausschließt.
Eventuell passiert es auch mit anderen Geräten, hab ich jetzt aber nicht noch einmal versucht. (vielleicht hab ich voeher bei den andern Tabs und Handys nur http benutzt)
Ich glaube auch nicht, dass es die Menge der Anfragen ist, da der allererste Fehler einfach beim erst Aufruf des Browsers war - Start Browser mit eigener Webseite als Starttab am Tablet - Haus Finster - CPU Stopp mit Fehler siehe Seite 1.

Mein Versuchsaufbau, mit dem das Wireshark Protokoll erstellt wurde, war wie in Beitrag 31 von Thomas und mit abstellen aller von mir ersichtlichen CPU kommunikationen auf TCP bzw. Modbus TCP Basis. Weiters hab ich als Startseite die Simatic Startseite gewählt und aufgerufen. Nicht meine eigene Seite!
Da der Fehler nicht immer beim ersten Mal passiert, hab ich so lange das Browserfenster bzw. den Browser immer wieder geschlossen, bis die CPU in Stopp ging. Das erklärt auch eine gewisse Menge der Anfragen im Protokoll (hat halt estwas gedauert bis die CPU ausfiel), aber nicht die Menge am Schluß in sehr kurzer Zeit. Ich brauche ca. 0,5 bis 1 Sekunde um den Browser wieder aufzurufen.

Der im Protokoll ersichtliche Wechsel von TLSv1 auf TLSv1.2 ist es meiner Meinung nach auch nicht, da dass schon lange vor dem Ausfall auch mal war.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der im Protokoll ersichtliche Wechsel von TLSv1 auf TLSv1.2 ist es meiner Meinung nach auch nicht, da dass schon lange vor dem Ausfall auch mal war.

Da habe ich schon herausgefunden woran diese Anzeige liegt. Die TLS-Version wird zwischen den beiden Partnern ausgehandelt. Wurde die Aushandlung erfolgreich mit z.B. TLSv1.2 abgeschlossen, dann zeigt Wireshark diese Version für die ganze Session an. Kommt die Aushandlung nicht erfolgreich zustande wie bei dir am Ende der Aufzeichnung, dann wird die Version aus dem Header des ersten "Client Hello" verwendet, und die ist TLSv1. In einem Record des "Client Hello" sagt der Client, "ich kann maximal TLSv1.2" und das kann der Server dann annehmen, oder wie bei meiner alten 1200er z.B. auf TLSv1.1 herunterziehen.
 
Hab mal einen Request beim Siemens Service erstellt:

Die Fragen nun nach dem Projekt. Wäre es möglich dies Siemens zur Verfügung zu stellen?
 
Hm, ich hab da jede Menge private Zugangspasswörter zu meinen Kameras, Mailrelais mit Emailadresse und Passwörter etc. drinnen. Würdest Du das machen?
Ich werde ev. noch versuchen, ob sie nicht ohne meine Webseiten auch abstürzt, aber das müßte ich erst wieder testen.
 
Zurück
Oben