Applikation zur Kommunikation - support.industry.siemens.com · OPC-Client in der...

23
Applikation zur Kommunikation OPC-Kommunikation über das SEND/RECEIVE- Protokoll mit einem Visual Basic .NET OPC-Client Einführung

Transcript of Applikation zur Kommunikation - support.industry.siemens.com · OPC-Client in der...

Applikation zur Kommunikation

OPC-Kommunikation über das SEND/RECEIVE-Protokoll mit einem Visual Basic .NET OPC-Client

Einführung

Gewährleistung, Haftung und Support

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 2/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Gewährleistung, Haftung und Support

Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr.

Unsere Haftung, gleich aus welchem Rechtsgrund, für durch die Verwen-dung der in diesem Dokument beschriebenen Beispiele, Hinweise, Pro-gramme, Projektierungs- und Leistungsdaten usw. verursachte Schäden ist ausgeschlossen, soweit nicht z.B. nach dem Produkthaftungsgesetz in Fäl-len des Vorsatzes, der grober Fahrlässigkeit, wegen der Verletzung des Lebens, des Körpers oder der Gesundheit, wegen einer Übernahme der Garantie für die Beschaffenheit einer Sache, wegen des arglistigen Ver-schweigens eines Mangels oder wegen Verletzung wesentlicher Vertrags-pflichten zwingend gehaftet wird. Der Schadensersatz wegen Verletzung wesentlicher Vertragspflichten ist jedoch auf den vertragstypischen, vorher-sehbaren Schaden begrenzt, soweit nicht Vorsatz oder grobe Fahrlässig-keit vorliegt oder wegen der Verletzung des Lebens, des Körpers oder der Gesundheit zwingend gehaftet wird. Eine Änderung der Beweislast zu Ih-rem Nachteil ist hiermit nicht verbunden.

Die Applikationsbeispiele sind unverbindlich und erheben keinen Anspruch auf Vollständigkeit hinsichtlich Konfiguration und Ausstattung sowie jegli-cher Eventualitäten. Sie stellen keine kundenspezifische Lösungen dar, sondern sollen lediglich Hilfestellung bieten bei typischen Aufgaben-stellungen. Sie sind für den sachgemäßen Betrieb der beschrieben Produk-te selbst verantwortlich. Diese Applikationsbeispiele entheben Sie nicht der Verpflichtung zu sicherem Umgang bei Anwendung, Installation, Betrieb und Wartung. Durch Nutzung dieses Applikationsbeispiels erkennen Sie an, dass Siemens über die oben beschriebene Haftungsregelung hinaus nicht für etwaige Schäden haftbar gemacht werden kann. Wir behalten uns das Recht vor, Änderungen an diesem Applikationsbeispiel jederzeit ohne Ankündigung durchzuführen. Bei Abweichungen zwischen den Vorschlä-gen in diesem Applikationsbeispiel und anderen Siemens Publikationen, wie z.B. Katalogen, hat der Inhalt der anderen Dokumentation Vorrang.

Copyright© 2005 Siemens A&D. Weitergabe oder Vervielfältigung die-ser Applikationsbeispiele oder Auszüge daraus sind nicht gestattet, soweit nicht ausdrücklich von Siemens A&D zugestanden. Bei Fragen zu diesem Beitrag wenden Sie sich bitte über folgende E-Mail-Adresse an uns:

mailto:[email protected]

Vorwort

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 3/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Vorwort

Ziel der Applikation Diese Beispielapplikation behandelt den Einsatz des SEND/RECEIVE-Protokolls mit dem SIMATIC NET OPC-Server. Dabei erfolgt die Kom-munikation des OPC-Servers mit der Steuerung über die Block- und Vari-ablendienste des SEND/RECEIVE -Protokolls.

Es wird demonstriert, wie ein auf individuelle Bedürfnisse zugeschnittener OPC-Client in der Programmiersprache Visual Basic .NET programmiert wird. Auch wird die Projektierung der PC-Station zur Verwendung des SI-MATIC NET OPC-Servers mit dem SEND/RECEIVE-Protokoll und Industri-al Ethernet erläutert. Damit können strukturierte Daten über die OPC-Schnittstelle übertragen werden.

