Leittechnik OPC für Prozessleitsysteme

Größe: px
Ab Seite anzeigen:

Download "Leittechnik OPC für Prozessleitsysteme"

Transkript

1 Fachhochschule - Braunschweig/Wolfenbüttel Fachbereich Elektrotechnik Leittechnik OPC für Prozessleitsysteme Bearbeiter: Florian Rudolph

2 Inhaltsverzeichnis Inhaltsverzeichnis... I Abbildungsverzeichnis... II Abkürzungs- und Sachwortverzeichnis... III 1 Einführung Prinzip und Funktion Die Kommunikation mit DCOM Softwareumsetzung eines Interfaces, Servers und Clients Schnittstellen und Spezifikationen OPC Data Access OPC Alarm and Event OPC Historical Data Access OPC Commands OPC XML Direct Access XML oder DCOM? Industrielles Anwendungsbeispiel Aufgabenstellung Lösungsansatz Finanzielle Sichtweise Literaturverzeichnis I

3 Abbildungsverzeichnis Bild 1.1: Situation vor der Einführung von OPC... 4 Bild 1.2: Die Situation mit OPC-Schnittstelle... 5 Bild 2.1: Informationsfluss im industriellen Bereich [2]... 6 Bild 2.2 Konzept des OPC-Servers und des -Interfaces... 7 Bild 3.1: OPC-Schnittstellenspezifikationen [4] Bild 3.2: Struktur der Data Access-Spezifikation Bild 3.3: Synchroner Modus der Kommunikation Bild 3.4: Asynchroner Modus der Kommunikation (Abonnement) Bild 3.5: Infrastruktur des OPC XML DAs [7] Bild 3.6: Systemumgebung von OPC-XML Direct Access Bild 3.7: Vergleich der Übertragungszeiten bei XML und DCOM [8] Bild 3.8: Vergleich von OPC XML DA unter Linux und Windows [8] Bild 3.9: Vergleich von OPC XML DA im Intranet und Internet [8] Bild 4.1: Herkömmlicher Lösungsansatz [6] Bild 4.2: Lösung mit OPC [6] Bild 4.3: Finanzielle und zeitliche Sicht der Lösungen [6] II

4 Abkürzungs- und Sachwortverzeichnis ASP Active Server Pages CORBA Common Object Request Broker Architecture DCOM Distributed Component Object Model DOS Disk Operating System HTTP Hypertext Transfer Protocol MMI (auch HMI) Man Machine Interface.NET Softwareplattform von Microsoft OLE Object linking and embedding OPC OLE for process control PLC Programmable Logic Controller SCADA Supervisory control and data acquisition SOAP Simple Object Access Protocol SPS Speicherprogrammierbare Steuerung TCP/IP Transmission Control Protocol / Internet Protocol Treiber Software zum Zugriff auf Hardwarekomponenten UDDI Universal Description, Discovery and Integration VB Visual Basic WSDL Web Service Description Language XML Extensible Markup Language III

5 OPC für Prozessleitsysteme - 1 Einführung 1 Einführung OPC (OLE for process control) definiert einen weltweiten, offenen Standard für den Daten- und Informationsaustausch von Softwarekomponenten. Der OPC-Standard wird durch die OPC Foundation verwaltet und publiziert. Die OPC Foundation stellt ein Gremium aus ca. 200 Automatisierungs- und Softwareherstellern sowie Anwendern dar. Die Grundidee war die Definierung einer standardisierten Schnittstelle, um über Software auf Daten in sämtlichen Geräten im Prozessleitsystem zugreifen zu können. Bild 1.1: Situation vor der Einführung von OPC Bild 1.1 soll die ursprüngliche Situation verdeutlichen, aus der es heraus nötig geworden ist im Bereich der Automatisierung den OPC-Standard zu definieren. Auf Seiten der Applikationsebene besteht ein erhöhter Entwicklungsaufwand, da jeder Hersteller eigene Treiber für jedes Gerät auf Seiten der Automatisierungsebene entwickeln muss [1]. Durch diese Situation ist die Problematik inkompatibler Treiber von unterschiedlichen Herstellern auf einem System unausweichlich. Es ist geradezu unmöglich mehrere Treiber nebeneinander auf einem System problemlos arbeiten zu lassen. Als Veranschaulichung der beschriebenen Problematik dient ein Blick auf das 1982 gängige Betriebssystem MS-DOS, unter dem die Anwendung Microsoft Word bereits mehr Disketten für potentielle Druckertreiber mitlieferte, als die Software selber benötigte. Adaptiert man diese Situation auf den Bereich der industriellen 4

6 OPC für Prozessleitsysteme - 1 Einführung Automatisierung, wird schnell klar, dass durch die Vielzahl der internationalen Hersteller und einer Unmenge an unterschiedlichster Hardware ein reibungsloser und störungsfreier Automatisierungsprozess unmöglich erscheint. Bild 1.2: Die Situation mit OPC-Schnittstelle Durch die Einführung von OPC (siehe Bild 1.2) ergibt sich eine Strukturänderung im System. Von einer direkten Kommunikation der Software mit der Hardware, fungiert nun eine OPC-Schnittstelle anschaulich gesprochen als Vermittler. 5

7 OPC für Prozessleitsysteme - 2 Prinzip und Funktion 2 Prinzip und Funktion OPC definiert Standardschnittstellen, welche eine Verbindung zwischen Software und Applikation herstellen. Die Aufgabe der Hersteller liegt nun darin entweder einen OPC-Client für die Software und einen OPC-Server für die Hardware zu liefern. Die Hersteller sind dabei nun unabhängig voneinander. Der OPC-Server implementiert das gerätespezifische Protokoll hinter der standardisierten OPC- Schnittstelle. In Anlehnung an das in Kapitel 1 erwähnte Beispiel der Druckertreiber, wäre hier zu nennen, dass heutzutage jeder Druckerhersteller einen Treiber liefert, den alle Applikationen verstehen und verwenden. Das gleiche Prinzip verfolgt der OPC- Standard in der Automatisierungsbranche. Es sollte demnach selbstverständlich sein, dass jedes Gerät den passenden OPC-Server in Form von Software mitliefert. Um den Fluss von Prozessdaten und deren Verarbeitung in Verbindung mit OPC zu erkennen und zu beschreiben, dient zunächst Bild 2.1. Es zeigt den allgemeinen Informationsfluss von Prozessdaten im industriellen Bereich. Bild 2.1: Informationsfluss im industriellen Bereich [2] 6

