W&T collega
Adattatori per TCP/IP, Ethernet, RS-232, RS-485, USB, 20 mA, Fibra ottica di vetro e plastica, http, SNMP, OPC, Modbus TCP, I/O digitale, I/O analogico, ISA, PCI

Applicazione relativa al Web-IO digitale:

Web-IO digitale visualizzazione & controllo


Output

Gli input, i counter e gli output del Web-IO digitale possono essere visualizzati piuttosto facilmente su una pagina web per mezzo di JavaScript e di alcune immagini. . L’integrazione dell’Applet Web-IO garantisce l’aggiornamento costante della visualizzazione.

Con il seguente esempio copy&paste potete riprodurre il vostro Web-IO digitale con i suoi input e output in una pagina web. Inoltre potete attivare gli output del Web-IO dalla pagina web.

Preparativi

Avete già alimentato con corrente

  • il vostro Web-IO digitale,
  • effettuato il collegamento alla vostra rete,
  • e assegnato un indirizzo IP: con WuTility è facile!
1. Integrazione di JavaScript nella pagina web

Copiate dal seguente esempio il JavaScript (con sfondo blu) nell’area <head> della vostra pagina web.

<html>
<head>
	<title>Web-IO Digital: Inputs/Outputs</title>
	<script language="JavaScript" type="text/javascript">
	<!--
	var ypositopn = 175;
	var xposition = 87;
	var xdifferenc = 24;
	ledinput = new Array(12);
	ledoutput = new Array(12);
	switchoutput = new Array(12);
	outputvalue = new Array(12);
	for (i=0; i<12; i++)
		{
		outputvalue[i] = false;
		}
	for (i=0; i<4; i++)
		{
		ledinput[i] = new multipic(100+i,"led_","gif",1,ypositopn,xposition + i*xdifferenc,"nolink");
		status=i;
		}
	for (i=4; i<8; i++)
		{
		ledinput[i] = new multipic(100+i,"led_","gif",1,ypositopn,xposition + 26 + i*xdifferenc,"nolink");
		}
	for (i=8; i<12; i++)
		{
		ledinput[i] = new multipic(100+i,"led_","gif",1,ypositopn,xposition + 56 + i*xdifferenc,"nolink");
		}
		ypositopn = 327;
	for (i=0; i<4; i++)
		{
		ledoutput[i] = new multipic(200+i,"led_","gif",1,ypositopn,xposition + i*xdifferenc,"nolink");
		}
	for (i=4; i<8; i++)
		{
		ledoutput[i] = new multipic(200+i,"led_","gif",1,ypositopn,xposition + 3 + i*xdifferenc,"nolink");
		}
	for (i=8; i<12; i++)
		{
		ledoutput[i] = new multipic(200+i,"led_","gif",1,ypositopn,xposition + 5 + i*xdifferenc,"nolink");
		}
	document.write("<img border='0' src='stickersmall.gif' style='position:absolute; top:160px; left:10px'>");
	ypositopn = 380;
	xposition = 80;
	xdifferenc = 25;
	for (i=0; i<12; i++)
		{
		switchoutput[i] = new multipic(i,"switch_","gif",1,ypositopn,xposition + i*xdifferenc, "setOutput");
		}
	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 (ii=0; ii<img_count; ii++)
			{
			this.multipics[ii] = new Image();
			this.multipics[ii].src = img_name+ii+'.'+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 (ii=0; ii<this.multipic_count; ii++)
			{
			if(iCount==ii)
				{
				document.getElementById(this.multipic_id).src = this.multipics[ii].src;
					}
				}
		}
	function inputChanged( iDevice, iNr, iVal )
		{
		ledinput[iNr].Set(iVal);
		}
	function outputChanged( iDevice, iNr, iVal )
		{
		ledoutput[iNr].Set(iVal);
		switchoutput[iNr].Set(iVal);
		outputvalue[iNr] = iVal;
		}
	function setOutput(iNr)
		{
		if (outputvalue[iNr]==false)
			{
			document.applets["dio"].outputAccess( Math.pow( 2, iNr ), 0x0FFF );
			}
		else
			{
			document.applets["dio"].outputAccess( Math.pow( 2, iNr ), 0x0000 );
			}
		}
	function setPassword()
		{
		document.applets["dio"].setPassword( document.forms[0].tfPassword.value );
		document.forms[0].tfPassword.value = '';
		}
	</script>
</head>
...
2. Integrazione di Applet nella pagina web
  • Copiate le indicazioni Applet (con sfondo blu) nell’area <body> della vostra pagina web.
  • Inserite l’indirizzo IP del vostro Web-IO analogico.
...
<body style="background-color: #0099CC; font-family: Arial, Helvetica, sans-serif;">
	<applet name="dio" archive="dio.jar" code="dio.class" codebase="http://10.40.50.5" height="0" width="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="off">
		<param name="pollingrate" value="1000">
		Java ist nicht aktiviert oder wird nicht unterstützt
	</applet>
...
3. Modulo password

Se avete protetto il vostro Web-IO mediante password, copiate anche il modulo password (con sfondo blu) nell’area <body> della vostra pagina web. La pagina web può in questo caso comunicare con il Web-IO solo dopo l’invio della password.

...
	<form>
		<p>Passwort:
			<input type="password" name="tfPassword" maxlength="31" size="20">
			<input type="button" value="senden" onclick="setPassword()">
		</p>
	</form>
</body>
</html>
4. Download + archiviazione delle immagini

Ora necessitate soltanto delle immagini relative all’oggetto della visualizzazione che vi mettiamo a disposizione qui per il download: .zip (ca. 12 KB). Archiviate le immagini nella directory nella quale si trova anche la pagina web con le indicazioni JavaScript e Applet.

Download esempio di programma

Non disponete ancora di un Web-IO e desiderate semplicemente provarne il funzionamento come nell’esempio illustrato?

Nessun problema: vi mettiamo a disposizione gratuitamente per 30 giorni il Web-IO digitale 2x input, 2x output PoE. Non dovete far altro che compilare l’ordinazione del campione e vi forniremo il Web-IO in prova in conto aperto. Se ci restituite l’apparecchio entro 30 giorni, vi riaccreditiamo l’intero importo della fattura.

All’ordinazione del campione