W&T verbindet
Interfaces für TCP/IP, Ethernet, RS-232, RS-485, USB, 20mA, Glas- und Kunststoff-LWL, http, SNMP, OPC, Modbus TCP, I/O digital, I/O analog, ISA, PCI

Applikation zu Web-IO Analog-In:

Mehrere Messwerte per PHP abrufen und darstellen


Beim Einsatz von mehreren Web-IO Analog-In an einem Standort kann es wünschenswert sein, die Daten der einzelnen Geräte auf einer einzigen Web-Seite anzuzeigen. Hierzu bietet sich die Nutzung von PHP an.

Mit dem folgenden copy&paste-Beispiel können Sie die Messwerte von verschiedenen Geräten (hier zwei Web-IO Analog-In 2x 0..10V) auf einer Webseite darstellen.

Für dieses Beispiel benötigen Sie einen Web-Server mit PHP-Interpreter.

/
Messwerte
Sie haben noch keinen Web-IO Analog-In und möchten das vorgestellte Beispiel einfach mal ausprobieren?

Kein Problem: Wir stellen Ihnen den Web-IO Analog-In 2x 0..10V gerne kostenlos für 30 Tage zur Verfügung. Einfach Musterbestellung ausfüllen, wir liefern den Web-IO Analog-In 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

Vorbereitungen

Sie haben Ihre(n) Web-IO Analog-In bereits

  • mit Strom versorgt,
  • an Ihr Netzwerk angeschlossen,
  • mit einer IP-Adresse versehen - mit WuTility kein Problem.

1. HTTP GET Header enable deaktivieren

Damit die Geräte nicht den gesamten Antwort-Kopf (IP-Adresse, Systemname, Sensorbezeichnung, Messwert), sondern nur den reinen Messwert zurückgeben, muss vorab in der Geräte-Konfiguration diese Option abgeschaltet werden:

enable HTTP Header

2. PHP-Script in Webseite einbinden

Kopieren Sie aus dem folgenden Beispiel das JavaScript (grau unterlegt)
z.B. in den <body>-Bereich Ihrer Webseite (PHP-Befehle werden an jeder belilebigen Stelle der Seite interpretiert).

Passen Sie die in rot dargestellte IP-Adresse, den in grün dargestellten HTTP-Port und den in gelb dargestellten Abfragebefehl für Ihre Zwecke an.


				<html>
					<head>
						<title>Level</title>
					</head>
					<body bgcolor="#FFFFFF" text="#000000">
						<?
						function getvalue($address,$sensorno)
							{
							$datei = fsockopen($address,80);
							$out = "GET /Single".$sensorno."HTTP/1.1\r\n\r\n";
							fwrite($datei, $out);
							while (!feof($datei))
								{
								$data = fgets($datei);
								}
							$find = "/r/n";
							$pos = strpos($data, $find);
							$value = substr($data,$pos);
							echo $value;
							fclose($datei);
							}
						?>
					<br>
						<?
						getvalue ("192.168.0.2","1");
						?>
					<br>
						<?
						getvalue ("192.168.0.3","1");
						?>
					</body>
				</html>
						

3. Ausgabe

Wenn Sie die o.g. PHP-Seite auf einem PHP-Server speichern und diese mit einem Web-Browser aufrufen, erhalten Sie folgende Ansicht:

Ausgabe

4. Automatische Aktualisierung

Damit die Seite zyklisch aktualisiert wird, fügen Sie folgende Zeile in den <head>-Bereich der Seite ein.

Das Intervall wird in Sekunden angegeben (hier rot dargestellt: 60 Sekunden)


								<html>
								<head>
									<title>Level</title>
									<meta http-equiv=refresh content=60>
								</head>
								<body bgcolor="#FFFFFF" text="#000000">
							...
						

5. Anpassung der Seite für Ihre Zwecke

Mit Hilfe des o.g. Verfahrens können Sie nun auf einfache Art und Weise Übersichtsseiten erstellen, welche beliebig viele Messwerte enthalten können:

Übersichtsseiten
Sie haben noch keinen Web-IO Analog-In und möchten das vorgestellte Beispiel einfach mal ausprobieren?

Kein Problem: Wir stellen Ihnen den Web-IO Analog-In 2x 0..10V gerne kostenlos für 30 Tage zur Verfügung. Einfach Musterbestellung ausfüllen, wir liefern den Web-IO Analog-In 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