8 OPC für Prozessleitsysteme - 2 Prinzip und Funktion Daten auf der Field Management-Ebene bilden die Basis. Eine große Menge an Informationen aus unterschiedlichsten Quellen muss dem Anwender sowie der Software, welche darauf zugreift, ständig und in einheitlicher Art und Weise zur Verfügung stehen. Auf der Process Management-Ebene steuert und überwacht das Prozessleitsystem die Prozesse und stellt beispielsweise Daten und Informationen über Herstellungsabläufe bereit. Prozesse können auch über Software in dieser Ebene manuell angepasst und gesteuert werden. Zu nennen wären in dieser Ebene das Konzept der Supervisory Control and Data Acquisition (SCADA). Die höchste Ebene des Leitsystems stellt die Business-Ebene dar. Hier kommen alle Daten- und Informationsflüsse zusammen. Hier gilt es die Prozesse zu optimieren und in der Effizienz zu steigern, was wiederum ein Mehr an Informationsfluss zur Folge hat. 2.1 Die Kommunikation mit DCOM Um nun das OPC-Konzept, wie es in Kapitel 1 angedeutet wurde zu konkretisieren, dient Bild 2.2. Bild 2.2 Konzept des OPC-Servers und des -Interfaces Die Applikationen 1 bis 3 stellen hier die OPC-Clients dar. Der OPC-Server hat nun die Aufgabe als Vermittler die Daten aus den Datenquellen mit den Clients zu tauschen. Er ist aus Sicht der Kommunikation wie eine Datenquelle selber zu betrachten, da er nur auf Anfragen des Clients antwortet, d.h. Anfragen bearbeitet und gemäß antwortet. Er selber generiert jedoch keine Nachfragen. Als Analogie 7

9 OPC für Prozessleitsysteme - 2 Prinzip und Funktion dazu kann man den Server mit einem Kellner im Restaurant vergleichen, der nur auf Bestellung handelt und im Normalfall keine Bestellung ohne Anfrage alleine ausführt. Der Client hingegen sendet dem Server nur Anfragen. Er selber kann sie nicht ausführen bzw. erfüllen. Somit kann man den Client mit dem Kunden im Restaurant vergleichen. Kommuniziert wird bei OPC über DCOM. DCOM wurde von Microsoft entwickelt und stellt ein Protokoll dar, dass Softwarekomponenten die direkte Kommunikation über ein Netzwerk ermöglicht. Es handelt sich dabei um ein objektorientiertes System, welches auch Funktionen in anderen Adressräumen aufrufen kann. Man spricht daher auch von einer Interprozesskommunikation. DCOM-Objekte können von verschiedensten Programmiersprachen erzeugt werden und stellen nichts weiter als kompilierten Code dar, der einen Dienst zur Verfügung stellt. Ein Objekt wird gemäß Objektorientierung von einer DCOM-Klasse erzeugt, Microsoft spricht hier leider nicht von einer Klasse, sondern von einer Komponente [3]. Diese Komponente implementiert eine oder mehrere Schnittstellen. Sie ist also eine Sammlung von Methodenaufrufen, die semantisch zu einem DCOM-Interface zusammengefasst wurden. In der Literatur spricht man daher auch von Aggregation, anstatt von Klassenvererbung zu sprechen. Zu erwähnen wäre darüberhinaus noch, dass eine Komponente bzw. Klasse mehrere DCOM-Objekte bzw. -Schnittstellen enthalten kann, anders als es beispielsweise bei CORBA der Fall ist. Damit ein verbindungsfähiges Objekt nun Kontakt zum Client herstellen kann, muss der Client eine Schnittstelle bzw. Interface zur Verfügung stellen. Ein Objekt kann gleichzeitig mit mehreren Clients verbunden sein und kann somit mehrere verbindungsfähige Objekte abhören. 2.2 Softwareumsetzung eines Interfaces, Servers und Clients Nachfolgend wird ein einfacher Zähler vorgestellt der über DCOM kommuniziert und auf Anfragen des Clients über einen Server zählt. Die Implementierung erfolgte in Java. Letztlich erhält man drei Codepakete, die beispielhaft darstellen wie der Informationsfluss bei einem OPC-System abläuft. 8

10 OPC für Prozessleitsysteme - 2 Prinzip und Funktion Zunächst wird der Code für das Interface dargestellt. Wie bereits in Kapitel 2.1 erwähnt, benötigt der Client ein Interface, um eine Kommunikation herzustellen. 01 //Count.idl 02 [uuid(1689cb21-2ade-11d0-892e-00a ),version(1.0)] 03 library Counter 04 { [object, 05 uuid(1689cb22-2ade-11d0-892e-00a ), 06 pointer_default(unique), 07 oleautomation 08 ] 09 interface ICount : IUnknown 10 { 11 import "oaidl.idl"; 12 HRESULT set_sum([in] int val); 13 HRESULT get_sum([out, retval] int* retval); 14 HRESULT increment([out, retval] int* retval); 15 }; 16 importlib("stdole32.tlb"); 17 [uuid(1689cb23-2ade-11d0-892e-00a )] 18 coclass Count 19 { 20 [default] interface ICount; 21 }; 22 }; Obiger Quellcode stellt nun das Zähler-Interface dar, eine sog. IDL-Datei. Aus der IDL-Datei erzeugt ein Compiler eine sprachspezifische Schnittstellendefinition. Per Vereinbarung muss jede Klasse bzw. Komponente mindestens die Schnittstelle IUnknown (Zeile 9) unterstützen, dies ermöglicht den ersten Zugriff [3], d.h. IUnknown implementiert die nötigsten Methoden. Darüberhinaus ist eine eindeutige Zuordnung per 16 Byte UUID (Zeile 2) nötig. Der Datentyp HRESULT (Zeile 12-14) gibt den Status der Operationen von microsoftspezifischen Komponenten an. Das bedeutet HRESULT ist ein 32-Bit-Wert, der in drei Felder unterteilt ist: Schweregradcode, Bereichscode und Fehlercode. Auf die genauen Eigenschaften der einzelnen Felder kann im Rahmen dieser Arbeit nicht näher eingegangen werden. Anschaulich kann man sagen, dass jeder Ausnahme d.h. jedem Ereignis ein eindeutigen HRESULT zugeordnet ist. Wenn ein verwalteter Code 9