Kerninhalte dieser Applikation Folgende Kernpunkte werden in dieser Applikation behandelt:

• Programmtechnischer Umgang mit den Kommunikationsdiensten des SEND/RECEIVE-Protokolls:

– Blockdienste (AG_SEND / AG_RECEIVE)

– Variablen-Dienste (FETCH / WRITE)

um größere Datenmengen zwischen PC und gemischten Automatisie-rungssystemen (z.B. SIMATIC S5 und SIMATICT S7) austauschen zu können.

• Projektierung des SEND/RECEIVE-Protokolls bei Verwendung von In-dustrial Ethernet

• Erstellung eines OPC-Clients mit graphischer Oberfläche

• Demonstration des Umgangs mit der Data Access Schnittstelle des OPC-Servers über das Custom Interface und Einbindung in das .NET-Framework mit dem OPC DA RC-Wrapper

• Aufzeigen des Vorgehens zur Implementierung eines aufgesetzten Quittierungsmechanismus (aufgesetztes Ebene 7-Protokoll)

Vorwort

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 4/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Aufbau des Dokuments Die Dokumentation der vorliegenden Applikation ist in drei Dokumente ge-gliedert:

• Einführung

• Erweiterung

• Demonstration Zusätzlich ist der STEP7-Code und der Visual Basic .NET-Code verfügbar.

Das erste, vorliegende Dokument, die Einführung, ist für Personen ge-dacht, die sich einen schnellen Überblick verschaffen wollen.

Teil Beschreibung Einführung Applikationsbeschreibung und Funktionsprinzipien

Hier erfahren Sie alles, um sich einen Überblick zu verschaffen. Sie lernen die verwendeten Kompo-nenten (Standard Hard- und Softwarekomponen-ten, sowie die eigens erstellte Anwender Software) kennen.

Erweiterung Funktionsprinzipien im Detail und Programm-strukturen

Hier wird auf die detaillierten Funktionsabläufe der beteiligten Hard- und Softwarekomponenten, die Lösungsstrukturen und wo sinnvoll auf die konkrete Implementierung dieser Applikation eingegangen. Sie benötigen diesen Teil, wenn Sie das Zusam-menspiel der Lösungskomponenten kennen lernen wollen, um diese z.B. als Basis für eigene Entwick-lungen zu verwenden.

Demonstration Aufbau, Projektierung und Bedienung der Applikation

Dieser Teil führt Sie Schritt für Schritt durch den Aufbau, wichtige Projektierungsschritte, Inbetrieb-nahme und Bedienung der Applikation.

Als weitere Komponente ist noch der S7-Programmcode verfügbar.

Teil Beschreibung

S7-Programmcode Der S7-Programmcode beinhaltet den Code und eine Bedienoberfläche, die auch als Vorführsystem geeignet ist.

Visual Basic .NET Code Beinhaltet die Programmdateien des OPC-Clients und das Visual Studio .NET Projekt.

Referenz zum Automation and Drives Service & Support Dieser Beitrag stammt aus dem Internet Applikationsportal des Automation and Drives Service & Support. Durch den folgenden Link gelangen Sie di-rekt zur Downloadseite dieses Dokuments.

http://support.automation.siemens.com/WW/view/de/21523291

Vorwort

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 5/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Inhaltsverzeichnis

Inhaltsverzeichnis......................................................................................................... 5

Applikationsbeschreibung........................................................................................... 6

1 Automatisierungsaufgabe ............................................................................. 6 1.1 Übersicht........................................................................................................... 6 1.2 Anforderungen .................................................................................................. 7

2 Automatisierungslösung ............................................................................... 8 2.1 Übersicht zur Gesamtlösung ............................................................................ 8 2.2 Beschreibung der Kernfunktionalität............................................................... 10 2.3 Benötigte Hard- und Software-Komponenten................................................. 15 2.4 Leistungseckdaten.......................................................................................... 17

Anhang und Literaturhinweise .................................................................................. 21

3 Glossar .......................................................................................................... 21

4 Literaturhinweise .......................................................................................... 23 4.1 Literaturangaben............................................................................................. 23 4.2 Internet-Link-Angaben .................................................................................... 23

