Aufsetzen eines eigenen TO-PASS Web-Portals Anwendungshinweis A301100, Deutsch Version 1.1.0 2• Allgemeines Copyright 2008 by WAGO Kontakttechnik GmbH & Co. KG Alle Rechte vorbehalten. WAGO Kontakttechnik GmbH & Co. KG Hansastraße 27 D-32423 Minden Tel.: Fax: +49 (0) 571/8 87 – 0 +49 (0) 571/8 87 – 1 69 E-Mail: [email protected] Web: http://www.wago.com Technischer Support Tel.: +49 (0) 571/8 87 – 5 55 Fax: +49 (0) 571/8 87 – 85 55 E-Mail: [email protected] Es wurden alle erdenklichen Maßnahmen getroffen, um die Richtigkeit und Vollständigkeit der vorliegenden Dokumentation zu gewährleisten. Da sich Fehler, trotz aller Sorgfalt, nie vollständig vermeiden lassen, sind wir für Hinweise und Anregungen jederzeit dankbar. Wir weisen darauf hin, dass die im Dokument verwendeten Soft- und Hardwarebezeichnungen und Markennamen der jeweiligen Firmen im Allgemeinen einem Warenzeichenschutz, Markenschutz oder patentrechtlichem Schutz unterliegen. Anwendungshinweis A301100 Inhalt •3 INHALTSVERZEICHNIS 1 Wichtige Erläuterungen ............................................................................ 4 1.1 Rechtliche Grundlagen........................................................................... 4 1.1.1 Urheberschutz ........................................................................................ 4 1.1.2 Personalqualifikation ............................................................................. 4 1.1.3 Bestimmungsgemäßer Gebrauch ........................................................... 4 1.2 Gültigkeitsbereich .................................................................................. 5 1.3 Symbole ................................................................................................. 5 2 Beschreibung .............................................................................................. 6 3 Aufsetzen des TO-PASS-Server................................................................ 7 3.1 XAMPP installieren ............................................................................... 7 3.2 TO-PASS Datenbank anlegen................................................................ 8 3.3 TO-PASS PHP Skripte bereitstellen.................................................... 10 4 TO-PASS Client konfigurieren............................................................... 11 4.1 Ethernet Controller als TO-PASS Client ............................................. 12 5 Anwendungshinweis A301100 Test der TO-PASS Lösung...................................................................... 13 4 • Wichtige Erläuterungen 1 Wichtige Erläuterungen Um dem Anwender eine schnelle Installation und Inbetriebnahme der beschriebenen Geräte zu gewährleisten, ist es notwendig, die nachfolgenden Hinweise und Erläuterungen sorgfältig zu lesen und zu beachten. 1.1 Rechtliche Grundlagen 1.1.1 Urheberschutz Dieses Dokument, einschließlich aller darin befindlichen Abbildungen, ist urheberrechtlich geschützt. Jede Weiterverwendung dieses Dokumentes, die von den urheberrechtlichen Bestimmungen abweicht, ist nicht gestattet. Die Reproduktion, Übersetzung in andere Sprachen, sowie die elektronische und fototechnische Archivierung und Veränderung bedarf der schriftlichen Genehmigung der WAGO Kontakttechnik GmbH, Minden. Zuwiderhandlungen ziehen einen Schadenersatzanspruch nach sich. Die WAGO Kontakttechnik GmbH behält sich Änderungen, die dem technischen Fortschritt dienen, vor. Alle Rechte für den Fall der Patenterteilung oder des Gebrauchmusterschutzes sind der WAGO Kontakttechnik GmbH vorbehalten. Fremdprodukte werden stets ohne Vermerk auf Patentrechte genannt. Die Existenz solcher Rechte ist daher nicht auszuschließen. 1.1.2 Personalqualifikation Der in diesem Dokument beschriebene Produktgebrauch richtet sich ausschließlich an Fachkräfte mit einer Ausbildung in der SPS-Programmierung, Elektrofachkräfte oder von Elektrofachkräften unterwiesene Personen, die außerdem mit den geltenden Normen vertraut sind. Für Fehlhandlungen und Schäden, die an WAGO-Produkten und Fremdprodukten durch Missachtung der Informationen dieses Dokumentes entstehen, übernimmt die WAGO Kontakttechnik GmbH keine Haftung. 1.1.3 Bestimmungsgemäßer Gebrauch Die Komponenten werden ab Werk für den jeweiligen Anwendungsfall mit einer festen Hard- und Softwarekonfiguration ausgeliefert. Änderungen sind nur im Rahmen der in dem Dokument aufgezeigten Möglichkeiten zulässig. Alle anderen Veränderungen an der Hard- oder Software, sowie der nicht bestimmungsgemäße Gebrauch der Komponenten, bewirken den Haftungsausschluss der WAGO Kontakttechnik GmbH. Wünsche an eine abgewandelte bzw. neue Hard- oder Softwarekonfiguration richten Sie bitte an WAGO Kontakttechnik GmbH. Anwendungshinweis A301100 Wichtige Erläuterungen 1.2 •5 Gültigkeitsbereich Dieser Anwendungshinweis basiert auf die genannte Hard- und Software der jeweiligen Hersteller sowie auf die zugehörige Dokumentation. Daher gilt dieser Anwendungshinweis nur für die beschriebene Installation. Neue Hard- und Softwareversionen erfordern eventuell eine geänderte Handhabung. Beachten Sie die ausführliche Beschreibung in den jeweiligen Handbüchern. 1.3 Symbole Gefahr Informationen unbedingt beachten, um Personen vor Schaden zu bewahren. Achtung Informationen unbedingt beachten, um am Gerät Schäden zu verhindern. Beachten Randbedingungen, die für einen fehlerfreien Betrieb unbedingt zu beachten sind. ESD (Electrostatic Discharge) Warnung vor Gefährdung der Komponenten durch elektrostatische Entladung. Vorsichtsmaßnahme bei Handhabung elektrostatisch entladungsgefährdeter Bauelemente beachten. Hinweis Routinen oder Ratschläge für den effizienten Geräteeinsatz und die Softwareoptimierung. Weitere Informationen Verweise auf zusätzliche Literatur, Handbücher, Datenblätter und INTERNET Seiten. Anwendungshinweis A301100 6 • Beschreibung 2 Beschreibung Dieser Anwendungshinweis beschreibt wie Sie auf Basis von XAMPP Ihr eigenes TO-PASS-Web-Portal im Intranet(LAN) erstellen und einen WAGO Ethernet Controller als Datensammler konfigurieren der zyklisch Prozessdaten in die unterlagerten Datenbank schreibt. Der Schwerpunkt dieses Anwendungshinweisen ist die Übertragung von Prozessdaten von WAGO-TO-PASS-Geräten oder WAGO Ethernet-Controllern in eine TO-PASS-Datenbank. Nicht enthalten ist die Gestaltung und Programmierung der Darstellungsschicht für gespeicherte Prozessdaten. Zu diesem Thema bieten wir ein minimales PHP-Skript als Ausgangspunkt für eigene Entwicklungen. XAMPP ist eine Zusammenstellung von freier Software. vorwiegend im Umfeld des LAMP-Systems. XAMPP ermöglicht das einfache Installieren und Konfigurieren des Webservers Apache mit der Datenbank MySQL und den Skriptsprachen PHP und Pearl. Das X steht hierbei für die verschiedenen Betriebssysteme, auf denen es eingesetzt werden kann. Die Prozessdaten werden als Parameter eines HTTP-Post-Requests an den Webserver übertragen. Der Webserver übergibt das angeforderte PHP-Skript zusammen mit den Prozessdaten an die PHP-Engine. Die PHP-Engine führt das Skript aus und trägt die Prozessdaten in der MySQL-Datenbank ein. Für die Zusammenarbeit mit TO-PASS-Geräten der Serie 761 muss der XAMPP-Server aus dem Internet erreichbar sein. Siehe dazu auch Anwendungshinweis „a301000“. Wie Sie mit Hilfe des WAGO GPRS-VPN-Routers 761-520 einen WAGOEthernet-Controller über ein „wireless wide area network“(WWAN) an das WAGO TO-PASS-Webportal http://www.to-pass.com anbinden wird in Anwendungshinweis „a301001“ beschrieben. Anwendungshinweis A301100 Aufsetzen des TO-PASS-Server 3 •7 Aufsetzen des TO-PASS-Server Dieser Anwendungshinweis beschreibt Schritt für Schritt die Erstellung einer eigenen TO-PASS-Lösung auf einem Microsoft Betriebssystem. 3.1 XAMPP installieren Laden Sie das für Ihr Betriebssystem bestimmte XAMPP-Paket von http://www.apachefriends.org/en/xampp.html herunter und folgen Sie den Installationsanweisungen. Bitte beachten Sie, dass das Hauptziel von XAMPP in der Bereitstellung eines schnell und einfach zu installierenden Webportals für Entwicklung und Test von Webanwendungen ist. Überprüfen Sie daher die Sicherheitseinstellungen bevor Sie Ihre Lösung produktiv stellen. Öffnen Sie im Browser die URL http://localhost oder http://127.0.0.1 and werfen Sie einen Blick auf XAMPP’s Beispiele und Tools Überprüfen Sie mit dem Link „Status“ ob die benötigten Dienste „MySQL“ und „PHP“ ausgeführt werden. Der nächste Schritt ist die Bereitstellung der TO-PASS spezifischen Datenbank-Struktur Anwendungshinweis A301100 8 • Aufsetzen des TO-PASS-Server 3.2 TO-PASS Datenbank anlegen Öffnen Sie das MySQL Administrationstool mit einen Klick auf „phpMyAdmin“ oder öffnen Sie im Browser die URL http://localhost/phpMydmin/. Öffnen Sie mit einem Klick auf „Datenbanken“ den folgenden Dialog. Geben Sie den Namen für Ihre TO-PASS Datenbank ein (zB. MyToPassDb“) und betätigen Sie die Schaltfläche „Anlegen“. Anwendungshinweis A301100 Aufsetzen des TO-PASS-Server •9 Als Ergebnis liegt nun eine leere Datenbank vor. Um die benötigten Tabellen in der Datenbank zu erzeugen wechseln Sie auf die Registerkarte „Import“ und wählen „MyToPassDb.sql“ als „Zu importierende Datei“. Betätigen Sie die Schaltfläche „Go“ um die Tabellen zu erzeugen. Als Ergebnis sollten 12 Tabellen angelegt worden sein, von denen dieser Anwendungshinweis nur „messwerte“, „messwertemodbus“ und „setpoints“ verwendet. Der nächste Schritt ist die Bereitstellung und Anpassung der PHP-Skripte. Anwendungshinweis A301100 10 • Aufsetzen des TO-PASS-Server 3.3 TO-PASS PHP Skripte bereitstellen Der Ordner „~/xampp/htdocs“ ist das Basisverzeichnis des Webservers, alle Dateien unterhalb sind für HTTP-Clients zugänglich. In anderen Distributionen wird dieser Ordner auch „wwroot“ genannt. Erzeugen Sie einen neuen Ordner (zB. „MyToPass) um Ihre Skripte von den Systemskripten zu separieren und kopieren Sie die beiliegenden Dateien in dieses Verzeichnis (Typisch: „C:/xampp/htdocs/MyToPass“). Dateiname Beschreibung config.inc.php index.php savedata.php style.css Definition von globalen Konstanten wie Datenbankname, Login usw.. Startpunkt für die Entwicklung einer eigenen PHP-Präsentationsschicht.. PHP-Script zum speichern von Prozesswerten in der Datenbank Cascading style sheet(css) legt die Darstellung von Inhalten zentral fest. Überarbeiten Sie die Datei „config.inc..php“, wenn Sie einen abweichenden Datenbank-Namen oder -Login konfiguriert haben. Damit ist die Konfiguration des Webportals abgeschlossen. Anwendungshinweis A301100 TO-PASS Client konfigurieren 4 • 11 TO-PASS Client konfigurieren Derzeit stehen zwei Gerätegruppen bereit die als TO-PASS-Client arbeiten können. Die TO-PASS-Geräte der Serie 761 sowie alle Ethernet-Controller. Die TO-PASS-Geräte der Serie 761 kommunizieren über das GPRSNetzwerk. Dies erfordert neben einer für den Datentransfer freigeschalteten SIM-Karte, das der XAMPP-Server aus dem Internet erreichbar ist. Damit Ihr TO-PASS-Server aus dem Internet „erreichbar“ wird sind zusätzliche Konfigurationen durchzuführen, wie zB: - Einrichten von „Port-Forwarding“ für den HTTP-Port 80 bei NAT-Routern. - Einrichten eines „DynDNS-Accounts“ wenn ihr Internet-ServiceProvider(ISP) dynamische IP-Adressen zuweist. Die einfachste TO-PASS-Lösung ist die Verwendung eines WAGO EthernetControllers im gleichen Netzwerk(LAN) wie der XAMPP-Server. Dieser Fall wird im folgenden Kapitel näher beschrieben. Durch Einsatz des WAGO GPRS-VPN-Routers 761-520 kann die LAN Lösung zu einer drahtlosen WAN-Lösung erweitert werden. Die Grundfunktionalität ist in allen Anwendungsfällen gleich. Ein TCP-Client sendet ein HTTP-POST-Request mit den Prozessdaten als Parameter an ein spezialisiertes Skript auf einem Webserver. Der Webserver verarbeitet die Anfrage und liefert in der HTTP-Response „values stored“ zurück. Optional lassen sich auch Sollwerte mit der HTTP-Response übertragen. Anwendungshinweis A301100 12 • TO-PASS Client konfigurieren 4.1 Ethernet Controller als TO-PASS Client Öffnen Sie das Beispiel „WagoLibToPass01_Example01.pro“ mit CoDeSys. Das Beispiel verwendet den Funktionsblock „TOPASS_ClientBasic“ aus der Bibliothek „WagoLibToPass_01.lib“. Netzwerk 1 ruft die in ST kodierte Aktion „AssignRequestData“ auf. In dieser Aktion werden die zu loggenden Prozessdaten konvertiert und auf die Eingangsparameter des Funktionsbausteines TOPASS_ClientBasic kopiert. Netzwerk 2 übernimmt die gesamte Kommunikation mit dem TO-PASS Server und stellt statistische Informationen über erfolgreiche und fehlgeschlagene Übertragungen bereit. Das Netzwerk 3 ruft die in ST kodierte Aktion „ProcessResponseData“ auf, in der optional übergebene Sollwerte vom TO-PASS Server auf lokale Variablen kopiert werden. Verwenden Sie http://localhost/phpmyadmin um manuell Sollwerte in die Tabelle „setpoints“ einzutragen. Aktualisieren Sie den Eingang „sServer mit dem Hostnamen oder der IPAdresse Ihres XAMPP-Servers. Bei Verwendung von Hostnamen ist im WebBasedManagement(WBM) ein DNS-Eintrag für die Namensauflösung erforderlich. Laden und starten Sie das Programm in die Steuerung, der Ausgang „udiCountSuccess“ zählt die erfolgreichen Übertragungen. Bei Problemen liefert sLastError“ einen Hinweis auf die Ursache. Anwendungshinweis A301100 Test der TO-PASS Lösung 5 • 13 Test der TO-PASS Lösung Dieser Anwendungshinweis stellt mit „index.php“ ein rudimentären PHPSkript als Ausgangspunkt für die Entwicklung Ihres eigenen Webportals oder Datenbankapplikation. bereit. Öffnen Sie mit http://localhost/MyToPass/index.php“ die Startseite des Webportals. Um Prozessdaten eines anderen Gerätes anzuzeigen, zum Beispiel „My761“ ändern Sie den Wert von „$device_id“ in der Datei „config.inc.php“. Für einen tieferen Einblick in die Funktionsweise und zur Fehlersuche ist das Tool „WireShark“ hilfreich. Unter http://www.to-pass.com/wago-demo/ finden Sie ein WAGO Beispiel für die Gestaltung einer Repräsentationsschicht für eine Heizanlage. Für das Login verwenden Sie den Benutzernamen „wago“ und als Passwort „demo“. Sollten Sie keine eigene Repräsentationsschicht entwickeln wollen, wenden Sie sich mit diesem Wunsch an [email protected]. Anwendungshinweis A301100 WAGO Kontakttechnik GmbH Postfach 2880 • D-32385 Minden Hansastraße 27 • D-32423 Minden Telefon: 05 71/8 87 – 0 Telefax: 05 71/8 87 – 1 69 E-Mail: [email protected] Internet: http://www.wago.com