11 OPC für Prozessleitsysteme - 2 Prinzip und Funktion eine Ausnahme auslöst, übergibt die Software-Plattform HRESULT an den COM- Client. Nachfolgend sind die drei benötigten HRESULT dargestellt: set_sum (Setzen des Zählers) get_sum (Zählerstand ausgeben) increment (Zählerstand um 1 erhöhen) Nun betrachten wir den Server: 01 //Count.java 02 import com.ms.com.*; 03 import count.*; 04 class Count implements ICount 05 { 06 private int sum; 07 public int get_sum() throws ComException 08 { 09 return sum; 10 } 11 public void set_sum(int val) throws ComException 12 { 13 sum = val; 14 } 15 public int increment() throws ComException 16 { 17 sum++; 18 return sum; 19 } 20 } Der obige Server ist trivial aufgebaut, er implementiert die Methoden, die für den Zähler essentiell sind. Man erkennt auch anhand der Methoden die Flussrichtung der Information. Die Methoden increment() und get_sum() liefern den Wert des Zählers zurück an den Client, wie in Kapitel 2.1 beschrieben, jedoch erst nach Anfrage und niemals ohne Aufforderung. Die Methode set() kann nur der Client aufrufen, um den Zählerstand zu erhöhen. Abschließend wird nachfolgend der Java-Code für den Client dargestellt und beschrieben. 10

12 OPC für Prozessleitsysteme - 2 Prinzip und Funktion 01 //CountDCOMClient.java 02 import count.*; 03 class CountDCOMClient 04 { 05 public static void main(string args[]) 06 { 07 try 08 { 09 System.out.println("Erzeuge Ein neues Zählerobjekt"); 10 ICount counter = (ICount)new count.count(); 11 // Zähler zu Beginn auf null setzen 12 System.out.println("Zähler auf 0"); 13 counter.set_sum((int)0); 14 // 1000x inkrementieren 15 for (int i=0; i<1000; i++) 16 { 17 counter.increment(); 18 } 19 } 20 catch(exception e) 21 { 22 System.err.println("System Exception"); 23 System.err.println(e); 24 } 25 } 26 } Der Client macht in seiner Main-Methode (Zeile 5 ff.) folgendes: 1. Erzeugen eines Objektes der Server-Klasse Count mit Typecast als ICount (Zeile 10) 2. Den Zähler auf null setzen (Zeile 13) mal den Zähler inkrementieren (Zeile 15-18) Zum Informationsfluss lässt sich sagen, dass der Client die Anfrage auf das Nullsetzen oder das Inkrementieren über das Objekt der Server-Klasse erteilt und der Server die Aufgabe erledigt und mit dem aktuellen Zählerstand bei der Methode increment() antwortet. Der Rückgaebwert findet hier beim Client keine Berücksichtigung. Durch die Verwendung von DCOM muss der Server nicht auf dem gleichen System oder PC arbeiten wie der Client. 11

13 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen 3 Schnittstellen und Spezifikationen Seit der Veröffentlichung der ersten Spezifikation von OPC im Jahre 1996 sind die Standards zur Schnittstellenbeschreibung gewachsen. Man unterscheidet heute folgende Schnittstellen: 3.1 OPC Data Access Bild 3.1: OPC-Schnittstellenspezifikationen [4] Der größte Anwendungsbereich von OPC ist OPC DA. Der Zugriff auf Echtzeitdaten, speziell in Automatisierungsgeräten, erfolgt hierbei über eine bestimme logische Struktur (siehe hierzu Bild 3.2). Der Client kann eine beliebige Anzahl von Gruppen oder Groups erzeugen. In jeder Gruppe kann der Client Items erzeugen, die nichts anderes darstellen, als Information bzw. Daten eines Datenfeldes im Automatisierungsgerät. Diese Information im Automatisierungsgerät nutzt der Client. Die wesentlichen Eigenschaften der Informationen sind [1]: Wert (z.b. einer Messgröße eines Sensors) Qualitätsstatus (Fehler, gut, unbekannt) Zeitstempel Zugriffsrechte (lesen, schreiben oder beides) 12

14 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen Bild 3.2: Struktur der Data Access-Spezifikation Der Client erhält zu einem sog. Datenpunkt nur aktuelle Werte, d.h. zu einer Abfrage gibt es immer nur Echzeitdaten. Der Zeitstempel wird entweder vom Automatisierungsgerät vergeben oder aber der Server vergibt diesen Wert, falls Geräte (z.b. Waagen) oder Protokolle (z.b. Modbus) keine Zeitstempel vorsehen. Der Qualitätsstatus beschreibt den Zustand des Wertes. Beispielsweise erhält man vom OPC-Server bei Kommunikationsabbruch den Qualitätszustand bad. Der Client besitzt verschiedene Möglichkeiten auf diese Items zuzugreifen. Zu nennen wären da: Synchrones Schreiben und Lesen (Pollen) Asynchrones Lesen (Abonnieren) und Schreiben Nachfolgend wird kurz auf die Zugriffsmodi eingegangen. Datenanforderungen vom Client werden als Lesen interpretiert. Schreiben bedeutet, dass der Client einem Automatisierungsgerät einem Wert zuweist. Beispielweise wird eine auszuführende Aktion wie Ventil bei Temperatur X öffnen mit einem Wert dem Gerät mitgeteilt. Zu unterscheiden sind die Lesemodi. Man spricht vom Pollen, wenn der Client kontinuierlich Werte abfragt und eine Antwort erhält. Dies ist der Fall beim synchronen Lesen (vgl. Bild 3.3). 13

15 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen Bild 3.3: Synchroner Modus der Kommunikation Beim asynchronen Lesen (vgl. Bild 3.4) erhält der Client nur dann Werte vom Automatisierungsgerät, wenn sich diese geändert haben. Wertänderung Wertänderung Bild 3.4: Asynchroner Modus der Kommunikation (Abonnement) Jedoch ist zu bedenken, dass im Falle des asynchronen Lesens beim Client nicht immer derselbe Mechanismus auch für den OPC-Server verwendet wird. Es steht dem Server völlig frei nicht dennoch das Automatisierungsgerät zu pollen, was bei den meisten SPS-Geräten auch der Fall ist [1]. 14