ApplikationsbeschreibungAutomatisierungsaufgabe

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 6/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Applikationsbeschreibung

Inhalt Hier verschaffen Sie sich einen Überblick über die hier behandelte Automa-tisierungsaufgabe und ihre Lösung. Sie lernen die verwendeten Komponen-ten (Standard Hard- und Softwarekomponenten sowie die eigens erstellte Anwender Software) kennen.

Die dargestellten Leistungseckdaten zeigen die Leistungsfähigkeit der vor-liegenden Applikation.

1 Automatisierungsaufgabe

Hier erfahren Sie… welche Automatisierungsaufgabe in der vorliegenden Dokumentation the-matisiert wird.

1.1 Übersicht

Einführung/Einleitung Diese Applikation soll die Übertragung von größeren Datenmengen zwi-schen den heterogenen Partnern PC und Automatisierungssystem verdeut-lichen.

Überblick über die Automatisierungsaufgabe Folgendes Bild gibt einen Überblick über die Automatisierungsaufgabe. Abbildung 1-1

ApplikationsbeschreibungAutomatisierungsaufgabe

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 7/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Beschreibung der Automatisierungsaufgabe Durch Betätigung von Elementen auf der Bedienoberfläche wird das Steue-rungsprogramm auf der S7-CPU in seinem Verhalten beeinflusst.

So werden in der Steuerung Informationen (z.B. Istwerte, Aggregatszu-stände, etc.) erzeugt, die auf Visualisierungselementen der Bedienoberflä-che dargestellt werden. Anderseits wird es ermöglicht größere Datenmen-gen in die Steuerung zu schreiben.

Demonstriert wird das Prinzip an einer S7-CPU mit der blockorientierten und variablenorientierten Schnittstelle.

1.2 Anforderungen

Anforderungen an das Anwenderprogramm Das Anwenderprogramm soll zeigen wie

• der SIMATIC NET OPC-Server mittels Programmierung in Visual Basic .NET angesprochen werden kann um einzelne Variablen und Vari-ablenblöcke zu lesen oder zu schreiben.

• über den SIMATIC NET OPC-Server verschiedene Kommunikationsar-ten (blockorientiert, variablenorientiert) parallel benutzt werden können.

• blockorientiert und variablenorientiert Prozessdaten gelesen und ge-schrieben werden können.

• über eine einfache graphische Oberfläche projektierte Variabeln aufge-listet und angezeigt werden. Hierbei soll

– die S7 PC-Richtung nur angezeigt werden.

– in beide Richtungen gesendet werden.

• Mit Block- und Variablendiensten ein Ebene 7-Qutittungsmechanismus implementiert werden kann.

Sonstige Anforderungen • Anforderungen an die Entwicklungs-Sprache und Umgebung:

– Einsatz von Microsoft Visual Studio .NET.

– Einsatz der Programmiersprache Visual Basic .NET.

• Sonstige Anforderungen an die Anwendung:

– Zeitmessung für die blockorientierte Übertragung.

• Anforderungen bzgl. der Ankopplung an den Prozess

– Anbindung an die Prozessdaten über Industrial Ethernet sowie den SIMATIC NET OPC-Server V6.2.

– Nutzung des OPC-Data Access- Custom-Interfaces V2.05 mittels Runtime Callable Wrapper (RCW).

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 8/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

2 Automatisierungslösung

Hier erfahren Sie… welche Lösung für die Automatisierungsaufgabe gewählt wurde, welche Komponenten verwendet werden und welche Aufgaben die einzelnen Komponenten übernehmen.

2.1 Übersicht zur Gesamtlösung

Schema Die folgende Abbildung zeigt schematisch die wichtigsten Komponenten der Lösung: Abbildung 2-1

Beschreibung Aufbau Ein PG/PC wird über einen Hub an eine S7-300 Steuerung angeschlossen. Dabei wird eine CP 1613-Netzwerkkarte benutzt. Auf der Steuerungsseite befindet sich eine SIMATIC S7-300 mit dem CP 343-1 sowie einer CPU 315-2DP.

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 9/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Beteiligte Softwarekomponenten Folgendes Bild zeigt die beteiligten Softwarekomponenten ( kennzeich-net die in dieser Applikation erstellte Softwarekomponente): Abbildung 2-2

