Benutzung der Web-Technologie zur Entwicklung eines internet-basierten Prozessleitsystems Anwendungsbeispiele, Softwarestruktur, Programmiertechniken



Ähnliche Dokumente
PHP Kurs Online Kurs Analysten Programmierer Web PHP

Einsatz von OpenSource-Software für geografische Informationssysteme am Beispiel des WVER

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Datenbank-basierte Webserver

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

TYPO3 CMS 6.2 LTS. Die neue TYPO3- Version mit Langzeit- Support

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Schwachstellenanalyse 2012

Updatehinweise für die Version forma 5.5.5

ESB - Elektronischer Service Bericht

Hochschule Darmstadt Fachbereich Informatik

Zentrale mit Außendienst und Notebooks

Konfiguration der Yeastar MyPBX IP-Telefonanlagen mit iway Business SIP Trunk

Session Management und Cookies

Herzlich willkommen im Modul Web-Engineering

Seminar DWMX DW Session 015

Tipps und Tricks zu den Updates

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Anwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen

Einrichtung Secure-FTP

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Einsatzbearbeitung im Sanitätsdienst

Guide DynDNS und Portforwarding

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Konfiguration der tiptel Yeastar MyPBX IP-Telefonanlagen mit Peoplefone Business SIP Trunk

Hilfetext zur Anschreibenverwaltung

Legen Sie nun dieses Verzeichnis mit dem Namen "joomla" hier an: C:xampphtdocs.

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Technical Note 24 SMS Versand über analoge und ISDN Leitungen (Festnetz-SMS)

Content Management System mit INTREXX 2002.

mainfeld kon figura tor nemomedia KONFIGURATOR

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

Hochschule Ravensburg-Weingarten. Technik Wirtschaft Sozialwesen. Projektarbeit

INSTALLATION. Voraussetzungen

Installation/Einrichtung einer Datenbank für smalldms

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Online-Publishing mit HTML und CSS für Einsteigerinnen

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

Offizielle Webpräsenz für Gruppenführer. Erstellen von Inhalten

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

EIDAMO Webshop-Lösung - White Paper

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Themen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes

HTBVIEWER INBETRIEBNAHME

Local Control Network Technische Dokumentation

Modellgestütztes Consulting für die Windenergie Ein neuer Ansatz für die Entwicklung

Man liest sich: POP3/IMAP

TISIS - Industrie 4.0. Ereignis, Ort, Datum

e-serve UPSM Version 7.1

Multimedia im Netz Wintersemester 2011/12

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

Das Formular-Management-System (FMS) der Bundesfinanzverwaltung

SharePoint Demonstration

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

HYPERCOM MEDHYBRID EINRICHTUNG UNTER CHREMASOFT

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Installation eblvd (Fernwartung)

Internet Explorer Version 6

INHALTSVERZEICHNIS... 1

Selbst ist die Frau / der Mann: eine eigene Homepage erstellen!

GeODin 7 Installationsanleitung

Projekt: iguard. - SMS Befehle - Hinweise. iguard - SMS Melder. Dr.Ing. Armin Erkert. iguard.vsd 1/17. Projekt. Projektant. Titel

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Task: Nmap Skripte ausführen

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

SAMMELN INVENTARISIEREN UND TEILEN IN DER CLOUD GRATIS AUSPROBIEREN

Vorlesung Dokumentation und Datenbanken Klausur

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

OP-LOG

FORGE2015 HDC Session 4. Nachhaltige Infrastruktur als technologische Herausforderung. Tibor Kálmán Tim Hasler Sven Bingert

Xampp-Installation und Konfiguration. Stefan Maihack Dipl. Ing. (FH) Datum:

Fotos in Tobii Communicator verwenden

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Adminer: Installationsanleitung

Leitfaden zur Nutzung von binder CryptShare

ARAkoll 2013 Dokumentation. Datum:

PRESENTEC C-TRACK FÜR BLACKBERRY 8800 & BLACKBERRY CURVE 8310 FUNKTIONSBESCHREIBUNG

Anleitung zur Lizenzaktualisierung. Plancal nova 7.x

Layoutmodelle. Steffen Schwientek Große Klostergasse Friedberg schwientek@web.de Web :schlaukopp.org

Java Script für die Nutzung unseres Online-Bestellsystems

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Das HMS-Reporting-Framework Schneller Zugang zu relevanten Reports

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Installationsbeschreibung Flottenmanager 7.1

Graphen in Apex von Thomas Hernando.

Schiller-Gymnasium Hof

Ein mobiler Electronic Program Guide

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Workflow. Installationsanleitung

modern - sharp - elegant

HYPERCOM MEDHYBRID EINRICHTUNG UNTER TURBOMED

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Transkript:

Benutzung der Web-Technologie zur Entwicklung eines internet-basierten Prozessleitsystems Anwendungsbeispiele, Softwarestruktur, Programmiertechniken Fachbereichskolloquium der Fachhochschule Lippe und Höxter 03.12.2007 1

Inhalt Zur Person Watt is ne Regelung? Aufbau eines Automatisierungssystems Aufgaben der Teilkomponenten Web-basiertes Leitsystem Motivation Aufbau eines web-basierten Leitsystems Anforderungen an die Software Implementierung Beispiele für einige Teilaufgaben Begleitend: Implementierungsbeispiele 2

Zur Person Über 20 Jahre Tätigkeit bei Schoppe & Faeser, Hartmann & Braun, Elsag Bailey und ABB im Bereich der Prozessleittechnik Entwicklung von Sonderlösungen Wichtiges Projekt: ein Emulator für das Prozessleitsystem Melody der Firma ABB Automation 2006 Gründung der Firma secolon Tätigkeitsfelder: hochwertige Software für technische Anwendungen 3

Watt is ne Regelung? Temperatursollwert + - Regler Relais T ist Steckdose Prozess (Topf mit Wasser) Messglied (hier: für Temperatur) Regler (hier: Ein-/Ausschalter) Stellglied (hier: über Relais geschaltetertauchsieder) 4

Aufbau eines Automatisierungssystems Konfiguration Bedienen und Beobachten Eingangskarten Regelung Steuerung Ausgangskarten P, T, L Prozess 5

Aufgaben der Teilkomponenten (1) Messwertaufbereitung Konvertierung der elektrischen in digitale Überwachung der elektrischen Signale auf z.b. Kabelbruch Interner Speicher für die aktuellen Messwerte (Anlagenabbild, Schnappschuss) Stellgrößenverarbeitung Konvertierung der digitalen in elektrische Signale Überwachung der Funktion des angeschlossenen Stellgliedes (Endlagen, Kabelbruch usw.) Interner Speicher für die aktuellen Werte (Anlagenabbild, Schnappschuss) 6

Aufgaben der Teilkomponenten (2) Regelung / Steuerung (aktives System) Beinhaltet Automatisierungslogik Entgegennehmen von Stellbefehlen Ventil auf/zu Sollwert größer/kleiner Sollwert auf Wert x Regelung von Prozessgrößen auf vorgewählte Sollwerte durch geeignete Verstellung von Eingangsgrößen der Prozesses (der Regelstrecke) Interner Speicher für die aktuellen Werte (Anlagenabbild, Schnappschuss) Ggf. Vergangenheitswerte bei bestimmten Bausteinen (Integratoren, Totzeitgliedern, Filter) 7

Aufgaben der Teilkomponenten (3) Bedienen und Beobachten Darstellen von Messwerten Aktuelle Werte Vergangenheitswerte (Kurvenverläufe) Darstellung und Bearbeitung von Meldungen Führen einer Alarmliste Quittieren von Alarmen Protokollierung der Aktionen Eingabe von Bedienbefehlen Gedächtnis notwendig Einsatz einer Datenbank 8

Web-basiertes Automatisierungssystem - Motivation Gesamtprozess besteht aus räumlich weit verteilten Teilprozessen Datentransfer aus teilweise unerschlossenem Gebiet oder sogar von beweglichen Komponenten (Tanklastern ) dennoch zentrale Datenhaltung Bedienen und Beobachten von verteilten Bedienplätzen Arbeitsplatz Heimarbeitsplatz (z.b. in der Bereitschaftszeit) Von Unterwegs wo immer ein Internetzugang verfügbar ist 9

Aufbau eines web-basiertes Automatisierungssystems Bedienplatz 1 Bedienplatz 2 Bedienplatz m Datenserver Regelung Steuerung Regelung Steuerung Regelung Steuerung Teilprozess 1 Teilprozess 2 Teilprozess n 10

Grundkonzept der Implementierung Regelung/Steuerung vor Ort: z.b. durch Systeme von WAGO, Phoenix oder ähnlichen Anbietern (Zuverlässigkeit/Verfügbarkeit) Stromversorgung ggf. durch Solar-Energie Datentransfer durch GSM-Netz mit HTTP-Protokoll Verbindung nur zur Datenübertragung Stehende Verbindung mit proprietärem Protokoll Datenserver als Web-Server mit Datenbank Individuelle Konfiguration des Servers Nutzung gehosteter Systeme, um auch Klein-Usern einen kostengünstigen Einstieg zu ermöglichen Entwicklung der Software auf der Basis des kleinsten gemeinsamen Nenners 11

Problematik von Web-Applikationen Verteilte Programmierung (Server/Client; verschiedene Seiten) Verschiedene Programmiersprachen Kein Gedächtnis der Web-Seiten Kein kontinuierlich im Hintergrund laufender Prozess, sondern Aktion nur auf Anfrage 12