16 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen Betrachtet man die Kommunikation zwischen Server und Datenquelle etwas näher, gilt es auch hier die Lesemodi zu unterscheiden. Zu nennen wäre in diesem Zusammenhang Cache reads und Device reads. Das Cache read arbeitet mit einem Pufferspeicher auf dem OPC-Server, das bedeutet, dass das Automatisierungsgerät schneller Daten liefern kann, da diese auf einem Speicher zwischengelagert werden, um letztlich vom Client verarbeitet werden zu können. Beim Device read greift der Client direkt über den Server auf die Datenquelle zu. Die Zugriffsrate und damit die Performance des Servers lassen sich durch das Zwischenspeichern und die asynchrone Kommunikation erhöhen. 3.2 OPC Alarm and Event Dieser Schnittstellenstandard bietet dem Client die Möglichkeit über bestimmte Ereignisse oder Alarmsituationen benachrichtigt zu werden. Darüberhinaus besteht mit Hilfe des Servers für den Client die Möglichkeit Fehler zu bestimmen und Bedingungen d.h. Szenarien festzulegen, bei denen Ereignisse zu einer Benachrichtigung führen [2]. Die Grenzen zwischen einem Alarm und einen Ereignis sind verwischt, es bleibt letztlich dem Anwender und Nutzer überlassen, wie er was definiert. Oftmals dienen die Begriffe nur als Synonym für bestimmte Anwendungen des Nutzers und sind nicht in ihrer eigentlichen Bedeutung zu verstehen. Dennoch gilt nach [2] innerhalb des OPC-Standards ein Fehler als ein ungewöhnlicher Zustand d.h. ein nicht erwartetes Ereignis. Kurzbeispiel: Der Baustein FC101 einer S7 SPS hat die Aufgabe bzw. Funktion den Ausgangsbereich sofort zu setzen [4]. Ihm könnten drei Zustände zugeordnet sein: High Alarm Normal Low Alarm Somit erfüllt der Baustein FC101 im OB1 der SPS die Alarmfunktion, indem er dem Server und damit dem Client Alarmzustände mitteilt. Neben den besagten Alarmen existieren noch die bereits erwähnten Ereignisse. Ereignisse müssen nicht immer mit bestimmten Zuständen in Verbindung gebracht 15

17 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen werden. Der Übergang von High Alarm in Normal ist beispielsweise verknüpft mit Zuständen. Wohingegen Änderungen in der Systemkonfiguration, System-Fehler und Änderungen durch Anwender Ereignisse hervorrufen können, die eben ohne Beziehung zu einem Zustand im Prozess ausgelöst werden können. Letztlich legt der Client fest welches Ereignisse oder Fehler er abonniert und wie es dem Prozess zuzuordnen ist. Abschließend lässt sich zur OPC Alarm and Event-Schnittstelle folgendes zusammenfassen: Der Client legt die Typen von Ereignissen fest, die der Server detektiert Der Client kann bestimmte Events abonnieren und erhält Informationen zu deren Auftreten Der Client kann manipulierend in Zustände des Server eingreifen [2] 3.3 OPC Historical Data Access Eine Vielzahl von Daten wird in einem Prozessleitsystem produziert und abgerufen. Aufgrund der Tatsache, dass oftmals mehrere Teilnehmer dieselben Daten zu unterschiedlichen Zeiten benötigen, ist eine Speicherung dieser Daten unausweichlich. Es existieren bereits viele proprietäre Schnittstellen, die gemeinsam ein großer Nachteil vereint. Allesamt sind nicht zu anderen Schnittstellen kompatibel und eine Anreicherung fremder Daten oder der Zugriff auf andere Schnittstellen ist nicht möglich. Die OPC Historical Data Access-Schnittstelle greift diesen Punkt auf und liefert eine Standard-Schnittstelle. Man unterscheidet bei diesem Standard zwei Typen von Servern: Simple Trend Data Server Complex data compression and analysis server Der wesentliche Unterschied beider Varianten liegt darin, dass die erst genannte Server-Variante Rohdaten speichert, wohingegen die zweite Variante sowohl die Rohdaten speichert, als auch eine Analyse dieser vornimmt. Zu nennen wäre da Mittelwertbildung, Ermittlung von Minima- und Maxima-Werten, u.v.m. 16

18 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen 3.4 OPC Commands OPC findet bereits breite Anwendung in der Bereitstellung von Automatisierungsinfrastrukturen und Softwareschnittstellen. Die Entwicklung der letzten Jahre hatte zur Folge, dass bereits heute der OPC-Standard einen großen Bereich im Daten-Management abdeckt. Lösungen im Automatisierungsbereich umfassen jedoch nicht ausschließlich den Transport von Daten und die Verarbeitung [7]. Im Ausführen und Regeln von Kommandos, im Folgenden auch commands genannt, liegt ein weiterer Bereich, den auch der OPC-Standard abdeckt. Die OPC Foundation spricht von commands, wenn bestimmte Aktionen eine Änderung eines Zustandes beim Server oder bei einem Automatisierungsgerät hervorrufen. Gerade diese Aktionen nehmen im Prozess oft mehr Zeit in Anspruch, als das Lesen oder Schreiben von Daten [7]. Ein Nutzer bzw. implizit der Client kann nur Information an den Server senden, wenn zuvor ein Kommando gestartet wurde. Welche Rolle spielt nun der OPC-Standard bei dieser Sichtweise? Der OPC-Standard bietet eine Informationsschnittstelle, die es ermöglicht Kommandos (auch Methoden genannt) auf Seiten des Servers zu ermitteln und zu verstehen. Die OPC Foundation spricht von understanding, gemeint ist vielmehr die Wirkung der Methode und nicht die Semantik dahinter, daher wäre der Ausdruck von making an impact angebrachter. Der Client erhält die Information von welcher Ebene die Methode kommt (OPC-DA, OPC-A&E, ). Methoden werden dahingehend in zwei Kategorien eingeordnet: Global level (Methoden, die zum Server selber gehören oder zur Infrastruktur, die der Server abdeckt) Sub level (Methoden, die zu einer Infrastruktur hinter dem Server gehören) Beschreibungen dieser Methoden werden ebenso zur Verfügung gestellt, wie die Methoden selber. Die Beschreibung eines Kommandos oder einer Methode beinhaltet Informationen über Vorbedingungen, Eingangs- und Ausgangsparameter und natürlich wie die Methode vom Server ausgeführt wird. Für diese Art der Beschreibung sind Zustandsdiagramme prädestiniert und finden dahingehend auch ihre Anwendung. 17