Anwenderprogramm im PC/ PG Das Anwenderprogramm im PC/PG stellt folgende Elemente zur Verfü-gung:

• Eine einfache graphische Benutzeroberfläche zur Steuerung des Bei-spiels. Hierbei werden die Variablen der S7-Programmes angezeigt und es wird ein Verbinden und Trennen des Servers ermöglicht.

• Einige Variablen für die B&B (Bedienen und Beobachten) Funktionen über die Send / Receive Variablendienste (FETCH / WRITE) lesen und schreiben können.

• Eine Möglichkeit zur Verfügung, um große Datenmengen über die Blockorientierten SR-Dienste

– von der CPU in Datenstrukturen auf dem PC zu schreiben. Eine weitere Speicherung der Daten ist hier nicht Kernfokus.

– vom PC in Datenbausteine (DB) auf der CPU zu schreiben (z.B. Rezeptdaten).

• Für beide Fälle eine Ebene 7 Quittung zur Flusssteuerung.

Anwenderprogramm in der S7-CPU Das STEP 7 Programm in der S7-CPU

• simuliert die Werte, die vom PC empfangen werden sollen.

• strukturiert die Einzelvariablen zu performanten Strukturen, die dann auf die OPC-Items abgebildet werden können und stößt die entspre-chenden SR-Bausteinaufrufe an (nur für blockorientierte Übertragung notwendig).

• generiert die nötigen Telegrammstrukturen für die bidirektionale Über-tragung großer Datenmengen.

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 10/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

2.2 Beschreibung der Kernfunktionalität

Kernfocus der Applikation Der Focus dieser Applikation liegt steuerungsseitig auf der Verwendung verschiedener Verbindungen für das Lesen und Schreiben von Prozessva-riablen. Dies können einzelne Variablen und ganze Datenblöcke sein. Da-für wird das SEND/RECEIVE-Protokoll (S5-kompatible Kommunikation) eingesetzt. Somit wird eine Nutzung mit heterogenen Automatisierungssys-temen ermöglicht.

Der PC-seitige Zugriff auf die Prozessvariablen erfolgt über OPC-Items. Über die OPC-Items wird festgelegt, welcher Dienst für den Datenaus-tausch genutzt wird. Es können folgende Dienste genutzt werden:

• Lesen einzelner Variablen über den Variablendienst FETCH

• Schreiben einzelner Variablen über den Variablendienst WRITE

• Lesen von Datenblöcken über den Blockdienst RECEIVE

• Schreiben von Datenblöcken über den Blockdienst SEND

Aus diesem Grund ist die Oberfläche der Anwendung in folgende wesentli-che Bereiche unterteilt, die im nächsten Abschnitt beschrieben werden.

Übersicht der Oberfläche Abbildung 2-3:

1

2

3

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 11/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Beschreibung der Oberfläche Tabelle 2-1

Nr. Beschreibung Bild 1 Verbindung (Connection)

• Verbindungsauf- und -abbau zum lokal installierten OPC SIMATIC NET Server.

• Update-Rate (Aktualisierungsrate) ein-stellen

Hinweis: Das Einstellen der Aktualisierungsrate ist nur möglich, bevor eine Verbindung zum Server aufgebaut wurde.

2 Variablen (Variables) • Lesen mit Variablendiensten (FETCH) • Schreiben mit Variablendiensten (WRI-

TE) Hinweis: Mit der Auftragsart FETCH ist ein direkter Zugriff auf Objekte wie Eingänge, Ausgän-ge, Datenbausteine, Merker und Zähler möglich. Die FETCH- bzw. WRITE-Aufträge erfolgen über einen asynchronen Read bzw. syn-chronen Write.

3 Block • Lesen mit Blockdiensten (RECEIVE) • Schreiben mit Blockdiensten (SEND) Hinweis: Es können nur gültige Daten eingetragen werden. Die beiden Buttons („PC S7“ und „S7 PC“) sind für die Dauer der jeweiligen Ope-ration deaktiviert.

