W&T Interfaces
für TCP/IP, Ethernet, RS-232, RS-485, USB, 20mA
Glas- und Kunststoff-LWL, http, SNMP, OPC, I/O digital, I/O analog, ISA, PCI, ...?
      Produkte
Home Kontakt   Distributoren weltweit
Sprachen:
DE

US

ES

IT

RU
Klimamessung
Web-Thermograph
WuTooth
Web-IO
Digital
Analog
Spezial
Datenserver
Motherbox 2
pure.box 2
Netzwerkspeicher
TCP/IP-Ethernet Server
Com-Server (Seriell)
USB-Server
Serielle Interfaces
USB, RS232, RS485, 20mA
Isolatoren & Lichtleiter
USB, RS232, RS485, 20mA
PC-Karten
PCI Express, PCI- und
ISA-Bus
...
Drucker-Interfaces
Zubehör
Downloads
Altes
Warenkorb    Ihr Warenkorb

 
      Fachwissen
Bücher, Aufsätze, Glossare...
Technische Hintergrundinfo
Applikationen zu Com-Server,
USB-Server
, Web-IO,
Web-Thermometer,
Motherbox und pure.box
 
Applikation zum Web-IO Digital:

Web-IO Digital - mit JavaScript und Java-Applet im Browser visualisieren




 Weiterführende Links: Produktübersicht Applikationsübersicht Druck-Version


Der Internet Browser ist heute Bestandteil aller modernen Betriebssysteme und wird beim Surfen im Internet als vielseitiges Anzeigeinstrument geschätzt.

Digitale IOs mit Java-Applet im Browser visualisieren

In Verbindung mit den W&T Web-IOs kann der Browser nun auch als Anzeige- und Steuerelement für dynamische, technische Anwendungen benuzt werden.

Der Motor für die Dynamik ist hierbei ein Java-Applet, das einfach aus dem Web-IO in den Browser geladen wird und hier den Prozessdatenaustausch mit dem Web-IO übernimmt. Einfache JavaScript-Routinen nehmen bei Veränderungen den aktuellen Status der IOs vom Java-Applet entgegen und passen die Anzeige im Browser den Gegebenheiten im Feld an.

Vergleich Java Script und HTTP

Die im Folgenden beschriebene Anwendung zeigt beispielhaft das Zusammenspiel von Browser, Java-Applet und Web-IO.


Sie haben noch kein Web-IO und möchten das vorgestellte Beispiel einfach mal ausprobieren?

Kein Problem: Wir stellen Ihnen das Web-IO Digital 2xInput, 2xOutput PoE gerne kostenlos für 30 Tage zu Verfügung. Einfach Musterbestellung ausfüllen, wir liefern das Web-IO zum Test auf offene Rechnung. Wenn Sie das Gerät innerhalb von 30 Tagen zurück schicken, schreiben wir die Rechnung komplett gut.

Zur Musterbestellung   Zur Musterbestellung  

Vorbereitungen
Sie haben Ihr Web-IO Digital bereits
1. Zusammenstellen der verschiedenen Bedienelemente und Anzeigeobjekte auf der Webseite

Bedienelemte

Bei der Benennung der einzelnen Objekte bzw. der aufzurufenden Funktionen ist es hilfreich, sinngebende Namen zu verwenden.


1. HTML-Grundaufbau der Webseite
  • Platzieren der Bedien- und Anzeigeelemente
    Zur besseren Strukturierung werden die einzelnen Elemente in Tabellen untergebracht und das Ganze als Formular deklariert. Das <user.htm> Tag gehört nicht zur Standard HTML Syntax und dient dem Web-IO zur Identifikation der Webseite. Das Tag wird vor dem Hochladen in den Browser ausgefiltert.