Das Handwerkszeug Serverseitig Clientseitig PHP (D)HTML PEAR DOM SQL XML CSS Javascript AJAX Datenhaltung / Versionierung / Back-up Subversion Tortoise SVN 13

Anforderungen an die Software Keine Installation auf den Client-Rechnern Nutzung von allen hauptsächlich im Internet vertretenen Browsern muss möglich sein Nutzung der auf verschiedenen Betriebssystem-Plattformen vorhandenen Werkzeuge Weitestgehender Aufbau der Web-Seiten auf dem Server Minimale Nutzung sicherheitskritischer Komponenten (ActiveX ) 14

Implementierung des Datenservers: Basispaket Datenserver als Web-Server mit Datenbank, z.b. XAMPP: Windows/Linux Apache MySQL PHP+PEAR Perl Komplettes Basis-Paket mit allen notwendigen Bausteinen, das auf fast allen gehosteten Systemen vorhanden ist (Strato, KIS-Europe, 1&1, ) Software-Entwicklung erfolgt auf einer möglichst weit verbreiteten Basis, um möglichst vielen Kundenanforderungen gerecht werden zu können. 15

Implementierung der Software auf dem Daten-Server (1) Programmierung in PHP Datenhaltung in der Datenbank MySQL Bereitstellen einer Programmierer-Schnittstelle (API) als Include-Datei Attribute der DFÜ-Komponente Attribute der Messstellen Wert/Uhrzeit der Messwerte Generische Programmierung der Standardseiten Parameterübergabe über hidden input Variablen Zugriffsverwaltung über Sessions 16

Implementierung der Software auf dem Daten-Server (2) Teilaufgabe Daten einsammeln Übertragung durch die DFÜ-Komponente als HTTP-Request (Post) http://server/pfad/savedata.php?id=hier&wert=1.2345& Zeit=2007-11-27%2011:32:33 Parsen und abspeichern Als Rohwert Als physikalischer Wert Ggf. Ermitteln von Alarmsituationen und Eintragen von Alarmen in die Alarmtabelle Erfolg zurückmelden ( Values Stored;2007-12-03 16:05:31 ) 17

Implementierung der Clientanwendung Teilaufgaben Darstellen und Aktualisieren von Messwerten Als Zahl (Beispiel Wasserversorgung) Als Balken (Beispiel Abwasserbetrieb) Als Alarmstatus Frei positionierbar auf Prozessbildern mit CSS Darstellen von Kurvenverläufen Darstellen von Alarmliste und Alarmstatus Quittieren von Alarmen Benutzerverwaltung (Demo) 18

Rahmen Code für eine Web-Seite mit CSS <HTML> <HEAD> <STYLE type="text/css">.einst { position:absolute; left:7px; top:2px; z-index:2; font-size:11px; font-weight:bold;}.zweist { position:absolute; left:3px; top:3px; z-index:2; font-size:11px; font-weight:bold;} </STYLE> </HEAD> <BODY> <TABLE> <?PHP for ($j=1;10;$j++) { echo <TR><TD class=zweist>spalte 1</TD><TD>Spalte2</TD></TR> ; }?> </TABLE> </BODY> </HTML> 19

Stellbefehle Nur Stellbefehle Ein/Aus Erfolgen über SMS-Dienst per HTTP-Request an Provider SMS-Provider HTTP-Request Datenserver HTTP-Request Bedienplatz SMS Regelung Steuerung 20 Teilprozess n

Aktualisieren von Messwerten Kompletter Neuaufbau der Seite Nutzung von AJAX (asynchronuous Javascript and XML) Spezielle Programmierung für verschiedene Browser notwendig, aber dann sehr flexibel Nutzung von HTML-Bordmitteln (Frames, Javascript OHNE httprequest) ebenfalls möglich Seite als Frameset Ein Frame der Größe 0,0 aktualisiert sich über META-Command refresh und fragt aktuelle Daten vom Server ab Javascript auf dieser Seite liest bei Event onload diese Daten aus und ändert Elemente der Darstellungsseite (DHTML, DOM) 21

Navigation HTML-Seiten (und der Web-Server haben normalerweise keine Gedächtnis Rückwärts und Vorwärts -Buttons der Browser nicht immer ausreichend -> andere Lösung Relevante Daten können über SESSION-Variablen gespeichert werden und bleiben dann für die Dauer der Session verfügbar. Ist aber nur ratsam für global interessierende Daten Nutzung von INPUT vom Typ hidden für die Speicherung und Weitergabe temporärer Daten 22

Danke Nur Schlaglichter auf die Möglichkeiten Kein Anspruch auf Vollständigkeit Fragen und Anmerkungen sind willkommen 23