19 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen OPC Commands bietet einen Basis-Zustandsautomaten (endlicher Automat) an, der je nach Erfordernis der Methode geändert und erweitert werden kann. Neben der Informationsschnittstelle existiert darüberhinaus auch ein sog. Command execution interface, also eine Schnittstelle die die Ausführung der Methode veranlassen kann. Wie bereits erwähnt kann die Ausführung synchron oder asynchron erfolgen. Die Art der Kommunikation wurde bereits in Kapitel 2.1 und auch Kapitel 3.1 erwähnt. In Bezug auf dieses Kapitel ist noch zu ergänzen, dass die zurückgelieferten Daten, wie es beim Abonnieren als auch beim Pollen der Fall ist durch OPC commands neben den eigentlichen Nutzdaten auch Reportdaten enthalten. Reportdaten enthalten Informationen über die Transition, also über den Übergang von einen in den anderen Zustand und auch die damit verbundenen Informationen über Ereignisse bzw. events. Wie bereits ebenso erwähnt legt der Client fest, über welche events er informiert werden möchte. Zusammenfassend lässt sich sagen, OPC commands dient der Klärung über Vorbedingungen von Methoden (Was wird für die Ausführung benötigt?), der Information über die Wirkung dieser Methode (Was passiert nach Aufruf der Methode?), dem Client o.a. zur Findung und Darlegung von Bedingungen für den Aufruf (Wer kann die Methode wann aufrufen?) und es dient letztlich der Klärung wie diese Methode in ihrer Ausführung arbeitet. 3.5 OPC XML Direct Access Die jüngste Spezifikation von OPC wurde im Jahre 1999 erstmalig erwähnt. Im Juli 2003 wurde das erste Release 1.0 veröffentlicht, um im Dezember des Jahres 2004 durch die Version 1.01 mit marginalen Änderungen erweitert zu werden. Neue Standards in der Informationstechnologie sog. Web Services führten zu dieser Spezifikation. Zu diesen Standards zählen [1]: XML XML Schema SOAP 18

20 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen UDDI Der Hintergrund dieser Standards ist der plattformübergreifende Zugriff auf Daten verschiedener Systeme in Echtzeit. Für diverse Programmiersprachen existieren sog. Toolkits. Zu nennen wäre auf Windowsbasis das.net-framework. Web Services benötigen keine spezielle Kommunikationsinfrastruktur. HTTP auf TCP/IP ist derzeit der am häufigsten genutzte Transportweg. Somit kann durch die Nutzung von Web Services die Abhängigkeit von Windowsplattformen bei OPC gelöst werden. Der externe Zugriff auf Web Services erfolgt durch Dateien, welche in einer sog. Web Service Description Language (WSDL), basierend auf XML, verfasst sind. WSDL beschreiben nur das externe Verhalten und geben keine Informationen über interne Zusammenhänge der Services. Anwendungen, die Web Services nutzen, kommunizieren untereinander über das Simple Object Access Protocol (SOAP). SOAP nutzt XML um die Informationen in das Protokoll einzubinden und damit das HTTP und damit auch TCP/IP nutzen zu können. Zusammenfassend lässt sich sagen, dass SOAP innerhalb des TCP/IPs läuft und es so ermöglicht wird verschiedene andere Netzwerk-Protokolle nutzbar zu machen. Bild 3.5 soll dies verdeutlichen. Bild 3.5: Infrastruktur des OPC XML DAs [7] 19

21 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen In der Konsequenz bedeutet dies, dass nur zwei Bedingungen erfüllt sein müssen, damit Automatisierungsgeräte Web Services nutzen können: 1. HTTP- und 2. XML-Unterstützung So ist es auch möglich OPC XML DA über das Internet ausführbar zu machen. Das.NET-Framework basiert bei der Kommunikation nicht mehr auf DCOM, sodass in Zukunft damit zu rechnen ist, dass OPC eine andere Plattform erhält. Die.NET- Plattform bietet eine sehr umfangreich Unterstützung von Web Services, sodass zukünftig neue OPC-Spezifikationen auf Microsofts.NET-Framework bauen werden. In Bild 3.6 ist die neue Systemstruktur zu erkennen. Bild 3.6: Systemumgebung von OPC-XML Direct Access XML oder DCOM? Grundlegender Unterschied beider Systeme ist die Art der übertragenen Information. DCOM überträgt binäre Information, wohingegen bei OPC XML DA die Daten textuell mit zusätzlichen Strukturelementen übertragen werden. Diese Tatsache beeinflusst natürlich die Performance des Systems. Die in Bild 3.3 und Bild 3.4 auf Seite 14 gezeigte Aktualisierungszeit variiert dabei. 20

22 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen t in ms DCOM DA XML DA Anzahl der Items Bild 3.7: Vergleich der Übertragungszeiten bei XML und DCOM [8] Die Messungen aus Bild 3.7 wurden für synchrones Lesen (Pollen) ermittelt. Trotz der verlangsamten Geschwindigkeit für OPC XML DA sind die gemessenen Zeiten für nahezu alle Automatisierungsapplikationen ausreichend schnell, um echtzeitfähig betrieben zu werden. Es wurde die Plattformunabhängigkeit bei OPC XML DA angesprochen, somit ist der logische nächste Schritt ein Vergleich von OPC XML DA unter verschiedenen Plattformen. Nachfolgend wird Linux und Windows betrachtet. t in ms Linux OPC XML DA Windows OPC XML DA Anzahl der Items Bild 3.8: Vergleich von OPC XML DA unter Linux und Windows [8] Der Vergleich beider Plattformen fällt positiver für die Linux-Plattform aus, jedoch nicht signifikant. Abschließend wird nun noch der angesprochene Einsatz von OPC XML DA unter Verwendung des TCP/IPs im Internet untersucht. Es wurde ein Linux OPC-Server verwand, um den Vergleich zwischen Internet und Intranet herstellen zu können. 21

23 OPC für Prozessleitsysteme - 3 Schnittstellen und Spezifikationen t in ms Intranet Internet Anzahl der Items Bild 3.9: Vergleich von OPC XML DA im Intranet und Internet [8] Es lässt sich mit steigernder Anzahl von Items erkennen, dass die Zeiten einen stärkeren Unterschied aufweisen als bei weniger Items. Die Zeiten, die für das Senden und Empfangen hier benötigt wurden, liegen weit entfernt von einer Echtzeitfähigkeit. Man kann im Durchschnitt davon ausgehen, dass bei 1000 Items ein Client bei OPC XML DA im Durchschnitt 40 kb sendet und ca. 128 kb empfängt. 22