<user.htm>
<html>
  <head>
    <title>Web-IO mit Java-Aplett</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <STYLE type=text/css>
      TD {COLOR: #000000; FONT-FAMILY: Verdana,Arial,Helvetica; FONT-SIZE: 10pt; }
    </STYLE>
  </head>
  <body bgcolor="#FFFFFF">
    <form name="ioform">
      <table width="500" border="1" height="144" bgcolor="#CCCCCC">
        <tr>
          <td>
            <table width="500">
              <tr>
                <td colspan="5">
                  <b>Input/Output Control </b>
                </td>
              </tr>
              <tr>
                <td width="100">
                  <input type="checkbox" name="cb_output" onclick="setOutput(0)">
                  Output 0
                </td>
                <td width="100">
                  <input type="checkbox" name="cb_input">
                  Input 0
                </td>
                <td width="100">
                  <div align="right">Counter 0 </div>
                </td>
                <td width="*" bgcolor="#FFFFFF" id="counter0">
                </td>
                <td width="55">
                  <input type="button" value="Clear" onclick="clearCounter(0)">
                </td>
              </tr>
              <tr>
                <td width="100">
                  <input type="checkbox" name="cb_output" onclick="setOutput(1)">
                  Output 1
                </td>
                <td width="100">
                  <input type="checkbox" name="cb_input">
                  Input 1
                </td>
                <td width="100">
                  <div align="right">Counter 1 </div>
                </td>
                <td width="*" bgcolor="#FFFFFF" id="counter1">
                </td>
                <td width="55">
                  <input type="button" value="Clear" onclick="clearCounter(1)">
                </td>
              </tr>
              <tr>
                <td width="100" height="29">&nbsp;
                </td>
                <td width="100" height="29">&nbsp;
                </td>
                <td width="100" height="29">
                  <div align="right">Counter all </div>
                </td>
                <td width="*" height="29">
                </td>
                <td width="55" height="29">
                  <input type="button" value="Clear" onclick="clearCounter()">
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
      <table width="500" border="1" bgcolor="#CCCCCC" >
        <tr>
          <td height="35">
            <table width="500">
              <tr>
                <td width="77">Password
                </td>
                <td width="141">
                  <input type="text" name="ed_password">
                </td>
                <td width="266">
                  <div align="right">
                    <input type="button" value="Send" onclick="setPassword()">
                  </div>
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </form>

....

 


2. Java-Applet in die Webseite einbinden
  • Das <aplplet> Tag und die Parameterübergabe
    Bei der Einbindung des Java-Applets muss innerhalb des <applet> Tags der Name angegeben werden, über den das Applet innerhalb der Webseite angesprochen werden soll. Ferner muss angegeben werden, welches Applet geladen werden soll. Immer wenn das Applet nicht vom selben Server geladen werden soll, wie die Webseite selbst ist außerdem mittels codebase die Adresse des Servers anzugeben. Werden Webseite und Applet vom gleichen Server geladen, kann dieser Parameter entfallen.

    Zwischen den Beiden <applet> Tags werden Parameter übergeben , welche die Kommunikation mit dem Web-IO betreffen und steuern.


.......

<applet name="dio" archive="dio.jar" code="dio.class" codebase="http://10.40.22.21"         width="0" height="0" mayscript>
  <param name="device" value="0">
  <param name="showerrors" value="off">
  <param name="inputpolling" value="on">
  <param name="outputpolling" value="on">
  <param name="counterpolling" value="on">
  <param name="pollingrate" value="200">
</applet>

.......


3. Bedienung durch den Anwender verarbeiten

In Abhängigkeit davon, welches Bedienelement der Webseite der Anwender angeklickt oder verändert hat, werden bestimmte JavaScript Funktionen aufgerufen. Die JavaScript Funktionen rufen dann ihrerseits Routinen des Java-Applets auf und übergeben ggf. nötige Parameter.

  • Übergabe des Passwortes
    Diese Funktion wird nur benötigt, wenn für den Zugriff auf das Web-IO ein Passwort vergeben wurde.
function setPassword()
{ document.applets["dio"].setPassword( ioform.ed_password.value );
  ioform.ed_password.value = '';
}
  • Setzen der Outputs
    Das Setzen der Outputs wird dem Anwender über zwei Checkboxen cb_output ermöglicht. Bei Aufruf der Funktion wird die Nr. des Outputs übergeben.
<script language="JavaScript" type="text/javascript">
<!--
function setOutput(OutputNr)
{ var Out = 0;
  Out |= Math.pow( 2, OutputNr );
  if (ioform.cb_output[OutputNr].checked==true)
  { document.applets["dio"].outputAccess( Out, Out );
  }
  else
  { document.applets["dio"].outputAccess( Out, 0 );
  }
}

  • Counter löschen
    Die Zählerstände der Input-Counter lassen sich löschen. Als Parameter wird die Nr. des Counters übergeben, der gelesen bzw. gelöscht werden soll. Wenn kein Parameter übergeben wird, löscht das Web-IO alle Counter.

function clearCounter(CounterNr)
{ if (CounterNr==undefined)
  { document.applets["dio"].counterClear(0xf);
  }
  else
  { var Counters = 0;
  Counters |= Math.pow( 2, CounterNr );
  document.applets["dio"].counterClear( Counters );
  }
}


4. Aktualisieren der IO-Zustände und der Counter-Stände

Das Überwachen der Inputs, Outputs und Counter des Web-IO übernimmt das Java-Applet. Wird eine Änderung erkannt, ruft das Applet eine entsprechende JavaScript Funktion innerhalb der Webseite auf.

  • Änderung an den Outputs
    Wird eine Änderung erkannt, wird die folgende Funktion aufgerufen. Es wird übergeben, von welchem Web-IO die Änderung gemeldet wurde, welcher Output sich geändert hat und in welchem Status sich der Output aktuell befindet.
function outputChanged( Device, OutputNr, OutputVal )
{ ioform.cb_output[OutputNr].checked=OutputVal;
}
  • Änderung an den Inputs
    Wird eine Änderung erkannt, wird die folgende Funktion aufgerufen. Es wird übergeben, von welchem Web-IO die Änderung gemeldet wurde, welcher Input sich geändert hat und in welchem Status sich der Input aktuell befindet.

function inputChanged( Device, InputNr, InputVal )
{ ioform.cb_input[InputNr].checked=InputVal;
}

  • Änderung an den Countern
    Wird eine Änderung erkannt, wird die folgende Funktion aufgerufen. Es wird übergeben, von welchem Web-IO die Änderung gemeldet wurde, welcher Counter sich geändert hat und welcher Zählerstand aktuell vorliegt.

function counterChanged( Device, CounterNr, CounterVal )
{ document.getElementById('counter'+CounterNr).innerHTML = '<a>'+CounterVal+'<\/a>';
}

//-->
</script>
</body>
</html>



Um mit dem gezeigten Beispiel arbeiten zukönnen, muss der Browser das Arbeiten mit Java-Applets erlauben. Fehlt die Java-Unterstützung, lassen sich unter www.java.com die nötigen Plugins kostenfrei herunterladen.

 

Das Beispiel unterstützt alle gängigen Funktionen des Web-IO, optimiert für das Web-IO 2x Digital Input, 2x Digital Output PoE. Für die anderen Web-IO Modelle müssen ggf. Anpassung an der Beispiel-Webseite vorgenommen werden. Weitere Programmbeispiele zur Socket-Programmierung finden Sie auf den Tool-Seiten zum Web-IO. Eine detaillierte Beschreibung zu den Kommandos der Web-IO Digital Modelle finden Sie im Referenzhandbuch.

Zur Musterbestellung   Zur Musterbestellung Programmbeispiel herunterladen   Zum Download

 
    Weitere Applikationsbeispiele für Web-IO Digital
Webtechniken
     
     
     
     
  Eigene Webseiten
       
        PHP und AJAX - dynamische Webseiten auch für mehrere Web-IO
        Mashup Webseiten - Werteanzeige in Google Maps Landkarten
        Java-Applet - das integrierte Applet nutzen
        Java-Applet - Beispiel: Anzeige der In- und Outputs
        Java-Applet - Beispiel: Anzeige der In- und Outputs und Steuerung der Outputs
        Java-Applet - Beispiel: Anzeige der Counter
        Java-Applet - Beispiel: Türen öffnen und Lichter schalten im Browser
        Web-IO mit iPhone - visualisieren und steuern
        Web-IO mit iPhone Beispiel: Rolladensteuerung
        Web-IO mit iPhone Beispiel: Klimaüberwachung
        Web-IO mit iPhone Beispiel: Messwertanzeige
Systemintegration
     
     
     
     
     
      Box-to-Box
Datenerfassung
     
      FTP-Datenlogger - Beispiel
Zeitschaltuhr
     
      CRON Zeitschaltuhr (Linux)
      Taskplaner als Zeitschaltuhr
Individual-Programmierung
     
      Visual Basic.Net 2005/2008/2010
      Visual Basic.Net 2005/2008/2010 mit WuTdevice.dll
      Visual C++
      Visual C#
      Visual C# mit WuTdevice.dll
      Visual C++ (Linux mit QT-Designer)
      Visual Delphi
      Visual Delphi.Net (2005)
      Lazarus / FreePascal
      Java
      mit VBScript steuern
Web-IO System
     
     
      Motherbox - mehrere Web-IO ansprechen
      Motherbox - Web-IOs logisch verknüpfen
      Grenzwertüberwachung
  Web-IO - Möglichkeiten der Netzwerkanbindung
       
        DSL
        UMTS/GPRS/Mobilfunknetz
        Satelitenfunk

 
  • Mister Wong
  • Google Bookmarks
  • Twitter
  • Facebook
  • Digg
   Impressum
Wir sind gerne persönlich für Sie da! Wiesemann & Theis GmbH Tel.: 0202/2680-110 (Mo-Fr. 8-17 Uhr)
Porschestr. 12 Fax: 0202/2680-265
42279 Wuppertal individuelle E-Mail

© Wiesemann & Theis GmbH, Irrtum und Änderungen vorbehalten: Da wir Fehler machen können, darf keine unserer Aussagen ungeprüft verwendet werden. Bitte melden Sie uns alle Ihnen bekannt gewordenen Irrtümer oder Mißverständlichkeiten, damit wir diese so schnell wie möglich erkennen und beseitigen können.