4 Sprachumschaltung

• Rechtsklick auf Dialogoberfläche er-möglicht die Sprachauswahl „Deutsch“ oder „Englisch“

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 12/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Variablendiente - Lesen und Schreiben einzelner Variablen Die Oberfläche bietet die Möglichkeit drei Variablen Werte zu lesen und zu schreiben. Dabei gilt:

• Jede dieser drei Variablen wird für die zwei unterschiedlichen Verbin-dungen FETCH und WRITE in einer OPC-Gruppe passiv angelegt.

• Über den Button „Fetch“ und den Button „Write“ wird ein asynchroner Read bzw. synchroner Write mit den entsprechenden Items ausgeführt.

Blockdienste - Lesen und Schreiben eines Datenblocks Folgende Punkte betreffen die Blockdienste:

Datenfluss PC S7 Abbildung 2-4

Tabelle 2-2

Nr. Beschreibung 1 Im PC wird über die Oberfläche ein zu sendendes Datum eingetragen und

leicht modifiziert zu einem Array mit einem Telegrammkopf an die S7 ge-sendet.

2 Die S7-CPU empfängt die Daten, durch ständiges Abfragen (Pollen) einer Variablen.

3 Die S7-CPU speichert die empfangenen Daten in einem DB. 4 Die S7 sendet Quittung an PC. 5 PC empfängt das Quittungstelegramm der S7 durch Polling einer Variab-

len.

Hinweis Die Oberfläche verriegelt den „PC S7“ - Button, solange der Auftrag läuft.

Hinweis Der OPC-Client darf gleichzeitig ein FETCH oder WRITE absetzen.

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 13/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Datenfluss S7 PC Abbildung 2-5

Tabelle 2-3

Nr. Beschreibung 1 Der PC stößt in der S7 mit einer passiven und synchronen WRITE-

Variablen das Senden der S7-CPU an. 2 Die S7 generiert ein Telegramm aus Kopf- und Nutzdaten. 3 Das Telegramm wird an den PC gesendet. 4 Im PC wartet das Programm auf eine Variable durch Polling, sobald die

Daten empfangen wurden, werden sie entpackt und angezeigt. 5 Es wird eine Empfangsquittung an die S7 über eine eigene Verbindung

geschickt.

Hinweis Die Oberfläche verriegelt den „S7 PC“ - Button, solange der Auftrag läuft.

Hinweis Der OPC-Client darf gleichzeitig ein FETCH oder WRITE absetzen.

Messen der Zeitdauer Es wird immer die Zeitdauer gemessen, die eine Datenübertragung inklusi-ve Quittierung benötigt. Diese Zeitdauer wird in der entsprechenden Vari-ablen hinterlegt und angezeigt. Dabei wird nur bei Send / Receive gemes-sen. Es wird ein Mittelwert über die Zeitdauer der jeweiligen Übertragung errechnet und angezeigt. Hiermit ist eine Leistungsabschätzung möglich.

Hinweis Die erste Übertragung wird nicht mit berücksichtigt, da diese im Vergleich zu allen anderen Übertragungen überdurchschnittlich lange benötigt und so zu einer Verfälschung des Messergebnisses führen würde.

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 14/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Implementierung Die Implementierung von OPC-Clients unter .NET unterscheidet sich kaum von der Implementierung unter C++, da weiterhin die COM - Mechanismen beachtet werden müssen.

Jedoch ist die Implementierung einer .NET - Oberfläche deutlich schneller zu bewerkstelligen als eine vergleichbare Implementierung mit C++.

Operationen auf Bitebene wie sie z.B. bei dem Entpacken von Receive-Variablen durchzuführen sind, sind mit C++ oder C# einfacher. Aus diesem Grund wird in dieser Applikation eine Konvertierungsbibliothek (Conv.dll) benutzt. Diese stellt die Funktionen für die Bitoperationen in C# zur Verfü-gung.

Fehlerhandling Den markantesten Unterschied zwischen .NET und C++ stellt das Fehler-handling dar.

Anstatt wie üblich „HRESULT“, also COM - Rückgabewerte abzufragen, wird ein Exception-Handling realisiert.

