Beiträge von CORT

    Hallo Forum,


    ich habe ein kleines Problem mit http requests, wie mein Titel schon vermuten lässt.

    Ich bin da leider komplett neu und ziemlich blank. Ich habe folgendes Problem:

    Ich habe eine SPS, die mit einem WebPanel verbunden ist, dass die Visualisierung der SPS anzeigt. Leider friert mir das Panel ein, wenn meine SPS/Applikation auf Stopp geht.

    Ich habe die Möglichkeit über eine Textdatei den Status der SPS auszulesen.


    Idee ist es nun, auf dem WebPanel ein kleines Script laufen zu lassen, dass diese Textdatei ausließt und ggf. seine Browserseite neu startet.


    Bis jetzt hab ich mir folgendes überlegt... bin mir aber nicht sicher ob Syntax und Logik dahinter passen... vielleicht könnte sich das mal jemand von euch anschauen?


    - Über http request wird die Datei geöffnet

    - Wenn Inhalt der Datei = AppState=2, dann neu starten der Startseite im Browser

    - Das ganze soll zyklisch alle 5 Sekunden geprüft werden.


    Was denkt ihr?

    So ich gleich nochmal.


    In nem anderen Forum kam folgende Idee:

    Idee: Console Log des referenzierten IFrames abfangen, parsen und falls da die Stop Message kommt umschalten mit Timeout


    leider bis dato noch keine weitere Beschreibung.


    Kannst du damit was anfangen? Ist Vermutlich genau das mit dem Event, was wir gemacht hatten oder?

    Hallo,


    Entschuldigung für die späte Rückmeldung. Hatte letzte Woche leider keine Möglichkeit an dem Projekt weiterzuarbeiten.


    Der Support sagte mir, dass Sie das "Problem" so lösen, dass Sie einfach einen zweiten Favorit anlegen und dieser dann Manuell ausgewählt werden müsste. Für alles andere haben Sie leider nichts, was Sie mir anbieten könnten...


    Bei Chrome habe ich halt das Problem, dass nicht jeder Chrome benutzt und ich das ganze so universell wie möglichen machen soll/möchte.

    So langsam sehe ich schwarz für meine Wünsche :(

    Da bin ich jetzt leider überfragt, bei Javascript, HTML und CSS bin ich gut dabei, aber Netzwerksachen waren noch nie meine Stärke.

    Ich habe auch mal einen Blick auf die Website des Herstellers geworden und es gibt dort Supportadressen, sowohl Telefon als auch Email. Versuche doch dort mal, dein Vorhaben zu beschreiben, vielleicht haben sie eine Lösung.

    Jo werde ich da auch nochmal versuchen.


    Wegen meinem Code von #27

    Der ist aus nem anderem Forum. Der Beitrag ist jedoch schon einige Jahre alt :( Aber kann ich mal versuchen ob sich da noch jemand meldet :)


    Dir nochmal vielen Dank für die Hilfe!

    Jetzt hätte ich noch eine andere Idee... weiß nur nicht ob das so Sinn macht :)


    In dem Code, den wir bis jetzt haben, wird das iFrame1 geöffnet. Wenn das erfolgreich war und die Website läuft, könnte ich doch auch einfach das Öffnen des zweiten iFrames überspringen oder? Ansonsten öffnet er ja sowieso das zweit iFrame.


    Könnte man dann das so machen, dass man auf "error" gar nicht überprüfen muss, sondern auf "success" oder so?

    Hi,

    so... ich verwende als Hardware aktuell eine Wago PFC200 750-8214

    für eine Wago 750-841 habe ich ein Beispiel gefunden, dass die Wago über SSI anspricht... kann man damit was anfangen?

    Man kann scheinbar über SSI die Ein und Ausgänge direkt steuern. Wie das genau zu realisieren ist weiß ich leider nicht...


    Noch ein anderer Gedanke... wenn ich jetzt ne AIP von der speziellen Hardware verwende, würde meine html-Seite ja vermutlich bei anderer Hardware nicht funktionieren... würde das gerne irgendwie universell hinbekommen (falls Hardware geändert wird, was vermutlich noch passiert)


    Könnte man eventuell Netzglobale Variablen (z.B. Lifecounter), die via UDP verschickt werden auf einer html-Seite auslesen?


    Es muss doch irgendwie ne Möglichkeit geben, zu kontrollieren ob die Seite aufgerufen werden konnte oder nicht, ohne sich da groß zu verbiegen :wacko:



    Also:


    Das grundlegende Problem ist ja, dass ich die "webvisu.htm" erreichen möchte. Ist das nicht möglich, weil die CPU auf Stop ist oder ausgeschaltet, möchte ich auf die webvisu.htm der zweiten sps schalten.


    die webvisu.htm ist die Bedienoberfläche für mein SPS-Programm.


    die wbm ist die Konfigurationsseite der SPS => hier kann ich die IP-Adresse (Ja hat eine eigene) und verschiedene Einstellungen der SPS vornehmen (als Grundsystem läuft hier LINUX).


    Das Problem mit dem Ping ist -wie du schon gesagt hast- dass hier ein Stop des Programms nicht berücksichtigt würde, da der Ping trotzdem funktionieren würde.


    Wenn ich versuche den obigen Code mit der webvisu.htm zu starten wird das Frame korrekt angezeigt. In der Konsole erhalte ich folgende Meldung:

    hmh...sieht leider schlecht aus:


    könnte man mit php und URL-Check was machen... hab da was gelesen... man müsste dann aber vermutlich ein separates php-File schreiben und das einbinden oder?


    so in der Art:

    Fortsetzung:

    Ja das ganze ist <!DOCTYPE html>


    Ich könnte dir den Code mal kopieren:


    Hi,


    erst mal wieder Danke für deine Antwort.


    Ich fürchte dass das nicht so einfach möglich ist.

    Wenn ich ein Bild auf dem Dateisystem der SPS ablege, kann ich das nur über z.B. FTP öffnen...was ja als Bestandteil einer Http(s)-Seite verboten ist...richtig?


    Ich könnte jedoch das WebBasedManagement der SPS erreichen...würde mir das was bringen? Hier wird über eine LED der Status der SPS angezeigt. Ist die SPS abgeschaltet, wäre auch diese Seite nicht zu erreichen...

    Hab das ganze auch mal wie folgt versucht:

    - Eingabe funktioniert und öffnet sich erst nach Submit

    - Leider öffnet sich nur die URL1...auch wenn diese nicht erreichbar ist, passiert nichts


    Es wird mir nur angezeigt "Loading Webvisualisation" => Irgendwann hier dann Fehler beim Laden...wobei hier kein Fehler 404 angezeigt wird, sondern Fehler beim Laden der Webvisu. (Bild im Anhang)


    Der Fehler wird scheinbar nicht getriggert... dies ist der Fall, wenn ich mein SPS-Programm stoppe, oder auch die ganze SPS neu Starte (also auch der Webserver definitiv nicht aktiv ist)


    Eine Idee an was das liegen könnte?


    Auch das ist selbstverständlich möglich. Speichern ist am einfachsten im Localstorage. Dieser liegt jedoch lokal auf dem Computer des Benutzers. Willst Du, dass die Werte für alle Benutzer verfügbar sind, musst Du sie serverseitig speichern.

    Und für eine Verzögerung gibt es in Javascript die Funktion setTimeout().

    Ich denke hier würde ausreichen, wenn ich das im Localsotrage des Panels speichern würde, mit dem ich die Visualisierung aufrufe. Sollten weitere Clients dazu kommen, müssten die, die Eintragung einfach auch vornehmen. Das wäre OK.


    Sollte das Grundlegende von den Posts oben gut funktionieren, werde ich das mit dem setTimeout mal probieren :)


    Dir schon mal vielen Dank für die sehr kompetente Unterstützung!

    Code
        <iframe id="iframe1" src=Ip1></iframe>
        <iframe id="iframe2" src=Ip2></iframe>

    Das wird nicht funktionieren, denn dieser Code wird ja sofort beim Laden der Seite ausgeführt und dann ist in den Eingabefeldern noch nichts drin. Du musst das Submit ebenfalls mit einem Eventlistener abfangen, darin die Werte auslesen und in die src-Attribute eintragen, etwa so:

    Ungetestet. Wenn das funktioniert, kannst Du der ersten SPS Priorität geben wie im vorigen Posting beschrieben.

    Wahrscheinlich wäre es auch ratsam, die URLs zu validieren bzw. zu prüfen, aber wir wollen mal nicht den zweiten Schritt vor dem ersten tun.


    Das mit dem Submit scheint gut zu funktionieren...:-)