Applikation zu Web-IO Analog-In:
Messwert-Zeigerinstrument (Volt & Ampere)
Der vom Web-IO Analog gemessene Wert kann mit Hilfe von JavaScript und einigen Bildern recht einfach auf einer Webseite
visualisiert werden. Für die laufende Aktualisierung der Messwertanzeige sorgt die Einbindung des Web-IO-Applets.
Mit dem folgenden copy&paste-Beispiel können Sie beide von Ihrem Web-IO Analog-In gemessenen Werte (Volt und/oder Ampere) auf einer Webseite in Form eines
Zeigerinstruments darstellen. Entsprechende Beispiel-Webseiten und Bilder finden Sie auch für die Anzeige eines Volt-Werts
sowie die Anzeige eines Ampere-Werts.
Das Beispiel geht zunächst von der Anzeige eines Volt- und eines Ampere-Werts aus. Am Ende zeigen wir Ihnen noch, welche Parameter Sie bearbeiten müssen, falls
zwei Volt- oder zwei Ampere-Werte angezeigt werden sollen.
Vorbereitungen
Sie haben Ihr Web-IO Analog bereits
- mit Strom versorgt,
- an Ihr Netzwerk angeschlossen,
- mit einer IP-Adresse versehen - mit WuTility kein Problem.
1. JavaScript in Webseite einbinden
Kopieren Sie aus dem folgenden Beispiel das JavaScript (blau unterlegt)
in den <head>-Bereich Ihrer Webseite.
<html>
<head>
<title>Zeiger</title>
<script language="JavaScript" type="text/javascript">
<!--
var voltmeter = new multipic(101,"volt_400_","gif",20,10,10,"showvolt");
var amperemeter = new multipic(102,"ampere_400_","gif",20,10,420,"showampere");
var valuevolt;
var valueampere;
function multipic(id, img_name, img_ext, img_count, ypos, xpos, link)
{
img_count++;
this.multipics = new Array( img_count );
this.multipic_count = img_count;
this.multipic_id = id; // class variables
for (i=0; i<img_count; i++)
{
this.multipics[i] = new Image();
this.multipics[i].src = img_name+i+'.'+img_ext;
}
this.Set = picSet; // class method
if (link == "nolink")
{
document.write("<img id='"+this.multipic_id+"' style=position:absolute;top:"+ypos+"px;left:"+xpos+"px src="+this.multipics[0].src+" border=0>");
}
else
{
document.write("<a href='javascript:" + link + "(" + id + ");'><img id='"+this.multipic_id+"' style=position:absolute;top:"+ypos+"px;left:"+xpos+"px src="+this.multipics[0].src+" border=0></a>");
}
}
function picSet(iCount)
{
for (i=0; i<this.multipic_count; i++)
{
if(iCount==i)
{
document.getElementById(this.multipic_id).src = this.multipics[i].src;
}
}
}
function showvolt()
{
alert("Aktueller Wert: "+valuevolt+"V");
}
function showampere()
{
alert("Aktueller Wert: "+valueampere+"mA");
}
function sensorChanged( iDevice, iSensor, iVal )
{
if (iSensor==0)
{
valueampere = iVal;
amperemeter.Set(Math.round(iVal));
}
else
{
valuevolt = iVal;
voltmeter.Set(Math.round(iVal*2));
}
}
</script>
</head>
...
2. Applet in Webseite einbinden
- Kopieren Sie die Applet-Angaben (blau unterlegt) in den <body>-Bereich Ihrer Webseite.
- Fügen Sie die IP-Adresse Ihres Web-IO Analog ein.
...
<body>
<applet name="Analog" archive="A.jar" code="A.class" codebase="http://10.40.22.27" height="0" width="0" mayscript>
<param name="device" value="0">
<param name="showerrors" value="off">
<param name="sensorpolling" value="on">
<param name="pollingrate" value="500">Java ist nicht aktiviert oder wird nicht unterstützt
</applet>
</body>
</html>
3. Bilder downloaden + ablegen
Nun benötigen Sie nur noch die zum Anzeigeobjekt gehörigen Bilder, die wir hier zum Download bereitgestellt haben: .zip (ca. 583 KB). Bitte legen Sie die Bilder in dem Verzeichnis ab, in dem sich auch die Webseite mit den JavaScript- und Applet-Angaben befindet.
Exkurs: Anzeige zweier Volt- bzw. zweier Ampere-Werte
Falls Sie zwei Volt- oder zwei Ampere-Werte anzeigen lassen wollen, müssen Sie lediglich die rot gekennzeichneten Parameter entsprechend anpassen.
<html>
<head>
<title>Zeiger</title>
<script language="JavaScript" type="text/javascript">
<!--
var voltmeter = new multipic(101,"volt_400_","gif",20,10,10,"showvolt");
var amperemeter = new multipic(102,"ampere_400_","gif",20,10,420,"showampere");
var valuevolt;
var valueampere;
function multipic(id, img_name, img_ext, img_count, ypos, xpos, link)
{
img_count++;
this.multipics = new Array( img_count );
this.multipic_count = img_count;
this.multipic_id = id; // class variables
for (i=0; i<img_count; i++)
{
this.multipics[i] = new Image();
this.multipics[i].src = img_name+i+'.'+img_ext;
}
this.Set = picSet; // class method
if (link == "nolink")
{
document.write("<img id='"+this.multipic_id+"' style=position:absolute;top:"+ypos+"px;left:"+xpos+"px src="+this.multipics[0].src+" border=0>");
}
else
{
document.write("<a href='javascript:" + link + "(" + id + ");'><img id='"+this.multipic_id+"' style=position:absolute;top:"+ypos+"px;left:"+xpos+"px src="+this.multipics[0].src+" border=0></a>");
}
}
function picSet(iCount)
{
for (i=0; i<this.multipic_count; i++)
{
if(iCount==i)
{
document.getElementById(this.multipic_id).src = this.multipics[i].src;
}
}
}
function showvolt()
{
alert("Aktueller Wert: "+valuevolt+"V");
}
function showampere()
{
alert("Aktueller Wert: "+valueampere+"mA");
}
function sensorChanged( iDevice, iSensor, iVal )
{
if (iSensor==0)
{
valueampere = iVal;
amperemeter.Set(Math.round(iVal));
}
else
{
valuevolt = iVal;
voltmeter.Set(Math.round(iVal*2));
}
}
</script>
</head>
...