Vorteile des Fehlerhandlings Dies hat, in Verbindung mit der automatisierten „Garbage Collection“, fol-gende Vorteile:

• Es wird kein Fehler mehr übersehen

• Einfacher lesbarer Code

• Einheitliches Fehlerhandling innerhalb des OPC-Clients

• Möglichkeit der Einführung von Fehlerhierarchien durch Implementie-rung eigener Exception-Klassen

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 15/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

2.3 Benötigte Hard- und Software-Komponenten

Hardware-Komponenten, S7 Seite Tabelle 2-4

Komponente Anz. MLFB/Bestellnummer Hinweis PS307 5A 1 6ES7 307-1EA00-0AA0 CPU 315-2DP 1 6ES7 315-2AG10-0AB0 MMC-Karte erfor-

derlich CP 343-1 1 6GK7 343-1EX20-0XE0 Handelsüblicher Hub 1 Abhängig vom Produkt

Hardware-Komponenten, PC Seite Tabelle 2-5

Komponente Anz. MLFB/Bestellnummer Hinweis Power PG 1 6ES7 751-0BA21-0LB3 Incl. STEP 7

Oder anderer Industrie PC

Netzwerkkarte CP 1613 1 6GK1161-3AA01

Standard Software-Komponenten Tabelle 2-6

Komponente Anz. MLFB/Bestellnummer

Hinweis

STEP 7 V5.3 SP1 1 6ES7810-4CC07-0YA5 Im Power-PG bereits enthalten

SCL V5.3 1 6ES7811-1CC05-0YA5 SIMATIC NET IE S7-1613 V6.2 (SP1) mit: • OPC-RCW • OPC-Server

1 6GK1716-1CB62-3AA0 OPC-RCW und OPC-Server sind kostenfrei enthalten. Enthält das benötigte .NET-Framework V1.1

Visual Studio 2003 mit .NET-Framework V1.1 oder höher

1 Abhängig vom Produkt Optional, benötigt für Anpassungen.

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 16/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Beispieldateien und Projekte Die folgende Liste enthält alle Dateien und Projekte, die in diesem Beispiel verwendet werden. Tabelle 2-7

Komponente Hinweis 21523291_OPC_SR_STEP7_v10.zip Die Datei enthält das archivierte STEP

7-Projekt und das zugehörige S7-Programm.

21523291_OPC_SR_CODE_v10.zip

Visual Basic .NET Programm: OPC-Client (Benutzeroberfläche) und die Source-Code-Dateien der Benutzerober-fläche.

21523291_OPC_SR_Introduction_ DOKU_v10_d.pdf

Applikationsbeschreibung und Funkti-onsprinzipien

21523291_OPC_SR_Extension_ DOKU_v10_d.pdf

Funktionsprinzipien im Detail und Pro-grammstrukturen.

21523291_OPC_SR_Demonstration_DOKU_v10_d.pdf

Aufbau, Projektierung und Bedienung

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 17/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

2.4 Leistungseckdaten

Hardware In den nachfolgenden Tabellen werden die Leistungseckdaten der verwen-deten SIMATIC Hardware-Komponenten und die Größenordnung der Über-tragungszeiten (Beispielmesswerte) genannt. Die in der Applikation ver-wendeten Komponenten sind rot umrandet.

SIMATIC NET CP 343-1 (343-1EX20-0XE0) Tabelle 2-8

Kriterium Leistungseckdaten Übertragungsrate 10 Mbit/s oder 100 Mbit/s Schnittstellen 10BaseT,100BaseTX: RJ45 Leistungsdaten: S5-kompatible Kommunikation (SEND/RECEIVE)

Summe aller gleichzeitig betreibbaren TCP/UDP - Verbindun-gen: max.16 Anzahl Nutzdaten • TCP: 8 KByte • UDP: 2 KByte S7-Kommunikation: Anzahl Verbindungen: max.16 PG/OP-Kommunikation: Anzahl betreibbarer OP-Verbindungen (azyklische Diens-te):16 Multiprotokollbetrieb: Summe aller gleichzeitig betreibbaren Verbindungen max.: 32

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 18/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

