W&T Web-IO Digital - WUT.de
W&T Web-IO Digital - WUT.de
W&T Web-IO Digital - WUT.de
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Referenzhandbuch<br />
<strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong><br />
Automatisierung<br />
Modbus TCP S.116<br />
Datenerfassung<br />
W&T<br />
Zeitschaltuhr<br />
Schalteingang<br />
Online Kalen<strong>de</strong>r<br />
<strong>IO</strong>s<br />
Individual-<br />
Programmierung<br />
<strong>Web</strong>techniken<br />
EMAIL S.140<br />
Box2Box S.70 Relais<br />
Browser S.60<br />
OPC S.109 Zähler<br />
Analog In HTTP S.167<br />
ERP S.239 Temperatur<br />
Analog Out JavaScript<br />
SNMP S.99 Luftfeuchte<br />
Spanung und AJAX S.173<br />
Syslog S.159 Luftdruck<br />
Strom<br />
ab S.189<br />
C, C++, C#<br />
FTP S.162<br />
Visual Basic<br />
Java<br />
S.84<br />
<strong>IO</strong> Port Schaltausgang<br />
gültig für folgen<strong>de</strong> <strong>Web</strong>-<strong>IO</strong> Mo<strong>de</strong>lle:<br />
#57637 <strong>Web</strong>-<strong>IO</strong> 2x<strong>Digital</strong> In, 2x<strong>Digital</strong> Out<br />
#57630M <strong>Web</strong>-<strong>IO</strong> 12x<strong>Digital</strong> In, 12x<strong>Digital</strong> Out<br />
#57631M <strong>Web</strong>-<strong>IO</strong> 12x<strong>Digital</strong> In, 12x<strong>Digital</strong> Out<br />
mit integriertem Com-Server<br />
#57634M <strong>Web</strong>-<strong>IO</strong> 12x<strong>Digital</strong> In, 6xRelaisOut<br />
#57638 ERP-Gateway 2xDig. ln, 2xDig. Out<br />
Release 3.36, Feb. 2012<br />
ab Firmware 3.32
W&T Hinweise<br />
© 01/2011 by Wiesemann und Theis GmbH<br />
Microsoft, MS-DOS, Windows, Winsock und Visual Basic<br />
sind eingetragene Warenzeichen <strong>de</strong>r Microsoft Corporation<br />
Irrtum und Än<strong>de</strong>rung vorbehalten:<br />
Da wir Fehler machen können, darf keine unserer Aussagen<br />
ungeprüft verwen<strong>de</strong>t wer<strong>de</strong>n. Bitte mel<strong>de</strong>n Sie uns alle Ihnen<br />
bekannt gewor<strong>de</strong>nen Irrtümer o<strong>de</strong>r Missverständlichkeiten,<br />
damit wir diese so schnell wie möglich erkennen und beseitigen<br />
können.<br />
Führen Sie Arbeiten an bzw. mit W&T Produkten nur aus,<br />
wenn sie hier beschrieben sind und Sie die Anleitung vollständig<br />
gelesen und verstan<strong>de</strong>n haben. Eigenmächtiges Han<strong>de</strong>ln<br />
kann Gefahren verursachen. Wir haften nicht für die Folgen<br />
eigenmächtigen Han<strong>de</strong>lns. Fragen Sie im Zweifel lieber<br />
noch einmal bei uns bzw. bei Ihrem Händler nach!<br />
2
W&T Inhalt<br />
Inhalt<br />
1. Übersicht <strong>de</strong>r Einsatzmöglichkeiten 9<br />
1.1 Übersicht <strong>de</strong>r Einsatzmöglichkeiten 10<br />
1.1.1 Browser-Zugriff 10<br />
für PC-Browser 10<br />
für das Smartphone 10<br />
Eigene <strong>Web</strong>seiten 10<br />
1.1.2 Box-to-Box 10<br />
1.1.3 Zeitgesteuertes Schalten 10<br />
Nutzung eines lokalen Kalen<strong>de</strong>rprogramms 11<br />
Schaltzeiten im Google Kalen<strong>de</strong>r planen 11<br />
1.1.4 Integration in bestehen<strong>de</strong> Systeme 11<br />
OPC 11<br />
Modbus TCP 11<br />
SNMP - Simple Network Management Protocol 11<br />
1.1.5 Zugriff aus eigenen Anwendungen 11<br />
Kommunikation per HTTP-Requests 12<br />
Kommunikation per Kommandostring 12<br />
Kommunikation über Binärstrukturen 12<br />
1.1.6 Email und mehr - Info bei Zustandsän<strong>de</strong>rung 12<br />
1.1.7 Erfassen von Schaltzustän<strong>de</strong>n 13<br />
Meldungen über das <strong>Web</strong>-<strong>IO</strong> Alarmsystem 13<br />
<strong>IO</strong>-Zustän<strong>de</strong> in W&T-Motherbox erfassen 13<br />
1.1.8 Logik Funktionen - Inputs und Outputs verknüpfen 13<br />
1.1.9 Basisverhalten <strong>de</strong>r Ports 14<br />
Inputs 14<br />
Outputs 14<br />
1.1.10 Allgemeine Basisfunktion 14<br />
2 Vorbereitungen zur Inbetriebnahme 15<br />
2.1 Versorgungsspannung und Netzwerkanschluss 16<br />
2.1.1 <strong>Web</strong>-<strong>IO</strong> #57637 und #57638 16<br />
2.1.2 <strong>Web</strong>-<strong>IO</strong> #57630, #57631, #57634 und #57636 17<br />
2.2 Vergabe <strong>de</strong>r IP-Adresse 18<br />
2.2.1 IP-Adresse automatisch per DHCP beziehen 18<br />
2.2.2 Vergabe <strong>de</strong>r IP-Adresse mit <strong>de</strong>m Wutility-Tool 18<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
3
W&T Inhalt<br />
3 Anschlüsse, Bedienelemente und LEDs 21<br />
3.1 Anschlüsse <strong>Web</strong>-<strong>IO</strong> 2x Dig. Input, 2x Dig. Output 22<br />
3.1.1 Externe Spannungsversorgung 22<br />
3.1.2 Spannungsversorgung über PoE 23<br />
3.1.3 Input-Beschaltung 23<br />
3.1.4 Output-Beschaltung 26<br />
3.2 Anschlüsse <strong>Web</strong>-<strong>IO</strong> 12x Dig. Input, 12x Dig. Out 29<br />
3.2.1 Versorgungsspannungseingang 29<br />
3.2.2 Input-Beschaltung 30<br />
3.2.3 Output-Beschaltung 32<br />
3.3 Anschlüsse <strong>Web</strong>-<strong>IO</strong> 12x Dig. Input, 6x Relais 34<br />
3.3.1 Versorgungsspannungseingang 34<br />
3.3.2 Input-Beschaltung 35<br />
3.3.3 Output-Beschaltung 37<br />
3.4 Ethernet-Anschluss 39<br />
3.5 Serieller Anschluss 41<br />
3.6 LEDs für Gerätestatus 42<br />
4 Konfiguration <strong>de</strong>r Netzwerkparameter 45<br />
4.1 <strong>Web</strong>-Based Management 46<br />
4.1.1 Aufbau <strong>de</strong>r <strong>Web</strong>seite 46<br />
4.1.2 Die Navigation 46<br />
4.1.3 Erleichterte Navigation durch Profile 47<br />
4.1.4 Zugriffsrechte 47<br />
4.1.5 Än<strong>de</strong>rn und Einrichten <strong>de</strong>r Zugriffspasswörter 48<br />
4.1.6 Übernahme und Aktivierung <strong>de</strong>r Einstellungen 49<br />
4.2 Grun<strong>de</strong>instellung <strong>de</strong>r Netzwerkparameter 51<br />
Än<strong>de</strong>rn <strong>de</strong>s Device Name 55<br />
5 Basisfunktionen 59<br />
5.1 HTTP - Inputs und Outputs im Browser steuern 60<br />
5.1.1 Die Home-Seite 60<br />
5.1.2 Die User-Seite 61<br />
5.1.3 Die Smart-Seite 64<br />
5.1.4 Beschriftungen und Texte 65<br />
5.1.5 Än<strong>de</strong>rn <strong>de</strong>s HTTP-Ports 68<br />
5.2 Box-to-Box 70<br />
5.2.1 Konfiguration <strong>de</strong>s Slave <strong>Web</strong>-<strong>IO</strong> 70<br />
5.2.2 Konfiguration <strong>de</strong>s Masters 74<br />
5.2.3 Box-to-Box Verbindungsstatus ermitteln 78<br />
5.2.4 Been<strong>de</strong>n <strong>de</strong>s Box-to-Box Modus 78<br />
4
W&T Inhalt<br />
5.2.5 Box-to-Box Slave - Bindung an <strong>de</strong>n Master aufheben 80<br />
5.2.6 Box-to-Box Hinweise und Grenzen 81<br />
5.3 Time Switch - <strong>Web</strong>-<strong>IO</strong> als Schaltuhr 84<br />
5.3.1 Aktivieren <strong>de</strong>r Outputs für Time Switch 84<br />
5.3.2 Schaltvorgaben la<strong>de</strong>n 85<br />
5.3.3 Schaltzeiten aus Online-Kalen<strong>de</strong>r la<strong>de</strong>n 85<br />
5.3.4 Schaltzeiten als iCal-Datei la<strong>de</strong>n 91<br />
5.3.5 Schaltuhr Vorschau 97<br />
5.3.6 Beson<strong>de</strong>rheiten <strong>de</strong>r <strong>Web</strong>-<strong>IO</strong> Schaltuhr 97<br />
5.4 Integration in bestehen<strong>de</strong> Systeme 99<br />
5.4.1 SNMP - In- und Outputs in Managementsystemen 99<br />
Freischalten <strong>de</strong>s SNMP-Zugriffs 99<br />
Aktivieren <strong>de</strong>r Outputs für SNMP 101<br />
Die wichtigsten Schritte bei SNMP-Zugriff 102<br />
5.4.2 OPC - standardisierter Zugriff 109<br />
Die Installation <strong>de</strong>s OPC-Servers 109<br />
Deinstallation 109<br />
Konfiguration 109<br />
<strong>Web</strong>-<strong>IO</strong> als OPC-Device konfigurieren 112<br />
5.4.3 Modbus TCP - standardisierter Zugriff 116<br />
Konfiguration für <strong>de</strong>n Modbus TCP Zugriff 116<br />
Modbus TCP Kommunikation 119<br />
Function Co<strong>de</strong> 0x01 Read Coils 121<br />
Function Co<strong>de</strong> 0x02 Read Discrete Inputs 123<br />
Function Co<strong>de</strong> 0x03 Read Holding Registers 123<br />
Function Co<strong>de</strong> 0x04 Read Input Registers 125<br />
Function Co<strong>de</strong> 0x05 Write Single Coil 126<br />
Function Co<strong>de</strong> 0x06 Write Single Register 127<br />
Function Co<strong>de</strong> 0x0F Write Multiple Coils 127<br />
Function Co<strong>de</strong> 0x10 Write Multiple Registers 129<br />
Function Co<strong>de</strong> 0x07 Read Exception State 131<br />
Fehlerhafte Anfragen vom Master 132<br />
Modbus-Adressbereiche für <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> 133<br />
Modbus - virtuelle Register 134<br />
5.5 Email und mehr - Alarm bei Zustandsän<strong>de</strong>rung 140<br />
5.5.1 Festlegen <strong>de</strong>r Alarmbedingungen 140<br />
5.5.2 E-Mail-Alarm - SMTP 146<br />
5.5.3 SNMP Alarm 150<br />
5.5.4 Alarm über UDP 152<br />
Outputs eines an<strong>de</strong>ren <strong>Web</strong>-<strong>IO</strong> über UDP schalten 155<br />
5.5.5 Alarmmeldung an eigene TCP-Applikationen 156<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
5
W&T Inhalt<br />
5.5.6 Alarmmeldung an einen TCP-Server 156<br />
Outputs eines an<strong>de</strong>ren <strong>Web</strong>-<strong>IO</strong> über TCP schalten 158<br />
5.5.7 Alarmmeldung an einen Syslog-Server 159<br />
5.5.8 Alarmmeldung an einen FTP-Server 162<br />
5.5.9 Allgemeine Informationen zu Alarmen 166<br />
5.6 Zugriff aus <strong>de</strong>r eigenen Anwendung 167<br />
5.6.1 Zugriff aus <strong>de</strong>m Browser 167<br />
Verwendung von W&T Tags 168<br />
Dynamische <strong>Web</strong>seiten mit JavaScript und AJAX 173<br />
Nutzen <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> eigenen Java-Applets 182<br />
Die Verwendung <strong>de</strong>s Applets mit JavaScript 185<br />
5.6.2 Zugriff aus diversen Hochsprachen 189<br />
Socketprogrammierung mit Kommandosstrings 191<br />
TCP Kommunikation - das <strong>Web</strong>-<strong>IO</strong> als Server 193<br />
TCP Kommunikation - das <strong>Web</strong>-<strong>IO</strong> als Client 200<br />
UDP-Kommunikation 205<br />
Programmgesteuertes Fehlermanagement 209<br />
BINARY - Socketprogramme mit Binärstrukturen 213<br />
Festlegen <strong>de</strong>s Operationsmodus 214<br />
Das <strong>Web</strong>-<strong>IO</strong> als Socket-Server 215<br />
Das <strong>Web</strong>-<strong>IO</strong> als Socket-Client 217<br />
Das <strong>Web</strong>-<strong>IO</strong> als UDP-Peer 221<br />
Passwort-Schutz 223<br />
BINARY - Die <strong>IO</strong>-Strukturen 226<br />
Definition <strong>de</strong>r <strong>IO</strong>-Strukturen 227<br />
5.6.3 Arbeiten mit <strong>de</strong>n <strong>IO</strong>-Strukturen 228<br />
5.7 Wayback - Schalten per FTP-Login 239<br />
5.7.1 Funktionsprinzip 239<br />
5.7.2 Die Wayback-Kommandos 240<br />
5.7.3 Freischalten <strong>de</strong>s Wayback-Zugriffs 241<br />
5.7.4 Aktivierung <strong>de</strong>r Outputs für Wayback-Zugriff 244<br />
6 Allgemeine Funktionen 245<br />
6.1 Time / Date - Uhrzeit und Datum einstellen 246<br />
6.1.1 Zeitzonen 246<br />
6.1.2 Sommerzeit / Winterzeit 247<br />
6.1.3 Beginn und En<strong>de</strong> <strong>de</strong>r Sommerzeit 247<br />
6.1.4 Time-Server 248<br />
6.1.5 Manuelles Einstellen von Uhrzeit und Datum 250<br />
6.1.6 Aktivieren aller Time-/Date-Einstellungen 251<br />
6
W&T Einführung<br />
6.2 Safety Timeout / State - Zugriffsüberwachung 252<br />
6.2.1 Safety Timeout festlegen 252<br />
6.2.2 Safety State festlegen 253<br />
6.3 Ports - Input- und Output-Konfiguration 255<br />
6.3.1 Input-Konfiguration 255<br />
6.3.2 Output-Konfiguration 258<br />
6.3.3 Logik Funktionen 260<br />
6.3.4 Time Swich 262<br />
6.3.5 Pulsmo<strong>de</strong> 262<br />
6.4 Än<strong>de</strong>rn <strong>de</strong>r gerätespezifischen Anzeigen 265<br />
6.5 Upload/Download 267<br />
6.5.1 Download 267<br />
6.5.2 Upload 268<br />
6.6 Diagnose und Test 271<br />
6.6.1 Fehler-Report 271<br />
6.6.2 Konfiguration 272<br />
6.6.3 LED -Test 276<br />
7 Anhang 279<br />
7.1 Alternativen bei <strong>de</strong>r IP-Adressvergabe 280<br />
7.1.1 Vergabe <strong>de</strong>r IP mit Hilfe <strong>de</strong>s ARP-Kommandos 280<br />
7.1.2 Vergabe <strong>de</strong>r IP über die serielle Schnittstelle 281<br />
7.1.3 IP-Vergabe über einen RARP-Server 283<br />
7.1.4 IP-Vergabe per DHCP-Protokoll 284<br />
7.1.5 IP-Vergabe per BOOTP-Protokoll 288<br />
7.2 Firmware Update 290<br />
7.2.1 Wo ist die aktuelle Firmware erhältlich? 290<br />
7.2.2 Firmware-Update über das Netzwerk mit Windows 290<br />
7.3 Notzugang 292<br />
7.4 Verwen<strong>de</strong>te Ports und Netzwerksicherheit 293<br />
7.4.1 Verwen<strong>de</strong>te Ports 293<br />
7.4.2 Das W&T <strong>Web</strong>-<strong>IO</strong> und die Netzwerksicherheit 294<br />
7.4.3 Das Berechtigungskonzept <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> 294<br />
7.4.4 Ports mit Son<strong>de</strong>rfunktion 295<br />
7.4.5 Wie<strong>de</strong>rherstellung <strong>de</strong>r Factory Defaults 296<br />
7.5 Timing und Grenzen bei <strong>de</strong>r Signalverarbeitung 298<br />
7.5.1 Signalerkennung 298<br />
7.5.2 Signalübermittlung 298<br />
7.5.3 Signaltiming 299<br />
7.6 Inventarisierung von W&T Geräten 300<br />
7.6.1 Das Boxinfopaket 300<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
7
W&T Inhalt<br />
7.6.2 HIT - Hardware I<strong>de</strong>ntification Table 304<br />
7.7 Fehlermeldungen 308<br />
7.8 Technische Daten 310<br />
7.8.1 Technische Daten 57630 / 57631 310<br />
7.8.2 Technische Daten 57637, 57638 311<br />
7.8.4 Technische Daten 57634 312<br />
7.9 Entsorgung 313<br />
In<strong>de</strong>x 314<br />
8
W&T Einführung<br />
1. Übersicht <strong>de</strong>r Einsatzmöglichkeiten<br />
Die Geräte <strong>de</strong>r W&T <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> Produktfamilie stellt <strong>de</strong>m Anwen<strong>de</strong>r eine<br />
mo<strong>de</strong>llabhängige Anzahl von Schaltein- und ausgängen auf Schraubklemme<br />
zur Verfügung.<br />
Über eine TCP/IP-Ethernet 10/100BaseT Schnittstelle erlauben die <strong>Web</strong>-<strong>IO</strong><br />
Boxen <strong>de</strong>n Zugriff über eine Vielzahl von Protokollen und Anwendungen.<br />
Automatisierung<br />
Modbus TCP S.116<br />
Datenerfassung<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Zeitschaltuhr<br />
Schalteingang<br />
Online Kalen<strong>de</strong>r<br />
<strong>IO</strong>s<br />
Individual-<br />
Programmierung<br />
<strong>Web</strong>techniken<br />
EMAIL S.140<br />
Box2Box S.70 Relais<br />
Browser S.60<br />
OPC S.109 Zähler<br />
Analog In HTTP S.167<br />
ERP S.239 Temperatur<br />
Analog Out JavaScript<br />
SNMP S.99 Luftfeuchte<br />
Spanung und AJAX S.173<br />
Syslog S.159 Luftdruck<br />
Strom<br />
ab S.189<br />
C, C++, C#<br />
FTP S.162<br />
Visual Basic<br />
Java<br />
S.84<br />
<strong>IO</strong> Port Schaltausgang<br />
9
W&T Einführung<br />
1.1 Übersicht <strong>de</strong>r Einsatzmöglichkeiten<br />
Bei entsprechen<strong>de</strong>r Konfiguration kann auf die Outputs, Inputs<br />
und Counter <strong>de</strong>r <strong>Web</strong>-<strong>IO</strong> Boxen auf verschie<strong>de</strong>nsten Wegen zugegriffen<br />
wer<strong>de</strong>n.<br />
1.1.1 Browser-Zugriff<br />
Im einfachsten Fall kann auf die Inputs und Outputs <strong>de</strong>s <strong>Web</strong>-<br />
<strong>IO</strong> direkt aus <strong>de</strong>m Browser zugegriffen wer<strong>de</strong>n. Das <strong>Web</strong>-<strong>IO</strong> bietet<br />
dazu fertige <strong>Web</strong>seiten:<br />
für PC-Browser<br />
Die Home- und die User-Seite zeigen selbstaktualisierend die<br />
Status von Outputs, Inputs und Countern. Auch das Schalten<br />
<strong>de</strong>r Outputs und Löschen <strong>de</strong>r Counter ist möglich.<br />
für das Smartphone<br />
Die Smart-Seite gibt einen sehr kompakten, auf die Displaygröße<br />
von Mobiltelefonen optimierten Überblick über die Status von<br />
Outputs, Inputs und Countern. Außer<strong>de</strong>m können die Outputs<br />
geschaltet wer<strong>de</strong>n.<br />
Eigene <strong>Web</strong>seiten<br />
Natürlich ist es auch möglich, die <strong>IO</strong>s und Counter <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong><br />
in eigenen <strong>Web</strong>seiten anzuzeigen bzw. die vorbereiteten <strong>Web</strong>seiten<br />
durch eigene zu ersetzen.<br />
1.1.2 Box-to-Box<br />
In dieser Betriebsart folgen die Outputs eines <strong>Web</strong>-<strong>IO</strong> <strong>de</strong>n Inputs<br />
eines an<strong>de</strong>ren. Auf diese Weise können Schaltsignale zwischen<br />
zwei Standorten über das Netzwerk übertragen wer<strong>de</strong>n.<br />
1.1.3 Zeitgesteuertes Schalten<br />
Die Outputs <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> können zeitgesteuert geschaltet wer<strong>de</strong>n.<br />
Die Schaltzeiten können über 2 Wege konfiguriert wer<strong>de</strong>n:<br />
10
W&T Einführung<br />
Nutzung eines lokalen Kalen<strong>de</strong>rprogramms<br />
Programme wie z.B. Outlook o<strong>de</strong>r Sunbird bieten die Möglichkeit,<br />
Termine (die Schaltzeiten wer<strong>de</strong>n wie Termine behan<strong>de</strong>lt)<br />
als iCal-Datei zu exportieren. Das <strong>Web</strong>-<strong>IO</strong> kann diese iCal-Dateien<br />
importieren und in Schaltzeiten umrechnen.<br />
Schaltzeiten im Google Kalen<strong>de</strong>r planen<br />
Wie normale Termine können die Schaltzeiten im Google Online<br />
Kalen<strong>de</strong>r festgelegt wer<strong>de</strong>n. Das <strong>Web</strong>-<strong>IO</strong> ruft die Kalen<strong>de</strong>rdaten<br />
danach automatisch, wenn gewünscht zyklisch, bei Google ab<br />
und berechnet entsprechend die Schaltzeiten.<br />
1.1.4 Integration in bestehen<strong>de</strong> Systeme<br />
Für eine einfache Integration in bestehen<strong>de</strong> Systeme unterstützt<br />
das <strong>Web</strong>-<strong>IO</strong> die wichtigsten Kommunikationsstandards.<br />
OPC<br />
Auf <strong>de</strong>r beiliegen<strong>de</strong>n Produkt CD wird <strong>de</strong>r kostenlose OPC-Server<br />
für W&T-Geräte mitgeliefert. Damit können <strong>Web</strong>-<strong>IO</strong> in alle<br />
OPC-fähigen Visualisierungs- und Leitsysteme eingebun<strong>de</strong>n<br />
wer<strong>de</strong>n.<br />
Modbus TCP<br />
Das <strong>Web</strong>-<strong>IO</strong> arbeitet bei Bedarf als Modbus TCP Client und stellt<br />
die Zustän<strong>de</strong> von Outputs, Inputs und Countern über entsprechen<strong>de</strong><br />
Speicherbereiche zur Verfügung.<br />
SNMP - Simple Network Management Protocol<br />
Durch die Unterstützung von SNMP kann das <strong>Web</strong>-<strong>IO</strong> sehr einfach<br />
Schaltzustän<strong>de</strong> an Netzwerkmanagment-Systeme weitergeben.<br />
Auch das Versen<strong>de</strong>n von SNMP-Traps ist möglich.<br />
Eine passen<strong>de</strong> MIB kann direkt aus <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> heruntergela<strong>de</strong>n<br />
wer<strong>de</strong>n.<br />
1.1.5 Zugriff aus eigenen Anwendungen<br />
Die (Socket-)Schnittstelle <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> bietet drei Wege:<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
11
W&T Einführung<br />
Kommunikation per HTTP-Requests<br />
Über HTTP-Requests kann das <strong>Web</strong>-<strong>IO</strong> aus <strong>Web</strong>-Anwendungen<br />
mit Techniken wie JavaScript, AJAX und PHP angesprochen wer<strong>de</strong>n.<br />
So können individuelle Anwendungen für <strong>de</strong>n Browser erstellt<br />
wer<strong>de</strong>n.<br />
Kommunikation per Kommandostring<br />
In diesem Modus wird mit einem lesbaren, an HTTP angelehnten<br />
Befehlssatz gearbeitet.<br />
Kommunikation über Binärstrukturen<br />
In dieser Betriebsart erfolgt die Kommunikation über binäre<br />
Datenstrukturen.<br />
In <strong>de</strong>n letzten bei<strong>de</strong>n Varianten kann das <strong>Web</strong>-<strong>IO</strong> als TCP-Client<br />
o<strong>de</strong>r Server, aber auch als UDP-Peer arbeiten. Alle Programmiersprachen<br />
die eine TCP/IP-Kommunikation zulassen sind geeignet,<br />
um Anwendungen für das <strong>Web</strong>-<strong>IO</strong> zu programmieren (C,<br />
C++, C#, VB, VB.net, JAVA, Delphi, Lazarus, Pearl, Python, ...).<br />
Selbst ein Zugriff aus embed<strong>de</strong>d Systemen und SPS ist möglich.<br />
1.1.6 Email und mehr - Info bei Zustandsän<strong>de</strong>rung<br />
Das <strong>Web</strong>-<strong>IO</strong> hat ein internes Alarmsystem. Angestoßen durch<br />
das Eintreten bestimmter Zustän<strong>de</strong> an <strong>de</strong>n Inputs, Outputs<br />
o<strong>de</strong>r Countern kann ein Alarm ausgelöst wer<strong>de</strong>n.<br />
Für die Übermittlung <strong>de</strong>r Alarme stehen folgen<strong>de</strong> Wege zur Verfügung:<br />
. Email<br />
. SNMP-Trap<br />
. SYSLOG<br />
. Meldung an TCP-Server<br />
. Meldung per UDP<br />
. FTP<br />
12
W&T Einführung<br />
1.1.7 Erfassen von Schaltzustän<strong>de</strong>n<br />
Meldungen über das <strong>Web</strong>-<strong>IO</strong> Alarmsystem<br />
Um die Schaltzustän<strong>de</strong> <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> mit Zeitstempel zu erfassen,<br />
kann ebenfalls das Alarmsystem <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> genutzt wer<strong>de</strong>n.<br />
Als Auslöser kann dazu, neben einer Statusän<strong>de</strong>rung <strong>de</strong>r <strong>IO</strong>s,<br />
ein Timer genutzt wer<strong>de</strong>n. Sinnvolle Wege zur Datenspeicherung<br />
sind:<br />
. SYSLOG<br />
. Meldung an TCP-Server<br />
. Meldung per UDP<br />
. FTP<br />
Aber auch Email und SNMP-Trap können genutzt wer<strong>de</strong>n.<br />
<strong>IO</strong>-Zustän<strong>de</strong> in W&T-Motherbox erfassen<br />
Die W&T-Motherbox ist ein <strong>Web</strong>server, <strong>de</strong>r auch eine MySQL-Datenbank<br />
bereit stellt, um die Daten von <strong>Web</strong>-<strong>IO</strong> Produkten zu<br />
speichern.<br />
Es kann zwischen zwei Aufzeichnungsmo<strong>de</strong>llen gewählt wer<strong>de</strong>n:<br />
. Die Motherbox fragt die beteiligten <strong>Web</strong>-<strong>IO</strong> zyklisch ab und<br />
speichert die gewonnenen Daten in einem festen Zeitraster.<br />
. Die <strong>Web</strong>-<strong>IO</strong>s übermitteln ihre Daten bei Zustandsän<strong>de</strong>rung<br />
an die Motherbox.<br />
1.1.8 Logik Funktionen - Inputs und Outputs verknüpfen<br />
Eine weitere Möglichkeit, die Outputs zu schalten ist eine logische<br />
Verknüpfung zwischen Inputs und Outputs. Der Zustand<br />
eines Outputs kann in Abhängigkeit eines <strong>de</strong>finierten Inputmusters<br />
auf ON o<strong>de</strong>r OFF geschaltet wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
13
W&T Einführung<br />
1.1.9 Basisverhalten <strong>de</strong>r Ports<br />
Inputs<br />
Die Inputs sind für 24V Automatisierungssignale vorbereitet,<br />
können aber mit Spannungen zwischen -30V und + 30V<br />
beschaltet wer<strong>de</strong>n. Ein ON-Signal wird ab 8V +/-1V sicher erkannt.<br />
Über einen konfigurierbaren zeitlichen Filter können Kontaktprellen<br />
und Störpulse ausgeblen<strong>de</strong>t wer<strong>de</strong>n.<br />
Outputs<br />
Die Mo<strong>de</strong>lle 57630M, 57631M, 57637 und 57636 haben Stromtreiben<strong>de</strong><br />
Outputs, die mit jeweils 500mA belastet wer<strong>de</strong>n können.<br />
Um höhere Ströme zu treiben, können bis zu vier Outputs<br />
zu einer gemeinsamschalten<strong>de</strong>n Gruppe zusammengefasst wer<strong>de</strong>n.<br />
Das Mo<strong>de</strong>ll 57634M Schaltet die Outputs mit max. 5A über<br />
Relais.<br />
Die Outputs können so konfiguriert wer<strong>de</strong>n, dass sie nach <strong>de</strong>m<br />
einschalten nach einer vorgegebenen Zeit wie<strong>de</strong>r in Ruhe Fallen<br />
(Pulsmo<strong>de</strong>)<br />
1.1.10 Allgemeine Basisfunktion<br />
Neben <strong>de</strong>n Funktionen <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>, die direkt auf Inputs und<br />
Outputs zugreifen, gibt es noch einige wichtige Systemfunktionen.<br />
Dazu gehören:<br />
. <strong>Web</strong>-Based Management<br />
. Systemuhr inkl. Timeserver-Synchronisation<br />
. Möglichkeiten zum Firmware Update<br />
i Alle<br />
hier kurz vorgestellten Funktionen sind in <strong>de</strong>n<br />
nachfolgen<strong>de</strong>n Kapiteln noch einmal ausführlich beschrieben.<br />
14
W&T<br />
2 Vorbereitungen zur Inbetriebnahme<br />
Wir empfehlen in je<strong>de</strong>m Fall, vor Inbetriebnahme <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong><br />
die komplette Anleitung zu lesen.<br />
. Anschluss <strong>de</strong>r Versorgungsspannung<br />
. Verbin<strong>de</strong>n mit <strong>de</strong>m Netzwerk<br />
. Vergabe einer IP-Adresse<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
15
W&T Vorbereitung zur Inbetriebnahme<br />
2.1 Versorgungsspannung und Netzwerkanschluss<br />
2.1.1 <strong>Web</strong>-<strong>IO</strong> #57637 und #57638<br />
Verbin<strong>de</strong>n Sie das <strong>Web</strong>-<strong>IO</strong> über ein Patchkabel mit einem freien<br />
HUB- ober SWITCH-Port. Das <strong>Web</strong>-<strong>IO</strong> hat einen autosensing<br />
Netzwerkanschluss 10/100BaseT und erkennt automatisch die<br />
Netzwerkgeschwindigkeit.<br />
16<br />
Netzwerk<br />
Wenn das <strong>Web</strong>-<strong>IO</strong> nicht an einem PoE fähigen Switch angeschlossen<br />
ist, klemmen Sie eine Versorgungsspannung zwischen<br />
24 V und 48 V AC o<strong>de</strong>r DC an die Versorgungsspannungsklemme<br />
an <strong>de</strong>r Unterseite <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>.<br />
Nach ca. 2 Sek. sollte die Status-LED blinken und die Error-LED<br />
erloschen sein. Sollte die rote Error-LED blinken, überprüfen Sie<br />
die Verbindung zum Netzwerk.<br />
<strong>IO</strong> Port Network<br />
1Passen<strong>de</strong> Netzteile<br />
können bei W&T als<br />
Zubehör bezogen wer<strong>de</strong>n.<br />
Siehe<br />
http://www.wut.<strong>de</strong><br />
Bereich <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong>
W&T Vorbereitung zur Inbetriebnahme<br />
2.1.2 <strong>Web</strong>-<strong>IO</strong> #57630, #57631, #57634 und #57636<br />
Verbin<strong>de</strong>n Sie das <strong>Web</strong>-<strong>IO</strong> über ein Patchkabel mit einem freien<br />
HUB- ober SWITCH-Port. Das <strong>Web</strong>-<strong>IO</strong> hat einen autosensing<br />
Netzwerkanschluss 10/100BaseT und erkennt automatisch die<br />
Netzwerkgeschwindigkeit.<br />
Netzwerk<br />
W&T<br />
<strong>Web</strong>-<strong>IO</strong><br />
Klemmen Sie eine Versorgungsspannung zwischen 12 V und<br />
24 V AC o<strong>de</strong>r DC an die Anschlüsse 1 und 2.<br />
Nach ca. 2 Sek. ertönt ein Piepton und es sollten die Statusund<br />
die Error-LED erloschen sein. Sollte die rote Error-LED blinken,<br />
überprüfen Sie die Verbindung zum Netzwerk.<br />
1Hat das <strong>Web</strong>-<strong>IO</strong> keine bzw. die IP-Adresse 0.0.0.0,<br />
bleiben die LEDs on error und system error nach einem<br />
Reset o<strong>de</strong>r Neustart an! Erst wenn eine IP-Adresse vergeben<br />
wird, gehen die LEDs aus.<br />
<strong>Digital</strong><br />
17
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
2.2 Vergabe <strong>de</strong>r IP-Adresse<br />
Das <strong>Web</strong>-<strong>IO</strong> hat ab Werk die IP-Adresse 0.0.0.0. Vor <strong>de</strong>r Vergabe<br />
müssen Sie von Ihrem jeweiligen Systembetreuer eine<br />
zu Ihrem Netzwerk passen<strong>de</strong> IP-Adresse erhalten. In kleineren,<br />
ungerouteten Netzen verwen<strong>de</strong>n Sie die IP-Adresse Ihres<br />
PCs und än<strong>de</strong>rn lediglich die letzte Stelle.<br />
2.2.1 IP-Adresse automatisch per DHCP beziehen<br />
Ab Werk ist das <strong>Web</strong>-<strong>IO</strong> so vorkonfiguriert, dass es beim<br />
Systemstart automatisch versucht eine IP-Adresse von einem<br />
DHCP-Server zu beziehen. Dabei wer<strong>de</strong>n als weitere Parameter<br />
übergeben:<br />
• Subnet-Mask<br />
• Gateway-Adresse<br />
• DNS-Server<br />
• Lease-Time<br />
1Bitte beachten Sie, dass <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> ggf. bei Neustart<br />
eine an<strong>de</strong>re IP-Adresse zugeteilt wird. Um das <strong>Web</strong>-<strong>IO</strong><br />
gezielt ansprechen zu können, sollte <strong>de</strong>shalb im DHCP-Server<br />
eine Adressreservierung o<strong>de</strong>r eine feste Zuordnung zwischen<br />
Gerätenamen und vergebener IP-Adresse vorgenommen wer<strong>de</strong>n.<br />
Weitere Details zu DHCP fin<strong>de</strong>n Sie im Anhang im Kapitel Alternative<br />
IP-Adressvergabe.<br />
2.2.2 Vergabe <strong>de</strong>r IP-Adresse mit <strong>de</strong>m Wutility-Tool<br />
1Diese Metho<strong>de</strong> zur Adressvergabe kann nur auf PC mit<br />
Windows-Betriebssystemen durchgeführt wer<strong>de</strong>n. Sollte<br />
Ihnen kein Windows-System zur Verfügung stehen, beachten<br />
Sie bitte im Anhang das Kapitel Alternative IP-Adressvergabe.<br />
18<br />
1Je<strong>de</strong> IP-Adresse<br />
muss immer netzwerkweit<br />
ein<strong>de</strong>utig sein.
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
g<br />
Die Wutility-Installationsdateien fin<strong>de</strong>n Sie auf <strong>de</strong>r<br />
Produkt-CD, in <strong>de</strong>m Sie nach CD-Start die Artikelnummer<br />
Ihres <strong>Web</strong>-<strong>IO</strong> in das Suche-Feld eingeben.<br />
Alternativ kann Wutility unter www.WuT.<strong>de</strong> heruntergela<strong>de</strong>n<br />
wer<strong>de</strong>n (über Artikelsuche und Tools).<br />
Nach erfolgreicher Installation und Start scannt Wutility das<br />
Netzwerk nach W&T Geräten ab und listet alle gefun<strong>de</strong>nen Geräte<br />
auf.<br />
Die Liste <strong>de</strong>r gefun<strong>de</strong>nen W&T Netzwerkkomponenten sollte<br />
nun einen Eintrag für das <strong>Web</strong>-<strong>IO</strong> enthalten. Die IP-Adresse sollte<br />
mit 0.0.0.0 angezeigt wer<strong>de</strong>n, wenn es sich um eine Erstinbetriebnahme<br />
han<strong>de</strong>lt. Stellen Sie anhand <strong>de</strong>r angezeigten<br />
Ethernet-Adresse sicher, ob <strong>de</strong>r Eintrag Ihrem <strong>Web</strong>-<strong>IO</strong> entspricht.<br />
Lesen Sie die Ethernet-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> von <strong>de</strong>m Aufkleber<br />
am Gehäuse ab:<br />
EN=00c0:3d05:3704<br />
57637 <strong>Web</strong>-<strong>IO</strong> 2x<br />
<strong>Digital</strong> PoE<br />
OK+08154711<br />
Markieren Sie <strong>de</strong>n Eintrag für Ihr <strong>Web</strong>-<strong>IO</strong>.<br />
Klicken Sie auf das IP-Adresse Icon und geben Sie die IP-Adresse<br />
ein, die das <strong>Web</strong>-<strong>IO</strong> bekommen soll.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
19
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
Überprüfen Sie, ob die Vorgaben für Subnet-Maske und Gateway<br />
stimmen und bestätigen Sie mit Weiter. Wenn alle Einstellungen<br />
korrekt übernommen wur<strong>de</strong>n, erscheint das <strong>Web</strong>-<strong>IO</strong> nun<br />
mit <strong>de</strong>r gewünschten IP-Adresse in <strong>de</strong>r Liste.<br />
Alle weiteren Einstellungen können nun bequem über <strong>de</strong>n Browser<br />
per <strong>Web</strong>-Based Management vorgenommen wer<strong>de</strong>n.<br />
Nutzen Sie nach Login als Administrator <strong>de</strong>n Modus Profile um<br />
Standardanwendungsfälle zu konfigurieren. Detaillierte Beschreibungen<br />
zur Konfiguration <strong>de</strong>r verschie<strong>de</strong>nen Betriebsarten<br />
fin<strong>de</strong>n Sie in <strong>de</strong>n nachfolgen<strong>de</strong>n Kapiteln.<br />
20
W&T Anschlüsse, Bedienelemente und LEDs<br />
3 Anschlüsse, Bedienelemente und LEDs<br />
. Versorgungsspannungsanschluss<br />
. Input- und Output-Anschlüsse<br />
. Ethernet-Anschluss<br />
. RS232<br />
. Gerätestatus LEDs<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
21
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.1 Anschlüsse <strong>Web</strong>-<strong>IO</strong> 2x Dig. Input, 2x Dig. Output<br />
Type 57637, 57638<br />
22<br />
PoE<br />
Power over Ethernet<br />
-<br />
+<br />
24V DC<br />
max. 150mA<br />
+<br />
-<br />
24V - 48V DC o<strong>de</strong>r 18V - 30V AC<br />
(bei DC Polarität beachten)<br />
Im Folgen<strong>de</strong>n sind die zwei Möglichkeiten beschrieben, das<br />
<strong>Web</strong>-<strong>IO</strong> 2x Dig. In, 2x Dig. Out mit Spannung zu versorgen.<br />
Wird das Gerät via PoE mit <strong>de</strong>r benötigten Betriebs-<br />
1 spannung versorgt, kann das Anschließen o<strong>de</strong>r Entfernen<br />
einer zusätzlichen externen Spannungsquelle im laufen<strong>de</strong>n<br />
Betrieb zu einem Neustart führen.<br />
Error<br />
Vcc<br />
DC/AC<br />
Network<br />
Status<br />
Power<br />
1 2 + - 1 2<br />
Outputs Vdd GND Inputs<br />
3.1.1 Externe Spannungsversorgung<br />
Schließen Sie eine Spannungsversorgung von 24V...48V DC (+/<br />
-10%) o<strong>de</strong>r 18Veff...30Veff AC (+/-10%) an <strong>de</strong>r Klemme auf <strong>de</strong>r<br />
Unterseite <strong>de</strong>s Gerätes an. Sie können hierzu die von W&T angebotenen<br />
Netzteile o<strong>de</strong>r alternativ je<strong>de</strong> beliebige Spannungsversorgung<br />
verwen<strong>de</strong>n, welche die technischen Voraussetzungen<br />
erfüllt.
W&T Anschlüsse, Bedienelemente und LEDs<br />
Die externe Spannungsversorgung <strong>de</strong>s Gerätes ist in<br />
1 Netzwerken ohne PoE-Unterstützung immer erfor<strong>de</strong>rlich,<br />
kann aber auch in PoE-Umgebungen angewen<strong>de</strong>t wer<strong>de</strong>n.<br />
Bei Versorgung mit Gleichspannung muss auf die korrekte<br />
Polung geachtet wer<strong>de</strong>n. Eine entsprechen<strong>de</strong> Beschriftung ist<br />
an <strong>de</strong>n Schraubklemmen auf <strong>de</strong>m grünen Spannungsversorgungsstecker<br />
zu fin<strong>de</strong>n.<br />
3.1.2 Spannungsversorgung über PoE<br />
Das <strong>Web</strong>-<strong>IO</strong> 2x Dig. In, 2x Dig. Out PoE ist für <strong>de</strong>n Einsatz in<br />
Power over Ethernet-Umgebungen gemäß IEEE802.3af ausgerüstet.<br />
Die Spannungsversorgung erfolgt hierbei durch die<br />
Netzwerkinfrastruktur über <strong>de</strong>n RJ45-Anschluss. Das Gerät unterstützt<br />
sowohl die Phantom-Speisung über die Datenpaare 1/<br />
2 und 3/6, wie auch die Spare-Pair-Speisung über die ungenutzten<br />
A<strong>de</strong>rnpaare 4/5 und 7/8.<br />
Um <strong>de</strong>r versorgen<strong>de</strong>n Komponente ein Powermanagement zu<br />
ermöglichen, i<strong>de</strong>ntifiziert sich das <strong>Web</strong>-<strong>IO</strong> als Gerät <strong>de</strong>r<br />
Leistungsklasse 1 mit einer Leistungsaufnahme von 0,44W bis<br />
3,84W.<br />
3.1.3 Input-Beschaltung<br />
Der erlaubte Eingangsspannungsbereich liegt bei +/-30V gegen<br />
die Bezugsmasse.<br />
Die Schaltschwelle <strong>de</strong>r Inputs liegt bei 8V +/-1V. Spannungen<br />
darunter wer<strong>de</strong>n als OFF bzw. 0 Signal erkannt. Spannungen<br />
über 8V wertet das <strong>Web</strong>-<strong>IO</strong> als ON bzw. 1 Signal. Eingangsspannungen<br />
zwischen 7V und 9V sollten vermie<strong>de</strong>n wer<strong>de</strong>n, da<br />
eine <strong>de</strong>finierte Zuordnung nicht sicher möglich ist.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
23
W&T Anschlüsse, Bedienelemente und LEDs<br />
24<br />
z.B. 24V +<br />
-<br />
+<br />
-<br />
24V - 48V DC o<strong>de</strong>r 18V - 30V AC<br />
(bei DC Polarität beachten)<br />
Das Anschlussbeispiel zeigt die Ansteuerung von zwei Inputs<br />
mit Signalen aus verschie<strong>de</strong>nen Stromkreisen ohne PoE-Versorgung.<br />
Dabei ist es wichtig, dass die Input Signale <strong>de</strong>n gleichen<br />
Massebezug haben.<br />
Alternativ besteht die Möglichkeit, das Gerät über PoE mit Strom<br />
zu versorgen. In diesem Fall kann die interne Hilfsversorgung<br />
genutzt wer<strong>de</strong>n, um z.B. ein Signal über potentialfreie Kontakte<br />
auf die Inputs zu schalten.<br />
Auf <strong>de</strong>n Klemmen 3 und 4 <strong>de</strong>r Front-Klemmleiste stellt das<br />
<strong>Web</strong>-<strong>IO</strong> 2x Dig. In, 2x Dig. Out PoE 24V DC zur Verfügung, die<br />
mit maximal 150mA belastbar sind.<br />
Error<br />
Vcc<br />
AC/DC<br />
Network<br />
Status<br />
Power<br />
1 2 + - 1 2<br />
Outputs Vdd GND Inputs
W&T Anschlüsse, Bedienelemente und LEDs<br />
PoE<br />
Power over Ethernet<br />
24V DC<br />
max. 150mA<br />
Network<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Error<br />
Status<br />
Power<br />
1 2 + - 1 2<br />
Outputs Vdd GND Inputs<br />
Vcc<br />
DC/AC<br />
Die Hilfsspannung muss über das <strong>Web</strong>-Based Management<br />
zunächst aktiviert wer<strong>de</strong>n.<br />
Loggen Sie sich dazu als Administrator ein und wählen Sie im<br />
Menübaum Config >> Device >> Output Mo<strong>de</strong><br />
Aktivieren Sie unter Power > Internal 24V enable<br />
Abschließend muss die geän<strong>de</strong>rte Einstellung durch Logout und<br />
Speichern ins <strong>Web</strong>-<strong>IO</strong> übernommen wer<strong>de</strong>n.<br />
25
W&T Anschlüsse, Bedienelemente und LEDs<br />
Die Zuleitungen <strong>de</strong>r Inputs sollten nicht länger als nötig sein.<br />
Bei Kabellängen unter 2m können ungeschirmte Kabel genutzt<br />
wer<strong>de</strong>n.<br />
Bei längeren Zuleitungen sollten in je<strong>de</strong>m Fall geeignete<br />
Schirmmaßnahmen gegen Einstrahlungen getroffen wer<strong>de</strong>n. Wir<br />
empfehlen die Verwendung geschirmter Kabel und/o<strong>de</strong>r Ferrite,<br />
sowie getrennte Kabelführungen, damit Störsignale nicht als<br />
Nutzsignale erkannt wer<strong>de</strong>n.<br />
Neben <strong>de</strong>r Erkennung <strong>de</strong>s Input-Status (ON/OFF), verfügt je<strong>de</strong>r<br />
Eingang zusätzlich über einen Zähler. Im Auslieferungszustand<br />
wer<strong>de</strong>n Flanken (Zustandwechsel) gezählt. Die Zähler können<br />
alternativ von Flanken- auf Pulszählung umkonfiguriert wer<strong>de</strong>n.<br />
Darüber hinaus können 2 Inputs zusammen für eine<br />
inkrementale, richtungsabhängige Zählung genutzt wer<strong>de</strong>n.<br />
Hierbei wird immer <strong>de</strong>r Zähler erhöht, bei <strong>de</strong>m <strong>de</strong>r Wechsel<br />
zuerst erkannt wur<strong>de</strong>.<br />
3.1.4 Output-Beschaltung<br />
26<br />
-<br />
z.B. 24V<br />
+<br />
+<br />
-<br />
24V - 48V DC o<strong>de</strong>r 18V - 30V AC<br />
(bei DC Polarität beachten)<br />
Die 2 Outputs <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> sind stromtreibend. Die<br />
Versorgungsspannung für die Outputs kann zwischen +6 V und<br />
Error<br />
Vcc<br />
AC/DC<br />
Network<br />
Status<br />
Power<br />
1 2 + - 1 2<br />
Outputs Vdd GND Inputs
W&T Anschlüsse, Bedienelemente und LEDs<br />
+30 V (Gleichspannung) liegen und wird über die Front-Klemmen<br />
3 + 4 GND und Vdd eingespeist.<br />
Je<strong>de</strong>r Output darf max. 500mA schalten. Um höhere Schaltströme<br />
zu erreichen, können die bei<strong>de</strong>n Outputs zu einer Gruppe<br />
zusammen geschaltet wer<strong>de</strong>n. Der maximale Schaltstrom ergibt<br />
sich aus <strong>de</strong>r Summe <strong>de</strong>r Einzelströme. Bei 2 Ausgängen<br />
max. 1A.<br />
Bei <strong>de</strong>r Dimensionierung <strong>de</strong>r Ausgangsspannungsversorgung<br />
sollte <strong>de</strong>r benötigte Strom berücksichtigt wer<strong>de</strong>n. Wenn sich die<br />
gewählte Output-Spannung zwischen 18V und 30V Gleichspannung<br />
bewegt, können Vcc und Vdd auch aus <strong>de</strong>rselben<br />
Quelle versorgt wer<strong>de</strong>n.<br />
Bei Versorgung über PoE können die Outputs alternativ über die<br />
interne 24V Hilfsversorgung gespeist wer<strong>de</strong>n.<br />
PoE<br />
Power over Ethernet<br />
24V DC<br />
max. 150mA<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Error<br />
Vcc<br />
DC/AC<br />
Power Status<br />
Network<br />
1 2 + - 1 2<br />
Outputs Vdd GND Inputs<br />
Für bei<strong>de</strong> Outputs stehen in diesem Fall zusammen max.<br />
150mA Schaltstrom zur Verfügung. Die Hilfsversorgung ist mit<br />
einer selbstheilen<strong>de</strong>n thermischen Sicherung abgesichert. Bei<br />
Überlast wird die Spannung abgeschaltet und steht nach Entfernen<br />
<strong>de</strong>r Last erst nach einigen Minuten wie<strong>de</strong>r zur Verfügung.<br />
27
W&T Anschlüsse, Bedienelemente und LEDs<br />
Die interne Hilfspannung muss über das <strong>Web</strong>-Based Management<br />
zunächst aktiviert wer<strong>de</strong>n.<br />
Loggen Sie sich dazu als Administrator ein und wählen Sie im<br />
Menübaum Config >> Device >> Output Mo<strong>de</strong>.<br />
Aktivieren Sie unter Power > Internal 24V enable<br />
Abschließend muss die geän<strong>de</strong>rte Einstellung durch Logout<br />
und Speichern ins <strong>Web</strong>-<strong>IO</strong> übernommen wer<strong>de</strong>n.<br />
Outputs, die mit einer induktiven Last wie z.B. einem Relais<br />
beschaltet sind, sollten mit einer Freilaufdio<strong>de</strong> geschützt wer<strong>de</strong>n.<br />
Die Outputs verfügen über eine thermische Überlastsicherung<br />
und sind kurzschlussfest.<br />
28
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.2 Anschlüsse <strong>Web</strong>-<strong>IO</strong> 12x Dig. In, 12x Dig. Out<br />
Type 57630, 57631<br />
Reset-Taster<br />
Gerätestatus<br />
LEDs<br />
Ethernet-<br />
Anschluss<br />
Serielle<br />
Schnittstelle<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Serial Port<br />
Eingangsbeschaltung<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND GND<br />
GND 0 0 1<br />
1 2<br />
2 3<br />
3 GND<br />
GND 4 4 5<br />
5 6<br />
6 7<br />
7 GND GND 8<br />
8 9<br />
9 10<br />
10 11<br />
11<br />
INPUT INPUT GROUP GROUP 0 0 INPUT INPUT GROUP GROUP 1 1 INPUT INPUT GROUP GROUP 2<br />
2<br />
W&T<br />
W&T<br />
<strong>Web</strong>-<strong>IO</strong> #57634 #57630<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong><br />
12x 12x <strong>Digital</strong> Input, 12x 12x<strong>Digital</strong>-<strong>IO</strong> 6x <strong>Digital</strong> Relais Output 10/100BT<br />
system system error<br />
error<br />
on<br />
on<br />
error<br />
errorhttp:// http:// . . . . . . /diag<br />
/diag<br />
12-24V<br />
12-24V OUTPUT GROUP 0 OUTPUTS<br />
OUTPUT GROUP 1 OUTPUT GROUP 2<br />
6-30V DC<br />
Vcc<br />
Vcc Vcc<br />
Vcc 0 1<br />
2<br />
0 3<br />
4 1 5<br />
6<br />
27 7 8<br />
39 9 10<br />
411 11 GND<br />
+Vdd<br />
5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
Ausgangsbeschaltung<br />
Versorgungsspannungsanschluss<br />
3.2.1 Versorgungsspannungseingang<br />
Die Versorgungsspannung wird an <strong>de</strong>n Schraubklemmen 1 und<br />
2 angeschlossen. Die bei W&T erhältlichen Steckernetzteile<br />
sind dazu auf <strong>de</strong>r Nie<strong>de</strong>rspannungsseite mit einem Spezialstecker<br />
ausgerüstet.<br />
Alternativ kann eine vorhan<strong>de</strong>ne Spannung zwischen 12V und<br />
24V zur Versorgung angeklemmt wer<strong>de</strong>n. Da das <strong>Web</strong>-<strong>IO</strong> mit<br />
Gleich- o<strong>de</strong>r Wechselspannung betrieben wer<strong>de</strong>n kann, spielt<br />
die Polarität <strong>de</strong>r Versorgungsspannung keine Rolle.<br />
Um Kabelbruch zu vermei<strong>de</strong>n, empfehlen wir, die Drahten<strong>de</strong>n<br />
mit A<strong>de</strong>rendhülsen auszustatten.<br />
1Die Klemmen 15 und 16 versorgen ausschließlich die<br />
Schaltausgänge und benötigen eine Gleichspannung.<br />
Bitte lesen Sie hierzu <strong>de</strong>n Abschnitt Output-Beschaltung.<br />
29
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.2.2 Input-Beschaltung<br />
Die 12 digitalen Eingänge sind in 3 Gruppen zu je 4 Eingängen<br />
unterteilt. Die Gruppen sind mit 2kV galvanisch<br />
gegeneinan<strong>de</strong>r getrennt. Für je<strong>de</strong> Eingangsgruppe ist eine eigene<br />
Bezugsmasse nach außen geführt.<br />
Der erlaubte Eingangsspannungsbereich liegt bei +/-30V gegen<br />
die entsprechen<strong>de</strong> Bezugsmasse.<br />
Die Schaltschwelle <strong>de</strong>r Inputs liegt bei 8V +/-1V. Spannungen<br />
darunter wer<strong>de</strong>n als OFF bzw. 0 Signal erkannt. Spannungen<br />
über 8V wertet das <strong>Web</strong>-<strong>IO</strong> als ON bzw. 1 Signal. Eingangsspannungen<br />
zwischen 7V und 9V sollten vermie<strong>de</strong>n wer<strong>de</strong>n, da<br />
eine <strong>de</strong>finierte Zuordnung nicht sicher möglich ist.<br />
30<br />
+12V<br />
GND 12V<br />
+18V<br />
GND 18V<br />
12-24V<br />
AC/DC<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Serial Port<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND GND<br />
GND 0 0 1<br />
1 2<br />
2 3<br />
3 GND<br />
GND 4 4 5<br />
5 6<br />
6 7<br />
7 GND GND 8<br />
8 9<br />
9 10<br />
10 11<br />
11<br />
INPUT INPUT GROUP GROUP 0 0 INPUT INPUT GROUP GROUP 1 1 INPUT INPUT GROUP GROUP 2<br />
2<br />
W&T<br />
W&T<br />
<strong>Web</strong>-<strong>IO</strong> #57630 #57634<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong><br />
12x 12x <strong>Digital</strong> Input, Input, 12x 12x<strong>Digital</strong>-<strong>IO</strong> 6x <strong>Digital</strong> Relais Output 10/100BT<br />
10/100BT<br />
10/100BT<br />
system system error<br />
error<br />
on<br />
on<br />
error<br />
errorhttp:// http:// . . . . . . /diag<br />
/diag<br />
12-24V<br />
12-24V OUTPUT GROUP 0 OUTPUTS<br />
OUTPUT GROUP 1 OUTPUT GROUP 2<br />
6-30V DC<br />
Vcc<br />
Vcc Vcc<br />
Vcc 0 1<br />
2<br />
0 3<br />
4 1 5<br />
6<br />
27 7 8<br />
39 9 10<br />
411 11 GND<br />
+Vdd<br />
5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
Das Anschlussbeispiel zeigt die Ansteuerung von zwei Inputs<br />
mit Signalen aus verschie<strong>de</strong>nen Stromkreisen. Dabei ist es<br />
wichtig, dass alle Signale einer Input-Gruppe <strong>de</strong>n gleichen<br />
Massebezug haben. Bei Signalen mit unterschiedlichem Massebezug<br />
sollte die Anschaltung, wie im Beispiel gezeigt, auf getrennte<br />
Input-Gruppen erfolgen.
W&T Anschlüsse, Bedienelemente und LEDs<br />
Sollen die Inputs die Zustän<strong>de</strong> potentialfreier Kontakte überwachen,<br />
kann die Versorgungsspannung Vcc über die Kontakte<br />
auf die Inputs geschaltet wer<strong>de</strong>n. In diesem Fall muss Vcc mit<br />
einer Gleichspannung von 12-24V beschaltet wer<strong>de</strong>n.<br />
+<br />
12-24V DC<br />
-<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Serial Port<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND<br />
0 1<br />
2<br />
3 33<br />
GND<br />
4 44 5 55<br />
6 66<br />
7 7 GND 8 8 9 9 10 10 11 11<br />
INPUT GROUP 0 00 INPUT GROUP 1 1 INPUT GROUP 2 2<br />
W&T<br />
<strong>Web</strong>-<strong>IO</strong> #57630 #57634<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong> 12x 12x <strong>Digital</strong> Input, 12x 12x<strong>Digital</strong>-<strong>IO</strong> 6x <strong>Digital</strong> Relais Output 10/100BT<br />
system error<br />
on<br />
error errorhttp:// http:// . . . . . /diag<br />
12-24V<br />
OUTPUT GROUP 0 OUTPUT GROUP 1 OUTPUT GROUP 2 6-30V DC<br />
Vcc<br />
Vcc<br />
0 1 2 0 3 4 1 5 6 2 7 8 3 9 10 4 11 GND +Vdd 5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
Die Zuleitungen sollten nicht länger als nötig sein. Bei Kabellängen<br />
unter 2m können ungeschirmte Kabel genutzt wer<strong>de</strong>n.<br />
Bei längeren Zuleitungen sollten in je<strong>de</strong>m Fall geeignete Schirmmaßnahmen<br />
gegen Einstrahlungen getroffen wer<strong>de</strong>n. Wir empfehlen<br />
die Verwendung geschirmter Kabel und/o<strong>de</strong>r Ferrite, sowie<br />
getrennte Kabelführungen, damit Störsignale nicht als Nutzsignale<br />
erkannt wer<strong>de</strong>n.<br />
Neben <strong>de</strong>r Erkennung <strong>de</strong>s Input-Status (ON/OFF), verfügt je<strong>de</strong>r<br />
Eingang zusätzlich über einen Zähler. Im Auslieferungszustand<br />
wer<strong>de</strong>n Flanken (Zustandwechsel) gezählt. Die Zähler können<br />
alternativ von Flanken- auf Pulszählung umkonfiguriert wer<strong>de</strong>n.<br />
31
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.2.3 Output-Beschaltung<br />
Die 12 Outputs <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> sind stromtreibend. Die<br />
Versorgungsspannung für die Outputs kann zwischen +6 V<br />
und +30 V (Gleichspannung) liegen und wird über die Klemmen<br />
16 (Vdd) und 15 (GND) eingespeist.<br />
12-24V<br />
AC/DC<br />
32<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Serial Port<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND<br />
0 1<br />
2 22<br />
3 33<br />
GND<br />
4 44 5 55<br />
6 66<br />
7 7 GND 8 8 9 9 10 10 11 11<br />
INPUT GROUP 0 00 INPUT GROUP 1 1 INPUT GROUP 2 2<br />
W&T<br />
<strong>Web</strong>-<strong>IO</strong> #57630 #57634 #57630<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong> 12x 12x <strong>Digital</strong> Input, 12x 12x<strong>Digital</strong>-<strong>IO</strong> 6x <strong>Digital</strong> Relais Output 10/100BT<br />
system error<br />
on<br />
error errorhttp:// http:// . . . . . /diag<br />
12-24V<br />
OUTPUT GROUP 0<br />
OUTPUTS<br />
OUTPUT GROUP 1 OUTPUT GROUP 2 6-30V DC<br />
Vcc<br />
Vcc<br />
0 1 2 0 3 4 1 5 6 2 7 8 3 9 10 4 11 GND +Vdd 5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
+<br />
6 - 30V DC<br />
Je<strong>de</strong>r Output darf max. 500mA schalten. Um höhere Schaltströme<br />
zu erreichen, können einzelne Outputs zu Gruppen<br />
von 2 o<strong>de</strong>r 4 zusammen geschaltet wer<strong>de</strong>n. Der maximale<br />
Schaltstrom ergibt sich aus <strong>de</strong>r Summe <strong>de</strong>r Einzelströme. Bei 2<br />
Ausgängen max. 1A, bei 4 Ausgängen max. 2A.<br />
Die Outputs verfügen über eine thermische Überlastsicherung<br />
und sind kurzschlussfest. Im OFF-Zustand erfolgt darüber hinaus<br />
eine Überprüfung, ob an <strong>de</strong>n Outputs eine Last vorhan<strong>de</strong>n<br />
ist. Bei angeschlossener Last fließt daher auch bei abgeschaltetem<br />
Output ein Messstrom von ca. 10µA. Das kann bei an <strong>de</strong>n<br />
Outputs angeschlossenen LEDs zu einem leichten Glimmen<br />
auch im Ruhezustand führen.<br />
Über das <strong>Web</strong>-based Management kann eine Lastüberwachung<br />
aktiviert wer<strong>de</strong>n, die <strong>de</strong>n Anwen<strong>de</strong>r bei fehlen<strong>de</strong>r Last (z.B.<br />
Drahtbruch) o<strong>de</strong>r Überlast informiert.<br />
-
W&T Anschlüsse, Bedienelemente und LEDs<br />
Outputs die mit einer induktiven Last wie z.B. einem Relais<br />
beschaltet sind, sollten mit einer Freilaufdio<strong>de</strong> geschützt<br />
wer<strong>de</strong>n.<br />
Bei <strong>de</strong>r Dimensionierung <strong>de</strong>r Ausgangsspannungsversorgung<br />
sollte <strong>de</strong>r benötigte Strom berücksichtigt wer<strong>de</strong>n. Wenn sich<br />
die gewählte Output-Spannung zwischen 12V und 24V<br />
Gleichspannung bewegt, können Vcc und Vdd auch aus <strong>de</strong>rselben<br />
Quelle versorgt wer<strong>de</strong>n.<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Serial Port<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND<br />
0 1<br />
2<br />
3 33<br />
GND<br />
4 44 5 55<br />
6 66<br />
7 77<br />
GND 8 8 9 9 10 10 11 11<br />
INPUT GROUP GROUP 0 INPUT GROUP 1 11 INPUT GROUP 2 2<br />
W&T<br />
<strong>Web</strong>-<strong>IO</strong> <strong>Web</strong>-<strong>IO</strong> #57634 #57630<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong> 12x <strong>Digital</strong> Input, 12x 12x<strong>Digital</strong>-<strong>IO</strong> 6x <strong>Digital</strong> Relais Output Output 10/100BT<br />
10/100BT<br />
system error<br />
on<br />
error errorhttp:// http:// . . . . . /diag<br />
12-24V<br />
OUTPUT GROUP 0<br />
OUTPUTS<br />
OUTPUT GROUP 1 OUTPUT GROUP 2 6-30V DC<br />
Vcc<br />
Vcc<br />
0 1 2 0 3 4 1 5 6 2 7 8 3 9 10 4 11 GND +Vdd 5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
+<br />
12 - 24V DC<br />
-<br />
33
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.3 Anschlüsse <strong>Web</strong>-<strong>IO</strong> 12x Dig. Input, 6x Relais<br />
Type 57634, 57636<br />
34<br />
Reset-Taster<br />
Gerätestatus<br />
LEDs<br />
Ethernet-<br />
Anschluss<br />
Serielle<br />
Schnittstelle<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Serial Port<br />
Eingangsbeschaltung<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND 0 1 22<br />
33<br />
GND 44 55<br />
66<br />
7 7 GND 8 8 9 9 10 10 11 11<br />
INPUT GROUP 00 INPUT GROUP 1 1 INPUT GROUP 2 2<br />
W&T<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong><br />
system error<br />
<strong>Web</strong>-<strong>IO</strong> #57634 #57630<br />
12x <strong>Digital</strong> Input, 12x<strong>Digital</strong>-<strong>IO</strong> 6x Relais Output 10/100BT<br />
on<br />
error errorhttp:// http:// . . . . . /diag<br />
12-24V OUTPUT GROUP 0<br />
OUTPUTS<br />
OUTPUT GROUP 1 OUTPUT GROUP 2 6-30V DC<br />
Vcc Vcc 0 1 2 0 3 4 1 5 6 27 8 3 9 10 411 GND +Vdd 5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
Ausgangsbeschaltung<br />
nicht beschaltet<br />
Versorgungsspannungsanschluss<br />
3.3.1 Versorgungsspannungseingang<br />
Die Versorgungsspannung wird an <strong>de</strong>n Schraubklemmen 1 und<br />
2 angeschlossen. Die bei W&T erhältlichen Steckernetzteile<br />
sind dazu auf <strong>de</strong>r Nie<strong>de</strong>rspannungsseite mit einem Spezialstecker<br />
ausgerüstet.<br />
Alternativ kann eine vorhan<strong>de</strong>ne Spannung zwischen 12V<br />
und 24V zur Versorgung angeklemmt wer<strong>de</strong>n. Da das <strong>Web</strong>-<br />
<strong>IO</strong> mit Gleich- o<strong>de</strong>r Wechselspannung betrieben wer<strong>de</strong>n<br />
kann, spielt die Polarität <strong>de</strong>r Versorgungsspannung keine<br />
Rolle.<br />
Um Kabelbruch zu vermei<strong>de</strong>n, empfehlen wir, die Drahten<strong>de</strong>n<br />
mit A<strong>de</strong>rendhülsen auszustatten.
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.3.2 Input-Beschaltung<br />
Die 12 digitalen Eingänge sind in 3 Gruppen zu je 4 Eingängen<br />
unterteilt. Die Gruppen sind mit 2kV galvanisch gegeneinan<strong>de</strong>r<br />
getrennt. Für je<strong>de</strong> Eingangsgruppe ist eine eigene Bezugsmasse<br />
nach außen geführt.<br />
Der erlaubte Eingangsspannungsbereich liegt bei +/-30V gegen<br />
die entsprechen<strong>de</strong> Bezugsmasse.<br />
Die Schaltschwelle <strong>de</strong>r Inputs liegt bei 8V +/- 1V. Spannungen<br />
darunter wer<strong>de</strong>n als OFF bzw. 0 Signal erkannt. Spannungen<br />
über 8V wertet das <strong>Web</strong>-<strong>IO</strong> als ON bzw. 1 Signal. Eingangsspannungen<br />
zwischen 7V und 9V sollten vermie<strong>de</strong>n<br />
wer<strong>de</strong>n, da eine <strong>de</strong>finierte Zuordnung nicht sicher möglich<br />
ist.<br />
+12V<br />
GND 12V<br />
+18V<br />
GND 18V<br />
12-24V<br />
AC/DC<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Serial Port<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND 0 1 22<br />
33<br />
GND 44 55<br />
66<br />
7 7 GND 8 8 9 9 10 10 11 11<br />
INPUT GROUP 00 INPUT GROUP 1 1 INPUT GROUP 2 2<br />
W&T<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong><br />
system error<br />
<strong>Web</strong>-<strong>IO</strong> #57630 #57634<br />
12x <strong>Digital</strong> Input, 12x<strong>Digital</strong>-<strong>IO</strong> 6x Relais Output 10/100BT<br />
10/100BT<br />
on<br />
error errorhttp:// http:// . . . . . /diag<br />
12-24V OUTPUT GROUP 0<br />
OUTPUTS<br />
OUTPUT GROUP 1 OUTPUT GROUP 2 6-30V DC<br />
Vcc Vcc 0 1 2 0 3 4 1 5 6 27 8 3 9 10 411 GND +Vdd 5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
Das Anschlussbeispiel zeigt die Ansteuerung von zwei Inputs<br />
mit Signalen aus verschie<strong>de</strong>nen Stromkreisen. Dabei ist es<br />
wichtig, dass alle Signale einer Input-Gruppe <strong>de</strong>n gleichen<br />
Massebezug haben. Bei Signalen mit unterschiedlichem Massebezug<br />
sollte die Anschaltung, wie im Beispiel gezeigt, auf getrennte<br />
Input-Gruppen erfolgen.<br />
35
W&T Anschlüsse, Bedienelemente und LEDs<br />
Sollen die Inputs die Zustän<strong>de</strong> potentialfreier Kontakte überwachen,<br />
kann die Versorgungsspannung Vcc über die Kontakte<br />
auf die Inputs geschaltet wer<strong>de</strong>n. In diesem Fall muss Vcc mit<br />
einer Gleichspannung von 12-24V beschaltet wer<strong>de</strong>n.<br />
+<br />
12-24V DC<br />
-<br />
36<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Serial Port<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND 0 11<br />
22<br />
33<br />
GND 44 5 5 66<br />
7 7 GND 8 8 9 9 10 10 11 11<br />
INPUT GROUP 00 INPUT GROUP 1 1 INPUT GROUP 2 2<br />
W&T<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong><br />
system error<br />
<strong>Web</strong>-<strong>IO</strong> #57630 #57634<br />
12x <strong>Digital</strong> Input, 12x<strong>Digital</strong>-<strong>IO</strong> 6x Relais Output 10/100BT<br />
on<br />
error errorhttp:// http:// . . . . . . /diag<br />
12-24V OUTPUT GROUP 0<br />
OUTPUTS<br />
OUTPUT GROUP 1 OUTPUT GROUP 2 6-30V DC<br />
Vcc Vcc 0 1 2 0 3 4 1 5 6 27 8 39 10 411 GND +Vdd 5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
Die Zuleitungen sollten nicht länger als nötig sein. Bei Kabellängen<br />
unter 2m können ungeschirmte Kabel genutzt wer<strong>de</strong>n.<br />
Bei längeren Zuleitungen sollten in je<strong>de</strong>m Fall geeignete<br />
Schirmmaßnahmen gegen Einstrahlungen getroffen wer<strong>de</strong>n.<br />
Wir empfehlen die Verwendung geschirmter Kabel und/o<strong>de</strong>r<br />
Ferrite, sowie getrennte Kabelführungen, damit Störsignale<br />
nicht als Nutzsignale erkannt wer<strong>de</strong>n.<br />
Neben <strong>de</strong>r Erkennung <strong>de</strong>s Input-Status (ON/OFF), verfügt je<strong>de</strong>r<br />
Eingang zusätzlich über einen Zähler. Im Auslieferungszustand<br />
wer<strong>de</strong>n Flanken (Zustandwechsel) gezählt. Die Zähler können<br />
alternativ von Flanken- auf Pulszählung umkonfiguriert wer<strong>de</strong>n.
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.3.3 Output-Beschaltung<br />
Die 6 Outputs <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> wer<strong>de</strong>n intern über Relaiskontakte<br />
(Schließer) geschaltet. Die maximale zu schalten<strong>de</strong> Gleichspannung<br />
darf 30V nicht überschreiten wobei die maximale<br />
Schaltleistung 150W beträgt. Bei Wechselspannung beträgt<br />
die maximale Schaltspannung 48V bei einer maximalen Last<br />
von 240W.<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Serial Port<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND 00 11<br />
22<br />
33<br />
GND 44 5 5 66<br />
7 7 GND GND 8 8 9 9 10 10 11 11<br />
INPUT GROUP 00 INPUT GROUP 1 1 INPUT GROUP 2 2<br />
W&T<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong><br />
system error<br />
<strong>Web</strong>-<strong>IO</strong> #57630 #57634<br />
12x <strong>Digital</strong> Input, 12x<strong>Digital</strong>-<strong>IO</strong> 6x Relais Output 10/100BT<br />
on<br />
error errorhttp:// http:// . . . . . . /diag<br />
12-24V OUTPUT GROUP 0<br />
OUTPUTS<br />
OUTPUT GROUP 1 OUTPUT GROUP 2 6-30V DC<br />
Vcc Vcc 0 1 2 0 3 4 1 5 6 27 8 39 10 411 GND +Vdd 5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
12-24V<br />
AC/DC max. 30V DC<br />
max. 48V AC<br />
Wenn sich die gewählte Output-Spannung zwischen 12V und<br />
24V bewegt, können das <strong>Web</strong>-<strong>IO</strong> und die zu schalten<strong>de</strong> Last<br />
auch aus <strong>de</strong>rselben Quelle versorgt wer<strong>de</strong>n.<br />
37
W&T Anschlüsse, Bedienelemente und LEDs<br />
38<br />
Reset<br />
Power<br />
Status<br />
Error<br />
Serial Port<br />
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32<br />
GND GND 0 1 22<br />
33<br />
GND 44 55<br />
66<br />
7 7 GND 8 8 9 9 10 10 11 11<br />
INPUT GROUP 00 INPUT GROUP 1 1 INPUT GROUP 2 2<br />
W&T<br />
www.WuT.<strong>de</strong><br />
www.wut.<strong>de</strong><br />
system error<br />
<strong>Web</strong>-<strong>IO</strong> #57634 #57630<br />
12x <strong>Digital</strong> Input, 12x<strong>Digital</strong>-<strong>IO</strong> 6x Relais Output 10/100BT<br />
on<br />
error errorhttp:// http:// . . . . . /diag<br />
12-24V OUTPUT GROUP 0<br />
OUTPUTS<br />
OUTPUT GROUP 1 OUTPUT GROUP 2 6-30V DC<br />
Vcc Vcc 0 1 2 0 3 4 1 5 6 27 8 3 9 10 411 GND +Vdd 5<br />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16<br />
12 - 24V<br />
AC / DC
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.4 Ethernet-Anschluss<br />
Die <strong>Web</strong>-<strong>IO</strong> Mo<strong>de</strong>lle verfügen über einen IEEE 802.3-kompatiblen<br />
Netzwerkanschluss auf einem geschirmten RJ45-Steckverbin<strong>de</strong>r.<br />
Die Belegung entspricht einer MDI-Schnittstelle, so dass<br />
<strong>de</strong>r Anschluss an <strong>de</strong>n Hub o<strong>de</strong>r Switch mit einem 1:1 verdrahteten<br />
und geschirmten Patchkabel erfolgt.<br />
1=TX+<br />
2=TX-<br />
3=RX+<br />
6=RX-<br />
4=nc. 5=nc.<br />
8=nc.<br />
7=nc.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Datenleitung<br />
ungenutzt<br />
Belegung <strong>de</strong>r RJ45-POE-Netzwerkbuchse<br />
Auto Negotiation: 10/100BaseT, Full/Half Duplex<br />
Ab Werk arbeiten alle <strong>Web</strong>-<strong>IO</strong> netzwerkseitig in <strong>de</strong>r Betriebsart<br />
Auto-Negotiation. Datenübertragungsgeschwindigkeit und Duplex-Verfahren<br />
wer<strong>de</strong>n hierbei mit <strong>de</strong>m angeschlossenen<br />
Switch/Hub automatisch verhan<strong>de</strong>lt und entsprechend eingestellt.<br />
Bei<strong>de</strong> Teilnehmer (Switch und <strong>Web</strong>-<strong>IO</strong>) sollten in <strong>de</strong>r Betriebsart<br />
Auto-Negotiating betrieben wer<strong>de</strong>n.<br />
Galvanische Trennung<br />
Der Netzwerkanschluss ist sowohl gegenüber <strong>de</strong>r Versorgungsspannung<br />
als auch gegenüber <strong>de</strong>n digitalen <strong>IO</strong>s und <strong>de</strong>r seriellen<br />
Schnittstelle mit min<strong>de</strong>stens 500V rms galvanisch getrennt.<br />
<strong>Web</strong>-<strong>IO</strong> Mo<strong>de</strong>lle mit PoE (57637, 57638)<br />
1=TX+/V+<br />
2=TX-/V+<br />
8=V-<br />
7=V-<br />
3=RX+/V-<br />
6=RX-/V-<br />
4=V+ 5=V+<br />
Belegung <strong>de</strong>r RJ45-POE-Netzwerkbuchse<br />
Datenleitung<br />
Spare-Pair-Speisung<br />
Phantomspeisung<br />
39
W&T Anschlüsse, Bedienelemente und LEDs<br />
Dank <strong>de</strong>r integrierten Power over Ethernet-Technologie, kann<br />
das Gerät über <strong>de</strong>n Netzwerkanschluss mit <strong>de</strong>r nötigen Betriebsspannung<br />
versorgt wer<strong>de</strong>n.<br />
Link-Status<br />
Den aktuellen Link-Status zeigt die Error-LED an <strong>de</strong>r Gerätefront<br />
an: Blinkt sie im Abstand von 1–2 Sekun<strong>de</strong>n auf, ist die Verbindung<br />
zum Hub nicht vorhan<strong>de</strong>n bzw. gestört.<br />
1Managebare Switche verfügen häufig über spezielle<br />
Protokolle (Spanning Tree Protocol, Port-Trunking, ...),<br />
wie sie z.B. für Uplinks zu an<strong>de</strong>ren Switches o<strong>de</strong>r <strong>de</strong>n<br />
breitbandigen Anschluss von Servern benötigt wer<strong>de</strong>n. Diese<br />
Protokolle wer<strong>de</strong>n für die Anbindung gewöhnlicher Endgeräte<br />
wie das <strong>Web</strong>-<strong>IO</strong> in <strong>de</strong>r Regel nicht benötigt, verzögern <strong>de</strong>n<br />
Kommunikationsaufbau nach einem Neustart unter Umstän<strong>de</strong>n<br />
aber erheblich.<br />
In Einzelfällen kann es sogar dazu kommen, dass Switche Daten,<br />
die das <strong>Web</strong>-<strong>IO</strong> nach Zustan<strong>de</strong>kommen <strong>de</strong>s physikalischen<br />
Links sen<strong>de</strong>t, nicht ins Netzwerk weiter geben (z.B. ARP-Anfragen<br />
und BootP-Pakete)!<br />
Wir empfehlen, die nicht benötigten Protokolle und Funktionen<br />
<strong>de</strong>s Switches, an <strong>de</strong>m für das <strong>Web</strong>-<strong>IO</strong> verwen<strong>de</strong>ten Port<br />
zu <strong>de</strong>aktivieren. Wen<strong>de</strong>n Sie sich hierfür bitte an <strong>de</strong>n zuständigen<br />
Netzwerkadministrator.<br />
40
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.5 Serieller Anschluss<br />
Beim <strong>Web</strong>-<strong>IO</strong> 12x <strong>Digital</strong> Input, 12x <strong>Digital</strong> Output ohne Com-<br />
Server Funktionalität und beim <strong>Web</strong>-<strong>IO</strong> 12x <strong>Digital</strong> Input, 6x <strong>Digital</strong><br />
Relais Output steht die serielle Schnittstelle ausschließlich<br />
zu Konfigurationszwecken wie z.B. IP-Adressvergabe zur Verfügung.<br />
Die Pinbelegung dieser RS232-Schnittstelle ist i<strong>de</strong>ntisch mit <strong>de</strong>r<br />
eines PCs. Das erlaubt <strong>de</strong>n Einsatz von Standard-Kabeln.<br />
Eine <strong>de</strong>taillierte Pinbeschreibung sowie die benötigten W&T-Kabel<br />
für die wichtigsten Anwendungsfälle fin<strong>de</strong>n Sie in <strong>de</strong>n folgen<strong>de</strong>n<br />
Abbildungen.<br />
Pinbelegung und -funktion RS232, DB9 Stecker<br />
TxD<br />
RxD<br />
n.c.<br />
1 2 3 4 5<br />
6 7 8 9<br />
DTR<br />
GND<br />
DSR<br />
n.c.<br />
RTS CTS<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
DB9-Buchse<br />
PC/PC-Kabel #11992<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
4<br />
3<br />
2<br />
1<br />
5<br />
6<br />
8<br />
7<br />
DB9-Buchse<br />
Für die serielle Vergabe <strong>de</strong>r IP-Adresse ist z.B. das Null-Mo<strong>de</strong>m-Kabel<br />
1199x geeignet.<br />
1Das <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output verfügt<br />
nicht über eine serielle Schnittstelle.<br />
41
W&T Anschlüsse, Bedienelemente und LEDs<br />
3.6 LEDs für Gerätestatus<br />
Power-LED:<br />
Power-LED:<br />
Signalisiert das Anliegen <strong>de</strong>r Versorgungsspannung. Sollte die<br />
LED nicht leuchten, überprüfen Sie bitte <strong>de</strong>n korrekten Anschluss<br />
<strong>de</strong>r Spannungsversorgung.<br />
Status-LED:<br />
Status-LED:<br />
Blitzt bei jeglicher Netzwerkaktivität <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> auf. Periodisches<br />
Blinken signalisiert, dass <strong>de</strong>r Port Verbindung zu einem<br />
an<strong>de</strong>ren Teilnehmer hat.<br />
Error-LED:<br />
Error-LED:<br />
Die Error-LED weist durch unterschiedliche Blinkco<strong>de</strong>s auf<br />
Fehlerzustän<strong>de</strong> am Gerät o<strong>de</strong>r Netzwerk-Port hin.<br />
1x 1x Blinken Blinken <strong>de</strong>r <strong>de</strong>r Error-LED<br />
Error-LED<br />
Netzwerkanschluss überprüfen. Das <strong>Web</strong>-<strong>IO</strong> empfängt keinen<br />
Link-Impuls von einem Hub/Switch. Überprüfen Sie das Kabel<br />
o<strong>de</strong>r <strong>de</strong>n Hub/Switch-Port.<br />
2x bzw. 3x Blinken <strong>de</strong>r Error-LED<br />
Führen Sie durch Drücken <strong>de</strong>s Tasters am Gehäuse einen<br />
Reset durch (beim <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output<br />
durch Unterbrechung <strong>de</strong>r Spannungsversorgung). Sollte<br />
<strong>de</strong>r Fehler nicht behoben sein, setzen Sie das Gerät auf die<br />
Factory Defaults zurück. Da alle Netzwerkeinstellungen zurückgesetzt<br />
wer<strong>de</strong>n, sollten Sie sich Ihre Netzwerkeinstellungen<br />
notieren.<br />
<strong>Web</strong>-Based Management: Config >> Session Control >> LogOut<br />
>> Restore Defaults . Nach einem Reset ist das Gerät auf die<br />
Factory Defaults zurückgesetzt. Nehmen Sie erneut die<br />
Netzwerkeinstellungen vor.<br />
i Mehr<br />
42<br />
Informationen zur Menüführung und<br />
Konfiguration fin<strong>de</strong>n Sie im Kapitel „<strong>Web</strong>-Based<br />
Management“.
W&T Anschlüsse, Bedienelemente und LEDs<br />
Power-LED Power-LED + + Status-LED Status-LED + + Error-LED Error-LED an<br />
an<br />
= = = Selbsttest-Fehler<br />
Selbsttest-Fehler<br />
Der nach je<strong>de</strong>m Start o<strong>de</strong>r Reset <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> durchgeführte<br />
Selbsttest konnte - z.B. wegen eines unvollständigen Updates<br />
<strong>de</strong>r Firmware - nicht korrekt been<strong>de</strong>t wer<strong>de</strong>n. Das Gerät ist<br />
in diesem Zustand nicht mehr betriebsfähig. Sen<strong>de</strong>n Sie das<br />
Gerät bitte über Ihren Fachhändler zur Überprüfung an W&T.<br />
on on on error error http://xxx.xxx.xxx.xxx/diag-LED:<br />
http://xxx.xxx.xxx.xxx/diag-LED:<br />
http://xxx.xxx.xxx.xxx/diag-LED:<br />
Zeigt interne Fehler <strong>de</strong>r Konfiguration an. Zur Fehleranalyse rufen<br />
Sie die Seite http:///diag im Gerät<br />
auf.<br />
Zum Beispiel:<br />
http://10.40.22.126/diag<br />
system system error: error:<br />
error:<br />
Interner Kommunikationsfehler. Versuchen Sie das Gerät<br />
durch das Trennen <strong>de</strong>r Spannungsversorgung neu zu starten.<br />
Sollte <strong>de</strong>r Zustand anhalten, sen<strong>de</strong>n Sie das Gerät bitte<br />
über Ihren Fachhändler zur Überprüfung an W&T.<br />
1Hat das <strong>Web</strong>-<strong>IO</strong> keine bzw. die IP-Adresse 0.0.0.0,<br />
bleiben die LEDs on error und system error nach<br />
einem Reset o<strong>de</strong>r Neustart an! Erst wenn eine IP-Adresse vergeben<br />
wird, gehen die LEDs aus.<br />
1Beim <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output befin<strong>de</strong>n<br />
sich die LEDs im Gehäuseinneren und sind nur von <strong>de</strong>r<br />
Seite erkennbar.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
43
W&T<br />
44
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
4 Konfiguration <strong>de</strong>r Netzwerkparameter<br />
■ <strong>Web</strong>-Based Management<br />
■ Grun<strong>de</strong>instellung <strong>de</strong>r Netzwerkparameter<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
45
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
4.1 <strong>Web</strong>-Based Management<br />
Das W&T <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> stellt <strong>de</strong>m Anwen<strong>de</strong>r ein vollständiges<br />
<strong>Web</strong>-Based Management zur Verfügung. Das be<strong>de</strong>utet: Hat das<br />
<strong>Web</strong>-<strong>IO</strong> eine IP-Adresse, sind alle Einstellungen ganz bequem<br />
übers Netzwerk im Browser möglich.<br />
4.1.1 Aufbau <strong>de</strong>r <strong>Web</strong>seite<br />
Wird das <strong>Web</strong>-<strong>IO</strong> im Browser aufgerufen, erscheint immer<br />
eine zweigeteilte <strong>Web</strong>seite. Die bei<strong>de</strong>n Teile bezeichnet man<br />
auch als Frames.<br />
Auf <strong>de</strong>r linken Seite befin<strong>de</strong>t sich immer <strong>de</strong>r Navigationsframe,<br />
<strong>de</strong>n man mit <strong>de</strong>m Inhaltsverzeichnis eines Buches vergleichen<br />
kann.<br />
Rechts ist <strong>de</strong>r Anzeige- und Konfigurationsframe platziert.<br />
Beim Aufruf <strong>de</strong>r <strong>Web</strong>seite ist hier anfangs <strong>de</strong>r aktuelle Status<br />
<strong>de</strong>r Inputs und Outputs <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> dargestellt.<br />
4.1.2 Die Navigation<br />
Der Navigationsframe beinhaltet einen Verzeichnisbaum, in <strong>de</strong>m<br />
alle verfügbaren Menüpunkte <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> nach Kategorien geordnet<br />
aufgelistet sind. Durch Klick wer<strong>de</strong>n entwe<strong>de</strong>r weitere<br />
Menüpunkte einer Kategorie angezeigt und/o<strong>de</strong>r ein neuer Inhalt<br />
im Konfigurationsframe aufgebaut.<br />
1Vermei<strong>de</strong>n Sie die Benutzung <strong>de</strong>r Schaltflächen „Vor“<br />
und „Zurück“ Ihres Browsers. Benutzen Sie ausschließlich<br />
<strong>de</strong>n Navigationsbaum bzw. die Buttons und Links im<br />
Konfigurationsframe um zu navigieren. An<strong>de</strong>renfalls, können<br />
im Hintergrund zwischengespeicherte Parameter beim<br />
Weiterspringen verloren gehen.<br />
46
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
4.1.3 Erleichterte Navigation durch Profile<br />
Das <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> bietet diverse verschie<strong>de</strong>ne Betriebsarten<br />
und Konfigurationsmöglichkeiten. Um auch <strong>de</strong>m Anwen<strong>de</strong>r<br />
<strong>de</strong>r zum ersten mal mit <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> arbeitet einen einfachen<br />
Einstieg zu erlauben, haben wir für die gebräuchlichsten Anwendungsmöglichkeiten<br />
Profile erstellt.<br />
Nach erfolgreichem Administrator Login (auf die möglichen<br />
Zugriffsrechte geht <strong>de</strong>r nächste Abschnitt ein) hat <strong>de</strong>r Anwen<strong>de</strong>r<br />
die Wahl zwischen <strong>de</strong>r Konfiguration mit Hilfe <strong>de</strong>r Profile<br />
o<strong>de</strong>r <strong>de</strong>m Expertenmodus, <strong>de</strong>r keine Hilfestellung bei <strong>de</strong>r<br />
Konfiguration gibt.<br />
Die Arbeit mit Profilen vereinfacht die Konfiguration durch<br />
farbliches Hervorheben <strong>de</strong>r Konfigurationspunkte, die für die<br />
entsprechen<strong>de</strong> Betriebsart tatsächlich nötig sind. Dabei wer<strong>de</strong>n<br />
sowohl die Menüeinträge im Navigationsbaum als auch<br />
die jeweiligen Parameter auf <strong>de</strong>n Konfigurationsseiten markiert.<br />
4.1.4 Zugriffsrechte<br />
Je nach Login unterschei<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> zwischen 3 verschie<strong>de</strong>nen<br />
Zugriffsberechtigungen:<br />
Default User:<br />
Diesen Status hat zunächst je<strong>de</strong>r, <strong>de</strong>r die Startseite <strong>de</strong>s<br />
<strong>Web</strong>-<strong>IO</strong> aufruft. Der Status von Inputs und Outputs kann<br />
ausschließlich angezeigt, aber nicht verän<strong>de</strong>rt wer<strong>de</strong>n.<br />
Än<strong>de</strong>rungen <strong>de</strong>r Konfiguration sind nicht möglich.<br />
Administrator:<br />
Durch Klick auf Config im Menübaum und Eingabe <strong>de</strong>s Administrator-Passwortes<br />
erlangt man <strong>de</strong>n vollständigen Zugriff<br />
auf das <strong>Web</strong>-<strong>IO</strong>. Die Startseite wird mit einem erheblich<br />
erweiterten Menübaum neu aufgebaut. Im Auslieferungszustand<br />
ist es nicht nötig, ein Passwort einzugeben und es genügt<br />
ein Klick auf <strong>de</strong>n Login-Button.<br />
Auf die Vergabe <strong>de</strong>r Passwörter wird im nächsten Absatz näher<br />
eingegangen.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
47
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
Operator:<br />
Die Zugriffsrechte <strong>de</strong>s Operators sind auf das Setzen <strong>de</strong>r<br />
Outputs, das Löschen <strong>de</strong>r Counter, das Än<strong>de</strong>rn <strong>de</strong>r<br />
Alarmausgaben und einige Diagnosemöglichkeiten begrenzt.<br />
Der Operator hat keine weiteren Konfigurationsmöglichkeiten.<br />
Das Login in diesen Modus erfolgt ebenfalls<br />
durch Eingabe <strong>de</strong>s für diesen Zugriff festgelegten<br />
Passwortes.<br />
Das Login erfolgt nach Aufruf <strong>de</strong>r <strong>Web</strong>-<strong>IO</strong> <strong>Web</strong>seite über <strong>de</strong>n<br />
Punkt Config im Navigationsbaum.<br />
Hier noch einmal die Menübäume zu <strong>de</strong>n verschie<strong>de</strong>nen Zugriffsberechtigungen<br />
im Vergleich:<br />
Default User Administrator Operator<br />
4.1.5 Än<strong>de</strong>rn und Einrichten <strong>de</strong>r Zugriffspasswörter<br />
Die Bedingung hierfür ist das Login als Administrator.<br />
48
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
Wählen Sie im Navigationsbaum: Config >> Session<br />
Control >> New Password und geben Sie in die Eingabefel<strong>de</strong>r<br />
die gewünschten Passwörter ein. Die maximal zulässige Länge<br />
für ein Passwort ist auf 31 Zeichen begrenzt.<br />
Es ist nicht zulässig, für Admin- und Operatorzugriff das gleiche<br />
Passwort zu benutzen.<br />
Durch Klick auf <strong>de</strong>n Zwischenspeichern-Button wer<strong>de</strong>n die neuen<br />
Passwörter an das <strong>Web</strong>-<strong>IO</strong> übergeben. Nun müssen die Än<strong>de</strong>rungen<br />
noch aktiviert wer<strong>de</strong>n.<br />
Tipp: Notieren Sie die vergebenen Passwörter in Ihren persönlichen Unterlagen.<br />
Sind die Passwörter nicht mehr bekannt, fin<strong>de</strong>n Sie im Anhang<br />
dieser Anleitung Hilfe.<br />
4.1.6 Übernahme und Aktivierung <strong>de</strong>r Einstellungen<br />
Wenn alle Eingaben und Konfigurationsän<strong>de</strong>rungen durchgeführt<br />
wur<strong>de</strong>n, müssen die neuen Einstellungen noch aktiviert<br />
wer<strong>de</strong>n. Benutzen Sie <strong>de</strong>n auf je<strong>de</strong>r Konfigurationsseite vorhan<strong>de</strong>nen<br />
Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
49
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
Nach einem Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n alle Einstellungen<br />
im <strong>Web</strong>-<strong>IO</strong> aktualisiert und die Startseite im Default User<br />
Modus neu aufgebaut. Sollen nun weitere Einstellungen geän<strong>de</strong>rt<br />
wer<strong>de</strong>n, muss ein erneutes Login mit <strong>de</strong>n nötigen Zugriffsrechten<br />
erfolgen.<br />
1Wird <strong>de</strong>r Browser geschlossen, bevor <strong>de</strong>r Zwischenspeichern-Button<br />
betätigt wur<strong>de</strong>, sind die Eingaben unwie<strong>de</strong>rbringlich<br />
verloren.<br />
Login Timeout<br />
Wird im Administrator- o<strong>de</strong>r Operator-Modus für mehr als 60<br />
Minuten keine Eingabe gemacht, setzt sich das <strong>Web</strong>-<strong>IO</strong> auf<br />
Default User Rechte zurück. Alle bis dahin gemachten Eingaben<br />
und Än<strong>de</strong>rungen, auch wenn sie bereits zum <strong>Web</strong>-<strong>IO</strong> gesen<strong>de</strong>t<br />
wur<strong>de</strong>n, wer<strong>de</strong>n damit verworfen.<br />
50
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
4.2 Grun<strong>de</strong>instellung <strong>de</strong>r Netzwerkparameter<br />
Immer wenn ein <strong>Web</strong>-<strong>IO</strong> über die Grenzen <strong>de</strong>s lokalen Netzes<br />
hinaus arbeiten soll, wer<strong>de</strong>n neben <strong>de</strong>r IP-Adresse einige weitere<br />
Netzwerkparameter benötigt.<br />
Um die an dieser Stelle beschriebenen Konfigurationen vornehmen<br />
zu können, sollte das <strong>Web</strong>-<strong>IO</strong> bereits eine zum Netzwerk<br />
passen<strong>de</strong> IP-Adresse haben. Ist das nicht <strong>de</strong>r Fall o<strong>de</strong>r ist die<br />
aktuelle IP-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> nicht bekannt, führen Sie zunächst<br />
die in Kapitel 2 beschriebenen Schritte durch.<br />
Hat das <strong>Web</strong>-<strong>IO</strong> bereits eine IP-Adresse, geben Sie diese im<br />
URL-Feld <strong>de</strong>s Browsers ein. Nach wenigen Sekun<strong>de</strong>n erscheint<br />
die Startseite <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>.<br />
Wählen Sie im Navigationsmenü Config.<br />
Sie wer<strong>de</strong>n nun aufgefor<strong>de</strong>rt, das Administrator-Passwort einzugeben.<br />
Im Auslieferungszustand ist kein Passwort vorgegeben<br />
und es reicht, <strong>de</strong>n Login-Button anzuklicken.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
51
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
Wur<strong>de</strong> das richtige Passwort eingegeben, bestätigt das <strong>Web</strong>-<strong>IO</strong><br />
das erfolgreiche Login. An dieser Stelle haben Sie die Auswahl<br />
zwischen <strong>de</strong>m Expertenmodus und <strong>de</strong>m Arbeiten mit Profilen.<br />
Wählen Sie <strong>de</strong>n Button Profile.<br />
In <strong>de</strong>r nun erscheinen<strong>de</strong>n <strong>Web</strong>seite markieren Sie <strong>de</strong>n Radio-<br />
Button Basisparameter Netzwerk und bestätigen Sie mit Klick<br />
auf <strong>de</strong>n Profile anzeigen-Button.<br />
Wählen Sie nun im Navigationsmenü <strong>de</strong>n farblich gekennzeichneten<br />
Punkt Config >> Device >> Basic Settings >><br />
Network.<br />
Es erscheint die folgen<strong>de</strong> Eingabemaske:<br />
Tragen Sie hier die benötigten Netzwerkparameter ein.<br />
IP Addr.<br />
Die IP-Adresse kann an dieser Stelle geän<strong>de</strong>rt wer<strong>de</strong>n.<br />
Subnet Mask / Gateway<br />
Für Subnet-übergreifen<strong>de</strong>n Datenaustausch müssen die passen<strong>de</strong><br />
Subnet-Mask und die IP-Adresse <strong>de</strong>s Gateway eingetragen<br />
wer<strong>de</strong>n.<br />
52
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
DHCP Client / BOOTP Client<br />
Ab Werk ist das <strong>Web</strong>-<strong>IO</strong> so vorkonfiguriert, dass es seine IP-<br />
Adresse und weitere, zum Betrieb notwendige Netzwerkparameter<br />
von einem DHCP-Server beziehen kann.<br />
In diesem Fall erhält das <strong>Web</strong>-<strong>IO</strong> irgen<strong>de</strong>ine IP-Adresse aus <strong>de</strong>m<br />
Adress-Pool <strong>de</strong>s DHCP-Servers, wenn nicht eine spezielle<br />
Adressreservierung vorgenommen wur<strong>de</strong>. Eine gesicherte Nutzung<br />
<strong>de</strong>r Server-Dienste <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist dann nur möglich, wenn<br />
im Netzwerk ein automatisierter Abgleich zwischen DHCP- und<br />
DNS-Server stattfin<strong>de</strong>t. Das <strong>Web</strong>-<strong>IO</strong> ist dann über <strong>de</strong>n Device<br />
Name ein<strong>de</strong>utig adressierbar.<br />
Alternativ kann das <strong>Web</strong>-<strong>IO</strong> über das ältere BootP-Protokoll eine<br />
IP-Adresse beziehen, was aber für einen problemlosen Betrieb<br />
eine Adressreservierung auf <strong>de</strong>m DHCP/BootP-Server erfor<strong>de</strong>rt.<br />
Soll das <strong>Web</strong>-<strong>IO</strong> nicht an <strong>de</strong>r zentralen IP-Adressvergabe via<br />
DHCP o<strong>de</strong>r BootP teilnehmen, wählen Sie static.<br />
DNS Server<br />
Bei einigen Netzteilnehmern, wie z.B. Mail- und Time-Servern, ist<br />
es sinnvoll, diese nicht über ihre IP-Adresse son<strong>de</strong>rn über einen<br />
Namen zu adressieren. Um Namen in IP-Adressen aufzulösen<br />
wird ein DNS-Server benötigt.<br />
Für <strong>de</strong>n Fall, dass DHCP/BootP für die Vergabe <strong>de</strong>r Netzwerkparameter<br />
genutzt wird, bekommt das <strong>Web</strong>-<strong>IO</strong> auch die<br />
Adresse <strong>de</strong>s DNS-Servers automatisch zugewiesen.<br />
Das Feld DNS Server by DHCP wird vom <strong>Web</strong>-<strong>IO</strong> ausgefüllt.<br />
Än<strong>de</strong>rungen dieses Eintrags durch <strong>de</strong>n Benutzer sind nicht<br />
möglich.<br />
Für <strong>de</strong>n manuellen Eintrag von DNS-Servern stehen zwei zusätzliche<br />
Fel<strong>de</strong>r zur Verfügung.<br />
Soll eine IP-Adresse zu einem Namen gesucht wer<strong>de</strong>n, wen<strong>de</strong>t<br />
sich das <strong>Web</strong>-<strong>IO</strong> zuerst an <strong>de</strong>n automatisch zugewiesenen DNS-<br />
Server. Ist dieser nicht erreichbar o<strong>de</strong>r fehlt <strong>de</strong>r Eintrag, versucht<br />
das <strong>Web</strong>-<strong>IO</strong> es bei <strong>de</strong>n DNS-Servern 1 und 2.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
53
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
Mit <strong>de</strong>m Button kann ein Ping auf <strong>de</strong>n eingetragenen Server<br />
ausgelöst wer<strong>de</strong>n. So kann überprüft wer<strong>de</strong>n, ob <strong>de</strong>r eingetragene<br />
Server vom <strong>Web</strong>-<strong>IO</strong> erreichbar ist. Wenn <strong>de</strong>r angegebene<br />
Server sich nicht im gleichen Subnet befin<strong>de</strong>t, ist die Bedingung<br />
hierfür, dass Subnet Mask und Gateway im <strong>Web</strong>-<strong>IO</strong> über Logout<br />
>> Speichern zuvor abgespeichert wur<strong>de</strong>n.<br />
Keep Alive Timeout<br />
In <strong>de</strong>m hier eingetragenen Interval überprüft das <strong>Web</strong>-<strong>IO</strong>, ob bestehen<strong>de</strong><br />
Verbindungen, auf <strong>de</strong>nen kein Datenverkehr stattfin<strong>de</strong>t<br />
noch bestehen. Ist das nicht mehr <strong>de</strong>r Fall, trennt auch das<br />
<strong>Web</strong>-<strong>IO</strong> die Verbindung um Blocka<strong>de</strong>n zu vermei<strong>de</strong>n.<br />
Wur<strong>de</strong>n alle Eingaben gemacht, klicken Sie auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Damit wer<strong>de</strong>n die Parameter zunächst in<br />
das <strong>Web</strong>-<strong>IO</strong> übertragen. Damit sich <strong>de</strong>r Anwen<strong>de</strong>r, z.B. bei<br />
IP-Adressän<strong>de</strong>rung nicht selbst <strong>de</strong>n Bo<strong>de</strong>n unter <strong>de</strong>n Füßen<br />
wegzieht, wer<strong>de</strong>n die Än<strong>de</strong>rungen erst wirksam, nach<strong>de</strong>m<br />
sie aktiviert wer<strong>de</strong>n. Benutzen Sie hierzu <strong>de</strong>n Logout-Button<br />
o<strong>de</strong>r wählen Sie im Menü Config >> Session<br />
Control >> LogOut.<br />
Nach einem Klick auf <strong>de</strong>n Speichern-Button wird das <strong>Web</strong>-<strong>IO</strong><br />
nun mit <strong>de</strong>n aktuellen Parametern neu gestartet. Zum Neuaufbau<br />
<strong>de</strong>r <strong>Web</strong>seite klicken Sie auf <strong>de</strong>n hier-Link.<br />
1Beachten Sie, dass Anwendungen, die zu diesem<br />
Zeitpunkt mit <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> kommunizieren, durch <strong>de</strong>n<br />
Reset gestört wer<strong>de</strong>n können.<br />
Das <strong>Web</strong>-<strong>IO</strong> ist nun soweit eingerichtet, dass es auch subnetzübergreifend<br />
angesprochen wer<strong>de</strong>n kann.<br />
54
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
Än<strong>de</strong>rn <strong>de</strong>s Device Name<br />
Ab Werk hat je<strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> einen individuellen Gerätenamen, <strong>de</strong>r<br />
sich aus <strong>de</strong>r Bezeichnung WEB<strong>IO</strong>- gefolgt von <strong>de</strong>n letzten 3<br />
Stellen <strong>de</strong>r Ethernet Adresse zusammensetzt.<br />
Zum Beispiel lautet <strong>de</strong>r werksseitig eingestellte Device Name eines<br />
<strong>Web</strong>-<strong>IO</strong> mit <strong>de</strong>r Ethernet-Adresse 00:c0:3d:01:02:03 WEB<strong>IO</strong>-<br />
010203.<br />
Der Device Name wird vor allem in Netzwerken benötigt, in<br />
<strong>de</strong>nen das <strong>Web</strong>-<strong>IO</strong> seine IP-Adresse von einem DHCP-Server<br />
bezieht, <strong>de</strong>r einen automatisierten Abgleich mit <strong>de</strong>m DNS-<br />
System vornimmt.<br />
Das <strong>Web</strong>-<strong>IO</strong> i<strong>de</strong>ntifiziert sich innerhalb <strong>de</strong>s DHCP-Protokolls<br />
mit seinem Device Name.<br />
Über das <strong>Web</strong>-Based Management kann <strong>de</strong>r Device Name<br />
je<strong>de</strong>rzeit geän<strong>de</strong>rt wer<strong>de</strong>n.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Wählen Sie nun im Navigationsmenü <strong>de</strong>n Punkt Config >><br />
Device >> Text.<br />
Es erscheint die folgen<strong>de</strong> Eingabemaske:<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
55
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
Device Name<br />
System Name mit <strong>de</strong>m sich das <strong>Web</strong>-<strong>IO</strong> über das DHCP-Protokoll<br />
bei einem DHCP-Server mel<strong>de</strong>t und <strong>de</strong>r <strong>de</strong>s Weiteren auf <strong>de</strong>r<br />
Home-Seite angezeigt wird.<br />
1In Netzwerken mit DHCP und DNS sollte <strong>de</strong>r hier<br />
eingetragene Name einmalig sein!<br />
Device Text<br />
Der Administrator kann einen Text hinterlegen, <strong>de</strong>r das <strong>Web</strong>-<strong>IO</strong><br />
bzw. seine Funktion beschreibt. Dieser Text wird auf <strong>de</strong>r Home-<br />
Seite <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> angezeigt.<br />
Location<br />
Hier kann <strong>de</strong>r Montageort <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> eingetragen wer<strong>de</strong>n, um<br />
bei größeren Installationen das Auffin<strong>de</strong>n und die Wartung zu<br />
erleichtern.<br />
Contact<br />
An dieser Stelle kann z.B. eine Emailadresse o<strong>de</strong>r eine Telefonnummer<br />
eingetragen wer<strong>de</strong>n, unter <strong>de</strong>r im Wartungsfall <strong>de</strong>r zuständige<br />
Techniker erreichbar ist.<br />
56
W&T Konfiguration <strong>de</strong>r Netzwerkparameter<br />
Zum Speichern <strong>de</strong>r Texte benutzen Sie <strong>de</strong>n Zwischenspeichern-<br />
Button und wählen Sie im Menü Config >> Session<br />
Control >> LogOut.<br />
Nach einem Klick auf <strong>de</strong>n Speichern-Button wird das <strong>Web</strong>-<strong>IO</strong><br />
nun mit <strong>de</strong>n aktuellen Parametern neu gestartet.<br />
i<br />
Wenn Ihnen die verwen<strong>de</strong>ten Ausdrücke und Bezeichnungen<br />
nicht vertraut sind, for<strong>de</strong>rn Sie kostenlos unser<br />
Buch TCP-IP-Ethernet bis <strong>Web</strong>-<strong>IO</strong> an, in <strong>de</strong>m die nötigen<br />
Grundlagen zur Inbetriebnahme von Netzwerkkomponenten<br />
vermittelt wer<strong>de</strong>n. www.WuT.<strong>de</strong><br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
57
W&T<br />
58
W&T Betriebsarten<br />
5 Basisfunktionen<br />
■ HTTP - Inputs und Outputs im Browser steuern<br />
■ Box-to-Box<br />
■ Zeitgesteuert schalten<br />
■ Intergration in bestehen<strong>de</strong> Systeme<br />
■ Email und mehr - Info bei Zustandsän<strong>de</strong>rung - Alarme<br />
■ Zugriff aus <strong>de</strong>r eigenen Anwendung<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
59
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
5.1 HTTP - Inputs und Outputs im Browser steuern<br />
Der Zugriff aus <strong>de</strong>m Browser ist für <strong>de</strong>n Anwen<strong>de</strong>r die einfachste<br />
Möglichkeit Inputs sowie Counter zu überwachen und die<br />
Outputs zu steuern.<br />
Das <strong>Web</strong>-<strong>IO</strong> bietet hierzu 3 Standardansichten bzw. <strong>Web</strong>seiten:<br />
. Home - Übersicht <strong>de</strong>r <strong>IO</strong>-Zustän<strong>de</strong> und <strong>de</strong>s Alarmstatus<br />
. User - Übersicht <strong>de</strong>r <strong>IO</strong>-Zustän<strong>de</strong> und bei Bedarf <strong>de</strong>s freien<br />
Modbusspeichers<br />
. Smart - <strong>IO</strong>-Status optimiert für Smart Phone Anzeige<br />
5.1.1 Die Home-Seite<br />
Auf <strong>de</strong>r Home-Seite bekommt <strong>de</strong>r Anwen<strong>de</strong>r <strong>de</strong>n Status <strong>de</strong>r Inputs,<br />
Counter, Outputs und <strong>de</strong>r konfigurierten Alarme selbstaktualisierend<br />
angezeigt.<br />
Um auch die Outputs bedienen zu können, ist es notwendig,<br />
sich über <strong>de</strong>n Navigationsbaum als Administrator o<strong>de</strong>r mit Operator-Rechten<br />
in das <strong>Web</strong>-<strong>IO</strong> einzuloggen. Ab Werk ist das <strong>Web</strong>-<br />
<strong>IO</strong> so voreingestellt, dass die Home-Seite neben <strong>de</strong>m<br />
Navigationsbaum zu sehen ist. Um bei Aufruf im Browser nur<br />
die Home-Seite ohne Navigationsbaum anzuzeigen gibt es zwei<br />
Möglichkeiten:<br />
60
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
1. Eingabe in <strong>de</strong>r Adresszeile http:///home<br />
2. <strong>Web</strong>-<strong>IO</strong> so konfigurieren, dass nur die Home-Seite angezeigt<br />
wird.<br />
Dazu als Administrator einloggen und unter Config >> Device<br />
>> Basic Settings >> HTTP bei Start Up <strong>de</strong>n Punkt<br />
home.htm auswählen.<br />
Alle weiteren Einstellungen auf dieser Seite sind im weiteren<br />
Verlauf <strong>de</strong>s Handbuches beschrieben und sollten an dieser Stelle<br />
nicht verän<strong>de</strong>rt wer<strong>de</strong>n.<br />
Die Home-Seite kann gegen eine eigene individuell gestaltete<br />
<strong>Web</strong>seite ersetzt wer<strong>de</strong>n. Details hierzu im Kapitel „Zugriff aus<br />
<strong>de</strong>r eigenen Anwendung“.<br />
5.1.2 Die User-Seite<br />
Die User-Seite zeigt <strong>de</strong>n Status von Inputs, Countern und Outputs.<br />
An<strong>de</strong>rs als bei <strong>de</strong>r Home-Seite kann ein Login für die<br />
Funktionen <strong>de</strong>r Seite auch ohne Zugriff auf <strong>de</strong>n Navigationsbaum<br />
erfolgen. Ein über Login eingetragenes Passwort wird in<br />
Form eines Cookies auf <strong>de</strong>m PC gespeichert.<br />
Für <strong>de</strong>n Anwen<strong>de</strong>r hat das <strong>de</strong>n Vorteil, dass er vom selben PC<br />
aus bei wie<strong>de</strong>rholtem Aufruf <strong>de</strong>r User-Seite, auch ohne erneute<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
61
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
Anmeldung auf die Outputs zugreifen kann bzw. die Anmeldung<br />
automatisch erfolgt.<br />
1Wur<strong>de</strong> für das <strong>Web</strong>-<strong>IO</strong> ein Passswort vergeben wird ohne<br />
Login <strong>de</strong>r Status von Inputs, Outputs und Countern nicht<br />
angezeigt!<br />
Nach erfolgreicher Passworteingabe wer<strong>de</strong>n die Zustän<strong>de</strong> <strong>de</strong>r<br />
<strong>IO</strong>s angezeigt und die Outputs sind bedienbar.<br />
62
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
Nur wenn das <strong>Web</strong>-<strong>IO</strong> für <strong>de</strong>n Modbus-Zugriff konfiguriert wur<strong>de</strong>,<br />
erscheint unterhalb <strong>de</strong>r <strong>IO</strong>-Zustän<strong>de</strong> zusätzlich eine Tabelle,<br />
in welcher <strong>de</strong>r Inhalt <strong>de</strong>s freiverfügbaren Modbus-Speichers<br />
visualisiert wird. (Details hierzu im Kapitel „Integration in bestehen<strong>de</strong><br />
Systeme >> Modbus“)<br />
Um bei Aufruf im Browser nur die User-Seite ohne Navigationsbaum<br />
anzuzeigen gibt es zwei Möglichkeiten:<br />
1. Eingabe in <strong>de</strong>r Adresszeile http:///user<br />
2. <strong>Web</strong>-<strong>IO</strong> so konfigurieren, dass nur die Home-Seite angezeigt<br />
wird.<br />
Dazu als Administrator einloggen und unter Config >> Device<br />
>> Basic Settings >> HTTP bei Start Up <strong>de</strong>n Punkt<br />
user.htm auswählen.<br />
Alle weiteren Einstellungen auf dieser Seite sind im weiteren<br />
Verlauf <strong>de</strong>s Handbuches beschrieben und sollten an dieser Stelle<br />
nicht verän<strong>de</strong>rt wer<strong>de</strong>n.<br />
Auch die User-Seite kann gegen eine eigene individuell gestaltete<br />
<strong>Web</strong>seite ersetzt wer<strong>de</strong>n. Details hierzu im Kapitel „Zugriff<br />
aus <strong>de</strong>r eigenen Anwendung“.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
63
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
5.1.3 Die Smart-Seite<br />
Die Smart Seite wur<strong>de</strong> für die Anzeige in Smartphones wie z.B.<br />
<strong>de</strong>m iPhone optimiert und wird über http:///smart<br />
aufgerufen.<br />
Die Smart-Seite zeigt <strong>de</strong>n Status von Inputs, Countern und Outputs.<br />
Genauso wie bei <strong>de</strong>r User-Seite kann ein Login für die<br />
Funktionen <strong>de</strong>r Seite auch ohne Zugriff auf <strong>de</strong>n Navigationsbaum<br />
erfolgen. Ein über Login eingetragenes Passwort wird in<br />
Form eines Cookies auf <strong>de</strong>m Smartphone gespeichert.<br />
Für <strong>de</strong>n Anwen<strong>de</strong>r hat das <strong>de</strong>n Vorteil, dass er von seinem<br />
Smartphone bei wie<strong>de</strong>rholtem Aufruf <strong>de</strong>r Smart-Seite, auch ohne<br />
erneute Anmeldung auf die Outputs zugreifen kann bzw. die<br />
Anmeldung automatisch erfolgt.<br />
1Wur<strong>de</strong> für das <strong>Web</strong>-<strong>IO</strong> ein Passwort vergeben wird ohne<br />
Login <strong>de</strong>r Status von Inputs, Outputs und Countern nicht<br />
angezeigt!<br />
64
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
5.1.4 Beschriftungen und Texte<br />
m Notwendige Zugriffsrechte: Administrator<br />
Das Erscheinungsbild <strong>de</strong>r <strong>Web</strong>-<strong>IO</strong> Standardseiten im Browser<br />
kann insofern individuell gestaltet und verän<strong>de</strong>rt wer<strong>de</strong>n, dass<br />
die Benennung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>, <strong>de</strong>r Inputs, Counter und Outputs<br />
frei konfigurierbar ist.<br />
Gerätenamen und Beschreibung<br />
Im Navigationsbaum unter Config >> Device >> Text können<br />
Gerätenamen und Beschreibung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> geän<strong>de</strong>rt wer<strong>de</strong>n.<br />
Soll sich die Beschreibung über mehr als eine Zeile erstrecken,<br />
wird an <strong>de</strong>r für <strong>de</strong>n Zeilenumbruch gewünschten Position das<br />
Tag eingefügt.<br />
Die Fel<strong>de</strong>r Location und Contact wer<strong>de</strong>n im Browser nicht angezeigt<br />
und dienen ausschließlich <strong>de</strong>r In<strong>de</strong>ntifikation <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>.<br />
Die Anzeige im Browser än<strong>de</strong>rt sich nach Zwischenspeichern<br />
und Logout > Speichern.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
65
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
Port-Bezeichnung und -Beschreibung<br />
Auch für die Inputs und Outputs können individuelle Bezeichnungen<br />
und Beschreibungen eingerichtet wer<strong>de</strong>n.<br />
Um die Input-Bezeichnung zu än<strong>de</strong>rn, wählen Sie im<br />
Navigationsbaum Config >> Ports >> Inputs und für Input 0<br />
>> Input 0:<br />
I Die<br />
Einstellungen für Filter und Input Mo<strong>de</strong> lassen Sie<br />
bitte unberührt. Detaillierte Informationen zu diesen Parametern<br />
erhalten Sie im Kapitel „Port Einstellungen“<br />
Für Än<strong>de</strong>rungen <strong>de</strong>r Output-Bezeichnungen wählen Sie<br />
Config >> Ports >> Outputs und z.B. >> Output 0 für Output 0<br />
66
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
I<br />
Die Einstellungen für Group Mo<strong>de</strong> und Safety State<br />
lassen Sie bitte unberührt. Detaillierte Informationen zu<br />
diesen Parametern erhalten Sie im Kapitel „Port Einstellungen“<br />
Die Anzeige im Browser än<strong>de</strong>rt sich nach Zwischenspeichern<br />
und Logout > Speichern.<br />
Logo im Navigations-Frame<br />
Um ein möglichst kun<strong>de</strong>nspezifisches Erscheinungsbild <strong>de</strong>r<br />
<strong>Web</strong>-<strong>IO</strong> Startseite zu ermöglichen, besteht die Möglichkeit,<br />
das W&T-Logo im Navigations-Frame gegen ein beliebiges<br />
an<strong>de</strong>res zu ersetzen. Wählen Sie im Navigationsbaum Config<br />
>> Up/Download >> Upload<br />
Klicken Sie auf <strong>de</strong>n Button logo.gif upload.<br />
Wählen Sie die gewünschte JPG- o<strong>de</strong>r GIF-Datei aus und klicken<br />
Sie auf <strong>de</strong>nButton logo.gif upload.<br />
Dabei sollte allerdings beachtet wer<strong>de</strong>n, dass die Abmessungen<br />
<strong>de</strong>s Logos in etwa mit <strong>de</strong>nen <strong>de</strong>s W&T-Logos überein-<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
67
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
stimmen (Breite max. 200 Pixel, Höhe max 100 Pixel), damit die<br />
Übersichtlichkeit <strong>de</strong>s Navigations-Frames erhalten bleibt.<br />
Die Anzeige im Browser än<strong>de</strong>rt sich nach Zwischenspeichern<br />
und Logout > Speichern.<br />
1Sollte das neue Logo beim Neustart noch nicht angezeigt<br />
wer<strong>de</strong>n, löschen Sie bitte <strong>de</strong>n Browser Cache!<br />
5.1.5 Än<strong>de</strong>rn <strong>de</strong>s HTTP-Ports<br />
Der Zugriff <strong>de</strong>s Browsers auf <strong>de</strong>n <strong>Web</strong>server <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> erfolgt<br />
gemäß HTTP-Protokoll ab Werk über TCP Port 80.<br />
Es gibt Fälle wie NAT-Routing o<strong>de</strong>r Port-Forwarding, die es nötig<br />
machen, einen abweichen<strong>de</strong>n Port für <strong>de</strong>n HTTP-Zugriff zu<br />
konfigurieren.<br />
Dazu loggen Sie sich als Administrator ein und wählen im<br />
Navigationsbaum Config >> Device >> Basic Settings >> HTTP.<br />
Unter HTTP Port kann ein vom Standard Port 80 abweichen<strong>de</strong>r<br />
TCP Port für <strong>de</strong>n HTTP-Zugriff eingetragen wer<strong>de</strong>n.<br />
68
W&T HTTP - Inputs und Outputs im Browser Steuern<br />
Alle weiteren Einstellungen auf dieser Seite sind im weiteren<br />
Verlauf <strong>de</strong>s Handbuches beschrieben und sollten an dieser Stelle<br />
nicht verän<strong>de</strong>rt wer<strong>de</strong>n.<br />
Wird <strong>de</strong>r HTTP Port geän<strong>de</strong>rt, ist das <strong>Web</strong>-<strong>IO</strong> aus <strong>de</strong>m Browser<br />
nur noch über die zusätzliche Angabe <strong>de</strong>s gewählten HTTP<br />
Ports erreichbar.<br />
Das gilt auch für alle Konfigurationszugriffe.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Beispiel für HTTP Port = 85.<br />
Die Än<strong>de</strong>rung wird nach Zwischenspeichern und Logout > Speichern<br />
wirksam.<br />
69
W&T Box-to-Box<br />
5.2 Box-to-Box<br />
In <strong>de</strong>r Betriebsart Box-to-Box wer<strong>de</strong>n zwei <strong>Web</strong>-<strong>IO</strong> so konfiguriert,<br />
dass die Outputs von <strong>Web</strong>-<strong>IO</strong> B <strong>de</strong>n Inputs von <strong>Web</strong>-<strong>IO</strong> A<br />
folgen.<br />
70<br />
<strong>Web</strong>-<strong>IO</strong> A <strong>Web</strong>-<strong>IO</strong> B<br />
<strong>IO</strong> Port Network<br />
TCP/IP-Ethernet<br />
So lassen sich z.B. über eine WAN-Anbindung standortübergreifend<br />
Signale schalten.<br />
Bei Box-to-Box Verbindungen übernimmt ein <strong>Web</strong>-<strong>IO</strong> die Funktion<br />
<strong>de</strong>s Masters. Das zweite <strong>Web</strong>-<strong>IO</strong> arbeitet als Slave. Der Slave<br />
wartet darauf, dass <strong>de</strong>r Master die Verbindung zu ihm aufnimmt.<br />
Unabhängig davon, welche Seite als Master arbeitet und welche<br />
als Slave, können Schaltsignale in bei<strong>de</strong> Richtungen weitergegeben<br />
wer<strong>de</strong>n.<br />
Sowohl das Master, als auch das Slave <strong>Web</strong>-<strong>IO</strong> müssen entsprechend<br />
konfiguriert wer<strong>de</strong>n.<br />
5.2.1 Konfiguration <strong>de</strong>s Slave <strong>Web</strong>-<strong>IO</strong><br />
m Notwendige Zugriffsrechte: Administrator<br />
Wählen Sie im Navigationsbaum <strong>de</strong>s Slave <strong>Web</strong>-<strong>IO</strong> Config >><br />
Device >> Basic Settings >> Binary 1<br />
Stellen Sie als Operation Mo<strong>de</strong> die Betriebsart TCP-Server ein<br />
und aktivieren Sie Enable Binary.<br />
Klicken Sie anschließend auf <strong>de</strong>n Zwischenspeichern-Button um<br />
die Än<strong>de</strong>rungen ans <strong>Web</strong>-<strong>IO</strong> zu übertragen.<br />
<strong>IO</strong> Port Network
W&T Box-to-Box<br />
Wählen Sie nun im Navigationsbaum: Config >> Device >> Basic<br />
Settings >> Binary 1 >> TCP-Server.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
71
W&T Box-to-Box<br />
Local Port:<br />
Wenn Ihnen von Ihrem Netzwerkadministrator keine beson<strong>de</strong>ren<br />
Vorgaben gemacht wer<strong>de</strong>n, kann <strong>de</strong>r werksseitig eingestellte<br />
Port 49153 übernommen wer<strong>de</strong>n.<br />
Grund für eine Än<strong>de</strong>rung <strong>de</strong>s werksseitig eingestellten Local<br />
Port kann z.B. eine Firewall sein, die nur bestimmte Portzugriffe<br />
erlaubt.<br />
1In je<strong>de</strong>m Fall muss <strong>de</strong>r eingestellte Local Port <strong>de</strong>s<br />
Slave i<strong>de</strong>ntisch mit <strong>de</strong>m Server Port Eintrag <strong>de</strong>s<br />
Masters sein.<br />
Client HTTP Port<br />
legt <strong>de</strong>n HTTP Port fest, auf <strong>de</strong>n die Steuerverbindung zur Master-Box<br />
aufgebaut wer<strong>de</strong>n soll.<br />
Wenn nicht an<strong>de</strong>rs vorgegeben, sollte hier immer Port 80 verwen<strong>de</strong>t<br />
wer<strong>de</strong>n.<br />
Input Trigger:<br />
aktivieren Sie hier die Inputs, die die korrespondieren<strong>de</strong>n Outputs<br />
beim Master setzen sollen.<br />
i Das<br />
72<br />
<strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> erlaubt <strong>de</strong>n gleichzeitigen<br />
Zugriff auf die Inputs aus verschie<strong>de</strong>nen Betriebsarten.<br />
So können die Inputs 0-5 z.B. die Outputs 0-5 <strong>de</strong>s Master <strong>Web</strong>-<br />
<strong>IO</strong> steuern, gleichzeitig aber auch noch über HTTP ausgelesen<br />
wer<strong>de</strong>n.<br />
Application Mo<strong>de</strong><br />
Markieren Sie Box2Box Slave<br />
Nach<strong>de</strong>m alle Parameter eingegeben wur<strong>de</strong>n, bestätigen Sie<br />
durch Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Wählen Sie nun im Navigationsbaum: Config >> Device >> Output<br />
Mo<strong>de</strong>
W&T Box-to-Box<br />
Aktivieren Sie hier die Outputs, die von <strong>de</strong>n korrespondieren<strong>de</strong>n<br />
Inputs <strong>de</strong>s Slave gesetzt wer<strong>de</strong>n sollen für Binary 1 und bestätigen<br />
Sie durch Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Im Gegensatz zu <strong>de</strong>n Inputs sind die für Box-to-Box aktivierten<br />
Outputs für an<strong>de</strong>re Betriebsarten nicht mehr zugänglich.<br />
Nun müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n. Benutzen<br />
Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
Nach Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n alle Einstellungen<br />
im <strong>Web</strong>-<strong>IO</strong> aktualisiert und die Startseite im Default User Modus<br />
neu aufgebaut. Das Master <strong>Web</strong>-<strong>IO</strong> kann sich nun mit <strong>de</strong>m Slave<br />
<strong>Web</strong>-<strong>IO</strong> verbin<strong>de</strong>n.<br />
1Der Box-to-Box Master kann sich nur dann mit <strong>de</strong>m<br />
Slave verbin<strong>de</strong>n, wenn beim Slave kein HTTP-Login als<br />
Operator o<strong>de</strong>r Administrator besteht<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
73
W&T Box-to-Box<br />
5.2.2 Konfiguration <strong>de</strong>s Masters<br />
m Notwendige Zugriffsrechte: Administrator<br />
Wählen Sie im Navigationsbaum: Config >> Device >> Basic Settings<br />
>> Binary 1<br />
Stellen Sie als Operation Mo<strong>de</strong> die Betriebsart TCP-Client ein und<br />
aktivieren Sie Enable Binary 1.<br />
Klicken Sie anschließend auf <strong>de</strong>n Zwischenspeichern-Button um<br />
die Än<strong>de</strong>rungen ans <strong>Web</strong>-<strong>IO</strong> zu übertragen.<br />
Wählen Sie nun im Navigationsbaum: Config >> Device >> Basic<br />
Settings >> Binary 1 >> TCP-Client.<br />
74
W&T Box-to-Box<br />
Die folgen<strong>de</strong>n Parameter müssen eingetragen wer<strong>de</strong>n:<br />
Local Port:<br />
Wenn Ihnen von Ihrem Netzwerkadministrator keine beson<strong>de</strong>ren<br />
Vorgaben gemacht wer<strong>de</strong>n, kann die werksseitige Einstellung<br />
AUTO übernommen wer<strong>de</strong>n.<br />
ServerPort:<br />
Hier muss <strong>de</strong>r beim Slave eingestellte Local Port eingetragen<br />
wer<strong>de</strong>n. Auch hier können die Grun<strong>de</strong>instellungen 49153 übernommen<br />
wer<strong>de</strong>n, wenn vom Administrator keine an<strong>de</strong>ren Vorgaben<br />
gemacht wer<strong>de</strong>n.<br />
Grund für eine Än<strong>de</strong>rung <strong>de</strong>r werksseitig eingestellten Werte für<br />
Local und Slave Port kann z.B. eine Firewall sein, die nur bestimmte<br />
Portzugriffe erlaubt.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
75
W&T Box-to-Box<br />
Server HTTP Port<br />
legt <strong>de</strong>n HTTP Port fest, auf <strong>de</strong>n die Steuerverbindung zur<br />
Slave-Box aufgebaut wer<strong>de</strong>n soll.<br />
Wenn nicht an<strong>de</strong>rs vorgegeben, sollte hier immer Port 80 verwen<strong>de</strong>t<br />
wer<strong>de</strong>n.<br />
Server IP Addr:<br />
Tragen Sie hier die IP-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ein, das als Slave angesprochen<br />
wer<strong>de</strong>n soll.<br />
Server Password:<br />
Hier wird das Administratorpasswort <strong>de</strong>s Slave <strong>Web</strong>-<strong>IO</strong> eingetragen.<br />
Wur<strong>de</strong> für <strong>de</strong>n Slave kein Passwort vergeben, bleibt dieses<br />
Feld leer.<br />
Inactive Timeout<br />
Dieser Parameter hat im Box-to-Box Modus keine Funktion, da<br />
eine dauerhafte Verbindung gewünscht ist.<br />
Input Trigger:<br />
aktivieren Sie hier die Inputs, die korrespondieren<strong>de</strong>n Outputs<br />
beim Slave setzen sollen.<br />
Interval:<br />
Ist kein Intervall eingetragen, wird <strong>de</strong>r Zustand <strong>de</strong>r Inputs bei<br />
je<strong>de</strong>r Än<strong>de</strong>rung an die Outputs <strong>de</strong>s jeweils an<strong>de</strong>ren Box-to-Box<br />
Partners übergeben. Mit <strong>de</strong>m Eintrag eines Intervalls, wird <strong>de</strong>r<br />
Status auch ohne Än<strong>de</strong>rung zyklisch übergeben.<br />
1Sind zwei Standorte über eine kostenpflichtige ISDN-<br />
Strecke miteinan<strong>de</strong>r verbun<strong>de</strong>n, sollte auf die Benutzung<br />
eines Intervalls verzichtet wer<strong>de</strong>n, da die ISDN-Verbindung<br />
je nach Timeout und Intervall nie getrennt o<strong>de</strong>r sehr oft<br />
neu aufgebaut wird.<br />
Application Mo<strong>de</strong><br />
Markieren Sie Box2Box Master<br />
Nach<strong>de</strong>m alle Parameter eingegeben wur<strong>de</strong>n, bestätigen Sie<br />
durch Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
76
W&T Box-to-Box<br />
Wählen Sie nun im Navigationsbaum: Config >> Device >> Output<br />
Mo<strong>de</strong><br />
Aktivieren Sie hier die Outputs, die von <strong>de</strong>n korrespondieren<strong>de</strong>n<br />
Inputs <strong>de</strong>s Slave gesetzt wer<strong>de</strong>n sollen für Binary 1 und bestätigen<br />
Sie durch Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Im Gegensatz zu <strong>de</strong>n Inputs sind die für Box-to-Box aktivierten<br />
Outputs für an<strong>de</strong>re Betriebsarten nicht mehr zugänglich.<br />
Nun müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n. Benutzen<br />
Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
Nach Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n alle Einstellungen<br />
im <strong>Web</strong>-<strong>IO</strong> aktualisiert und die Startseite im Default User Modus<br />
neu aufgebaut. Das Master <strong>Web</strong>-<strong>IO</strong> versucht darauf hin, sich mit<br />
<strong>de</strong>m Slave <strong>Web</strong>-<strong>IO</strong> zu verbin<strong>de</strong>n. Alle hier für Binary 1 beschriebenen<br />
Funktionen können natürlich auch unter Binary 2 genutzt<br />
wer<strong>de</strong>n. So kann z.B ein <strong>Web</strong>-<strong>IO</strong> A im Bereich Binary 1 so<br />
konfiguriert wer<strong>de</strong>n, dass die Inputs/Outputs 0-5 Box to Box<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
77
W&T Box-to-Box<br />
mit einem <strong>Web</strong>-<strong>IO</strong> B arbeiten. Im Bereich Binary 2 können dann<br />
die Inputs/Outputs 6 - 11 so konfiguriert wer<strong>de</strong>n, dass sie Boxto-Box<br />
mit einem weiteren <strong>Web</strong>-<strong>IO</strong> zusammenarbeiten<br />
5.2.3 Box-to-Box Verbindungsstatus ermitteln<br />
m Notwendige Zugriffsrechte: Administrator<br />
Der Verbindungsstatus einer Box-to-Box Verbindung kann über<br />
<strong>de</strong>n Navigationsbaum unter Diag >> Test >> Output Config abgerufen<br />
wer<strong>de</strong>n.<br />
Hier wird angezeigt, in welcher Betriebsart die einzelnen Outputs<br />
gera<strong>de</strong> arbeiten. Zusätzlich wird am Fuß <strong>de</strong>r <strong>Web</strong>seite <strong>de</strong>r<br />
aktuelle Status einer Box-to-Box Verbindung angezeigt.<br />
5.2.4 Been<strong>de</strong>n <strong>de</strong>s Box-to-Box Modus<br />
Box-to-Box Modus nur beim Master<br />
m Notwendige Zugriffsrechte: Administrator<br />
Das Been<strong>de</strong>n <strong>de</strong>r Betriebsart Box-to-Box muss immer durch entsprechen<strong>de</strong><br />
Konfiguration <strong>de</strong>s Masters erfolgen. Master und<br />
Slave <strong>Web</strong>-<strong>IO</strong> müssen am Netzwerk angeschlossen sein. Wählen<br />
Sie im Navigationsbaum <strong>de</strong>s Masters : Config >> Device >> Basic<br />
Settings >> Binary 1 >> TCP Client und löschen Sie <strong>de</strong>n Eintrag<br />
78
W&T Box-to-Box<br />
bei Server IP Addr. Setzen Sie ferner <strong>de</strong>n Punkt Application<br />
Mo<strong>de</strong> auf Socket Device.<br />
Bestätigen Sie mit Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Anschließend setzen Sie unter Config >> Device >> Basic Settings<br />
>> Binary 1 >> <strong>de</strong>n Operation Mo<strong>de</strong> auf TCP Server .<br />
Bestätigen Sie mit Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Nun wählen Sie im Navigationsbaum <strong>de</strong>s Masters : Config >><br />
Device >> Output Mo<strong>de</strong> und setzen die Outputs, die nicht mehr<br />
Box-to-Box arbeiten sollen, auf HTTP.<br />
Bestätigen Sie mit Klick auf <strong>de</strong>n Zwischenspeichern-Button. Nun<br />
müssen die geän<strong>de</strong>rten Einstellungen noch aktiviert wer<strong>de</strong>n. Benutzen<br />
Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
Nach Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n alle Einstellungen<br />
im <strong>Web</strong>-<strong>IO</strong> aktualisiert und die Startseite im Default User Modus<br />
neu aufgebaut.<br />
Box-to-Box Modus beim Slave <strong>Web</strong>-<strong>IO</strong> been<strong>de</strong>n<br />
m Notwendige Zugriffsrechte: Administrator<br />
Wählen Sie im Navigationsbaum <strong>de</strong>s Slave: Config >> Device >><br />
Basic Settings >> Binary 1 >> TCP Server und setzen Sie <strong>de</strong>n<br />
Punkt Application Mo<strong>de</strong> auf Socket Device.<br />
Bestätigen Sie mit Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
79
W&T Box-to-Box<br />
Nun wählen Sie im Navigationsbaum Config >> Device >> Output<br />
Mo<strong>de</strong> und setzen die Outputs, die nicht mehr Box-to-Box<br />
arbeiten sollen, auf HTTP.<br />
Bestätigen Sie mit Klick auf das Zwischenspeichern-Button. Nun<br />
müssen die geän<strong>de</strong>rten Einstellungen noch aktiviert wer<strong>de</strong>n. Benutzen<br />
Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
Nach Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n alle Einstellungen<br />
im <strong>Web</strong>-<strong>IO</strong> aktualisiert und die Startseite im Default User Modus<br />
neu aufgebaut.<br />
5.2.5 Box-to-Box Slave - Bindung an <strong>de</strong>n Master aufheben<br />
Um z.B. nach Unterbrechung <strong>de</strong>r Netzwerkinfrastruktur Verbindung<br />
mit <strong>de</strong>m Master aufzunehmen, speichert das Slave <strong>Web</strong>-<br />
<strong>IO</strong> die IP-Adresse <strong>de</strong>s Masters (für <strong>de</strong>n Anwen<strong>de</strong>r nicht sichtbar).<br />
Soll das Slave <strong>Web</strong>-<strong>IO</strong> mit einem neuen Master <strong>Web</strong>-<strong>IO</strong> zusammenarbeiten<br />
o<strong>de</strong>r hat sich die IP-Adresse <strong>de</strong>s Masters geän<strong>de</strong>rt,<br />
Muss dieser unsichtbare Adresseintrag gelöscht wer<strong>de</strong>n.<br />
Wählen Sie dazu im Navigationsbaum Config >> Session<br />
Control >> LogOut.<br />
Im Konfigurationsframe sollte ein zusätzlicher Button Stopp<br />
Box2Box Slave vorhan<strong>de</strong>n sein.<br />
80
W&T Box-to-Box<br />
Sollte dieser Button nicht angezeigt wer<strong>de</strong>n, Klicken Sie zunächst<br />
<strong>de</strong>n Reset-Button. Das <strong>Web</strong>-<strong>IO</strong> wird neu gestartet.<br />
Nach erneutem Login und Aufruf von Config >> Session<br />
Control >> LogOut ist das Stopp Box2Box Slave-Button vorhan<strong>de</strong>n.<br />
Durch Klick wird <strong>de</strong>r Eintrag im Slave zurückgesetzt.<br />
5.2.6 Box-to-Box Hinweise und Grenzen<br />
Laufzeiten<br />
Bitte beachten Sie, dass bei Datenübertragung über ein<br />
Netzwerkprotokoll systembedingt Laufzeitverzögerungen auftreten.<br />
Im Gegensatz zu einer direkten Kabelanbindung, bei <strong>de</strong>r ein<br />
Schaltsignal direkt am Aktor ansteht, müssen bei Verbindung<br />
über <strong>Web</strong>-<strong>IO</strong> im lokalen Netzwerk Latenzzeiten zwischen 20 und<br />
50 ms einkalkuliert wer<strong>de</strong>n.<br />
Sind aktive Komponenten wie Router, Bridges o<strong>de</strong>r gar ISDN-<br />
Strecken in <strong>de</strong>n Übertragungsweg einbezogen, erhöht sich die<br />
Latenzzeit entsprechend, so dass es zu Laufzeiten von 500ms<br />
und höher kommen kann.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
81
W&T Box-to-Box<br />
Box-to-Box zu mehreren Partnern<br />
Es ist nicht möglich, Signale von einem Input an <strong>de</strong>n Outputs<br />
mehrerer <strong>Web</strong>-<strong>IO</strong>s auszugeben. Es besteht aber die Möglichkeit,<br />
über die Modi Binary 1 und Binary 2 von einem Master <strong>Web</strong>-<strong>IO</strong><br />
z.B die Inputs 0 - 5 an Slave A zu bin<strong>de</strong>n, aber die Inputs 6 -<br />
11an Slave B zu knüpfen.<br />
Mischen <strong>de</strong>r verschie<strong>de</strong>nen <strong>Web</strong>-<strong>IO</strong> Mo<strong>de</strong>lle<br />
Es besteht grundsätzlich die Möglichkeit, verschie<strong>de</strong>ne <strong>Web</strong>-<strong>IO</strong><br />
Mo<strong>de</strong>lle Box-to-Box miteinan<strong>de</strong>r zu verbin<strong>de</strong>n. Als Bedingung<br />
gilt in diesem Fall, dass das <strong>Web</strong>-<strong>IO</strong> mit <strong>de</strong>r geringeren Anzahl<br />
an Ports als Master konfiguriert wird.<br />
1. Beispiel:<br />
Ein <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output soll mit einem<br />
<strong>Web</strong>-<strong>IO</strong> 12x <strong>Digital</strong> Input, 12x <strong>Digital</strong> Output Box-to-Box verbun<strong>de</strong>n<br />
wer<strong>de</strong>n.<br />
Das <strong>Web</strong>-<strong>IO</strong> 12x <strong>Digital</strong> Input, 12x <strong>Digital</strong> Output wird in diesem<br />
Fall unter Binary 1 als Box-to-Box Slave konfiguriert, wobei<br />
die Input Trigger für Input0 und Input1 gesetzt wer<strong>de</strong>n. Ferner<br />
wer<strong>de</strong>n im Bereich Output Mo<strong>de</strong> die Outputs 0 und 1 für Binary<br />
1 freigeschaltet.<br />
Anschließend wird die Konfiguration abgespeichert.<br />
Das <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output wird ganz normal<br />
als Box-to-Box Master für Binary 1 konfiguriert.<br />
2. Beispiel<br />
Es sollen zwei <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output mit<br />
einem <strong>Web</strong>-<strong>IO</strong> 12x <strong>Digital</strong> Input, 12x <strong>Digital</strong> Output im Box-to-<br />
Box Modus verbun<strong>de</strong>n wer<strong>de</strong>n.<br />
Wie im ersten Beispiel, wird zunächst das <strong>Web</strong>-<strong>IO</strong> 12x<strong>Digital</strong><br />
als Slave konfiguriert. Das geschieht sowohl für Binary 1 als<br />
auch für Binary 2. Für Binary 1 wer<strong>de</strong>n die Input Trigger 0 und 1<br />
gesetzt, für Binary 2 die Input Trigger 2 und 3. Darüber hinaus<br />
wer<strong>de</strong>n im Bereich Outputmo<strong>de</strong> die Outputs 0 und 1 für Binary<br />
1 und die Outputs 2 und 3 für Binary 2 konfiguriert.<br />
82
W&T Box-to-Box<br />
Anschließend wird die Konfiguration abgespeichert.<br />
Das 1. <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output wird ganz normal<br />
als Box-to-Box Master für Binary 1 konfiguriert. Beim 2.<br />
<strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output wird in <strong>de</strong>r gleichen<br />
Weise für Binary 2 verfahren.<br />
Nach<strong>de</strong>m die Einstellungen bei allen beteiligten <strong>Web</strong>-<strong>IO</strong> gespeichert<br />
wur<strong>de</strong>n, folgt Output 0 <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> 12x <strong>Digital</strong> Input, 12x<br />
<strong>Digital</strong> Output Än<strong>de</strong>rungen an Input 0 vom 1. <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong><br />
Input, 2x <strong>Digital</strong> Output. Än<strong>de</strong>rt sich Input 1 am 2. <strong>Web</strong>-<strong>IO</strong><br />
2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output zieht das eine Än<strong>de</strong>rung an<br />
Output 2 <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> 12x <strong>Digital</strong> Input, 12x <strong>Digital</strong> Output nach<br />
sich.<br />
Alte und neue Geräte als Box-to-Box Kombination<br />
Es ist nicht möglich, ältere E/A-Com-Server 50xxx mit einem<br />
<strong>Web</strong>-<strong>IO</strong> Box-to-Box zu betreiben. <strong>Web</strong>-<strong>IO</strong>, die im Box-to-<br />
BoxModus zusammenarbeiten, sollten <strong>de</strong>n gleichen Firmwarestand<br />
haben<br />
Probleme bei Box-to-Box<br />
Vor allem wenn sich die IP-Adressen eines Box-to-Box Paares<br />
z.b. durch Umstellung <strong>de</strong>r Infrastruktur geän<strong>de</strong>rt hat, kommt es<br />
vor, das <strong>de</strong>r Master keine Verbindung mehr zum Slave aufbauen<br />
kann o<strong>de</strong>r umgekehrt.<br />
Unter Config >> Session Control >> LogOut sollte in solchen Fällen<br />
beim Slave ein zusätzliches Button Stopp Box2Box Slave vorhan<strong>de</strong>n<br />
sein.<br />
Ein Klick auf diesen Button setzt ggf. vorhan<strong>de</strong>ne alte<br />
Verbindungsparameter zurück und öffnet die Slave-Box so für<br />
eine neue Verbindung.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
83
W&T Time Switch - zeitgesteuert schalten<br />
5.3 Time Switch - <strong>Web</strong>-<strong>IO</strong> als Schaltuhr<br />
Das <strong>Web</strong>-<strong>IO</strong> Mo<strong>de</strong>ll 57637 bietet über <strong>de</strong>n normalen Funktionsumfang<br />
hinaus die Möglichkeit, die Outputs zeitgesteuert zu<br />
schalten.<br />
5.3.1 Aktivieren <strong>de</strong>r Outputs für Time Switch<br />
Wählen Sie im Navigationsbaum <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> Config >> Device<br />
>> Output Mo<strong>de</strong><br />
Aktivieren Sie hier die Outputs, die zeitgesteuert geschaltet wer<strong>de</strong>n<br />
sollen und bestätigen Sie durch Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Wenn das <strong>Web</strong>-<strong>IO</strong> im Output Mo<strong>de</strong> Time Switch arbeitet, ist es<br />
nach wie vor über die eingestellte Grundbetriebsart schaltbar.<br />
Das be<strong>de</strong>utet, dass <strong>de</strong>r durch die Schaltuhr eingestellte Output-<br />
Zustand z.B. durch Bedienung im Browser geän<strong>de</strong>rt wer<strong>de</strong>n<br />
kann. Das nächste zeitgesteuerte Schalten än<strong>de</strong>rt aber <strong>de</strong>n manuell<br />
eingestellten Zustand wie<strong>de</strong>r.<br />
84
W&T Time Switch - zeitgesteuert schalten<br />
1Der parallele Zugriff von Logic und Time Switch ist<br />
nicht erlaubt.<br />
Sichern Sie die Einstellungen durch Logout und Speichern bevor<br />
Sie mit <strong>de</strong>r weiteren Konfiguration fortfahren.<br />
5.3.2 Schaltvorgaben la<strong>de</strong>n<br />
Das <strong>Web</strong>-<strong>IO</strong> hat keine Konfigurationsoberfläche zum Einstellen<br />
<strong>de</strong>r Schaltuhr. Statt<strong>de</strong>ssen gibt es zwei Möglichkeiten, die<br />
Steuerdaten in Form einer iCal-Kalen<strong>de</strong>rdatei ins <strong>Web</strong>-<strong>IO</strong> zu la<strong>de</strong>n:<br />
. iCal-Datei direkt übers Internet aus einem Online-Kalen<strong>de</strong>r<br />
la<strong>de</strong>n<br />
. iCal-Datei vom lokalen PC la<strong>de</strong>n<br />
5.3.3 Schaltzeiten aus Online-Kalen<strong>de</strong>r la<strong>de</strong>n<br />
1Konfigurieren Sie zunächst die Netzwerkeinstellungen<br />
(IP-Adresse, Subnet-Mask, Gateway und DNS-Server) <strong>de</strong>s<br />
<strong>Web</strong>-<strong>IO</strong> und übernehmen Sie die Einstellungen durch Logout<br />
und Speichern.<br />
Als Beispiel für das Verwalten <strong>de</strong>r Schaltzeiten zeigen wir hier<br />
<strong>de</strong>n Umgang mit <strong>de</strong>m Kalen<strong>de</strong>r <strong>de</strong>s Internet-Suchanbieters<br />
Google. Um die Funktionalität <strong>de</strong>s Google-Kalen<strong>de</strong>rs nutzen zu<br />
können, muss unter www.google.<strong>de</strong> ein entsprechen<strong>de</strong>s<br />
Benutzerkonto angelegt wer<strong>de</strong>n.<br />
1Bitte beachten Sie die Nutzungsbedingungen <strong>de</strong>s<br />
Google-Kontos, <strong>de</strong>nen Sie mit Einrichten <strong>de</strong>s Kontos zustimmen.<br />
Es kann natürlich auch je<strong>de</strong>r an<strong>de</strong>re Online-Kalen<strong>de</strong>r genutzt<br />
wer<strong>de</strong>n, <strong>de</strong>r einen öffentlichen Link auf die <strong>de</strong>m Kalen<strong>de</strong>r entsprechen<strong>de</strong><br />
iCal-Datei bereit stellt.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
85
W&T Time Switch - zeitgesteuert schalten<br />
Je<strong>de</strong>r <strong>de</strong>r bei<strong>de</strong>n Outputs benötigt einen eigenen Kalen<strong>de</strong>r, in<br />
<strong>de</strong>m die Schaltvorgaben eingetragen wer<strong>de</strong>n. Bei Google können<br />
unter einem Kun<strong>de</strong>nkonto mehrere Kalen<strong>de</strong>r gepflegt wer<strong>de</strong>n.<br />
Um einen neuen Kalen<strong>de</strong>r anzulegen, wählen Sie unter Meine<br />
Kalen<strong>de</strong>r <strong>de</strong>n Link Hinzufügen.<br />
Es spielt keine Rolle, welchen Namen Sie <strong>de</strong>m Kalen<strong>de</strong>r geben.<br />
Wir empfehlen aber, sinngeben<strong>de</strong> Namen zu verwen<strong>de</strong>n, um bei<br />
Einsatz mehrerer <strong>Web</strong>-<strong>IO</strong>s <strong>de</strong>n Überblick zu behalten.<br />
86
W&T Time Switch - zeitgesteuert schalten<br />
Weitere Einträge o<strong>de</strong>r Än<strong>de</strong>rungen sind an dieser Stelle nicht<br />
nötig. Um <strong>de</strong>n Kalen<strong>de</strong>r anzulegen, klicken Sie auf Kalen<strong>de</strong>r einrichten.<br />
Wenn für bei<strong>de</strong> Outputs ein Kalen<strong>de</strong>r eingerichtet wur<strong>de</strong>, können<br />
die gewünschten Schaltzeiten eingetragen wer<strong>de</strong>n.<br />
Der Google-Kalen<strong>de</strong>r lässt sowohl einmalige als auch wie<strong>de</strong>rholen<strong>de</strong><br />
Termine zu. Um einen neuen Termin anzulegen, klicken<br />
Sie auf Termin eintragen o<strong>de</strong>r auf <strong>de</strong>n gewünschten Tag im Kalen<strong>de</strong>r.<br />
Wählen Sie als Kalen<strong>de</strong>r <strong>de</strong>n Kalen<strong>de</strong>r für <strong>de</strong>n entsprechen<strong>de</strong>n<br />
Output aus und klicken Sie auf Termineinzelheiten bearbeiten.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
87
W&T Time Switch - zeitgesteuert schalten<br />
Bestimmen Sie alle Termineinzelheiten und klicken dann auf<br />
Speichern. Es spielt keine Rolle, welchen Namen Sie unter Was<br />
eintragen. Das <strong>Web</strong>-<strong>IO</strong> schaltet zum Beginn je<strong>de</strong>s gefun<strong>de</strong>nen<br />
Termins <strong>de</strong>n Output ein und mit En<strong>de</strong> <strong>de</strong>s Termins wie<strong>de</strong>r aus.<br />
Konfigurieren Sie auf diese Weise alle gewünschten Schaltzeiten.<br />
Abschließend klicken Sie unter Meine Kalen<strong>de</strong>r auf <strong>de</strong>n Link Einstellungen.<br />
88
W&T Time Switch - zeitgesteuert schalten<br />
Wählen Sie <strong>de</strong>n Kalen<strong>de</strong>r für Output 0 aus.<br />
Im unteren Bereich <strong>de</strong>r nun folgen<strong>de</strong>n <strong>Web</strong>seite fin<strong>de</strong>n Sie <strong>de</strong>n<br />
Punkt Privatadresse. Klicken Sie hier auf iCal.<br />
Daraufhin wird <strong>de</strong>r Online-Link auf die zum Kalen<strong>de</strong>r gehören<strong>de</strong><br />
iCal-Datei angezeigt. Markieren Sie diesen Link und kopieren<br />
Sie ihn mittels - C in die Zwischenablage.<br />
Wählen Sie nun im Navigationsbaum <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> Config >><br />
Ports >> Outputs >> Output 0 >> Time Switch.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
89
W&T Time Switch - zeitgesteuert schalten<br />
Link iCal<br />
Fügen Sie hier <strong>de</strong>n in die Zwischenablage kopierten Link mit<br />
- C ein.<br />
Refresh<br />
An dieser Stelle wird festgelegt, in welchem Zyklus das <strong>Web</strong>-<strong>IO</strong><br />
die Kalen<strong>de</strong>rdaten vom Online-Kalen<strong>de</strong>r herunterlädt. Wird No,<br />
also kein automatischer Abgleich gewählt, muss die Datei von<br />
Hand gela<strong>de</strong>n wer<strong>de</strong>n.<br />
Wählen Sie dazu im Navigationsbaum <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> Config >> Up/<br />
Download >> Upload und klicken Sie auf Time Switch File<br />
Upload Output 0.<br />
90
W&T Time Switch - zeitgesteuert schalten<br />
Klicken Sie auf Upload iCal Datei Output 0.<br />
In gleicher Weise muss für Output 1 verfahren wer<strong>de</strong>n.<br />
Nun müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n. Benutzen<br />
Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
5.3.4 Schaltzeiten als iCal-Datei la<strong>de</strong>n<br />
Sollte das <strong>Web</strong>-<strong>IO</strong> keinen Zugang zum Internet haben, bietet<br />
sich als zweite Alternative die Möglichkeit, die Schaltzeiten in<br />
Form einer iCal-Datei von <strong>de</strong>r Festplatte eines lokalen PC ins<br />
Gerät zu la<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
91
W&T Time Switch - zeitgesteuert schalten<br />
Auch in diesem Fall können die Schaltzeiten über einen Online-<br />
Kalen<strong>de</strong>r erstellt wer<strong>de</strong>n. Die Vorgehensweise ist i<strong>de</strong>ntisch mit<br />
<strong>de</strong>r vorangehend beschriebenen.<br />
Allerdings muss die iCal-Datei zunächst auf einen mit <strong>de</strong>m Internet<br />
verbun<strong>de</strong>nen PC heruntergela<strong>de</strong>n wer<strong>de</strong>n.<br />
Beim Google-Kalen<strong>de</strong>r müssen Sie dazu nur auf <strong>de</strong>n Link <strong>de</strong>r<br />
iCal-Datei klicken.<br />
Die heruntergela<strong>de</strong>ne iCal-Datei kann dann mittels USB-Stick auf<br />
einen PC übertragen wer<strong>de</strong>n, <strong>de</strong>r Verbindung zum <strong>Web</strong>-<strong>IO</strong> hat.<br />
Natürlich kann die iCal-Datei auch mit je<strong>de</strong>m Kalen<strong>de</strong>rprogramm<br />
erstellt wer<strong>de</strong>n, das über eine iCal-Exportfunktion verfügt.<br />
Als Freeware-Variante bietet sich z.B. Sunbird von Mozilla an.<br />
Kostenloser Download unter:<br />
http://www.sunbird-kalen<strong>de</strong>r.<strong>de</strong>/downloads.php<br />
Die Installation von Sunbird ist selbsterklärend.<br />
92
W&T Time Switch - zeitgesteuert schalten<br />
Nach <strong>de</strong>m ersten Start wählen Sie im Menü Datei >> Neuer Kalen<strong>de</strong>r.<br />
Der Kalen<strong>de</strong>r sollte auf <strong>de</strong>m lokalen PC gespeichert wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
93
W&T Time Switch - zeitgesteuert schalten<br />
Geben Sie <strong>de</strong>m Kalen<strong>de</strong>r einen sinngeben<strong>de</strong>n Namen und bestätigen<br />
Sie mit Weiter.<br />
Sunbird lässt sowohl einmalige als auch wie<strong>de</strong>rholen<strong>de</strong> Termine<br />
zu. Um einen neuen Termin anzulegen, doppelklicken Sie auf<br />
<strong>de</strong>n gewünschten Tag im Kalen<strong>de</strong>r.<br />
94
W&T Time Switch - zeitgesteuert schalten<br />
Bestimmen Sie alle Termineinzelheiten und klicken dann auf<br />
Speichern und Schließen . Es spielt keine Rolle, welchen Namen<br />
Sie unter Titel eintragen. Das <strong>Web</strong>-<strong>IO</strong> schaltet zum Beginn je<strong>de</strong>s<br />
gefun<strong>de</strong>nen Termins <strong>de</strong>n Output ein und mit En<strong>de</strong> <strong>de</strong>s Termins<br />
wie<strong>de</strong>r aus.<br />
Konfigurieren Sie auf diese Weise alle gewünschten Schaltzeiten.<br />
Abschließend klicken Sie unter Datei auf Kalen<strong>de</strong>r exportieren.<br />
Speichern Sie die iCal-Datei auf <strong>de</strong>r Festplatte <strong>de</strong>s PC.<br />
Wählen Sie nun im Navigationsbaum <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> Config >> Up/<br />
Download >> Upload und klicken Sie auf Time Switch File<br />
Upload Output 0.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
95
W&T Time Switch - zeitgesteuert schalten<br />
Um die iCal-Datei ins <strong>Web</strong>-<strong>IO</strong> zu la<strong>de</strong>n, wählen Sie die gewünschte<br />
Datei aus und klicken auf Time Switch File Upload<br />
Output 0.<br />
In gleicher Weise muss für Output 1 verfahren wer<strong>de</strong>n.<br />
Nun müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n. Benutzen<br />
Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
96
W&T Time Switch - zeitgesteuert schalten<br />
5.3.5 Schaltuhr Vorschau<br />
Nach Abschluss <strong>de</strong>r Schaltuhrkonfiguration beginnt das <strong>Web</strong>-<br />
<strong>IO</strong> mit <strong>de</strong>r Abarbeitung <strong>de</strong>s eingespielten Zeitsteuerprogramms.<br />
Eine Vorschau <strong>de</strong>r Schaltereignisse <strong>de</strong>r nächsten 24 Stun<strong>de</strong>n<br />
kann von <strong>de</strong>r Home-Seite <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> abgerufen wer<strong>de</strong>n. Klicken<br />
Sie dazu einfach auf <strong>de</strong>n Link Schaltuhr Vorschau (Time<br />
Switch).<br />
Für eine langfristige, <strong>de</strong>taillierte Vorschau können die iCal-Dateien<br />
unter Config >> Up/Download >> Download > iCal Datei<br />
heruntergela<strong>de</strong>n und in einem Kalen<strong>de</strong>rprogramm geöffnet<br />
wer<strong>de</strong>n.<br />
5.3.6 Beson<strong>de</strong>rheiten <strong>de</strong>r <strong>Web</strong>-<strong>IO</strong> Schaltuhr<br />
Es ist möglich, sowohl <strong>de</strong>n Abgleich mit einem Online-Kalen<strong>de</strong>r<br />
zu konfigurieren als auch eine iCal-Datei hochzula<strong>de</strong>n.<br />
In <strong>de</strong>r Praxis ist das nur sinnvoll, wenn vorübergehend abweichend<br />
vom normalen Betrieb geschaltet wer<strong>de</strong>n soll.<br />
Wenn für <strong>de</strong>n Online-Abgleich ein Zyklus konfiguriert wur<strong>de</strong>,<br />
gelten die manuell hochgela<strong>de</strong>nen Schaltzeiten nur solange, bis<br />
<strong>de</strong>r nächste zyklusgemäße Online-Abgleich stattfin<strong>de</strong>t. Danach<br />
gelten wie<strong>de</strong>r die Schaltzeiten <strong>de</strong>s Online-Kalen<strong>de</strong>rs.<br />
Unabhängig davon, auf welchem Weg das <strong>Web</strong>-<strong>IO</strong> die Zeitschaltvorgaben<br />
bekommen hat, wenn unter Config, Device >><br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
97
W&T Time Switch - zeitgesteuert schalten<br />
Outputmo<strong>de</strong> zusätzlich zu Time Switch eine <strong>de</strong>r Grundbetriebsarten<br />
. HTTP<br />
. UDP ASCII<br />
. SNMP<br />
. Binary 1<br />
. Binary 2<br />
aktiviert ist, kann <strong>de</strong>r aktuelle Schaltzustand je<strong>de</strong>rzeit über die<br />
eingestellte Zugriffsart geän<strong>de</strong>rt wer<strong>de</strong>n. Der nächste zeitgesteuerte<br />
Schaltvorgang wür<strong>de</strong> allerdings wie<strong>de</strong>r <strong>de</strong>n Output-<br />
Zustand bestimmen.<br />
98
W&T SNMP<br />
5.4 Integration in bestehen<strong>de</strong> Systeme<br />
Damit das <strong>Web</strong>-<strong>IO</strong> problemlos auch in bestehen<strong>de</strong> Systeme Integriert<br />
wer<strong>de</strong>n kann, unterstützt es einige in <strong>de</strong>r Automatisierung<br />
und Netzwerktechnik übliche Standardkommunikationswege:<br />
. SNMP<br />
. OPC<br />
. Modbus<br />
5.4.1 SNMP - In- und Outputs in Managementsystemen<br />
Das <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> kann über das SNMP-Protokoll in bestehen<strong>de</strong><br />
Netzwerkmanagementsysteme eingebun<strong>de</strong>n wer<strong>de</strong>n.<br />
Dabei kann sowohl die gesamte Konfiguration, als auch das<br />
Steuern und Überwachen von Inputs, Countern und Outputs<br />
über SNMP erfolgen.<br />
g<br />
Die Private-MIB steht unter http://www.wut.<strong>de</strong> zum<br />
Download zur Verfügung.<br />
Navigieren Sie von <strong>de</strong>r Datenblattseite <strong>de</strong>s entsprechen<strong>de</strong>n<br />
<strong>Web</strong>-<strong>IO</strong> in <strong>de</strong>n Bereich Tools.<br />
Freischalten <strong>de</strong>s SNMP-Zugriffs<br />
m Notwendige Zugriffsrechte: Administrator<br />
Wählen Sie im Navigationsbaum <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> Config >> Device<br />
>> Basic Settings >> SNMP<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
99
W&T SNMP<br />
Community String: Read<br />
Tragen Sie hier <strong>de</strong>n Community String für SNMP Zugriff mit<br />
Leseberechtigung ein.<br />
Community String: Read-Write<br />
Tragen Sie hier <strong>de</strong>n Community String für SNMP Zugriff mit<br />
Lese- und Schreibberechtigung ein.<br />
Manager IP:<br />
IP-Adresse <strong>de</strong>s SNMP Management-Systems<br />
System Traps:<br />
Das <strong>Web</strong>-<strong>IO</strong> bietet die Möglichkeit, bei Kalt- o<strong>de</strong>r Warmstart<br />
(Hardware-Reset und Power-ON o<strong>de</strong>r Software-Reset) einen System<br />
Trap an <strong>de</strong>n eingetragen SNMP Manager abzusetzen.<br />
Markieren Sie entsprechend Cold Start o<strong>de</strong>r Warm Start.<br />
Diag Messages:<br />
Mit dieser Option lassen sich Fehler- und Diagnosemeldungen<br />
als SNMP-Trap an das SNMP-Managementsystem sen<strong>de</strong>n. Solange<br />
<strong>de</strong>r <strong>Web</strong>-<strong>IO</strong> interne Fehlerspeicher nicht gelöscht wird, wird<br />
ein Fehler nur beim ersten Auftreten als Trap gesen<strong>de</strong>t. Welche<br />
Fehler aktuell anliegen, kann über die Diag-Seite im Browser abgerufen<br />
wer<strong>de</strong>n.<br />
siehe: http://
W&T SNMP<br />
Enable:<br />
An dieser Stelle muss SNMP Enable aktiviert wer<strong>de</strong>n, um mit <strong>de</strong>m<br />
<strong>Web</strong>-<strong>IO</strong> auf SNMP-Ebene arbeiten zu können.<br />
Bestätigen Sie Ihre Eingaben durch Klick auf <strong>de</strong>n Zwischenspeichern-Button..<br />
Wenn keine weiteren Konfigurationsän<strong>de</strong>rungen mehr erfolgen<br />
sollen, müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n.<br />
Benutzen Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
Nach Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n alle Einstellungen<br />
im <strong>Web</strong>-<strong>IO</strong> aktualisiert und die Startseite im Default User Modus<br />
neu aufgebaut.<br />
Aktivieren <strong>de</strong>r Outputs für SNMP<br />
m Notwendige Zugriffsrechte: Administrator<br />
Wählen Sie im Navigationsbaum <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> Config >> Device<br />
>> Output Mo<strong>de</strong><br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
101
W&T SNMP<br />
Aktivieren Sie hier die Outputs, die über das SNMP-Protokoll gesteuert<br />
wer<strong>de</strong>n sollen und bestätigen Sie durch Klick auf <strong>de</strong>n<br />
Zwischenspeichern-Button.<br />
Nun müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n. Benutzen<br />
Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
Nach Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n alle Einstellungen<br />
im <strong>Web</strong>-<strong>IO</strong> aktualisiert und die Startseite im Default User Modus<br />
neu aufgebaut.<br />
Die wichtigsten Schritte bei SNMP-Zugriff<br />
Die von W&T bereitgestellte Private MIB kann für alle <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong><br />
Geräte eingesetzt wer<strong>de</strong>n. Für die verschie<strong>de</strong>nen Mo<strong>de</strong>lle<br />
sind getrennte OID-Zweige vorhan<strong>de</strong>n.<br />
Die hier vorgestellte Vorgehensweise ist beispielhaft für das<br />
<strong>Web</strong>-<strong>IO</strong> 12x<strong>Digital</strong> Input, 12x<strong>Digital</strong> Output ausgelegt.<br />
Sobald <strong>de</strong>r SNMP-Zugriff wie eingangs beschrieben freigeschaltet<br />
wur<strong>de</strong>, ist je<strong>de</strong>rzeit ein lesen<strong>de</strong>r Zugriff möglich.<br />
Um schreiben<strong>de</strong>n Zugriff auf das <strong>Web</strong>-<strong>IO</strong> zu bekommen, ist es<br />
zunächst nötig, eine SNMP-Session aufzubauen. Das gilt vor allem<br />
dann, wenn die Outputs per SNMP gesetzt wer<strong>de</strong>n sollen.<br />
Session Login<br />
Um eine Session zu öffnen, muss das Administrator-Passwort<br />
in die Variable<br />
wt<strong>Web</strong>ioEA12x12SessCntrlPassword<br />
102
W&T SNMP<br />
eingetragen wer<strong>de</strong>n.<br />
1Eine geöffnete Session bleibt für 5 Minuten erhalten<br />
und wird danach automatisch verworfen.<br />
Session auf Gültigkeit prüfen<br />
Durch Auslesen <strong>de</strong>r Variablen<br />
wt<strong>Web</strong>ioEA12x12SessCntrlConfigMo<strong>de</strong><br />
kann überprüft wer<strong>de</strong>n, ob die Session erfolgreich geöffnet wur<strong>de</strong>.<br />
1 = Session geöffnet, <strong>Web</strong>-<strong>IO</strong> im Konfigurationsmodus<br />
0 = Öffnen <strong>de</strong>r Session ist fehlgeschlagen. Überprüfen Sie, ob<br />
ggf. das Passwort falsch angegeben wur<strong>de</strong>.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
103
W&T SNMP<br />
Nach erfolgreichem Öffnen <strong>de</strong>r Session, können über die in <strong>de</strong>r<br />
Private-MIB <strong>de</strong>finierten Variablen beliebige Konfigurationsän<strong>de</strong>rungen<br />
bzw. Input und Output-Zugriffe erfolgen.<br />
Einen Output verän<strong>de</strong>rn<br />
Um nach einem erfolgreichen Session-Login einzelne Outputs<br />
in ihrem Zustand zu verän<strong>de</strong>rn, wird die SNMP-Variable<br />
wt<strong>Web</strong>ioEA12x12OutputState<br />
benutzt. Um zu bestimmen, welcher Output verän<strong>de</strong>rt wer<strong>de</strong>n<br />
soll, muss an die entsprechen<strong>de</strong> OID, getrennt durch einen<br />
Punkt, die Nummer <strong>de</strong>s Outputs + 1 angehängt wer<strong>de</strong>n.<br />
104
W&T SNMP<br />
Als Value wird 1 für ON und 0 für OFF übergeben. Hier wird z.B.<br />
Output 6 auf ON gesetzt.<br />
Alle Outputs gleichzeitig verän<strong>de</strong>rn<br />
Neben <strong>de</strong>m Setzen einzelner Outputs, besteht die Möglichkeit,<br />
alle Outputs auf einmal zu verän<strong>de</strong>rn. Dazu wird die SNMP-Variable<br />
wt<strong>Web</strong>ioEA12x12OutputValue<br />
benutzt. Übergeben wird <strong>de</strong>r Integerwert, <strong>de</strong>r <strong>de</strong>m binären Muster<br />
<strong>de</strong>r Outputs entspricht.<br />
Beispiel: Output 0 und Output 2 sollen auf ON gesetzt wer<strong>de</strong>n.<br />
Alle an<strong>de</strong>ren Outputs sollen <strong>de</strong>n Status OFF annehmen.<br />
Der zu übergeben<strong>de</strong> Wert wird berechnet wie folgt:<br />
1x2 0 + 0x2 1 + 1x2 2 + 0x2 3 + 0x2 4 + 0x2 5 + 0x2 6 +<br />
0x2 7 + 0x2 8 + 0x2 9 + 0x2 10 + 0x2 11 = 5<br />
Mehrere Outputs verän<strong>de</strong>rn<br />
Als letzte Variante bietet das <strong>Web</strong>-<strong>IO</strong> die Möglichkeit, mehrere<br />
Outputs zeitgleich zu setzen, an<strong>de</strong>re hingegen in ihrem alten<br />
Zustand zu belassen.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
105
W&T SNMP<br />
Hierzu wird mit einer Output-Maske und <strong>de</strong>m Output-Wert gearbeitet.<br />
Mit <strong>de</strong>r Output-Maske wird festgelegt, welche Outputs verän<strong>de</strong>rt<br />
wer<strong>de</strong>n sollen. Der Output-Wert hingegen legt fest welchen Zustand<br />
diese Outputs annehmen sollen.<br />
Beispiel:<br />
Output 1 soll auf ON geschaltet wer<strong>de</strong>n,<br />
Output 2 soll auf OFF geschaltet wer<strong>de</strong>n,<br />
Output 4 soll auf ON geschaltet wer<strong>de</strong>n,<br />
Output 5 soll auf OFF geschaltet wer<strong>de</strong>n,<br />
Output 10 soll auf ON geschaltet wer<strong>de</strong>n,<br />
Output 11 soll auf ON geschaltet wer<strong>de</strong>n,<br />
Verän<strong>de</strong>rt wer<strong>de</strong>n sollen also die Outputs:<br />
1,2,4,5,10 und 11.<br />
Die Output-Maske berechnet sich:<br />
0x2 0 + 1x2 1 + 1x2 2 + 0x2 3 + 1x2 4 + 1x2 5 + 0x2 6 +<br />
0x2 7 + 0x2 8 + 0x2 9 + 1x2 10 + 1x2 11 = 3126<br />
In hexa<strong>de</strong>zimaler Schreibweise entspricht das 0xC36.<br />
Um <strong>de</strong>n Output-Wert zu berechnen müssen nur die<br />
Bitwertigkeiten addiert wer<strong>de</strong>n, die <strong>de</strong>m Zustand ON - also 1 -<br />
entsprechen.<br />
1x2 1 + 1x2 4 + 1x2 10 = 1042<br />
In hexa<strong>de</strong>zimaler Schreibweise entspricht das 0x412.<br />
Output-Maske und -Wert wer<strong>de</strong>n über die SNMP-Variable<br />
wt<strong>Web</strong>ioEA12x12SetOutput<br />
als 8 Byte Oktetstring übergeben.<br />
106
W&T SNMP<br />
Konfiguration än<strong>de</strong>rn<br />
Auch die Grun<strong>de</strong>instellungen <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> lassen sich mittels<br />
SNMP auslesen und bei gültigem Session-Login auch än<strong>de</strong>rn.<br />
Die Private-MIB bil<strong>de</strong>t hierzu alle Parameter ab, die auch über<br />
die Browser-Oberfläche konfigurierbar sind. An<strong>de</strong>rs als beim<br />
Setzen <strong>de</strong>r Outputs (erfolgt bei gültiger Session sofort) muss<br />
Die Session ordnungsgemäß geschlossen wer<strong>de</strong>n, damit die<br />
Än<strong>de</strong>rungen wirksam wer<strong>de</strong>n.<br />
Das geschieht durch Schreiben <strong>de</strong>r Variablen<br />
wt<strong>Web</strong>ioEA12x12SessCntrlLogout<br />
Dabei kann über <strong>de</strong>n Wert bestimmt wer<strong>de</strong>n wie been<strong>de</strong>t wird:<br />
1 alle Än<strong>de</strong>rungen wer<strong>de</strong>n gespeichert<br />
2 Been<strong>de</strong>n ohne Speichern<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
107
W&T SNMP<br />
Fin<strong>de</strong>t bei geöffneter Session über einen Zeitraum von 5 Minuten<br />
keine SNMP-Kommunikation statt, been<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong><br />
seinerseits die Session und alle Än<strong>de</strong>rungen wer<strong>de</strong>n verworfen.<br />
1Das Öffnen einer SNMP-Session hat Vorrang vor einem<br />
HTTP-Login. Das be<strong>de</strong>utet: Ein User mit Config- o<strong>de</strong>r Administrator-Rechten<br />
verliert seinen Browser-Zugriff, sobald eine<br />
SNMP-Session geöffnet wird.<br />
108
W&T OPC<br />
5.4.2 OPC - standardisierter Zugriff<br />
OPC (OLE for Process Control) ist eine Softwareschnittstelle<br />
zum Zugriff auf Prozessdaten, auf Basis <strong>de</strong>r OLE-Technologie<br />
von Microsoft.<br />
Anwendungsprogramme wie z.B. Visualisierungssysteme, die<br />
diese Schnittstelle benutzen, heißen OPC-Clients. Auf <strong>de</strong>r an<strong>de</strong>ren<br />
Seite <strong>de</strong>r Schnittstelle stehen ihnen OPC-Server gegenüber.<br />
Das sind Gerätetreiber, die eine bestimmte Hardware in abstrakter<br />
Form als einen Satz von OPC-Variablen darstellen.<br />
Die Installation <strong>de</strong>s OPC-Servers<br />
Den OPC-Server fin<strong>de</strong>n Sie auf <strong>de</strong>r <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> beiliegen<strong>de</strong>n<br />
Produkt-CD im Bereich <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong>.<br />
g Auf<br />
unserer <strong>Web</strong>seite www.WuT.<strong>de</strong> fin<strong>de</strong>n Sie links die<br />
„Suche über Artikel-Nr“. Geben Sie hier die Artikel-Nr. Ihres<br />
<strong>Web</strong>-<strong>IO</strong> ein, wählen Sie in <strong>de</strong>m Feld darunter „Tools“ aus und<br />
klicken Sie auf „Los“. Auf <strong>de</strong>r Seite, die sich dann öffnet, wählen<br />
Sie <strong>de</strong>n Link „OPC-Server“.<br />
Zum einfachen Download wur<strong>de</strong>n die benötigten Dateien in einem<br />
ZIP-File untergebracht. Speichern Sie die entpackten Dateien<br />
in einem beliebigen Verzeichnis Ihrer Festplatte (z.B. C:/<br />
Temp) Starten Sie das Setup-Programm in <strong>de</strong>m Sie z. B. aus <strong>de</strong>m<br />
Startmenü Ausführen... wählen und dann eingeben:<br />
„C\Temp\Setup“. Es installiert und registriert <strong>de</strong>n OPC-Server<br />
auf Ihrem Rechner.<br />
Deinstallation<br />
Den OPC-Server können Sie über die Systemsteuerungskomponente<br />
„Software“ entfernen. Er steht dort in <strong>de</strong>r Liste unter<br />
W&T OPC-Server<br />
Konfiguration<br />
Starten Sie zunächst das Konfigurationsprogramm <strong>de</strong>s OPC-<br />
Servers. Bei normaler Installation fin<strong>de</strong>n Sie das entsprechen<strong>de</strong><br />
Start Icon auf Ihrer Windows-Oberfläche unter Start >> Programme<br />
>> W&T OPC-Server Version 4 >> OPC-Server konfigurieren<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
109
W&T OPC<br />
Klicken Sie auf das <strong>Web</strong>-<strong>IO</strong> Icon o<strong>de</strong>r im Menü auf Gerät >><br />
Neues E/A-Gerät.<br />
Es öffnet sich folgen<strong>de</strong>s Fenster:<br />
Hostname o<strong>de</strong>r IP-Adresse<br />
Tragen Sie hier die IP-Adresse Ihres <strong>Web</strong>-<strong>IO</strong> ein. Falls <strong>de</strong>r Adresse<br />
über DNS o<strong>de</strong>r einen ähnlichen Namensdienst auch ein<br />
Hostname zugeordnet wur<strong>de</strong>, können Sie auch diesen Namen<br />
statt <strong>de</strong>r IP-Adresse verwen<strong>de</strong>n.<br />
HTTP-Port<br />
Geben Sie hier <strong>de</strong>n Port ein, <strong>de</strong>n das <strong>Web</strong>-<strong>IO</strong> als HTTP-Port verwen<strong>de</strong>t<br />
(werksseitig 80).<br />
110
W&T OPC<br />
TCP-Portnummer<br />
Muss <strong>de</strong>m Local Port Eintrag <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> entsprechen<br />
(werksseitig 49153)<br />
Passwort<br />
Geben Sie hier das Konfigurator- bzw. Administrator-Passwort<br />
<strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> an. Falls Sie sich über das korrekte Passwort unsicher<br />
sind, achten Sie bitte nach Been<strong>de</strong>n <strong>de</strong>s Dialogs auf die<br />
Statusmeldung für das Gerät, in <strong>de</strong>r ggf. auf Probleme hingewiesen<br />
wird („Passwort erfor<strong>de</strong>rlich“ bzw. „falsches Passwort“).<br />
Gerätetyp<br />
Wählen Sie an dieser Stelle z.B. <strong>Web</strong>-<strong>IO</strong> 2x<strong>Digital</strong><br />
OPC-Gerätename<br />
Tragen Sie hier <strong>de</strong>n Namen ein, <strong>de</strong>r unter OPC das neu hinzugefügte<br />
Gerät im vor<strong>de</strong>ren Teil <strong>de</strong>s OPC-Item Namens wie<strong>de</strong>rgeben<br />
soll.<br />
Nur pollen (keine Benachrichtigungen abonnieren)<br />
Auf die automatischen Benachrichtigungen zu verzichten, hat<br />
<strong>de</strong>n Vorteil, dass <strong>de</strong>r Umfang <strong>de</strong>s Datenverkehrs auf <strong>de</strong>m Netzwerk<br />
nicht von äußeren Ereignissen abhängt.<br />
Abschließend müssen Sie die Konfiguration als aktive Konfiguration<br />
speichern. Wählen Sie dazu im Menü Datei >> Speichern<br />
als aktive Konfiguration.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
111
W&T OPC<br />
OPC-Client Applikationen können nun auf das <strong>Web</strong>-<strong>IO</strong> zugreifen.<br />
Der OPC-Server startet als Dienst und ist unter <strong>de</strong>m Namen<br />
Wiesemann-Theis.Network-<strong>IO</strong> in <strong>de</strong>r OPC-Serverliste zu fin<strong>de</strong>n.<br />
Eine Übersicht <strong>de</strong>r in diesem Namensraum verfügbaren Items<br />
gibt <strong>de</strong>r OPC-Miniclient <strong>de</strong>r unter Start >> Programme >> W&T<br />
OPC-Server Version 4 >> Minimaler OPC-Client startbar ist.<br />
<strong>Web</strong>-<strong>IO</strong> als OPC-Device konfigurieren<br />
m Notwendige Zugriffsrechte: Administrator<br />
Wählen Sie im Navigationsbaum <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> Config >> Device<br />
>> Basic Settings >> Binary 1<br />
112
W&T OPC<br />
Stellen Sie als Operation Mo<strong>de</strong> die Betriebsart TCP-Server ein.<br />
Klicken Sie anschließend auf <strong>de</strong>n Zwischenspeichern-Button um<br />
die Än<strong>de</strong>rungen ans <strong>Web</strong>-<strong>IO</strong> zu übertragen.<br />
Wählen Sie nun im Navigationsbaum: Config >> Device >> Basic<br />
Settings >> Binary 1 >> TCP-Server.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
113
W&T OPC<br />
Local Port<br />
Wenn Ihnen von Ihrem Netzwerkadministrator keine beson<strong>de</strong>ren<br />
Vorgaben gemacht wer<strong>de</strong>n, kann <strong>de</strong>r werksseitig eingestellte<br />
Port 49153 übernommen wer<strong>de</strong>n.<br />
Grund für eine Än<strong>de</strong>rung <strong>de</strong>s werksseitig eingestellten Local<br />
Port kann z.B. eine Firewall sein, die nur bestimmte Portzugriffe<br />
erlaubt.<br />
1In je<strong>de</strong>m Fall muss <strong>de</strong>r eingestellte Local Port <strong>de</strong>s<br />
<strong>Web</strong>-<strong>IO</strong> i<strong>de</strong>ntisch mit <strong>de</strong>n entsprechen<strong>de</strong>n Einstellungen<br />
im OPC-Server sein.<br />
Client HTTP Port<br />
legt <strong>de</strong>n HTTP Port fest, auf <strong>de</strong>n die Steuerverbindung zum<br />
OPC-Server aufgebaut wer<strong>de</strong>n soll.<br />
Wenn nicht an<strong>de</strong>rs vorgegeben, sollte hier immer Port 80 verwen<strong>de</strong>t<br />
wer<strong>de</strong>n.<br />
Input Trigger<br />
Aktivieren Sie hier die Inputs, die bei Zustandsän<strong>de</strong>rung eine<br />
Benachrichtigung an <strong>de</strong>n OPC-Server auslösen sollen.<br />
114
W&T OPC<br />
Application Mo<strong>de</strong><br />
Markieren Sie OPC Device<br />
Nach<strong>de</strong>m alle Parameter eingegeben wur<strong>de</strong>n, bestätigen Sie<br />
durch Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Wählen Sie nun im Navigationsbaum: Config >> Device >> Output<br />
Mo<strong>de</strong><br />
Aktivieren Sie hier die Outputs, die vom OPC-Server gesteuert<br />
wer<strong>de</strong>n sollen und bestätigen Sie durch Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Nun müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n. Benutzen<br />
Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut.<br />
Nach Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n alle Einstellungen<br />
im <strong>Web</strong>-<strong>IO</strong> aktualisiert und die Startseite im Default User Modus<br />
neu aufgebaut. Das <strong>Web</strong>-<strong>IO</strong> kann nun vom OPC-Server angesprochen<br />
wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
115
W&T Modbus TCP<br />
5.4.3 Modbus TCP - standardisierter Zugriff<br />
Modbus TCP ist eine Softwareschnittstelle zum adressbasierten<br />
Zugriff auf Prozessdaten. Die W&T <strong>Web</strong>-<strong>IO</strong>s arbeiten bei entsprechen<strong>de</strong>r<br />
Konfiguration als Modbus-Server, die von Modbus-<br />
Steuerungen (Clients bzw. Master) kontrolliert wer<strong>de</strong>n können.<br />
Über <strong>de</strong>n Modbus TCP Zugang können die Zustän<strong>de</strong> von Outputs,<br />
Inputs und Countern gelesen wer<strong>de</strong>n. Auch Status- und<br />
Systemabfragen sind möglich. Darüber hinaus lassen sich die<br />
Outputs über Modbus TCP schalten und die Counter löschen.<br />
Als Beson<strong>de</strong>rheit bietet das <strong>Web</strong>-<strong>IO</strong> 64 16-Bit-Register, die frei<br />
beschreibbar sind und auf die auch vom Browser aus zugegriffen<br />
wer<strong>de</strong>n kann. Darüber hinaus können über das Beschreiben<br />
bestimmter Register Alarme ausgelöst wer<strong>de</strong>n, die dann z.B.<br />
zum Versand von Emails o<strong>de</strong>r SNMP-Traps führen.<br />
Konfiguration für <strong>de</strong>n Modbus TCP Zugriff<br />
m Notwendige Zugriffsrechte: Administrator<br />
Wählen Sie im Navigationsbaum <strong>de</strong>s Slave <strong>Web</strong>-<strong>IO</strong> Config >><br />
Device >> Basic Settings >> Binary 1<br />
116
W&T Modbus TCP<br />
Stellen Sie als Operation Mo<strong>de</strong> die Betriebsart TCP-Server ein<br />
und aktivieren Sie Enable Binary.<br />
Klicken Sie anschließend auf <strong>de</strong>n Zwischenspeichern-Button,<br />
um die Än<strong>de</strong>rungen ans <strong>Web</strong>-<strong>IO</strong> zu übertragen.<br />
Wählen Sie nun im Navigationsbaum: Config >> Device >> Basic<br />
Settings >> Binary 1 >> TCP-Server.<br />
Local Port<br />
Für <strong>de</strong>n Einsatz im normalen Modbus TCP Umfeld muss <strong>de</strong>r lokale<br />
Port <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> auf 502 gesetzt wer<strong>de</strong>n.<br />
Client HTTP Port<br />
Beim Modbus TCP Zugriff wird dieser Port nicht verwen<strong>de</strong>t und<br />
kann auf <strong>de</strong>r werksseitigen Vorgabe 80 verbleiben<br />
Input Trigger<br />
Die Input Trigger dürfen für <strong>de</strong>n Modbus TCP Betrieb nicht aktiviert<br />
sein.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
117
W&T Modbus TCP<br />
Application Mo<strong>de</strong><br />
Markieren Sie Modbus<br />
Nach<strong>de</strong>m alle Parameter eingegeben wur<strong>de</strong>n, bestätigen Sie<br />
durch Klick auf <strong>de</strong>n Zwischenspeichern-Button.<br />
Wählen Sie nun im Navigationsbaum: Config >> Device >> Output<br />
Mo<strong>de</strong><br />
Aktivieren Sie hier die Outputs, die vom Modbus-Client gesteuert<br />
wer<strong>de</strong>n sollen für Binary 1 und bestätigen Sie mit <strong>de</strong>m<br />
Zwischenspeichern-Button.<br />
Nun müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n. Benutzen<br />
Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> Logout.<br />
Nach Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n alle Einstellungen<br />
im <strong>Web</strong>-<strong>IO</strong> aktualisiert und die Startseite im Default User Modus<br />
118
W&T Modbus TCP<br />
neu aufgebaut. Das <strong>Web</strong>-<strong>IO</strong> kann nun vom Modbus Client angesprochen<br />
wer<strong>de</strong>n.<br />
Modbus TCP Kommunikation<br />
Modbus TCP ist ein Master/Slave Verfahren, bei <strong>de</strong>m ein Modbus-Master<br />
einen Request zum Slave (<strong>Web</strong>-<strong>IO</strong>) sen<strong>de</strong>t und <strong>de</strong>r<br />
Slave (<strong>Web</strong>-<strong>IO</strong>) mit einen Reply antwortet.<br />
Der Datenaustaustausch zwischen Modbus-Client und <strong>Web</strong>-<strong>IO</strong><br />
erfolgt über Modbus TCP Datenpakete.<br />
Das <strong>Web</strong>-<strong>IO</strong> verfügt über einen Speicher, aus <strong>de</strong>m <strong>de</strong>r Modbus-<br />
Master lesen bzw. in <strong>de</strong>n er schreiben kann. Dieser Speicher ist<br />
in Bereiche aufgeteilt, die bestimmte Eigenschaften <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong><br />
repräsentieren.<br />
Es gibt Bereiche für <strong>de</strong>n Status <strong>de</strong>r Inputs, Outputs und Counter.<br />
An<strong>de</strong>re Bereiche geben <strong>de</strong>n Systemstatus wie<strong>de</strong>r o<strong>de</strong>r betreffen<br />
die Alarme.<br />
Eine Beson<strong>de</strong>rheit <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein Speicherbereich, <strong>de</strong>r auf<br />
<strong>de</strong>r einen Seite per Modbus-Zugriff frei beschreib- und lesbar<br />
ist und auf <strong>de</strong>r an<strong>de</strong>ren Seite über das <strong>Web</strong>-Interface abgerufen<br />
wer<strong>de</strong>n kann. Bei entsprechen<strong>de</strong>r <strong>Web</strong>seiten-Programmierung<br />
kann ein Modbus-System so Prozessdaten im Browser visualisieren.<br />
Eine weitere Son<strong>de</strong>rfunktion <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist, dass durch Schreiben<br />
in einen bestimmten Speicherbereich ein Alarm ausgelöst<br />
wer<strong>de</strong>n kann.<br />
Eine Liste mit <strong>de</strong>r genauen Speicheraufteilung folgt im weiteren<br />
Verlauf dieses Kapitels.<br />
Die Modbus Datenpakete bestehen immer aus einem Hea<strong>de</strong>r,<br />
<strong>de</strong>m Function Co<strong>de</strong>, <strong>de</strong>r Start Address und weiteren Parametern<br />
bzw. Registern.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
119
W&T Modbus TCP<br />
Aufbau von Modbus TCP Datenpaketen<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte XX<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
XX<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
9. Byte XX<br />
Low-Byte<br />
10. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
11. Byte XX 12. Byte XX<br />
16 Bit / Word<br />
........................................<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
n. Byte XX n+1. Byte XX<br />
16 Bit / Word<br />
120<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Start Address<br />
Weitere<br />
Parameter<br />
o<strong>de</strong>r Register<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
16 Bit<br />
Adresse <strong>de</strong>r zu lesen<strong>de</strong>n/schreiben<strong>de</strong>n Register<br />
8 Bit, 16 Bit o<strong>de</strong>r 32 Bit<br />
Transaction I<strong>de</strong>ntifier<br />
Dient dazu, die Antwort <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> <strong>de</strong>r Anfrage <strong>de</strong>s Clients zuzuordnen.<br />
Der Client zählt dazu normalerweise die ID mit je<strong>de</strong>r<br />
neuen Datensendung um 1 hoch. Das <strong>Web</strong>-<strong>IO</strong> gibt immer <strong>de</strong>n<br />
empfangenen Wert 1:1 zurück.<br />
Protocol I<strong>de</strong>ntifier<br />
Für die Kommunikation mit <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> ohne Be<strong>de</strong>utung und<br />
immer 0x0000<br />
Length<br />
Anzahl <strong>de</strong>r Bytes, die nach Length gesen<strong>de</strong>t wer<strong>de</strong>n (gesamte<br />
gesen<strong>de</strong>te Bytes - 6).<br />
Unit i<strong>de</strong>ntifier<br />
Bei Modbus TCP immer 0x01<br />
Function Co<strong>de</strong><br />
Über <strong>de</strong>n Function Co<strong>de</strong> wird festgelegt, wie auf <strong>de</strong>n Modbus-<br />
Speicher <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> zugegriffen wer<strong>de</strong>n soll:<br />
. bitweise<br />
. registerweise (16-bitweise)<br />
und welchen Zweck <strong>de</strong>r Request hat:
W&T Modbus TCP<br />
. 0x01 Read Coils - lesen einzelner Bits<br />
. 0x02 Read Discret Inputs - lesen einzelner Bits<br />
. 0x03 Read Holding Registers- lesen mehrerer Register<br />
. 0x04 Read Input Register - lesen mehrerer Eingangs Reg.<br />
. 0x05 Write Single Coil - Schreiben eines Bits<br />
. 0x06 Write Single Register - Schreiben nur eines Registers<br />
. 0x07 Read Excaption State - Fehlerstatus lesen<br />
. 0x0F Write Multiple Coils - schreiben mehrerer Bits<br />
. 0x10 Write Multiple Register - schreiben mehrerer Register<br />
Start Address<br />
Über Start Address wird festgelegt, auf welchen Bereich <strong>de</strong>s<br />
Modbus-Speichers im <strong>Web</strong>-<strong>IO</strong> zugegriffen wer<strong>de</strong>n soll. Damit<br />
wird gleichzeitig festgelegt, auf welche Eigenschaft (Inputs,<br />
Outputs, Counter, Alarme ......) zugegriffen wird.<br />
Eine Liste mit <strong>de</strong>r genauen Speicheraufteilung folgt im weiteren<br />
Verlauf dieses Kapitels.<br />
1Die bei<strong>de</strong>n Parameter Function Co<strong>de</strong> und Start Address<br />
bestimmen, was <strong>de</strong>r gesen<strong>de</strong>te Request beim <strong>Web</strong>-<strong>IO</strong><br />
auslösen soll.<br />
Weitere Parameter und Register<br />
Je nach verwen<strong>de</strong>tem Function Co<strong>de</strong> können weitere Parameter<br />
bzw. Register folgen.<br />
Function Co<strong>de</strong> 0x01 Read Coils<br />
Der Function Co<strong>de</strong> 0x01 ist zum binären Lesen <strong>de</strong>s Status <strong>de</strong>r<br />
<strong>Web</strong>-<strong>IO</strong> Outputs vorgesehen.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
121
W&T Modbus TCP<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 06<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
01<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
9. Byte 10<br />
Low-Byte<br />
10. Byte 20<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
11. Byte XX 12. Byte XX<br />
16 Bit / Word<br />
122<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Start Address<br />
Quantity of<br />
Outputs<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
16 Bit<br />
Adresse <strong>de</strong>r zu lesen<strong>de</strong>n/schreiben<strong>de</strong>n Register<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bits die gelesen wer<strong>de</strong>n sollen<br />
Start Address<br />
gibt an, ab welcher Speicherstelle Bits (Outputs) gelesen wer<strong>de</strong>n<br />
sollen.<br />
Quantity of Outputs<br />
Hier wird die Anzahl <strong>de</strong>r zu lesen<strong>de</strong>n Bits (Outputs) übergeben.<br />
Über das Sen<strong>de</strong>n eines Datenpaketes mit FC 0x01 können ein<br />
o<strong>de</strong>r mehrere boolsche Werte (Output-Zustän<strong>de</strong> also 0/1 bzw.<br />
ON/OFF) abgefragt wer<strong>de</strong>n.<br />
Die Antwort <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> sieht so aus:<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 04<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
9. Byte<br />
8 Bit / Byte<br />
XX<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
10. Byte<br />
8 Bit / Byte<br />
XX<br />
...............<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
n. Byte XX<br />
8 Bit / Byte<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Byte Count<br />
Output State<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
8 Bit<br />
Anzahl <strong>de</strong>r zurückgeegebenen Bytes<br />
(pro angefangene 8 Bit je ein Byte)<br />
8 Bit<br />
Die angefragten Bits wer<strong>de</strong>n beginnend<br />
beim 10.Byte Bit 0 übergeben
W&T Modbus TCP<br />
Bytes Count<br />
enthält die Anzahl <strong>de</strong>r übertragenen Bytes, welche die angefragten<br />
Bits beinhalten. Pro angefangene 8 Bit wird ein Byte<br />
gesen<strong>de</strong>t. Das be<strong>de</strong>utet: ab 9 Bit wer<strong>de</strong>n 2 Bytes gesen<strong>de</strong>t.<br />
Output State<br />
Anzahl an Bytes, wie in Byte Count übergeben. Das erste State-<br />
Byte (10. Byte) enthält beginnend bei Bit 0 die ersten 8 angefragten<br />
Bits (Outputs). Wur<strong>de</strong>n weniger als 8 Bits angefragt,<br />
wer<strong>de</strong>n die ungenutzten Bits mit 0 übergeben. Bei mehr als 8<br />
Bit geht es mit <strong>de</strong>m 11. Byte weiter.<br />
Beispiel: Lesen <strong>de</strong>s Status <strong>de</strong>r Outputs 0 und 1<br />
Output 0 ist OFF, Output 1 ist ON<br />
Start Address wird auf 0x1020 gesetzt, Quantity of Outputs auf<br />
0x02. (Die Outputs sind ab Adresse 0x1020 abrufbar.)<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit Byte Count = 1, ein Output State =<br />
0x02.<br />
Function Co<strong>de</strong> 0x02 Read Discrete Inputs<br />
Der Function Co<strong>de</strong> 0x02 ist zum binären Lesen <strong>de</strong>s Status <strong>de</strong>r<br />
<strong>Web</strong>-<strong>IO</strong> Inputs vorgesehen.<br />
Der Paketaufbau von Anfrage und Antwort mit Function Co<strong>de</strong><br />
0x02 ist i<strong>de</strong>ntisch mit <strong>de</strong>m von Function Co<strong>de</strong> 0x01.<br />
Beispiel: Lesen <strong>de</strong>s Status <strong>de</strong>r Inputs 0 und 1<br />
Input 0 ist OFF, Input1 ist ON<br />
Start Address wird auf 1000 gesetzt, Quantity of Inputs auf 2.<br />
(Die Inputs sind ab Adresse 0x1000 abrufbar.)<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit Byte Count = 1, Input State = 0x02.<br />
Function Co<strong>de</strong> 0x03 Read Holding Registers<br />
Der Function Co<strong>de</strong> 0x03 ist zum Lesen von mehreren Registern<br />
(16-Bit Werten) vorgesehen. Über FC 0x03 können beim <strong>Web</strong>-<strong>IO</strong><br />
je nach verwen<strong>de</strong>ter Start Address die Werte von Inputs, Outputs,<br />
Counter, usw. abgefragt wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
123
W&T Modbus TCP<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 06<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
03<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
9. Byte 20<br />
Low-Byte<br />
10. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
11. Byte XX 12. Byte XX<br />
16 Bit / Word<br />
124<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Start Address<br />
Number of<br />
Registers<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
16 Bit<br />
Adresse <strong>de</strong>r zu lesen<strong>de</strong>n/schreiben<strong>de</strong>n Register<br />
16 Bit<br />
Anzahl <strong>de</strong>r Register die gelesen wer<strong>de</strong>n sollen<br />
Start Address<br />
gibt an, ab welcher Speicherstelle Register gelesen wer<strong>de</strong>n sollen.<br />
Number of Registers<br />
Hier wird die Anzahl <strong>de</strong>r zu lesen<strong>de</strong>n Register übergeben.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit folgen<strong>de</strong>m Paket:<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 04<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
03<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
9. Byte<br />
8 Bit / Byte<br />
XX<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
10. Byte XX 11. Byte XX<br />
16 Bit / Word<br />
...............<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
n. Byte XX n+1. Byte XX<br />
16 Bit / Word<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Byte Count<br />
Register Value<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
8 Bit<br />
Anzahl <strong>de</strong>r zurückgeegebenen<br />
Register-Bytes<br />
16 Bit<br />
Die angefragten Register wer<strong>de</strong>n beginnend<br />
beim 10.Byte übergeben<br />
Bytes Count<br />
enthält die Anzahl <strong>de</strong>r als Register übertragenen Bytes (2 Bytes<br />
pro 16-Bit Register).
W&T Modbus TCP<br />
Register Value<br />
Ein o<strong>de</strong>r mehrere 16-Bit Registerwerte. Das erste 16-Bit Register<br />
beginnt mit <strong>de</strong>m High-Byte an <strong>de</strong>r Position <strong>de</strong>s 10. Bytes.<br />
Je nach Start Address (ab 0x5000) wer<strong>de</strong>n für ein angefragtes<br />
32-Bit Register zwei 16-Bit Werte - also 4 Bytes - übergeben.<br />
Auch in diesem Fall beginnt <strong>de</strong>r Wert mit <strong>de</strong>m höchsten Byte an<br />
Position <strong>de</strong>s 10. Byte und das erste Low-Byte liegt auf Position<br />
<strong>de</strong>s 13. Byte <strong>de</strong>s Datenpaketes.<br />
Beispiel:<br />
Lesen <strong>de</strong>s Status <strong>de</strong>r Outputs eines <strong>Web</strong>-<strong>IO</strong> 2x<strong>Digital</strong><br />
Output 0 ist OFF, Output1 ist ON<br />
Start Address wird auf 0x2002 gesetzt,<br />
Number of Registers auf 0x01<br />
(Die Outputs sind als Register ab Adresse 0x2002 abrufbar.)<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit<br />
Byte Count = 0x02,<br />
Register Value = 0x0002.<br />
Function Co<strong>de</strong> 0x04 Read Input Registers<br />
Der Function Co<strong>de</strong> 0x04 ist speziell zum Lesen <strong>de</strong>s Status <strong>de</strong>r<br />
<strong>Web</strong>-<strong>IO</strong> Inputs als 16-Bit Register vorgesehen.<br />
Der Paketaufbau von Anfrage und Antwort mit Function Co<strong>de</strong><br />
0x04 ist i<strong>de</strong>ntisch mit <strong>de</strong>m von Function Co<strong>de</strong> 0x03.<br />
Beispiel:<br />
Lesen <strong>de</strong>s Status <strong>de</strong>r Inputs eines <strong>Web</strong>-<strong>IO</strong> 2x<strong>Digital</strong><br />
Input 0 ist OFF, Input1 ist ON<br />
Start Address wird auf 0x2000 gesetzt,<br />
Number of Registers auf 0x01<br />
(Die Inputs sind als Register ab Adresse 0x2002 abrufbar.)<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit<br />
Byte Count = 0x02<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
125
W&T Modbus TCP<br />
Register Value = 0x0002<br />
Function Co<strong>de</strong> 0x05 Write Single Coil<br />
Der Function Co<strong>de</strong> 0x05 ist zum Setzen eines einzelnen Outputs<br />
vorgesehen.<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 06<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
05<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
9. Byte 10<br />
Low-Byte<br />
10. Byte 20<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
11. Byte XX 12. Byte XX<br />
16 Bit / Word<br />
126<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Output Address<br />
Output Value<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
16 Bit<br />
Adresse <strong>de</strong>s zu schreiben<strong>de</strong>n Registers<br />
16 Bit<br />
Wert <strong>de</strong>r in das Register geschrieben wer<strong>de</strong>n soll<br />
Output Address<br />
Über Output Address wird indirekt festgelegt, welcher Output<br />
geschaltet wer<strong>de</strong>n soll. Beginnend bei 0x1020 hat je<strong>de</strong>r Output<br />
eine eigene Adresse.<br />
Output Value<br />
Hier wird festgelegt, ob ein Output auf ON o<strong>de</strong>r OFF geschaltet<br />
wer<strong>de</strong>n soll:<br />
ON = 0xFF00<br />
OFF = 0x0000<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit einem exakt gleich aufgebauten<br />
Datenpaket.<br />
Beispiel:<br />
Output1 eines <strong>Web</strong>-<strong>IO</strong> soll auf ON geschaltet wer<strong>de</strong>n<br />
Output Address wird auf 0x1021 gesetzt,<br />
Output Value auf 0xFF00<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit
W&T Modbus TCP<br />
Output Address = 1021<br />
Output Value = 0xFF00<br />
Function Co<strong>de</strong> 0x06 Write Single Register<br />
Der Function Co<strong>de</strong> 0x06 arbeitet i<strong>de</strong>ntisch zum Function Co<strong>de</strong><br />
0x05 und ist zum Setzen eines beliebigen Registers vorgesehen.<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 06<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
05<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
9. Byte 10<br />
Low-Byte<br />
10. Byte 20<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
11. Byte XX 12. Byte XX<br />
16 Bit / Word<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Register Address<br />
Register Value<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
16 Bit<br />
Adresse <strong>de</strong>s zu schreiben<strong>de</strong>n Registers<br />
16 Bit<br />
Wert <strong>de</strong>r in das Register geschrieben wer<strong>de</strong>n soll<br />
Register Address<br />
Über Register Address wird festgelegt, in welche Speicherstelle<br />
geschrieben wer<strong>de</strong>n soll.<br />
Register Value<br />
ist ein 16-Bit Registerwert, <strong>de</strong>r in <strong>de</strong>n Modbus-Speicher <strong>de</strong>s <strong>Web</strong>-<br />
<strong>IO</strong> geschrieben wird.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit einem exakt gleich aufgebauten<br />
Datenpaket.<br />
Function Co<strong>de</strong> 0x0F Write Multiple Coils<br />
Der Function Co<strong>de</strong> 0x0F ist für das bitweise Setzen von Outputs<br />
vorgesehen.<br />
127
W&T Modbus TCP<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 06<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
05<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
9. Byte 10<br />
Low-Byte<br />
10. Byte 20<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
11. Byte XX<br />
Low-Byte<br />
12. Byte XX<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
13. Byte<br />
8 Bit / Byte<br />
XX<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
14. Byte<br />
8 Bit / Byte<br />
XX<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
n. Byte XX<br />
8 Bit / Byte<br />
128<br />
...............<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Start Address<br />
Quantity of<br />
Outputs<br />
Byte Count<br />
Output State<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
16 Bit<br />
Adresse <strong>de</strong>s ersten zu setzen<strong>de</strong>n Outputs<br />
16 Bit<br />
Anzahl <strong>de</strong>r zu setzen<strong>de</strong>n Outputs<br />
8 Bit<br />
Anzahl <strong>de</strong>r Bytes nach ByteCount<br />
(pro angefangene 8 Bit je ein Byte)<br />
8 Bit<br />
Die Output-Bits wer<strong>de</strong>n beginnend<br />
beim 14.Byte Bit 0 übergeben<br />
Start Address<br />
gibt an, ab welcher Speicherstelle Output-Bits geschrieben wer<strong>de</strong>n<br />
sollen.<br />
Quantity of Outputs<br />
Hier wird die Anzahl <strong>de</strong>r zu schreiben<strong>de</strong>n Bits übergeben.<br />
Bytes Count<br />
enthält die Anzahl <strong>de</strong>r übertragenen Bytes welche die zu setzen<strong>de</strong>n<br />
Output-Bits beinhalten. Pro angefangene 8 Bit wird ein<br />
Byte gesen<strong>de</strong>t. Das be<strong>de</strong>utet ab 9 Bit wer<strong>de</strong>n 2 Bytes gesen<strong>de</strong>t.<br />
Output State<br />
Anzahl an Bytes, wie in Byte Count übergeben. Das erste Byte<br />
(14. Byte) enthält beginnend bei Bit 0 die ersten 8 zu setzen<strong>de</strong>n<br />
Output-Bits (Outputs). Wur<strong>de</strong>n weniger als 8 Bits (Outputs) angegeben,<br />
wer<strong>de</strong>n die ungenutzten Bits mit 0 übergeben. Bei<br />
mehr als 8 Bits geht es mit <strong>de</strong>m 15. Byte weiter.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit einem Datenpaket mit folgen<strong>de</strong>m<br />
Aufbau:
W&T Modbus TCP<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 06<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
05<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
9. Byte 10<br />
Low-Byte<br />
10. Byte 2X<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
11. Byte XX 12. Byte XX<br />
16 Bit / Word<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Start Address<br />
Quantity of<br />
Outputs<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
16 Bit<br />
Adresse <strong>de</strong>s ersten zu setzen<strong>de</strong>n Outputs<br />
16 Bit<br />
Anzahl <strong>de</strong>r zu setzen<strong>de</strong>n Outputs<br />
Start Address<br />
gibt an, ab welcher Speicherstelle Output-Bits geschrieben wur<strong>de</strong>n.<br />
Quantity of Outputs<br />
Hier wird die Anzahl <strong>de</strong>r geschriebenen Output-Bits übergeben.<br />
Beispiel:<br />
Output1 eines <strong>Web</strong>-<strong>IO</strong> soll auf ON geschaltet wer<strong>de</strong>n<br />
Output 0 soll auf OFF geschaltet wer<strong>de</strong>n, Output 1 auf ON<br />
Output Address wird auf 1020 gesetzt,<br />
Quantity of Outputs auf 0x02<br />
Byte Count auf 0x01<br />
Es wird ein Byte Output Value mit Inhalt 0x02 übergeben.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit<br />
Output Address = 1020<br />
Quantity of Outputs = 0x0002<br />
Function Co<strong>de</strong> 0x10 Write Multiple Registers<br />
Der Function Co<strong>de</strong> 0x0F ist für das Schreiben mehrerer 16-Bit<br />
Registerwerte vorgesehen.<br />
129
W&T Modbus TCP<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte XX<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
10<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
9. Byte XX<br />
Low-Byte<br />
10. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
11. Byte XX<br />
Low-Byte<br />
12. Byte XX<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
13. Byte<br />
8 Bit / Byte<br />
XX<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
14. Byte XX<br />
Low-Byte<br />
15. Byte XX<br />
16 Bit / Word<br />
...................................<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
n. Byte XX n+1. Byte XX<br />
16 Bit / Word<br />
130<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Start Address<br />
Quantity of<br />
Registers<br />
Byte Count<br />
Register Value<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
16 Bit<br />
Adresse <strong>de</strong>s ersten zu setzen<strong>de</strong>n Outputs<br />
16 Bit<br />
Anzahl <strong>de</strong>r zu schreiben<strong>de</strong>n Register<br />
8 Bit<br />
Anzahl <strong>de</strong>r Bytes nach ByteCount<br />
16 Bit / 32 Bit<br />
Die Register wer<strong>de</strong>n beginnend beim<br />
14.Byte mit <strong>de</strong>m ersten Highbyte übergeben<br />
Start Address<br />
gibt an, ab welcher Speicherstelle Register geschrieben wer<strong>de</strong>n<br />
sollen.<br />
Quantity of Registers<br />
Hier wird die Anzahl <strong>de</strong>r zu schreiben<strong>de</strong>n 16-Bit Register übergeben.<br />
Beim Schreiben in <strong>de</strong>n 32-Bit Bereich <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> müssen<br />
je 32-Bit Wert zwei 16-Bit Register gerechnet wer<strong>de</strong>n.<br />
Bytes Count<br />
enthält die Anzahl <strong>de</strong>r zu übertragenen Bytes. Für je<strong>de</strong>s zu sen<strong>de</strong>n<strong>de</strong><br />
16-Bit Register wer<strong>de</strong>n 2 Bytes gerechnet.<br />
Register Value<br />
Hier wer<strong>de</strong>n die 16-Bit Register übergeben. Das erste High-Byte<br />
wird als 14. Byte in das Datenpaket gesetzt. Das erste Low-Byte<br />
als 15. Byte usw.<br />
Beim Schreiben in <strong>de</strong>n 32-Bit Bereich <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> (ab Adresse<br />
0x5000) müssen je 32-Bit Wert zwei 16-Bit Register beginnend<br />
mit <strong>de</strong>m höchsten Byte <strong>de</strong>s 32-Bit Wertes geschrieben wer<strong>de</strong>n.
W&T Modbus TCP<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit einem Datenpaket mit folgen<strong>de</strong>m<br />
Aufbau:<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 06<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
10<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
9. Byte XX<br />
Low-Byte<br />
10. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
11. Byte XX 12. Byte XX<br />
16 Bit / Word<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
Start Address<br />
Quantity of<br />
Registers<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
16 Bit<br />
Adresse <strong>de</strong>s ersten zu setzen<strong>de</strong>n Registers<br />
16 Bit<br />
Anzahl <strong>de</strong>r geschriebenen Register<br />
Start Address<br />
gibt an, ab welcher Speicherstelle die 16-Bit Register geschrieben<br />
wur<strong>de</strong>n.<br />
Quantity of Outputs<br />
Hier wird die Anzahl <strong>de</strong>r geschriebenen 16-Bit Register übergeben.<br />
Function Co<strong>de</strong> 0x07 Read Exception State<br />
Der Function Co<strong>de</strong> 0x07 ist für das Auslesen <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> Fehlerstatus<br />
vorgesehen.<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 02<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
07<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
Function Co<strong>de</strong><br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
Vom Master gesen<strong>de</strong>te Pakete mit Function Co<strong>de</strong> 0x07 bestehen<br />
nur aus Modbus-Hea<strong>de</strong>r und Function Co<strong>de</strong>. Es wer<strong>de</strong>n keine<br />
weiteren Parameter mitgesen<strong>de</strong>t.<br />
131
W&T Modbus TCP<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit einem Datenpaket mit folgen<strong>de</strong>m<br />
Aufbau:<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
1. Byte XX<br />
Low-Byte<br />
2. Byte XX<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
3. Byte 00<br />
Low-Byte<br />
4. Byte 00<br />
16 Bit / Word<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
5. Byte 00<br />
Low-Byte<br />
6. Byte 03<br />
16 Bit / Word<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
7. Byte<br />
8 Bit / Byte<br />
01<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
8. Byte<br />
8 Bit / Byte<br />
07<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
9. Byte<br />
8 Bit / Byte<br />
0X<br />
132<br />
Transaction ID<br />
Protocol ID<br />
Length<br />
Unit ID<br />
16 Bit<br />
Wird vom Client je Sendung um 1 hochgezählt<br />
16 Bit<br />
Immer = 0x0000<br />
16 Bit<br />
Anzahl <strong>de</strong>r Bytes nach <strong>de</strong>m Hea<strong>de</strong>r<br />
8 Bit<br />
Immer = 0x01<br />
8 Bit<br />
Function Co<strong>de</strong> Bestimmt <strong>de</strong>n Zweck <strong>de</strong>r Datensendung<br />
8 Bit<br />
Exception Co<strong>de</strong> <strong>Web</strong>-<strong>IO</strong> Fehlerstatus<br />
Exception Co<strong>de</strong><br />
beim <strong>Web</strong>-<strong>IO</strong> spiegelt <strong>de</strong>r Exception Co<strong>de</strong> einzig <strong>de</strong>n Zustand<br />
<strong>de</strong>r LEDs System Error und On Error wie<strong>de</strong>r.<br />
Bit 0 = 1 entspricht System Error<br />
Bit 2 = 1 entspricht ON Error<br />
Alle an<strong>de</strong>ren Bits haben beim <strong>Web</strong>-<strong>IO</strong> keine Funktion und wer<strong>de</strong>n<br />
mit 0 übergeben.<br />
Fehlerhafte Anfragen vom Master<br />
Sollte <strong>de</strong>r Modbus TCP Master <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> Anfragen sen<strong>de</strong>n,<br />
die in Form und Anzahl <strong>de</strong>r Parameter o<strong>de</strong>r hinsichtlich <strong>de</strong>r gewählten<br />
Registeradresse für das <strong>Web</strong>-<strong>IO</strong> nicht zu verarbeiten<br />
sind, sen<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> ein Modbus Paket zurück, das vom<br />
Aufbau her einer Antwort auf Function Co<strong>de</strong> 0x07 entspricht.<br />
Das <strong>Web</strong>-<strong>IO</strong> addiert in solchen Fällen auf <strong>de</strong>n empfangenen<br />
Function Co<strong>de</strong> 0x80 auf und setzt diesen Co<strong>de</strong> in das eigene<br />
Paket ein.<br />
Der Exception Co<strong>de</strong> enthält weitere Details zum Fehler:<br />
0x01 Function Co<strong>de</strong> vom <strong>Web</strong>-<strong>IO</strong> nicht unterstützt<br />
0x02 Schreibversuch auf einen Read Only Bereich<br />
0x03 Schreibversuch mit falschen Daten<br />
0x04 Schreiben auf erlaubten Bereich fehlgeschlagen
W&T Modbus TCP<br />
Modbus-Adressbereiche für <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong><br />
Alle Adress-Angaben sind hexa<strong>de</strong>zimal zu verstehen.<br />
Beim <strong>Web</strong>-<strong>IO</strong> gibt es verschie<strong>de</strong>ne Modbus-Speicherbereiche:<br />
. Bit-Bereich (ab Adresse 0x1000),<br />
. 16Bit-Bereich (ab Adresse 0x2000)<br />
. 32-Bit-Bereich bzw. 2x16-Bit-Bereich (ab Adresse 0x5000)<br />
Die Adressierung erfolgt im Bit-Bereich bitweise, d.h. 1 Bit benötigt<br />
eine Adresse. Im 16-Bit- und im 32-Bit-Bereich fin<strong>de</strong>t die<br />
Addressierung wortweise (2 Byte) statt.<br />
Die Inputs<br />
fin<strong>de</strong>n sich im Bit-Bereich ab Adresse 0x1000<br />
(Beispiel 57637: 0x1000 und 0x1001),<br />
im 16-Bit-Bereich ab 0x2000 im 16-Bit-Bereich ab 0x2000<br />
(Beispiel 57637: 0x2000),<br />
im 32-Bit-Bereich ab 0x5000.<br />
Die Outputs<br />
fin<strong>de</strong>n sich im Bit-Bereich ab Adresse 0x1020<br />
(Beispiel 57637: 0x1020 und 0x1021)<br />
im 16-Bit-Bereich ab 0x2002.<br />
im 32-Bit-Bereich ab 0x5002.<br />
Die Alarme<br />
fin<strong>de</strong>n sich im Bit-Bereich ab Adresse 0x1040<br />
(Beispiel 57637: 0x1040 und 0x1041),<br />
im 16-Bit-Bereich bei 0x2004.<br />
Alarm-Trigger liegen im Bit-Bereich ab Adresse 0x1800.<br />
Die Counter<br />
fin<strong>de</strong>n sich im 32-Bit-Bereich ab Adresse 0x5004<br />
(Beispiel 57637: 0x5004/0x5005 und 0x5006/0x5007).<br />
Counterwerte schreiben: Counter können auf beliebige Werte<br />
gesetzt wer<strong>de</strong>n.<br />
Der Exception-Status<br />
fin<strong>de</strong>t sich im Bit-Bereich ab Adresse 0x1050,<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
133
W&T Modbus TCP<br />
im 16-Bit-Bereich bei 0x200C (Low Byte).<br />
Alternativ wird <strong>de</strong>r Exception-Status mit <strong>de</strong>m Function Co<strong>de</strong><br />
0x07 ausgelesen.<br />
Der Konfigurations-Status<br />
fin<strong>de</strong>t sich im Bit-Bereich bei Adresse 0x1058,<br />
im 16-Bit-Bereich bei 0x200C (High Byte).<br />
Der Diagnose-Status<br />
(Anzahl Fehler) liegt im 16Bit-Bereich bei 0x2005,<br />
im 32-Bit-Bereich bei 0x5048.<br />
Die Diagnose-Status-Bits<br />
liegen im 16Bit-Bereich ab 0x2006,<br />
im 32-Bit-Bereich ab 0x5048.<br />
Beim <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> sind 84 Fehlermeldungen möglich.<br />
Eine Liste <strong>de</strong>r möglichen Fehlermeldungen fin<strong>de</strong>n Sie im Anhang.<br />
I<strong>de</strong>ntifizierung <strong>de</strong>s Gerätes<br />
erfolgt über Seriennummer (ab 0x6000) und Mac-Adresse (ab<br />
0x6004).<br />
Virtuelle Register für Browser-Interaktion<br />
Der Speicherbereich, <strong>de</strong>n das Gerät für die Übergabe an <strong>Web</strong>-<br />
Anwendungen zur Verfügung stellt, liegt ab Adresse 0x7000.<br />
Lesen von nicht unterstützen Registern<br />
Beim Lesen von Daten (Speicherbereichen), die nicht für das Gerät<br />
<strong>de</strong>finiert wur<strong>de</strong>n, gibt das Gerät „0“ zurück.<br />
Modbus - virtuelle Register<br />
Das <strong>Web</strong>-<strong>IO</strong> stellt 64 virtuelle 16-Bit Register zur Verfügung, in<br />
die vom Modbus Master beliebige Werte geschrieben wer<strong>de</strong>n<br />
können (High Byte first). Das Schreiben in diese Register löst<br />
im <strong>Web</strong>-<strong>IO</strong> keine speziellen Aktionen aus.<br />
Der virtuelle Speicher dient vielmehr zur Übergabe von Modbus-<br />
Prozessdaten an <strong>Web</strong>-Anwendungen.<br />
134
W&T Modbus TCP<br />
Über einen HTTP Request<br />
modbusreg?PW=&<br />
können die 64 Register (128Byte) von <strong>Web</strong>-Anwendungen abgerufen<br />
wer<strong>de</strong>n.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit<br />
modbus;;;;;;......<br />
Das heißt, alle 64 Register (128Byte) wer<strong>de</strong>n Byte für Byte mit<br />
Semikolon getrennt hinter <strong>de</strong>m Wort „modbus“ ausgegeben.<br />
Über JavaScript und Programmiertechniken wie AJAX kann so<br />
eine Prozessvisualisierung im Browser realisiert wer<strong>de</strong>n.<br />
Im einfachsten Fall können die virtuellen Register auf <strong>de</strong>r<br />
werksseitig vorhan<strong>de</strong>nen User-Seite <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> tabellarisch angezeigt<br />
wer<strong>de</strong>n (nur wenn die Betriebsart Modbus im <strong>Web</strong>-<strong>IO</strong> aktiviert<br />
wur<strong>de</strong>).<br />
Modbus-Alarm-Auslösung<br />
Über ein Alarm-Trigger-Bit im Bit-Speicherbereich können einzelne<br />
Alarme ausgelöst wer<strong>de</strong>n. Die Bits liegen ab <strong>de</strong>r Adresse<br />
0x1800.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
135
W&T Modbus TCP<br />
Bei <strong>de</strong>n Mo<strong>de</strong>llen 57630, 57631 und 57634 stehen 12 Alarme<br />
zur Verfügung. Bei Mo<strong>de</strong>ll 57637 sind es 4 Alarme.<br />
In <strong>de</strong>r Konfigurationsoberfläche im Browser wird z.B. unter<br />
Config >> Device >> Alarm >> Alarm1 gewählt, auf welchem<br />
Weg <strong>de</strong>r Alarm versen<strong>de</strong>t wer<strong>de</strong>n soll. Hier z.B. per Email.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Bei einem Alarm, <strong>de</strong>r über Modbus ausgelöst wird, sollten keine<br />
an<strong>de</strong>ren Trigger (Input Trigger, Output Trigger, System Trigger)<br />
aktiviert sein.<br />
1Die restliche Konfiguration <strong>de</strong>r Alarme erfolgt ganz normal,<br />
wie im nachfolgen<strong>de</strong>n Kapitel „Email und mehr -<br />
Alarm bei Zustandsän<strong>de</strong>rung“ beschrieben.<br />
Mit speziellen Tags kann beim Alarmieren (Mail, FTP, SNMP)<br />
auch ein Abbild <strong>de</strong>s virtuellen Speichers in die Alarmmeldung<br />
mit eingebettet wer<strong>de</strong>n. Das Tag steht sozusagen als Platzhalter<br />
für <strong>de</strong>n Inhalt eines ausgewählten Registers<br />
Die Tags erlauben die Darstellung in 8-, 16-, o<strong>de</strong>r 32-bitweise.<br />
Dabei kann vorgegeben wer<strong>de</strong>n, ob <strong>de</strong>r adressierte Wert <strong>de</strong>zimal<br />
o<strong>de</strong>r hexa<strong>de</strong>zimal ausgegeben wird. Darüberhinaus wird <strong>de</strong>r<br />
Speicheroffset ab Adresse 0x7000 angegeben.<br />
136
W&T Modbus TCP<br />
<br />
Registertyp<br />
8-Bit = b<br />
16-Bit = w<br />
32-Bit = l<br />
Werteformat<br />
<strong>de</strong>zimal mit Vorzeichen = s<br />
<strong>de</strong>zimal ohne Vorzeichen = u<br />
hexa<strong>de</strong>zimal = x<br />
Adressoffset<br />
zweistellig<br />
hexa<strong>de</strong>zimal<br />
Beispiel: An Speicherstelle 7004 wur<strong>de</strong> per Modbus <strong>de</strong>r 16-Bit<br />
Wert 0x4711 geschrieben.<br />
Der Alarmtext wur<strong>de</strong> im <strong>Web</strong>-<strong>IO</strong> folgen<strong>de</strong>rmaßen konfiguriert:<br />
„ - Register 4 hat folgen<strong>de</strong>n Wert: “<br />
Die empfangene Alarmmeldung wür<strong>de</strong> so aussehen:<br />
„2011-02-22 10:34:21 - Register 4 hat folgen<strong>de</strong>n Wert: 4711“<br />
1Alle Details und Möglichkeiten zu <strong>de</strong>n <strong>Web</strong>-<strong>IO</strong> Alarmmeldungen<br />
lesen Sie bitte im nachfolgen<strong>de</strong>n Kapitel<br />
„Email und mehr - Alarm bei Zustandsän<strong>de</strong>rung“.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
137
W&T Modbus TCP<br />
Modbus Speicheraufteilung<br />
Bit-Bereich:<br />
Adresse Beschreibung Speicher Länge Bits lesen Reg. lesen Bits schreiben Reg. schreiben<br />
(hexa<strong>de</strong>z.)<br />
Mo<strong>de</strong>ll (Byte) mit FC<br />
mit FC<br />
mit FC<br />
mit FC<br />
1000 Input 0 Bit 1 0x01, 0x02 - - -<br />
1001 Input 1 Bit 1 0x01, 0x02 - - -<br />
1002 Input 2 Bit 1 0x01, 0x02 - - -<br />
1003 Input 3 Bit 1 0x01, 0x02 - - -<br />
1004 Input 4 Bit 1 0x01, 0x02 - - -<br />
1005 Input 5 Bit 1 0x01, 0x02 - - -<br />
1006 Input 6 Bit 1 0x01, 0x02 - - -<br />
1007 Input 7 Bit 1 0x01, 0x02 - - -<br />
1008 Input 8 Bit 1 0x01, 0x02 - - -<br />
1009 Input 9 Bit 1 0x01, 0x02 - - -<br />
100A Input1 0 Bit 1 0x01, 0x02 - - -<br />
100B Input 11 Bit 1 0x01, 0x02 - - -<br />
1020 Output 0 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1021 Output 1 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1022 Output 2 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1023 Output 3 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1024 Output 4 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1025 Output 5 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1026 Output 6 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1027 Output 7 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1028 Output 8 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1029 Output 9 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
102A Output 10 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
102B Output 11 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1040 Alarmstatus 1 Bit 1 0x01, 0x02 - - -<br />
1041 Alarmstatus 2 Bit 1 0x01, 0x02 - - -<br />
1042 Alarmstatus 3 Bit 1 0x01, 0x02 - - -<br />
1043 Alarmstatus 4 Bit 1 0x01, 0x02 - - -<br />
1044 Alarmstatus 5 Bit 1 0x01, 0x02 - - -<br />
1045 Alarmstatus 6 Bit 1 0x01, 0x02 - - -<br />
1046 Alarmstatus 7 Bit 1 0x01, 0x02 - - -<br />
1047 Alarmstatus 8 Bit 1 0x01, 0x02 - - -<br />
1048 Alarmstatus 9 Bit 1 0x01, 0x02 - - -<br />
1049 Alarmstatus 10 Bit 1 0x01, 0x02 - - -<br />
104A Alarmstatus 11 Bit 1 0x01, 0x02 - - -<br />
104B Alarmstatus 12 Bit 1 0x01, 0x02 - - -<br />
1060 Exception-Status Bit 1 0x01, 0x02 - - -<br />
1068 Konfig.-Status Bit 1 0x01, 0x02 - - -<br />
1800 Alarm-Trigger 1 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1801 Alarm-Trigger 2 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1802 Alarm-Trigger 3 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1803 Alarm-Trigger 4 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1804 Alarm-Trigger 5 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1805 Alarm-Trigger 6 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1806 Alarm-Trigger 7 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1807 Alarm-Trigger 8 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1808 Alarm-Trigger 9 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1809 Alarm-Trigger 10 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
180A Alarm-Trigger 11 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
180B Alarm-Trigger 12 Bit 1 0x01, 0x02 - 0x05 0x0F<br />
1 Bitte beachten Sie, dass je nach verwen<strong>de</strong>tem <strong>Web</strong>-<strong>IO</strong><br />
nicht die gesamte Breite <strong>de</strong>r Inputs, Outputs, Counter<br />
o<strong>de</strong>r Alarme zur Verfügung steht.<br />
138
W&T Modbus TCP<br />
16- und 32-Bit-Bereich:<br />
Adresse Beschreibung Speicher Länge Bits lesen Reg. lesen Bits schreiben Reg. schreiben<br />
(hexa<strong>de</strong>z.)<br />
Mo<strong>de</strong>ll (Byte) mit FC mit FC mit FC<br />
mit FC<br />
2000 Inputs 0 - 11 16-Bit 2 - 0x03, 0x04 - -<br />
2002 Outputs 0 - 11 16-Bit 2 - 0x03, 0x04 - -<br />
2004 Alarmstatus 1 - 12 16-Bit 2 - 0x03, 0x04 - -<br />
2006 Diagnose Fehleranzahl 16-Bit 2 - 0x03, 0x04 - 0x06, 0x10<br />
2007 Diagnosestatus 0 - 15 16-Bit 2 - 0x03, 0x04 - -<br />
2008 Diagnosestatus 16 - 31 16-Bit 2 - 0x03, 0x04 - -<br />
2009 Diagnosestatus 32 - 47 16-Bit 2 - 0x03, 0x04 - -<br />
200A Diagnosestatus 48 - 63 16-Bit 2 - 0x03, 0x04 - -<br />
200B Diagnosestatus 64 - 79 16-Bit 2 - 0x03, 0x04 - -<br />
200C Diagnosestatus 80 - 95 16-Bit 2 - 0x03, 0x04 - -<br />
200D Exception/Konf.-Status 16-Bit 2 - 0x03, 0x04 - -<br />
5000 Inputs 0 - 11 32-Bit 4 - 0x03, 0x04 - -<br />
5002 Outputs 0 - 11 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
5004 Alarmstatus 1 - 12 32-Bit 4 - 0x03, 0x04 -<br />
5006 Counter 0 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
5008 Counter 1 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
500A Counter 2 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
500C Counter 3 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
500E Counter 4 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
5010 Counter 5 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
5012 Counter 6 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
5014 Counter 7 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
5016 Counter 8 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
5018 Counter 9 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
501A Counter 10 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
501C Counter 11 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
504A Diagnose Fehleranzahl 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
504C Diagnosestatus 0 - 31 32-Bit 4 - 0x03, 0x04 - -<br />
504E Diagnosestatus 32 - 63 32-Bit 4 - 0x03, 0x04 - -<br />
5050 Diagnosestatus 64 - 95 32-Bit 4 - 0x03, 0x04 - -<br />
7000 virtuelles Register 0 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7002 virtuelles Register 1 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7004 virtuelles Register 2 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7006 virtuelles Register 3 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7008 virtuelles Register 4 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
700A virtuelles Register 5 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
700C virtuelles Register 6 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
700E virtuelles Register 7 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7010 virtuelles Register 8 32-Bit 4 - 0x03, 0x04 0x06, 0x10<br />
..... virtuelles Register 9 - 23 32-Bit 4<br />
702E virtuelles Register 23 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7030 virtuelles Register 24 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7032 virtuelles Register 25 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7034 virtuelles Register 26 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7036 virtuelles Register 27 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
7038 virtuelles Register 28 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
703A virtuelles Register 29 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
703C virtuelles Register 30 32-Bit 4 - 0x03, 0x04 - 0x06, 0x10<br />
703E virtuelles Register 31 32-Bit 4 - 0x03, 0x04 0x06, 0x10<br />
1 Bitte beachten Sie, dass je nach verwen<strong>de</strong>tem <strong>Web</strong>-<strong>IO</strong><br />
nicht die gesamte Breite <strong>de</strong>r Inputs, Outputs, Counter<br />
o<strong>de</strong>r Alarme zur Verfügung steht.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
139
W&T Alarme<br />
5.5 Email und mehr - Alarm bei Zustandsän<strong>de</strong>rung<br />
Im <strong>Web</strong>-<strong>IO</strong> können je nach Mo<strong>de</strong>ll bis zu 12 verschie<strong>de</strong>ne Alarme<br />
festgelegt wer<strong>de</strong>n. Abhängig von konfigurierbaren Alarmbedingungen<br />
können Alarmmeldungen ausgegeben wer<strong>de</strong>n.<br />
Dazu stehen verschie<strong>de</strong>ne Netzwerkprotokolle zur Verfügung:<br />
. Mail (SMTP)<br />
. SNMP<br />
. Syslog<br />
. UDP<br />
. TCP (über bestehen<strong>de</strong> Verbindung)<br />
. TCP Client<br />
. FTP Client<br />
Neben <strong>de</strong>n Alarmmeldungen versen<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> Alarmclear-<br />
Meldungen, wenn die Alarmbedingungen nicht mehr erfüllt<br />
sind, also <strong>de</strong>r Normalzustand wie<strong>de</strong>r vorliegt.<br />
5.5.1 Festlegen <strong>de</strong>r Alarmbedingungen<br />
m Notwendige Zugriffsrechte: Administrator<br />
Die Alarmbedingungen können in verschie<strong>de</strong>nen Trigger-Gruppen<br />
festgelegt wer<strong>de</strong>n.<br />
. Input Trigger<br />
. Output Trigger<br />
. System Trigger<br />
Innerhalb eines Alarmes sollten nicht die Bedingungen aus unterschiedlichen<br />
Trigger Gruppen gemischt wer<strong>de</strong>n.<br />
1Machen Sie das Auslösen eines Alarms entwe<strong>de</strong>r vom<br />
Status <strong>de</strong>r Inputs o<strong>de</strong>r vom Status <strong>de</strong>r Outputs o<strong>de</strong>r von<br />
einem <strong>de</strong>r System Trigger abhängig!<br />
Es müssen zwei grundsätzliche Arten von Alarm-Triggern unterschie<strong>de</strong>n<br />
wer<strong>de</strong>n:<br />
140
W&T Alarme<br />
. Trigger mit Alarmzustand und Normalzustand<br />
. Trigger als Einzelereignis<br />
Trigger mit Alarmzustand und Normalzustand<br />
Triggerbedingung können die Zustän<strong>de</strong> ON o<strong>de</strong>r OFF <strong>de</strong>r Inbzw.<br />
Outputs, aber auch <strong>de</strong>r System Trigger Load Control sein.<br />
Wird z.B. für einen Input ON als Trigger gewählt, wird die Alarmmeldung<br />
gesen<strong>de</strong>t, wenn dieser Input auf ON geht. Fällt dieser<br />
Input zurück auf OFF, sen<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> die Alarmclear-Meldung.<br />
1Fällt eine Alarmbedingung zurück in <strong>de</strong>n Normalzustand,<br />
bevor das <strong>Web</strong>-<strong>IO</strong> die Alarmmeldung sen<strong>de</strong>n<br />
konnte, wird nur die Alarmclear-Meldung gesen<strong>de</strong>t<br />
Man kann also sagen, das diese Alarme immer mit einer<br />
Alarmclear Meldung abgeschlossen wer<strong>de</strong>n.<br />
Trigger als Einzelereignis<br />
Hierzu zählen System Trigger wie Kalt- und Warmstart, Timerinterval<br />
und die Einstellung ANY bei <strong>de</strong>n Inputs und Outputs.<br />
Zu diesen einmaligen Ereignissen gibt es keinen Normalzustand<br />
im eigentlichen Sinne. Da Alarme immer mit einer Alarmclear-<br />
Meldung abgeschlossen wer<strong>de</strong>n sollten, löst diese Art von Trigger<br />
immer nur eine Alarmclear-Meldung aus.<br />
1Es gibt keine Alarmmeldung son<strong>de</strong>rn nur<br />
Alarmclear-Benachrichtigungen.<br />
Alarm abhängig vom Status <strong>de</strong>r Inputs und Outputs<br />
Wählen Sie im Navigationsbaum Config >> Device >> Alarm >><br />
Alarm1 wenn Sie z.B. die Alarmbedingungen für Alarm 1 bearbeiten<br />
möchten.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
141
W&T Alarme<br />
Unter Input Trigger und Output Trigger kann jeweils festgelegt<br />
wer<strong>de</strong>n:<br />
1. welche Inputs o<strong>de</strong>r Outputs für diesen Alarm überhaupt auf<br />
ihren Status überprüft wer<strong>de</strong>n sollen<br />
2. bei welchem Zustand - ON, OFF o<strong>de</strong>r ANY (Flankenwechsel)<br />
- die Bedingung erfüllt sein soll<br />
Die Triggerbedingungen <strong>de</strong>r Blöcke Input Trigger, Output Trigger,<br />
Time Trigger, Load Control, Cold Start und Warm Start sollten<br />
innerhalb eines Alarms nicht gemischt genutzt wer<strong>de</strong>n.<br />
Alle Inputs/Outputs, die markiert sind, müssen die eingestellte<br />
Bedingung erfüllen, damit <strong>de</strong>r Alarm ausgelöst wird (UND-<br />
Verknüpfung).<br />
1Sind mehrere Inputs/Outputs mit <strong>de</strong>r Bedingung ANY<br />
konfiguriert, müssen diese zeitgleich schalten, damit es<br />
zu einem Alarm kommt.<br />
Alarme, die durch ANY getriggert wer<strong>de</strong>n, lösen nur eine<br />
Alarmclear-Meldung aus!<br />
Ein Beispiel:<br />
Ein Alarm soll ausgelöst wer<strong>de</strong>n, wenn Input 0 <strong>de</strong>n Status ON<br />
hat, und an Input 1 kein Signal also OFF anliegt.<br />
Die Konfiguration müsste in diesem Fall so aussehen:<br />
142
W&T Alarme<br />
Zusätzlich muss festgelegt wer<strong>de</strong>n, ob ein Alarm nur einmalig<br />
bei Eintreten <strong>de</strong>r Alarmbedingung ausgelöst wird. Alternativ<br />
kann ein Intervall angegeben wer<strong>de</strong>n, in <strong>de</strong>m <strong>de</strong>r Alarm wie<strong>de</strong>rholt<br />
wird, solange die Alarmbedingung ansteht.<br />
Im Feld Interval kann entwe<strong>de</strong>r E für einmalig o<strong>de</strong>r ein Intervall<br />
in Minuten angegeben wer<strong>de</strong>n. Es sind theoretisch Werte zwischen<br />
1 und 9999 Minuten möglich. Wird das Feld nicht o<strong>de</strong>r<br />
mit „0“ ausgefüllt, fin<strong>de</strong>t keine Alarmierung statt.<br />
Alarm bei erreichtem Counter-Wert<br />
Alternativ zum Zustand <strong>de</strong>r Inputs und Outputs kann auf das<br />
Erreichen eines Zählerstan<strong>de</strong>s hin ein Alarm ausgelöst wer<strong>de</strong>n.<br />
Dazu muss im Feld Max Counter Value ein Wert zwischen 1-<br />
2,1 Milliar<strong>de</strong>n eingegeben wer<strong>de</strong>n. Erreicht einer <strong>de</strong>r aktivierten<br />
Inputs diesen Counter-Wert wird Alarm gegeben.<br />
Counter und Inputmuster schließen sich gegenseitig als Alarmbedingung<br />
aus. Sobald unter Max Counter Value ein Wert eingetragen<br />
ist, wird <strong>de</strong>r Zustand <strong>de</strong>r Inputs nicht mehr als Alarmbedingung<br />
gewertet, son<strong>de</strong>rn nur noch das Erreichen <strong>de</strong>s<br />
Zählerstan<strong>de</strong>s überwacht.<br />
Alarm bei Überlast (nur 57630/57631)<br />
Die Outputs <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> haben eine thermische Überlastkontrolle.<br />
Wird eine Überlast an einem Output erkannt, wird<br />
dieser umgehend abgeschaltet. Das gleiche gilt bei komplett<br />
fehlen<strong>de</strong>r Last.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
143
W&T Alarme<br />
Auch <strong>de</strong>r Über- bzw Unterlastfall kann als Alarmbedingung gewählt<br />
wer<strong>de</strong>n. Aktivieren Sie hierzu unter Config >> Device >><br />
Alarm >> Alarm1, System Trigger <strong>de</strong>n Punkt Load Control.<br />
1Im Falle einer Überlast kann <strong>de</strong>r entsprechen<strong>de</strong><br />
Output nach Beseitigung <strong>de</strong>r Ursache durch Aufruf von<br />
Diag >> Report im Navigationsbaum und Klick auf <strong>de</strong>n Report<br />
Löschen- Button wie<strong>de</strong>r freigeschaltet wer<strong>de</strong>n.<br />
Beim Freischalten <strong>de</strong>s betroffenen Output wird eine Alarmclear-<br />
Meldung gesen<strong>de</strong>t.<br />
Zeitgesteuerter Alarm<br />
Durch Aktivierung von Intervall Timer kann das <strong>Web</strong>-<strong>IO</strong> dazu<br />
veranlasst wer<strong>de</strong>n - unabhängig von Input- und Outputstatus -<br />
zu festgelegten Zeiten Alarm zu geben.<br />
Auf diese Weise kann z.B. eine Keep-Alive-Überwachung realisiert<br />
wer<strong>de</strong>n.<br />
Zu welchen Zeiten Alarm ausgelöst wird, lässt sich im Bereich<br />
Time Trigger festlegen.<br />
144
W&T Alarme<br />
Die Syntax <strong>de</strong>r Zeiteinstellung ist an das in Linux/Unix verwen<strong>de</strong>te<br />
Cron-Format angelehnt. In ein Feld können mehrere Angaben<br />
mit Komma getrennt eingegeben wer<strong>de</strong>n.<br />
Das „*“ steht für je<strong>de</strong>n zulässigen ganzzahligen Wert. Beispiel: *<br />
im Feld Minute gibt minütlich einen Alarm, wenn auch die Bedingungen<br />
in <strong>de</strong>n an<strong>de</strong>ren Fel<strong>de</strong>rn erfüllt sind.<br />
Wird <strong>de</strong>m eigentlichen Wert o<strong>de</strong>r Wertebereich ein „/“ nachgestellt<br />
kann dahinter eine Zykluswert angegeben wer<strong>de</strong>n. Beispiel:<br />
0-59/15 im Feld Minute ergibt alle fünfzehn Minuten einen<br />
Alarm, wenn auch die Bedingungen in <strong>de</strong>n an<strong>de</strong>ren Fel<strong>de</strong>rn erfüllt<br />
sind.<br />
Wenn mit zyklischen Alarmen gearbeitet wer<strong>de</strong>n soll, darf vor<br />
<strong>de</strong>m „/“ nicht mit Wildcards „*“ gearbeitet wer<strong>de</strong>n.<br />
Mit „-“ können Zeitspannen als Trigger bestimmt wer<strong>de</strong>n. Beispiel:<br />
8-17 im Feld Stun<strong>de</strong> be<strong>de</strong>utet stündlich zwischen 8 Uhr<br />
und 17 Uhr.<br />
Die ausgefüllten Fel<strong>de</strong>r be<strong>de</strong>uten also je<strong>de</strong>n Monat, an je<strong>de</strong>m<br />
Montag bis Freitag, zwischen 8 Uhr und 17 Uhr alle vollen fünfzehn<br />
Minuten ein Alarm.<br />
Es macht keinen Sinn, im Eingabefeld Interval etwas an<strong>de</strong>res als<br />
„E“ einzugeben, wenn mit Time Trigger gearbeitet wird!<br />
1Bei Timer-gesteuerten Alarmen erfolgt die<br />
Alarmierung durch die Alarmclear-Meldung<br />
Alarm bei Kaltstart<br />
Durch Aktivierung von Cold Start wird das <strong>Web</strong>-<strong>IO</strong> veranlasst,<br />
nach einem Hardware- bzw. Power-ON- Reset Alarm zu geben.<br />
1Bei Kaltstart gesteuerten Alarmen erfolgt die<br />
Alarmierung durch die Alarmclear-Meldung<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
145
W&T Alarme<br />
Alarm bei Warmstart<br />
Durch Aktivierung von Warm Start wird das <strong>Web</strong>-<strong>IO</strong> veranlasst,<br />
nach einem Software-Reset, z.B. durch Connect auf TCP-Port<br />
8888, Alarm zu geben.<br />
Nach<strong>de</strong>m die Alarmbedingungen festgelegt wur<strong>de</strong>n, kann ausgewählt<br />
wer<strong>de</strong>n, auf welchem Weg ein Alarm ausgegeben wer<strong>de</strong>n<br />
soll.<br />
1Bei Warmstart gesteuerten Alarmen erfolgt die<br />
Alarmierung durch die Alarmclear-Meldung<br />
5.5.2 E-Mail-Alarm - SMTP<br />
Für die Alarmierung über E-Mail muss unter Config >> Device<br />
>> Alarm >> Alarm1 zusätzlich zu <strong>de</strong>n Alarmbedingungen Mail<br />
Enable aktiviert wer<strong>de</strong>n.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Grundsätzliche Einstellungen für <strong>de</strong>n E-Mail Versand<br />
m Notwendige Zugriffsrechte: Administrator<br />
146
W&T Alarme<br />
Damit das <strong>Web</strong>-<strong>IO</strong> überhaupt E-Mail versen<strong>de</strong>n kann, müssen<br />
einige Grun<strong>de</strong>instellungen vorgenommen wer<strong>de</strong>n.<br />
Wählen Sie hierzu im Navigationsbaum Config >> Device >><br />
Basic Settings >> Mail:<br />
Füllen Sie die Fel<strong>de</strong>r entsprechend Ihrer Applikation aus:<br />
Name<br />
Name, <strong>de</strong>r bei versen<strong>de</strong>ten E-Mails als Absen<strong>de</strong>r eingetragen<br />
wird.<br />
Reply Address<br />
E-Mail Adresse die - wenn <strong>de</strong>r Empfänger einer Alarm-Mail im<br />
Mail-Client Antworten auswählt - als Ziel-Adresse in die abgehen<strong>de</strong><br />
E-Mail eingetragen wird. Da das <strong>Web</strong>-<strong>IO</strong> selber nur E-Mail<br />
versen<strong>de</strong>n, aber nicht empfangen kann, sollte hier z.B. die E-<br />
Mail Adresse <strong>de</strong>s Mitarbeiters eingetragen wer<strong>de</strong>n, <strong>de</strong>r das <strong>Web</strong>-<br />
<strong>IO</strong> technisch betreut.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
147
W&T Alarme<br />
Mail Server<br />
Hier muss <strong>de</strong>r Host-Name o<strong>de</strong>r die IP-Adresse <strong>de</strong>s SMTP-Servers<br />
eingetragen wer<strong>de</strong>n, über <strong>de</strong>n das <strong>Web</strong>-<strong>IO</strong> seine Alarm-mails<br />
verschicken soll.<br />
Authentification<br />
An dieser Stelle kann ausgewählt wer<strong>de</strong>n, ob mit einer E-Mail<br />
Authentifizierung gearbeitet wer<strong>de</strong>n soll. Je nach Provi<strong>de</strong>r-Vorgabe<br />
kann das <strong>Web</strong>-<strong>IO</strong> ein Login mit ESMTP o<strong>de</strong>r SMTP after<br />
POP3 konfiguriert wer<strong>de</strong>n.<br />
User<br />
Tragen Sie hier <strong>de</strong>n Usernamen für das benutzte E-Mail-Konto<br />
ein<br />
Password / Retype Password<br />
Hier muss das für das E-Mail-Konto vergebene Passwort eingetragen<br />
wer<strong>de</strong>n.<br />
POP3 Server<br />
Wenn mit SMTP after POP3 gearbeitet wird, muss hier <strong>de</strong>r Name<br />
o<strong>de</strong>r die IP-Adresse <strong>de</strong>s POP3-Servers eingetragen wer<strong>de</strong>n.<br />
Enable<br />
Setzen Sie Mail enable um <strong>de</strong>n E-Mailversand zu aktivieren.<br />
1Wird <strong>de</strong>r Name <strong>de</strong>s Mail-Servers bzw <strong>de</strong>s POP3-Servers<br />
angegeben, muss in <strong>de</strong>n Netzwerkeinstellungen unbedingt<br />
ein DNS-Server angegeben sein.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Festlegen von E-Mail Empfänger, Betreff und Text<br />
m Notwendige Zugriffsrechte: Administrator<br />
Unter Config >> Device >> Alarm >> Alarm1 >> Mail kann nun<br />
festgelegt wer<strong>de</strong>n, an wen im Falle eines Alarmes die E-Mail gesen<strong>de</strong>t<br />
wer<strong>de</strong>n soll, was in <strong>de</strong>r Betreffzeile erscheint und welchen<br />
Text die E-Mail beinhaltet.<br />
148
W&T Alarme<br />
E-Mail Addr.<br />
geben Sie in diesem Feld die E-Mail Adresse ein, an die eine E-<br />
Mail gesen<strong>de</strong>t wer<strong>de</strong>n soll, wenn die Alarmbedingungen erfüllt<br />
sind. Wenn mehrere Empfänger die E-Mail erhalten sollen, müssen<br />
die E-Mail Adressen mit Semikolon getrennt wer<strong>de</strong>n. z.B.<br />
user1@domain.<strong>de</strong>; user2@domain.<strong>de</strong>; ...<br />
Subject<br />
Hier wird die Betreffzeile <strong>de</strong>s Alarm-Mails eingegeben, die bei<br />
Auftreten <strong>de</strong>r konfigurierten Alarmbedingung gesen<strong>de</strong>t wird.<br />
Mailtext<br />
kann einen frei formulierten Text beinhalten, <strong>de</strong>r bei Auftreten<br />
<strong>de</strong>r konfigurierten Alarmbedingung gesen<strong>de</strong>t wird.<br />
Alarm Clear Subject<br />
Sobald die konfigurierte Alarmbedingung nicht mehr vorliegt,<br />
wird eine Alarmclear-Meldung mit <strong>de</strong>r hier eingetragenen<br />
Betreffzeile verschickt.<br />
Alarm Clear Text<br />
Wie beim Mailtext kann hier ein frei formulierter Text für die<br />
Alarmclear-Meldung eingetragen wer<strong>de</strong>n.<br />
i<br />
Zusätzlich können in <strong>de</strong>r Betreffzeile und im Mailtext<br />
Alarm-Variable eingesetzt wer<strong>de</strong>n. Das sind Platzhalter<br />
für Zustand und Namen <strong>de</strong>r einzelnen Inputs und Outputs, sowie<br />
für die Zählerstän<strong>de</strong> <strong>de</strong>r Counter. Darüber hinaus können<br />
Platzhalter für Datum und Device Name eingesetzt wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
149
W&T Alarme<br />
Die möglichen Variablen können <strong>de</strong>r folgen<strong>de</strong>n Tabelle entnommen<br />
wer<strong>de</strong>n:<br />
Alarm Variable Beschreibung<br />
Device Name (siehe: Config>>Device>>Text)<br />
Zustand <strong>de</strong>r Inputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Inputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Inputs Nr. x<br />
Zustand <strong>de</strong>r Outputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Outputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Outputs Nr.x<br />
Zählerstand <strong>de</strong>s Counters Nr. x in <strong>de</strong>zimaler Schreibweise<br />
Zeitstempel mit Datum und Uhrzeit im Format: TT.MMM.JJJJ hh:mm:ss<br />
Jahr im Format "JJJJ"<br />
Monat im Format "MM"<br />
Tag im Format "TT"<br />
Stun<strong>de</strong> im Format "hh"<br />
Minuten im Format "mm"<br />
Sekun<strong>de</strong>n im Format "ss"<br />
x kann je nach Mo<strong>de</strong>ll zwischen 0 und 23 liegen<br />
Die Mail-Tags wur<strong>de</strong>n durch die zum Zeitpunkt <strong>de</strong>s<br />
Mailversan<strong>de</strong>s aktuellen Werte ersetzt.<br />
5.5.3 SNMP Alarm<br />
In Netzwerken mit einem Netzwerkmanagementsystem kann für<br />
die Übermittlung von Alarmen auch das SNMP Protokoll genutzt<br />
wer<strong>de</strong>n.<br />
Es muss unter Config >> Device >> Alarm >> Alarm1 zusätzlich<br />
zu <strong>de</strong>n Alarmbedingungen SNMP Trap Enable aktiviert wer<strong>de</strong>n.<br />
m Notwendige Zugriffsrechte: Administrator<br />
150
W&T Alarme<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wählen Sie im Navigationsbaum Config >> Device >> Alarm >><br />
Alarm1 >> SNMP<br />
m Notwendige Zugriffsrechte: Administrator<br />
Manager IP<br />
Geben Sie hier die IP-Adresse <strong>de</strong>s Netzwerkmanagementsystems<br />
an, welches die SNMP-Informationen erhalten soll.<br />
Trap-Text<br />
Sie haben die Möglichkeit, genau wie bei <strong>de</strong>r Mail-Funktion, auch<br />
hier einen „Trap Text“ einzugeben, <strong>de</strong>r an die Manager-Software<br />
übertragen wird. Um <strong>de</strong>n Status von Inputs und Outputs bzw.<br />
die Zählerstän<strong>de</strong> <strong>de</strong>r Counter in <strong>de</strong>n Text einzubin<strong>de</strong>n, können<br />
ebenfalls Alarm-Variablen genutzt wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
151
W&T Alarme<br />
Alarm Clear Text<br />
Wie beim Trap Text kann hier ein frei formulierter Text für die<br />
Alarmclear-Meldung eingetragen wer<strong>de</strong>n.<br />
1Die maximalen Längen von Trap-Text und<br />
Alarm Clear Text dürfen 450 Byte nicht überschreiten.<br />
Längere Texte wer<strong>de</strong>n vom <strong>Web</strong>-<strong>IO</strong> abgeschnitten.<br />
Alarm Variable Beschreibung<br />
Device Name (siehe: Config>>Device>>Text)<br />
Zustand <strong>de</strong>r Inputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Inputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Inputs Nr. x<br />
Zustand <strong>de</strong>r Outputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Outputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Outputs Nr.x<br />
Zählerstand <strong>de</strong>s Counters Nr. x in <strong>de</strong>zimaler Schreibweise<br />
Zeitstempel mit Datum und Uhrzeit im Format: TT.MMM.JJJJ hh:mm:ss<br />
Jahr im Format "JJJJ"<br />
Monat im Format "MM"<br />
Tag im Format "TT"<br />
Stun<strong>de</strong> im Format "hh"<br />
Minuten im Format "mm"<br />
Sekun<strong>de</strong>n im Format "ss"<br />
x kann je nach Mo<strong>de</strong>ll zwischen 0 und 23 liegen<br />
1Sollten Sie ein Administrator-Passwort eingegeben<br />
haben, müssen Sie dieses in Ihrer Manager-Software<br />
als „community string“ eintragen!<br />
5.5.4 Alarm über UDP<br />
Eine weitere Möglichkeit, einen Alarm an einen an<strong>de</strong>ren<br />
Netzwerkteilnehmer weiterzugeben, bietet das UDP-Protokoll.<br />
Hierzu muss auf <strong>de</strong>n PCs, die einen solchen Alarm empfangen<br />
sollen, ein entsprechen<strong>de</strong>s Anwendungsprogramm laufen.<br />
Um UDP zur Alarmübertragung zu aktivieren, wählen Sie im<br />
Navigationsbaum Config >> Basic Settings >> UDP<br />
m Notwendige Zugriffsrechte: Administrator<br />
Tragen Sie im Feld Port <strong>de</strong>n gewünschten lokalen Port ein.<br />
Werksseitig ist Port 42279 voreingestellt. Das Feld Remote Port<br />
152
W&T Alarme<br />
ist für das Versen<strong>de</strong>n von Alarmen nicht relevant. Aktivieren Sie<br />
das Feld UDP enable.<br />
Übergeben Sie die gewählten Einstellungen durch Klick auf <strong>de</strong>n<br />
Zwischenspeichern-Button an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wählen Sie nun im Navigationsbaum Config >> Device >> Alarm<br />
>> Alarm1 und markieren Sie im Bereich Enable <strong>de</strong>n Punkt UDP<br />
Client Enable.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n<br />
Zwichenspeichern-Button an das <strong>Web</strong>-<strong>IO</strong>.<br />
Unter Config >> Device >> Alarm >> Alarm1 >> UDP können<br />
dann die UDP-spezifischen Konfigurationen eingetragen wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
153
W&T Alarme<br />
m Notwendige Zugriffsrechte: Administrator<br />
IP Addr<br />
Hier wird die IP-Adresse <strong>de</strong>s Netzwerkteilnehmers eingetragen,<br />
<strong>de</strong>r die Alarmmeldung empfangen soll. Alternativ kann eine<br />
Broadcast-IP-Adresse eingetragen wer<strong>de</strong>n, um die Alarmmeldungen<br />
allen Teilnehmern im Netzwerksegment zugänglich zu<br />
machen. Die IP-Adresse 10.255.255.255 z.B. wür<strong>de</strong> allen Netzteilnehmern<br />
im Segment 10.0.0 erlauben, <strong>de</strong>n Alarm zu empfangen.<br />
Port<br />
in diesem Feld wird <strong>de</strong>r lokale UDP-Port eingetragen, auf <strong>de</strong>m<br />
das Anwendungsprogramm die UDP-Alarmmeldungen empfangen<br />
soll.<br />
UDP-Text<br />
Sie haben die Möglichkeit, genau wie bei <strong>de</strong>r Mail- und SNMP-<br />
Funktion, hier einen Text einzugeben, <strong>de</strong>r an die UDP-Anwendung<br />
übertragen wird. Um <strong>de</strong>n Status von Inputs und Outputs,<br />
bzw. die Zählerstän<strong>de</strong> <strong>de</strong>r Counter in <strong>de</strong>n Text einzubin<strong>de</strong>n,<br />
können ebenfalls die E-Mail-Tags genutzt wer<strong>de</strong>n.<br />
Alarm Clear Text<br />
Wie beim UDP Text kann hier ein frei formulierter Text für die<br />
Alarmclear-Meldung eingetragen wer<strong>de</strong>n.<br />
154
W&T Alarme<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Outputs eines an<strong>de</strong>ren <strong>Web</strong>-<strong>IO</strong> über UDP schalten<br />
Das Versen<strong>de</strong>n von UDP-Datagrammen kann auch dazu genutzt<br />
wer<strong>de</strong>n, Kommandos zum Schalten von Outputs an ein weiteres<br />
<strong>Web</strong>-<strong>IO</strong> zu sen<strong>de</strong>n.<br />
Dazu müssen als IP Addr die Adresse und als Port <strong>de</strong>r Local<br />
Port <strong>de</strong>s an<strong>de</strong>ren <strong>Web</strong>-<strong>IO</strong> eingetragen wer<strong>de</strong>n.<br />
i Es<br />
kann „localhost“ o<strong>de</strong>r „127.0.0.1“ bzw. die eigene<br />
Adresse als Adresse eingegeben wer<strong>de</strong>n. Das <strong>Web</strong>-<strong>IO</strong><br />
sen<strong>de</strong>t das Kommando dann an sich selbst, was ein Schalten<br />
<strong>de</strong>r eigenen Outputs über die Alarme erlaubt.<br />
Unter UDP Text wird das entsprechen<strong>de</strong> Kommando zum Schalten<br />
eines Outputs eingegeben.<br />
z.B<br />
GET / outputaccess0?PW=&State=ON&NA=ON&<br />
zum Einschalten von Output 0 bzw.<br />
GET / outputaccess0?PW=&State=OFF&NA=ON&<br />
zum Ausschalten.<br />
Dem Kommando sollte durch Drücken <strong>de</strong>r Enter-Taste ein<br />
Zeihlenvorschub angefügt wer<strong>de</strong>n.<br />
Details zu <strong>de</strong>n Kommandos fin<strong>de</strong>n Sie in Kapitel 5.6.2<br />
1Bitte beachten Sie, dass <strong>de</strong>r Trigger für <strong>de</strong>n Alarm min.<br />
eine Sekun<strong>de</strong> anstehen muss, damit das Kommando zuverlässig<br />
gesen<strong>de</strong>t wird.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
155
W&T Alarme<br />
5.5.5 Alarmmeldung an eigene TCP-Applikationen<br />
In Anwendungen, die über das Socket-Interface via TCP mit <strong>de</strong>m<br />
<strong>Web</strong>-<strong>IO</strong> kommunizieren, kann über bestehen<strong>de</strong> TCP-Verbindungen<br />
bei Zustandsän<strong>de</strong>rung <strong>de</strong>r Input-Status übergeben wer<strong>de</strong>n.<br />
Auf diese Weise lassen sich auch event-gesteuerte TCP-Programme<br />
erstellen.<br />
Damit bei Eintreten <strong>de</strong>r Alarmbedingung ein TCP-Datenpaket an<br />
die aktive TCP-Clientanwendung gesen<strong>de</strong>t wird, markieren Sie<br />
unter Config >> Device >> Alarm >> Alarm1 im Bereich Enable<br />
<strong>de</strong>n Punkt Send input to pending TCP connections.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wenn alle <strong>de</strong>n Alarm betreffen<strong>de</strong>n Eingaben gemacht wur<strong>de</strong>n,<br />
aktivieren Sie die neuen Einstellungen über Config >> Session<br />
Control >> LogOut, Speichern.<br />
5.5.6 Alarmmeldung an einen TCP-Server<br />
Sollen Alarmmeldungen von einer TCP-Server Anwendung<br />
weiterverarbeitet wer<strong>de</strong>n, stellt das <strong>Web</strong>-<strong>IO</strong> eine TCP-<br />
Clientfunktion zur Verfügung, die im Alarmfall eine TCP-Verbindung<br />
zum gewünschten Server aufbaut und die Alarmmeldung<br />
überträgt. Der TCP-Server muss nach Empfang <strong>de</strong>r Alarmdaten<br />
die Verbindung trennen!<br />
156
W&T Alarme<br />
Um bei Eintreten <strong>de</strong>r Alarmbedingung eine TCP-Verbindung aufzubauen<br />
und <strong>de</strong>n Alarm zu versen<strong>de</strong>n, markieren Sie unter<br />
Config >> Device >> Alarm >> Alarm1 im Bereich Enable <strong>de</strong>n<br />
Punkt TCP Client enable.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Unter Config >> Device >> Alarm >> Alarm1 >> TCP können<br />
dann die TCP-spezifischen Konfigurationen eingetragen wer<strong>de</strong>n.<br />
IP-Addr<br />
Hier wird die IP-Adresse <strong>de</strong>s Netzwerkteilnehmers eingetragen,<br />
<strong>de</strong>r die Alarmmeldung empfangen soll.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
157
W&T Alarme<br />
Port<br />
in diesem Feld wird <strong>de</strong>r lokale TCP-Port eingetragen, auf <strong>de</strong>m<br />
die Serveranwendung die TCP-Alarmmeldungen empfangen soll.<br />
TCP-Text<br />
Sie haben die Möglichkeit, genau wie bei <strong>de</strong>r Mail- und SNMP-<br />
Funktion, hier einen Text einzugeben, <strong>de</strong>r an die TCP-Serveranwendung<br />
übertragen wird. Um <strong>de</strong>n Status von Inputs und Outputs,<br />
bzw. die Zählerstän<strong>de</strong> <strong>de</strong>r Counter in <strong>de</strong>n Text einzubin<strong>de</strong>n,<br />
können ebenfalls die Alarm-Variablen genutzt wer<strong>de</strong>n.<br />
Alarm Variable Beschreibung<br />
Device Name (siehe: Config>>Device>>Text)<br />
Zustand <strong>de</strong>r Inputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Inputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Inputs Nr. x<br />
Zustand <strong>de</strong>r Outputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Outputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Outputs Nr.x<br />
Zählerstand <strong>de</strong>s Counters Nr. x in <strong>de</strong>zimaler Schreibweise<br />
Zeitstempel mit Datum und Uhrzeit im Format: TT.MMM.JJJJ hh:mm:ss<br />
Jahr im Format "JJJJ"<br />
Monat im Format "MM"<br />
Tag im Format "TT"<br />
Stun<strong>de</strong> im Format "hh"<br />
Minuten im Format "mm"<br />
Sekun<strong>de</strong>n im Format "ss"<br />
x kann je nach Mo<strong>de</strong>ll zwischen 0 und 23 liegen<br />
Alarm Clear Text<br />
Wie beim TCP Text kann hier ein frei formulierter Text für die<br />
Alarmclear-Meldung eingetragen wer<strong>de</strong>n.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wenn alle <strong>de</strong>n Alarm betreffen<strong>de</strong>n Eingaben gemacht wur<strong>de</strong>n,<br />
aktivieren Sie die neuen Einstellungen über Config >> Session<br />
Control >> LogOut, Speichern.<br />
Outputs eines an<strong>de</strong>ren <strong>Web</strong>-<strong>IO</strong> über TCP schalten<br />
Das Versen<strong>de</strong>n von TCP-Meldungen kann auch dazu genutzt<br />
wer<strong>de</strong>n, Kommandos zum Schalten von Outputs an ein weiteres<br />
<strong>Web</strong>-<strong>IO</strong> zu sen<strong>de</strong>n.<br />
158
W&T Alarme<br />
Dazu müssen als IP Addr die Adresse und als Port <strong>de</strong>r Local<br />
Port (normal 80) <strong>de</strong>s an<strong>de</strong>ren <strong>Web</strong>-<strong>IO</strong> eingetragen wer<strong>de</strong>n.<br />
i Es<br />
kann „localhost“ o<strong>de</strong>r „127.0.0.1“ bzw. die eigene<br />
Adresse als Adresse eingegeben wer<strong>de</strong>n. Das <strong>Web</strong>-<strong>IO</strong><br />
sen<strong>de</strong>t das Kommando dann an sich selbst, was ein Schalten<br />
<strong>de</strong>r eigenen Outputs über die Alarme erlaubt.<br />
Unter TCP Text wird das entsprechen<strong>de</strong> Kommando zum Schalten<br />
eines Outputs eingegeben.<br />
z.B<br />
GET / outputaccess0?PW=&State=ON&NA=ON&<br />
zum Einschalten von Output 0 bzw.<br />
GET / outputaccess0?PW=&State=OFF&NA=ON&<br />
zum Ausschalten.<br />
Dem Kommando sollte durch Drücken <strong>de</strong>r Enter-Taste ein<br />
Zeihlenvorschub angefügt wer<strong>de</strong>n<br />
Details zu <strong>de</strong>n Kommandos fin<strong>de</strong>n Sie in Kapitel 5.6.2<br />
1Bitte beachten Sie, dass <strong>de</strong>r Trigger für <strong>de</strong>n Alarm min.<br />
eine Sekun<strong>de</strong> anstehen muss, damit das Kommando zuverlässig<br />
gesen<strong>de</strong>t wird.<br />
5.5.7 Alarmmeldung an einen Syslog-Server<br />
Um bei Eintreten <strong>de</strong>r Alarmbedingung eine Systemmeldung an<br />
einen Syslog-Server zu sen<strong>de</strong>n, markieren Sie unter Config >><br />
Device >> Alarm >> Alarm1 im Bereich Enable <strong>de</strong>n Punkt Syslog<br />
Message enable.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
159
W&T Alarme<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Unter Config >> Device >> Alarm >> Alarm1 >> Syslog können<br />
dann die Syslog-spezifischen Konfigurationen eingetragen<br />
wer<strong>de</strong>n.<br />
IP Addr<br />
Hier wird die IP-Adresse <strong>de</strong>s Syslog-Servers eingetragen, <strong>de</strong>r die<br />
Alarmmeldung empfangen soll.<br />
Port<br />
in diesem Feld wird <strong>de</strong>r lokale UDP-Port eingetragen, auf <strong>de</strong>m<br />
<strong>de</strong>r Syslog-Server die Syslog-Meldung empfangen soll.<br />
Der Standardport für Syslog ist 514.<br />
160
W&T Alarme<br />
Syslog-Text<br />
Sie haben die Möglichkeit, genau wie bei <strong>de</strong>r Mail- und SNMP-<br />
Funktion, hier einen Text einzugeben, <strong>de</strong>r an <strong>de</strong>n Syslog-Server<br />
übertragen wird. Um <strong>de</strong>n Status von Inputs und Outputs, bzw.<br />
die Zählerstän<strong>de</strong> <strong>de</strong>r Counter in <strong>de</strong>n Text einzubin<strong>de</strong>n, können<br />
ebenfalls die Alarm-Variablen genutzt wer<strong>de</strong>n.<br />
Alarm Variable Beschreibung<br />
Device Name (siehe: Config>>Device>>Text)<br />
Zustand <strong>de</strong>r Inputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Inputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Inputs Nr. x<br />
Zustand <strong>de</strong>r Outputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Outputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Outputs Nr.x<br />
Zählerstand <strong>de</strong>s Counters Nr. x in <strong>de</strong>zimaler Schreibweise<br />
Zeitstempel mit Datum und Uhrzeit im Format: TT.MMM.JJJJ hh:mm:ss<br />
Jahr im Format "JJJJ"<br />
Monat im Format "MM"<br />
Tag im Format "TT"<br />
Stun<strong>de</strong> im Format "hh"<br />
Minuten im Format "mm"<br />
Sekun<strong>de</strong>n im Format "ss"<br />
x kann je nach Mo<strong>de</strong>ll zwischen 0 und 23 liegen<br />
Alarm Clear Text<br />
Wie beim Syslog Text kann hier ein frei formulierter Text für die<br />
Alarmclear-Meldung eingetragen wer<strong>de</strong>n.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Zuletzt muss noch <strong>de</strong>r Syslog Dienst freigeschaltet wer<strong>de</strong>n.<br />
Wählen Sie hierzu im Navigationsbaum Config >> Device >><br />
Basic Settings >> Syslog.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
161
W&T Alarme<br />
Durch Markieren von System Messages enable und Klick auf<br />
Zwischenspeichern wird Syslog freigegeben.<br />
Wenn alle <strong>de</strong>n Alarm betreffen<strong>de</strong>n Eingaben gemacht wur<strong>de</strong>n,<br />
aktivieren Sie die neuen Einstellungen über Config >> Session<br />
Control >> LogOut, Speichern.<br />
5.5.8 Alarmmeldung an einen FTP-Server<br />
Um bei Eintreten <strong>de</strong>r Alarmbedingung eine Meldung per FTP in<br />
eine Log-Datei auf einem FTP-Server zu schreiben, markieren Sie<br />
unter Config >> Device >> Alarm >> Alarm1 im Bereich Enable<br />
<strong>de</strong>n Punkt FTP Client enable.<br />
m Notwendige Zugriffsrechte: Administrator<br />
162
W&T Alarme<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Unter Config >> Device >> Alarm >> Alarm1 >> FTP können<br />
dann die FTP-spezifischen Konfigurationen eingetragen wer<strong>de</strong>n.<br />
FTP Local Data Port<br />
Hier wird <strong>de</strong>r lokale Port <strong>de</strong>r Verbindung angegeben, auf <strong>de</strong>r das<br />
<strong>Web</strong>-<strong>IO</strong> die Alarmmeldungen an <strong>de</strong>n FTP-Server versen<strong>de</strong>t.<br />
Wird AUTO angegeben, vergibt das <strong>Web</strong>-<strong>IO</strong> <strong>de</strong>n nächsten freien<br />
Port.<br />
File Name<br />
in diesem Feld wird <strong>de</strong>r Name <strong>de</strong>r Datei eingegeben, in <strong>de</strong>r die<br />
Meldungen abgespeichert wer<strong>de</strong>n sollen.<br />
FTP Alarm Text<br />
Sie haben die Möglichkeit, genau wie bei <strong>de</strong>r Mail- und SNMP-<br />
Funktion, hier einen Text einzugeben, <strong>de</strong>r an <strong>de</strong>n Syslog-Server<br />
übertragen wird.<br />
i<br />
Zusätzlich können im File Namen und im FTP Alarm<br />
Text Variable eingesetzt wer<strong>de</strong>n. Das sind Platzhalter für<br />
Zustand und Namen <strong>de</strong>r einzelnen Inputs und Outputs, sowie<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
163
W&T Alarme<br />
für die Zählerstän<strong>de</strong> <strong>de</strong>r Counter. Darüber hinaus können Platzhalter<br />
für Datum und Device Name eingesetzt wer<strong>de</strong>n.<br />
Alarm Variable Beschreibung<br />
Device Name (siehe: Config>>Device>>Text)<br />
Zustand <strong>de</strong>r Inputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Inputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Inputs Nr. x<br />
Zustand <strong>de</strong>r Outputs als Bitmuster in hexa<strong>de</strong>zimaler Schreibweise<br />
Zustand <strong>de</strong>s Outputs Nr. x (ON/OFF),<br />
Name <strong>de</strong>s Outputs Nr.x<br />
Zählerstand <strong>de</strong>s Counters Nr. x in <strong>de</strong>zimaler Schreibweise<br />
Zeitstempel mit Datum und Uhrzeit im Format: TT.MMM.JJJJ hh:mm:ss<br />
Jahr im Format "JJJJ"<br />
Monat im Format "MM"<br />
Tag im Format "TT"<br />
Stun<strong>de</strong> im Format "hh"<br />
Minuten im Format "mm"<br />
Sekun<strong>de</strong>n im Format "ss"<br />
x kann je nach Mo<strong>de</strong>ll zwischen 0 und 23 liegen<br />
Alarm Clear Text<br />
Wie beim FTP Alarm Text kann hier ein frei formulierter Text für<br />
die Alarmclear-Meldung eingetragen wer<strong>de</strong>n.<br />
Option<br />
Wählen Sie STORE, wenn die Datei mit je<strong>de</strong>r eingehen<strong>de</strong>n Meldung<br />
komplett überschrieben wer<strong>de</strong>n soll. Für eine mit je<strong>de</strong>r<br />
Meldung wachsen<strong>de</strong>n Datei wählen Sie APPEND.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Zuletzt muss noch <strong>de</strong>r FTP Dienst freigeschaltet und grundsätzlich<br />
konfiguriert wer<strong>de</strong>n.<br />
Wählen Sie hierzu im Navigationsbaum Config >> Device >><br />
Basic Settings >> FTP.<br />
164
W&T Alarme<br />
FTP Server IP<br />
Geben Sie hier die IP-Adresse <strong>de</strong>s FTP-Servers ein, auf <strong>de</strong>m die<br />
Alarmmeldungen gespeichert wer<strong>de</strong>n sollen.<br />
FTP Control Port<br />
An dieser Stelle wird <strong>de</strong>r TCP-Port für die FTP Kontrollverbindung<br />
eingegeben. Im Normalfall arbeiten FTP-Server auf Port 21.<br />
User<br />
Hier wird <strong>de</strong>r Name eines auf <strong>de</strong>m FTP-Server mit Schreibrechten<br />
registrierten Benutzers eingetragen.<br />
Password<br />
Zum Benutzer passen<strong>de</strong>s, auf <strong>de</strong>m FTP-Server hinterlegtes Passwort<br />
FTP-Account<br />
Wenn vorhan<strong>de</strong>n, wird hier das Konto <strong>de</strong>s Benutzers eingetragen.<br />
Options<br />
Legen Sie hier fest, ob <strong>de</strong>r FTP-Client aktiv o<strong>de</strong>r passiv arbeiten<br />
soll. Fragen Sie im Zweifel <strong>de</strong>n Administrator <strong>de</strong>s FTP-Servers.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
165
W&T Alarme<br />
Enable<br />
Durch Markieren von Enable und Klick auf Zwischenspeichern<br />
wird FTP als Dienst freigegeben.<br />
Wenn alle <strong>de</strong>n Alarm betreffen<strong>de</strong>n Eingaben gemacht wur<strong>de</strong>n,<br />
aktivieren Sie die neuen Einstellungen über Config >> Session<br />
Control >> LogOut, Speichern.<br />
5.5.9 Allgemeine Informationen zu Alarmen<br />
Für einen Alarm können mehrere und sogar alle Ausgabewege<br />
gleichzeitig gewählt wer<strong>de</strong>n. Es ist z.B. kein Problem, im Alarmfall<br />
eine E-Mail und einen SNMP-Trap zu versen<strong>de</strong>n.<br />
166
W&T Eigene <strong>Web</strong>-Anwendungen<br />
5.6 Zugriff aus <strong>de</strong>r eigenen Anwendung<br />
Um aus eigenen Anwendungen direkt auf das <strong>Web</strong>-<strong>IO</strong> zugreifen<br />
zu können, wer<strong>de</strong>n zwei grundsätzliche Wege angeboten:<br />
. Zugriff aus <strong>de</strong>m Browser (HTTP-Request/Java-Applet)<br />
. Zugriff aus diversen Hochsprachen (TCP/IP-Sockets)<br />
5.6.1 Zugriff aus <strong>de</strong>m Browser<br />
Von Hause aus erlaubt das <strong>Web</strong>-<strong>IO</strong> auf drei vorgegebenen <strong>Web</strong>seiten<br />
<strong>de</strong>n Zugriff auf die Inputs, Outputs und Counter.<br />
home.htm<br />
o Dynamische Visualisierung <strong>de</strong>r <strong>IO</strong>s und Alarme<br />
o Schalten <strong>de</strong>r Outputs nur nach Login über <strong>de</strong>n Menübaum<br />
user.htm<br />
o Dynamische Visualisierung <strong>de</strong>r <strong>IO</strong>s und <strong>de</strong>r virtuellen Modbus-Register<br />
o Schalten <strong>de</strong>r Outputs nach speziellem Login auf <strong>de</strong>r User-<br />
Seite möglich<br />
o Das Passwort kann in einem Cookie gespeichert wer<strong>de</strong>n, so<br />
dass bei Aufruf vom selben PC nicht je<strong>de</strong>smal ein Login erfolgen<br />
muss.<br />
smart.htm<br />
o Für Smartphones optimierte <strong>Web</strong>seite für die dynamische<br />
Visualisierung <strong>de</strong>r <strong>IO</strong>s<br />
o Schalten <strong>de</strong>r Outputs nach speziellem Login möglich<br />
o Das Passwort kann in einem Cookie gespeichert wer<strong>de</strong>n, so<br />
dass bei Aufruf vom selben Smartphone nicht je<strong>de</strong>smal ein<br />
Login erfolgen muss.<br />
Alle drei Seiten können gegen selbst erstellte <strong>Web</strong>seiten ausgetauscht<br />
wer<strong>de</strong>n.<br />
Wählen Sie dazu Im Menübaum Config >> Up/Download >><br />
Upload.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
167
W&T Eigene <strong>Web</strong>-Anwendungen<br />
und klicken Sie dann auf das HTML Upload Button.<br />
Wählen Sie die hochzula<strong>de</strong>n<strong>de</strong> Datei aus und bestätigen Sie mit<br />
Klick auf HTML Upload.<br />
Der Name <strong>de</strong>r Datei spielt keine Rolle. Ob die Datei als home,<br />
user o<strong>de</strong>r smart-Seite eingespielt wird, ergibt sich über die erste<br />
Zeile <strong>de</strong>s Seiten-Quelltextes.<br />
<br />
<br />
<br />
<br />
W&T Eigene <strong>Web</strong>-Anwendungen<br />
Eine entsprechen<strong>de</strong> Anzeige im Browser wird durch die Verwendung<br />
von W&T-Tags erreicht. W&T Tags sind Platzhalter, die<br />
vom <strong>Web</strong>-<strong>IO</strong> bei <strong>de</strong>r Übergabe <strong>de</strong>r <strong>Web</strong>seite an <strong>de</strong>n Browser<br />
durch die hinterlegten Bezeichnungen ersetzt wer<strong>de</strong>n. So kann<br />
erreicht wer<strong>de</strong>n, das ein und die gleiche <strong>Web</strong>seite in verschi<strong>de</strong>nen<br />
<strong>Web</strong>-<strong>IO</strong>s individuell an<strong>de</strong>rs aussieht.<br />
Diese Tags setzen sich aus
W&T Eigene <strong>Web</strong>-Anwendungen<br />
Aufruf / Tag Funktion<br />
<strong>de</strong>vice_name Fügt <strong>de</strong>n für das <strong>Web</strong>-<strong>IO</strong> vergebenen Namen in die <strong>Web</strong>seite<br />
ein.<br />
<strong>de</strong>vice_text Fügt die für das <strong>Web</strong>-<strong>IO</strong> hinterlegte Beschreibung in die<br />
<strong>Web</strong>seite ein.<br />
location Fügt <strong>de</strong>n für Location hinterlegten Eintrag in die <strong>Web</strong>seite ein<br />
contact Fügt <strong>de</strong>n für Contact hinterlegten Eintrag in die <strong>Web</strong>seite ein<br />
inputx Fügt die für Input Nr. x festgelegte Bezeichnung ein.<br />
x kann sich dabei zwischen 0-11 bewegen und gibt<br />
an auf welchen Input sich <strong>de</strong>r Aufruf bezieht.<br />
Das gilt auch für die im Folgen<strong>de</strong>n beschriebenen<br />
Output- und Counter-Aufrufe.<br />
ix Gibt <strong>de</strong>n Zustand (ON/OFF) <strong>de</strong>s x entsprechen<strong>de</strong>n Inputs<br />
wie<strong>de</strong>r.<br />
bcix Stellt <strong>de</strong>n Hintergrund eines Tabellenfel<strong>de</strong>s abhängig vom<br />
Zustand <strong>de</strong>s Input x dar.<br />
OFF = keine Hintergrund Farbe, ON = grün.<br />
cx Fügt <strong>de</strong>n Zählerstand <strong>de</strong>s Counters für Input x in die<br />
<strong>Web</strong>seite ein.<br />
outputx Fügt die für Output Nr. x festgelegte Bezeichnung ein.<br />
ox Gibt <strong>de</strong>n Zustand (ON/OFF) <strong>de</strong>s x entsprechen<strong>de</strong>n Outputs<br />
wie<strong>de</strong>r. Bei Login mit Config- o<strong>de</strong>r Administratorrechten, ist<br />
die Zustandsangabe mit einem Hyperlink ausgestattet. Durch<br />
Mouse-Klick auf diesen Link wechselt <strong>de</strong>r entsprechen<strong>de</strong><br />
Output seinen Zustand und die <strong>Web</strong>seite wird aktualisiert.<br />
bcox Stellt <strong>de</strong>n Hintergrund eines Tabellenfel<strong>de</strong>s abhängig vom<br />
Zustand <strong>de</strong>s Output x dar.<br />
OFF = keine Hintergrund Farbe, ON = grün.<br />
access:xxxx:yyyy Kann an einem Link auf die Seiten home.htm, user.htm o<strong>de</strong>r<br />
in<strong>de</strong>x.htm hinzugefügt wer<strong>de</strong>n. Bei Administrator-Login<br />
wer<strong>de</strong>n mehrere Outputs gleichzeitig geschaltet.<br />
xxxx gibt in hexa<strong>de</strong>zimaler Schreibweise an, welche Outputs<br />
sich än<strong>de</strong>rn dürfen.<br />
yyyy gibt in hexa<strong>de</strong>zimaler Schreibweise an, in welchen<br />
Zustand die Outputs geschaltet wer<strong>de</strong>n sollen.<br />
time Fügt die Systemzeit und das Datum <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> in die<br />
<strong>Web</strong>seite ein.<br />
reload_button Fügt einen Button mit <strong>de</strong>r Funktion reload in die <strong>Web</strong>seite ein.<br />
session Bei Login mit Operator- o<strong>de</strong>r Administratorrechten, generiert<br />
das <strong>Web</strong>-<strong>IO</strong> eine Session-ID. Bei erneutem Seitenaufruf<br />
muss diese Session-ID als Parameter angegeben wer<strong>de</strong>n,<br />
damit z.B. bei Rücksprung über einen Link, die Zugriffsrechte<br />
erhalten bleiben.<br />
Ein Beispiel für die Verwendung von W&T-Tags<br />
Der im folgen<strong>de</strong> HTML-Quelltext zeigt <strong>de</strong>n Umgang mit <strong>de</strong>n<br />
W&T-Tags:<br />
Da die W&T-Tages beim erst La<strong>de</strong>n in <strong>de</strong>n Browser vom <strong>Web</strong>-<strong>IO</strong><br />
gegen die tatsächlichen Inhalte ersetzt wer<strong>de</strong>n, muss die <strong>Web</strong>seite<br />
zunächst ins <strong>Web</strong>-<strong>IO</strong> gespeichert wer<strong>de</strong>n.<br />
170
W&T Eigene <strong>Web</strong>-Anwendungen<br />
In diesem Fall als user-Seite.<br />
<br />
<br />
<br />
<br />
<br />
<br />
Damit die Inhalte <strong>de</strong>r W&T-Tags richtig angezeigt wer<strong>de</strong>n muss<br />
das Sylesheet style.css verlinkt wer<strong>de</strong>n<br />
<strong>W&</strong>;T <strong>Web</strong>-<strong>IO</strong> Home<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Inputs<br />
State<br />
Counter<br />
Outputs<br />
State<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
171
W&T Eigene <strong>Web</strong>-Anwendungen<br />
last update: <br />
<br />
Reload <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong><br />
Homepage<br />
<br />
<br />
<br />
Im Browser stellt sich die Seite so dar:<br />
Links und Rücklinks<br />
Einige Anwendungen machen es ggf. nötig, von <strong>de</strong>r User- o<strong>de</strong>r<br />
Home-Seite <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> auf eine <strong>Web</strong>seite zu verlinken, die auf<br />
einem an<strong>de</strong>ren HTTP-Server liegt.<br />
Wird danach durch einen Rücklink wie<strong>de</strong>r auf eine Seite <strong>de</strong>s<br />
<strong>Web</strong>-<strong>IO</strong> zurücknavigiert, geschieht dies mit Standard-User Zugriffsrechten,<br />
auch wenn vorher ein Administrator- o<strong>de</strong>r Operator-Login<br />
bestand.<br />
Um einen Rücklink mit <strong>de</strong>n bestehen<strong>de</strong>n Zugriffsrechten zu ermöglichen,<br />
gibt es das Tag. Dieses Tag<br />
ist Platzhalter für eine Session-ID.<br />
Der entsprechen<strong>de</strong> Link müsste dann in die Seite eingefügt wer<strong>de</strong>n<br />
wie folgt:<br />
Testlink <br />
172
W&T Eigene <strong>Web</strong>-Anwendungen<br />
Wird <strong>de</strong>r Link aufgerufen, ersetzt das <strong>Web</strong>-<strong>IO</strong> das Session-Tag<br />
durch die Session-ID und übergibt diese an die neuaufgerufene<br />
<strong>Web</strong>seite.<br />
Um die Session-ID für einen Rücklink einzusetzen, muss in die<br />
Fremdseite ein kleines JavaScript eingefügt wer<strong>de</strong>n, welches die<br />
Session-ID bei Aufruf <strong>de</strong>r Seite entgegennimmt und in <strong>de</strong>n<br />
Rücklink einsetzt.<br />
<br />
<br />
session=window.location.search<br />
function setbacklink() {<br />
var backlinkurl = "http://172.16.232.17/in<strong>de</strong>x.htm";<br />
var backlink = backlinkurl.concat(session);<br />
window.location.href = backlink;<br />
}<br />
<br />
Im Body-Bereich <strong>de</strong>r Seite kann dann die Funktion setbacklink<br />
als Hyperlink eingesetzt wer<strong>de</strong>n.<br />
<br />
<br />
Es wird nun mit <strong>de</strong>r übergebenen Session eine Testseite aufgerufen.<br />
Aufruf Testseite<br />
<br />
<br />
So ist sichergestellt, dass nach Rücksprung zum <strong>Web</strong>-<strong>IO</strong> die Zugriffsberechtigung<br />
erhalten bleibt.<br />
Dynamische <strong>Web</strong>seiten mit JavaScript und AJAX-Technik<br />
Der aktuelle Status von Inputs, Outputs und Countern kann<br />
über HTTP-Requests beim <strong>Web</strong>-<strong>IO</strong> abgefragt wer<strong>de</strong>n.<br />
Folgen<strong>de</strong> HTTP-Requests wer<strong>de</strong>n vom <strong>Web</strong>-<strong>IO</strong> unterstützt:<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
173
W&T Eigene <strong>Web</strong>-Anwendungen<br />
HTTP-Request Parameter Beschreibung<br />
inputx ?PW=password&<br />
An Stelle von password, muss das<br />
Administrator- o<strong>de</strong>r Configpasswort<br />
eingesetzt wer<strong>de</strong>n.<br />
Wur<strong>de</strong> kein Passwort vergeben, wird<br />
"PW=&" angegeben.<br />
(gilt für alle Kommandos!)<br />
174<br />
Anfor<strong>de</strong>rung <strong>de</strong>s Inputstatus<br />
x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Input an.<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"inputx;" gefolgt vom Input-Status:<br />
ON = Signal am Input und<br />
OFF = kein Signal am Input<br />
Wird x komplett weggelassen, gibt das <strong>Web</strong>-<strong>IO</strong> ein <strong>de</strong>n<br />
Input-Signalen entsprechen<strong>de</strong>s Bitmuster in hexa<strong>de</strong>zimaler<br />
Schreibweise zurück.<br />
counterx ?PW=password& Anfor<strong>de</strong>rung <strong>de</strong>s Counterwertes<br />
x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Input an.<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"counterx;". Der Zählerstand <strong>de</strong>s gewählten Counters<br />
wird in <strong>de</strong>zimaler Schreibweise angefügt.<br />
counter ?PW=password& Anfor<strong>de</strong>rung aller Counter-Werte<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"counter;". Die Zählerstän<strong>de</strong> wer<strong>de</strong>n mit Semikolon<br />
getrennt in <strong>de</strong>zimaler Schreibweise angefügt.<br />
outputx ?PW=password& Anfor<strong>de</strong>rung <strong>de</strong>s Outputstatus<br />
x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Output an.<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"outputx;" gefolgt vom Output-Status:<br />
ON = Signal am Output und<br />
OFF = kein Signal am Output<br />
Wird x komplett weggelassen, gibt das <strong>Web</strong>-<strong>IO</strong> ein <strong>de</strong>n<br />
Output-Signalen entsprechen<strong>de</strong>s Bitmuster in<br />
hexa<strong>de</strong>zimaler Schreibweise zurück.<br />
outputaccessx ?PW=password&<br />
[Mask=XXXX&]<br />
State=ON/OFF/YYYY&<br />
ON: Output = 1,<br />
OFF: Output = 0,<br />
TOGGLE: Output wechselt Zustand<br />
XXXX: Hex-Wert zwischen 0000 und<br />
0FFF entsprechend <strong>de</strong>r Bits die<br />
gesetzt wer<strong>de</strong>n sollen<br />
YYYY: Hex-Wert zwischen 0000 und<br />
0FFF entsprechend <strong>de</strong>m<br />
Ausgangsbitmuster.<br />
Setzen eines o<strong>de</strong>r mehrerer Outputs<br />
x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Output an,<br />
<strong>de</strong>r gesetzt wer<strong>de</strong>n soll.<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"output;" gefolgt von einem <strong>de</strong>n Output-Signalen<br />
entsprechen<strong>de</strong>n Bitmuster in hexa<strong>de</strong>zimaler Schreibweise.<br />
Die Angabe von Mask ist optional. Wird Mask nicht<br />
mitgesen<strong>de</strong>t, gilt das outputaccess Kommando für alle<br />
Outputs.<br />
counterclearx ?PW=password&<br />
Setzt <strong>de</strong>n Zählerstand eines Counters. Wird <strong>de</strong>r Parameter<br />
[Set=value&]<br />
Set nicht mitgesen<strong>de</strong>t, ist die Voreinstellung 0.<br />
value: Zählervoreinstellung, x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Input an,<br />
Wert zwischen<br />
<strong>de</strong>ssen Counter zurückgesetzt wer<strong>de</strong>n soll.<br />
0 und 2 Milliar<strong>de</strong>n<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"counterx;". Der neue Zählerstand <strong>de</strong>s gewählten<br />
Counters wird in <strong>de</strong>zimaler Schreibweise angefügt.<br />
Wird x nicht angegeben, wer<strong>de</strong>n alle Counter gesetzt.<br />
allout ?PW=password& Sammelanfor<strong>de</strong>rung <strong>de</strong>r Input, Output-Zustän<strong>de</strong> und aller<br />
Counterwerte.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit einem String folgen<strong>de</strong>n Aufbaus:<br />
input;0xxx;output;0xxx;counter;n0;n1;n2,...<br />
0xxx entspricht dabei <strong>de</strong>m Status <strong>de</strong>r Inputs bzw. Outputs<br />
in hexa<strong>de</strong>zimaler Schreibweise.<br />
n0,n1 usw. enthalten die Zählestän<strong>de</strong> in <strong>de</strong>zimaler<br />
Darstellung
W&T Eigene <strong>Web</strong>-Anwendungen<br />
HTTP-Request Parameter Beschreibung<br />
time ?PW=password& Gibt die systemzeit <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> im Format:<br />
DD.MM.YYYY,hh:mm:ss zurück.<br />
D=Tag, M=Monat, Y=Jahr,<br />
settime ?PW=password&<br />
time=DD.MM.YYYY,hh:mm:ss&<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
h=Stun<strong>de</strong>, m=Minute, s=Sekun<strong>de</strong><br />
Setzt die Systemzeit <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> auf <strong>de</strong>n mit<br />
time übergebenen Wert<br />
diagnosis ?PW=password& For<strong>de</strong>rt <strong>de</strong>n Status <strong>de</strong>s Diagnosespeichers an.<br />
Das <strong>Web</strong>-<strong>IO</strong> gibt zurück:<br />
diagnosis;0000;00000000;00000000,00000000<br />
<strong>de</strong>r vierstellige Wert gibt die Anzahl <strong>de</strong>r gespeicherten<br />
Meldungen an.<br />
Bei <strong>de</strong>n drei achtstelligen hexa<strong>de</strong>zimalen Werten steht je<strong>de</strong>s<br />
gesetzte Bit stellvertretend für eine <strong>de</strong>r 92 moglichen<br />
Meldungen.<br />
diagnosisx ?PW=password& Mit x wird <strong>de</strong>r In<strong>de</strong>x für eine <strong>de</strong>r aktuell<br />
gespeicherten Meldungen angegeben.<br />
Als Rückgabe sen<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> <strong>de</strong>n<br />
entsprechen<strong>de</strong>n Meldungstext.<br />
x darf nicht größer sein als die Anzahl<br />
<strong>de</strong>r aktuell anliegen<strong>de</strong>n Meldungen.<br />
diaglistx ?PW=password& Gibt die Meldungen zu <strong>de</strong>n einzelnen Meldungsbits zurück<br />
(max. 92)<br />
diagclear ?PW=password& Löscht <strong>de</strong>n Meldungsspeicher<br />
errorclear ?PW=password& Löscht Load-Fehler und gibt die betroffenen Outputs wie<strong>de</strong>r<br />
frei.<br />
Siehe Kapitel Diagnose und Test<br />
modbusreg ?PW=password& Gibt bei aktivierter Modbus-Unterstützung die 128 Byte<br />
virtuellen Speicher zurück, die vom Modbus-Master frei<br />
beschrieben wer<strong>de</strong>n können:<br />
modbus;;;.....;<br />
Es wer<strong>de</strong>n alle 128 Byte mit Semikolon getrennt als<br />
Hexa<strong>de</strong>zimalzahl übergeben.<br />
Ein Beispiel für die Verwendung von HTTP-Requests<br />
Das folgen<strong>de</strong> Beispiel zeigt, wie mit Hilfe von JavaScript und<br />
HTTP-Requests (AJAX-Technik) eine selbstaktualisieren<strong>de</strong> <strong>Web</strong>seite<br />
für das <strong>Web</strong>-<strong>IO</strong> aufgebaut wer<strong>de</strong>n kann. Hier zunächst <strong>de</strong>r<br />
reine HTML-Anteil <strong>de</strong>r <strong>Web</strong>seite, <strong>de</strong>r quasi als Anzeigegerüst für<br />
die AJAX-Technik dient:<br />
<br />
<br />
<br />
<br />
<br />
<strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong>, User<br />
<br />
* { font-family:arial; }<br />
table { font-size:14px; }<br />
.bor<strong>de</strong>rLeft { bor<strong>de</strong>r-left:1px solid #000000; }<br />
.button { font-size:9px; width:40px; }<br />
175
W&T Eigene <strong>Web</strong>-Anwendungen<br />
.ce { text-align:center; }<br />
.<strong>de</strong>scription { font-size:18px; text-align:center; }<br />
.info { font-size:10px; text-align:center; }<br />
.italic { font-style:italic; }<br />
.name { font-size:20px; font-weight:bold; text-align:center }<br />
.si<strong>de</strong>Space { padding-left:5px; padding-right:5px; }<br />
.table { background-color:#d6e8ff; bor<strong>de</strong>r-collapse:collapse;<br />
bor<strong>de</strong>r:1px solid #000000; }<br />
.whiteBack { background-color:#ffffff; }<br />
<br />
<br />
hier steht eigentlich <strong>de</strong>r JavaScript-Teil <strong>de</strong>r Seite, <strong>de</strong>r im Folgen<strong>de</strong>n<br />
näher beschrieben wird.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Inputs<br />
State<br />
Counter<br />
Clear<br />
Outputs<br />
State<br />
Switch<br />
<br />
<br />
<br />
-<br />
-<br />
<br />
176
W&T Eigene <strong>Web</strong>-Anwendungen<br />
<br />
<br />
<br />
-<br />
<br />
<br />
<br />
<br />
<br />
<br />
-<br />
-<br />
<br />
<br />
<br />
<br />
-<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Im Browser sieht das so aus:<br />
Die nachfolgend gezeigten Funktionen stützen sich auf zwei<br />
Grundtechniken:<br />
. I<strong>de</strong>ntifikation und nachträgliche Verän<strong>de</strong>rung eines HTML-<br />
Objektes durch ein<strong>de</strong>utige ID<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
177
W&T Eigene <strong>Web</strong>-Anwendungen<br />
. Kommunikation mit <strong>de</strong>m Server (<strong>Web</strong>-<strong>IO</strong>) nach La<strong>de</strong>n <strong>de</strong>r<br />
<strong>Web</strong>-Seite durch HTTP-Requests<br />
Das zur <strong>Web</strong>-Seite gehören<strong>de</strong> JavaScript macht sich diese bei<strong>de</strong>n<br />
Techniken zunutze.<br />
Zunächst wird mit maxi und maxo festgelegt, wieviele Inputs<br />
und Outputs unterstützt wer<strong>de</strong>n sollen. Es wird eine Variable<br />
applicationsstep für die verschie<strong>de</strong>nen Programmschritte <strong>de</strong>finiert.<br />
Als Abfrageintervall wer<strong>de</strong>n 500ms festgelegt und es wird<br />
eine Variable für das Passwort angelegt.<br />
var maxi = 2;<br />
var maxo = 2;<br />
var applicationstep = 0;<br />
var interval = 500;<br />
var iopassword = '';<br />
Die Funktion HextoInt erlaubt die Umrechnung von hexa<strong>de</strong>zimalen<br />
Zahlen in Ganzzahlenwerte (wird benötigt, wenn mit<br />
mehr als 2 <strong>IO</strong>s gearbeitet wird, da die Zustandsübergabe dann<br />
hexa<strong>de</strong>zimal erfolgt).<br />
function HexToInt(HexStr)<br />
{ var TempVal;<br />
var HexVal=0;<br />
for( var i=0; i 57)<br />
{ TempVal = HexStr.charCo<strong>de</strong>At(i) - 55;<br />
}<br />
else<br />
{ TempVal = HexStr.charCo<strong>de</strong>At(i) - 48;<br />
}<br />
HexVal=HexVal+TempVal*Math.pow(16, HexStr.length-i-1);<br />
}<br />
return HexVal;<br />
}<br />
Die Funktion CommandLoop setzt die HTTP-Requests zusammen<br />
und übergibt sie an die DataRequest Funktion.<br />
178
W&T Eigene <strong>Web</strong>-Anwendungen<br />
function CommandLoop()<br />
{ var commandstring ='';<br />
applicationstep++;<br />
switch(applicationstep)<br />
{ case 1:<br />
commandstring = 'input?PW=' + iopassword + '&';<br />
break;<br />
case 2:<br />
commandstring = 'output?PW=' + iopassword + '&';<br />
break;<br />
case 3:<br />
commandstring = 'counter?PW=' + iopassword + '&';<br />
applicationstep = 0;<br />
break;<br />
}<br />
DataRequest(commandstring);<br />
maintimer = setTimeout("CommandLoop()", interval);<br />
}<br />
Die Funktion DataRequest ist das Herzstück dieses<br />
JavaScriptes. Sie nimmt <strong>de</strong>n HTTP-Request entgegen und sen<strong>de</strong>t<br />
ihn an <strong>de</strong>n Server (das <strong>Web</strong>-<strong>IO</strong>). Die Funktion DataRequest<br />
nimmt aber auch die Antwort <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> entgegen und übergibt<br />
sie an die Funktion updateDisplay.<br />
function DataRequest(SendString)<br />
{ var xmlHttp;<br />
if( window.ActiveXObject ) // Internet Explorer<br />
{ xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );<br />
}<br />
else if(window.XMLHttpRequest ) // Mozilla, Opera und Safari<br />
{ xmlHttp = new XMLHttpRequest();<br />
}<br />
if (xmlHttp)<br />
{ xmlHttp.onreadystatechange = function()<br />
{ if (xmlHttp.readyState == 4)<br />
{ if (xmlHttp.status == 200)<br />
{ if (xmlHttp.responseText.length > 0)<br />
{ updateDisplay(xmlHttp.responseText);<br />
}<br />
xmlHttp=null;<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
179
W&T Eigene <strong>Web</strong>-Anwendungen<br />
}<br />
180<br />
}<br />
}<br />
}<br />
}<br />
xmlHttp.open("GET", SendString, true);<br />
xmlHttp.setRequestHea<strong>de</strong>r("Connection", "close");<br />
xmlHttp.setRequestHea<strong>de</strong>r("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");<br />
xmlHttp.send(null);<br />
Die Funktion updateDisplay wertet die Antwort <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> aus<br />
und passt die Anzeige im Browser entsprechend an. Dazu wird<br />
geprüft, ob sich die Antwort <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> auf Inputs, Outputs<br />
o<strong>de</strong>r Counter bezieht. Über document.getElementById(ID) i<strong>de</strong>ntifiziert<br />
JavaScript die zu än<strong>de</strong>rn<strong>de</strong>n Objekte und passt <strong>de</strong>ren<br />
Eigenschaften <strong>de</strong>m aktuellen <strong>IO</strong>-Status an.<br />
function updateDisplay(ReceiveStr)<br />
{ var HexVal;<br />
var state;<br />
var ReceiveData = ReceiveStr.split(';')<br />
// Display Intput state<br />
if (ReceiveData[ReceiveData.length - 2].substring(0, 1) == 'i')<br />
{ HexVal = HexToInt(ReceiveData[ReceiveData.length - 1]);<br />
for (var i = 0; i < 2; i++)<br />
{ state = false;<br />
if ((HexVal & Math.pow(2, i)) == Math.pow(2, i))<br />
{ state = true;<br />
}<br />
document.getElementById('input'+i).firstChild.data = ( !state ) ? 'OFF' : 'ON';<br />
document.getElementById('input'+i).style.color<br />
= ( !state ) ? '#000000' : '#006600';<br />
document.getElementById('input'+i).style.fontWeight<br />
= ( !state ) ? 'normal' : 'bold';<br />
}<br />
}<br />
// Display Output state<br />
if (ReceiveData[ReceiveData.length - 2].substring(0, 1) == 'o')<br />
{ HexVal = HexToInt(ReceiveData[ReceiveData.length - 1]);<br />
for (var i = 0; i < 2; i++)<br />
{ state = false;
W&T Eigene <strong>Web</strong>-Anwendungen<br />
}<br />
if ((HexVal & Math.pow(2, i)) == Math.pow(2, i))<br />
{ state = true;<br />
}<br />
document.getElementById('output'+i).firstChild.data = ( !state ) ? 'OFF' : 'ON';<br />
document.getElementById('output'+i).style.color<br />
= ( !state ) ? '#000000' : '#006600';<br />
document.getElementById('output'+i).style.fontWeight<br />
= ( !state ) ? 'normal' : 'bold';<br />
}<br />
}<br />
//Display Counter<br />
if (ReceiveData.length - maxi - 1 >= 0)<br />
{ if (ReceiveData[ReceiveData.length - maxi - 1].substring(0, 1) == 'c')<br />
{ for (var i = 0; i < maxi; i++)<br />
{ document.getElementById('counter' + i).innerHTML<br />
= ReceiveData[ReceiveData.length - maxi + i]<br />
}<br />
}<br />
}<br />
//Display cleared Counter<br />
if (ReceiveData[ReceiveData.length - 2].substring(0, 1) == 'c')<br />
{ document.getElementById('counter'<br />
+ ReceiveData[ReceiveData.length - 2].substring(7, ReceiveData[ReceiveData.length -<br />
2].length)).innerHTML = ReceiveData[ReceiveData.length - 1];<br />
}<br />
Die Funktion setOutput sen<strong>de</strong>t das entsprechen<strong>de</strong> Kommando<br />
zum toggeln <strong>de</strong>s gewählten Output an die Funktion<br />
DataRequest.<br />
function setOutput(iNr)<br />
{ var commandstring = 'outputaccess'+iNr+'?PW='+iopassword+'&State=TOGGLE&';<br />
DataRequest(commandstring);<br />
}<br />
Die Funktion clearCounter sen<strong>de</strong>t das entsprechen<strong>de</strong> Kommando<br />
zum Löschen <strong>de</strong>s Zählerstan<strong>de</strong>s <strong>de</strong>s gewählten Input an die<br />
Funktion DataRequest.<br />
function clearCounter(iNr)<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
181
W&T Eigene <strong>Web</strong>-Anwendungen<br />
{ DataRequest('counterclear'+iNr+'?PW='+iopassword+'&');<br />
}<br />
Die Funktion setPassword übernimmt das eingegebene Passwort<br />
und schreibt es in die Variable iopassword, die Bestandteil <strong>de</strong>r<br />
Kommandostrings ist.<br />
function setPassword()<br />
{ iopassword = document.getElementById('pw').value;<br />
document.getElementById('pw').value = '';<br />
}<br />
1Die auf HTTP-Requests gestützte AJAX-Technik kann nur<br />
eingesetzt wer<strong>de</strong>n, wenn die <strong>Web</strong>seite aus <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong><br />
gela<strong>de</strong>n wird, das auch die Requests empfangen soll.<br />
Die hier gezeigten HTTP-Requests lassen sich gleichermaßen<br />
mit an<strong>de</strong>ren <strong>Web</strong>-Techniken wie z.B. PHP nutzen.<br />
Nutzen <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> eigenen Java-Applets<br />
Im Gegensatz zur AJAX-Technik können die <strong>IO</strong>-Zustän<strong>de</strong> <strong>de</strong>s<br />
<strong>Web</strong>-<strong>IO</strong>s mit Hilfe <strong>de</strong>s Java-Applets auch in <strong>Web</strong>seiten dynamisch<br />
angezeigt wer<strong>de</strong>n, die von einem Dritt-Server gela<strong>de</strong>n<br />
wer<strong>de</strong>n.<br />
Die Einbindung <strong>de</strong>s Applets erfolgt über das HTML-<br />
Tag, wobei die Standardparameter archiv und co<strong>de</strong> gesetzt wer<strong>de</strong>n<br />
wie folgt:<br />
archive="dio.jar"<br />
co<strong>de</strong>="dio.class"<br />
Die weiteren Parameter wer<strong>de</strong>n individuell passend zur Anwendung<br />
gesetzt<br />
name=“dio0“<br />
Der Bezeichner dio wur<strong>de</strong> hier willkürlich gewählt und kann gegen<br />
je<strong>de</strong>n beliebigen an<strong>de</strong>ren ersetzt wer<strong>de</strong>n. Es ist nur wichtig,<br />
dass beim Aufruf <strong>de</strong>r Applet-Funktionen durch JavaScript<br />
<strong>de</strong>r gleiche Name verwen<strong>de</strong>t wird.<br />
182
W&T Eigene <strong>Web</strong>-Anwendungen<br />
co<strong>de</strong>base="http://"<br />
Wird die <strong>Web</strong>seite, aus <strong>de</strong>r das Applet gela<strong>de</strong>n wird als user.htm<br />
o<strong>de</strong>r home.htm direkt aus <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> gela<strong>de</strong>n, kann auf <strong>de</strong>n<br />
Parameter co<strong>de</strong>base verzichtet wer<strong>de</strong>n.<br />
width="0" Angabe in Pixel<br />
height="0" Angabe in Pixel<br />
Da das Applet keine visuelle Komponente enthält, sollten width<br />
und hight immer gleich 0 sein.<br />
mayscript<br />
Diese Option erlaubt es <strong>de</strong>m Java-Applet, auf JavaScript-Co<strong>de</strong><br />
im HTML-Dokument zuzugreifen.<br />
Darüber hinaus können noch einige weitere <strong>Web</strong>-<strong>IO</strong> spezifische<br />
Parameter gesetzt wer<strong>de</strong>n, die jeweils in einem eigenen <br />
Tag eingefügt wer<strong>de</strong>n:<br />
<strong>de</strong>vice<br />
Ganzzahliger Wert zwischen 0 und 255. Der <strong>de</strong>vice Parameter<br />
dient zur Indizierung, wenn auf einer <strong>Web</strong>seite mehr als ein <strong>Web</strong>-<br />
<strong>IO</strong> bedient wer<strong>de</strong>n soll.<br />
Wird mit nur einem <strong>Web</strong>-<strong>IO</strong> gearbeitet, setzen Sie <strong>de</strong>n Wert auf<br />
0. Bei allen weiteren <strong>Web</strong>-<strong>IO</strong>, die in die <strong>Web</strong>seite eingebun<strong>de</strong>n<br />
wer<strong>de</strong>n, zählt <strong>de</strong>r Wert um 1 hoch.<br />
showerrors<br />
Treten bei <strong>de</strong>r Verwendung <strong>de</strong>s Java-Applets Fehler auf, kann<br />
über diesen Parameter festgelegt wer<strong>de</strong>n, ob eine Fehlermeldung<br />
in Form eines Alert-Fensters ausgegeben wer<strong>de</strong>n soll.<br />
inputpolling<br />
Mit Hilfe dieses Parameters wird beim Starten <strong>de</strong>s Applets festgelegt,<br />
ob die Inputs im unter pollingrate eingestellten Intervall<br />
auf ihren Zustand überprüft wer<strong>de</strong>n sollen.<br />
Als value kann für inputpolling on o<strong>de</strong>r off gesetzt wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
183
W&T Eigene <strong>Web</strong>-Anwendungen<br />
Um die Datenlast auf <strong>de</strong>m Netzwerk zu reduzieren, kann über<br />
<strong>de</strong>n Navigationsbaum <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> unter Config >> Device >><br />
Basic Settings >> HTTP <strong>de</strong>r Input Trigger für die zu überwachen<strong>de</strong>n<br />
Inputs gesetzt wer<strong>de</strong>n.<br />
In diesem Fall kann value auf off gesetzt wer<strong>de</strong>n. Es entsteht<br />
für die Aktualisierung <strong>de</strong>r Inputs dann nur noch Datenlast,<br />
wenn sich ein Input än<strong>de</strong>rt.<br />
Damit die Än<strong>de</strong>rungen <strong>de</strong>s Input Triggers wirksam wer<strong>de</strong>n,<br />
müssen die neuen Einstellungen unter Session Control >> Logout<br />
gespeichert wer<strong>de</strong>n.<br />
outputpolling<br />
Mit Hilfe dieses Parameters wird beim Starten <strong>de</strong>s Applets festgelegt,<br />
ob die Outputs im unter pollingrate eingestellten Intervall<br />
auf ihren Zustand überprüft wer<strong>de</strong>n sollen.<br />
Als value kann für outputpolling on o<strong>de</strong>r off gesetzt wer<strong>de</strong>n.<br />
counterpolling<br />
Mit Hilfe dieses Parameters wird beim Starten <strong>de</strong>s Applets festgelegt,<br />
ob die Counter im unter pollingrate eingestellten Intervall<br />
auf ihren Zustand überprüft wer<strong>de</strong>n sollen.<br />
Als value kann für outputpolling auf on o<strong>de</strong>r off gesetzt wer<strong>de</strong>n.<br />
184
W&T Eigene <strong>Web</strong>-Anwendungen<br />
pollingrate<br />
Mit diesem Parameter wird durch value festgelegt, in welchem<br />
Intervall (in ms) Inputs, Outputs o<strong>de</strong>r Counter aktualisiert wer<strong>de</strong>n<br />
sollen.<br />
Hier ein Beispiel:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
1Sowohl bei <strong>de</strong>n Parametern, als auch bei <strong>de</strong>n Werten,<br />
ist auf Groß- und Kleinschreibung zu achten.<br />
Die Verwendung <strong>de</strong>s Applets mit JavaScript<br />
Um mit <strong>de</strong>m Applet arbeiten zu können, müssen im Kopf <strong>de</strong>r<br />
<strong>Web</strong>-Seite entsprechen<strong>de</strong> JavaScript-Funktionen <strong>de</strong>klariert wer<strong>de</strong>n.<br />
Für <strong>de</strong>n rein lesen<strong>de</strong>n Zugriff sind das 4 Funktionen:<br />
Passwortschutz<br />
<br />
W&T Eigene <strong>Web</strong>-Anwendungen<br />
In je<strong>de</strong>m Fall darf setPassword erst aufgerufen wer<strong>de</strong>n, wenn<br />
das Java-Applet gestartet wur<strong>de</strong>, da es sonst zu Laufzeitfehlern<br />
kommt.<br />
i Ein<br />
Beispiel in <strong>de</strong>m das Passwort über ein Eingabefeld<br />
übergeben wird, fin<strong>de</strong>n Sie, wenn Sie im <strong>Web</strong>-<strong>IO</strong> die <strong>Web</strong>seite<br />
app.htm aufrufen.<br />
Lesen<strong>de</strong> Funktionen<br />
function inputChanged( iDevice, iNr, iVal )<br />
{ Programmco<strong>de</strong> <strong>de</strong>r beim Wechsel an <strong>de</strong>n Inputs ausgeführt wird}<br />
function outputChanged( iDevice, iNr, iVal )<br />
{ Programmco<strong>de</strong> <strong>de</strong>r beim Wechsel an <strong>de</strong>n Outputs ausgeführt wird}<br />
function counterChanged( iDevice, iNr, iVal )<br />
{ Programmco<strong>de</strong> <strong>de</strong>r bei Än<strong>de</strong>rung eines <strong>de</strong>n Counters ausgeführt wird}<br />
Die drei vorstehen<strong>de</strong>n Funktionen wer<strong>de</strong>n vom Applet aufgerufen,<br />
wenn eine Än<strong>de</strong>rung an <strong>de</strong>n Inputs bzw. <strong>de</strong>n Outputs o<strong>de</strong>r<br />
<strong>de</strong>n Countern erkannt wird. iDevice gibt an, bei welchen <strong>Web</strong>-<strong>IO</strong><br />
sich ein Wert geän<strong>de</strong>rt hat. Mit iNr wird übergeben, welcher Input,<br />
Output o<strong>de</strong>r Counter sich geän<strong>de</strong>rt hat. Die Variable iVal<br />
übergibt <strong>de</strong>n aktuellen Zustand.<br />
1Bitte beachten Sie, dass bei <strong>de</strong>n Namen <strong>de</strong>r Funktionen<br />
zwischen Groß- und Kleinschreibung unterschie<strong>de</strong>n<br />
wird.<br />
Der folgen<strong>de</strong> Quelltext zeigt ein kleines Beispiel für die dynamische<br />
Anzeige von Input 0.<br />
<br />
<br />
<br />
W&T Eigene <strong>Web</strong>-Anwendungen<br />
}<br />
}<br />
function setPassword()<br />
{ document.applets["dio0"].setPassword( 'wut');<br />
}<br />
//--><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
State of Input 0:<br />
OFF<br />
<br />
<br />
<br />
<br />
<br />
Das Beispiel beinhaltet nur die Funktion inputChanged, da im<br />
Bereich <strong>de</strong>s Applet-Tags nur das inputpolling aktiviert wur<strong>de</strong>.<br />
1Für die Verarbeitung <strong>de</strong>r Inputs, Outputs und Counter<br />
gilt: Ist das entsprechen<strong>de</strong> Polling aktiviert, muss die dazugehörige<br />
JavaScript Funktion im HTML-Text <strong>de</strong>klariert sein,<br />
damit es nicht zu Laufzeitfehlern kommt.<br />
1Soll das Passwort bei Aufruf <strong>de</strong>r <strong>Web</strong>-Seite<br />
automatisch übergeben wer<strong>de</strong>n, muss <strong>de</strong>r Aufruf <strong>de</strong>r<br />
setPassword Funktion hinter <strong>de</strong>m Applet-Tag stehen.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
187
W&T Eigene <strong>Web</strong>-Anwendungen<br />
Das Passwort ist in diesem Fall unverschlüsselt lesbar im Quelltext<br />
hinterlegt. Aus Sicherheitsgrün<strong>de</strong>n empfehlen wir <strong>de</strong>shalb<br />
die Passwortabfrage über ein Eingabefeld.<br />
Schreiben<strong>de</strong> Funktionen<br />
Um auch einen individuellen Zugriff auf die Outputs zu erlauben,<br />
stellt das Applet entsprechen<strong>de</strong> Funktionen zur Verfügung.<br />
function setOutput( iDevice, iOutput, iValue )<br />
{ iOut = 0;<br />
iOut |= Math.pow( 2, iOutput );<br />
document.applets["dio"+iDevice].outputAccess( iOut, iValue );<br />
}<br />
Wenn Sie per JavaScript auf die Outputs zugreifen möchten,<br />
sollte vorstehen<strong>de</strong> Funktion im Kopf <strong>de</strong>r <strong>Web</strong>seite eingefügt<br />
wer<strong>de</strong>n. iDevice gibt an, bei welchem <strong>Web</strong>-<strong>IO</strong> ein Output geschaltet<br />
wer<strong>de</strong>n soll. Über iOutput wird übergeben, welcher<br />
Output gesetzt wer<strong>de</strong>n soll, iValue wird auf 0x0FFF gesetzt<br />
wenn <strong>de</strong>r Output auf ON schalten soll. 0x000 entspricht OFF.<br />
Innerhalb <strong>de</strong>r Funktion wird das JavaScript-Kommando<br />
document.applets["dio"+iDevice].outputAccess( iOut, iValue )<br />
verwen<strong>de</strong>t. Wenn Sie mehr als einen Output gleichzeitig schalten<br />
möchten, können Sie dieses Kommando in eigenen Funktionen<br />
verwen<strong>de</strong>n. Die Variable iOut ist ein ganzzahliger 16Bitwert.<br />
Durch z.B. mathematische Funktionen o<strong>de</strong>r Übergabe von<br />
Konstanten können die Bits, die verän<strong>de</strong>rt wer<strong>de</strong>n sollen, auf 1<br />
gesetzt wer<strong>de</strong>n. In iValue wird für die einzelnen Bits angegeben,<br />
ob <strong>de</strong>r entsprechen<strong>de</strong> Output 0 (=OFF) o<strong>de</strong>r 1 (=ON) sein<br />
soll.<br />
Beispiel in hexa<strong>de</strong>zimaler Schreibweise:<br />
iOut = 0x0013, iValue = 0x0101<br />
In diesem Fall wer<strong>de</strong>n die Outputs 0 und 4 auf ON und <strong>de</strong>r Output<br />
1 auf 0 gesetzt. Alle an<strong>de</strong>ren Outputs bleiben unverän<strong>de</strong>rt.<br />
Eine weitere Funktion ist für das Löschen <strong>de</strong>r Counter vorhan<strong>de</strong>n<br />
188
W&T TCP / UDP - Kommandostrings<br />
function clearCounter( iDevice, iValue )<br />
{ iVal = 0;<br />
iVal |= Math.pow( 2, iValue );<br />
document.applets["dio"+iDevice].counterClear( iVal );<br />
}<br />
Beim Aufruf dieser Funktion wird über iValue übergeben, welcher<br />
<strong>de</strong>r Counter gelöscht wer<strong>de</strong>n soll.<br />
i Ein<br />
umfassen<strong>de</strong>s Beispiel für die Nutzung <strong>de</strong>s<br />
Java-Applets zeigt die <strong>Web</strong>seite app.htm, die im<br />
<strong>Web</strong>-<strong>IO</strong> aufgerufen wer<strong>de</strong>n kann.<br />
Aufruf: http:///app.htm<br />
5.6.2 Zugriff aus diversen Hochsprachen<br />
Für <strong>de</strong>n Zugriff über TCP/IP-Sockets bietet das <strong>Web</strong>-<strong>IO</strong> zwei Zugänge.<br />
Zugriff über:<br />
. Kommandostrings ASCII<br />
. Binärstrukturen BINARY<br />
Kommandostrings ASCII<br />
Je nach Konfiguration arbeitet das <strong>Web</strong>-<strong>IO</strong> in diesem Modus als<br />
TCP-Server, als TCP-Client o<strong>de</strong>r als UDP-Peer.<br />
Durch <strong>de</strong>n Austausch einfacher Kommandostrings können die<br />
Inputs und Counter gelesen bzw. die Outputs gesetzt wer<strong>de</strong>n.<br />
Das Lesen <strong>de</strong>r Inputs geschieht im Regelfall im Pollingverfahren.<br />
Eine ereignisgesteuerte Auswertung ist nur nach entsprechen<strong>de</strong>r<br />
Konfiguration möglich.<br />
Vorteile:<br />
. Da alle Hochsprachen wie z.B. Visual Basic, Visual Basic for<br />
Applications, Delphi, C, C++ ...usw. einen unkomplizierten<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
189
W&T TCP / UDP - Kommandostrings<br />
Umgang mit Stringvariablen erlauben, kommen auch ungeübte<br />
Programmierer sehr schnell zum gewünschten Ergebnis.<br />
. Unter TCP wird <strong>de</strong>r Port 80 (sonst HTTP) benutzt, <strong>de</strong>r in <strong>de</strong>n<br />
meisten Firewalls nicht gesperrt ist. Somit ist in aller Regel<br />
kein Eingriff in die Netzwerkinfrastruktur nötig.<br />
. Die Kombination aus <strong>de</strong>r Benutzung von Stringvariablen und<br />
TCP-Port 80 macht eine Integration in PHP und CGI-Scripte<br />
sehr einfach. Auch aus SPS und an<strong>de</strong>ren Microcontrollern<br />
kann das WEB-<strong>IO</strong> angesprochen wer<strong>de</strong>n, wenn eine<br />
Netzwerkanbindung vorhan<strong>de</strong>n ist.<br />
Nachteil:<br />
. Nur bedingt ereignisgesteuerte Programmierung möglich.<br />
Dadurch für zeitkritische Anwendungen nur eingeschränkt<br />
nutzbar.<br />
Fazit: Der Zugriff über Kommandostrings erlaubt es in kürzester<br />
Entwicklungszeit Anwendungen zu erstellen, bei <strong>de</strong>nen die<br />
Verarbeitungsgeschwindigkeit nicht die oberste Priorität hat.<br />
Binärstrukturen BINARY<br />
In diesem Modus kann das <strong>Web</strong>-<strong>IO</strong> als TCP-Client, TCP-Server<br />
o<strong>de</strong>r UDP-Peer arbeiten. Der Zugriff kann über ein Passwort geschützt<br />
wer<strong>de</strong>n.<br />
Für die verschie<strong>de</strong>nen Funktionen wie Lesen <strong>de</strong>r Inputs, Setzen<br />
<strong>de</strong>r Outputs usw. <strong>de</strong>finiert das <strong>Web</strong>-<strong>IO</strong> binäre Strukturen. Der<br />
Zugriff erfolgt ausschließlich durch Austausch dieser Strukturen.<br />
Vorteile:<br />
. Schnelle Kommunikation durch Verwendung von Strukturen.<br />
Die benötigten Statuswerte stehen an <strong>de</strong>finierter Stelle und<br />
es müssen keine Strings auf ihren Inhalt untersucht wer<strong>de</strong>n.<br />
. Durch ereignisgesteuerte Kommunikation kann die Anwendung<br />
auf Än<strong>de</strong>rungen an <strong>de</strong>n Inputs sofort reagieren<br />
. Hohe Anwendungssicherheit durch passwortgeschützten<br />
Zugriff möglich<br />
190
W&T TCP / UDP - Kommandostrings<br />
Nachteil:<br />
. In Hochsprachen die keine Binärstrukturen unterstützen,<br />
muss ein Workaround in Form von Binärstrings o<strong>de</strong>r Byte-<br />
Arrays geschaffen wer<strong>de</strong>n.<br />
Fazit: Für professionelle Anwendungen die eine hohe<br />
Verarbeitungsgeschwindigkeit benötigen, sollte <strong>de</strong>r BINARY Modus<br />
zum Einsatz kommen.<br />
Socketprogrammierung mit Kommandosstrings<br />
Um das <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> aus einfachen Anwendungsprogrammen<br />
anzusprechen, ist ein direkter Zugriff über TCP o<strong>de</strong>r UDP-Sockets<br />
möglich.<br />
Der Datenaustausch zwischen PC und <strong>Web</strong>-<strong>IO</strong> geschieht dabei<br />
durch die Übergabe von einfachen Kommandostrings.<br />
Die Kommandostrings bestehen aus:<br />
<strong>de</strong>r einleiten<strong>de</strong>n Sequenz: GET /<br />
<strong>de</strong>m eigentlichen Kommando: <br />
<strong>de</strong>m Trenner: ?<br />
und einem o<strong>de</strong>r mehreren Parametern: &
W&T TCP / UDP - Kommandostrings<br />
Kommandos Parameter Beschreibung<br />
GET /inputx ?PW=password&<br />
An Stelle von password, muss das<br />
Administrator- o<strong>de</strong>r Configpasswort<br />
eingesetzt wer<strong>de</strong>n.<br />
Wur<strong>de</strong> kein Passwort vergeben, wird<br />
"PW=&" angegeben.<br />
(gilt für alle Kommandos!)<br />
192<br />
Anfor<strong>de</strong>rung <strong>de</strong>s Inputstatus<br />
x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Input an.<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"inputx;" gefolgt vom Input-Status:<br />
ON = Signal am Input und<br />
OFF = kein Signal am Input<br />
Wird x komplett weggelassen, gibt das <strong>Web</strong>-<strong>IO</strong> ein <strong>de</strong>n<br />
Input-Signalen entsprechen<strong>de</strong>s Bitmuster in hexa<strong>de</strong>zimaler<br />
Schreibweise zurück.<br />
GET /counterx ?PW=password& Anfor<strong>de</strong>rung <strong>de</strong>s Counterwertes<br />
x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Input an.<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"counterx;". Der Zählerstand <strong>de</strong>s gewählten Counters<br />
wird in <strong>de</strong>zimaler Schreibweise angefügt.<br />
GET /counter ?PW=password& Anfor<strong>de</strong>rung aller Counter-Werte<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"counter;". Die Zählerstän<strong>de</strong> wer<strong>de</strong>n mit Semikolon<br />
getrennt in <strong>de</strong>zimaler Schreibweise angefügt.<br />
GET /outputx ?PW=password& Anfor<strong>de</strong>rung <strong>de</strong>s Outputstatus<br />
x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Output an.<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"outputx;" gefolgt vom Output-Status:<br />
ON = Signal am Output und<br />
OFF = kein Signal am Output<br />
Wird x komplett weggelassen, gibt das <strong>Web</strong>-<strong>IO</strong> ein <strong>de</strong>n<br />
Output-Signalen entsprechen<strong>de</strong>s Bitmuster in<br />
hexa<strong>de</strong>zimaler Schreibweise zurück.<br />
GET /outputaccessx ?PW=password&<br />
[Mask=XXXX&]<br />
State=ON/OFF/YYYY&<br />
[NA=ON&]<br />
ON: Output = 1,<br />
OFF: Output = 0,<br />
TOGGLE: Output wechselt Zustand<br />
XXXX: Hex-Wert zwischen 0000 und<br />
0FFF entsprechend <strong>de</strong>r Bits die<br />
gesetzt wer<strong>de</strong>n sollen<br />
YYYY: Hex-Wert zwischen 0000 und<br />
0FFF entsprechend <strong>de</strong>m<br />
Ausgangsbitmuster.<br />
GET /counterclearx ?PW=password&<br />
[Set=value&]<br />
value:<br />
Zählervoreinstellung,<br />
Wert zwischen<br />
0 und 2 Milliar<strong>de</strong>n<br />
Setzen eines o<strong>de</strong>r mehrerer Outputs<br />
x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Output an,<br />
<strong>de</strong>r gesetzt wer<strong>de</strong>n soll.<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"output;" gefolgt von einem <strong>de</strong>n Output-Signalen<br />
entsprechen<strong>de</strong>n Bitmuster in hexa<strong>de</strong>zimaler Schreibweise.<br />
Die Angabe von Mask ist optional. Wird Mask nicht<br />
mitgesen<strong>de</strong>t, gilt das outputaccess Kommando für alle<br />
Outputs.<br />
Mit NA=ON wird optional erreicht, dass vom <strong>Web</strong>-<strong>IO</strong> keine<br />
Antwort auf das outputaccess Kommando gesen<strong>de</strong>t wird.<br />
Setzt <strong>de</strong>n Zählerstand eines Counters. Wird <strong>de</strong>r Parameter<br />
Set nicht mitgesen<strong>de</strong>t, ist die Voreinstellung 0.<br />
x kann ein Wert zwischen 0-11 sein und gibt <strong>de</strong>n Input an,<br />
<strong>de</strong>ssen Counter zurückgesetzt wer<strong>de</strong>n soll.<br />
Die Rückmeldung <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist ein String beginnend mit<br />
"counterx;". Der neue Zählerstand <strong>de</strong>s gewählten<br />
Counters wird in <strong>de</strong>zimaler Schreibweise angefügt.<br />
Wird x nicht angegeben, wer<strong>de</strong>n alle Counter gesetzt.<br />
GET /allout ?PW=password& Sammelanfor<strong>de</strong>rung <strong>de</strong>r Input, Output-Zustän<strong>de</strong> und aller<br />
Counterwerte.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit einem String folgen<strong>de</strong>n Aufbaus:<br />
input;0xxx;output;0xxx;counter;n0;n1;n2,...<br />
0xxx entspricht dabei <strong>de</strong>m Status <strong>de</strong>r Inputs bzw. Outputs<br />
in hexa<strong>de</strong>zimaler Schreibweise.<br />
n0,n1 usw. enthalten die Zählestän<strong>de</strong> in <strong>de</strong>zimaler<br />
Darstellung
W&T TCP / UDP - Kommandostrings<br />
Kommandos Parameter Beschreibung<br />
GET /time ?PW=password& Gibt die systemzeit <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> im Format:<br />
DD.MM.YYYY,hh:mm:ss zurück.<br />
D=Tag, M=Monat, Y=Jahr,<br />
h=Stun<strong>de</strong>, m=Minute, s=Sekun<strong>de</strong><br />
GET /settime ?PW=password&<br />
Setzt die Systemzeit <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> auf <strong>de</strong>n mit<br />
time=DD.MM.YYYY,hh:mm:ss& time übergebenen Wert<br />
GET /diagnosis ?PW=password& For<strong>de</strong>rt <strong>de</strong>n Status <strong>de</strong>s Diagnosespeichers an.<br />
Das <strong>Web</strong>-<strong>IO</strong> gibt zurück:<br />
diagnosis;0000;00000000;00000000,00000000<br />
<strong>de</strong>r vierstellige Wert gibt die Anzahl <strong>de</strong>r gespeicherten<br />
Meldungen an.<br />
Bei <strong>de</strong>n drei achtstelligen hexa<strong>de</strong>zimalen Werten steht je<strong>de</strong>s<br />
gesetzte Bit stellvertretend für eine <strong>de</strong>r 92 moglichen<br />
Meldungen.<br />
GET /diagnosisx ?PW=password& Mit x wird <strong>de</strong>r In<strong>de</strong>x für eine <strong>de</strong>r aktuell<br />
gespeicherten Meldungen angegeben.<br />
Als Rückgabe sen<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> <strong>de</strong>n<br />
entsprechen<strong>de</strong>n Meldungstext.<br />
x darf nicht größer sein als die Anzahl<br />
<strong>de</strong>r aktuell anliegen<strong>de</strong>n Meldungen.<br />
GET /diaglistx ?PW=password& Gibt die Meldungen zu <strong>de</strong>n einzelnen Meldungsbits zurück<br />
(max. 92)<br />
GET /diagclear ?PW=password& Löscht <strong>de</strong>n Meldungsspeicher<br />
GET /errorclear ?PW=password& Löscht Load-Fehler und gibt die betroffenen Outputs wie<strong>de</strong>r<br />
frei.<br />
Siehe Kapitel Diagnose und Test<br />
TCP Kommunikation - das <strong>Web</strong>-<strong>IO</strong> als Server<br />
Vorbereitend muss festgelegt wer<strong>de</strong>n, welche <strong>de</strong>r Outputs für<br />
<strong>de</strong>n Zugriff über Kommandostrings zur Verfügung stehen sollen.<br />
Wählen Sie im Navigationsbaum Config >> Device >> Output<br />
Mo<strong>de</strong><br />
m Notwendige Zugriffsrechte: Administrator<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
193
W&T TCP / UDP - Kommandostrings<br />
Alle verwen<strong>de</strong>ten Outputs müssen für HTTP aktiviert sein<br />
(Werkseinstellung).<br />
Sollten Sie die Output-Modi verän<strong>de</strong>rt haben, klicken Sie auf <strong>de</strong>n<br />
Logout-Button. Durch Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n die<br />
Einstellungen übernommen.<br />
Das <strong>Web</strong>-<strong>IO</strong> arbeitet nun als TCP-Server, woraus sich unabhängig<br />
von <strong>de</strong>r verwen<strong>de</strong>ten Programmiersprache eine Dreiteilung<br />
<strong>de</strong>s Programmablaufes ergibt.<br />
1. Aufbau <strong>de</strong>r TCP-Verbindung<br />
Die Anwendung arbeitet in je<strong>de</strong>m Fall als Client und baut somit<br />
die TCP-Verbindung auf.<br />
Das Socket-Interface <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist in weiten Teilen an das<br />
HTTP-Protokoll angelehnt. Daraus ergibt sich, dass <strong>de</strong>r Listenport<br />
ab Werk auf TCP-Port 80 eingestellt ist bzw. <strong>de</strong>m konfigurierten<br />
HTTP Port entspricht.<br />
Soll ein abweichen<strong>de</strong>r Port benutzt wer<strong>de</strong>n, ist es möglich, <strong>de</strong>n<br />
HTTP Port unter Config >> Device >> Basic Settings >> HTTP zu<br />
än<strong>de</strong>rn.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Unter HTTP Port kann hier ein vom Standard Port 80 abweichen<strong>de</strong>r<br />
TCP Port für <strong>de</strong>n HTTP-Zugriff eingetragen wer<strong>de</strong>n.<br />
194
W&T TCP / UDP - Kommandostrings<br />
1Wird <strong>de</strong>r HTTP Port geän<strong>de</strong>rt, ist das <strong>Web</strong>-<strong>IO</strong> auch aus<br />
<strong>de</strong>m Browser nur noch über die zusätzliche Angabe <strong>de</strong>s<br />
gewählten HTTP Ports erreichbar.<br />
Das gilt auch für alle Konfigurationszugriffe.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Beispiel für HTTP Port = 85.<br />
1Zum Schutz vor blockieren<strong>de</strong>n TCP-Verbindungen hat<br />
das <strong>Web</strong>-<strong>IO</strong> auf <strong>de</strong>m HTTP Port einen Timer eingesetzt,<br />
<strong>de</strong>r die Verbindung 30 Sekun<strong>de</strong>n nach Verbindungsaufbau<br />
automatisch wie<strong>de</strong>r trennt, wenn keine syntaktisch<br />
korrekten Kommandos empfangen wur<strong>de</strong>n. Nach erfolgreichem<br />
Verbindungsaufbau sollte die Anwendung also immer<br />
z.B. eine Abfrage <strong>de</strong>r Outputs an das <strong>Web</strong>-<strong>IO</strong> sen<strong>de</strong>n.<br />
2. Kommunikation zwischen <strong>Web</strong>-<strong>IO</strong> und Anwendung<br />
Die normale Kommunikation fin<strong>de</strong>t im Pollingbetrieb statt. Das<br />
be<strong>de</strong>utet: die Client-Anwendung for<strong>de</strong>rt mit Hilfe <strong>de</strong>r Kommandostrings<br />
die gewünschten Werte an bzw. setzt die Outputs.<br />
Beispiel 1: Abfrage <strong>de</strong>s Status von Input 1, an <strong>de</strong>m ein Signal<br />
von +24V anliegt. Es wur<strong>de</strong> kein Administratorpasswort für das<br />
<strong>Web</strong>-<strong>IO</strong> vergeben.<br />
Die Anwendung sen<strong>de</strong>t folgen<strong>de</strong>n String zum <strong>Web</strong>-<strong>IO</strong>:<br />
GET /input1?PW=&<br />
Das <strong>Web</strong>-<strong>IO</strong> sen<strong>de</strong>t daraufhin zurück:<br />
input1;ON<br />
Beispiel 2: Setzen <strong>de</strong>r Outputs 0 und 1. Binär ergibt das 0011,<br />
was wie<strong>de</strong>rum 3 hexa<strong>de</strong>zimal ergibt.<br />
Das Administratorpasswort für das <strong>Web</strong>-<strong>IO</strong> lautet: „blau“<br />
Die Anwendung sen<strong>de</strong>t folgen<strong>de</strong>n String zum <strong>Web</strong>-<strong>IO</strong>:<br />
GET /outputaccess?PW=blau&State=3&<br />
195
W&T TCP / UDP - Kommandostrings<br />
Das <strong>Web</strong>-<strong>IO</strong> sen<strong>de</strong>t daraufhin zurück:<br />
output;3<br />
Bei <strong>Web</strong>-<strong>IO</strong> Boxen mit mehr als 2 Outputs wer<strong>de</strong>n die Werte<br />
vierstellig hexa<strong>de</strong>zimal übergeben (output;0003)<br />
1Das <strong>Web</strong>-<strong>IO</strong> arbeitet mit null-terminierten Strings!<br />
Das be<strong>de</strong>utet: alles was das <strong>Web</strong>-<strong>IO</strong> zur Anwendung sen<strong>de</strong>t,<br />
en<strong>de</strong>t mit einem 0-Character.<br />
Bei <strong>Web</strong>-<strong>IO</strong> mit Relaisausgängen, muss zwischen zwei Schaltvorgängen<br />
an einem Output ein Pause von min. 200ms eingehalten<br />
wer<strong>de</strong>n!<br />
Event-gesteuerte Benachrichtigung<br />
Einige Anwendungen machen es notwendig, dass Än<strong>de</strong>rungen<br />
an bestimmten Inputs automatisch über die bestehen<strong>de</strong><br />
TCP-Verbindung gemel<strong>de</strong>t wer<strong>de</strong>n.<br />
Ein Grund kann die Reduzierung <strong>de</strong>r Datenlast auf <strong>de</strong>m Netzwerk<br />
sein. Wer<strong>de</strong>n die Inputs in einem zyklischen Intervall abgefragt,<br />
erzeugt das eine kontinuierliche Datenlast. Ferner besteht<br />
die Gefahr, dass Än<strong>de</strong>rungen an <strong>de</strong>n Inputs während<br />
zweier Zyklen nicht erkannt wer<strong>de</strong>n.<br />
Um die Bedingungen für eine Event-gesteuerte Benachrichtigung<br />
festzulegen, wählen Sie im Navigationsbaum Config >><br />
Device >> Basic Settings >> HTTP<br />
m Notwendige Zugriffsrechte: Administrator<br />
196
W&T TCP / UDP - Kommandostrings<br />
Input Trigger<br />
Legen Sie hier fest, welche Inputs auf Zustandsän<strong>de</strong>rung überwacht<br />
wer<strong>de</strong>n sollen. Bei bestehen<strong>de</strong>r Verbindung sen<strong>de</strong>t das<br />
<strong>Web</strong>-<strong>IO</strong> automatisch <strong>de</strong>n neuen Zustand <strong>de</strong>r Inputs an die Anwendung.<br />
Einen Hea<strong>de</strong>r mitsen<strong>de</strong>n lassen<br />
Das <strong>Web</strong>-<strong>IO</strong> kann bei Bedarf <strong>de</strong>m gesen<strong>de</strong>t String einen<br />
Hea<strong>de</strong>r voranstellen, <strong>de</strong>r die IP-Adresse und <strong>de</strong>n Namen enthält.<br />
Beispiel:<br />
. Die IP-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist 10.40.22.126.<br />
. Als Device Name wur<strong>de</strong> unter Config >> Device >> Text „W&T<br />
<strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output“ eingegeben.<br />
. Mit GET /input?PW=& wur<strong>de</strong>n von <strong>de</strong>r Anwendung die Inputs<br />
abgefragt.<br />
Das <strong>Web</strong>-<strong>IO</strong> gibt zurück:<br />
10.40.22.126;W&T <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong><br />
Output;input;0000<br />
Wur<strong>de</strong> GET Hea<strong>de</strong>r enable aktiviert, wird <strong>de</strong>r Hea<strong>de</strong>r allen Datensendungen<br />
vom <strong>Web</strong>-<strong>IO</strong> vorangestellt.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
197
W&T TCP / UDP - Kommandostrings<br />
Wenn alle Bedingungen festgelegt wur<strong>de</strong>n, aktivieren Sie die<br />
neuen Einstellungen über Config >> Session<br />
Control >> LogOut.<br />
Benachrichtigung bei <strong>de</strong>finierten Inputmustern<br />
Bei einigen Anwendungen ist es sinnvoll, <strong>de</strong>n Zustand <strong>de</strong>r Inputs<br />
nur bei bestimmten Inputmustern zu erhalten.<br />
i Die<br />
hier beschriebene Art <strong>de</strong>r Benachrichtigung kann<br />
zwar parallel zum normalen Event-gesteuerten Betrieb<br />
verwen<strong>de</strong>t wer<strong>de</strong>n - das bringt aber in <strong>de</strong>r Praxis keine Vorteile,<br />
da in diesem Fall ja ohnehin bei je<strong>de</strong>r Än<strong>de</strong>rung eine Benachrichtigung<br />
erfolgt. Beim Auftreten <strong>de</strong>s festgelegten Inputmusters<br />
wür<strong>de</strong> also doppelt benachrichtigt.<br />
Um die Bedingungen für eine TCP-Alarmierung bei bestimmten<br />
Inputmustern festzulegen, wählen Sie im Navigationsbaum<br />
Config >> Device >> Alarm >> Alarm 1.<br />
m Notwendige Zugriffsrechte: Administrator<br />
198
W&T TCP / UDP - Kommandostrings<br />
Input Trigger<br />
Legen Sie hier fest, welche Inputs auf welchen Zustand überwacht<br />
wer<strong>de</strong>n sollen. Wenn mehrere Inputs in einem Alarm<br />
zur Überwachung aktiviert wer<strong>de</strong>n, besteht zwischen <strong>de</strong>n Bedingungen<br />
eine UND-Verknüpfung.<br />
Beispiel:<br />
In Alarm 1 wur<strong>de</strong> Input 0 auf ON aktiviert, Input 1 auf OFF.<br />
Ein Alarm wird nur dann an die TCP-Anwendung hochgereicht,<br />
wenn bei<strong>de</strong> Bedingungen erfüllt wer<strong>de</strong>n. Also Input 0= ON, Input<br />
1 = OFF.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
199
W&T TCP / UDP - Kommandostrings<br />
Interval<br />
Für die Alarmierung über eine bestehen<strong>de</strong> TCP-Verbindung ist<br />
es sinnvoll, hier <strong>de</strong>n Parameter E einzusetzen, damit nur einmalig<br />
bei Eintreten <strong>de</strong>r Alarmbedingung alarmiert wird.<br />
Enable<br />
Aktivieren Sie im Bereich Enable das Feld Send input to pending<br />
TCP connections.<br />
Übergeben Sie die gewählten Alarmbedingungen jeweils<br />
durch Klick auf <strong>de</strong>n Zwischenspeichern- Button an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wenn alle Alarmbedingungen festgelegt wur<strong>de</strong>n, aktivieren Sie<br />
die neuen Einstellungen über Config >> Session<br />
Control >> LogOut<br />
Nach einem Klick auf <strong>de</strong>n Speichern-Button wird das <strong>Web</strong>-<strong>IO</strong><br />
nun mit <strong>de</strong>n aktuellen Parametern neu gestartet.<br />
3. Schließen <strong>de</strong>r TCP-Verbindung<br />
Hier weicht das <strong>Web</strong>-<strong>IO</strong> in seinem Verhalten vom HTTP-Protokoll<br />
ab. Im Gegensatz zum HTTP-Protokoll ist es immer die Client-Anwendung,<br />
die eine Verbindung schließt.<br />
1Ausnahme: Bei Empfang eines fehlerhaften<br />
Kommandostrings been<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> sofort die<br />
Verbindung.<br />
TCP Kommunikation - das <strong>Web</strong>-<strong>IO</strong> als Client<br />
In einigen Anwendungsfällen ist es nötig, dass das <strong>Web</strong>-<strong>IO</strong> als<br />
Client arbeitet. In diesem Fall baut das <strong>Web</strong>-<strong>IO</strong> eine TCP-Verbindung<br />
zu einer Server-Applikation auf. Auslöser für <strong>de</strong>n<br />
Verbindungsaufbau kann eine Statusän<strong>de</strong>rung an einem <strong>de</strong>r In-<br />
200
W&T TCP / UDP - Kommandostrings<br />
puts sein o<strong>de</strong>r es kann ein zeitgesteuerter Verbindungsaufbau<br />
konfiguriert wer<strong>de</strong>n.<br />
Vorbereitend muss festgelegt wer<strong>de</strong>n, welche <strong>de</strong>r Outputs, nach<br />
Verbindungsaufbau für <strong>de</strong>n Zugriff über Kommando-Strings zur<br />
Verfügung stehen sollen.<br />
Wählen Sie im Navigationsbaum Config >> Device >> Output<br />
Mo<strong>de</strong><br />
m Notwendige Zugriffsrechte: Administrator<br />
Min<strong>de</strong>stens einer bzw. alle verwen<strong>de</strong>ten Outputs müssen für<br />
HTTP aktiviert sein.<br />
Sollten Sie die Output-Modi verän<strong>de</strong>rt haben, klicken Sie auf<br />
<strong>de</strong>n Zwischenspeichern-Button.<br />
Abschließend muss das <strong>Web</strong>-<strong>IO</strong> für die TCP-Client-Kommunikation<br />
konfiguriert und aktiviert wer<strong>de</strong>n.<br />
Wählen Sie im Navigationsbaum Config >> Basic Settings >><br />
HTTP-Client.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
201
W&T TCP / UDP - Kommandostrings<br />
HTTP Client<br />
Dieses Feld muss aktiviert wer<strong>de</strong>n, damit das <strong>Web</strong>-<strong>IO</strong> als TCP-<br />
Client arbeitet.<br />
Enable<br />
Aktivieren Sie dieses Feld, wenn <strong>de</strong>n Daten, die das <strong>Web</strong>-<strong>IO</strong><br />
an die Server-Anwendung sen<strong>de</strong>t, ein Hea<strong>de</strong>r vorangestellt<br />
wer<strong>de</strong>n soll.<br />
Beispiel:<br />
. Die IP-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist 10.40.22.126.<br />
. Als Device Name wur<strong>de</strong> unter Config >> Device >> Text<br />
„W&T <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output“ eingegeben.<br />
. Mit GET /input?PW=& wur<strong>de</strong>n von <strong>de</strong>r Server-Anwendung<br />
die Inputs abgefragt.<br />
Das <strong>Web</strong>-<strong>IO</strong> sen<strong>de</strong>t:<br />
10.40.22.126;W&T <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong><br />
Output;input;0000<br />
202
W&T TCP / UDP - Kommandostrings<br />
Wur<strong>de</strong> GET Hea<strong>de</strong>r enable aktiviert, wird <strong>de</strong>r Hea<strong>de</strong>r allen Datensendungen<br />
vom <strong>Web</strong>-<strong>IO</strong> vorangestellt. Bei Server-Anwendungen,<br />
die mehr als eine Verbindung annehmen können, kann so sehr<br />
einfach unterschie<strong>de</strong>n wer<strong>de</strong>n, von wo die Datensendung<br />
kommt.<br />
Local Port<br />
Tragen Sie im Feld Local Port <strong>de</strong>n gewünschten lokalen Port ein.<br />
Werksseitig ist AUTO voreingestellt und das <strong>Web</strong>-<strong>IO</strong> verwen<strong>de</strong>t<br />
<strong>de</strong>n nächsten freien Port.<br />
Server Port<br />
An dieser Stelle wird <strong>de</strong>r Port eingetragen, auf <strong>de</strong>m die Server-<br />
Anwendung die Verbindung entgegen nimmt.<br />
Server IP-Adress<br />
Hier wird die IP-Adresse <strong>de</strong>s PC eingegeben, zu <strong>de</strong>m verbun<strong>de</strong>n<br />
wer<strong>de</strong>n soll.<br />
Server URL<br />
URL-Adresse <strong>de</strong>s Servers - nur für <strong>Web</strong>-Anwendungen relevant<br />
Inactivity Timeout<br />
Nach <strong>de</strong>r hier eingestellten Timeout Zeit, been<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong><br />
automatisch die Verbindung zum Server. Die Timeout Zeit startet,<br />
sobald kein Datenverkehr mehr auf <strong>de</strong>r Verbindung stattfin<strong>de</strong>t.<br />
Input Trigger<br />
Hier müssen alle Inputs markiert wer<strong>de</strong>n, die bei Statusän<strong>de</strong>rung<br />
einen Verbindungsaufbau bzw. ein Input-Status Paket<br />
zur Server-Anwendung auslösen sollen.<br />
Time Trigger<br />
In diesem Bereich kann ein zeitgesteuerter Verbindungsaufbau<br />
konfiguriert wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
203
W&T TCP / UDP - Kommandostrings<br />
Die Syntax <strong>de</strong>r Zeiteinstellung ist an das in Linux/Unix verwen<strong>de</strong>te<br />
Cron-Format angelehnt. In einem Feld können mehrere Angaben<br />
mit Komma getrennt eingegeben wer<strong>de</strong>n.<br />
Das „*“ steht für je<strong>de</strong>n zulässigen ganzzahligen Wert.<br />
Beispiel: * im Feld Monat gilt für je<strong>de</strong>n Monat.<br />
Mit „-“ können Zeitspannen als Trigger bestimmt wer<strong>de</strong>n.<br />
Beispiel: 1-5 im Feld Wochentag be<strong>de</strong>utet Mo - Fr<br />
Wird <strong>de</strong>m eigentlichen Wert o<strong>de</strong>r Wertebereich ein „/“ nachgestellt,<br />
kann dahinter eine Zykluswert angegeben wer<strong>de</strong>n. Beispiel:<br />
0-23/2 im Feld Stun<strong>de</strong> ergibt alle zwei Stun<strong>de</strong>n einen<br />
Alarm, wenn auch die Bedingungen in <strong>de</strong>n an<strong>de</strong>ren Fel<strong>de</strong>rn erfüllt<br />
sind. Wildcards („*“) sind in Verbindung mit <strong>de</strong>m „/“ nicht<br />
erlaubt (*/2 wür<strong>de</strong> kein gesichertes Ergebnis bringen).<br />
Die oben ausgefüllten Fel<strong>de</strong>r be<strong>de</strong>uten also: je<strong>de</strong>n Monat, an<br />
je<strong>de</strong>m Montag bis Freitag, alle vollen zwei Stun<strong>de</strong>n.<br />
Übergeben Sie die gewählten Einstellungen durch Klick auf <strong>de</strong>n<br />
Zwischenspeichern-Button an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wenn alle Einstellungen festgelegt wur<strong>de</strong>n, aktivieren Sie<br />
diese über Config >> Session Control >> LogOut<br />
204
W&T TCP / UDP - Kommandostrings<br />
Nach einem Klick auf <strong>de</strong>n Speichern-Button arbeitet das <strong>Web</strong>-<strong>IO</strong><br />
als TCP-Client.<br />
Kommunikation zwischen <strong>Web</strong>-<strong>IO</strong> und Anwendung<br />
1. Aufbau <strong>de</strong>r TCP-Verbindung<br />
Die TCP-Verbindung wird nach <strong>de</strong>n konfigurierten Triggerbedingungen<br />
vom <strong>Web</strong>-<strong>IO</strong> aufgebaut.<br />
Nach erfolgreichem Verbindungsaufbau sen<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong><br />
<strong>de</strong>n Input-Status im Format<br />
input;0000<br />
an die Server-Anwendung.<br />
Der vierstellige Zahlenwert (beim 2fach <strong>Web</strong>-<strong>IO</strong> eine Stelle) gibt<br />
<strong>de</strong>n Inputstatus in hexa<strong>de</strong>zimaler Schreibweise wie<strong>de</strong>r.<br />
1Das <strong>Web</strong>-<strong>IO</strong> arbeitet mit Null-terminierten Strings!<br />
Das be<strong>de</strong>utet: alles was das <strong>Web</strong>-<strong>IO</strong> zur Anwendung sen<strong>de</strong>t,<br />
en<strong>de</strong>t mit einem 0-Character.<br />
2. Kommunikation zwischen <strong>Web</strong>-<strong>IO</strong> und Anwendung<br />
Bei bestehen<strong>de</strong>r Verbindung kann die Server-Anwendung, genau<br />
wie eine Client-Anwendung über Kommandostrings mit<br />
<strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> kommunizieren.<br />
3. Abbau <strong>de</strong>r TCP-Verbindung<br />
Der Verbindungsabbau wird vom <strong>Web</strong>-<strong>IO</strong> automatisch eingeleitet,<br />
wenn nach <strong>de</strong>m letzten Datenverkehr zwischen <strong>Web</strong>-<strong>IO</strong> und<br />
Server-Anwendung die eingestellte Timeout Zeit verstrichen ist.<br />
Natürlich kann auch die Server-Anwendung zu je<strong>de</strong>m beliebigen<br />
Zeitpunkt die Verbindung been<strong>de</strong>n.<br />
UDP-Kommunikation<br />
Zunächst muss das <strong>Web</strong>-<strong>IO</strong> für die Kommunikation via UDP-<br />
Kommandostrings aktiviert und <strong>de</strong>r lokale Port eingetragen<br />
wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
205
W&T TCP / UDP - Kommandostrings<br />
Wählen Sie im Navigationsbaum Config >> Basic Settings >><br />
UDP<br />
m Notwendige Zugriffsrechte: Administrator<br />
Port<br />
Tragen Sie im Feld Port <strong>de</strong>n gewünschten lokalen Port ein auf<br />
<strong>de</strong>m UDP Kommandos empfangen wer<strong>de</strong>n sollen. Werksseitig ist<br />
Port 42279 voreingestellt.<br />
Remote Port<br />
Tragen Sie im Feld Remote Port <strong>de</strong>n Port ein, an <strong>de</strong>n Datagramme<br />
vom <strong>Web</strong>-<strong>IO</strong> gesen<strong>de</strong>t wer<strong>de</strong>n sollen. Werksseitig ist das<br />
Feld leer, was be<strong>de</strong>utet, dass Antwort-Datagramme vom <strong>Web</strong>-<strong>IO</strong><br />
an <strong>de</strong>n Port zurückgehen, von <strong>de</strong>m die Kommandos auf <strong>de</strong>r Gegenseite<br />
gesen<strong>de</strong>t wur<strong>de</strong>n.<br />
Enable<br />
Aktivieren Sie das Feld UDP-enable.<br />
Übergeben Sie die gewählten Einstellungen durch Klick auf <strong>de</strong>n<br />
Zwischenspeichern-Button an das <strong>Web</strong>-<strong>IO</strong>.<br />
Ferner muss festgelegt wer<strong>de</strong>n, welche <strong>de</strong>r Outputs für <strong>de</strong>n Zugriff<br />
über Kommandostrings via UDP zur Verfügung stehen sollen.<br />
206
W&T TCP / UDP - Kommandostrings<br />
Wählen Sie im Navigationsbaum Config >> Device >> Output<br />
Mo<strong>de</strong>.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Alle verwen<strong>de</strong>ten Outputs müssen für UDP ASCII aktiviert sein.<br />
Sollten Sie die Output Modi verän<strong>de</strong>rt haben, klicken Sie auf <strong>de</strong>n<br />
Zwischenspeichern-Button und anschließend auf <strong>de</strong>n Link alle<br />
zwischengespeicherten Einstellungen speichern und aktivieren.<br />
Durch Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n die Einstellungen<br />
aktiviert.<br />
Kommunikation zwischen <strong>Web</strong>-<strong>IO</strong> und Anwendung<br />
Im Gegensatz zu TCP, gibt es bei <strong>de</strong>r Kommunikation über<br />
das UDP-Protokoll keine feste Verbindung zwischen <strong>de</strong>m<br />
<strong>Web</strong>-<strong>IO</strong> und <strong>de</strong>m an<strong>de</strong>ren Kommunikationspartner. Der Austausch<br />
von Daten fin<strong>de</strong>t über Datagramme statt.<br />
Die normale Kommunikation fin<strong>de</strong>t im Pollingbetrieb statt. Das<br />
be<strong>de</strong>utet, die Anwendung for<strong>de</strong>rt mit Hilfe <strong>de</strong>r Kommandostrings<br />
die gewünschten Werte an, bzw. setzt die Outputs.<br />
Die Antwort auf ein Polling sen<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> immer an die IP-<br />
Adresse <strong>de</strong>s anfragen<strong>de</strong>n Netzwerkteilnehmers zurück.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
207
W&T TCP / UDP - Kommandostrings<br />
Die Kommunikation erfolgt bis auf <strong>de</strong>n Verbindungsauf- und<br />
abbau i<strong>de</strong>ntisch mit <strong>de</strong>r bei TCP.<br />
Um unter UDP bei Zustandsän<strong>de</strong>rungen automatisch eine Meldung<br />
zu bekommen, stellt das <strong>Web</strong>-<strong>IO</strong> eine Fülle verschie<strong>de</strong>ner<br />
Alarmbedingungen zur Verfügung.<br />
i Eine<br />
208<br />
<strong>de</strong>taillierte Beschreibung zur Nutzung dieser<br />
Alarmmöglichkeiten fin<strong>de</strong>n Sie im Kapitel Alarme.<br />
Einen Hea<strong>de</strong>r mitsen<strong>de</strong>n lassen<br />
Das <strong>Web</strong>-<strong>IO</strong> kann bei Bedarf <strong>de</strong>m gesen<strong>de</strong>t String einen Hea<strong>de</strong>r<br />
voranstellen, <strong>de</strong>r die IP-Adresse und <strong>de</strong>n Namen enthält.<br />
Um <strong>de</strong>n Hea<strong>de</strong>r freizuschalten, wählen Sie im Navigationsbaum<br />
Config >> Basic Settings >> HTTP und markieren Sie GET Hea<strong>de</strong>r<br />
enable. Durch Klick auf Logout und Speichern wird das Versen<strong>de</strong>n<br />
<strong>de</strong>s Hea<strong>de</strong>rs aktiviert.<br />
Beispiel:<br />
. Die IP-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist 10.40.22.126.<br />
. Als Device Name wur<strong>de</strong> unter Config >> Device >> Text „W&T<br />
<strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong> Output“ eingegeben.<br />
. Mit GET /input?PW=& wur<strong>de</strong>n von <strong>de</strong>r Anwendung die Inputs<br />
abgefragt.
W&T TCP / UDP - Kommandostrings<br />
Das <strong>Web</strong>-<strong>IO</strong> gibt zurück:<br />
10.40.22.126;W&T <strong>Web</strong>-<strong>IO</strong> 2x <strong>Digital</strong> Input, 2x <strong>Digital</strong><br />
Output;input;0<br />
Wur<strong>de</strong> GET Hea<strong>de</strong>r enable aktiviert, wird <strong>de</strong>r Hea<strong>de</strong>r allen<br />
Datensendungen vom <strong>Web</strong>-<strong>IO</strong> vorangestellt.<br />
Programmgesteuertes Fehlermanagement<br />
Erkennt das <strong>Web</strong>-<strong>IO</strong> bei <strong>de</strong>r Abwicklung seiner Aufgaben einen<br />
o<strong>de</strong>r mehrere Fehler, wer<strong>de</strong>n diese gespeichert und sind über<br />
<strong>de</strong>n Navigationsbaum unter Diag einsehbar.<br />
Eine nähere Beschreibung hierzu fin<strong>de</strong>n Sie im Kapitel 6.6 Diagnose<br />
und Test.<br />
In einigen Anwendungen ist es gewünscht, das Fehlermanagement<br />
nicht manuell durch Ansehen einer <strong>Web</strong>seite<br />
abzuwickeln, son<strong>de</strong>rn Fehler automatisiert in einem Programm<br />
auszuwerten.<br />
Hierzu stellt das <strong>Web</strong>-<strong>IO</strong> einige Kommandostrings zur Verfügung,<br />
mit <strong>de</strong>nen gleichermaßen per TCP o<strong>de</strong>r UDP gearbeitet<br />
wer<strong>de</strong>n kann.<br />
Erstellen einer Liste möglicher Fehlermeldungen<br />
Das <strong>Web</strong>-<strong>IO</strong> kann maximal 92 verschie<strong>de</strong>ne Fehlertypen verwalten.<br />
Die tatsächliche Anzahl kann innerhalb dieser Grenze je<br />
nach Firmware-Stand variieren.<br />
Um einen Überblick über die möglichen Fehler zu bekommen,<br />
kann das Kommando<br />
GET /diaglistx?PW=password&<br />
an das <strong>Web</strong>-<strong>IO</strong> gesen<strong>de</strong>t wer<strong>de</strong>n.<br />
Für x wird ein Wert zwischen 0 und 92 eingesetzt. Anstelle von<br />
password setzen Sie das Administrator- o<strong>de</strong>r Operator-Passwort<br />
ein.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
209
W&T TCP / UDP - Kommandostrings<br />
Das <strong>Web</strong>-<strong>IO</strong> beantwortet die Anfrage mit <strong>de</strong>r entsprechen<strong>de</strong>n<br />
Fehlermeldung.<br />
diaglistx;errortext<br />
Beispiel:<br />
Sen<strong>de</strong>t die Anwendung zu <strong>Web</strong>-<strong>IO</strong> (Passwort = „wut“)<br />
GET /diaglist2?PW=wut&<br />
antwortet das <strong>Web</strong>-<strong>IO</strong> mit<br />
diaglist2;Formatfehler in <strong>de</strong>r DNS Anfrage<br />
Mit einer for next Schleife können über das diaglist Kommando<br />
alle möglichen Fehlermeldungen ausgelesen und als statische<br />
Liste abgespeichert wer<strong>de</strong>n. Im Binary-Modus zum Beispiel kann<br />
nur ermittelt wer<strong>de</strong>n wieviele Fehler aktuell vorliegen. Zusätzlich<br />
wer<strong>de</strong>n die zugehörigen Fehlernummern übergeben. Mit<br />
Hilfe <strong>de</strong>r statischen Fehlerliste kann dann ein lesbarer Fehler<br />
ausgegeben wer<strong>de</strong>n.<br />
Direktes Auswerten <strong>de</strong>r aktuellen Fehler<br />
Um <strong>de</strong>n aktuellen Fehlerstatus <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> zu bekommen, wird<br />
das Kommando<br />
GET /diagnosis?PW=password&<br />
verwen<strong>de</strong>t.<br />
Das <strong>Web</strong>-<strong>IO</strong> gibt daraufhin zurück<br />
diagnosis;iiii;yyyyyyyy;xxxxxxxx;zzzzzzzz<br />
mit iiii gibt das <strong>Web</strong>-<strong>IO</strong> die Anzahl <strong>de</strong>r aktuell vorliegen<strong>de</strong>n Fehler<br />
in vierstelliger, hexa<strong>de</strong>zimaler Schreibweise zurück.<br />
yyyyyyyy; xxxxxxxx,zzzzzzzz können für normale Standardanwendungen<br />
außer Acht gelassen wer<strong>de</strong>n.<br />
210
W&T TCP / UDP - Kommandostrings<br />
Für <strong>de</strong>n Programmierprofi: es han<strong>de</strong>lt sich bei yyyyyyyy;<br />
xxxxxxxx,zzzzzzzz um drei 32Bit Werte in jeweils achtstelliger<br />
hexa<strong>de</strong>zimaler Schreibweise. Die damit wie<strong>de</strong>rgegebenen 92<br />
Bit stehen stellvertretend für die 92 möglichen Fehlertypen. Mit<br />
Hilfe <strong>de</strong>r statischen Fehlerliste (siehe GET /diaglist...) können<br />
die einzelnen Bits <strong>de</strong>kodiert wer<strong>de</strong>n. Dabei wird das<br />
nie<strong>de</strong>rwertigste Bit rechts im x Bereich angezeigt und das<br />
höchstwertige links im y Bereich.<br />
Um die aktuellen Fehler als Fehlertext zu bekommen, stellt das<br />
<strong>Web</strong>-<strong>IO</strong> das Kommando<br />
GET /diagnosisx?PW=&<br />
zur Verfügung.<br />
x ist hierbei <strong>de</strong>r In<strong>de</strong>x für <strong>de</strong>n Fehler in <strong>de</strong>zimaler Schreibweise<br />
beginnend bei 1.<br />
Die Antwort vom <strong>Web</strong>-<strong>IO</strong> sieht dann so aus<br />
diagnosisx;errortext<br />
Im Gegensatz zu <strong>de</strong>n Fehlertexten die mit diaglist aus <strong>de</strong>m<br />
<strong>Web</strong>-<strong>IO</strong> gelesen wer<strong>de</strong>n, enthält <strong>de</strong>r Fehlertext bei diagnosis<br />
ggf. auch dynamische Elemente wie z.B. IP-Adressen o<strong>de</strong>r<br />
Portnummern.<br />
Ein Beispiel:<br />
Die Anwendung sen<strong>de</strong>t:<br />
GET /diagnosis?PW=wut&<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet:<br />
diagnosis;0005;00400040;008A0000;00000000<br />
Die Anwendung sen<strong>de</strong>t:<br />
GET /diagnosis1?PW=wut&<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
211
W&T TCP / UDP - Kommandostrings<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet:<br />
diagnosis1;Mail Server antwortet nicht.<br />
Die Anwendung sen<strong>de</strong>t:<br />
GET /diagnosis2?PW=wut&<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet:<br />
diagnosis2;Das Versen<strong>de</strong>n <strong>de</strong>r Mail wur<strong>de</strong> abgebrochen und wird wie<strong>de</strong>rholt.<br />
Die Anwendung sen<strong>de</strong>t:<br />
GET /diagnosis3?PW=wut&<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet:<br />
diagnosis3;Ziel IP-Adresse unbekannt: 172.16.232.8.<br />
Die Anwendung sen<strong>de</strong>t:<br />
GET /diagnosis4?PW=wut&<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet:<br />
diagnosis4;Watchdog Timer abgelaufen!<br />
Die Anwendung sen<strong>de</strong>t:<br />
GET /diagnosis5?PW=wut&<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet:<br />
diagnosis5;TCP Client Alarm: Server nicht erreicht.<br />
Löschen <strong>de</strong>s Fehlerspeichers<br />
Die Liste <strong>de</strong>r zur Laufzeit aufgetretenen Fehler bleibt im<br />
<strong>Web</strong>-<strong>IO</strong> gespeichert, auch wenn <strong>de</strong>r Fehler ggf. zum Zeitpunkt<br />
<strong>de</strong>r Abfrage nicht mehr vorliegt.<br />
212
W&T TCP / UDP - Binary<br />
Um <strong>de</strong>n Fehlerspeicher zu löschen wird das Kommando<br />
GET /diagclear?PW=password&<br />
verwen<strong>de</strong>t.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit<br />
diagnosis;0000;00000000;00000000<br />
wenn keine aktuellen Fehler mehr anliegen.<br />
1Bitte beachten Sie, dass die GET HEADER ENABLE<br />
Einstellung unter Config >> Device Basic Settings >><br />
HTTP auch <strong>de</strong>n Error und Diag-Meldungen einen Hea<strong>de</strong>r voranstellt.<br />
Auch das Anhängen <strong>de</strong>s 0-Characters wird bei <strong>de</strong>n Fehlermeldungen<br />
beibehalten.<br />
BINARY - Socketprogramme mit Binärstrukturen<br />
Das <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> stellt zwei eigenständige Socketzugänge,<br />
Binary 1 und Binary 2, für <strong>de</strong>n binären Datenaustausch zur<br />
Verfügung. Bei<strong>de</strong> können unabhängig voneinan<strong>de</strong>r genutzt und<br />
konfiguriert wer<strong>de</strong>n.<br />
Ob das <strong>Web</strong>-<strong>IO</strong> auf <strong>de</strong>m jeweiligen BINARY Socket als TCP-<br />
Server, TCP-Client o<strong>de</strong>r UDP-Peer arbeiten soll, hängt von<br />
<strong>de</strong>r gewünschten Applikation ab.<br />
Hier zunächst eine Übersicht, für welche Applikation das <strong>Web</strong>-<br />
<strong>IO</strong> in welchem Operationsmodus arbeitet.<br />
. Eigene Socket-Anwendung (ohne Passwortschutz) und Anwendungen,<br />
die ursprünglich für <strong>de</strong>n W&T <strong>Digital</strong>- EA-Com-<br />
Server 50xxx programmiert wur<strong>de</strong>n.<br />
. TCP-Server<br />
. TCP-Client<br />
. UDP-Peer<br />
. Eigene Socket Anwendung (binär mit Passwortschutz)<br />
. TCP-Server<br />
. TCP-Client<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
213
W&T TCP / UDP - Binary<br />
214<br />
. UDP-Peer<br />
Binärer Socket-Zugang und 50xxx-Mo<strong>de</strong><br />
In diesem Kapitel wird gezeigt, wie das <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> aus eigenen<br />
professionellen Anwendungen heraus über Sockets mit binären<br />
Strukturen angesprochen wer<strong>de</strong>n kann<br />
Festlegen <strong>de</strong>s Operationsmodus<br />
Zunächst muss festgelegt wer<strong>de</strong>n, ob das <strong>Web</strong>-<strong>IO</strong> in Ihrer Anwendung<br />
TCP-Client, TCP-Server o<strong>de</strong>r UDP-Peer sein soll.<br />
Wählen Sie im Navigationsbaum Config >> Device >> Basic Settings<br />
>> Binary 1 wenn Sie <strong>de</strong>n Operationsmodus für <strong>de</strong>n Zugang<br />
über Binary 1 konfigurieren möchten.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Nach Wahl <strong>de</strong>s gewünschten Modus und Setzen von Enable<br />
Binary übergeben Sie die Einstellung durch Klick auf <strong>de</strong>n<br />
Zwischenspeichern-Button an das <strong>Web</strong>-<strong>IO</strong>.
W&T TCP / UDP - Binary<br />
Für <strong>de</strong>n Zugriff aus eigenen Anwendungsprogrammen stehen<br />
<strong>de</strong>m Entwickler zwei Stufen <strong>de</strong>r Socketprogrammierung zur Verfügung.<br />
1. Passwortgeschützter Zugang<br />
2. 50xxx-Mo<strong>de</strong> kompatibel zu <strong>de</strong>n älteren W&T <strong>Digital</strong> EA-<br />
Com-Servern<br />
Bei<strong>de</strong> Zugänge arbeiten mit <strong>de</strong>n gleichen Binär-Strukturen und<br />
unterschei<strong>de</strong>n sich sonst nur durch <strong>de</strong>n fehlen<strong>de</strong>n Passwortschutz<br />
im 50xxx-Modus<br />
Das <strong>Web</strong>-<strong>IO</strong> als Socket-Server<br />
Um das <strong>Web</strong>-<strong>IO</strong> als Socket-Server zu betreiben, müssen noch<br />
einige weitere Einstellungen vorgenommen wer<strong>de</strong>n.<br />
Wählen Sie im Navigationsbaum Config >> Device >> Basic Settings<br />
>> Binary 1>> TCP Server<br />
m Notwendige Zugriffsrechte: Administrator<br />
Local Port<br />
Der Lokale Port <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist werksseitig auf 49153 voreingestellt.<br />
Wenn Ihre Anwendung einen an<strong>de</strong>ren Lokalen Port für<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
215
W&T TCP / UDP - Binary<br />
das <strong>Web</strong>-<strong>IO</strong> erfor<strong>de</strong>rt, tragen Sie im Feld Local Port die gewünschte<br />
Port Nummer ein.<br />
Client HTTP Port<br />
Hat nur in <strong>de</strong>n Betriebsarten OPC und Box2Box Be<strong>de</strong>utung und<br />
legt <strong>de</strong>n HTTP Port fest, auf <strong>de</strong>n die Steuerverbindung zum<br />
OPC-Server bzw. zur Slave-Box aufgebaut wer<strong>de</strong>n soll.<br />
Wenn nicht an<strong>de</strong>rs vorgegeben, sollte hier immer Port 80 verwen<strong>de</strong>t<br />
wer<strong>de</strong>n.<br />
Input Trigger<br />
Markieren Sie hier die Inputs, <strong>de</strong>ren Zustandsän<strong>de</strong>rung eine<br />
Datensendung an die Client-Anwendung auslösen soll (wichtig<br />
für ereignisgesteuerte Anwendungen).<br />
Application Mo<strong>de</strong><br />
Wählen Sie hier:<br />
. Compatible 50xxx - für Anwendungen, die ohne Passwortschutz<br />
arbeiten sollen o<strong>de</strong>r für Anwendungen die für die älteren<br />
<strong>Digital</strong> EA-Com-Server programmiert wur<strong>de</strong>n.<br />
. Socket <strong>de</strong>vice - wenn <strong>de</strong>r Zugriff auf das <strong>Web</strong>-<strong>IO</strong> passwortgeschützt<br />
erfolgen soll.<br />
Nach<strong>de</strong>m alle Einstellungen vorgenommen wur<strong>de</strong>n, übergeben<br />
Sie diese durch Klick auf <strong>de</strong>n Zwischenspeichern-Button an das<br />
<strong>Web</strong>-<strong>IO</strong>.<br />
Des Weiteren, müssen die benutzten Outputs noch für <strong>de</strong>n<br />
Binary-Modus freigeschaltet wer<strong>de</strong>n.<br />
Wählen Sie nun im Navigationsbaum Config >> Device >><br />
Output Mo<strong>de</strong> und markieren <strong>de</strong>n gewünschten Binary Zugang.<br />
m Notwendige Zugriffsrechte: Administrator<br />
216
W&T TCP / UDP - Binary<br />
Nach<strong>de</strong>m alle Eingaben vorgenommen wur<strong>de</strong>n, übergeben Sie<br />
die Einstellung durch Klick auf <strong>de</strong>n Logout-Button an das <strong>Web</strong>-<br />
<strong>IO</strong>. Durch Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n die Einstellungen<br />
aktiviert.<br />
i Alle<br />
für Binary 1 gezeigten Konfigurationsmöglichkeiten<br />
können auch für Binary 2 genutzt wer<strong>de</strong>n.<br />
Das <strong>Web</strong>-<strong>IO</strong> als Socket-Client<br />
Um das <strong>Web</strong>-<strong>IO</strong> als Socket-Client zu betreiben, müssen noch<br />
einige weitere Einstellungen vorgenommen wer<strong>de</strong>n.<br />
Wählen Sie im Navigationsbaum Config >> Device >> Basic<br />
Settings >> Binary 1>> TCP Client<br />
m Notwendige Zugriffsrechte: Administrator<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
217
W&T TCP / UDP - Binary<br />
Local Port<br />
Der lokale Port <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist werksseitig auf 49153 voreingestellt.<br />
Wenn Ihre Anwendung einen an<strong>de</strong>ren Lokalen Port für<br />
das <strong>Web</strong>-<strong>IO</strong> erfor<strong>de</strong>rt, tragen Sie im Feld Local Port die gewünschte<br />
Port Nummer ein.<br />
Server Port<br />
Tragen Sie hier die Portnummer ein, auf <strong>de</strong>r die Server-Anwendung<br />
die Verbindung entgegennimmt.<br />
Server HTTP Port<br />
Hat nur in <strong>de</strong>n Betriebsarten Box2Box Be<strong>de</strong>utung und legt <strong>de</strong>n<br />
HTTP Port fest, auf <strong>de</strong>n die Steuerverbindung zur Slave-Box aufgebaut<br />
wer<strong>de</strong>n soll.<br />
Wenn nicht an<strong>de</strong>rs vorgegeben, sollte hier immer Port 80 verwen<strong>de</strong>t<br />
wer<strong>de</strong>n.<br />
Server IP Addr<br />
Tragen Sie hier die IP-Adresse <strong>de</strong>s Servers ein.<br />
218
W&T TCP / UDP - Binary<br />
Server Password<br />
Ein Server-Passwort muss nur dann eingetragen wer<strong>de</strong>n, wenn<br />
das <strong>Web</strong>-<strong>IO</strong> als Box-to-Box Master arbeiten soll o<strong>de</strong>r als TCP-<br />
Client auf ein weiteres <strong>Web</strong>-<strong>IO</strong> im Server Mo<strong>de</strong> zugreifen soll.<br />
Dazu mehr im Kapitel Box-to-Box<br />
Inactive Timeout<br />
Hier wird <strong>de</strong>r Timer konfiguriert, nach <strong>de</strong>ssen Ablauf das <strong>Web</strong>-<br />
<strong>IO</strong> die TCP-Verbindung schließt. Der Wert ist <strong>de</strong>zimal und in<br />
100ms Schritten anzugeben. Der Timer wird bei aktiver<br />
Netzwerkverbindung zurückgesetzt, wenn Daten ausgetauscht<br />
wer<strong>de</strong>n.<br />
Beispiel: Der Wert 10 entspricht einer Sekun<strong>de</strong>. Wird für eine<br />
Sekun<strong>de</strong> kein Datentransfer erkannt, been<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> die<br />
Verbindung<br />
Wird kein Wert eingetragen, ist <strong>de</strong>r automatische Verbindungsabbau<br />
<strong>de</strong>aktiviert.<br />
Input Trigger<br />
Markieren Sie hier die Inputs, <strong>de</strong>ren Zustandsän<strong>de</strong>rung als Trigger<br />
für <strong>de</strong>n TCP-Verbindungsaufbau bzw. Datensendung an <strong>de</strong>n<br />
Server dienen sollen (wichtig für ereignisgesteuerte Anwendungen).<br />
Interval<br />
Wenn <strong>de</strong>r Zustand <strong>de</strong>r Inputs zyklisch an die Server-Applikation<br />
übermittelt wer<strong>de</strong>n soll, kann hier das Intervall in 100ms Schritten<br />
eingetragen wer<strong>de</strong>n.<br />
Beispiel: Der Wert 300 entspricht 30 Sekun<strong>de</strong>n.<br />
1Bitte beachten Sie, dass bei Verbindungen über<br />
kostenpflichtige Wahlverbindungen ein zu kleines Intervall<br />
dazu führen kann, dass diese Verbindung nicht getrennt<br />
wird und dadurch permanente Gebühren entstehen!<br />
Mo<strong>de</strong><br />
Wählen Sie hier:<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
219
W&T TCP / UDP - Binary<br />
. Socket Device- Wenn <strong>de</strong>r Zugriff auf ein weiteres <strong>Web</strong>-<strong>IO</strong> im<br />
Server-Modus passwortgeschützt erfolgen soll.<br />
. Compatible 50xxx - Wenn Sie mit Server-Anwendungen kommunizieren<br />
möchten, die für die älteren <strong>Digital</strong> EA-<br />
Com-Server programmiert wur<strong>de</strong>n. Diesen Modus können<br />
Sie auch für neue Anwendungen nutzen, die ohne<br />
Passwortschutz arbeiten sollen.<br />
Auf <strong>de</strong>n Modus Box2Box Master wird im Kapitel Box-to-Box<br />
näher eingegangen.<br />
Nach<strong>de</strong>m alle Einstellungen vorgenommen wur<strong>de</strong>n, übergeben<br />
Sie diese durch Klick auf <strong>de</strong>n Zwischenspeichern-Button an<br />
das <strong>Web</strong>-<strong>IO</strong>.<br />
Des Weiteren müssen die benutzten Outputs noch für <strong>de</strong>n<br />
Binary-Modus freigeschaltet wer<strong>de</strong>n.<br />
Wählen Sie nun im Navigationsbaum Config >> Device >><br />
Output Mo<strong>de</strong> und markieren <strong>de</strong>n gewünschten Binary-Zugang.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Nach<strong>de</strong>m alle Eingaben vorgenommen wur<strong>de</strong>n, übergeben Sie<br />
die Einstellung durch Klick auf <strong>de</strong>n Logout-Button an das <strong>Web</strong>-<br />
<strong>IO</strong>. Durch Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n die Einstellungen<br />
aktiviert.<br />
220
W&T TCP / UDP - Binary<br />
Das <strong>Web</strong>-<strong>IO</strong> als UDP-Peer<br />
Um das <strong>Web</strong>-<strong>IO</strong> als UDP-Peer zu betreiben, müssen noch einige<br />
weitere Einstellungen vorgenommen wer<strong>de</strong>n.<br />
Wählen Sie im Navigationsbaum Config >> Device >> Basic<br />
Settings >> Binary 1>> UDP Peer<br />
m Notwendige Zugriffsrechte: Administrator<br />
Local Port<br />
Der Lokale Port <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist werksseitig auf 45889 voreingestellt.<br />
Wenn Ihre Anwendung einen an<strong>de</strong>ren lokalen Port für das<br />
<strong>Web</strong>-<strong>IO</strong> erfor<strong>de</strong>rt, tragen Sie im Feld Local Port die gewünschte<br />
Port Nummer ein.<br />
Remote Port<br />
Tragen Sie hier die Portnummer ein, auf <strong>de</strong>r die UDP-Anwendung,<br />
mit <strong>de</strong>r das <strong>Web</strong>-<strong>IO</strong> kommunizieren soll, die Daten entgegennimmt.<br />
Remote IP Addr<br />
Tragen Sie hier die IP-Adresse <strong>de</strong>s Kommunikationspartners ein.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
221
W&T TCP / UDP - Binary<br />
Input Trigger<br />
Markieren Sie hier die Inputs, <strong>de</strong>ren Zustandsän<strong>de</strong>rung als Trigger<br />
für das Versen<strong>de</strong>n eines UDP-Datagrammes dienen sollen<br />
(wichtig für ereignisgesteuerte Anwendungen).<br />
Interval<br />
Wenn <strong>de</strong>r Zustand <strong>de</strong>r Inputs zyklisch an <strong>de</strong>n Kommunikationspartner<br />
übermittelt wer<strong>de</strong>n soll, kann hier das Interval in 100ms<br />
Schritten eingetragen wer<strong>de</strong>n.<br />
Beispiel: Der Wert 300 entspricht 30 Sekun<strong>de</strong>n.<br />
1Bitte beachten Sie, dass bei Verbindungen über<br />
kostenpflichtige Wahlverbindungen ein zu kleines<br />
Intevall dazu führen kann, dass diese Verbindung nicht getrennt<br />
wird und dadurch permanente Gebühren entstehen!<br />
Application Mo<strong>de</strong><br />
In <strong>de</strong>r Konfiguration als UDP-Peer besteht kein Unterschied zwischen<br />
<strong>de</strong>n Modi Default und Compatible 50xxx.<br />
Nach<strong>de</strong>m alle Einstellungen vorgenommen wur<strong>de</strong>n, übergeben<br />
Sie diese durch Klick auf <strong>de</strong>n Zwischenspeichern-Button an<br />
das <strong>Web</strong>-<strong>IO</strong>.<br />
Des Weiteren müssen die benutzten Outputs noch für <strong>de</strong>n<br />
Binary-Modus freigeschaltet wer<strong>de</strong>n.<br />
Wählen Sie nun im Navigationsbaum Config >> Device >><br />
Output Mo<strong>de</strong> und markieren <strong>de</strong>n gewünschten Binary Zugang.<br />
m Notwendige Zugriffsrechte: Administrator<br />
222
W&T TCP / UDP - Binary<br />
Nach<strong>de</strong>m alle Eingaben vorgenommen wur<strong>de</strong>n, übergeben Sie<br />
die Einstellung durch Klick auf <strong>de</strong>n Logout-Button an das <strong>Web</strong>-<br />
<strong>IO</strong>. Durch Klick auf <strong>de</strong>n Speichern-Button wer<strong>de</strong>n die Einstellungen<br />
aktiviert.<br />
Passwort-Schutz<br />
Wie bereits mehrfach angesprochen, bietet das <strong>Web</strong>-<strong>IO</strong> im TCP-<br />
Server Modus die Möglichkeit, <strong>de</strong>n Zugang durch die Anwendung<br />
mit einem Passwort zu schützen.<br />
Bevor die eigentliche Verbindung zum <strong>Web</strong>-<strong>IO</strong> aufgebaut<br />
wird, muss die hier <strong>de</strong>finierte Struktur BinInfo über eine separate<br />
TCP-Verbindung an <strong>de</strong>n HTTP Port (ab Werk Port 80 voreingestellt)<br />
<strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> gesen<strong>de</strong>t wer<strong>de</strong>n.<br />
Für die Antwort benutzt das <strong>Web</strong>-<strong>IO</strong> ebenfalls die Struktur<br />
BinInfo.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
223
W&T TCP / UDP - Binary<br />
Die BinInfo Struktur<br />
1.Byte 2.Byte 3.Byte 4.Byte 5.Byte 6.Byte 7.Byte 8.Byte 9.Byte 10.Byte 11.Byte 12.Byte 13.Byte Bytes = Passwortlänge n.Byte<br />
G E T / b i n ? L P W = &<br />
String<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
n+2. Byte d. Struktur00<br />
n+1. Byte d. Struktur00<br />
16 Bit Variable<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
n+3. Byte d. StrukturXX<br />
8 Bit / Byte<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
n+4. Byte d. StrukturXX<br />
8 Bit / Byte<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
n+8. Byte d. Struktur n+7. Byte d. Struktur<br />
32 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
n+10. Byte d.StrukturXX<br />
n+9. Byte d. StrukturXX<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
n+12. Byte d.StrukturXX<br />
n+11. Byte d.StrukturXX<br />
16 Bit Variable<br />
224<br />
XX XX n+6. Byte d. StrukturXX<br />
n+5. Byte d. StrukturXX<br />
HTTPLogin<br />
Dummy<br />
Type<br />
SubType<br />
IPAddress<br />
SrcPort<br />
DstPort<br />
Die einzelnen Variablen <strong>de</strong>r Struktur wer<strong>de</strong>n ausgefüllt wie folgt:<br />
HTTPLogin[n]<br />
Ist ein Bytefeld bzw. String, <strong>de</strong>r sich aus einem Loginstring und<br />
<strong>de</strong>m verwen<strong>de</strong>ten Administrator-Passwort zusammensetzt.<br />
GET /bin?LPW=&<br />
n steht für die Anzahl <strong>de</strong>r verwen<strong>de</strong>ten Bytes und entspricht 14<br />
+ Länge <strong>de</strong>s Passwortes. Die Länge <strong>de</strong>s Passwortes ist auf maximal<br />
31 Zeichen beschränkt.<br />
In <strong>de</strong>r Antwort <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist HTTPLogin immer 8 Zeichen<br />
lang und enthält folgen<strong>de</strong>n String:<br />
GET /bin<br />
Dummy<br />
Trennzeichen zwischen <strong>de</strong>m ASCII- und <strong>de</strong>m Binär-Teil <strong>de</strong>r<br />
Struktur.<br />
Ist immer = 0x00<br />
Type<br />
Bestimmt die Art, in <strong>de</strong>r <strong>de</strong>r Binary-Modus genutzt wer<strong>de</strong>n soll.<br />
String<br />
Word (16 Bit)<br />
Immer = 0<br />
Byte (8 Bit)<br />
Type <strong>de</strong>r Anfrage<br />
Byte (8 Bit)<br />
Subtype <strong>de</strong>r Anfrage<br />
Longword (32 Bit)<br />
IP-Adresse <strong>de</strong>s Absen<strong>de</strong>rs<br />
Word (16 Bit)<br />
TCP-Port <strong>de</strong>s Absen<strong>de</strong>rs<br />
Word (16 Bit)<br />
TCP-Port <strong>de</strong>s Empfän<strong>de</strong>rs
W&T TCP / UDP - Binary<br />
Die Anwendung muss hier 0x04 eintragen, um eine TCP-Verbindung<br />
einzuleiten.<br />
Das <strong>Web</strong>-<strong>IO</strong> trägt in seiner Antwort<br />
0x02 ein, wenn die Verbindungsanfor<strong>de</strong>rung akzeptiert wur<strong>de</strong>.<br />
0x03 ein, wenn die Verbindungsanfor<strong>de</strong>rung abgelehnt wur<strong>de</strong>.<br />
SubType<br />
Gibt nähere Einzelheiten zum Status <strong>de</strong>r Verbindungsanfor<strong>de</strong>rung.<br />
Die Anwendung sen<strong>de</strong>t immer 0x00.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet mit<br />
0x01 BINSUBTYPE_OK, // wenn die Verbindungsanfor<strong>de</strong>rung akzeptiert wur<strong>de</strong>.<br />
0x02 BINSUBTYPE_NO_ACCESS,// wenn bereits eine Verbindung besteht<br />
0x04 BINSUBTYPE_WAIT, // wenn die Verbindung erst nach einem<br />
// Timeout hergestellt wer<strong>de</strong>n darf<br />
0x07 BINSUBTYPE_PW_MISMATCH, // bei falschem Passwort<br />
0x08 BINSUBTYPE_DEST_PORT_MISMATCH, // bei falschem Destination Port<br />
0x09 BINSUBTYPE_MODUS_MISMATCH, // bei falschem Modus<br />
Wenn 0x01 o<strong>de</strong>r 0x04 empfangen wur<strong>de</strong>, kann die eigentliche<br />
Datenverbindung geöffnet wer<strong>de</strong>n.<br />
SrcPort<br />
Die Client-Anwendung trägt hier immer eine 0 ein.<br />
Das <strong>Web</strong>-<strong>IO</strong> gibt hier <strong>de</strong>n geöffneten Server-Port zurück (z.B.<br />
49153 für Binary 1). Bei gescheitertem Login-Versuch trägt das<br />
<strong>Web</strong>-<strong>IO</strong> 80 ein.<br />
DstPort<br />
Die Client-Anwendung trägt hier ein, zu welchem Port Verbindung<br />
aufgenommen wer<strong>de</strong>n soll (z.B. 49153 für Binary 1 o<strong>de</strong>r<br />
49154 für Binary 2).<br />
Das <strong>Web</strong>-<strong>IO</strong> gibt immer 0 zurück<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
225
W&T TCP / UDP - Binary<br />
Die Verbindung, über die die BinInfo-Struktur ausgetauscht<br />
wur<strong>de</strong>, wird automatisch vom <strong>Web</strong>-<strong>IO</strong> been<strong>de</strong>t.<br />
BINARY - Die <strong>IO</strong>-Strukturen<br />
Um eine einfache Kommunikation zwischen <strong>de</strong>m Anwen<strong>de</strong>rprogramm<br />
auf <strong>de</strong>m Rechner und <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> zu ermöglichen, gibt<br />
es eine übersichtliche Menge von Strukturen (Variablenfel<strong>de</strong>rn),<br />
die das Format und <strong>de</strong>n Inhalt <strong>de</strong>r Daten <strong>de</strong>finiert, die zwischen<br />
Anwen<strong>de</strong>rprogramm und <strong>Web</strong>-<strong>IO</strong> ausgetauscht wer<strong>de</strong>n.<br />
Für folgen<strong>de</strong> Funktionen wer<strong>de</strong>n <strong>IO</strong>-Strukturen angeboten:<br />
. Lesen <strong>de</strong>r Inputs<br />
. Lesen <strong>de</strong>r Inputs und Outputs<br />
. Setzen <strong>de</strong>r Outputs<br />
. Lesen <strong>de</strong>r Counter<br />
. Zurücksetzen <strong>de</strong>r Counter<br />
. Parametrieren <strong>de</strong>r zyklischen und automatischen Benachrichtigung<br />
bei Zustandsän<strong>de</strong>rung<br />
Das Anwen<strong>de</strong>rprogramm nutzt die einfach zu handhaben<strong>de</strong><br />
Socketschnittstelle (Windows: WinSock, UNIX, Linux: Berkley<br />
Sockets), um die Daten in Form dieser <strong>IO</strong>-Strukturen mit <strong>de</strong>m<br />
<strong>Web</strong>-<strong>IO</strong> über das Netzwerk per TCP/IP auszutauschen.<br />
Die <strong>IO</strong>-Strukturen sind unabhängig von <strong>de</strong>m gewählten<br />
Netzwerkprotokoll (TCP o<strong>de</strong>r UDP).<br />
Socket-Schnittstelle <strong>IO</strong>-Strukturen<br />
UDP-/TCP-Hea<strong>de</strong>r UDP-/TCP-Nutzdaten<br />
IP-Hea<strong>de</strong>r<br />
IP-Nutzdaten<br />
Ethernet-Hea<strong>de</strong>r<br />
Ethernet-Nutzdaten<br />
Für welches <strong>de</strong>r bei<strong>de</strong>n Protokolle, UDP o<strong>de</strong>r TCP man sich<br />
entschei<strong>de</strong>t, ist von <strong>de</strong>r Art <strong>de</strong>r Applikation abhängig. Bei<strong>de</strong><br />
Protokolle bieten Vor- und Nachteile, die man in Abhängigkeit<br />
<strong>de</strong>r zu erstellen<strong>de</strong>n Anwendung gegeneinan<strong>de</strong>r abwägen muss<br />
i Hilfe<br />
zur Socket-Programmierung inklusive Grundlagen<br />
TCP/IP fin<strong>de</strong>n Sie in kurzer und übersichtlicher<br />
Form in unserem Handbuch “Fit in 1 Tag für TCP/IP-Sockets”.<br />
226
W&T TCP / UDP - Binary<br />
Programmbeispiele für Client-/Server-Applikationen unter TCP/<br />
IP fin<strong>de</strong>n Sie auf unserer Homepage im Internet unter http://<br />
www.wut.<strong>de</strong>.<br />
Definition <strong>de</strong>r <strong>IO</strong>-Strukturen<br />
Um <strong>de</strong>n Inhalt eines Paketes ein<strong>de</strong>utig i<strong>de</strong>ntifizieren und auswerten<br />
zu können, müssen im BINARY-Modus alle Daten in Form<br />
dieser <strong>IO</strong>-Strukturen an das <strong>Web</strong>-<strong>IO</strong> gesen<strong>de</strong>t wer<strong>de</strong>n, unabhängig<br />
davon, ob die Betriebsart 50xxx-compatible o<strong>de</strong>r Socket<br />
Device benutzt wird.<br />
Alle Stukturen beginnen mit <strong>de</strong>m gleichen Hea<strong>de</strong>r, <strong>de</strong>r aus <strong>de</strong>n<br />
folgen<strong>de</strong>n 4 WORDs (16bit_Integer) besteht:<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 1. Byte <strong>de</strong>r Struktur<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 3. Byte <strong>de</strong>r Struktur<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 5. Byte <strong>de</strong>r Struktur<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 7. Byte <strong>de</strong>r Struktur<br />
16 Bit Variable<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Start_1, Start_2<br />
Start_1 und Start_2 sind aus Grün<strong>de</strong>n <strong>de</strong>r Kompatibilität zu<br />
Vorgängermo<strong>de</strong>llen vorhan<strong>de</strong>n, wer<strong>de</strong>n aber nicht benutzt. Bei<strong>de</strong><br />
Werte sind immer 0.<br />
StruktTyp<br />
Der Wert struct_typ i<strong>de</strong>ntifiziert, um welche Struktur es sich han<strong>de</strong>lt.<br />
Sowohl Die PC-Anwendung als auch das <strong>Web</strong>-<strong>IO</strong> entschei<strong>de</strong>n<br />
bei Datenempfang anhand <strong>de</strong>s Wertes struct_typ, wie die<br />
Struktur ausgewertet wer<strong>de</strong>n soll.<br />
StructLength<br />
length gibt die Gesamtlänge <strong>de</strong>r Struktur in Bytes an, also inklusive<br />
<strong>de</strong>r ersten 4 WORDs.<br />
1Achtung: Für alle <strong>IO</strong>-Strukturen gilt:<br />
Ein WORD entspricht 16bit_integer. (ohne Vorzeichen)<br />
227
W&T TCP / UDP - Binary<br />
Ein BYTE entspricht einem Byte (8Bit)<br />
Ein LONG entspricht einem 32bit_integer (ohne Vorzeichen)<br />
1Beim Sen<strong>de</strong>n und Empfangen gilt für alle Struktur-<br />
Variablen: Low-Byte first.<br />
7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8<br />
Low Byte<br />
High Byte<br />
Low Byte<br />
High Byte<br />
Low Byte<br />
High Byte<br />
Low Byte<br />
High Byte<br />
1. Byte <strong>de</strong>r Struktur 2. Byte <strong>de</strong>r Struktur 3. Byte <strong>de</strong>r Struktur 4. Byte <strong>de</strong>r Struktur 5. Byte <strong>de</strong>r Struktur 6. Byte <strong>de</strong>r Struktur 7. Byte <strong>de</strong>r Struktur 8. Byte <strong>de</strong>r Struktur<br />
228<br />
Start_1 Start_2 StructType StructLength<br />
00 00 00 00 01 00 08 00<br />
In <strong>de</strong>n Beispielen sind alle Zahlen hexa<strong>de</strong>zimal dargestellt!<br />
5.6.3 Arbeiten mit <strong>de</strong>n <strong>IO</strong>-Strukturen<br />
Im nächsten Kapitel wer<strong>de</strong>n die einzelnen Strukturen erläutert<br />
und die entsprechen<strong>de</strong>n Werte <strong>de</strong>r Variablen Start_1, Start_2,<br />
struct_typ und length, mit <strong>de</strong>nen je<strong>de</strong>s Paket beginnt, angegeben.<br />
Die <strong>IO</strong>-Struktur Read Register<br />
Das Sen<strong>de</strong>n dieser Struktur an das <strong>Web</strong>-<strong>IO</strong> veranlasst dieses,<br />
<strong>de</strong>n Status <strong>de</strong>r Inputs an das Anwen<strong>de</strong>rprogramm zu sen<strong>de</strong>n.<br />
Das Paket besteht nur aus diesen vier WORDs. Diese Struktur<br />
wird nur vom Anwen<strong>de</strong>rprogramm verwen<strong>de</strong>t und das <strong>Web</strong>-<strong>IO</strong><br />
reagiert immer mit <strong>de</strong>m Sen<strong>de</strong>n <strong>de</strong>r Struktur WriteRegister.<br />
Die ReadRegister Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur 01<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 08<br />
16 Bit Variable<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Die <strong>IO</strong>-Struktur WriteRegister<br />
Diese Struktur dient zum Übertragen <strong>de</strong>s Zustan<strong>de</strong>s <strong>de</strong>r Inputs<br />
o<strong>de</strong>r Outputs beim <strong>Web</strong>-<strong>IO</strong> 12x <strong>Digital</strong> Input, 12x <strong>Digital</strong> Output.<br />
Sen<strong>de</strong>t das Anwen<strong>de</strong>rprogramm diese Struktur an das <strong>Web</strong>-
W&T TCP / UDP - Binary<br />
<strong>IO</strong>, setzt das <strong>Web</strong>-<strong>IO</strong> die Outputs entsprechend <strong>de</strong>s in value<br />
übergebenen Wertes.<br />
Sen<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> diese Struktur an das Anwen<strong>de</strong>rprogramm,<br />
hat value <strong>de</strong>n <strong>de</strong>m Input-Status entsprechen<strong>de</strong>n Wert.<br />
Die WriteRegister Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur 08<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 0C<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
10. Byte <strong>de</strong>r Struktur00<br />
9. Byte <strong>de</strong>r Struktur 01<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
12. Byte <strong>de</strong>r Struktur0X<br />
11. Byte <strong>de</strong>r StrukturXX<br />
16 Bit Variable<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Amount<br />
Value<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Word (16 Bit)<br />
Immer = 1<br />
Word (16 Bit)<br />
Binäre Entsprechung<br />
<strong>de</strong>s Inputstatus<br />
Bei <strong>Web</strong>-<strong>IO</strong> mit Relaisausgängen, muss zwischen zwei Schaltvorgängen<br />
an einem Output ein Pause von min. 200ms eingehalten<br />
wer<strong>de</strong>n!<br />
Die <strong>IO</strong>-Struktur SetBit<br />
Diese Struktur ermöglicht das Setzen einzelner Outputs beim<br />
<strong>Web</strong>-<strong>IO</strong>. Wird z.B. nicht <strong>de</strong>r gesamte Prozessstatus im Anwen<strong>de</strong>rprogramm<br />
abgebil<strong>de</strong>t, können einzelne Outputs gesetzt wer<strong>de</strong>n,<br />
ohne <strong>de</strong>n Wert <strong>de</strong>r an<strong>de</strong>ren zu verän<strong>de</strong>rn. Die Bits 0..11 in<br />
set_bits und value korrespondieren mit <strong>de</strong>n entsprechen<strong>de</strong>n<br />
Outputs. Diese Struktur wird nur vom Anwen<strong>de</strong>rprogramm verwen<strong>de</strong>t.<br />
229
W&T TCP / UDP - Binary<br />
Die SetBit Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur 09<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 0C<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
10. Byte <strong>de</strong>r Struktur0X<br />
9. Byte <strong>de</strong>r Struktur XX<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
12. Byte <strong>de</strong>r Struktur0X<br />
11. Byte <strong>de</strong>r StrukturXX<br />
16 Bit Variable<br />
Beispiel.:<br />
set_bits = 0x0124 / value = 0x0104<br />
230<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Mask<br />
Value<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Word (16 Bit)<br />
Die Bits, die verän<strong>de</strong>rt<br />
wer<strong>de</strong>n sollen = 1<br />
Word (16 Bit)<br />
Binäre Entsprechung<br />
<strong>de</strong>s Inputstatus<br />
Output 2 und Output 8 (Zählweise Output0..11) wer<strong>de</strong>n auf ON<br />
gesetzt und Output 5 auf OFF. Alle an<strong>de</strong>ren Outputs wer<strong>de</strong>n<br />
nicht verän<strong>de</strong>rt.<br />
Die <strong>IO</strong>-Struktur RegisterRequest<br />
Diese Struktur sen<strong>de</strong>t das Anwen<strong>de</strong>rprogramm an das <strong>Web</strong>-<strong>IO</strong>,<br />
um <strong>de</strong>n Inhalt von Inputs und Outputs im Überblick lesen zu<br />
können. Das <strong>Web</strong>-<strong>IO</strong> antwortet immer mit <strong>de</strong>r E/A-Struktur<br />
RegisterState<br />
Die RegisterRequest Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur 21<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 08<br />
16 Bit Variable<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Die <strong>IO</strong>-Struktur RegisterState<br />
Das <strong>Web</strong>-<strong>IO</strong> übermittelt mit dieser Struktur <strong>de</strong>n Inhalt <strong>de</strong>r Inputs<br />
und Outputs. Diese Struktur wird nur gesen<strong>de</strong>t, wenn das An-
W&T TCP / UDP - Binary<br />
wen<strong>de</strong>rprogramm die Struktur Register Request an das <strong>Web</strong>-<strong>IO</strong><br />
gesen<strong>de</strong>t hat.<br />
Die RegisterState Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur 31<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 0E<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
10. Byte <strong>de</strong>r Struktur00<br />
9. Byte <strong>de</strong>r Struktur 02<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
12. Byte <strong>de</strong>r Struktur0X<br />
11. Byte <strong>de</strong>r StrukturXX<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
14. Byte <strong>de</strong>r Struktur 13. Byte <strong>de</strong>r Struktur<br />
16 Bit Variable<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
DriverID<br />
InputValue<br />
0X XX OutputValue<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Word (16 Bit)<br />
Immer = 2<br />
Word (16 Bit)<br />
Binäre Entsprechung<br />
<strong>de</strong>s Inputstatus<br />
Word (16 Bit)<br />
Binäre Entsprechung<br />
<strong>de</strong>s Outputstatus<br />
Die <strong>IO</strong>-Struktur SendMo<strong>de</strong><br />
Mit dieser Struktur wer<strong>de</strong>n die Triggerbedingungen festgelegt,<br />
mit <strong>de</strong>nen das <strong>Web</strong>-<strong>IO</strong> <strong>de</strong>n Status <strong>de</strong>r Inputs an das Anwen<strong>de</strong>rprogramm<br />
sen<strong>de</strong>t. Prinzipiell gibt es drei Möglichkeiten, die jedoch<br />
alle miteinan<strong>de</strong>r kombinierbar sind:<br />
1. Das Anwen<strong>de</strong>rprogramm pollt das <strong>Web</strong>-<strong>IO</strong> durch Sen<strong>de</strong>n <strong>de</strong>r<br />
READ-Struktur.<br />
2. Das <strong>Web</strong>-<strong>IO</strong> sen<strong>de</strong>t die WriteRegister - Struktur mit <strong>de</strong>m Status<br />
<strong>de</strong>r Inputs in einem konfigurierbarem Zeitintervall.<br />
3. Das <strong>Web</strong>-<strong>IO</strong> sen<strong>de</strong>t die WriteRegister - Struktur mit <strong>de</strong>m Status<br />
<strong>de</strong>r Inputs nach Zustandsän<strong>de</strong>rung <strong>de</strong>r konfigurierten<br />
Inputs.<br />
231
W&T TCP / UDP - Binary<br />
Die SendMo<strong>de</strong> Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur 10<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 0C<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
10. Byte <strong>de</strong>r Struktur0X<br />
9. Byte <strong>de</strong>r Struktur XX<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
12. Byte <strong>de</strong>r StrukturXX<br />
11. Byte <strong>de</strong>r StrukturXX<br />
16 Bit Variable<br />
232<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Mask<br />
Interval<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Word (16 Bit)<br />
Bits für Input Trigger = 1<br />
Word (16 Bit)<br />
Intervall in 100ms für zyklische<br />
Input Status Übermittlung<br />
Die <strong>IO</strong>-Struktur ReadCounter<br />
Diese Struktur sen<strong>de</strong>t das Anwen<strong>de</strong>rprogramm an das <strong>Web</strong>-<strong>IO</strong>,<br />
um <strong>de</strong>n Zählerstand von einem bestimmten Input-Counter anzufor<strong>de</strong>rn.<br />
Um welchen Input es geht, wird in <strong>de</strong>r Variablen<br />
counter_in<strong>de</strong>x übergeben. Das <strong>Web</strong>-<strong>IO</strong> antwortet immer mit <strong>de</strong>r<br />
Struktur Counter.<br />
Die ReadCounter Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur B0<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 0A<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
10. Byte <strong>de</strong>r Struktur00<br />
Low-Byte<br />
XX<br />
16 Bit Variable<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word<br />
Immer = 0<br />
Word<br />
Immer = 0<br />
Word<br />
Strukturtype<br />
Word<br />
Länge in Bytes<br />
9. Byte <strong>de</strong>r Struktur CounterIn<strong>de</strong>x Word<br />
Nummer <strong>de</strong>s Inputs,<br />
<strong>de</strong>ssen Counter<br />
gelesen wer<strong>de</strong>n soll<br />
Die <strong>IO</strong>-Struktur ReadClearCounter<br />
Diese Struktur sen<strong>de</strong>t das Anwen<strong>de</strong>rprogramm an das <strong>Web</strong>-<br />
<strong>IO</strong>, um <strong>de</strong>n Zählerstand von einem bestimmten Input-Counter<br />
anzufor<strong>de</strong>rn und <strong>de</strong>n Zähler danach sofort auf 0 zu setzen.<br />
Um welchen Input es geht, wird in <strong>de</strong>r Variablen counter_in<strong>de</strong>x<br />
übergeben. Das <strong>Web</strong>-<strong>IO</strong> antwortet immer mit <strong>de</strong>r Struktur Counter.
W&T TCP / UDP - Binary<br />
Die ReadClearCounter Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur C0<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 0A<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
10. Byte <strong>de</strong>r Struktur00<br />
Low-Byte<br />
XX<br />
16 Bit Variable<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word<br />
Immer = 0<br />
Word<br />
Immer = 0<br />
Word<br />
Strukturtype<br />
Word<br />
Länge in Bytes<br />
9. Byte <strong>de</strong>r Struktur CounterIn<strong>de</strong>x Word<br />
Nummer <strong>de</strong>s Inputs,<br />
<strong>de</strong>ssen Counter<br />
gelöscht wer<strong>de</strong>n soll<br />
Die <strong>IO</strong>-Struktur Counter<br />
Das <strong>Web</strong>-<strong>IO</strong> übermittelt mit dieser Struktur <strong>de</strong>n Zählerstand <strong>de</strong>s<br />
in counter_in<strong>de</strong>x angegebenen Input-Counters.<br />
Die Counter Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur B4<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 0E<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
10. Byte <strong>de</strong>r Struktur00<br />
9. Byte <strong>de</strong>r Struktur XX<br />
16 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
14. Byte <strong>de</strong>r StrukturXX<br />
13. Byte <strong>de</strong>r StrukturXX<br />
12. Byte <strong>de</strong>r StrukturXX<br />
11. Byte <strong>de</strong>r StrukturXX<br />
32 Bit Variable<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
CounterIn<strong>de</strong>x<br />
CounterValue<br />
Die <strong>IO</strong>-Struktur ReadAllCounter<br />
Diese Struktur sen<strong>de</strong>t das Anwen<strong>de</strong>rprogramm an das <strong>Web</strong>-<strong>IO</strong>,<br />
um die Zählerstän<strong>de</strong> von allen Inputs in einem Datenpaket anzufor<strong>de</strong>rn.<br />
Das <strong>Web</strong>-<strong>IO</strong> antwortet immer mit <strong>de</strong>r Struktur<br />
AllCounter.<br />
Word<br />
Immer = 0<br />
Word<br />
Immer = 0<br />
Word<br />
Strukturtype<br />
Word<br />
Länge in Bytes<br />
Word<br />
Nummer <strong>de</strong>s Counters<br />
Longword<br />
Inputzählerwert 1<br />
233
W&T TCP / UDP - Binary<br />
Die ReadAllCounter Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur B1<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 08<br />
16 Bit Variable<br />
234<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word<br />
Immer = 0<br />
Word<br />
Immer = 0<br />
Word<br />
Strukturtype<br />
Word<br />
Länge in Bytes<br />
Die <strong>IO</strong>-Struktur ReadClearAllCounter<br />
Diese Struktur sen<strong>de</strong>t das Anwen<strong>de</strong>rprogramm an das <strong>Web</strong>-<strong>IO</strong>,<br />
um die Zählerstän<strong>de</strong> von allen Inputs in einem Datenpaket anzufor<strong>de</strong>rn<br />
und die Zähler danach sofort auf 0 zu setzen. Das<br />
<strong>Web</strong>-<strong>IO</strong> antwortet immer mit <strong>de</strong>r Struktur AllCounter.<br />
Die ReadClearAllCounter Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur C1<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 08<br />
16 Bit Variable<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word<br />
Immer = 0<br />
Word<br />
Immer = 0<br />
Word<br />
Strukturtype<br />
Word<br />
Länge in Bytes<br />
Die <strong>IO</strong>-Struktur AllCounter<br />
Das <strong>Web</strong>-<strong>IO</strong> übermittelt mit dieser Struktur die Zählerstän<strong>de</strong> aller<br />
Inputs auf einmal.
W&T TCP / UDP - Binary<br />
Die AllCounter Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur B5<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur XX<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
10. Byte <strong>de</strong>r Struktur00<br />
9. Byte <strong>de</strong>r Struktur XX<br />
16 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
14. Byte <strong>de</strong>r StrukturXX<br />
13. Byte <strong>de</strong>r StrukturXX<br />
12. Byte <strong>de</strong>r StrukturXX<br />
11. Byte <strong>de</strong>r StrukturXX<br />
32 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
18. Byte <strong>de</strong>r StrukturXX<br />
17. Byte <strong>de</strong>r StrukturXX<br />
16. Byte <strong>de</strong>r StrukturXX<br />
15. Byte <strong>de</strong>r StrukturXX<br />
32 Bit Variable<br />
...............................................<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
XX. Byte <strong>de</strong>r StrukturXX<br />
XX. Byte <strong>de</strong>r StrukturXX<br />
XX. Byte <strong>de</strong>r StrukturXX<br />
XX. Byte <strong>de</strong>r StrukturXX<br />
32 Bit Variable<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
CounterNoOf<br />
CounterValue1<br />
Die <strong>IO</strong>-Struktur ClearCounter<br />
Diese Struktur sen<strong>de</strong>t das Anwen<strong>de</strong>rprogramm an das <strong>Web</strong>-<strong>IO</strong>,<br />
um <strong>de</strong>n Zählerstand eines bestimmten Input-Counters auf 0 zurückzusetzen.<br />
Um welchen Input es geht, wird in <strong>de</strong>r Variablen<br />
counter_in<strong>de</strong>x übergeben.<br />
Die ClearCounter Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur B2<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 0A<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
10. Byte <strong>de</strong>r Struktur00<br />
Low-Byte<br />
XX<br />
16 Bit Variable<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word<br />
Immer = 0<br />
Word<br />
Immer = 0<br />
Word<br />
Strukturtype<br />
Word<br />
Länge in Bytes<br />
9. Byte <strong>de</strong>r Struktur CounterIn<strong>de</strong>x Word<br />
Nummer <strong>de</strong>s Inputs,<br />
<strong>de</strong>ssen Counter<br />
gelesen wer<strong>de</strong>n soll<br />
Die <strong>IO</strong>-Struktur ReadDiagnosis<br />
Stellt das <strong>Web</strong>-<strong>IO</strong> einen Kommunikations- o<strong>de</strong>r Systemfehler<br />
fest, wird dieser auf <strong>de</strong>r HTML-Seite diag aufgelistet und kann<br />
über <strong>de</strong>n Browser ausgelesen wer<strong>de</strong>n. Da sich das<br />
Fehlermanagment via Browser für programmgesteuerte Applika-<br />
Word<br />
Immer = 0<br />
Word<br />
Immer = 0<br />
Word<br />
Strukturtype<br />
Word<br />
Länge in Bytes<br />
Word<br />
Anzahl <strong>de</strong>r Counter<br />
Longword<br />
Inputzählerwert 1<br />
CounterValue2 Longword<br />
Inputzählerwert 2<br />
CounterValuen Longword<br />
Inputzählerwert n<br />
235
W&T TCP / UDP - Binary<br />
tionen nicht immer anbietet, kann <strong>de</strong>r Fehlerstatus <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong><br />
über die Struktur ReadDiagnosis abgefragt wer<strong>de</strong>n<br />
Die ReadDiagnosis Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur D1<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 08<br />
16 Bit Variable<br />
236<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Als Antwort sen<strong>de</strong>t das <strong>Web</strong>-<strong>IO</strong> eine Struktur vom Typ Diagnosis<br />
Die <strong>IO</strong>-Struktur Diagnosis<br />
Das <strong>Web</strong>-<strong>IO</strong> sen<strong>de</strong>t die Struktur Diagnosis als Antwort auf die<br />
ReadDiagnosis Struktur.<br />
Die Diagnosis Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur D0<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 1C<br />
16 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
00 00 10. Byte <strong>de</strong>r Struktur00<br />
04<br />
12. Byte <strong>de</strong>r Struktur 11. Byte <strong>de</strong>r Struktur<br />
9. Byte <strong>de</strong>r Struktur<br />
32 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
16. Byte <strong>de</strong>r Struktur00<br />
15. Byte <strong>de</strong>r Struktur00<br />
14. Byte <strong>de</strong>r Struktur00<br />
13. Byte <strong>de</strong>r StrukturXX<br />
32 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
XX XX 18. Byte <strong>de</strong>r StrukturXX<br />
XX<br />
20. Byte <strong>de</strong>r Struktur 19. Byte <strong>de</strong>r Struktur<br />
17. Byte <strong>de</strong>r Struktur<br />
32 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
XX XX 22. Byte <strong>de</strong>r StrukturXX<br />
XX<br />
24. Byte <strong>de</strong>r Struktur 23. Byte <strong>de</strong>r Struktur<br />
21. Byte <strong>de</strong>r Struktur<br />
32 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
28. Byte <strong>de</strong>r Struktur<br />
XX XX 26. Byte <strong>de</strong>r StrukturXX<br />
25. Byte <strong>de</strong>r StrukturXX<br />
27. Byte <strong>de</strong>r Struktur<br />
32 Bit Variable<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Version<br />
ErrorCount<br />
ErrorBits1<br />
ErrorBits2<br />
ErrorBits3<br />
In <strong>de</strong>r Variablen ErrorCount wird zurückgegeben, wieviele verschie<strong>de</strong>ne<br />
Fehler zur Zeit im Fehlerspeicher sind. Insgesamt unterschei<strong>de</strong>t<br />
das <strong>Web</strong>-<strong>IO</strong> bis zu 92 verschie<strong>de</strong>ne Fehlerzustän<strong>de</strong>,<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Longword (32 Bit)<br />
z.Zt. V4<br />
Longword (32 Bit)<br />
aktuelle Fehlerzahl<br />
Longword (32 Bit)<br />
binäre Fehler-Kodierung<br />
Longword (32 Bit)<br />
binäre Fehler-Kodierung<br />
Longword (32 Bit)<br />
binäre Fehler-Kodierung
W&T TCP / UDP - Binary<br />
wobei je<strong>de</strong>s gesetzte Bit <strong>de</strong>r bei<strong>de</strong>n Variablen ErrorBits1 bis<br />
ErrorBits3 für eine Fehlerart steht.<br />
Die genaue textliche Beschreibung kann über TCP Port 80 abgerufen<br />
wer<strong>de</strong>n. Eine nähere Beschreibung hierzu fin<strong>de</strong>n<br />
Sie im Kapitel Socketprogrammierung mit Kommandostrings.<br />
Die <strong>IO</strong>-Struktur ClearDiagnosis<br />
Mit dieser Struktur wird <strong>de</strong>r Fehlerspeicher <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> gelöscht.<br />
Die ClearDiagnosis Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur D2<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte<br />
Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 08<br />
16 Bit Variable<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Die <strong>IO</strong>-Struktur Options<br />
Diese Struktur dient dazu, im <strong>Web</strong>-<strong>IO</strong> bestimmte Optionen zu<br />
setzen. Dazu stehen 32 Bit in <strong>de</strong>r Varablen options zur Verfügung.<br />
Die Options Struktur<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur 00 1. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur 00 3. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur 00 5. Byte <strong>de</strong>r Struktur F0<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 10<br />
16 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
00 00 10. Byte <strong>de</strong>r Struktur00<br />
01<br />
12. Byte <strong>de</strong>r Struktur 11. Byte <strong>de</strong>r Struktur<br />
9. Byte <strong>de</strong>r Struktur<br />
32 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
16. Byte <strong>de</strong>r StrukturXX<br />
15. Byte <strong>de</strong>r StrukturXX<br />
14. Byte <strong>de</strong>r StrukturXX<br />
13. Byte <strong>de</strong>r StrukturXX<br />
32 Bit Variable<br />
Start_1<br />
Start_2<br />
StructType<br />
StructLength<br />
Version<br />
Options<br />
In <strong>de</strong>r vorliegen<strong>de</strong>n Version <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> wird nur das Bit 0 <strong>de</strong>r<br />
Variablen options verwen<strong>de</strong>t.<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Immer = 0<br />
Word (16 Bit)<br />
Strukturtype<br />
Word (16 Bit)<br />
Länge in Bytes<br />
Longword (32 Bit)<br />
z.Zt. V4<br />
Longword (32 Bit)<br />
binäre Options-Kodierung<br />
237
W&T TCP / UDP - Binary<br />
238<br />
Bit 0 = 1 //das <strong>Web</strong>-<strong>IO</strong> sen<strong>de</strong>t die Registerstate Struktur zurück,<br />
wenn ein Output gesetzt wird.<br />
Bit 0 = 0 //das <strong>Web</strong>-<strong>IO</strong> gibt bei Setzen eines Output keine<br />
Rückmeldung.<br />
Um in <strong>de</strong>r Rückmeldung zuverlässig <strong>de</strong>n Zustand nach Setzen<br />
<strong>de</strong>s/<strong>de</strong>r Output(s) zu bekommen, sollte zwischen zwei Outputverän<strong>de</strong>rn<strong>de</strong>n<br />
Zugriffen min. eine Zeit 150ms liegen.
W&T Wayback<br />
5.7 Wayback - Schalten per FTP-Login<br />
Über die Standardbetriebsarten hinaus beinhaltet das ERP-Gateway-Mo<strong>de</strong>ll<br />
57638 zusätzlich das patentierte Wayback-Verfahren<br />
für <strong>de</strong>n Zugriff auf die digitalen Ausgänge. Dieses ermöglicht<br />
es, Schaltbefehle über <strong>de</strong>n Login-Namen eines FTP-Clients<br />
zu übermitteln. Hierdurch wer<strong>de</strong>n auch kommunikativ eingeschränkte<br />
Systeme wie z.B SAP o<strong>de</strong>r an<strong>de</strong>ren ERP/PPS-Anwendungen<br />
in die Lage versetzt, direkt auf die Ein-/Ausgänge zuzugreifen<br />
- ohne spezielle Treiber, spezielle Softwarepakete o<strong>de</strong>r<br />
beson<strong>de</strong>re Zugriffsrechte <strong>de</strong>s Anwen<strong>de</strong>rs auf das Dateisystem.<br />
1Im Gegensatz zu <strong>de</strong>n übrigen <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong>, ist beim<br />
Mo<strong>de</strong>ll 57638 das Wayback FTP als Werkseinstellung vorkonfiguriert.<br />
5.7.1 Funktionsprinzip<br />
Nach <strong>de</strong>m TCP-Verbindungsaufbau, sen<strong>de</strong>t <strong>de</strong>r Wayback-FTP-<br />
Server seine Begrüßungsmeldung an <strong>de</strong>n FTP-Client. Als User-<br />
Name wird jetzt das Kommando zum Schalten <strong>de</strong>r Ausgänge<br />
o<strong>de</strong>r auch zum Lesen <strong>de</strong>r Eingänge eingegeben. Mit <strong>de</strong>r<br />
Authentifizierung <strong>de</strong>s Kommandos durch das Wayback-Passwort<br />
wird <strong>de</strong>r Befehl dann umgehend ausgeführt und zum Beispiel<br />
<strong>de</strong>r angegebene Ausgang in <strong>de</strong>n gewünschten Zustand<br />
geschaltet. Der Wayback-Server sen<strong>de</strong>t die konfigurierbare Abschlussmeldung<br />
und schließt dann automatisch die Verbindung.<br />
Zur Vermeidung gleichzeitiger, konkurrieren<strong>de</strong>r Zugriffe, ist <strong>de</strong>r<br />
Wayback-Dienst exklusiv ausgelegt. Das heißt, nach <strong>de</strong>m<br />
Verbindungsaufbau durch einen Client, muss diese Verbindung<br />
zunächst durch eine gültige Kommando/Passwort-Kombination<br />
o<strong>de</strong>r <strong>de</strong>n Timeout been<strong>de</strong>t wer<strong>de</strong>n, bevor ein neuer Zugriff akzeptiert<br />
wird.<br />
Ablaufbeispiel eines Schaltkommandos für Output 0:<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
239
W&T Wayback<br />
FTP-Client<br />
ftp 192.168.2.100<br />
240<br />
ERP-Gateway<br />
220-WuT WayBack FTP Server version 0.1.1 beta<br />
220 copyright by Wiesemann & Theis GmbH<br />
Benutzer (10.40.21.16:(none)): output0=on<br />
Kennwort: password<br />
331 Password required for output0=on<br />
230 User Logged in, output=1<br />
(Meldung frei konfigurierbar)<br />
TCP-Close<br />
5.7.2 Die Wayback-Kommandos<br />
Die folgen<strong>de</strong>n Kommandos können als FTP-User-Name an das<br />
ERP-Gateway übertragen wer<strong>de</strong>n. Groß-/Kleinschreibung wird ignoriert.<br />
Alle Antworten <strong>de</strong>s ERP-Gateways wer<strong>de</strong>n mit <strong>de</strong>r Variable<br />
in <strong>de</strong>r Wayback Response übermittelt.<br />
output[x]=[on|off]<br />
x Nummer <strong>de</strong>s gewünschten Ausgangs, beginnend mit 0<br />
für <strong>de</strong>n ersten Ausgang eines ERP-Gateways<br />
on Schaltet <strong>de</strong>n Ausgang x ein<br />
off Schaltet <strong>de</strong>n Ausgang x aus<br />
Das Kommando erlaubt das gezielte Ein-/Ausschalten einzelner<br />
Ausgänge <strong>de</strong>s ERP-Gateways.<br />
Beispiel:<br />
output0=on schaltet <strong>de</strong>n Ausgang 0 <strong>de</strong>s ERP-Gateways in<br />
<strong>de</strong>n Zustand ON<br />
output=[xxxx]<br />
xxxx Bitmuster <strong>de</strong>s gewünschten Zustan<strong>de</strong>s aller<br />
Ausgänge in hexa<strong>de</strong>zimaler Schreibweise.<br />
Beispiel:
W&T Wayback<br />
output=2 (binär = 0000 0010) schaltet <strong>de</strong>n Ausgang 1 in<br />
<strong>de</strong>n Zustand ON, alle an<strong>de</strong>ren verfügbaren Ausgänge gehen<br />
in <strong>de</strong>n Status OFF<br />
output=3e (binär = 0011 1110) schaltet die Ausgänge 1 bis<br />
5 in <strong>de</strong>n Zustand ON, alle an<strong>de</strong>ren verfügbaren Ausgänge<br />
gehen in <strong>de</strong>n Status OFF.<br />
output<br />
Das Kommando erlaubt das Auslesen <strong>de</strong>s Zustan<strong>de</strong>s <strong>de</strong>r digitalen<br />
Ausgänge. Die Ausgabe erfolgt als hexa<strong>de</strong>zimaler<br />
Wert <strong>de</strong>s binären Zustan<strong>de</strong>s aller Ausgänge mit <strong>de</strong>r Variable<br />
in <strong>de</strong>r Wayback Response.<br />
input<br />
Das Kommando erlaubt das Auslesen <strong>de</strong>s Zustan<strong>de</strong>s <strong>de</strong>r digitalen<br />
Eingänge. Die Ausgabe erfolgt als hexa<strong>de</strong>zimaler<br />
Wert <strong>de</strong>s binären Zustan<strong>de</strong>s aller Eingänge mit <strong>de</strong>r Variable<br />
in <strong>de</strong>r Wayback Response.<br />
counter[x]<br />
x Nummer <strong>de</strong>s gewünschten Eingangs beginnend mit 0<br />
für <strong>de</strong>n ersten Ausgang <strong>de</strong>s ERP-Gateways<br />
Das Kommando erlaubt das Auslesen <strong>de</strong>s Zählers <strong>de</strong>s angegebenen<br />
digitalen Eingangs. Die Ausgabe erfolgt als <strong>de</strong>zimaler<br />
Wert mit <strong>de</strong>r Variable in <strong>de</strong>r Wayback Response.<br />
5.7.3 Freischalten <strong>de</strong>s Wayback-Zugriffs<br />
m Notwendige Zugriffsrechte: Administrator<br />
Wählen Sie im Navigationsbaum <strong>de</strong>s ERP-Gateways Config >><br />
Device >> Basic Settings >> WayBack FTP<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
241
W&T Wayback<br />
Auf dieser Seite können die folgen<strong>de</strong>n Einstellungen vorgenommen<br />
wer<strong>de</strong>n:<br />
Enable<br />
Aktivierung <strong>de</strong>s Wayback-Dienstes. Ist diese Option<br />
<strong>de</strong>aktiviert, wird <strong>de</strong>r Wayback-Server-Dienst nicht gestartet<br />
und Verbindungsversuche zum FTP Control Port wer<strong>de</strong>n abgewiesen.<br />
FTP Control Port<br />
Gibt <strong>de</strong>n TCP-Server-Port an, unter welchem <strong>de</strong>r Wayback-<br />
Dienst für FTP-Clients erreichbar ist. Der für FTP reservierte<br />
und von <strong>de</strong>n meisten FTP-Clients auch als Standard genutzte<br />
TCP-Port lautet 21.<br />
Password<br />
Das für die korrekte Ausführung <strong>de</strong>s Kommandos am FTP-<br />
Client einzugeben<strong>de</strong> Wayback-Passwort. Dieses ist nicht<br />
i<strong>de</strong>ntisch mit <strong>de</strong>m Admin- o<strong>de</strong>r Operator-Passwort <strong>de</strong>s Gerätes.<br />
Wayback Response<br />
Abschließen<strong>de</strong> Meldung, die nach <strong>de</strong>m Empfang <strong>de</strong>s korrekten<br />
Wayback-Passwortes an <strong>de</strong>n FTP-Client gesen<strong>de</strong>t wird.<br />
Nach dieser Meldung schließt das ERP-Gateway automatisch<br />
242
W&T Wayback<br />
die TCP-Verbindung. Innerhalb <strong>de</strong>s Textes können folgen<strong>de</strong><br />
Variablen verwen<strong>de</strong>t wer<strong>de</strong>n:<br />
<br />
Das ERP-Gateway ersetzt diese Variable durch <strong>de</strong>n zum vorherigen<br />
Kommando passen<strong>de</strong>n Status <strong>de</strong>r Ausgänge, Eingänge<br />
o<strong>de</strong>r Counter. Die Ausgabe erfolgt als hexa<strong>de</strong>zimaler<br />
Gegenwert <strong>de</strong>s binären Zustan<strong>de</strong>s aller Ein-/Ausgänge o<strong>de</strong>r<br />
als Dezimalwert für die Counter. Wur<strong>de</strong> ein output-Kommando<br />
gesen<strong>de</strong>t und die Ausgänge 0 und 1 sind bei<strong>de</strong> eingeschaltet,<br />
lautet die Ausgabe zum Beispiel output=3. Sind an<br />
einem 57636 mit 6 Relais-Ausgängen die Ausgänge 0, 4<br />
und 5 eingeschaltet, wird output=31 zurückgegeben.<br />
<br />
Das ERP-Gateway ersetzt diese Variable durch die Zeichen<br />
CR (Carriage Return, 0x0d) und LF (Linefeed, 0x0a). Im Eingabefenster<br />
per Tastatur-ENTER eingefügte Zeilenumbrüche<br />
wer<strong>de</strong>n bei <strong>de</strong>r Ausgabe nicht berücksichtigt.<br />
Connect Timeout<br />
Nach Ablauf <strong>de</strong>r angegebenen Zeit in Sekun<strong>de</strong>n ohne Aktivität<br />
<strong>de</strong>s FTP-Clients, schließt das ERP-Gateway die bestehen<strong>de</strong><br />
TCP-Verbindung.<br />
Nach Konfiguration <strong>de</strong>r gewünschten Parameter wer<strong>de</strong>n die Än<strong>de</strong>rungen<br />
durch Betätigung <strong>de</strong>s Buttons Zwischenspeichern<br />
übernommen.<br />
Wenn keine weiteren Konfigurationsän<strong>de</strong>rungen mehr erfolgen<br />
sollen, müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n.<br />
Benutzen Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
243
W&T Wayback<br />
5.7.4 Aktivierung <strong>de</strong>r Outputs für Wayback-Zugriff<br />
m Notwendige Zugriffsrechte: Administrator<br />
1Die ERP-Gateways 57635 und 57636 sind ab Werk auf<br />
<strong>de</strong>n Zugriff per Wayback-Verfahren vorkonfiguriert, so<br />
dass bei <strong>de</strong>r Erstinbetriebnahme die hier beschriebene<br />
Aktivierung <strong>de</strong>r Ausgänge entfallen kann.<br />
Wählen Sie im Navigationsbaum <strong>de</strong>s ERP-Gateways Config >><br />
Device >> Output Mo<strong>de</strong>.<br />
Aktivieren Sie hier die gewünschten Ausgänge, die per Wayback<br />
gesteuert wer<strong>de</strong>n sollen und betätigen dann <strong>de</strong>n Button<br />
Zwischenspeichern.<br />
Wenn keine weiteren Konfigurationsän<strong>de</strong>rungen mehr erfolgen<br />
sollen, müssen die neuen Einstellungen noch aktiviert wer<strong>de</strong>n.<br />
Benutzen Sie <strong>de</strong>n Logout-Button o<strong>de</strong>r wählen Sie im Menü<br />
Config >> Session Control >> LogOut<br />
244
W&T Time / Date<br />
6 Allgemeine Funktionen<br />
. Time / Date<br />
. Safety State - Zugriffsüberwachung<br />
. Portkonfiguration<br />
. Än<strong>de</strong>rn <strong>de</strong>r gerätespezifischen Anzeigen<br />
. Upload / Download<br />
. Diagnose und Test<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
245
W&T Time / Date<br />
6.1 Time / Date - Uhrzeit und Datum einstellen<br />
Das <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> verfügt über eine interne Uhr mit Datumsfunktionen.<br />
6.1.1 Zeitzonen<br />
m Notwendige Zugriffsrechte: Administrator<br />
Das <strong>Web</strong>-<strong>IO</strong> arbeitet intern mit <strong>de</strong>r UTC-Zeit (Universal Time<br />
Coordinated), die auf <strong>de</strong>r ganzen Welt als gemeinsame Zeitbasis<br />
genutzt wird. Die lokale Uhrzeit weicht, je nach<strong>de</strong>m in<br />
welcher Zeitzone man sich befin<strong>de</strong>t, von <strong>de</strong>r UTC ab. Die in<br />
Deutschland gültige Uhrzeit entspricht UTC + 1h (zur Winterzeit).<br />
Wenn das <strong>Web</strong>-<strong>IO</strong> für <strong>de</strong>n Einsatz in einer an<strong>de</strong>ren Zeitzone<br />
bestimmt ist, kann <strong>de</strong>r Offset entsprechend angepasst wer<strong>de</strong>n.<br />
Wählen Sie hierzu im Navigationsbaum Config >> Device >><br />
Time/Date >> TimeZone:<br />
UTCoffset<br />
Geben Sie hier die Differenz zwischen lokaler und UTC-Zeit<br />
im Format hh:mm ein. Im Eingabefeld kann zusätzlich ein<br />
Vorzeichen vorangestellt wer<strong>de</strong>n.<br />
Enable<br />
Aktivieren Sie Apply Timezone, damit <strong>de</strong>r eingestellte Offset-<br />
Wert zum Tragen kommt.<br />
246
W&T Time / Date<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
6.1.2 Sommerzeit / Winterzeit<br />
m Notwendige Zugriffsrechte: Administrator<br />
Das <strong>Web</strong>-<strong>IO</strong> unterschei<strong>de</strong>t automatisch zwischen Sommerzeit<br />
und Winterzeit.<br />
Um die Eckwerte für die Sommerzeit/Winterzeit zu än<strong>de</strong>rn<br />
wählen Sie im Navigationsbaum Config >> Device >> Time/<br />
Date >> TimeZone >> Summertime:<br />
UTCoffset<br />
Geben Sie hier die Differenz zwischen lokaler Sommerzeit und<br />
UTC Zeit im Format hh:mm ein. Im Eingabefeld kann zusätzlich<br />
ein Vorzeichen vorangestellt wer<strong>de</strong>n.<br />
Enable<br />
Markieren Sie Apply Summertime, damit <strong>de</strong>r eingestellte Offset-<br />
Wert zum Tragen kommt.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
6.1.3 Beginn und En<strong>de</strong> <strong>de</strong>r Sommerzeit<br />
m Notwendige Zugriffsrechte: Administrator<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
247
W&T Time / Date<br />
Um einzustellen, wann die Sommerzeit beginnt, wählen Sie<br />
Config >> Device >> Time/Date >> TimeZone >> Summertime<br />
>> Start bzw. Stop:<br />
Month<br />
Wählen Sie hier <strong>de</strong>n Monat aus, in <strong>de</strong>m auf Sommerzeit umgestellt<br />
wird.<br />
Mo<strong>de</strong><br />
Sollte die Sommerzeit nicht am letzen Sonntag <strong>de</strong>s gewählten<br />
Monats beginnen bzw. en<strong>de</strong>n, kann hier ein an<strong>de</strong>rer Modus ausgewählt<br />
wer<strong>de</strong>n.<br />
Weekday<br />
Wenn die Umstellung nicht z.B. von Samstag auf Sonntag stattfin<strong>de</strong>t,<br />
kann hier ein an<strong>de</strong>rer Wochentag ausgewählt wer<strong>de</strong>n.<br />
Time<br />
Uhrzeit zu <strong>de</strong>r die Umstellung stattfin<strong>de</strong>t.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
6.1.4 Time-Server<br />
m Notwendige Zugriffsrechte: Administrator<br />
248
W&T Time / Date<br />
Zur Synchronisation <strong>de</strong>r internen Uhr <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>, kann ein<br />
Time-Server angegeben wer<strong>de</strong>n. Das <strong>Web</strong>-<strong>IO</strong> ruft nach <strong>de</strong>m Einschalten<br />
die Uhrzeit beim Time-Server ab. Ferner fin<strong>de</strong>t einmal<br />
täglich ein Zeitabgleich statt.<br />
Um die nötigen Einstellungen für <strong>de</strong>n Time-Server einzugeben,<br />
wählen Sie im Navigationsbaum Config >> Device >> Time/Date<br />
>> Time Server:<br />
UTC-Server 1 + 2<br />
Bitte tragen Sie hier einen o<strong>de</strong>r zwei Time-Server ein, die vom<br />
Standort <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> erreichbar sind.<br />
Sync. Time<br />
Tragen Sie hier die volle Stun<strong>de</strong> ein, zu <strong>de</strong>r <strong>de</strong>r tägliche Abgleich<br />
mit <strong>de</strong>m Timeserver erfolgen soll.<br />
Die Synchronisation mit <strong>de</strong>m Timeserver erfolgt zu<strong>de</strong>m ca. 30<br />
Sekun<strong>de</strong>n nach Einschalten <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>, bzw. nach einem Reset.<br />
Wird die <strong>Web</strong>seite <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> sofort nach Neustart aufgerufen,<br />
wird noch die alte unsynchronisierte Uhrzeit angezeigt.<br />
Erst nach erneutem Aufruf <strong>de</strong>r Seite wird die aktuelle Uhrzeit<br />
angezeigt.<br />
Enable<br />
Markieren Sie Apply Timeserver, damit die Uhrzeit künftig mit<br />
einem externen Timeserver sysnchronisiert wird.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
249
W&T Time / Date<br />
Das <strong>Web</strong>-<strong>IO</strong> kann auch selber als SNTP-Timeserver fungieren<br />
(z.B. um an<strong>de</strong>re <strong>Web</strong>-<strong>IO</strong> zu synchronisieren). In diesem Fall<br />
muss SNTP Service aktiviert wer<strong>de</strong>n.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
1Die werksseitig voreingestellten Adressen sind nur<br />
über einen Internetzugang erreichbar. Wenn für die<br />
Time-Server Namen (nicht IP-Adressen) angegeben wur<strong>de</strong>n,<br />
muss in <strong>de</strong>r Netzwerkkonfiguration ein DNS-Server angegeben<br />
sein.<br />
6.1.5 Manuelles Einstellen von Uhrzeit und Datum<br />
m Notwendige Zugriffsrechte: Administrator o<strong>de</strong>r Config<br />
Wenn kein Zugang zu einem Time-Server vorhan<strong>de</strong>n ist,<br />
kann die Uhrzeit unter Config >> Device >> Time/Date >><br />
Device Clock auch manuell eingestellt wer<strong>de</strong>n.<br />
Time<br />
Uhrzeit im Format hh:mm. Eine sekun<strong>de</strong>ngenaue Einstellung<br />
ist nicht möglich.<br />
Day<br />
im Format dd<br />
Month<br />
im Format mm<br />
Year<br />
im Format yyyy<br />
250
W&T Time / Date<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
6.1.6 Aktivieren aller Time-/Date-Einstellungen<br />
Wenn alle <strong>de</strong>n Alarm betreffen<strong>de</strong>n Eingaben gemacht wur<strong>de</strong>n,<br />
aktivieren Sie die neuen Einstellungen über<br />
Config >> Session Control >> LogOut, Speichern.<br />
1Wenn Sie sich nach Aktivieren <strong>de</strong>r Time-Server<br />
Synchronisation sofort wie<strong>de</strong>r als Konfigurator o<strong>de</strong>r<br />
Administrator einloggen, kann es passieren, dass Ihnen nach<br />
einigen Sekun<strong>de</strong>n <strong>de</strong>r Zugriff verweigert wird.<br />
Das liegt daran, dass das <strong>Web</strong>-<strong>IO</strong> die Login-Rechte aus<br />
Sicherheitsgrün<strong>de</strong>n nach einer Stun<strong>de</strong> zurücksetzt. Hat das<br />
<strong>Web</strong>-<strong>IO</strong> zum Login-Zeitpunkt z.B. eine Zeiteinstellung von<br />
12:00 Uhr 01.01.2002 (Werkseinstellung nach Power on) und<br />
<strong>de</strong>r Time-Server setzt die Zeit auf 13:42 Uhr 26.06.2003 ist<br />
die Zeitspanne <strong>de</strong>utlich größer als eine Stun<strong>de</strong> und das <strong>Web</strong>-<br />
<strong>IO</strong> kündigt die Zugriffsrechte.<br />
Nach erneutem Login kann dann die volle Stun<strong>de</strong> zur Konfiguration<br />
ausgeschöpft wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
251
W&T Safety Timeout / State<br />
6.2 Safety Timeout / State - Zugriffsüberwachung<br />
Komponenten die über ein Netzwerk miteinan<strong>de</strong>r kommunizieren,<br />
sind auf eine funktionieren<strong>de</strong> Netzwerkinfrastruktur<br />
angewiesen. Auch wenn Netzwerke heute über ein Höchstmaß<br />
an Übertragungssicherheit verfügen, kann eine Störung<br />
nie ganz ausgeschlossen wer<strong>de</strong>n.<br />
Um im Fall einer Netzwerkstörung ein kontrolliertes Verhalten<br />
beim <strong>Web</strong>-<strong>IO</strong> zu erreichen, gibt es <strong>de</strong>n Safety Timeout.<br />
Der damit verbun<strong>de</strong>ne Watchdog überwacht, ob innerhalb eines<br />
konfigurierbaren Intervalls ein Netzwerkzugriff auf das<br />
<strong>Web</strong>-<strong>IO</strong> erfolgt ist. Der Watchdog Timer wird bei je<strong>de</strong>m<br />
Netzwerkzugriff zurückgesetzt und bringt die Outputs bei<br />
Erreichen <strong>de</strong>r eingestellten Safety Timeout-Zeit in <strong>de</strong>n konfigurierten<br />
Zustand.<br />
6.2.1 Safety Timeout festlegen<br />
Um <strong>de</strong>n Safety Timeout zu konfigurieren wählen Sie im<br />
Navigationsbaum Config >> Device >> Output Mo<strong>de</strong>:<br />
m Notwendige Zugriffsrechte: Administrator<br />
252
W&T Safety Timeout / State<br />
Safety Timeout<br />
Tragen Sie hier ein, nach welcher Zeit ohne netzwerkseitigen Zugriff<br />
die Outputs auf das eingestellte Muster gesetzt wer<strong>de</strong>n sollen.<br />
Der eingetragene Wert mal 100ms ergibt die Timeout-Zeit; es<br />
können Werte zwischen 1 und 9999 eingetragen wer<strong>de</strong>n.<br />
Der Wert 50 entspricht zum Beispiel 5 Sekun<strong>de</strong>n.<br />
Sinnvoll ist eine Timeout-Zeit, die ca. 10 mal so hoch ist, wie<br />
die Zeit zwischen zwei planmäßigen Zugriffen.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
6.2.2 Safety State festlegen<br />
Wählen Sie im Navigationsbaum Config >> Ports >> Outputs<br />
>> und zum Beispiel Output 0<br />
Safety State<br />
Markieren Sie Safety State Enable, wenn <strong>de</strong>r Output im<br />
Störungsfall auf eine feste Lage gesetzt wer<strong>de</strong>n soll. Legen<br />
Sie fest, ob <strong>de</strong>r Output in Zustand ON o<strong>de</strong>r OFF geschaltet wer<strong>de</strong>n<br />
soll.<br />
Outputs die nicht markiert wur<strong>de</strong>n, behalten <strong>de</strong>n Zustand, <strong>de</strong>r<br />
bei Eintreten <strong>de</strong>r Störung anlag.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
253
W&T Safety Timeout / State<br />
Alle weiteren Einstellungen auf dieser Seite sind für <strong>de</strong>n Safety<br />
State nicht relevant und müssen nicht geän<strong>de</strong>rt wer<strong>de</strong>n.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wenn alle Eingaben gemacht wur<strong>de</strong>n, aktivieren Sie die<br />
neuen Einstellungen über Config >> Session<br />
Control >> LogOut, Speichern.<br />
254
W&T Port-Konfiguration<br />
6.3 Ports - Input- und Output-Konfiguration<br />
6.3.1 Input-Konfiguration<br />
Die Inputs sind je nach <strong>Web</strong>-<strong>IO</strong> Mo<strong>de</strong>ll in Gruppen bis zu vier<br />
Inputs zusammengefasst. Neben <strong>de</strong>r galvanischen Trennung<br />
<strong>de</strong>r einzelnen Gruppen voneinan<strong>de</strong>r, gibt es bei Gruppe 1 noch<br />
die Beson<strong>de</strong>rheit, dass die Inputs einzeln zwischen Flankenund<br />
Pulserkennung umgeschaltet wer<strong>de</strong>n können.<br />
Für je<strong>de</strong>n Input können individuelle Grun<strong>de</strong>instellungen vorgenommen<br />
wer<strong>de</strong>n.<br />
Um z.B. die Einstellungen für Input 0 zu än<strong>de</strong>rn, wählen Sie<br />
im Navigationsbaum Config >> Ports >> Inputs und für Input<br />
0 >> Input 0:<br />
m Notwendige Zugriffsrechte: Administrator o<strong>de</strong>r Config<br />
Name<br />
Geben Sie in dieses Feld eine Bezeichnung für <strong>de</strong>n Input ein.<br />
Diese Bezeichnung wird dann im Browser für <strong>de</strong>n Input 0 angezeigt.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
255
W&T Port-Konfiguration<br />
Text<br />
Hier kann eine nähere Beschreibung, z.B. zur Funktion <strong>de</strong>s Inputs<br />
eingegeben wer<strong>de</strong>n, die im Browser durch Klick auf <strong>de</strong>n<br />
Input-Link abgerufen wer<strong>de</strong>n kann.<br />
Filter<br />
Pulse mit kleinerer Länge, als <strong>de</strong>r hier angegebene (in 1/1000<br />
sek), wer<strong>de</strong>n ignoriert.<br />
1Bei Inputs, die mit Short Puls Detection arbeiten, bleiben<br />
die eingestellten Filter ohne Wirkung.<br />
Input Mo<strong>de</strong>: Short Puls Detection Enable<br />
Dieser Modus ist nur für die ersten vier Inputs verfügbar und<br />
erlaubt auch die Erkennung von extrem kurzen Pulsen bis minimal<br />
50µsLänge. In diesem Modus können nur komplette Pulse,<br />
aber keine Flankenwechsel gezählt wer<strong>de</strong>n.<br />
Ist Puls Detection nicht aktiviert, müssen Signale für min.<br />
1ms anliegen, damit sie erkannt und gezählt wer<strong>de</strong>n.<br />
In bei<strong>de</strong>n Fällen können max. 500 Zählungen pro Sek. erfasst<br />
wer<strong>de</strong>n.<br />
Input Mo<strong>de</strong>: Change Detection Enable<br />
Neben <strong>de</strong>r Zählung kompletter Pulse kann hier auf die Zählung<br />
von Flankenwechseln umgeschaltet wer<strong>de</strong>n.<br />
Ist ohne Funktion, wenn Short Puls Detection enable aktiviert<br />
ist.<br />
Input Mo<strong>de</strong>: Clear counter on read<br />
Hier kann ausgewählt wer<strong>de</strong>n, ob die Counter beim Auslesen<br />
automatisch auf 0 gesetzt wer<strong>de</strong>n sollen.<br />
Input Mo<strong>de</strong>: Bidirectional counter enable<br />
Zwei benachbarte Inputs wer<strong>de</strong>n zur Auswertung von<br />
richtungsabhängigen Signalgebern zusammengefasst.<br />
256
W&T Port-Konfiguration<br />
Je nach<strong>de</strong>m auf welchem <strong>de</strong>r bei<strong>de</strong>n Inputs zuerst eine gültige<br />
Flanke erkannt wird, wird <strong>de</strong>r entsprechen<strong>de</strong> Counter um eins<br />
hochgezählt.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Die nötigen Einstellungen für richtungsabhängiges Zählen wer<strong>de</strong>n<br />
unter Config >> Ports >> Inputs >> Input0 >> Couter Mo<strong>de</strong><br />
vorgenommen.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Puls Polarity<br />
Wählen Sie hier, ob das <strong>Web</strong>-<strong>IO</strong> auf positive o<strong>de</strong>r negative Flanken<br />
triggern soll.<br />
Inactivity Timeout<br />
Wer<strong>de</strong>n innerhalb <strong>de</strong>r eingestellten Zeit nicht auf bei<strong>de</strong>n Inputs<br />
gültige Flanken erkannt, wird die Zählung verworfen.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wenn alle Eingaben gemacht wur<strong>de</strong>n, aktivieren Sie die neuen<br />
Einstellungen über Config >> Session Control >> LogOut,<br />
Speichern.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
257
W&T Port-Konfiguration<br />
6.3.2 Output-Konfiguration<br />
Um die Einstellungen für z.B. Output 0 zu än<strong>de</strong>rn, wählen Sie<br />
Config >> Ports >> Outputs und z.B. >> Output 0:<br />
m Notwendige Zugriffsrechte: Administrator o<strong>de</strong>r Config<br />
Name<br />
Geben Sie in dieses Feld eine Bezeichnung für <strong>de</strong>n Output<br />
ein. Diese Bezeichnung wird dann im Browser für <strong>de</strong>n Output<br />
0 angezeigt.<br />
Text<br />
Hier kann eine nähere Beschreibung z.B. zur Funktion <strong>de</strong>s Outputs<br />
eingegeben wer<strong>de</strong>n, die im Browser durch Klick auf <strong>de</strong>n<br />
Output-Link abgerufen wer<strong>de</strong>n kann.<br />
Group Mo<strong>de</strong><br />
(nicht bei <strong>Web</strong>-<strong>IO</strong> mit Relaisausgängen)<br />
Die Outputs können zu Gruppen von zwei o<strong>de</strong>r vier zusammengefasst<br />
wer<strong>de</strong>n, um <strong>de</strong>n maximalen Schaltstrom von 500mA zu<br />
erhöhen. Durch Zusammenfassung von zwei Outputs kann ein<br />
maximaler Strom von 1A geschaltet wer<strong>de</strong>n. Bei vier Outputs<br />
sind es sogar 2A.<br />
Safety State<br />
Markieren Sie Safety State Enable, wenn <strong>de</strong>r Output im<br />
Störungsfall auf eine feste Lage gesetzt wer<strong>de</strong>n soll. Legen<br />
Sie fest, ob <strong>de</strong>r Output in Zustand ON o<strong>de</strong>r OFF geschaltet wer-<br />
258
W&T Port-Konfiguration<br />
<strong>de</strong>n soll. Unter Config >> Device >> Output Mo<strong>de</strong> muss ein<br />
Safty Timeout eingetragen sein, damit <strong>de</strong>r Safety State arbeitet.<br />
Eine <strong>de</strong>taillierte Beschreibung zum Safety State fin<strong>de</strong>n Sie im<br />
Kapitel Safety Timeout / State.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wenn alle <strong>de</strong>n Output betreffen<strong>de</strong>n Eingaben gemacht wur<strong>de</strong>n,<br />
aktivieren Sie die neuen Einstellungen über Config >> Session<br />
Control >> Logout, Speichern.<br />
Outputs, die als Gruppe zusammengefasst wer<strong>de</strong>n, sollten in<br />
<strong>de</strong>r gleichen Betriebsart konfiguriert sein. Es kann sonst zu<br />
Konflikten kommen, wenn z.B. die Outputs 0 und 1 Box-to-<br />
Box arbeiten und die Outputs 2 und 3 mit <strong>de</strong>m Browser geschaltet<br />
wer<strong>de</strong>n können, da je<strong>de</strong>r Zugriff alle Outputs einer<br />
Gruppe auf einmal schaltet.<br />
Einen Überblick über die konfigurierten Output-Gruppen<br />
können Sie sich unter Config >> Device >> Output Mo<strong>de</strong> verschaffen.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
259
W&T Port-Konfiguration<br />
Hier sind die Outputs, die in einer Gruppe zusammengefasst<br />
wur<strong>de</strong>n, in <strong>de</strong>r gleichen Farbe hinterlegt.<br />
Eine weitere Möglichkeit, die Gruppenbildung auf einen Blick<br />
anzusehen, fin<strong>de</strong>n Sie unter Diag >> Test >> Output Config in<br />
<strong>de</strong>r Spalte Group Mo<strong>de</strong>.<br />
m Notwendige Zugriffsrechte: Administrator<br />
6.3.3 Logik Funktionen<br />
Das <strong>Web</strong>-<strong>IO</strong> erlaubt es, Outputs in Abhängigkeit <strong>de</strong>s Zustands<br />
bestimmter Inputs zu schalten.<br />
Ein Beispiel<br />
Output 0 soll auf ON gesetzt wer<strong>de</strong>n, wenn Input 0 und Input<br />
1 auf OFF stehen.<br />
Damit die Logikfunktionen auf einen Output angewen<strong>de</strong>t wer<strong>de</strong>n<br />
können, muss dieser zunächst auf die Betriebsart Logic<br />
konfiguriert wer<strong>de</strong>n.<br />
Wählen Sie hierzu im Navigationsbaum Config >> Device >><br />
Outputmo<strong>de</strong>.<br />
m Notwendige Zugriffsrechte: Administrator<br />
260
W&T Port-Konfiguration<br />
Markieren Sie für die Outputs, die über die Logikfunktion gesteuert<br />
wer<strong>de</strong>n sollen die Spalte Logic und klicken Sie auf<br />
Zwischenspeichern.<br />
Wählen Sie nun im Navigationsbaum Config >> Ports >> Outputs<br />
>> Output 0 >> Logic.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Beispiel<br />
Die in <strong>de</strong>r Abbildung gezeigte Konfiguration setzt Output 0 auf<br />
ON, wenn Input 0 auf ON und Input 1 auf OFF gesetzt sind.<br />
Input Mask<br />
Markieren Sie hier alle Inputs, die bei <strong>de</strong>r logischen Verknüpfung<br />
berücksichtigt wer<strong>de</strong>n sollen.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
261
W&T Port-Konfiguration<br />
Input Inverter<br />
Hier wird festgelegt, ob <strong>de</strong>r ON o<strong>de</strong>r OFF-Zustand <strong>de</strong>s Eingangs<br />
berücksichtigt wer<strong>de</strong>n soll.<br />
262<br />
= Input wird berücksichtigt wenn ON-Signal anliegt<br />
= Input wird berücksichtigt wenn OFF-Signal anliegt<br />
Logic Func<br />
Legt fest ob eine UND bzw. ODER-Verknüpfung angewen<strong>de</strong>t<br />
wird.<br />
Output Inverter<br />
Hier wird festgelegt, ob bei Eintreten <strong>de</strong>r logischen Bedingungen<br />
<strong>de</strong>r Output auf ON o<strong>de</strong>r auf OFF gesetzt wer<strong>de</strong>n soll.<br />
= Output wird auf ON gesetzt<br />
= Output wird auf OFF gesetzt<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Wenn die Bedingungen für alle Outputs eingegeben wur<strong>de</strong>n,<br />
aktivieren Sie die neuen Einstellungen über<br />
Config >> Session Control >> LogOut, Speichern.<br />
6.3.4 Time Swich<br />
Details zum zeitgesteuerten Schalten fin<strong>de</strong>n Sie im Kapitel „5.3<br />
Time Switch - <strong>Web</strong>-<strong>IO</strong> als Schaltuhr“<br />
6.3.5 Pulsmo<strong>de</strong><br />
Neben <strong>de</strong>m rein statischen Schalten <strong>de</strong>r Outputs auf ON o<strong>de</strong>r<br />
OFF erlaubt das <strong>Web</strong>-<strong>IO</strong> auch die Ausgabe von Pulsen. Das<br />
be<strong>de</strong>utet, ein Output kann für eine voreinstellbare Zeit auf<br />
On o<strong>de</strong>r auf OFF geschaltet wer<strong>de</strong>n und fällt nach <strong>de</strong>r eingestellten<br />
Pulslänge wie<strong>de</strong>r zurück auf seinen Ruhezustand.
W&T Port-Konfiguration<br />
Um einen Output <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> auf die Ausgabe von Pulsen zu<br />
konfigurieren, wählen Sie im Navigationsbaum Config >> Ports<br />
>> Outputs >> Output0 >> Puls<br />
m Notwendige Zugriffsrechte: Administrator<br />
Duration<br />
Tragen Sie hier die gewünschte Pulslänge in ms ein. Ein Wert<br />
von 1000 entspricht einem 1 Sekun<strong>de</strong> langen Puls.<br />
Normalerweise kann ein Output während <strong>de</strong>s Pulses nicht per<br />
Anwen<strong>de</strong>reingriff zurück in <strong>de</strong>n Ruhezustand geschaltet wer<strong>de</strong>n.<br />
Sollte das doch gewünscht sein, kann hinter <strong>de</strong>r Pulslänge<br />
<strong>de</strong>r Großbuchstabe R eingegeben wer<strong>de</strong>n (z.B. 2000R)<br />
Puls Polarity<br />
positiv:<br />
ON<br />
Puls Start<br />
Puls Duration<br />
OFF<br />
0 50 100 150 200 250 300<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
t ms<br />
Im Ruhezustand ist <strong>de</strong>r Output nicht geschaltet (0V). Wird <strong>de</strong>r<br />
Output nun per Browser o<strong>de</strong>r aus einer Anwendung heraus auf<br />
ON gesetzt, schaltet das <strong>Web</strong>-<strong>IO</strong> für die eingestellte Pulsdauer<br />
die Versorgungsspannung +Vdd auf <strong>de</strong>n Output.<br />
263
W&T Port-Konfiguration<br />
negativ:<br />
ON<br />
OFF<br />
0 50 100 150 200 250 300<br />
264<br />
Puls Start<br />
Puls Duration<br />
t ms<br />
Im Ruhezustand ist <strong>de</strong>r Output auf Versorgungsspannung<br />
+Vdd geschaltet. Wird <strong>de</strong>r Output nun aus einer Anwendung<br />
heraus auf ON gesetzt, schaltet das <strong>Web</strong>-<strong>IO</strong> für die eingestellte<br />
Pulsdauer <strong>de</strong>n Output ab (0V).<br />
Wird bei Puls Polarity negativ als Pulslänge 0 eingegeben, führt<br />
das zu einer grundsätzlichen Invertierung <strong>de</strong>s physikalischen<br />
Output-Signals.<br />
I Es<br />
ist nicht möglich, einen negativen Puls via HTTP<br />
aus <strong>de</strong>m Browser zu schalten. Wenn aus <strong>de</strong>m Browser<br />
mit negativen Pulsen gearbeitet wer<strong>de</strong>n soll, kann das nur aus<br />
eigenen Anwendungen über HTTP-Requests o<strong>de</strong>r das Socket-Interface<br />
erfolgen<br />
1Bei negativer Polarität wird mit negativer Logik<br />
gearbeitet. Ein Schalten nach ON bewirkt ein Abschalten<br />
<strong>de</strong>s entsprechen<strong>de</strong>n Output.<br />
1Bei <strong>Web</strong>-<strong>IO</strong> mit Relaisausgängen, muss die Pulslänge<br />
min. 200ms betragen!<br />
Über Logout und Speichern wer<strong>de</strong>n die neuen Einstellungen aktiviert.
W&T Än<strong>de</strong>rn gerätespezifischer Anzeigen<br />
6.4 Än<strong>de</strong>rn <strong>de</strong>r gerätespezifischen Anzeigen<br />
Für projektbezogene OEM-Anwendungen <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist es<br />
möglich, Anzeigen wie Artikelnummer, Hersteller, Logo usw. zu<br />
verän<strong>de</strong>rn.<br />
Wählen Sie im Navigationsbaum Config >> Manufacturer:<br />
m Notwendige Zugriffsrechte: Administrator<br />
Name<br />
Feld für <strong>de</strong>n Firmennamen<br />
Address<br />
Feld für die Firmenanschrift<br />
Support-Hotline<br />
Rufnummer, unter <strong>de</strong>r <strong>de</strong>r Anwen<strong>de</strong>r technische Hilfe zum<br />
<strong>Web</strong>-<strong>IO</strong> bzw. zum Gesamtprojekt bekommen kann<br />
Internet<br />
Hompage <strong>de</strong>r für das Gerät zuständigen Firma<br />
Device Type<br />
Firmenspezifische Gerätebezeichnung<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
265
W&T Än<strong>de</strong>rn gerätespezifischer Anzeigen<br />
Device No<br />
Firmenspezifische Artikelnummer<br />
Logo<br />
Pfad und Name <strong>de</strong>s über <strong>de</strong>m Navigationsbaum positionierten<br />
Logos. Wird nur logo.gif angegeben, greift das <strong>Web</strong>-<strong>IO</strong> auf das<br />
intern abgelegte Logo zurück. Alternativ kann aber auch eine<br />
JPG- o<strong>de</strong>r GIF-Datei auf einem an<strong>de</strong>ren Server angegeben wer<strong>de</strong>n.<br />
Dabei sollte allerdings beachtet wer<strong>de</strong>n, dass die Abmessungen<br />
<strong>de</strong>s Logos in etwa mit <strong>de</strong>nen <strong>de</strong>s W&T-Logos übereinstimmen<br />
(Breite max. 200 Pixel, Höhe max 100 Pixel), damit<br />
die Übersichtlichkeit <strong>de</strong>s Navigations-Frames erhalten bleibt.<br />
Übergeben Sie die Einstellungen durch Klick auf <strong>de</strong>n Zwischenspeichern-Button<br />
an das <strong>Web</strong>-<strong>IO</strong>.<br />
Aktivieren Sie die neuen Einstellungen über<br />
Config >> Session Control >> LogOut, Speichern.<br />
266
W&T Upload/Download<br />
6.5 Upload/Download<br />
Das <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> bietet <strong>de</strong>m Anwen<strong>de</strong>r die Möglichkeit,<br />
kun<strong>de</strong>nspezifische HTML-Seiten, Konfigurationsdaten und<br />
das Logo per Upload einzuspielen bzw. per Download herunterzula<strong>de</strong>n.<br />
6.5.1 Download<br />
Um eine HTML-Seite o<strong>de</strong>r die Konfiguration herunterzula<strong>de</strong>n<br />
wählen Sie im Navigationbaum Config >> Up/Download >><br />
Download.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Config.xml Download<br />
Die gesamte Konfiguration <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> ist im Gerät als XML-Datei<br />
abrufbar. So kann <strong>de</strong>r Administrator bei Projekten, in <strong>de</strong>nen<br />
mehrere <strong>Web</strong>-<strong>IO</strong> mit gleicher Konfiguration zum Einsatz kommen,<br />
bei einem Gerät die Grundkonfiguration vornehmen, auslesen<br />
und später in die an<strong>de</strong>ren einspielen.<br />
Starten Sie <strong>de</strong>n Download <strong>de</strong>r XML-Datei durch Klick auf <strong>de</strong>n<br />
entsprechen<strong>de</strong>n Button.<br />
Die XML-Parameter wer<strong>de</strong>n daraufhin im Browserfenster angezeigt.<br />
Um die XML-Daten als File abzuspeichern kann bei<br />
<strong>de</strong>n meisten Browsern über die rechte Mouse-Taste <strong>de</strong>r<br />
Quelltext im Texteditor angezeigt und von dort aus natürlich<br />
auch gespeichert wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
267
W&T Upload/Download<br />
home.htm / user.htm / smart.htm Download<br />
Auch hier wird die gewählte Seite zunächst im Browserfenster<br />
angezeigt und kann über <strong>de</strong>n Weg <strong>de</strong>r Quelltextanzeige abgespeichert<br />
wer<strong>de</strong>n. Eine <strong>de</strong>taillierte Beschreibung hierzu fin<strong>de</strong>n<br />
Sie im Kapitel HTTP.<br />
iCal Datei<br />
Sollte das <strong>Web</strong>-<strong>IO</strong> als Schaltuhr konfiguriert sein, können hier<br />
die <strong>de</strong>rzeit aktiven iCal-Dateien zur Kontrolle heruntergela<strong>de</strong>n<br />
wer<strong>de</strong>n.<br />
Details zum zeitgesteuerten Schalten fin<strong>de</strong>n Sie im Kapitel „5.3<br />
Time Switch - <strong>Web</strong>-<strong>IO</strong> als Schaltuhr“ .<br />
6.5.2 Upload<br />
So wie HTML- und XML- Dateien heruntergela<strong>de</strong>n wer<strong>de</strong>n<br />
können, ist es auch möglich, diese wie<strong>de</strong>r in das <strong>Web</strong>-<strong>IO</strong> einzuspielen.<br />
Wählen Sie hierzu im Navigationsbaum Config >> Up/Download<br />
>> Upload:<br />
m Notwendige Zugriffsrechte: Administrator<br />
config.xml Upload<br />
Die gesamte Konfiguration <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> kann als XML-Datei in<br />
einem Zug in das <strong>Web</strong>-<strong>IO</strong> eingespielt wer<strong>de</strong>n. Nach Klick auf <strong>de</strong>n<br />
entsprechen<strong>de</strong>n Button, wird im Konfigurations-Frame ein Ein-<br />
268
W&T Upload/Download<br />
gabefeld angezeigt, in <strong>de</strong>m das Upload-File eingetragen bzw.<br />
ausgewählt wer<strong>de</strong>n kann:<br />
Durch Klick auf <strong>de</strong>n Upload-Button, wird das Upload gestartet.<br />
Eine komfortable Möglichkeit XML-Dateien aus <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> zu<br />
speichern, zu verwalten und wie<strong>de</strong>r einzuspielen bietet das<br />
Wutility-Tool.<br />
g Auf<br />
unserer <strong>Web</strong>seite www.WuT.<strong>de</strong> fin<strong>de</strong>n Sie links die<br />
„Suche über Artikel-Nr“. Geben Sie hier die Artikel-Nr. Ihres<br />
<strong>Web</strong>-<strong>IO</strong> ein, wählen Sie in <strong>de</strong>m Feld darunter „Tools“ aus und<br />
klicken Sie auf „Los“. Auf <strong>de</strong>r Seite, die sich dann öffnet, wählen<br />
Sie <strong>de</strong>n Link zum Wutility-Tool.<br />
HTML Upload<br />
Der Update-Vorgang für die home.htm, user.htm und Seite läuft<br />
genauso ab, wie das XML-Upload.<br />
Allerdings benötigt das <strong>Web</strong>-<strong>IO</strong> für die korrekte Zuordnung <strong>de</strong>r<br />
Datei in <strong>de</strong>r ersten Zeile <strong>de</strong>s HTML-Quelltextes das<br />
, bzw. Tag steht.<br />
Die genaue Vorgehensweise ist im Kapitel Zugriff aus <strong>de</strong>r eigenen<br />
Anwendung >> Zugriff aus <strong>de</strong>m Browser <strong>de</strong>tailliert beschrieben.<br />
logo Upload<br />
Um ein möglichst kun<strong>de</strong>nspezifisches Erscheinungsbild <strong>de</strong>r<br />
<strong>Web</strong>-<strong>IO</strong> Startseite zu ermöglichen, besteht die Möglichkeit,<br />
das W&T-Logo im Navigations-Frame gegen ein beliebiges<br />
an<strong>de</strong>res zu ersetzen.<br />
Nach Klick auf <strong>de</strong>n entsprechen<strong>de</strong>n Button, wird im Konfigurations-Frame<br />
ein Eingabefeld angezeigt, in <strong>de</strong>m das Upload-File<br />
eingetragen bzw. ausgewählt wer<strong>de</strong>n kann:<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
269
W&T Upload/Download<br />
Durch Klick auf <strong>de</strong>n Upload-Button, wird das Upload gestartet.<br />
Time Switch File Upload<br />
Hier können Kalen<strong>de</strong>rdateien im iCal-Format hochgela<strong>de</strong>n wer<strong>de</strong>n,<br />
die das zeitgesteuerte Schalten bestimmen.<br />
Details zum zeitgesteuerten Schalten fin<strong>de</strong>n Sie im Kapitel „5.3<br />
Time Switch - <strong>Web</strong>-<strong>IO</strong> als Schaltuhr“<br />
Damit die Uploads auch nach Unterbrechung <strong>de</strong>r Stromversorgung<br />
noch Wirkung haben, aktivieren Sie die neuen Einstellungen<br />
über Config >> Session Control >> LogOut, Speichern.<br />
270
W&T Diagnose und Test<br />
6.6 Diagnose und Test<br />
Das <strong>Web</strong>-<strong>IO</strong> verfügt über ein internes Fehlermanagement und<br />
Diagnosesystem.<br />
6.6.1 Fehler-Report<br />
Tritt ein Fehler auf, wird dies am Gerät selber durch Blinken<br />
<strong>de</strong>r on error Led angezeigt. Darüber hinaus wer<strong>de</strong>n aufgetretene<br />
Fehlerzustän<strong>de</strong> in einem Report dokumentiert und<br />
können später ausgelesen wer<strong>de</strong>n.<br />
Alle Fehlermeldungen wer<strong>de</strong>n im <strong>Web</strong>-<strong>IO</strong> gespeichert und<br />
bleiben auch erhalten, wenn die Fehlerursache bereits behoben<br />
ist.<br />
Wählen Sie dazu im Navigationsbaum Diag >> Report:<br />
Durch Klick auf <strong>de</strong>n Report löschen Button kann <strong>de</strong>r Administrator<br />
alle Fehlermeldungen löschen.<br />
m Notwendige Zugriffsrechte: Administrator<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
271
W&T Diagnose und Test<br />
Ein Reset, unabhängig ob er durch Drücken <strong>de</strong>r Resettaste am<br />
Gerät, durch Unterbrechung <strong>de</strong>r Versorgungsspannung o<strong>de</strong>r<br />
durch Reset aus <strong>de</strong>r Logout Seite ausgelöst wur<strong>de</strong>, löscht ebenfalls<br />
<strong>de</strong>n Report.<br />
i Eine<br />
genaue Liste möglicher Fehlermeldungen und<br />
<strong>de</strong>ren Ursache fin<strong>de</strong>n Sie im Anhang. Im Kapitel Socket-Programmierung<br />
wird gezeigt, wie Fehler auch aus eigenen<br />
Anwendungen heraus verarbeitet wer<strong>de</strong>n können.<br />
Darüber hinaus können Fehler- und Diagnosemeldungen auch<br />
über SNMP-Traps o<strong>de</strong>r als Syslog-Systemmeldung verarbeitet<br />
wer<strong>de</strong>n. Siehe hierzu die Kapitel SNMP bzw. Syslog<br />
6.6.2 Konfiguration<br />
Gesamtüberblick<br />
Das <strong>Web</strong>-<strong>IO</strong> bietet <strong>de</strong>m Administrator die Möglichkeit, die<br />
Konfiguration <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> auf einer übersichtlichen <strong>Web</strong>seite<br />
zu überblicken und zu überprüfen.<br />
Wählen Sie im Navigationsbaum Diag >> Test >> Check Config.<br />
272
W&T Diagnose und Test<br />
Die <strong>Web</strong>seite zeigt, welche Zugriffsarten mit welchen Parametern<br />
aktiviert sind. Dabei nimmt das <strong>Web</strong>-<strong>IO</strong> eine<br />
Plausibilitätsprüfung <strong>de</strong>r Einstellungen vor. Wer<strong>de</strong>n fehlen<strong>de</strong> Parameter<br />
erkannt, die <strong>de</strong>n ordnungsgemäßen Betrieb <strong>de</strong>r Zugriffsart<br />
verhin<strong>de</strong>rn, wer<strong>de</strong>n die entsprechen<strong>de</strong>n Fel<strong>de</strong>r orange<br />
hinterlegt. Ein Klick auf <strong>de</strong>n Fail-Link führt direkt zu <strong>de</strong>r fehlerhaften<br />
Konfiguration.<br />
Ferner wird überprüft und angezeigt, welche Übertragungswege<br />
für die Alarme gewählt wur<strong>de</strong>n und ob alle benötigten Parameter<br />
konfiguriert wur<strong>de</strong>n. Auch hier wer<strong>de</strong>n die Zugangsarten<br />
orange hinterlegt, die nicht vollständig konfiguriert wur<strong>de</strong>n.<br />
Zuletzt wird überprüft und angezeigt wieviele statische Verbindungen<br />
auf Port 80 <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> möglich sind. Der Port 80 <strong>de</strong>s<br />
<strong>Web</strong>-<strong>IO</strong> kann sowohl für <strong>de</strong>n Aufruf <strong>de</strong>r <strong>Web</strong>-Seiten, als auch<br />
für Socketanwendungen genutzt wer<strong>de</strong>n.<br />
Bei Werkseinstellungen sind alle freien Ports so konfiguriert,<br />
dass sie auf Port 80 als Serverport arbeiten. Dabei wer<strong>de</strong>n<br />
auf zwei Ports nur dynamische Verbindungen zugelassen.<br />
Sind z.B. 5 Ports auf HTTP (Port 80 ) konfiguriert, können 3<br />
davon durch dauerhafte TCP-Verbindungen, z.B. von Socket-<br />
Anwendungen genutzt wer<strong>de</strong>n. Bei <strong>de</strong>n verbleiben<strong>de</strong>n zwei freien<br />
Ports wer<strong>de</strong>n Verbindungen zwar entgegengenommen, vom<br />
<strong>Web</strong>-<strong>IO</strong> aber nach kurzer Timeout-Zeit wie<strong>de</strong>r abgeworfen.<br />
Durch diese Maßnahme ist gewährleistet, dass man das <strong>Web</strong>-<strong>IO</strong><br />
zu je<strong>de</strong>r Zeit über <strong>de</strong>n Browser erreichen kann.<br />
Überblick <strong>de</strong>r Output-Konfiguration<br />
Neben <strong>de</strong>r Übersicht über die allgemeine Konfiguration bietet<br />
das <strong>Web</strong>-<strong>IO</strong> noch eine zusätzliche <strong>Web</strong>seite, die die Konfiguration<br />
und <strong>de</strong>n Status <strong>de</strong>r Outputs wie<strong>de</strong>rgibt.<br />
Wählen Sie im Navigationsbaum Diag >> Test >> Output<br />
Config<br />
m Notwendige Zugriffsrechte: Administrator<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
273
W&T Diagnose und Test<br />
Für je<strong>de</strong>n <strong>de</strong>r Outputs wer<strong>de</strong>n folgen<strong>de</strong> Informationen ausgegeben:<br />
Modus<br />
Hier wird die konfigurierte Betriebsart angezeigt:<br />
. HTTP<br />
. UDP ASCII<br />
. SNMP<br />
. Binary 1<br />
. Binary 2<br />
. Logic<br />
Group Mo<strong>de</strong><br />
Wur<strong>de</strong>n 2 o<strong>de</strong>r 4 Outputs zu einer Gruppe zusammengefasst,<br />
wird das in dieser Spalte angezeigt.<br />
Safety State<br />
Diese Spalte kann folgen<strong>de</strong> Einträge enthalten:<br />
. unverän<strong>de</strong>rt<br />
Es wur<strong>de</strong> keine Watchdog Funktion für diesen Ausgang<br />
gesetzt.<br />
. ON<br />
Es wur<strong>de</strong> eine Watchdog Funktion für diesen Ausgang festgelegt.<br />
. Error<br />
Bei aktivierter Load Control wur<strong>de</strong> eine Überlast o<strong>de</strong>r eine<br />
fehlen<strong>de</strong> Last erkannt.<br />
Bei Überlast wur<strong>de</strong> <strong>de</strong>r Output vom <strong>Web</strong>-<strong>IO</strong> abgeschaltet.<br />
(nicht bei <strong>Web</strong>-<strong>IO</strong> mit Relaisausgängen)<br />
274
W&T Diagnose und Test<br />
i Da<br />
es sich im letzten Fall um einen<br />
schwerwiegen<strong>de</strong>n Fehler han<strong>de</strong>lt, wer<strong>de</strong>n die Fel<strong>de</strong>r im<br />
Fehlerfall rot hinterlegt.<br />
Load Control<br />
(nicht bei <strong>Web</strong>-<strong>IO</strong> mit Relaisausgängen und PoE versorgten Geräten)<br />
Das <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> verfügt neben <strong>de</strong>r thermischen<br />
Kurzschlusssicherung über eine Lastüberwachung, die im<br />
Fehlerfall die Outputs solange abschaltet, bis sie vom Administrator<br />
wie<strong>de</strong>r freigeschaltet wer<strong>de</strong>n.<br />
In <strong>de</strong>n Werkseinstellungen ist die Load Control nicht aktiviert.<br />
Unter Config >> Device >> Output Mo<strong>de</strong> kann durch das Markieren<br />
von Load Control Enable die Lastüberwachung aktiviert<br />
bzw. <strong>de</strong>aktiviert wer<strong>de</strong>n.<br />
m Notwendige Zugriffsrechte: Administrator<br />
i Unabhängig<br />
davon, ob Load Control aktiviert ist o<strong>de</strong>r<br />
nicht, schützt die thermische Kurzschlusssicherung<br />
<strong>de</strong>n betroffenen Output vor Beschädigung.<br />
Mit <strong>de</strong>r Aktivierung von Load Control wird ein Management eingeschaltet,<br />
welches im Überlastfall die betroffenen Outputs in<br />
<strong>de</strong>n Status OFF schaltet und <strong>de</strong>n Anwen<strong>de</strong>r informieren kann.<br />
Aus hardwaretechnischen Grün<strong>de</strong>n fin<strong>de</strong>t die Lastüberwachung<br />
paarweise, also immer für zwei Outputs statt, z.B. Output 0 und<br />
Output 1. Je nach Zustand <strong>de</strong>r Outputs und Art <strong>de</strong>s Fehlers<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
275
W&T Diagnose und Test<br />
kann das <strong>Web</strong>-<strong>IO</strong> nicht ein<strong>de</strong>utig bestimmen, welcher Output<br />
ursächlich für <strong>de</strong>n Fehler ist. In diesem Fall wer<strong>de</strong>n bei<strong>de</strong> Outputs<br />
auf OFF gesetzt.<br />
Es wird zusätzlich überwacht, ob überhaupt eine Last vorhan<strong>de</strong>n<br />
ist. Kann das <strong>Web</strong>-<strong>IO</strong> ein<strong>de</strong>utig feststellen, dass es<br />
sich bei <strong>de</strong>m aufgetretenen Fehler um eine fehlen<strong>de</strong> Last<br />
han<strong>de</strong>lt, wird (nur) für dieses Outputpaar die Load Control<br />
<strong>de</strong>akiviert.<br />
Durch Klick auf <strong>de</strong>n Report löschen Button unter Diag >>Report<br />
kann <strong>de</strong>r Administrator abgeschaltete Outputs wie<strong>de</strong>r einschalten.<br />
m Notwendige Zugriffsrechte: Administrator<br />
I Bei<br />
Fehlermeldungen durch Load control muss in<br />
je<strong>de</strong>m Fall die physikalische Beschaltung <strong>de</strong>r betroffenen<br />
Outputs überprüft wer<strong>de</strong>n, bevor diese wie<strong>de</strong>r freigeschaltet<br />
wer<strong>de</strong>n.<br />
i Overload-Fehler<br />
276<br />
können auch als Trigger für einen<br />
Alarm konfiguriert wer<strong>de</strong>n. Siehe Kapitel Alarme<br />
6.6.3 LED -Test<br />
Um alle LEDs <strong>de</strong>s Input/Output-Teils <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> auf<br />
Funktion zu prüfen wählen Sie im Navigationsbaum Diag >><br />
Test >> LED und klicken Sie auf <strong>de</strong>n LED Test Button.<br />
m Notwendige Zugriffsrechte: Default User, Config, Administrator.
W&T Diagnose und Test<br />
Alle LEDs wer<strong>de</strong>n für ca. 2 Sek. eingeschaltet.<br />
Mit Hilfe dieser Funktion kann ein <strong>Web</strong>-<strong>IO</strong> im Schaltschrank ein<strong>de</strong>utig<br />
i<strong>de</strong>ntifiziert wer<strong>de</strong>n.<br />
i Am<br />
tatsächlichen Zustand <strong>de</strong>r Outputs än<strong>de</strong>rt sich<br />
natürlich nichts. Die 3 LEDs über <strong>de</strong>m Ethernet-Anschluss<br />
wer<strong>de</strong>n von diesem Test nicht berührt.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
277
W&T<br />
278
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
7 Anhang<br />
. Aternative bei <strong>de</strong>r IP-Adressvergabe<br />
. Firmware Udate<br />
. Notzugang<br />
. Verwen<strong>de</strong>te Portnummern und Netzwerksicherheit<br />
. Fehlermeldungen und ihre Ursachen<br />
. Technische Daten<br />
. Konformitätserklärung<br />
. In<strong>de</strong>x<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
279
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
7.1 Alternativen bei <strong>de</strong>r IP-Adressvergabe<br />
In <strong>de</strong>n meisten Fällen in <strong>de</strong>nen die IP-Adressvergabe nicht per<br />
DHCP erfolgt ist es am einfachsten, <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> eine IP-Adresse<br />
mit <strong>de</strong>m Wutility Tool zuzuweisen (Siehe Abschnitt 2.2).<br />
In Ausnahmefällen o<strong>de</strong>r wenn kein PC mit Windows-System zur<br />
Verfügung steht bieten sich folgen<strong>de</strong> Alternativen:<br />
. Vergabe mit Hilfe <strong>de</strong>s ARP-Kommandos<br />
. Vergabe über die serielle Schnittstelle<br />
. Vergabe per RARP-Protokoll<br />
. Vergabe per DHCP-Protoll<br />
. Vergabe per BOOTP-Protoll<br />
7.1.1 Vergabe <strong>de</strong>r IP mit Hilfe <strong>de</strong>s ARP-Kommandos<br />
1<br />
Diese Metho<strong>de</strong> ist nur ausführbar, wenn das <strong>Web</strong>-<strong>IO</strong><br />
noch keine IP-Adresse hat, <strong>de</strong>r Eintrag also 0.0.0.0 lautet.<br />
Verwen<strong>de</strong>n Sie zum Än<strong>de</strong>rn einer IP-Adresse eine <strong>de</strong>r an<strong>de</strong>ren<br />
in diesem Kapitel beschriebenen Metho<strong>de</strong>n o<strong>de</strong>r <strong>de</strong>n Menüpunkt<br />
Config/Device/Network im <strong>Web</strong>-Based Management <strong>de</strong>s<br />
<strong>Web</strong>-<strong>IO</strong>.<br />
Weitere Voraussetzung ist ein Computer, <strong>de</strong>r sich im gleichen<br />
Netzwerksegment <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> befin<strong>de</strong>t und auf <strong>de</strong>m das TCP/<br />
IP-Protokoll installiert ist. Lesen Sie die Ethernet-Adresse <strong>de</strong>s<br />
<strong>Web</strong>-<strong>IO</strong> von <strong>de</strong>m Aufkleber an <strong>de</strong>r Gehäuseseite ab:<br />
5763x [Mo<strong>de</strong>l]<br />
EN=00c03d003fa0<br />
OK xxxxxx<br />
280<br />
Ethernet address<br />
Fügen Sie jetzt mit <strong>de</strong>r folgen<strong>de</strong>n Befehlszeile <strong>de</strong>r ARP-Tabelle<br />
<strong>de</strong>s Rechners einen statischen Eintrag hinzu:
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
arp -s [IP-Adresse] [MAC-Adresse]<br />
Beispiel unter Windows:<br />
arp -s 10.40.72.15 00-C0-3D-00-3F-A0<br />
Beispiel unter SCO UNIX:<br />
arp -s 10.40.72.15 00:C0:3D:00:3F:A0<br />
i Ältere<br />
Windows-Systeme akzeptieren einen statischen<br />
Eintrag nur dann, wenn bereits ein dynamischer vorhan<strong>de</strong>n<br />
ist. Führen Sie hier zunächst ein PING auf einen an<strong>de</strong>ren<br />
Netzwerkteilnehmer durch.<br />
Starten Sie abschließend <strong>de</strong>n <strong>Web</strong>-Browser und geben Sie folgen<strong>de</strong><br />
URL ein:<br />
http://[IP-Adresse] [Return]<br />
Beispiel:<br />
1In Windows-Umgebungen darf die Eingabe von IP-<br />
Adressen nur ohne führen<strong>de</strong> Nullen erfolgen. Ansonsten<br />
wird die Eingabe vom System falsch interpretiert und <strong>de</strong>m <strong>Web</strong>-<br />
<strong>IO</strong> wird eine falsche IP-Adresse zugewiesen.<br />
Das <strong>Web</strong>-<strong>IO</strong> übernimmt die IP-Adresse <strong>de</strong>s ersten an seine<br />
Ethernet-Adresse gesen<strong>de</strong>ten Netzwerkpaketes als seine eigene<br />
und speichert diese nichtflüchtig ab. Die HTTP-Verbindung wird<br />
daraufhin aufgebaut und die Homepage <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> erscheint<br />
im Browser. Alle weiteren Einstellungen können nun bequem per<br />
<strong>Web</strong>-Based Management vorgenommen wer<strong>de</strong>n (siehe Kapitel<br />
Grun<strong>de</strong>instellung <strong>de</strong>r Netzwekparameter).<br />
7.1.2 Vergabe <strong>de</strong>r IP über die serielle Schnittstelle<br />
Nach einem Reset <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> wird am seriellen Port ein Zeitfenster<br />
von ca. 1-2 Sekun<strong>de</strong>n zur Verfügung gestellt, in <strong>de</strong>m<br />
durch die Eingabe von min<strong>de</strong>stens 3 „x“ die Vergabe einer neuen<br />
IP-Adresse ermöglicht wird.<br />
1<br />
Im Gegensatz zur vorher beschriebenen Metho<strong>de</strong> über<br />
ARP funktioniert <strong>de</strong>r serielle Weg unabhängig davon, ob<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
281
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
das <strong>Web</strong>-<strong>IO</strong> bereits eine IP-Adresse hat o<strong>de</strong>r nicht. Der Vorgang<br />
ist beliebig oft wie<strong>de</strong>rholbar. Verwen<strong>de</strong>n Sie <strong>de</strong>shalb diese Metho<strong>de</strong>,<br />
wenn Sie die IP-Adresse nicht kennen o<strong>de</strong>r vergessen haben.<br />
Der Anhang enthält hierzu eine <strong>de</strong>taillierte Vorgehensweise unter<br />
Windows mit <strong>de</strong>m Terminalprogramm Hyperterminal.<br />
Verbin<strong>de</strong>n Sie zunächst das <strong>Web</strong>-<strong>IO</strong> seriell mit einem Computer.<br />
Für einen Standard-PC wird ein gekreuztes RS232-Kabel<br />
(=Nullmo<strong>de</strong>mkabel) benötigt (siehe Kapitel Serieller Anschluss).<br />
Die seriellen Übertragungsparameter <strong>de</strong>s verwen<strong>de</strong>ten Terminalprogramms<br />
wer<strong>de</strong>n auf 9600 Baud, no Parity, 8 Bits, 1 Stopbit,<br />
no Handshake konfiguriert. Betätigen Sie kurz die Resettaste<br />
<strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> und geben Sie am Terminal min<strong>de</strong>stens dreimal <strong>de</strong>n<br />
Buchstaben „x“ ein bis im Terminalprogramm das Prompt<br />
IPno.+: erscheint.<br />
Geben Sie im üblichen Format (xxx.xxx.xxx.xxx) die IP Adresse<br />
ein, und been<strong>de</strong>n Sie die Eingabe mit . Wur<strong>de</strong> die Eingabe<br />
akzeptiert, wird mit <strong>de</strong>r zugewiesenen IP-Adresse quittiert.<br />
Ansonsten erfolgt die Meldung FAIL gefolgt von <strong>de</strong>r zuletzt aktuellen<br />
IP-Adresse.<br />
Alle weiteren Einstellungen können nun bequem per <strong>Web</strong>-Based<br />
Management im Browser vorgenommen wer<strong>de</strong>n (siehe Kapitel<br />
Grun<strong>de</strong>instellung <strong>de</strong>r Netzwerkparameter).<br />
Serielle Vergabe von Subnet-Mask und Gateway<br />
Zusammen mit <strong>de</strong>r IP-Adresse können auch die Subnet-Mask<br />
und Gateway-Adresse seriell vergeben wer<strong>de</strong>n. Die Angabe erfolgt<br />
durch Kommata getrennt, im Anschluss an die IP-Adresse.<br />
Durch die Eingabe im folgen<strong>de</strong>n Beispiel wird <strong>de</strong>m <strong>Web</strong>-<strong>IO</strong><br />
die IP-Adresse 10.40.72.15, die Subnet-Mask 255.255.0.0 und<br />
das Gateway 10.40.1.1zugewiesen.<br />
IP no.+: <strong>Web</strong>-<strong>IO</strong><br />
10.40.72.15,255.255.255.0,10.40.1.1-1
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
Serielle Deaktivierung von DHCP-/BOOTP/RARP<br />
Die DHCP-/BOOTP-Funktion und RARP <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> kann im<br />
Zuge einer seriellen Vergabe <strong>de</strong>r IP-Adresse abgeschaltet wer<strong>de</strong>n.<br />
Wir empfehlen, hiervon in allen Fällen Gebrauch zu machen,<br />
in <strong>de</strong>nen nicht ausdrücklich die IP-Zuweisung mittels<br />
DHCP/BOOTP o<strong>de</strong>r RARP erfolgen soll.<br />
Geben Sie zur Deaktivierung <strong>de</strong>s DHCP-/BOOTP-Clients bzw.<br />
RARP im direkten Anschluss (ohne Leerzeichen!) an die IP-<br />
Adresse die Option „-0“ (null) an und been<strong>de</strong>n Sie die Eingabe<br />
mit .<br />
Beispiel:<br />
xxx -> <strong>Web</strong>-<strong>IO</strong><br />
IP no.+: <strong>Web</strong>-<strong>IO</strong><br />
10.40.72.15,255.255.255.0,10.40.1.1-0 > Device >> Network<br />
7.1.3 IP-Vergabe über einen RARP-Server<br />
Beson<strong>de</strong>rs UNIX-Umgebungen bedienen sich für eine zentralisierte<br />
Zuweisung von IP-Adressen häufig <strong>de</strong>s RARP-Protokolls.<br />
Hierbei sen<strong>de</strong>n TCP/IP-Geräte, die eine IP-Adresse beziehen<br />
möchten, RARP-Requests mit ihrer Ethernet-Adresse als Broadcast<br />
in das Netzwerk.<br />
Aktivieren Sie <strong>de</strong>n RARP-Server auf <strong>de</strong>m UNIX-System, und tragen<br />
Sie in <strong>de</strong>r Datei /etc/ethers die Ethernet-Adresse <strong>de</strong>s <strong>Web</strong>-<br />
<strong>IO</strong> ein. In <strong>de</strong>r Datei /etc/hosts muss zusätzlich die IP-Adresse<br />
<strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> eingetragen wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
283
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
5763x [Mo<strong>de</strong>l]<br />
EN=00c03d003fa0<br />
OK xxxxxx<br />
284<br />
Ethernet address<br />
Das <strong>Web</strong>-<strong>IO</strong> muss sich im gleichen Subnetz wie <strong>de</strong>r RARP-Server<br />
befin<strong>de</strong>n.<br />
Beispiel<br />
Ihr <strong>Web</strong>-<strong>IO</strong> hat die MAC-Adresse EN= 00C03D003FA0 (Sticker<br />
auf <strong>de</strong>m Gerät). Er soll die IP-Adresse 172.16.232.17 und <strong>de</strong>n<br />
Aliasnamen WEB<strong>IO</strong>_1 erhalten:<br />
• Eintrag in <strong>de</strong>r Datei /etc/hosts:<br />
10.40.72.15 WEB<strong>IO</strong>_1<br />
• Eintrag in <strong>de</strong>r Datei /etc/ethers:<br />
00:C0:3D:00:3F:A0 WEB<strong>IO</strong>_1<br />
Lautet die IP-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> 0.0.0.0 (=Factory Defaults),<br />
wer<strong>de</strong>n zyklisch RARP-Broadcasts erzeugt, um von einem ggf.<br />
vorhan<strong>de</strong>nen RARP-Daemon eine gültige Adresse zu beziehen.<br />
Verfügt das <strong>Web</strong>-<strong>IO</strong> bereits über eine gültige IP-Adresse, wird<br />
nach je<strong>de</strong>m Reset ein RARP-Broadcast erzeugt. Erfolgt hierauf<br />
innerhalb von 500ms ein Reply, wird die darin enthaltene IP-<br />
Adresse übernommen. Wie bei <strong>de</strong>r Vergabe über die serielle<br />
Schnittstelle, ist es auf diesem Wege ebenfalls möglich, eine aktuelle<br />
IP-Adresse zu überschreiben.<br />
7.1.4 IP-Vergabe per DHCP-Protokoll<br />
Viele Netzwerke nutzen für die zentralisierte und dynamische<br />
Vergabe <strong>de</strong>r Netzwerkparameter DHCP (Dynamic Host<br />
Configuration Protocol) o<strong>de</strong>r auch das im folgen<strong>de</strong>n Kapitel beschriebene<br />
Vorgängerprotokoll BOOTP. Mit <strong>de</strong>n Werkseinstellungen<br />
ist das DHCP-Protokoll aktiviert, so dass es in<br />
Netzwerkumgebungen mit dynamischer IP-Vergabe ausreicht,<br />
das <strong>Web</strong>-<strong>IO</strong> an das Netzwerk anzuschließen. Die folgen<strong>de</strong>n Parameter<br />
können mit Hilfe von DHCP zugewiesen wer<strong>de</strong>n:<br />
• IP-Adresse
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
• Subnet-Mask<br />
• Gateway-Adresse<br />
• DNS-Server<br />
• Lease-Time<br />
1Zur Vermeidung ungewollter Adressvergaben o<strong>de</strong>r<br />
Adressän<strong>de</strong>rungen, empfehlen wir die Protokolle DHCP,<br />
BOOTP und RARP zu <strong>de</strong>aktivieren, sofern diese nicht ausdrücklich<br />
in <strong>de</strong>r jeweiligen Netzwerkumgebung genutzt wer<strong>de</strong>n.<br />
<strong>Web</strong>-<strong>IO</strong> mit fälschlich zugeteilter IP-Adresse können nachträglich<br />
mit Hilfe <strong>de</strong>r Scan-Funktion <strong>de</strong>s Managementtools WuTility<br />
komfortabel gefun<strong>de</strong>n und neu konfiguriert wer<strong>de</strong>n.<br />
Aktivierung/Deaktivierung von DHCP<br />
Mit <strong>de</strong>r Werkseinstellung ist das DHCP-Protokoll aktiviert. Zur<br />
Deaktivierung o<strong>de</strong>r auch zum späteren Wie<strong>de</strong>reinschalten stehen<br />
die folgen<strong>de</strong>n Möglichkeiten zur Verfügung.<br />
• Management-Tool WuTility<br />
Markieren Sie in <strong>de</strong>r Geräteliste das gewünschten <strong>Web</strong>-<strong>IO</strong><br />
und betätigen <strong>de</strong>n Button IP-Adresse. In <strong>de</strong>m ersten Dialogfenster<br />
tragen Sie die neu zu vergeben<strong>de</strong>n Netzwerkparameter<br />
ein und betätigen dann Weiter. Deaktivieren Sie<br />
in <strong>de</strong>m folgen<strong>de</strong>n Dialogfenster die Optionen BOOTP und<br />
DHCP. Mit Weiter wer<strong>de</strong>n jetzt abschließend die neuen<br />
Konfigurationsdaten an das <strong>Web</strong>-<strong>IO</strong> übertragen.<br />
Serielle Schnittstelle<br />
Im Zuge <strong>de</strong>r seriellen IP-Vergabe, können in direktem Anschluss<br />
an <strong>de</strong>n Adressstring folgen<strong>de</strong> Optionen zur<br />
Deaktivierung/Aktivierung <strong>de</strong>r Protokolle DHCP, BOOTP angegeben<br />
wer<strong>de</strong>n:<br />
-0 r Deaktiviert DHCP und BOOTP<br />
-1 r Aktiviert BOOTP/RARP<br />
-2 r Aktiviert DHCP<br />
Eine <strong>de</strong>taillierte Beschreibung <strong>de</strong>r Vorgehensweise fin<strong>de</strong>n Sie<br />
im Kapitel Serielle Vergabe von IP, Subnet Mask und Gateway.<br />
<strong>Web</strong> Based Management<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
285
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
Im Menüzweig Config >> Device >> Basic Settings >> Network -<br />
> DHCP/BOOTP Enable können die Protokolle alternierend aktiviert<br />
bzw. bei<strong>de</strong> <strong>de</strong>aktiviert wer<strong>de</strong>n. Detailinformationen hierzu<br />
fin<strong>de</strong>n Sie im Kapitel Konfiguration <strong>de</strong>r Netzwerkparameter.<br />
System Name<br />
Zur Unterstützung einer eventuell automatisierten<br />
Aktualisierung <strong>de</strong>s DNS-Systems durch <strong>de</strong>n DHCP-Server, i<strong>de</strong>ntifiziert<br />
sich das <strong>Web</strong>-<strong>IO</strong> innerhalb <strong>de</strong>s DHCP-Protokolls mit seinem<br />
System Namen. In <strong>de</strong>r Werkseinstellung lautet dieser<br />
WEB<strong>IO</strong>- gefolgt von <strong>de</strong>n letzten drei Stellen <strong>de</strong>r Ethernet-Adresse.<br />
Zum Beispiel lautet <strong>de</strong>r werksseitig eingestellte System Name<br />
(Device Name) eines <strong>Web</strong>-<strong>IO</strong> mit <strong>de</strong>r Ethernet-Adresse<br />
00:c0:3d:01:02:03 WEB<strong>IO</strong>-010203. Der Systemname <strong>de</strong>s <strong>Web</strong>-<br />
<strong>IO</strong> kann per <strong>Web</strong>-Based Management geän<strong>de</strong>rt wer<strong>de</strong>n. Weitere<br />
Informationen hierzu fin<strong>de</strong>n Sie im Kapitel Menü: Konfiguration<br />
<strong>de</strong>r Netzwerkparameter.<br />
Lease-Time<br />
Die vom DHCP-Server bestimmte und übermittelte Lease-Time<br />
legt die Gültigkeitsdauer <strong>de</strong>r zugewiesenen IP-Adresse fest.<br />
Nach Ablauf <strong>de</strong>r halben Lease-Time versucht das <strong>Web</strong>-<strong>IO</strong> bei<br />
<strong>de</strong>m zuweisen<strong>de</strong>n DHCP-Server die Gültigkeit zu verlängern bzw.<br />
die Adresse zu aktualisieren. Ist dieses bis zum Ablauf <strong>de</strong>r Lease-Time<br />
nicht möglich, zum Beispiel weil <strong>de</strong>r DHCP-Server nicht<br />
mehr erreichbar ist, löscht das <strong>Web</strong>-<strong>IO</strong> die IP-Adresse und startet<br />
eine zyklische Suche nach alternativen DHCP-Servern zwecks<br />
Zuweisung einer neuen IP-Adresse.<br />
Bedingt durch die fehlen<strong>de</strong> Uhr, ist die zur aktuellen IP-Adresse<br />
gehören<strong>de</strong> Lease-Time nach einem Reset nicht mehr verfügbar.<br />
Nach <strong>de</strong>m Neustart erfolgt daher eine entsprechen<strong>de</strong><br />
Aktualisierungsanfrage bei <strong>de</strong>m ursprünglichen DHCP-Server.<br />
Sollte dieser zu diesem Zeitpunkt nicht erreichbar sein, löscht<br />
das <strong>Web</strong>-<strong>IO</strong> die IP-Adresse und startet eine zyklische Suche<br />
nach alternativen DHCP-Servern.<br />
Ist DHCP aktiviert, wird die verbleiben<strong>de</strong> Lease-Time zusammen<br />
mit <strong>de</strong>r aktuellen IP-Adresse im Menüzweig Config >> Device >><br />
Basic Settings >> Network im Format hh:mm:ss angezeigt.<br />
286
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
1Sollte nach Ablauf <strong>de</strong>r zugewiesenen Lease-Time <strong>de</strong>r<br />
DHCP-Server nicht erreichbar sein, löscht das <strong>Web</strong>-<strong>IO</strong> seine<br />
IP-Adresse. Alle bestehen<strong>de</strong>n TCP/UDP-Verbindungen zwischen<br />
<strong>de</strong>m <strong>Web</strong>-<strong>IO</strong> und an<strong>de</strong>ren Netzwerkteilnehmern wer<strong>de</strong>n<br />
hierdurch unterbrochen. Um Störungen dieser Art zu vermei<strong>de</strong>n,<br />
empfehlen wir, die zu vergeben<strong>de</strong> Lease-Time im DHCP-Server<br />
möglichst auf unendlich zu konfigurieren.<br />
Reservierte IP-Adressen<br />
Wird das <strong>Web</strong>-<strong>IO</strong> als TCP-Server o<strong>de</strong>r UDP-Peer eingesetzt, stellt<br />
es Dienste zur Verfügung, die an<strong>de</strong>re Teilnehmer (Clients) im<br />
Netzwerk nach Bedarf in Anspruch nehmen können. Für die<br />
Verbindungsaufnahme wird von diesen natürlich die aktuelle IP-<br />
Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> benötigt, so dass es in diesen Anwendungsfällen<br />
sinnvoll ist, auf <strong>de</strong>m DHCP-Server eine bestimmte<br />
IP-Adresse für das <strong>Web</strong>-<strong>IO</strong> zu reservieren. In <strong>de</strong>r Regel<br />
erfolgt dieses durch die Bindung <strong>de</strong>r IP-Adresse an die weltweit<br />
einmalige Ethernet-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>, welche <strong>de</strong>m Aufkleber<br />
am Gehäuse entnommen wer<strong>de</strong>n kann.<br />
5763x [Mo<strong>de</strong>l]<br />
EN=00c03d003fa0<br />
OK xxxxxx<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Ethernet address<br />
Dynamische IP-Adressen<br />
Eine völlig dynamische Adress-Vergabe, bei welcher das <strong>Web</strong>-<br />
<strong>IO</strong> mit je<strong>de</strong>m Neustart o<strong>de</strong>r auch nach Ablauf <strong>de</strong>r Lease-Zeit<br />
eine an<strong>de</strong>re IP-Adresse bekommt, ist nur in<br />
Netzwerkumgebungen mit automatisierter Querverbindung zwischen<br />
<strong>de</strong>n Diensten DHCP und DNS sinnvoll. Das heißt, bei <strong>de</strong>r<br />
Neuzuteilung einer IP-Adresse an das <strong>Web</strong>-<strong>IO</strong>, aktualisiert <strong>de</strong>r<br />
DHCP-Server anschließend automatisch auch das DNS-System.<br />
Dem jeweiligen Domain-Namen wird hierbei die neue Adresse<br />
zugeordnet. Für Detailinformationen zu Ihrer Netzwerkumgebung<br />
wen<strong>de</strong>n Sie sich im Zweifel an Ihren Systemadministrator.<br />
Ist das <strong>Web</strong>-<strong>IO</strong> als TCP- o<strong>de</strong>r UDP-Client konfiguriert und sucht<br />
seinerseits aktiv Verbindung zu im Netzwerk befindlichen Server-Diensten,<br />
können auch dynamische, sich än<strong>de</strong>rn<strong>de</strong> IP-<br />
Adressen genutzt wer<strong>de</strong>n.<br />
287
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
7.1.5 IP-Vergabe per BOOTP-Protokoll<br />
Einige Netzwerke nutzen für die zentralisierte und dynamische<br />
Vergabe von IP-Adressen BOOTP als Vorgänger <strong>de</strong>s DHCP-Protokolls.<br />
Mit <strong>de</strong>n Werkseinstellungen ist BOOTP abgeschaltet. Die<br />
Aktivierung kann über das Konfigurationsmenü im Zweig<br />
Config >> Device >> Basic Settings >> Network -> DHCP/BOOTP<br />
Enable erfolgen. Die folgen<strong>de</strong>n Parameter können übergeben<br />
wer<strong>de</strong>n:<br />
• IP-Adresse<br />
• Subnet-Mask<br />
• Gateway-Adresse<br />
• DNS-Server<br />
1Zur Vermeidung ungewollter Adressvergaben o<strong>de</strong>r<br />
Adressän<strong>de</strong>rungen empfehlen wir, die Protokolle DHCP,<br />
BOOTP und RARP zu <strong>de</strong>aktivieren, sofern diese nicht ausdrücklich<br />
in <strong>de</strong>r jeweiligen Netzwerkumgebung genutzt wer<strong>de</strong>n.<br />
<strong>Web</strong>-<strong>IO</strong> mit fälschlich zugeteilter IP-Adresse können nachträglich<br />
mit Hilfe <strong>de</strong>r Scan-Funktion <strong>de</strong>s Managementtools WuTility<br />
komfortabel gefun<strong>de</strong>n und neu konfiguriert wer<strong>de</strong>n.<br />
Adressreservierung<br />
Das BOOTP-Protokoll basiert auf Reservierungen von festen IP-<br />
Adressen für bestimmte Ethenet-Adressen. Das heißt, ein an<br />
das Netzwerk angeschlossenes <strong>Web</strong>-<strong>IO</strong> erhält nur dann eine IP-<br />
Adresse, wenn diese zuvor im BOOTP-Server entsprechend hinterlegt<br />
wur<strong>de</strong>. Für das Anlegen <strong>de</strong>r Reservierung wen<strong>de</strong>n Sie<br />
sich bitte an <strong>de</strong>n zuständigen Systemadministrator. Die hierfür<br />
benötigte Ethernet-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>s kann <strong>de</strong>m am Gehäuse<br />
befindlichen Aufkleber entnommen wer<strong>de</strong>n.<br />
5763x [Mo<strong>de</strong>l]<br />
EN=00c03d003fa0<br />
OK xxxxxx<br />
288<br />
Ethernet address<br />
Nach<strong>de</strong>m die notwendigen Eintragungen vom Administrator<br />
vorgenommen wur<strong>de</strong>n, bezieht das <strong>Web</strong>-<strong>IO</strong> nach je<strong>de</strong>m Reset<br />
automatisch die gewünschte IP-Adresse. Um die Erreichbarkeit<br />
<strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> auch bei ausgefallenem BOOTP-Server zu gewähr-
W&T Vergabe <strong>de</strong>r IP-Adresse<br />
leisten, wird bei ausbleiben<strong>de</strong>r Antwort die bisherige IP-Adresse<br />
beibehalten.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
289
W&T Firmware Update<br />
7.2 Firmware Update<br />
Die Betriebssoftware <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> wird ständig weiterentwickelt.<br />
Das folgen<strong>de</strong> Kapitel beschreibt aus diesem Grund das Verfahren,<br />
einen Upload <strong>de</strong>r Firmware durchzuführen.<br />
7.2.1 Wo ist die aktuelle Firmware erhältlich?<br />
g Auf<br />
unserer <strong>Web</strong>seite www.WuT.<strong>de</strong> fin<strong>de</strong>n Sie links die<br />
„Suche über Artikel-Nr“. Geben Sie hier die Artikel-Nr. Ihres<br />
<strong>Web</strong>-<strong>IO</strong> ein, wählen Sie in <strong>de</strong>m Feld darunter „Firmware“ aus<br />
und klicken Sie auf „Los“. Auf <strong>de</strong>r Seite, die sich dann öffnet,<br />
wählen Sie <strong>de</strong>n Link zur aktuellen Firmware.<br />
7.2.2 Firmware-Update über das Netzwerk mit Windows<br />
Voraussetzung ist ein PC unter Windows 9x/NT/2000/XP mit<br />
einem Netzwerkanschluss und aktiviertem TCP/IP-Stack. Für <strong>de</strong>n<br />
Update-Prozess benötigen Sie zwei Files, die, wie bereits beschrieben,<br />
auf <strong>de</strong>r Homepage http://www.wut.<strong>de</strong> zum Download<br />
bereitstehen:<br />
. das ausführbare WuTility -Tool für die Übertragung <strong>de</strong>r Firmware<br />
in das <strong>Web</strong>-<strong>IO</strong><br />
. die Datei mit <strong>de</strong>r neuen Firmware, die in das <strong>Web</strong>-<strong>IO</strong> übertragen<br />
wer<strong>de</strong>n soll<br />
Das für das Update verwen<strong>de</strong>te WuTility erkennt alle in Ihrem<br />
Netzwerk befindlichen WuT Geräte und ist weitestgehend<br />
selbsterklärend. Sollten doch Fragen o<strong>de</strong>r Unklarheiten bestehen,<br />
nutzen Sie bitte die zugehörige Dokumentation o<strong>de</strong>r<br />
Online-Hilfe.<br />
1Benutzen Sie für das Update nur Wutility in <strong>de</strong>r<br />
aktuellen Version . Die Verwendung von älteren Wutility-<br />
Versionen kann das <strong>Web</strong>-<strong>IO</strong> beim Update funktionell zerstören.<br />
290
W&T Firmware Update<br />
1Wir empfehlen alle Passwörter zu löschen und einen<br />
Reset <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> durchzuführen, bevor das Update eingespielt<br />
wird.<br />
1Für das Update benötigt Wutility uneingeschränkten<br />
Netzwerkzugriff auf das <strong>Web</strong>-<strong>IO</strong>. Software-Firewalls und<br />
Internetsecuritytools sollten so konfiguriert wer<strong>de</strong>n, dass <strong>de</strong>r Zugriff<br />
auf das <strong>Web</strong>-<strong>IO</strong> nicht behin<strong>de</strong>rt wird.<br />
IUnterbrechen Sie nie selbstständig <strong>de</strong>n Update-Prozess<br />
durch Trennen <strong>de</strong>r Spannungsversorgung o<strong>de</strong>r Betätigen<br />
<strong>de</strong>s Reset-Tasters. Nach einem unvollständigen Update ist<br />
das <strong>Web</strong>-<strong>IO</strong> betriebsunfähig.<br />
Normalerweise erkennt das <strong>Web</strong>-<strong>IO</strong> selbstständig wenn die<br />
Übertragung <strong>de</strong>r neuen Betriebssoftware komplett ist und führt<br />
dann selbstständig einen Reset durch. In seltenen Fällen kann<br />
es nach <strong>de</strong>m Firmware Update notwendig sein, das <strong>Web</strong>-<strong>IO</strong> per<br />
Hardware-Reset neu zu starten (Reset-Taster o<strong>de</strong>r Power ON).<br />
Ein Software-Reset per Netzwerkzugriff über Port 8888 reicht<br />
dann nicht aus.<br />
I <strong>Web</strong>-<strong>IO</strong>,<br />
die vor <strong>de</strong>m Update eine Firmware Version<br />
1.34/1.00 o<strong>de</strong>r älter haben, können nur bei W&T auf<br />
<strong>de</strong>n neusten Firmware-Stand gebracht wer<strong>de</strong>n.<br />
1<strong>Web</strong>-<strong>IO</strong>, die vor <strong>de</strong>m Update eine Firmware Version<br />
1.47/2.09 o<strong>de</strong>r älter haben, sollten vor <strong>de</strong>m Update auf<br />
Factory Defauls zurück gesetzt wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
291
W&T Notzugang<br />
7.3 Notzugang<br />
Über <strong>de</strong>n seriellen Anschluss (DTE) <strong>de</strong>s Gerätes steht ein<br />
Notzugang zur Verfügung. Dieser wird folgen<strong>de</strong>rmaßen aktiviert:<br />
Verbin<strong>de</strong>n Sie das Gerät über ein serielles Kabel mit einem<br />
PC (Null-Mo<strong>de</strong>m-Verbindung) und starten Sie ein serielles<br />
Terminal-Programm. Setzen Sie die Einstellungen <strong>de</strong>s Programms<br />
auf<br />
9600,8,N,1,no handshake<br />
Drücken Sie <strong>de</strong>n Reset-Taster am Gerät. Sobald <strong>de</strong>r Signalton<br />
zu hören ist, drücken Sie auf Ihrer Tastatur 3x folgen<strong>de</strong><br />
Buchstaben für die einzelnen Zugänge:<br />
3x „u“ öffnet <strong>de</strong>n Update-Port. Ein Firmware-Update<br />
kann nun eingespielt wer<strong>de</strong>n.<br />
3x „f“ setzt das Gerät auf <strong>de</strong>n Auslieferungszustand<br />
zurück. Alle vorgenommenen Konfigurations-<br />
Einstellungen (inkl. IP-Adresse) gehen verloren.<br />
3x „p“ löscht alle vergebenen Passwörter.<br />
Zur Bestätigung blinken die system error und die on error<br />
http LEDs mehrmals hintereinan<strong>de</strong>r auf.<br />
3x „x“ (Direkt nach Drücken <strong>de</strong>s Reset-Tasters, vor<br />
<strong>de</strong>m Signalton eingeben) Vergabe/Än<strong>de</strong>rung<br />
<strong>de</strong>r IP-Adresse. Geben Sie an <strong>de</strong>r erscheinen<strong>de</strong>n<br />
Eingabeauffor<strong>de</strong>rung die von Ihnen gewünschte<br />
IP-Adresse ein.<br />
292
W&T Netzwerksicherheit<br />
7.4 Verwen<strong>de</strong>te Ports und Netzwerksicherheit<br />
7.4.1 Verwen<strong>de</strong>te Ports<br />
In <strong>de</strong>r folgen<strong>de</strong>n Liste fin<strong>de</strong>n Sie eine Übersicht, über alle im<br />
<strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> verwen<strong>de</strong>ten Ports.<br />
Portnummer Protokoll Anwendung verän<strong>de</strong>rbar abschaltbar<br />
20 TCP FTP-Data 1...65535 ja<br />
21 TCP FTP-Controll 1...65535 ja<br />
23 TCP Telnet ² nein nein<br />
25 TCP SMTP Mail 1 nein ja<br />
37 TCP Anfrage an Time-Server 1 nein ja<br />
53 UDP Anfrage an DNS-Server 1 nein ja<br />
69 TCP Update über TFTP ³ nein ja<br />
80 TCP Listenport TCP/http ja nein<br />
110 TCP SMTP after POP3 1 nein ja<br />
161 UDP SNMP ³ nein ja<br />
1111 TCP Konfiguration serieller Port ² ³ nein nein<br />
6000 TCP Telnet² nein nein<br />
7000 TCP FTP² nein nein<br />
8000 TCP Socketzugang serieller Port ² ja nein<br />
8002 TCP Initialisierung Firmware Update ³ nein nein<br />
8003 TCP CS-Konfiguration lesen ² ³ nein nein<br />
8004 TCP CS-Konfiguraton speichern ² ³ nein nein<br />
8009 TCP Hilfsport für manuellen Update ³ nein ja<br />
8512 UDP Inventarisierung 1 nein nein<br />
8513 UDP Inventarisierung 1 nein nein<br />
8888 TCP Reset ³ nein nein<br />
9084 TCP Port-Reset ² ³ nein nein<br />
9094 TCP Box-Control-Port ² ³ nein nein<br />
42279 UDP UDP Socket 1...65535 ja<br />
45889 UDP Binary 1 1...65535 ja<br />
45889 UDP Binary 2 1...65535 ja<br />
49153 TCP Binary 1 1...65535 ja<br />
49154 TCP Binary 2 1...65535 ja<br />
1 kein schreiben<strong>de</strong>r Zugriff auf das <strong>Web</strong>-<strong>IO</strong> möglich<br />
2 nur <strong>Web</strong>-<strong>IO</strong> 57631 mit Com-Server Funktion<br />
3 passwortgeschützt<br />
1Je<strong>de</strong> Portnummer darf im <strong>Web</strong>-<strong>IO</strong> nur für einen Dienst<br />
verwen<strong>de</strong>t wer<strong>de</strong>n. Sollen bei <strong>de</strong>n verän<strong>de</strong>rbaren<br />
Ports abweichen<strong>de</strong> Nummern zum Einsatz kommen, ist darauf<br />
zu achten, dass keine Portnummer doppelt verwen<strong>de</strong>t<br />
wird.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
293
W&T Netzwerksicherheit<br />
7.4.2 Das W&T <strong>Web</strong>-<strong>IO</strong> und die Netzwerksicherheit<br />
Die Sicherheit in Netzwerken wird heute zu Recht zunehmend<br />
beachtet. Alle Experten sind sich darüber einig, dass<br />
es eine absolute Sicherheit beim heutigen Stand <strong>de</strong>r Technik<br />
nicht geben kann. Je<strong>de</strong>r Kun<strong>de</strong> muss daher für seine konkreten<br />
Voraussetzungen ein angemessenes Verhältnis zwischen Sicherheit,<br />
Funktionsfähigkeit und Kosten festlegen.<br />
Um hier <strong>de</strong>m Kun<strong>de</strong>n eine größtmögliche Flexibilität zu ermöglichen,<br />
die sich an wechseln<strong>de</strong>n Sicherheitsanfor<strong>de</strong>rungen von<br />
einer reinen Test- und Installationsumgebung bis hin zu kritischen<br />
Produktionsanwendungen orientiert, sind die Sicherheitsmaßnahmen<br />
in hohem Maße durch <strong>de</strong>n Kun<strong>de</strong>n konfigurierbar.<br />
Das vorliegen<strong>de</strong> Dokument gibt einen Überblick über die Sicherheitsmaßnahmen,<br />
die auf <strong>de</strong>m Wiesemann & Theis <strong>Web</strong>-<strong>IO</strong><br />
implementiert sind bzw. genutzt wer<strong>de</strong>n können. Es wird hierbei<br />
vorausgesetzt, dass die Original-Firmware von W&T (ohne<br />
kun<strong>de</strong>nspezifische Anpassungen) eingesetzt wird. Weitere Details<br />
sind <strong>de</strong>n jeweiligen Abschnitten <strong>de</strong>r Bedienungsanleitung<br />
zu entnehmen.<br />
7.4.3 Das Berechtigungskonzept <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong><br />
Wie bereits im Kapitel <strong>Web</strong>-Based Management beschrieben,<br />
kennt das <strong>Web</strong>-<strong>IO</strong> drei Stufen von Berechtigungen:<br />
. Default User (ohne beson<strong>de</strong>re Anmeldung)<br />
. Operator<br />
. Admin<br />
Diese Benutzer greifen im Normalfall über die <strong>Web</strong>-Oberfläche<br />
über <strong>de</strong>n bei http üblichen Port 80 zu.<br />
Der Default User hat mit Hilfe <strong>de</strong>r <strong>Web</strong>-Oberfläche lesen<strong>de</strong>n<br />
Zugriff auf die Nutzdaten <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>, auf die Diagnose-<br />
Tools sowie die Angaben <strong>de</strong>r Online-Dokumentation (Kurz-<br />
Manual, Datenblatt <strong>de</strong>s Geräts, Support-Informationen). Der<br />
Operator kann darüber hinaus die Outputs setzen und die<br />
Alarmausgaben konfigurieren. Alle an<strong>de</strong>ren Einstellungen sind<br />
294
W&T Netzwerksicherheit<br />
durch <strong>de</strong>n Operator nicht verän<strong>de</strong>rbar. Der User Admin hat vollen<br />
Zugriff auf alle Funktionalitäten <strong>de</strong>s Geräts. Er legt die<br />
verwen<strong>de</strong>te(n) Betriebsart(en) und die Netzwerkparameter fest.<br />
Für die User Operator und Admin können Passwörter festgelegt<br />
wer<strong>de</strong>n. Das Gerät erzwingt we<strong>de</strong>r die Verwendung von<br />
Passwörtern, noch dass diese für Operator und Admin unterschiedlich<br />
sind, noch Min<strong>de</strong>stlänge, Zusammensetzung o<strong>de</strong>r<br />
regelmäßigen Wechsel <strong>de</strong>r Passwörter. Dies ist bei Bedarf durch<br />
<strong>de</strong>n Kun<strong>de</strong>n organisatorisch sicherzustellen.<br />
Die Übertragung <strong>de</strong>s Passworts an das <strong>Web</strong>-<strong>IO</strong> geschieht ohne<br />
Verschlüsselung. Es ist also sicherzustellen, dass passwortgeschützte<br />
Zugriffe nur über ein vom Kun<strong>de</strong>n als sicher betrachtetes<br />
Intranet erfolgen. Bei Zugriffen über das öffentliche<br />
Internet sind also gegebenenfalls zusätzliche Maßnahmen wie<br />
Aufbau eines VPN-Tunnels (Virtual Private Network) zu treffen.<br />
Dies ist jedoch eine generelle Problematik <strong>de</strong>r Netzwerksicherheit,<br />
für die je<strong>de</strong>r Kun<strong>de</strong> entsprechen<strong>de</strong> Lösungen fin<strong>de</strong>n<br />
muss.<br />
7.4.4 Ports mit Son<strong>de</strong>rfunktion<br />
Neben <strong>de</strong>m Zugriff über die <strong>Web</strong>-Oberfläche sind eine Reihe<br />
von Funktionen über verschie<strong>de</strong>ne TCP- bzw. UDP-Ports<br />
aktivierbar. Diese sind in Tabelle 1 (Excel-Tabelle) dargestellt.<br />
Eine Reihe von Funktionen ist ein- und ausschaltbar,<br />
jedoch nur mit <strong>de</strong>r Berechtigung „Admin“. Grundsätzlich ist<br />
zu empfehlen, alle nicht benötigten Funktionen abzuschalten.<br />
Näheres hierzu ist <strong>de</strong>r Bedienungsanleitung zu entnehmen.<br />
SNMP:<br />
Um das <strong>Web</strong>-<strong>IO</strong> in ein SNMP-basieren<strong>de</strong>s Systems Management<br />
einbin<strong>de</strong>n zu können, sind alle wesentlichen<br />
Konfigurationseinstellungen auch über SNMP verän<strong>de</strong>rbar.<br />
Der Zugriff ist geschützt, in<strong>de</strong>m das Admin-Passwort in<br />
SNMP als community string verwen<strong>de</strong>t wird. Der SNMP-Zugriff<br />
ist abschaltbar.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
295
W&T Netzwerksicherheit<br />
Ports für die Inventarisierung über das Tool „WuTility“:<br />
Wie alle „intelligenten“ Komponenten von W&T kann das <strong>Web</strong>-<br />
<strong>IO</strong> über das Tool „WuTility“ angesprochen wer<strong>de</strong>n. Hierbei kann<br />
das Tool über die Ports 8512 und 8513 Informationen wie<br />
Hard- und Firmware-Version, IP-Adresse etc. auslesen. Dieser<br />
Zugriff ist grundsätzlich nicht abschaltbar. Ein schreiben<strong>de</strong>r<br />
Eingriff in das Gerät ist auf diesem Wege jedoch nicht möglich.<br />
Firmware-Update:<br />
Über das Protokoll TFTP (TCP-Port 69) ist ein Firmware-Update<br />
und damit ein Überschreiben aller Konfigurations-Einstellungen<br />
möglich. Jedoch nur, wenn <strong>de</strong>r Update-Modus vorher<br />
freigeschaltet wur<strong>de</strong>. Hierzu gibt es mehre Möglichkeiten:<br />
. Einmalige Aktivierung über einen speziellen http-String in<br />
Verbindung mit <strong>de</strong>m Admin-Passwort (falls gesetzt)<br />
. Einmalige Aktivierung, über Config >> Session Control >> Logout<br />
und <strong>de</strong>n Firmware Update Button<br />
Reset über Port 8888:<br />
Durch <strong>de</strong>n Aufbau einer Verbindung (z.B. mit Telnet) auf <strong>de</strong>n<br />
Port 8888 kann ein Reset <strong>de</strong>s Gerätes ausgelöst wer<strong>de</strong>n.<br />
Hierzu ist sofort nach <strong>de</strong>m Verbindungsaufbau das Admin-<br />
Passwort (falls gesetzt) anzugeben. Diese sofortige Übergabe<br />
<strong>de</strong>s Passworts ist praktisch nicht manuell, son<strong>de</strong>rn nur<br />
durch ein Progamm möglich. Die Folgen eines Resets sind<br />
die gleichen, wie die einer kurzzeitigen Unterbrechung <strong>de</strong>r<br />
Stromversorgung o<strong>de</strong>r das Drücken <strong>de</strong>s Reset-Tasters am<br />
Gerät.<br />
7.4.5 Wie<strong>de</strong>rherstellung <strong>de</strong>r Factory Defaults<br />
Durch Wie<strong>de</strong>rherstellen <strong>de</strong>r Werkseinstellungen (Factory<br />
Defaults) können alle vom Kun<strong>de</strong>n vorgenommenen Sicherheitseinstellungen<br />
wie<strong>de</strong>r rückgängig gemacht wer<strong>de</strong>n. Unter an<strong>de</strong>rem<br />
sind dann auch die Userrechte Administrator und Operator<br />
nicht mehr durch Passwort geschützt. Diese Option stellt also<br />
zugleich einen „Notzugang“ für <strong>de</strong>n Fall dar, dass das Passwort<br />
vergessen wur<strong>de</strong> o<strong>de</strong>r im Notfall die Personen, die die Passwör-<br />
296
W&T Netzwerksicherheit<br />
ter kennen, nicht verfügbar sind. Dieser Notzugang ist jedoch<br />
gegen unbefugten Zugriff über die Netzwerkschnittstelle geschützt:<br />
Per Software über <strong>de</strong>n Netzzugang sind die Factory Defaults nur<br />
mit Admin-Berechtigung herstellbar. Über <strong>de</strong>n seriellen Zugang<br />
<strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> dagegen können die Factory Defaults durch eine<br />
Tastenkombination nach <strong>de</strong>m Einschalten bzw. Reset wie<strong>de</strong>r<br />
hergestellt wer<strong>de</strong>n. Es ist also in je<strong>de</strong>m Fall darauf zu achten,<br />
dass nur berechtigte Personen physischen Zugriff auf das Gerät<br />
einschließlich <strong>de</strong>r seriellen Schnittstelle erhalten, bei Bedarf<br />
also z.B. durch abschließbare Schaltschänke.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
297
W&T Timing bei <strong>de</strong>r Signalübertragung<br />
7.5 Timing und Grenzen bei <strong>de</strong>r Signalverarbeitung<br />
Die Systemarchitektur <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> versucht bei möglichst geringem<br />
Energieverbrauch ein hohes Maß an Verarbeitungsgeschwindigkeit<br />
zu erreichen. Dabei arbeitetet das <strong>Web</strong>-<strong>IO</strong> in einem<br />
Multithreading-Verfahren, bei <strong>de</strong>m sich alle benutzten<br />
Dienste und Funktionen die Gesamtsystemleistung teilen.<br />
7.5.1 Signalerkennung<br />
Die Signalerkennung an <strong>de</strong>n Inputs arbeitet mit einer beson<strong>de</strong>rs<br />
hohen Priorität. Es wer<strong>de</strong>n bis zu 500 Signalwechsel pro Sekun<strong>de</strong><br />
sicher erkannt und gezählt. Die Signale müssen dazu min.<br />
1ms (bei <strong>de</strong>n Inputs 0 - 3 im Shortpuls-Modus 50µs) anstehen.<br />
7.5.2 Signalübermittlung<br />
Die Signalübermittlung über die Netzwerkschnittstelle arbeitet<br />
asynchron zur Signalerkennung. Das hat verschie<strong>de</strong>ne Grün<strong>de</strong>:<br />
Zum einen steht je nach Netzwerkauslastung nicht immer die<br />
volle Netzwerkbandbreite zur Verfügung, zum an<strong>de</strong>ren<br />
schwankt je nach Netzwerkprotokoll das Verhältnis von Protokoll-Overhead<br />
und Nutzdatenanteil (das Versen<strong>de</strong>n von<br />
Sinalzustän<strong>de</strong>n per Email ist z.B. <strong>de</strong>utlich aufwändiger als die<br />
Übertragung über eine simple TCP-Verbindung. Abhängig von<br />
<strong>de</strong>r gewählten Betriebsart nehmen die Anwendungsprozesse<br />
<strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> darüber hinaus mehr o<strong>de</strong>r weniger Zeit in Anspruch.<br />
Das zeitliche Verhalten kann <strong>de</strong>shalb je nach Betriebsart und<br />
Protokoll erheblich variieren.<br />
298
W&T Timing bei <strong>de</strong>r Signalübertragung<br />
7.5.3 Signaltiming<br />
Beim Timing <strong>de</strong>r Signalübermittlung sind zwei Faktoren zu berücksichtigen:<br />
. Signalabstand<br />
Der Signalabstand ist die Zeit, die zwischen zwei Signalwechseln<br />
min<strong>de</strong>stens nötig ist, damit bei<strong>de</strong> Wechsel nicht<br />
nur erkannt (gezählt) son<strong>de</strong>rn auch übertragen wer<strong>de</strong>n.<br />
. Latenzzeit<br />
Die Latenzzeit gibt an, wieviel Zeit vom Auftreten eines<br />
Signalwechsels benötigt wird bis die entsprechen<strong>de</strong> Meldung<br />
beim Kommunikationspartner ankommt.<br />
Signalabstand Signalabstand Typische<br />
Zugriffs-/Betriebsart<br />
Input-Erkennung Output-Schalten Latenzzeit<br />
Socketzugriff <strong>Web</strong>-<strong>IO</strong> als TCP-Server (Binary) 50ms 30ms 30ms<br />
Socketzugriff <strong>Web</strong>-<strong>IO</strong> als TCP-Client (Binary) 150ms 30ms 30ms<br />
Socketzugriff <strong>Web</strong>-<strong>IO</strong> als UDP-Peer (Binary) 120ms 30ms 30ms<br />
Socketzugriff <strong>Web</strong>-<strong>IO</strong> als TCP-Server (Kommandostr.) 600ms 30ms 30ms<br />
Socketzugriff <strong>Web</strong>-<strong>IO</strong> als TCP-Client (Kommandostr.) 300ms 30ms 30ms<br />
Socketzugriff <strong>Web</strong>-<strong>IO</strong> als UDP-Peer (Kommandostr.) nur Polling 30ms 30ms<br />
Box-To-Box 50ms 50ms 30ms<br />
SNMP nur Polling 100ms 30ms<br />
Alarm per Email 20s - 20s<br />
Alarm per SNMP-Trap 10s - 10s<br />
Alarm per Syslog 10s - 10s<br />
Alarm per FTP 20s - 20s<br />
Alarm per TCP 2s - 2s<br />
Alarm per UDP 2s - 2s<br />
Logik 2ms 2ms 1ms<br />
1 Die angegeben Zeiten sind Richtwerte für einen<br />
exclusiven Zugriff in einem lokalen, unbelasteten Netzwerk.<br />
Je nach Netzwerkumfeld und Anwendung, können die<br />
Werte erheblich abweichen - vor allem dann, wenn mehrere<br />
Betriebsarten paralell genutzt wer<strong>de</strong>n.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
299
W&T Inventarisierung<br />
7.6 Inventarisierung von W&T Geräten<br />
Beson<strong>de</strong>rs bei größeren Installationen besteht häufig die Anfor<strong>de</strong>rung,<br />
aktuell im Netzwerk befindliche <strong>Web</strong>-<strong>IO</strong>, aber<br />
auch W&T Com-Server zu inventarisieren. Zu diesem Zweck<br />
steht <strong>de</strong>r UDP-Port 8513 zur Verfügung. Nach Empfang eines<br />
an diesen Port gerichteten Netzwerkpaketes antwortet<br />
das <strong>Web</strong>-<strong>IO</strong> <strong>de</strong>m jeweiligen Absen<strong>de</strong>r mit einem Infopaket.<br />
Dieses enthält Informationen über das <strong>Web</strong>-<strong>IO</strong> und <strong>de</strong>ssen<br />
Netzwerk-Parameter.<br />
Ob ein Paket per Broadcast o<strong>de</strong>r direkt adressiert vom <strong>Web</strong>-<br />
<strong>IO</strong> empfangen wur<strong>de</strong>, spielt für die Generierung <strong>de</strong>r Infostruktur<br />
keine Rolle. Entschei<strong>de</strong>nd ist lediglich die UDP-Port<br />
Nr. 8513.<br />
1Aus Grün<strong>de</strong>n <strong>de</strong>r Abwärtskompatibilität unterstützen<br />
die <strong>Web</strong>-<strong>IO</strong> auch weiterhin <strong>de</strong>n bisherigen UDP-Infoport<br />
8512. In neuen Anwendungen sollte jedoch ausschließlich <strong>de</strong>r<br />
hier beschriebene Port 8513 verwen<strong>de</strong>t wer<strong>de</strong>n.<br />
7.6.1 Das Boxinfopaket<br />
Je<strong>de</strong>s Boxinfopaket besteht aus 3-6 Datenstrukturen:<br />
Box_Info<br />
300<br />
1. Byte bis 10. Byte <strong>de</strong>r Gesamtsruktur<br />
Box_Version<br />
10 Byte Struktur<br />
11. Byte bis 32. Byte <strong>de</strong>r Gesamtsruktur<br />
Box_Description<br />
22 Byte Struktur<br />
33. Byte bis 42. Byte <strong>de</strong>r Gesamtsruktur<br />
Port_Description<br />
10 Byte Struktur<br />
43. Byte bis 52. Byte <strong>de</strong>r Gesamtsruktur<br />
Port_Description<br />
10 Byte Struktur<br />
53. Byte bis 62. Byte <strong>de</strong>r Gesamtsruktur<br />
Port_Description<br />
Box_Version<br />
Box_Description<br />
Port_Description Port 1<br />
Port_Description Port 2<br />
Port_Description Port 3<br />
10 Byte Struktur<br />
63. Byte bis 72. Byte <strong>de</strong>r Gesamtsruktur<br />
Port_Description Port_Description Port 4<br />
10 Byte Struktur<br />
Die Einzelstrukturen Port_<strong>de</strong>scription für Port 2 - 4 sind optional.
W&T Inventarisierung<br />
Die Gesamtlänge <strong>de</strong>s Infopaketes errechnet sich wie folgt: 10 +<br />
22 + (Portanzahl × 10) Bytes.<br />
Die Box-Version Struktur<br />
Box_Version enthält Informationen zum jeweiligen Mo<strong>de</strong>ll <strong>de</strong>s<br />
<strong>Web</strong>-<strong>IO</strong> bzw. Com-Servers und <strong>de</strong>ssen Firmwarestand.<br />
Box_Version<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
2. Byte <strong>de</strong>r Struktur XX 1. Byte <strong>de</strong>r Struktur XX<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur XX 3. Byte <strong>de</strong>r Struktur XX<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
6. Byte <strong>de</strong>r Struktur XX 5. Byte <strong>de</strong>r Struktur 08<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
8. Byte <strong>de</strong>r Struktur 00 7. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
10. Byte <strong>de</strong>r Struktur00<br />
9. Byte <strong>de</strong>r Struktur 00<br />
16 Bit Variable<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Version<br />
SW_rev<br />
HW_rev<br />
Reserved1<br />
Reserved2<br />
Version<br />
In Version wird die aktuell gültige Version <strong>de</strong>r Box_Info-Struktur<br />
übergeben.<br />
SW_rev<br />
Bei <strong>Web</strong>-<strong>IO</strong> Produkten: Firmware-Version <strong>de</strong>r Neztwerkplatine<br />
Bei Com-Servern: Firmware-Version <strong>de</strong>s Com-Servers<br />
HW_rev<br />
Bei <strong>Web</strong>-<strong>IO</strong> Produkten: Hardware-Version <strong>de</strong>r Netzwerkplatine<br />
Bei Com-Servern: Hardware-Version <strong>de</strong>s Com-Servers<br />
HW_rev Geräteplattform für Artikelnr.:<br />
0x0002 58001, 58004, 58201, 58301, 58304<br />
0x0003 50210, 50211, 50310, 50311<br />
0x0004 58211, 58411, 58412<br />
0x0005 58221, 58421<br />
0x0008 58631, 58431, 58620<br />
0x0108 57630, 57631, 57634, 57003, 57004<br />
0x0208 58031, 58634, 58231, 58331, 58334, 58633<br />
0x0408 58511<br />
0x0508 57007, 57008<br />
0x0608 57637, 57613, 57614, 57615, 57616, 57661, 57662<br />
Reserved1, Reserved2<br />
Aktuell nicht benutzt<br />
301
W&T Inventarisierung<br />
Die Struktur Box_Description<br />
Der Struktur Box_Description können die netzwerkrelevanten Daten<br />
wie z.B. MAC- und IP-Adresse entnommen wer<strong>de</strong>n.<br />
Box_Description<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
1. Byte <strong>de</strong>r Struktur 00<br />
8 Bit / Byte<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
2. Byte <strong>de</strong>r Struktur C0<br />
8 Bit / Byte<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
3. Byte <strong>de</strong>r Struktur 3D<br />
8 Bit / Byte<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
4. Byte <strong>de</strong>r Struktur XX<br />
8 Bit / Byte<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
5. Byte <strong>de</strong>r Struktur XX<br />
8 Bit / Byte<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
6. Byte <strong>de</strong>r Struktur XX<br />
8 Bit / Byte<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
10. Byte <strong>de</strong>r Struktur 9. Byte <strong>de</strong>r Struktur<br />
7. Byte <strong>de</strong>r Struktur<br />
32 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
14. Byte <strong>de</strong>r Struktur 13. Byte <strong>de</strong>r Struktur<br />
11. Byte <strong>de</strong>r Struktur<br />
32 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
18. Byte <strong>de</strong>r Struktur<br />
302<br />
XX XX 8. Byte <strong>de</strong>r Struktur XX XX<br />
XX XX 12. Byte <strong>de</strong>r StrukturXX<br />
XX<br />
XX XX 16. Byte <strong>de</strong>r StrukturXX<br />
15. Byte <strong>de</strong>r StrukturXX<br />
17. Byte <strong>de</strong>r Struktur<br />
32 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
20. Byte <strong>de</strong>r Struktur02<br />
19. Byte <strong>de</strong>r Struktur30<br />
16 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
22. Byte <strong>de</strong>r Struktur00<br />
21. Byte <strong>de</strong>r Struktur0X<br />
16 Bit Variable<br />
MAC_1 bis MAC_6<br />
Ethernet-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> bzw. <strong>de</strong>s Com-Servers<br />
IP_Address<br />
IP-Adresse <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> bzw. <strong>de</strong>s Com-Servers<br />
SubnetMask<br />
Subnet-Maske <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> bzw. <strong>de</strong>s Com-Servers<br />
Gateway<br />
Beim <strong>Web</strong>-<strong>IO</strong> bzw. Com-Server konfiguriertes Gateway<br />
MAC_1<br />
MAC_2<br />
MAC_3<br />
MAC_4<br />
MAC_5<br />
MAC_6<br />
IP_Address<br />
SubnetMask<br />
Gateway<br />
MTU<br />
Ports
W&T Inventarisierung<br />
MTU<br />
Maximum Transfer Unit <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> bzw. Com-Servers.<br />
Netzwerkseitig größte Sen<strong>de</strong>paketgröße.<br />
Ports<br />
Anzahl <strong>de</strong>r verfügbaren seriellen Ports. (Beim <strong>Web</strong>-<strong>IO</strong> wird die<br />
gesamte <strong>IO</strong>-Einheit ebenfalls als ein serieller Port gezählt.)<br />
Port_Description<br />
Die 3.-6. Struktur <strong>de</strong>s BoxinfoPakets ist die Struktur<br />
Port_Description und liefert Informationen über die eingestellte<br />
serielle Betriebsart <strong>de</strong>s Ports (nur bei W&T Com-Servern) bzw.<br />
<strong>de</strong>n aktuellen Verbindungsstatus <strong>de</strong>r einzelnen Schnittstellen.<br />
Port_Description<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
1. Byte <strong>de</strong>r Struktur XX<br />
8 Bit / Byte<br />
7 6 5 4 3 2 1 0<br />
Byte<br />
2. Byte <strong>de</strong>r Struktur XX<br />
8 Bit / Byte<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
4. Byte <strong>de</strong>r Struktur XX 3. Byte <strong>de</strong>r Struktur XX<br />
16 Bit Variable<br />
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
XX XX 6. Byte <strong>de</strong>r Struktur XX 5. Byte <strong>de</strong>r Struktur XX<br />
8. Byte <strong>de</strong>r Struktur 7. Byte <strong>de</strong>r Struktur<br />
32 Bit Variable<br />
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />
High-Byte Low-Byte<br />
10. Byte <strong>de</strong>r StrukturXX<br />
9. Byte <strong>de</strong>r Struktur XX<br />
16 Bit Variable<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Type<br />
State<br />
Mo<strong>de</strong><br />
Remote_IP<br />
remote_Port<br />
Die Struktur Port_Description muss für das <strong>Web</strong>-<strong>IO</strong> nicht ausgewertet<br />
wer<strong>de</strong>n. Sie ist ausschließlich für W&T Com-Server betreffen<strong>de</strong><br />
Informationen gedacht.<br />
Type<br />
Type Physikalische Porteigenschaften<br />
0x01 serieller Com-Server Port (int. UART)<br />
0x02 serieller Com-Server Port (ext. UART)<br />
0x04 digitale E/A Com-Server Einheit<br />
0x06 bei Com- Server Multi Port / DP RAM<br />
0x06 <strong>Web</strong>-<strong>IO</strong> Einheit (PoE)<br />
0x07 <strong>Web</strong>-<strong>IO</strong> Einheit<br />
303
W&T Inventarisierung<br />
State<br />
State Verbindungsstatus<br />
0x00 Free<br />
0x01 Connected (Verbun<strong>de</strong>n)<br />
0x02 Wait (auf Verbindung warten)<br />
Mo<strong>de</strong><br />
Mo<strong>de</strong> serielle Com-Server Betriebsart<br />
0x0001 TCP-Client<br />
0x0002 TELNET-Client<br />
0x0003 FTP-Client<br />
0x0004 Box-to-Box-Client<br />
0x0005 UDP-Peer<br />
0x0006 Multi Port (DP-RAM, Special Protokoll)<br />
0x0007 SNMP-Agent<br />
0x0008 Box-toBox-Server<br />
0x0010 SLIP-Router<br />
0x0030 UDP Bus-Slave<br />
0x0040 UDP-Bus-Master<br />
1Alle Variablen <strong>de</strong>r Typen „Integer“ und „Long“ wer<strong>de</strong>n<br />
in Host-Or<strong>de</strong>r abgebil<strong>de</strong>t. D.h., die nie<strong>de</strong>rwertigen Bytes<br />
wer<strong>de</strong>n als erste aufgeführt. Die IP-Adresse 172.17.2.3 erscheint<br />
z.B. in <strong>de</strong>r Byte-Reihenfolge 3, 2, 17, 172.<br />
Die Einzel-Variablen <strong>de</strong>r Struktur wer<strong>de</strong>n Byte-bündig übertragen.<br />
In Hochsprachen sollte das bei <strong>de</strong>r Typen<strong>de</strong>finition berücksichtigt<br />
wer<strong>de</strong>n (C: #pragmapack(1), Delphi: packet record).<br />
Bei UDP-Paketen han<strong>de</strong>lt es sich um verbindungslose und ungesicherte<br />
Datagramme. Beson<strong>de</strong>rs bei <strong>de</strong>r Verwendung mit<br />
Broadcasts kann sowohl das eigene Request- wie auch das Reply-Paket<br />
<strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>/Com-Servers verloren gehen. Zur sicheren<br />
Ermittlung aller in einem Subnet installierten <strong>Web</strong>-<strong>IO</strong>s/Com-Server<br />
sollte <strong>de</strong>r Request-Broadcast daher ggf. wie<strong>de</strong>rholt wer<strong>de</strong>n.<br />
7.6.2 HIT - Hardware I<strong>de</strong>ntification Table<br />
Anstelle <strong>de</strong>r PortInfo-Struktur <strong>de</strong>s BoxInfos-Paketes können bei<br />
<strong>Web</strong>-<strong>IO</strong> Produkten die Anschlusseigenschaften über das Kommando<br />
GET /portinfo abgerufen wer<strong>de</strong>n.<br />
304
W&T Inventarisierung<br />
Der Abruf erfolgt über TCP, wobei die Kommunikation über <strong>de</strong>n<br />
eingestellten HTTP-Port (ab Werk 80) abgewickelt wird.<br />
Die Antwort <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong> besteht aus einem mehrzeiligen ASCII-<br />
Text. Hier beispielhaft für das <strong>Web</strong>-<strong>IO</strong> 2x<strong>Digital</strong> In, 2x<strong>Digital</strong> Out<br />
Type #57637:<br />
1.0|9<br />
22|Terminal at the bottom si<strong>de</strong>||||0|0||||<br />
2|Network||||0|0||||<br />
3|Vdd / GND (+/-)||||0|0||||<br />
4|Inputs 0 / GND|1|Input 0||2|2||0|10.40.22.128|00:C0:3D:BA:FF:28|80<br />
4|Inputs 1 / GND|2|Input 1||2|2||1|10.40.22.128|00:C0:3D:BA:FF:28|80<br />
8|Inputs 0 / GND|1|Input 0||4|4||0|10.40.22.128|00:C0:3D:BA:FF:28|80<br />
8|Inputs 1 / GND|2|Input 1||4|4||1|10.40.22.128|00:C0:3D:BA:FF:28|80<br />
5|Outputs 0 / GND|3|Output 0||3|3||0|10.40.22.128|00:C0:3D:BA:FF:28|80<br />
5|Outputs 1 / GND|4|Output 1||3|3||1|10.40.22.128|00:C0:3D:BA:FF:28|80<br />
Die erste Zeile enthält Informationen über die Revision <strong>de</strong>r HIT-<br />
Tabelle und die Anzahl <strong>de</strong>r HW-Schnittstellen. Die Syntax ist<br />
stets „X.Y|Z“.<br />
X<br />
ist die Grundversion und bestimmt <strong>de</strong>n Aufbau <strong>de</strong>r Struktur<br />
bzw. <strong>de</strong>r Zeile, die pro Schnittstelle geliefert wird.<br />
Y<br />
Wird hochgezählt, wenn die bisher bekannte Struktur erhalten<br />
bleibt und nur neue Informationen angehängt wer<strong>de</strong>n.<br />
Z<br />
kündigt die Anzahl <strong>de</strong>r folgen<strong>de</strong>n Zeilen an. Da je<strong>de</strong> Hardwareschnittstellenbeschreibungen<br />
eine separate Zeile umfasst, ist<br />
die Gesamtzeilenanzahl Z+1.<br />
Die folgen<strong>de</strong>n Zeilen enthalten Informationen zu <strong>de</strong>n verfügbaren<br />
Anschlüssen <strong>de</strong>s <strong>Web</strong>-<strong>IO</strong>. Je<strong>de</strong> Zeile besteht aus 12<br />
Informationsfel<strong>de</strong>rn die durch „|“ (ASCII 124) getrennt sind.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
305
W&T Inventarisierung<br />
Die Informationsfel<strong>de</strong>r können Werte o<strong>de</strong>r textuelle Beschreibungen<br />
enthalten. Gibt es eine entsprechen<strong>de</strong> Information für<br />
<strong>de</strong>n Anschluss nicht, folgt sofort das nächste Trennzeichen.<br />
306<br />
Infofeld Beschreibung<br />
1 HIT-Nummer: Beschreibt ein<strong>de</strong>utig einen HW-Schnittstellentyp<br />
(textuelle Beschreibung <strong>de</strong>r Schnittstelle in <strong>de</strong>r nächsten Tabelle)<br />
2 Werksseitige Klemmen-/Anschlussbeschreibung<br />
3 Aktive Gruppen: Ordnet Schnittstellen durch Zuordnung gleicher Nummern in<br />
Gruppen ein, wenn sich durch Konfiguration z.B. mehrere Outputs zur Erhöhung <strong>de</strong>s<br />
schaltbaren Laststroms gruppieren<br />
4 Kun<strong>de</strong>nseitig konfigurierte Klemmen-/Anschlussbeschreibung<br />
5 Physikalische Einheit, die <strong>de</strong>r Schnittstelle zugeordnet ist<br />
(z.B. °C bei Thermometern)<br />
6 Aktuelle Software-Funktionsunterstützung (Unterstützte Kommandos usw.)<br />
7 Abwärts kompatible Software-Funktionsunterstützung<br />
8 Reserve<br />
9 Nummerierung innerhalb <strong>de</strong>r Gruppe (Input-Nr., Output-Nr., ....)<br />
10 IP-Adresse über die <strong>de</strong>r Anschluss / die Klemme ansprechbar ist<br />
11 Ethernet-Adresse <strong>de</strong>r Klemme<br />
12 TCP-Port, über <strong>de</strong>n <strong>de</strong>r Anschluss / die Klemme ansprechbar ist<br />
Die folgen<strong>de</strong> Tabelle zeigt die Beschreibung zu <strong>de</strong>n HIT-Nummern<br />
<strong>de</strong>r z.Zt. bei <strong>Web</strong>-<strong>IO</strong> eingesetzten Anschlusstypen.<br />
Hit-Nr. Anschlussbeschreibung<br />
1<br />
Spannungsversorgung: DC 18 ... 48V (+/-10%), AC 18 ... 30Veff (+/-10%),<br />
keine beson<strong>de</strong>re Polung erfor<strong>de</strong>rlich<br />
2 Netzwerk: RJ45, 10/100BaseT, Autosensing, POE<br />
3 Versorgungsspannung für digitale Outputs: DC 6-30V<br />
4 <strong>Digital</strong>er Eingang: Spannungsbereich -30 ... +30V DC, Schaltschwelle 8V +/-1V, "Ein"-Strom 2.2mA<br />
5 <strong>Digital</strong>er Ausgang: DC 6-30V, 500mA<br />
6 Spannungsversorgung: DC 24 ... 48V (+/-10%), AC 18 ... 30Veff (+/-10%), DC-Polung beachten<br />
7 RS232-Schnittstelle als Konfigurationszugang (9600,8,N,1)<br />
8<br />
Zähler: Spannungsbereich -30 ... +30V DC, Schaltschwelle 8V +/-1V,<br />
"Ein"-Strom 2.2mA, max. Frequenz 1kHz, Auflösung 31 Bit<br />
9 Temperatursensor, PT1000, Messbereich -40 ... +85°C<br />
10 Luftfeuchtesensor, Messbereich 0 ... 100% rF<br />
11 Luftdrucksensor, Messbereich 10 ... 1100hPa<br />
12 Temperatursensor, NTC (10k), Messbereich -45 ... +75°C<br />
13 Temperatursensor, PT100/1000, Messbereich -200 ... +650°C<br />
14 Spannungsversorgung: AC/DC 12 ... 24V, keine beson<strong>de</strong>re DC-Polung erfor<strong>de</strong>rlich<br />
15 Netzwerk: RJ45, 10/100BaseT, Autosensing<br />
16 <strong>Digital</strong>er Ausgang: AC/DC 39V, AVG 300mA (peak 500mA), AC/DC 11.7W<br />
17<br />
Spannungsversorgung: DC 12 ... 48V (+/-10%), AC 12 ... 30Veff (+/-10%),<br />
keine beson<strong>de</strong>re Polung erfor<strong>de</strong>rlich<br />
18 Stromeingang: 0 ... 20mA, Auflösung: 2,5uA<br />
19 Spannungseingang: 0 ... 10V, Auflösung: 1,25mV<br />
20 Stromausgang: 0 ... 20mA<br />
21 Spannungsausgang: 0 ... 10V<br />
22<br />
Spannungsversorgung: DC 24 ... 48V (+/-10%), AC 18 ... 30Veff (+/-10%),<br />
keine beson<strong>de</strong>re Polung erfor<strong>de</strong>rlich<br />
23 RS232-Schnittstelle: max. 57,6kBaud<br />
24 <strong>Digital</strong>er Ausgang: Relais, 30V/5A DC, 48V/5A AC
W&T Inventarisierung<br />
In Infofeld 6 ist festgelegt, welche Software-Funktionen unterstützt<br />
wer<strong>de</strong>n.<br />
Nr Typ verfügbare Funktionen<br />
Lesen eines einzelnen analogen Eingangs<br />
1 analoger Eingang<br />
2 digitaler Eingang<br />
3<br />
digitaler Ausgang<br />
mit Lese- u.<br />
Schreibzugriff<br />
4 Zähler<br />
5<br />
digitaler Ausgang,<br />
nur Lesezugriff<br />
6 analoger Ausgang<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
(GET /singlex)<br />
Lesen aller analogen Eingangswerte <strong>de</strong>s Gerätes<br />
(GET /single)<br />
Lesen eines einzelnen digitalen Eingangs<br />
(GET /inputx?PW=passwd&)<br />
Lesen <strong>de</strong>s kompletten Eingangs-Bitmusters <strong>de</strong>s Gerätes<br />
(GET /input?PW=passwd&)<br />
Lesen eines einzelnen digitalen Ausgangs<br />
(GET /outputx?PW=passwd&)<br />
Lesen <strong>de</strong>s kompletten Ausgangs-Bitmusters <strong>de</strong>s Gerätes<br />
(GET /output?PW=passwd&)<br />
Setzen eines einzelnen digitalen Ausgangs<br />
(GET /outputaccessx?PW=passwd&State=ON/OFF&)<br />
Lesen eines einzelnen Zählerstan<strong>de</strong>s<br />
(GET /counterx?PW=passwd&)<br />
Lesen aller Zählerstän<strong>de</strong> <strong>de</strong>s Gerätes<br />
(GET /counter?PW=passwd&)<br />
setzen eines einzelnen Zählerstan<strong>de</strong>s<br />
(GET /counterclearx?PW=passwd&Set=value&)<br />
Lesen eines einzelnen digitalen Ausgangs<br />
(GET /outputx?PW=passwd&)<br />
Lesen <strong>de</strong>s kompletten Ausgangs-Bitmusters <strong>de</strong>s Gerätes<br />
(GET /output?PW=passwd&)<br />
Lesen eines einzelnen analogen Ausgangs<br />
(GET /singlex)<br />
Lesen aller analogen Ausgangswerte <strong>de</strong>s Gerätes<br />
(GET /single)<br />
Setzen eines einzelnen digitalen Ausgangs<br />
(GET /outputaccessx?PW=passwd&State=y.z&)<br />
1Wenn für einen physikalischen Anschluss mehr als eine<br />
Funktion unterstützt wird (z.B. Input-Status und Counter),<br />
wird er in <strong>de</strong>r HIT-Tabelle für je<strong>de</strong> Funktion separat - also<br />
ggf. mehrfach - aufgeführt.<br />
Das Commando GET /portinfo wird bei <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> Geräten<br />
ab Firmware 2.26 bzw 3.26 unterstützt.<br />
307
W&T Fehlermeldungen<br />
7.7 Fehlermeldungen<br />
Die hier gezeigte Liste gibt einen Überblick über alle Fehlermeldungen,<br />
die im Report unter Diag >> Report angezeigt wer<strong>de</strong>n<br />
können<br />
Fehler-Nr. Fehlermeldung<br />
0 Gerätestatus: OK<br />
1 System: Netzwerkstörung o<strong>de</strong>r Fehler in <strong>de</strong>r Konfiguration.<br />
2 DNS: Formatfehler in <strong>de</strong>r DNS Anfrage.<br />
3 DNS: Interner DNS Server Fehler.<br />
4 DNS: Name existiert nicht.<br />
5 DNS: DNS-Anfragetyp wird nicht unterstützt.<br />
6 DNS: DNS-Anfrage wur<strong>de</strong> abgewiesen.<br />
7 DNS: DNS Server ist nicht erreichbar.<br />
8 DNS: DNS Server Antwort nicht erkannt.<br />
9 DNS: Falsche IP-Adresse.<br />
10 DNS: keine Auflösung möglich.<br />
11 Mail: Server verweigert Zugriff.<br />
12 Mail: Übermittlung <strong>de</strong>s Absen<strong>de</strong>rs fehlgeschlagen.<br />
13 Mail: Übermittlung <strong>de</strong>r Empfänger fehlgeschlagen.<br />
14 Mail: Wechsel in <strong>de</strong>n Datenmodus fehlgeschlagen.<br />
15 Mail: Übermittlung <strong>de</strong>s Mailtextes fehlgeschlagen.<br />
16 Mail: Schließen <strong>de</strong>r Mailserververbindung fehlgeschlagen.<br />
17 Mail: Mail Server antwortet nicht.<br />
18 Mail: IP-Adresse o<strong>de</strong>r Name <strong>de</strong>s Mailservers nicht eingegeben.<br />
19 Mail: Das Versen<strong>de</strong>n <strong>de</strong>r Mail wur<strong>de</strong> abgebrochen und wird wie<strong>de</strong>rholt.<br />
20 Übertragungsfehler: Fehlerco<strong>de</strong> #0.<br />
21 Protokollfehler: Fehlerco<strong>de</strong> #0.<br />
22 System: Es wur<strong>de</strong> kein Router konfiguriert.<br />
23 System: Ziel IP-Adresse unbekannt: 0.0.0.0.<br />
24 System: Es wur<strong>de</strong> eine Netzwerkstörung erkannt (Kabel offen o. kein Link).<br />
25 System: Der COM-Server hat einen Reset ausgelöst.<br />
26 Warnung: Watchdog Timer Reset ausgelöst.<br />
27 UDP: UDP Portnummer ungültig: verwen<strong>de</strong> Port 42279.<br />
28 System: Checksummenfehler: Factory Defaults wur<strong>de</strong>n gela<strong>de</strong>n.<br />
29 Snmp: IP-Adresse o<strong>de</strong>r Name <strong>de</strong>s Snmp Managers nicht eingegeben.<br />
30 UDP Alarm: IP-Adresse o<strong>de</strong>r Name <strong>de</strong>s UDP Servers nicht eingegeben.<br />
31 UDP Alarm: Port <strong>de</strong>s UDP Servers nicht eingegeben.<br />
32 System: Anzahl <strong>de</strong>r Pulse übersteigt 2000/sek: Pulsmo<strong>de</strong> Input 0 gestoppt!<br />
33 System: Anzahl <strong>de</strong>r Pulse übersteigt 2000/sek: Pulsmo<strong>de</strong> Input 1 gestoppt!<br />
34 System: Anzahl <strong>de</strong>r Pulse übersteigt 2000/sek: Pulsmo<strong>de</strong> Input 2 gestoppt!<br />
35 System: Anzahl <strong>de</strong>r Pulse übersteigt 2000/sek: Pulsmo<strong>de</strong> Input 3 gestoppt!<br />
36 Binary 2: Kein o<strong>de</strong>r ungültiger Destination Port.<br />
37 Binary 2: Keine o<strong>de</strong>r ungültige Destination IP-Adresse.<br />
38 System: Watchdog Timer abgelaufen!<br />
39 Binary 1: Kein o<strong>de</strong>r ungültiger Destination Port.<br />
40 Binary 1: Keine o<strong>de</strong>r ungültige Destination IP-Adresse.<br />
41 System: Portnummer mehrfach vergeben!<br />
42 Binary 2: ungültige lokale Portnummer!<br />
43 Binary 1: ungültige lokale Portnummer!<br />
44 Box2Box: Zugriff vom Slave abgewiesen, bitte Box2Box-Einstellungen kontrollieren<br />
45 Box2Box: Slave befin<strong>de</strong>t sich im Box2Box-Mastermo<strong>de</strong>.<br />
46 Box2Box: Master konnte nicht gelöscht wer<strong>de</strong>n, bitte ausloggen.<br />
47 System: Lastabschaltung: Details unter Diag>>Test>OutputConfig.<br />
48 System: Neustart durch Report löschen.<br />
49 Reservierte Portnummer: bitte <strong>de</strong>n Anhang <strong>de</strong>r Anleitung beachten.<br />
50 Time Server: Synchronisation fehlgeschlagen.<br />
51 System: Data Overrun Error! Daten im Eingangspuffer wur<strong>de</strong>n überschrieben.<br />
308
W&T Fehlermeldungen<br />
Fehler-Nr. Fehlermeldung<br />
52 TCP Client Alarm: IP-Adresse o<strong>de</strong>r Name <strong>de</strong>s TCP Servers nicht eingegeben.<br />
53 TCP Client Alarm: Port <strong>de</strong>s TCP Servers nicht eingegeben.<br />
54 TCP Client Alarm: Server nicht erreicht.<br />
55 Syslog Alarm: IP-Adresse o<strong>de</strong>r Name <strong>de</strong>s Syslog Servers nicht eingegeben.<br />
56 Syslog Alarm: Port <strong>de</strong>s Syslog Servers nicht eingegeben.<br />
57 Syslog Alarm: Server nicht erreicht.<br />
58 Reservierte Portnummer: Einstellung auf Port 80 geän<strong>de</strong>rt.<br />
59 Mail: IP-Adresse o<strong>de</strong>r Name <strong>de</strong>s POP3-Servers nicht eingegeben.<br />
60 FTP Alarm: IP-Adresse o<strong>de</strong>r Name <strong>de</strong>s FTP Servers nicht eingegben.<br />
61 FTP Alarm: Control Port <strong>de</strong>s FTP Servers nicht eingegeben.<br />
62 FTP Alarm: Data Port <strong>de</strong>s FTP Servers nicht eingegeben.<br />
63 FTP Alarm: Fehler beim Datentransfer.<br />
64 FTP Alarm: keinen User-Eintrag gefun<strong>de</strong>n.<br />
65 FTP Alarm: kein Passwort eingegeben.<br />
66 FTP Alarm: keinen Account-Eintrag gefun<strong>de</strong>n.<br />
67 FTP Alarm: Kein Filename eingetragen.<br />
68 FTP Alarm: Server antwortet nicht.<br />
69 - 78 Fehlernummern in <strong>Web</strong>-<strong>IO</strong> <strong>Digital</strong> nicht unterstützt<br />
79 HTTP Client: IP-Adresse o<strong>de</strong>r Name <strong>de</strong>s HTTP Servers nicht eingegeben.<br />
80 HTTP Client: Port <strong>de</strong>s HTTP Servers nicht eingegeben.<br />
81 Zählpulse konnten nicht einer Richtung zugeordnet wer<strong>de</strong>n.<br />
82 System: Speicherung <strong>de</strong>r Messwerte im Flash fehlgeschlagen<br />
83 Uhrenmodul: Batterie ist leer.<br />
84 Speicherüberlauf: Neue Einstellungen konnten nicht übernommen wer<strong>de</strong>n.<br />
85 Motherbox Client: IP-Adresse o<strong>de</strong>r Name <strong>de</strong>s Motherbox Servers nicht eingegeben.<br />
86 Motherbox Client: Port <strong>de</strong>s Motherbox Servers nicht eingegeben.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
309
W&T Technische Daten<br />
7.8 Technische Daten<br />
7.8.1 Technische Daten 57630 / 57631<br />
Netzwerk: Ethernet<br />
10/100BaseT autosensing<br />
Protokoll: TCP und UDP Sockets, Client und Server<br />
SNMP inkl. Traps<br />
SMTP (E-Mail), FTP, Syslog<br />
OPC-Server<br />
Inventarisierung, Gruppenmanagement<br />
Latenzzeiten: Das <strong>Web</strong>-<strong>IO</strong> 12x<strong>Digital</strong> ist für Signalwechselzeiten > 50ms<br />
konzipiert. Das Zeitliche Verhalten steht darüber hinaus sehr stark<br />
in Abhängigkeit mit <strong>de</strong>r Netzwerkauslastung und <strong>de</strong>r<br />
Netzwerkinfrastruktur.<br />
<strong>Digital</strong>e Ausgänge: Gruppe 12 x <strong>Digital</strong> Out 6V-30V, 500mA<br />
Gruppenbildung à 2 o<strong>de</strong>r 4 Ausgänge<br />
max. Gruppenstrom 2A<br />
max. Gesamtstrom 6A<br />
Min<strong>de</strong>stlast 22KOHM<br />
Kurzschlussfest durch thermische Sicherung<br />
<strong>Digital</strong>e Eingänge: 12 x <strong>Digital</strong> In,<br />
max. Eingangsspannung +/-30V<br />
verpolungssicher innerhalb dieses Bereichs<br />
Schaltschwelle 8V +/- 1V<br />
"Ein"-Strom = 2,2 mA<br />
Anschlüsse: 2 x 16-fach Schraubklemmen<br />
Galvanische Trennung: <strong>Digital</strong>-Ausgänge - Netzwerk: min. 500 V zum Netzwerk<br />
<strong>Digital</strong>-Eingänge: min 1000 V<br />
Serieller Port: Konfigurationsport mit RS232-Schnittstelle<br />
DB9-Stecker, Belegung wie PC-COM<br />
Baudrate: 9600 Baud<br />
Datenformat: 8 Datenbit, 2 Stopbit<br />
No Parity<br />
Flusskontrolle: No Handshake<br />
Anzeigen: Status-LEDs Netzwerk<br />
24 LEDs für digitale Zustän<strong>de</strong><br />
Bedienungselemente: 1 ver<strong>de</strong>ckt angebrachter Reset-Taster<br />
Stromversorgung: 12-24V AC/DC<br />
Stromaufnahme bei 12V ca. 200mA<br />
Stromaufnahme bei 24V ca. 100mA<br />
Lagertemperatur: -25°C - 70°C<br />
Betriebstemperatur: 0°C - 60°C<br />
Gehäuse: Kunststoff-Gehäuse zur Hutschienen-Montage<br />
106,8 x 87,8 x 62,6 (l x b x h)<br />
Gewicht: ca. 260 g<br />
310
W&T Technische Daten<br />
7.8.2 Technische Daten 57637, 57638<br />
Netzwerk: Ethernet<br />
10/100BaseT autosensing<br />
Protokoll: TCP und UDP Sockets, Client und Server<br />
SNMP inkl. Traps<br />
SMTP (E-Mail), FTP, Syslog<br />
OPC-Server<br />
Inventarisierung, Gruppenmanagement<br />
Latenzzeiten: Das <strong>Web</strong>-<strong>IO</strong> 2x<strong>Digital</strong> ist für Signalwechselzeiten > 50ms konzipiert.<br />
Das Zeitliche Verhalten steht darüber hinaus sehr stark in<br />
Abhängigkeit mit <strong>de</strong>r Netzwerkauslastung und <strong>de</strong>r<br />
Netzwerkinfrastruktur.<br />
<strong>Digital</strong>e Ausgänge: 2 x <strong>Digital</strong> Out 6V-30V, 500mA<br />
Gruppenbildung à 2 zur Erhöhung <strong>de</strong>s max. Schaltstromes auf 1A<br />
Min<strong>de</strong>stlast 22KOHM<br />
Kurzschlussfest durch thermische Sicherung<br />
<strong>Digital</strong>e Eingänge: 2 x <strong>Digital</strong> In,<br />
max. Eingangsspannung +/-30V<br />
verpolungssicher innerhalb dieses Bereichs<br />
Schaltschwelle 8V +/- 1V<br />
"Ein"-Strom = 2,2 mA<br />
Anschlüsse: 6-fach Schraubklemmen<br />
Galvanische Trennung: <strong>Digital</strong>-<strong>IO</strong>s - Netzwerk: min. 1000 V zum Netzwerk<br />
Anzeigen: Status-LEDs Netzwerk<br />
Bedienungselemente: keine<br />
Stromversorgung: PoE - Power over Ethernet o<strong>de</strong>r<br />
24 - 48V AC/DC auf separater 2fach Schraubklemme<br />
Stromaufnahme bei 12V ca. 200mA<br />
Stromaufnahme bei 24V ca. 100mA<br />
Lagertemperatur: -25°C - 70°C<br />
Betriebstemperatur: 0°C - 60°C<br />
Gehäuse: Kunststoff-Gehäuse zur Hutschienen-Montage<br />
105 x 75 x 22 mm (l x b x h)<br />
Gewicht: ca. 125 g<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
311
W&T Technische Daten<br />
7.8.4 Technische Daten 57634<br />
Netzwerk: Ethernet<br />
10/100BaseT autosensing<br />
Protokoll: TCP und UDP Sockets, Client und Server<br />
SNMP inkl. Traps<br />
SMTP (E-Mail), FTP, Syslog<br />
OPC-Server<br />
Inventarisierung, Gruppenmanagement<br />
Latenzzeiten: Das <strong>Web</strong>-<strong>IO</strong> 12x<strong>Digital</strong> ist für Signalwechselzeiten > 50ms<br />
konzipiert. Das Zeitliche Verhalten steht darüber hinaus sehr stark<br />
in Abhängigkeit mit <strong>de</strong>r Netzwerkauslastung und <strong>de</strong>r<br />
Netzwerkinfrastruktur.<br />
<strong>Digital</strong>e Ausgänge: 6 Potentialfeie Kontakte (Schließer)<br />
Schaltspannung max 48V AC bei 5A Laststrom<br />
Schaltspannung max 30V DC bei 5A Laststrom<br />
Pause zwischen zwei Schaltvorgängen min. 200ms<br />
<strong>Digital</strong>e Eingänge: 12 x <strong>Digital</strong> In,<br />
max. Eingangsspannung +/-30V<br />
verpolungssicher innerhalb dieses Bereichs<br />
Schaltschwelle 8V +/- 1V<br />
"Ein"-Strom = 2,2 mA<br />
Anschlüsse: 2 x 16-fach Schraubklemmen<br />
Galvanische Trennung: <strong>Digital</strong>-Ausgänge - Netzwerk: min. 500 V zum Netzwerk<br />
<strong>Digital</strong>-Eingänge: min 1000 V<br />
Serieller Port: Konfigurationsport mit RS232-Schnittstelle<br />
DB9-Stecker, Belegung wie PC-COM<br />
Baudrate: 9600 Baud<br />
Datenformat: 8 Datenbit, 2 Stopbit<br />
No Parity<br />
Flusskontrolle: No Handshake<br />
Anzeigen: Status-LEDs Netzwerk<br />
24 LEDs für digitale Zustän<strong>de</strong><br />
Bedienungselemente: 1 ver<strong>de</strong>ckt angebrachter Reset-Taster<br />
Stromversorgung: 12-24V AC/DC<br />
Stromaufnahme bei 12V ca. 300mA<br />
Stromaufnahme bei 24V ca. 150mA<br />
Lagertemperatur: -25°C - 70°C<br />
Betriebstemperatur: 0°C - 60°C<br />
Gehäuse: Kunststoff-Gehäuse zur Hutschienen-Montage<br />
106,8 x 87,8 x 62,6 (l x b x h)<br />
Gewicht: ca. 260 g<br />
312
W&T<br />
7.9 Entsorgung<br />
<strong>Web</strong>-<strong>IO</strong> Geräte dürfen nicht über <strong>de</strong>n normalen Hausmüll entsorgt<br />
wer<strong>de</strong>n, son<strong>de</strong>rn sind einer offiziellen Sammelstelle für<br />
Elektroschrott zuzuführen.<br />
<strong>Web</strong>-<strong>IO</strong> <strong>de</strong>s Types 57634,57637 und 57638 enthalten eine<br />
nicht aufladbare Lithium-Knopfzelle Typ BR (Lithium-<br />
Kohlenstoffmonofluorid) zum Erhalt <strong>de</strong>r Uhrzeit auch bei ausgeschaltetem<br />
Gerät, welche nach Ablauf <strong>de</strong>r Lebensdauer geson<strong>de</strong>rt<br />
entsorgt wer<strong>de</strong>n muss.<br />
Bringen Sie diese zum Recycling zu einer offiziellen Sammelstelle<br />
für Batterien.<br />
Zur Entnahme <strong>de</strong>r Batterie trennen Sie zunächst das Gerät von<br />
allen angeschlossenen Kabeln und Sensoren.<br />
Lösen Sie die vier Klammern an <strong>de</strong>r Gehäuseseite und öffnen<br />
Sie das Gehäuse.<br />
Entfernen Sie die bei<strong>de</strong>n Schrauben mit <strong>de</strong>nen die bei<strong>de</strong>n unteren<br />
Platinen miteinan<strong>de</strong>r verbun<strong>de</strong>n sind und entfernen Sie die<br />
untere Platine.<br />
Auf <strong>de</strong>r Rückseite <strong>de</strong>r mittleren Platine befin<strong>de</strong>t sich die Knopfzelle.<br />
Entfernen Sie diese aus <strong>de</strong>r Halterung und führen Sie sie<br />
<strong>de</strong>m Recycling zu.<br />
Irrtum und Än<strong>de</strong>rung vorbehalten<br />
Seitenansicht<br />
3.<br />
Knopfzelle<br />
1.<br />
2.<br />
313
W&T In<strong>de</strong>x<br />
In<strong>de</strong>x<br />
Symbole<br />
# 280<br />
10/100BaseT 39<br />
127.0.0.1 155<br />
50xxx-Mo<strong>de</strong> 214<br />
A<br />
Administrator 47<br />
Adressreservierung 288<br />
AJAX 173<br />
Alarm bei Kaltstart 145<br />
Alarm bei Warmstart 146<br />
Alarm über UDP 152<br />
Alarmbedingungen 140<br />
Alarmmeldung 156<br />
Alarmzustand 141<br />
AllCounter 234<br />
Anschlussbeispiel 24<br />
Anschlüsse 22<br />
Application Mo<strong>de</strong><br />
72, 76, 115, 118, 216, 222<br />
ARP-Kommandos 280<br />
ASCII 189<br />
Ausgangsspannungsversorgung 27<br />
Authentification 148<br />
Auto Negotiation 39<br />
B<br />
Batterien 313<br />
Been<strong>de</strong>n <strong>de</strong>s Box-to-Box Modus 78<br />
Berechtigungskonzept 294<br />
Beschreibung 65<br />
Beschriftungen 65<br />
Binärstrukturen 189, 190, 213<br />
BINARY 189, 213<br />
BinInfo 223<br />
BOOTP 53<br />
BOOTP-Protokoll 288<br />
BOOTP-Protoll 280<br />
Box-to-Box 10, 70<br />
Browser 167, 172, 177<br />
Browser Zugriff 10<br />
C<br />
C 189<br />
C++ 189<br />
Change Detection 256<br />
ClearCounter 235<br />
clearCounter 181<br />
ClearDiagnosis 237<br />
Client HTTP Port 72, 114, 117, 216<br />
CommandLoop 178<br />
Community String 100<br />
Compatible 50xxx 220<br />
Config.xml 267<br />
314<br />
Contact 56<br />
Counter 233<br />
counterpolling 184<br />
D<br />
DataRequest 179<br />
Date 246<br />
Datum 246<br />
Default User 47<br />
Delphi 189<br />
<strong>de</strong>vice 183<br />
Device Name 55<br />
Device Text 56<br />
Device Type 265<br />
DHCP 18, 53<br />
DHCP-Protokoll 284<br />
Diag Messages 100<br />
Diagnose 271<br />
Diagnosis 236<br />
DNS Server 53<br />
Download 267<br />
DstPort 225<br />
Dummy 224<br />
Duration 263<br />
Dynamische IP-Adressen 287<br />
Dynamische <strong>Web</strong>seiten 173<br />
E<br />
E-Mail 146<br />
E-Mail Addr. 149<br />
Eigene <strong>Web</strong>seiten 10<br />
Einzelereignis 141<br />
Email 12, 140<br />
Entsorgung 313<br />
ERP 239<br />
ERP-Gateway 239<br />
Error-LED 42<br />
Ethernet-Anschluss 39<br />
Exception Co<strong>de</strong> 132<br />
F<br />
Factory Defaults 296<br />
Fehler-Report 271<br />
Fehlermanagement 209<br />
Fehlermeldungen 209, 308<br />
File Name 163<br />
Firmware Update 290<br />
FTP 162<br />
FTP Alarm Text 163<br />
FTP Control Port 165, 242<br />
FTP Local Data Port 163<br />
FTP Server IP 165<br />
FTP-Account 165<br />
FTP-Server 162<br />
Function Co<strong>de</strong> 120, 121
W&T In<strong>de</strong>x<br />
G<br />
Galvanische Trennung 39<br />
Gateway 52, 282<br />
Gerätenamen 65<br />
Gerätetyp 111<br />
Google-Kalen<strong>de</strong>r 87<br />
Google-Konto 85<br />
Group Mo<strong>de</strong> 258, 274<br />
Grun<strong>de</strong>instellung 51<br />
H<br />
Hea<strong>de</strong>r 197<br />
HextoInt 178<br />
Hilfspannung 25<br />
Hochsprachen 189<br />
Home-Seite 60<br />
home.htm 167, 268<br />
HTML 175<br />
HTML Upload 269<br />
HTTP 60<br />
HTTP Client 202<br />
HTTP-Port 68<br />
HTTP-Requests 12, 175<br />
HTTPLogin[n] 224<br />
I<br />
iCal 90<br />
iCal Datei 268<br />
iCal-Datei 85<br />
Inactive Timeout 76, 219<br />
Inactivity Timeout 203, 257<br />
Input Inverter 262<br />
Input Mask 261<br />
Input Mo<strong>de</strong> 256<br />
Input Trigger<br />
72, 76, 114, 117, 197, 199, 203, 216, 219, 222<br />
Input-Beschaltung 23, 30, 35<br />
Input-Konfiguration 255<br />
Inputmustern 198<br />
inputpolling 183<br />
Integration 99<br />
Interval 76, 200, 219, 222<br />
Inventarisierung 300<br />
<strong>IO</strong>-Strukturen 226<br />
IP Addr 52, 154, 160<br />
IP-Adresse 18, 51<br />
IP-Adressvergabe 280<br />
J<br />
Java-Applets 182<br />
JavaScript 173, 185<br />
K<br />
Kalen<strong>de</strong>r 94<br />
Keep Alive Timeout 54<br />
Klemmen 24<br />
Kommandosstrings 191<br />
Kommandostrings 189<br />
L<br />
Lease-Time 286<br />
LED -Test 276<br />
Length 120<br />
length 227<br />
Link-Status 40<br />
Links und Rücklinks 172<br />
Load Contro 275<br />
Local Port 72, 75, 114, 117, 203, 218, 221<br />
localhost 155<br />
Location 56<br />
Logic Func 262<br />
Logik Funktionen 260<br />
Logo 67, 266<br />
logo Upload 269<br />
M<br />
Mail Server 148<br />
Mailtext 149<br />
Manager IP 100, 151<br />
Modbus 99<br />
Modbus Speicheraufteilung 138<br />
Modbus TCP 11, 116<br />
Modbus TCP Kommunikation 119<br />
Modbus-Adressbereiche 133<br />
Modbus-Alarm-Auslösung 135<br />
Modbus-Zugriff 63<br />
Mo<strong>de</strong> 219, 248<br />
Month 248<br />
N<br />
Navigation 46<br />
Netzteile 22<br />
Netzwerkanschluss 16<br />
Netzwerkbuchse 39<br />
Netzwerkparameter 45<br />
Netzwerksicherheit 294<br />
Notzugang 292<br />
O<br />
on error 43<br />
Online-Kalen<strong>de</strong>r 85<br />
OPC 11, 99<br />
OPC - Standarisierter Zugriff 109<br />
OPC Device 115<br />
OPC-Device 112<br />
OPC-Gerätename 111<br />
Operator 48<br />
Option 164<br />
Options 237<br />
315
W&T In<strong>de</strong>x<br />
Output 27<br />
Output Inverter 262<br />
Output verän<strong>de</strong>rn 104<br />
Output-Beschaltung 26, 32, 37<br />
Output-Konfiguration 273<br />
outputaccess 155<br />
outputpolling 184<br />
P<br />
Password 148, 165<br />
Passwort-Schutz 223<br />
Passwörter 49<br />
Passwortschutz 185<br />
Pinbelegung 41<br />
PoE 16, 22, 39<br />
Polarität 29<br />
pollen 111<br />
pollingrate 185<br />
POP3 Server 148<br />
Port 154, 158, 160, 206<br />
Port Bezeichnung 66<br />
Power-LED 42<br />
PPS 239<br />
Private-MIB 99<br />
Profile 47<br />
Protocol I<strong>de</strong>ntifier 120<br />
Puls Polarity 257, 263<br />
Pulsmo<strong>de</strong> 262<br />
R<br />
RARP-Protokoll 280<br />
RARP-Server 283<br />
Read Coils 121<br />
Read Discret Inputs 121<br />
Read Discrete Inputs 123<br />
Read Excaption State 121<br />
Read Exception State 131<br />
Read Holding Registers 121, 123<br />
Read Input Register 121<br />
Read Input Registers 125<br />
Read Register 228<br />
ReadAllCounter 233<br />
ReadClearAllCounter 234<br />
ReadClearCounter 232<br />
ReadCounter 232<br />
ReadDiagnosis 235<br />
Refresh 90<br />
RegisterRequest 230<br />
RegisterState 230<br />
Remote IP Addr 221<br />
Remote Port 206, 221<br />
Reply Address 147<br />
Reset 296<br />
316<br />
S<br />
Safety State 253, 258<br />
Safety Timeout 252<br />
Schaltuhr 84<br />
Schaltvorgaben 85<br />
Schaltzeiten 85, 91<br />
SendMo<strong>de</strong> 231<br />
serielle Schnittstelle 280<br />
Serieller Anschluss 41<br />
Server HTTP Port 76, 218<br />
Server IP Addr 76, 218<br />
Server IP-Adress 203<br />
Server Password 76, 219<br />
Server Port 203, 218<br />
Server URL 203<br />
ServerPort 75<br />
Session Login 102<br />
SetBit 229<br />
setOutput 181<br />
setPassword 182<br />
Short Puls Detection 256<br />
showerrors 183<br />
Slave 77<br />
Slave <strong>Web</strong>-<strong>IO</strong> 70<br />
Smart-Seite 64<br />
smart.htm 167, 268<br />
Smartphone 10<br />
SNMP 11, 99<br />
SNMP Alarm 150<br />
SNMP-Zugriff 99<br />
Socket Device 220<br />
Socket-Client 217<br />
Socket-Server 215<br />
Socketprogramme 213<br />
Sommerzeit 247<br />
Son<strong>de</strong>rfunktion 295<br />
Spannungsversorgung 22<br />
SrcPort 225<br />
Start Address 121<br />
Start_1 227<br />
Start_2 227<br />
StructLength 227<br />
strukt_typ 227<br />
Subject 149<br />
Subnet Mask 52<br />
Subnet-Mask 282<br />
SubType 225<br />
Sunbird 94<br />
Sync. Time 249<br />
Syslog 159<br />
Syslog-Server 159<br />
Syslog-Text 161<br />
system error 43<br />
System Name 286<br />
System Traps 100
W&T In<strong>de</strong>x<br />
T<br />
TCP Kommunikation 200<br />
TCP-Text 158<br />
TCP-Verbindung 194<br />
Technische Daten 310<br />
Termineinzelheiten 95<br />
Time 246, 248<br />
Time Swich 262<br />
Time Switch 84<br />
Time Switch File Upload 270<br />
Time Trigger 203<br />
Time-Server 248<br />
Transaction I<strong>de</strong>ntifier 120<br />
Trap-Text 151<br />
Trigger 141<br />
Type 224<br />
U<br />
Überlast 143<br />
UDP-Peer 221<br />
UDP-Text 154<br />
Uhrzeit 246<br />
Unit i<strong>de</strong>ntifier 120<br />
updateDisplay 180<br />
Upload 267<br />
User 165<br />
User-Seite 61<br />
user.htm 167, 268<br />
UTC 247<br />
UTC-Server 249<br />
UTCOffset 247<br />
V<br />
Vergabe <strong>de</strong>r IP-Adresse 18<br />
Versorgung 23<br />
Versorgungsspannung 16<br />
Versorgungsspannungseingang 29<br />
Verwen<strong>de</strong>te Ports 293<br />
Virtuelle Register 134<br />
Visual Basic 189<br />
Visual Basic for Applications 189<br />
Vorschau 97<br />
W<br />
W&T Tags 168<br />
Wayback 239<br />
Wayback Response 242<br />
Wayback-Zugriff 241<br />
<strong>Web</strong> Based Management 285<br />
<strong>Web</strong>-Based Management 45<br />
Weekday 248<br />
Winterzeit 247<br />
Write Multiple Coils 121, 127<br />
Write Multiple Register 121<br />
Write Multiple Registers 129<br />
Write Single Coil 121, 126<br />
Write Single Register 121<br />
WriteRegister 228<br />
WuTility 285<br />
Wutility 18<br />
Z<br />
Zeitgesteuerter Alarm 144<br />
Zeitgesteuertes Schalten 10<br />
Zeitzonen 246<br />
Zugriffspasswörter 48<br />
Zugriffsrechte 47<br />
Zuleitungen 31<br />
317