Bilder mit Variable verbinden

  • Hallo an alle,

    erstelle gerade eine Anwendersseite für einen Webserver und würde gerne wissen, wie ich in Html Bilder mit einer Variablen verbinden kann? Diese Variable gibt mir eine 0 oder eine 1. Bei 0 soll eine rote Lampe leuchten, bei 1 eine Grüne Lampe. Die entsprechenden Bilder sind bereits vorhanden.

    Vielen Dank vorab!

  • die Variable kann sich jederzeit ändern. Handelt sich um einen Sensor, der mir eine 0 oder eine 1 ausgibt.

    Die Html Seite wird für einen Webserver verwendet.

  • Das übernimmt eine Siemens CPU (S7-1500). Eine Variable lesen kann ich mit dem Befehl :=<Varname>: . Diese wird dann in regelmäßigen Abständen aktualisiert.

    Tut mir leid wenn ich deine Fragen nicht perfekt beantworte, bin noch Anfänger.

  • Poste doch mal das vollständige Javascript, das diese Variable mit diesem Befehl einliest.

    Und: Läuft dieser Webserver auf dieser S7 und liegt die Webseite auch dort?

  • Das ist ja soweit schon mal ganz aufschlussreich. Mach mal einen ersten Schritt und teste dieses Javascript:

    Code
    <script>
        var status = :="der-name-deiner-variable:";
        console.log(status);
    </script>

    Wirf einen Blick in die Console deines Browsers und beobachte was beim Laden der Seite dort ausgegeben wird.

    Einmal editiert, zuletzt von Sempervivum (15. Juli 2020 um 16:43)

  • Kann das leider erst nächste Woche richtig testen. Teste ich nur den Code in meinem Browser wird mir nichts ausgeben. Was sollte bestensfalls erscheinen?

  • wenn ich statt :="der-name-deiner-variable:" eine 1 verwende wird mir in der Console eine 1 angezeigt. Was w#re der nächste Schritt?

  • Du müsstest deinen Variablennamen einsetzen. Ich sehe gerade, dass mir noch ein Fehler unterlaufen ist: Gänsefüßchen an der falschen Position. So müsste es funktionieren:

    var status = :="varxyz":;

  • Kann das mit der Variable erst nächste Woche testenm, sollte aber hoffentlich funktionieren.

    Wie könnte ich jetzt bei einer 1 ein Bild einer Grünen Lampe und bei 0 einer Roten Lampe anzeigen lassen?

  • Wenn wir die Variable erst mal im Javascript drin haben, ist der Rest einfach: Ein img-Tag anlegen und abhängig vom Wert der Variablen das eine oder das andere Bild in das src-Attribut eintragen:

    Code
    <img id="statusanzeige">
    <script>
        var status = :="der-name-deiner-variable":;
        var statusimg = document.getElementId('statusanzeige');
        if (status == 1) {
            statusimg.src = 'bild1.png';
        } else {
            statusimg.src = 'bild0.png';
        }
    </script>

    Du kannst es ja schon Mal testen, indem Du zunächst statt der PLC-Variablen wieder eine 1 oder eine 0 einträgst.

    Einmal editiert, zuletzt von Sempervivum (15. Juli 2020 um 17:38)

  • bei mir funktioniert es nicht, da steht:

    Uncaught TypeError: document.getElementId is not a function

    <anonymous> file:///C:/Users/Admin/Desktop/Html/Text.html:52

  • Als ersten Schritt kannst Du sie im img-Tag hinzu fügen:

    <img id="statusanzeige" width="400" height="120">

    Auf längere Sicht ist es jedoch besser, es mit CSS zu machen:

    Code
    <style>
        #statusanzeige {
            width: 400px;
            height: 120px:
        }
    </style>

    und das dann in im head deiner HTML-Seite.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!