SIMATIC NET CP 1613 (6GK1161-3AA00) Tabelle 2-9

Kriterium Leistungseckdaten Übertragungsraten: 10 Mbit/s oder 100 Mbit/s Schnittstellen 15polige Sub-D-Buchse (10/100 Mbit/s)

10BaseT, 100 BaseTX RJ-45 Leistungsdaten (Monoprotokollbe-trieb):

S7-Kommunikation Anzahl betreibbarer Verbindungen: 160 SEND/RECEIVE Anzahl betreibbarer Verbindungen: 160 PG-Funktionen Anzahl betreibbarer Verbindungen: 1

Applikationssoftware In nachfolgender Tabelle werden verschiedene Aspekte bezüglich blockori-entierter und variablenorientierter Kommunikation bewertet. Tabelle 2-10

Kriterium Blockorientierte Diens-te

AG_SEND/AG_RECV

Variablenorientierte Dienste

FETCH /WRITE

Fehlerhandling ++ ++ Implementierungsaufwand O + Performance ++ + Datendurchsatz ++ O Flexibler Zugriff - ++ Heterogene Kommunikati-onspartner (z.B. SIMATIC S5)

++ ++

Messdaten Nachfolgend werden die durchschnittlichen Übertragungszeiten von der Steuerung zum PC und umgekehrt graphisch dargestellt.

Messmethode Ermittelt wurde in nachfolgenden Diagrammen die durchschnittliche Über-tragungszeit in Abhängigkeit der Datenmengen.

In der Applikation wird diese Durchschnittszeit seit Übertragungsbeginn („Verbinden“) ermittelt und dargestellt. Gemessen wird in beiden Richtun-gen jeweils am PC.

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 19/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Hinweis Die erste Übertragung wird in der Applikation zur Ermittlung und Anzeige der Durchschnittszeit nicht mit berücksichtigt, da diese im Vergleich zu allen anderen Übertragungen überdurchschnittlich lange benötigt und so zu einer Verfälschung des Messergebnisses führen würde.

Hinweis Die angegebenen Messwerte können hardware- und softwareabhängige

Schwankungen (PC, Netzwerk und Infrastruktur) aufweisen. Deshalb kann es sein, dass Ihre Ergebnisse von nachfolgend dargestellten Wer-ten abweichen.

Durchschnittliche Übertragungszeiten von der Steuerung zum PC Die gemessene Zeitdauer entspricht in Abbildung 2-5 den Punkten 1-4. Abbildung 2-6

S7 => PC

0

100

200

300

400

500

600

0,5 2 4 6 8

Datenmenge in kByte

Übe

rtra

gung

szei

t in

ms

Applikationsbeschreibung

Automatisierungslösung

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 20/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Durchschnittliche Übertragungszeiten vom PC zur Steuerung Die gemessene Zeitdauer entspricht in Abbildung 2-4 den Punkten 1-5. Abbildung 2-7

PC => S7

0

100

200

300

400

500

600

0,5 2 4 6 8

Datenmenge in kByte

Übe

rtra

gung

szei

t in

ms

Wie man den Graphen entnehmen kann, wird das erwartete Ergebnis bes-tätigt, da die Übertragungszeit nahezu linear mit zunehmender Datenmen-ge ansteigen.

Anhang und Literaturhinweise

Glossar

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 21/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

Anhang und Literaturhinweise

3 Glossar

COM Component Object Modell: Software-Modell zur Kommunikation zwischen Komponenten, das auf einer einheitlichen Schnittstelle aufsetzt; DCOM

DCOM Distributed Object Modell: Software-Modell zur Kommunikation über Rech-nergrenzen hinweg, welches auf COM aufsetzt.

Eventhandler Ein Eventhandler bearbeitet aufgetretene Ereignisse bzw. Windows-Nachrichten.

Exception Unter einer Exception versteht man eine Ausnahmesituation. Diese kann entweder vom Betriebssystem (z.B. Division by zero) oder vom Anwenderprogramm generiert werden.

Exception-Handler Ein Exception-Handler bearbeitet aufgetretene Ausnahmesituationen. Dies ist in der Regel ein gesichertes Fehlverhalten und/oder eine Nachricht an den Nutzer.