24 OPC für Prozessleitsysteme - 4 Industrielles Anwendungsbeispiel 4 Industrielles Anwendungsbeispiel Im Folgenden wird der Einsatz der OPC-Technologie mit einer herkömmlichen proprietären Lösung verglichen und anschließend bewertet. Als Quelle der Daten ist [6] zu nennen. 4.1 Aufgabenstellung In der Chemieindustrie besitzt ein Kunde drei Datenquellen und möchte mit drei verschiedenen Applikationen kommunizieren. Gesucht sind eine kostengünstige Realisierung sowie eine geringe Auslastung der Steuerung. Als Clients sind zu nennen: MMI (Wonderware InTouch) Prozessdatenspeicher inkl. Prozessdatenanalyse in Form eines Servers (Honeywell PHD) Sensordatenüberwachung und -aufnahme/monitoring (BNC DM2000) Als Datenquellen stehen zur Verfügung: PLC/SPS (Triconex Tricon) Excel-Arbeitsmappe Sensor (BNC Data) 4.2 Lösungsansatz Um einen Vergleich zu ermöglichen, wird zunächst der herkömmliche Lösungsansatz betrachtet. Bild 4.1 zeigt die benötigte Infrastruktur, wie sie ohne OPC nötig wäre. Es sind bei nur je drei verschiedenen Clients und Datenquellen neun Schnittstellen (Treiber) nötig, damit eine Kommunikation untereinander aufgebaut werden kann. Darüberhinaus benötigt jede Quelle drei Clientanbindungen. Es handelt sich hierbei um ein möglichst einfaches, überschaubares Beispiel. Adaptiert man die eben genannten Tatsachen auf ein reales Prozessleitsystem im Bereich der Automatisierung, wird das Ausmaß an Schnittstellen und Anbindungen schnell ersichtlich. 23

Einführung in die OPC-Technik

Einführung in die OPC-Technik Einführung in die OPC-Technik Was ist OPC? OPC, als Standartschnittstelle der Zukunft, steht für OLE for Process Control,und basiert auf dem Komponentenmodel der Firma Microsoft,dem Hersteller des Betriebssystems

Mehr

Quo vadis, OPC? - von Data Access bis Unified Architecture - Dipl.-Ing. (BA) Erik Hennig Dresden, 25.10.2007

Quo vadis, OPC? - von Data Access bis Unified Architecture - Dipl.-Ing. (BA) Erik Hennig Dresden, 25.10.2007 Informatik» Angewandte Informatik» Technische Informationssysteme Quo vadis, OPC? - von Data Access bis Unified Architecture - Dipl.-Ing. (BA) Erik Hennig Dresden, 25.10.2007 Gliederung Einführung Was

Mehr

OPC UA und die SPS als OPC-Server

OPC UA und die SPS als OPC-Server OPC UA und die SPS als OPC-Server Public 01.10.2010 We software We software Automation. Automation. Agenda Firmenportrait Kurz-Einführung zu OPC Kurz-Einführung zu OPC UA (Unified Architecture) OPC UA

Mehr

Soft-SPS - Was ist eine SPS?

Soft-SPS - Was ist eine SPS? Soft-SPS - Was ist eine SPS? SPS = Speicherprogrammierbare Steuerung PLC = Programmable Logic Control Ursprünglich elektronischer Ersatz von Relaissteuerungen (Schützsteuerung) 1 Soft-SPS - Relais-Steuerung

Mehr

OPC und SCADA im Überblick

OPC und SCADA im Überblick OPC und SCADA im Überblick Folie 5-1 Vergangenheit Bedarf Information in Echtzeit zwischen Kontrollsystem und Geräten auszutauschen Zahlreiche proprietäre Lösungen/Treiber (25 % bis 30 % Entwicklungszeit)

Mehr

Schulungsunterlagen CoDeSys V3 OPC Server

Schulungsunterlagen CoDeSys V3 OPC Server Impressum Copyright epis Automation GmbH & Co. KG 2013. Alle Rechte, auch der Übersetzung vorbehalten. Das Kopieren oder Reproduzieren, ganz oder auch nur auszugsweise, in irgendeiner Form (Druck, Fotokopie,

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Neue Möglichkeiten der Datenintegration Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Begriffsbestimmung ODBC, OLE DB, COM, ADO... Unterschiede zwischen

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

COI-BUSINESSFLOW SOAP-SERVER MODUL INFORMATION

COI-BUSINESSFLOW SOAP-SERVER MODUL INFORMATION COI-BUSINESSFLOW SOAP-SERVER MODUL INFORMATION Präambel Die COI GmbH entwickelt seit 1988 moderne, prozessorientierte Lösungen rund um die Themen Archivierung, Dokumentenmanagement und Workflow. Als kompetenter

Mehr

Automatisierungsarchitekturen für das Smart Grid Am Beispiel der OPC UA und der IEC 61970. Dr.-Ing. Mathias Uslar, Sebastian Rohjans

Automatisierungsarchitekturen für das Smart Grid Am Beispiel der OPC UA und der IEC 61970. Dr.-Ing. Mathias Uslar, Sebastian Rohjans Automatisierungsarchitekturen für das Smart Grid Am Beispiel der OPC UA und der IEC 61970 Dr.-Ing. Mathias Uslar, Sebastian Rohjans 2 OPC Foundation Vision: OPC-Technologien sollen überall dort zur Interoperabilitäts-Basis

Mehr

Vom HMI zum WebSCADA Portal

Vom HMI zum WebSCADA Portal Vom HMI zum WebSCADA Portal Teil 1. Skalierbare webbasierende Visualisierungsplattform: Das Bedienpanel als Basis Marcel Bühner Schlagworte wie Industrie 4.0, IoT (Internet of Things), Automation in the

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Netzwerk Technologien in LabVIEW

Netzwerk Technologien in LabVIEW Netzwerk Technologien in LabVIEW von Dirk Wieprecht NI Germany Hier sind wir: Agenda Agenda Bedeutung des Ethernet für die Messtechnik Ethernet-basierende Technologien in LabVIEW Low Level- TCP/IP Objekt

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Ziele. 04.04.2006 Seite 2

Ziele. 04.04.2006 Seite 2 04.04.2006 Seite 1 Ziele Sie können die Vorteile von OPC benennen Sie kennen die wesentlichen Objekte eines OPC-Servers Sie können einen einfachen Client konfigurieren Sie kennen die DCOM-Einstellungen

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Grundlagen zum Internet. Dienste: Offene Schnittstellen der Automatisierung

Grundlagen zum Internet. Dienste: Offene Schnittstellen der Automatisierung Dienste Grundlagen zum Internet Dienste: Offene Schnittstellen der Automatisierung Systementwurf SE02 1 SS 05- Bra OPC - OLE for Process Control OPC - OLE for Process Control 1994 gründet Microsoft die

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

OPC OLE for Process Control

OPC OLE for Process Control OPC OLE for Process Control abacon group OPC OLE for Process Control abacon group. Wissen vernetzt Kompetenz in Individuallösungen. OPC Die passgenaue Kommunikation der Zukunft OLE for Process Control

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Beispiel droidremoteppt

Beispiel droidremoteppt Arthur Zaczek Nov 2014 1 Beispiel droidremoteppt 1.1 Beschreibung Powerpoint soll mit ein Android Handy über Bluetooth gesteuert werden Folien wechseln (Vor/Zurück) Folien am Handy darstellen Am Handy

Mehr

Web Services: Inhalt

Web Services: Inhalt Web Services Fachseminar Verteilte Systeme 8. April 2002 - Marco Steiner Assistent: Thomas Schoch Professor: Dr. F. Mattern Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP WSDL UDDI Vergleich

Mehr

Basistechnologien: Web-Services

Basistechnologien: Web-Services Alexander Rudolf Cloud-Computing Seminar Hochschule Mannheim WS0910 1/29 Basistechnologien: Web-Services Alexander Rudolf Hochschule Mannheim Fakultät für Informatik alexander.rudolf@stud.hs-mannheim.de

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000

Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,

Mehr

Business Process Execution Language. Christian Vollmer Oliver Garbe

Business Process Execution Language. Christian Vollmer <christian.vollmer@udo.edu> Oliver Garbe <oliver.garbe@udo.edu> Business Process Execution Language Christian Vollmer Oliver Garbe Aufbau Was ist BPEL? Wofür ist BPEL gut? Wie funktioniert BPEL? Wie sieht BPEL aus?

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

1 Wozu ein Performance Test?

1 Wozu ein Performance Test? Performance Test 1 Wozu ein Performance Test? 004 führte ein S7/S5 OPC-Server Hersteller einen Performance-Test durch, bei dem die Leistungsfähigkeit von S7 OPC-Servern acht verschiedener Hersteller (Applicom,

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Lösung Verteilte Systeme WS 2011/12 Teil 1

Lösung Verteilte Systeme WS 2011/12 Teil 1 Seite 1 von 5 Lösung Verteilte Systeme WS 2011/12 Teil 1 2.02.2012 1. Aufgabe (5) Sie fahren in Ihrem Privatfahrzeug auf einer Autobahn und hinter Ihnen fährt ein Polizeifahrzeug. 1.1 Nennen Sie ein Szenario,

Mehr

Java Batch Der Standard für's Stapeln

Java Batch Der Standard für's Stapeln Java Batch Der Standard für's Stapeln Berlin Expert Days 18.09.2015 Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld GEDOPLAN IT Consulting Konzeption und Realisierung von IT-Lösungen GEDOPLAN

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Systemmonitoring unter Linux

Systemmonitoring unter Linux Systemmonitoring unter Linux CPU-Counter B.Sc. Wirtsch.-Inform. Arno Sagawe, 29.06.10 Department of Informatics Scientifics Computing 1 Gliederung Systemmonitoring Protokolle und Dateien für das Systemmonitoring

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices WebServices Applikationen und Services Ralf Günther Consultant HP Services April, 2003 Ralf.Guenther@hp.com DECUS Symposium 2003, Vortrag 2L06 9.04.2003 Inhalt I. Blick zurück II. Was sind WebServices?

Mehr

Entwurfsmuster (Design Pattern) ETIS SS05

Entwurfsmuster (Design Pattern) ETIS SS05 Entwurfsmuster (Design Pattern) ETIS SS05 Gliederung Motivation Pattern allgemein Proxy-Pattern Zusammenfassung 2 Motivation I Wie gut sind eure Programme strukturiert? Wartbarkeit? - Verständlichkeit

Mehr

3 Anwendungsarchitektur und Entwicklungsumgebung

3 Anwendungsarchitektur und Entwicklungsumgebung 21 3 Anwendungsarchitektur und Bei den Entwicklern von Web-basierten Dialogsystemen hat sich im Laufe der Zeit eine Vorgehensweise im Design von Anwendungen entwickelt, dies es ermöglicht, flexible Web-Dialoge

Mehr

.NET und wieder eine Middleware Architektur?

.NET und wieder eine Middleware Architektur? .NET und wieder eine Middleware Architektur? Volker Birk CCC ERFA Ulm vb@ebios.de Volker Birk, vb@ebios.de 1 .NET na und?.net soll die Architektur im Internet werden meint Microsoft. Genau so wie Windows?.NET

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

JE Web Services. Hinweise. Beschreibung. Doku.-Version: 1.0 Letzte Änderung: 02.02.2011

JE Web Services. Hinweise. Beschreibung. Doku.-Version: 1.0 Letzte Änderung: 02.02.2011 Beschreibung Hinweise Doku.-Version: 1.0 Letzte Änderung: 02.02.2011 http://www.jacob-computer.de/kontakt.html software@jacob-elektronik.de Inhaltsverzeichnis 1. Inhaltsverzeichnis Hinweise... 1 1. Inhaltsverzeichnis...

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

CompuLok Zentrale. Software Interface. Digitalzentrale für DCC und Motorola Format

CompuLok Zentrale. Software Interface. Digitalzentrale für DCC und Motorola Format CompuLok Zentrale Software Interface Digitalzentrale für DCC und Motorola Format Inhalt CompuLok Software Interface... 3 Das Software Interface... 3 Installation... 3 Treiber installieren.... 3 Hinweis

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth SS 2005 Teil 16 RMI, DCOM, Webservices cs 1100 ww6 sch 05-97 Remote Method Invocation (RMI) JVM JVM Client Server Stub Java Remote Skeleton Method

Mehr

Client/Server-Programmierung

Client/Server-Programmierung lient/server-programmierung WS 2014/2015 etriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, üro: H- 8404 Stand: 15. Oktober 2015 etriebssysteme / verteilte Systeme

Mehr

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm Web Services Boto Bako Inhaltsverzeichnis 1.Einführung und Motivation...3 2.Verwendete Standards...4 2.1.SOAP...5 2.2.WSDL...6

Mehr

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Betriebswirtschaftliche Anwendungen 2: Serviceorientierte Anwendungsintegration Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Umrechnung von Währungen Steffen Dorn, Sebastian Peilicke,

Mehr

Technische Voraussetzungen Stand: 29. Juli 2014

Technische Voraussetzungen Stand: 29. Juli 2014 Technische Voraussetzungen Stand: 29. Juli 2014 FineSolutions AG Culmannstrasse 37 8006 Zürich Telefon +41 44 245 85 85 Telefax +41 44 245 85 95 support@finesolutions.ch Inhaltsverzeichnis 1 Einführung...

Mehr

theguard! ApplicationManager Open Monitor Datenkollektor (Custom DC)

theguard! ApplicationManager Open Monitor Datenkollektor (Custom DC) theguard! ApplicationManager Open Monitor Datenkollektor (Custom DC) Status: 8.12.2008 Inhalt Einleitung... 3 Die Leistungsmerkmale des ApplicationManager Open Monitor Datenkollektors... 4 Kundenspezifische

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr

DBUS Interprozess-Kommunikation für Embedded-Plattformen

DBUS Interprozess-Kommunikation für Embedded-Plattformen DBUS Interprozess-Kommunikation für Embedded-Plattformen Andreas Schwarz Neratec Solutions AG Firmenprofil Neratec Solutions AG Produkt-Entwicklungen für kundenspezifische elektronische Produkte Produkte

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Web Service Entwicklung mit Java. Sven Lindow

Web Service Entwicklung mit Java. Sven Lindow Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services

Mehr

Variablen manipulieren per JDI

Variablen manipulieren per JDI Variablen manipulieren per JDI Zusammenfassung Jede moderne Java IDE verfügt über eine mächtige und dennoch meist einfach zu bedienende Benutzeroberfläche die das finden von Fehlern in lokalen oder entfernt

Mehr

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Remote-Administration von eingebetteten Systemen mit einem Java-basierten Add-On-Modell

Remote-Administration von eingebetteten Systemen mit einem Java-basierten Add-On-Modell Remote-Administration von eingebetteten Systemen mit einem Java-basierten Add-On-Modell F. Burchert, C. Hochberger, U. Kleinau, D. Tavangarian Universität Rostock Fachbereich Informatik Institut für Technische

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

Compilerbau I Sommersemester 2008

Compilerbau I Sommersemester 2008 Fachbereich 12 Informatik und Elektrotechnik Programmiersprachen Kurt Sieber Benedikt Meurer Compilerbau I Sommersemester 2008 Übungsblatt 1 Aufgabe 1 Der erweiterte reguläre Ausdruck α{m, n erkennt zwischen

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Standardsoftware II. Klassifikation Schnittstellen

Standardsoftware II. Klassifikation Schnittstellen Standardsoftware II Schnittstellen zu ERP-Systemen Schnittstellen-1 Klassifikation Schnittstellen datenorientierte funktionale objektorientierte Schnittstellen-2 Was zeichnet eine Schnittstelle aus? Merkmale

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Marketing Update. Enabler / ENABLER aqua / Maestro II

Marketing Update. Enabler / ENABLER aqua / Maestro II Marketing Update Enabler / ENABLER aqua / Maestro II Quartal 01/2013 1 Kommentar des Herausgebers Liebe Kunden und Partner, dieser Marketing Update gibt Ihnen einen kurzen Überblick über die aktuell verfügbaren

Mehr

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume. Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens

Mehr

Military Air Systems

Military Air Systems Trennung von Applikationen unterschiedlicher Kritikalität in der Luftfahrt durch Software en am Beispiel des Real-time Operating Systems PikeOS Dr. Bert Feldmann DGLR Workshop Garching, 09.10.2007 Seite

Mehr

Ein einfacher Server. .NET Remoting. Klassentypen

Ein einfacher Server. .NET Remoting. Klassentypen Einführung - eine Klienten-Applikation kann mit einer Komponente interagieren die hinter einer Grenze liegt - Remoting ermöglicht eine Kommunikation von Komponenten Kontext-, Applikationsdomänen- (leichtgewichtiger

Mehr

Android Processes & Services

Android Processes & Services Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)

Mehr

Web Adressdatenbank mit ASP

Web Adressdatenbank mit ASP Web Adressdatenbank mit ASP 1 Einleitung 1.1 Vorwort Auf den nächsten paar Seiten will ich eine kleine Anleitung geben, wie man per ASP(Active Server Pages) auf eine MS Access Datenbank zugreifen kann.

Mehr

METTLER TOLEDO ETHERNET-Option

METTLER TOLEDO ETHERNET-Option Diese Anleitung beschreibt die Konfiguration und den Test der METTLER TOLEDO ETHERNET- Option für den Einsatz in einem Netzwerk. Die grundlegende Konfiguration der ETHERNET-Option ist über das Vision-Menü

Mehr

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Web-Content-Management-Systeme () dienen dazu, komplexe Websites zu verwalten und den Autoren einzelner Webseiten möglichst

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH USB in Embedded Systemen Referat von Peter Voser Embedded Development GmbH Embedded Development GmbH Engineering and Development System Engineering Hardware/Software Co-Design Embedded Software Entwicklung

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

Vorbereitung zu Praktikum 3

Vorbereitung zu Praktikum 3 Vorbereitung zu Praktikum 3 Menü-Toolkit und Command Pattern Fallstudie zu Vererbung und Polymorphie: "Menü-Toolkit" Anwenderfreundliche Programme werden mit Menüs gesteuert In objektorientierten Anwendungen

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

www.uni-math.gwdg.de/linuxuebung

www.uni-math.gwdg.de/linuxuebung 14 Netzwerküberwachung und -steuerung Überblick SNMP Simple Network Management Protocol Datendefinitionen SNMP Implementierungen unter Linux Kommandos zur Datenbeschaffung Konfiguration des Net-SNMP Agenten

Mehr

Effizientes Änderungsmanagement in Outsourcing- Projekten

Effizientes Änderungsmanagement in Outsourcing- Projekten Effizientes Änderungsmanagement in Outsourcing- Projekten Dr. Henning Sternkicker Rational Software IBM Deutschland GmbH Sittarder Straße 31 52078 Aachen henning.sternkicker@de.ibm.com Abstract: Es werden

Mehr

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

Mehr