HRESULT Rückgabe-Datentyp von COM-Objekten.

IDL Interface Definition Language: Eine von Microsoft standardisierte Sprache zur Definition von Funktions- und Parameter-Schnittstellen.

OPC OLE for Process Control. Eine für den Automatisierungsbereich geschaffe-ne Standardisierung zur Prozesssteuerung. Gepflegt von der OPC - Foun-dation. Es sind mehrere Schnittstellen mit unterschiedlichem Aufgabenbe-reich vorhanden.

OPC-Client Ein Programm, das die Dienste eines OPC-Servers in Anspruch nimmt, in-dem es Anfragen an den Server mittels einer der vorhandenen OPC Schnittstellen stellt.

Anhang und Literaturhinweise

Glossar

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 22/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

OPC DA OPC Data Access Schnittstelle. Die Schnittstelle ermöglicht das Beobach-ten und Verändern von Prozesswerten.

OPC-Server Ein Programm, das eine der OPC Schnittstellen zur Verfügung stellt und auf Anfragen eines OPC-Clients Antwortet.

Polling Englischer Begriff, mit dem das (meist zyklische) Abfragen bestimmter Werte oder Zustände gemeint ist.

RCW Runtime Callable Wrapper. Eine Hülle (siehe Wrapper), die eine Custom Schnittstelle für das .NET Framework kapselt. Durch den RCW werden äl-tere COM Schnittstellen für das .NET Framework zugänglich.

Sink-Interface Mit Hilfe des Sink-Interfaces können Nachrichten zwischen Komponenten gesendet werden. Das Sink-Interface setzt auf COM-Mechanismen auf.

Windows-Nachricht In den gängigen Microsoft Windows Betriebssystemen werden zur Mit-teilung von Ereignissen, z.B. das Paint-Ereignis, Nachrichten ausgetauscht.

Wrapper Als „Wrapper“ wird in der Regel ein Klassenverbund bezeichnet, der an-dere Klassenverbände zur Datenkonvertierung oder leichteren Verwendung kapselt. Er kann somit als „Hülle“ gesehen werden, der die „gewrappten“ Klassen umschließt und nach außen verbirgt.

Anhang und Literaturhinweise

Literaturhinweise

OPC mit SEND/RECEIVE-Protokoll, Beitrags-ID: 21523291

V1.0 02.05.05 23/23

Cop

yrig

ht ©

Sie

men

s A

G 2

005

All

right

s re

serv

ed

2152

3291

_OP

C_S

R_I

ntro

duct

ion_

DO

KU

_v10

_d.d

oc

4 Literaturhinweise

4.1 Literaturangaben

Diese Liste ist keinesfalls vollständig und spiegelt nur eine Auswahl an ge-eigneter Literatur wieder.

Tabelle 4-1

Themengebiet Titel /1/ STEP7 Automatisieren mit STEP7 in AWL und SCL

Hans Berger Publicis MCD Verlag ISBN 3-89578-113-4

/2/ .NET Inside C#, Tom Archer .NET Crashkurs, Clemens Vasters, Oellers, Javidi, Jung, Freiberger, DePetrillo Microsoft .NET Framework Programmierung, Jeffrey Richter

/3/ Handbuch zur Indus-triellen Kommunikation auf PG/PC mit SIMA-TIC NET.

SIMATIC NET – Industrielle Kommunikation mit PG/PC Band 1 Grundlagen Band 2 Schnittstellen Wird von SIMATIC NET installiert, siehe: Start SIMATIC Dokumentation Deutsch Im Produktsupport unter der Beitrags ID: 12044387

4.2 Internet-Link-Angaben

Diese Liste ist keinesfalls vollständig und spiegelt nur eine Auswahl an ge-eigneter Literatur wieder.

Themengebiet Titel \1\ Referenz auf

den Beitrag http://support.automation.siemens.com/WW/view/de/21523291

\2\ Siemens A&D Customer Sup-port

http://support.automation.siemens.com

\3\ OPC OPC DA 2.05a Specification unter http://www.opcfoundation.org/