Sie sind auf Seite 1von 458

SIMATIC NET

Einführung OPC-Server für SIMATIC NET

Handbuch

1 Übersicht OPC-Server für SIMATIC NET

2 Schnelleinstieg

3 Grundlagen von OLE

4 Grundlagen von OPC

5 Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

6 Eigenschaften des OPC Event Servers für SIMATIC NET

7 Konfiguration des OPC Servers für SIMATIC NET

8 Konfiguration über Dateien

9 DCOM mit dem OPC-Server für SIMATIC NET

10 Die OPC-Custom-Schnittstelle für Data Access

11 Die OPC-Automation-Schnittstelle für Data Access

12 Die OPC-Custom-Schnittstelle für Alarms & Events

13 Wo Sie Hilfe bekommen

14 Glossar

A SIMATIC Computing

6GK1971-0BA00-0AA0 Ausgabe 3

SIMATIC NET ist eine Marke von Siemens


Siemens Aktiengesellschaft
Wir haben den Inhalt der Druckschrift auf Überein- Weitergabe sowie Vervielfältigung dieser Unterlage,
stimmung mit der beschriebenen Hard- und Software Verwertung und Mitteilung ihres Inhalts nicht gestattet,
geprüft. Dennoch können Abweichungen nicht aus- soweit nicht ausdrücklich zugestanden. Zuwider-
geschlossen werden, so daß wir für die vollständige handlungen verpflichten zu Schadenersatz. Alle
Übereinstimmung keine Gewähr übernehmen. Die Rechte vorbehalten, insbesondere für den Fall der
Angaben in der Druckschrift werden jedoch regelmä- Patenterteilung oder GM-Eintragung.
ßig überprüft. Notwendige Korrekturen sind in den
nachfolgenden Auflagen enthalten. Für Verbesse-
rungsvorschläge sind wir dankbar. 6GK1971-0BA00-0AA0
Copyright © Siemens AG 1997
Technische Änderungen vorbehalten. All Rights Reserved

We have checked the contents of this manual for The reproduction, transmission or use of this docu-
agreement with the hardware described. Since devia- ment or its contents is not permitted without express
tions cannot be precluded entirely, we cannot guar- written authority. Offenders will be liable for damages.
antee full agreement. However, the data in this man- All rights, including rights created by patent grant or
ual are reviewed regularly and any necessary correc- registration of a utility or design, are reserved.
tions included in subsequent editions. Suggestions
for improvement are welcome. 6GK1971-0BA00-0AA0
Copyright © Siemens AG 1997
Technical data subject to change. All Rights Reserved

Nous avons vérifié la conformité du contenu du Toute communication ou reproduction de ce support


présent manuel avec le matériel et le logiciel qui y d'informations, toute exploitation ou communication de
sont décrits. Or, des divergences n'étant pas ex- son contenu sont interdites, sauf autorisation ex-
clues, nous ne pouvons pas nous porter garants pour presse. Tout manquement à cette règle est illicite et
la conformité intégrale. Si l'usage du manuel devait expose son auteur au versement de dommages et
révéler des erreurs, nous en tiendrons compte et intérêts. Tous nos droits sont réservés, notamment
apporterons les corrections nécessaires dès la pro- pour le cas de la délivrance d'un brevet ou celui de
chaine édition. Veuillez nous faire part de vos sug- l'enregistrement d'un modèle d'utilité.
gestions.
6GK1971-0BA00-0AA0
Nous nous réservons le droit de modifier les caracté- Copyright © Siemens AG 1997
ristiques techniques. All Rights Reserved

Siemens Aktiengesellschaft Elektronikwerk Karlsruhe


Printed in the Federal Republik of Germany
SIMATIC NET
Einführung OPC-Server für SIMATIC NET

Handbuch C79000-B8900-C126/3
Hinweis

Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung,
Zusage oder eines Rechtsverhältnisses ist oder diese abändern soll. Sämtliche Verpflichtungen von Siemens ergeben sich
aus dem jeweiligen Kaufvertrag, der auch die vollständige und allein gültige Gewährleistungsregel enthält. Diese
vertraglichen Gewährleistungsbestimmungen werden durch die Ausführungen dieser Betriebsanleitung weder erweitert
noch beschränkt.

Wir weisen außerdem darauf hin, daß aus Gründen der Übersichtlichkeit in dieser Betriebsanleitung nicht jede nur
erdenkliche Problemstellung im Zusammenhang mit dem Einsatz dieses Gerätes beschrieben werden kann. Sollten Sie
weitere Informationen benötigen oder sollten besondere Probleme auftreten, die in der Betriebsanleitung nicht ausführlich
genug behandelt werden, können Sie die erforderliche Auskunft über die örtliche Siemens-Niederlassung anfordern.

Allgemeines
Dieses Gerät wird mit Elektrizität betrieben. Beim Betrieb elektrischer Geräte stehen zwangsläufig
bestimmte Teile dieser Geräte unter gefährlicher Spannung.

WARNUNG !
Bei Nichtbeachtung der Warnhinweise können deshalb schwere Körperverletzungen und/oder
! Sachschäden auftreten.

Nur entsprechend qualifiziertes Personal sollte an diesem Gerät oder in dessen Nähe arbeiten.
Dieses Personal muß gründlich mit allen Warnungen und Instandhaltungsmaßnahmen gemäß dieser
Betriebsanleitung vertraut sein.

Der einwandfreie und sichere Betrieb dieses Gerätes setzt sachgemäßen Transport, fachgerechte
Lagerung und Montage sowie sorgfältige Bedienung und Instandhaltung voraus.

Anforderung an die Qualifikation des Personals

Qualifiziertes Personal im Sinne dieser Betriebsanleitung bzw. der Warnhinweise sind Personen, die mit Aufstellung,
Montage, Inbetriebsetzung und Betrieb dieses Produktes vertraut sind und über die ihrer Tätigkeit entsprechenden
Qualifikation verfügen, wie zum Beispiel:

− Ausbildung oder Unterweisung bzw. Berechtigung, Stromkreise und Geräte bzw. Systeme gemäß den aktuellen
Standards der Sicherheitstechnik ein- und auszuschalten, zu erden und zu kennzeichnen

− Ausbildung oder Unterweisung gemäß an den aktuellen Standards der Sicherheitstechnik in Pflege und Gebrauch
angemessener Sicherheitsausrüstungen

− Schulung in Erster Hilfe

Siemens Aktiengesellschaft Elektronikwerk Karlsruhe


Printed in the Federal Republik of Germany
Inhaltsverzeichnis

Inhaltsverzeichnis

1 Übersicht OPC-Server für SIMATIC NET..................................................................13


1.1 OPC-Schnittstelle ...........................................................................................14
1.2 OPC-Server, OPC-Server für SIMATIC NET ..................................................16
1.3 Vorteile des OPC-Servers ..............................................................................18
1.4 Notwendige Vorkenntnisse .............................................................................19
1.5 Wegweiser durch die Dokumentation..............................................................20
2 Schnelleinstieg .........................................................................................................21
2.1 Inbetriebnahme des unterlagerten Kommunikationssystems...........................22
2.1.1 Inbetriebnahme des DP-Protokolls..................................................................23
2.1.2 Inbetriebnahme des S7-Protokolls ..................................................................24
2.1.3 Inbetriebnahme des S7-Protokolls für Alarms & Events..................................26
2.1.4 Inbetriebnahme des FMS-Protokolls ...............................................................27
2.1.5 Inbetriebnahme des Send/Receive-Protokolls für Industrial Ethernet ..............29
2.1.6 Inbetriebnahme des Send/Receive-Protokolls für PROFIBUS (FDL)...............31
2.1.7 Inbetriebnahme des DP-Slave........................................................................33
2.2 Simulationsverbindungen des OPC-Servers...................................................34
2.2.1 Arbeiten mit der Simulationsverbindung .........................................................35
2.3 Beschreibung des Schnelleinstiegs.................................................................36
2.4 Durchführung des Schnelleinstiegs.................................................................37
3 Grundlagen von OLE................................................................................................39
3.1 COM als Basis für OPC..................................................................................40
3.2 Objekte und Schnittstellen ..............................................................................41
3.3 Standarddarstellung für Objekte in OLE..........................................................43
3.4 Objektsteuerung über das Automation Interface .............................................44
4 Grundlagen von OPC ...............................................................................................45
4.1 Die Rolle von OLE in OPC .............................................................................46
4.2 Die OPC Spezifikationen ................................................................................47
4.3 Die zwei Schnittstellenarten von OPC ............................................................48
4.4 Das Klassenmodell von OPC Data Access .....................................................50
4.5 Das Prinzip von OPC Alarms & Events ..........................................................52
4.6 Mengenoperationen........................................................................................55
4.7 Die Client-Server-Architektur von OPC...........................................................56
4.8 Begriffe der OPC-Schnittstellenbeschreibung .................................................58
5 Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle...............63

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 5
Inhaltsverzeichnis

5.1 Allgemeingültige Aussagen.............................................................................64


5.2 DP-Protokoll ...................................................................................................66
5.2.1 Angaben für das DP-Protokoll ........................................................................66
5.2.2 Syntax von Variablennamen für DP................................................................67
5.2.3 Syntax von Variablennamen für DPC1-Zugriff ................................................70
5.2.4 DP-spezifische Informationsvariablen.............................................................72
5.3 S7-Protokoll....................................................................................................76
5.3.1 Angaben für das S7-Protokoll .........................................................................76
5.3.2 Syntax von Variablennamen für S7 (Variablendienste) ...................................79
5.3.3 Syntax von Variablennamen für blockorientierte Dienste ................................82
5.3.4 Syntax von Variablennamen für Meldungen ...................................................85
5.3.5 S7-spezifische Informationsvariablen .............................................................89
5.3.6 Sondervariablen für Domain- und Paßwortdienste..........................................93
5.4 FMS-Protokoll ..............................................................................................100
5.4.1 Angaben für das FMS-Protokoll ....................................................................100
5.4.2 Syntax von Variablennamen für FMS ...........................................................103
5.4.3 FMS-spezifische Informationsvariablen ........................................................105
5.4.4 FMS Serververbindung ................................................................................109
5.5 Send/Receive – Protokoll über Industrial Ethernet ........................................110
5.5.1 Angaben für das Send/Receive-Protokoll .....................................................110
5.5.2 Syntax von Variablennamen für SR..............................................................114
5.5.3 SR-spezifische Informationsvariablen...........................................................120
5.6 Send/Receive – Protokoll über PROFIBUS (FDL) ........................................121
5.6.1 Angaben für das Send/Receive-Protokoll über PROFIBUS (FDL).................121
5.6.2 Syntax von Variablennamen für FDL ............................................................125
5.6.3 FDL-spezifische Informationsvariablen .........................................................129
5.7 DPS-Protokoll...............................................................................................131
5.7.1 Angaben für das DPS-Protokoll ....................................................................131
5.7.2 Syntax von Variablennamen für DPS ...........................................................132
5.8 Symbolische Variablenbezeichnungen (Aliases) ...........................................136
6 Eigenschaften des OPC Event Servers für SIMATIC NET ...................................137
6.1 Allgemeine Informationen.............................................................................138
6.2 S7-Protokoll..................................................................................................139
6.2.1 Ereignisse und Parameter ............................................................................140
6.2.2 Ereignisattribute ...........................................................................................142
7 Konfiguration des OPC-Servers für SIMATIC NET ...............................................147
7.1 Allgemeine Informationen.............................................................................148
7.2 Allgemeine Einstellungen für alle Protokolle .................................................149
7.3 Protokollspezifische Einstellungen für DP.....................................................151
7.4 Protokollspezifische Einstellungen für S7 .....................................................153
7.5 Protokollspezifische Einstellungen für FMS ..................................................156
7.6 Protokollspezifische Einstellungen für Send/Receive....................................160
7.7 Protokollspezifische Einstellungen für FDL ...................................................162
7.8 Protokollspezifische Einstellungen für DPS ..................................................164
7.9 Protokollspezifischer Trace...........................................................................166

Einführung OPC-Server für SIMATIC NET


6 6GK1971-0BA00-0AA0
Inhaltsverzeichnis

7.10 OPC-Server beenden ...................................................................................168


7.11 Symbolik für den OPC-Server für SIMATIC NET..........................................169
7.11.1 Die Symboldatei mit STEP7 - Symbolik........................................................170
7.11.2 Erstellung einer Symboldatei mit STEP 7-Symbolik......................................172
7.11.3 Eingabe zusätzlicher Symbole......................................................................175
7.11.4 Verwendung der Symbole in OPC ................................................................177
8 Konfiguration über Dateien....................................................................................179
8.1 Konfigurationsdateien...................................................................................180
8.2 Konfiguration der Zugriffsrechte ...................................................................181
8.3 DP-Protokoll .................................................................................................183
8.3.1 Allgemeine Protokollkonfiguration ................................................................184
8.3.2 Baugruppenspezifische Konfiguration...........................................................185
8.3.3 Slavekonfiguration........................................................................................187
8.3.4 Definition symbolischer Namen ....................................................................188
8.3.5 Konfiguration der DP Demoverbindung ........................................................189
8.4 S7-Protokoll..................................................................................................191
8.4.1 Allgemeine Protokollkonfiguration ................................................................192
8.4.2 Verbindungsspezifische Konfiguration ..........................................................194
8.4.3 Definition symbolischer Namen ....................................................................197
8.4.4 Einstellungen für S7 Meldungen ...................................................................198
8.4.5 Konfiguration der S7 Demo-Verbindung .......................................................199
8.5 FMS-Protokoll ..............................................................................................200
8.5.1 Allgemeine Protokollkonfiguration ................................................................201
8.5.2 Verbindungsspezifische Konfiguration ..........................................................203
8.5.3 Variablendefinition........................................................................................205
8.5.4 Definition symbolischer Namen ....................................................................207
8.5.5 Konfiguration der FMS-Serververbindung.....................................................208
8.5.6 Konfiguration der FMS Demo-Verbindung ....................................................211
8.5.7 Erstellen eines lokalen Objektverzeichnisses................................................213
8.6 Send/Receive-Protokoll ................................................................................214
8.6.1 Allgemeine Protokollkonfiguration ................................................................215
8.6.2 Zugangspunktspezifische Verbindungskonfiguration.....................................216
8.6.3 Verbindungsspezifische Konfiguration ..........................................................218
8.6.4 Konfiguration der Demoverbindung ..............................................................221
8.7 Send/Receive-Protokoll für PROFIBUS (FDL) ..............................................223
8.7.1 Allgemeine Protokollkonfiguration ................................................................224
8.7.2 Zugangspunktspezifische Verbindungskonfiguration.....................................225
8.7.3 Verbindungsspezifische Konfiguration ..........................................................226
8.7.4 Konfiguration der FDL-Demoverbindung.......................................................228
8.7.5 Dynamische Verbindungen...........................................................................229
8.8 DPS-Protokoll...............................................................................................230
8.8.1 Allgemeine Protokollkonfiguration ................................................................231
8.8.2 Verbindungsspezifische Konfiguration ..........................................................232
8.8.3 Konfiguration der DPS-Demoverbindung ......................................................234
9 DCOM mit dem OPC-Server für SIMATIC NET ......................................................235
9.1 Einführung in DCOM ....................................................................................236
9.2 Konfiguration von DCOM-Betrieb .................................................................238
9.2.1 Konfiguration des Server-Rechners ..............................................................242

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 7
Inhaltsverzeichnis

9.2.2 Konfiguration des Client-Rechners................................................................248


10 Die OPC-Custom-Schnittstelle für DataAccess.....................................................251
10.1 Versionen der OPC-Schnittstelle ..................................................................252
10.2 Erzeugung und Benutzung eines OLE Objekts in C/C++...............................253
10.3 Ergänzungen zur Schnittstellenbeschreibung für die OPC-Custom-
Schnittstelle..................................................................................................256
10.4 Das Objekt „OPC-Server“.............................................................................257
10.4.1 Schnittstelle IOPCServer..............................................................................258
10.4.2 Schnittstelle IOPCBrowseServerAddressSpace............................................260
10.4.3 Schnittstelle IOPCCommon (Version 2.0) .....................................................262
10.4.4 Schnittstelle IConnectionPointContainer .......................................................264
10.4.5 Schnittstelle IOPCItemProperties (V 2.0)......................................................265
10.5 Objekte der Klasse „OPC-Group“ .................................................................266
10.5.1 Schnittstelle IOPCItemMgt ...........................................................................267
10.5.2 Schnittstelle IOPCGroupStateMgt ................................................................270
10.5.3 Schnittstelle IOPCSyncIO.............................................................................272
10.5.4 Schnittstelle IOPCAsyncIO ...........................................................................273
10.6 Schnittstelle IDataObject ..............................................................................275
10.6.1 Schnittstelle IEnumOPCItemAttributes .........................................................276
10.6.2 Schnittstelle IAsyncIO2 (Version 2.0)............................................................277
10.6.3 Schnittstelle IConnectionPointContainer .......................................................279
11 Die OPC-Automation-Schnittstelle für DataAccess ..............................................281
11.1 Versionen der Automation-Schnittstelle ........................................................282
11.2 Erzeugung und Benutzung eines OLE-Objekts in Visual Basic......................283
11.3 Ergänzungen zur Schnittstellenbeschreibung für die OPC-Automation-
Schnittstelle..................................................................................................287
11.4 Das Objekt „OPCServer“ ..............................................................................289
11.4.1 Eigenschaften von „OPCServer“ ..................................................................289
11.4.2 Methoden von „OPCServer“ .........................................................................291
11.4.3 Ereignisse von „OPCServer“ ........................................................................294
11.5 Das Objekt „OPCBrowser“............................................................................295
11.5.1 Eigenschaften von „OPCBrowser“ ................................................................295
11.5.2 Methoden von „OPCBrowser".......................................................................297
11.6 Das Collection-Objekt „OPCGroups“.............................................................299
11.6.1 Eigenschaften von „OPCGroups“..................................................................300
11.6.2 Methoden von „OPCGroups“ ........................................................................301
11.6.3 Ereignisse von „OPCGroups“ .......................................................................302
11.7 Das Objekt „OPCGroup“...............................................................................303
11.7.1 Eigenschaften von „OPCGroup“ ...................................................................303
11.7.2 Methoden von „OPCGroup“..........................................................................305
11.7.3 Events von „OPCGroup“...............................................................................307
11.8 Das Collection-Objekt „OPCItems“ ...............................................................308
11.8.1 Eigenschaften von „OPCItems“ ....................................................................308
11.8.2 Methoden von „OPCItems“ ...........................................................................309
11.9 Das Objekt „OPCItem“..................................................................................312
11.9.1 Eigenschaften von „OPCItem“ ......................................................................313

Einführung OPC-Server für SIMATIC NET


8 6GK1971-0BA00-0AA0
Inhaltsverzeichnis

11.9.2 Methoden von „OPCItem“.............................................................................315


12 Die OPC-Custom-Schnittstelle für Alarms & Events ............................................317
12.1 Ergänzung der Schnittstellenbeschreibung für die OPC Custom Schnittstelle
für Alarms & Events .....................................................................................318
12.2 Das Objekt "OPC Event Server"...................................................................319
12.2.1 Die Schnittstelle "IOPCEventServer"............................................................320
12.3 Das Objekt "OPC Event Subscription" ..........................................................326
12.3.1 Die Schnittstelle "IOPCEventSubscriptionMgt" .............................................327
12.4 Die Schnittstellen des Clients .......................................................................330
12.4.1 Die Schnittstelle "IOPCEventSink" ...............................................................331
12.4.2 Die Schnittstelle "IOPCShutdown" ................................................................332
13 Wo Sie Hilfe bekommen .........................................................................................333
13.1 Hilfe bei technischen Fragen ........................................................................334
13.2 Ansprechpartner für Schulung von SIMATIC NET ........................................337
14 Glossar....................................................................................................................339

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 9
Benutzerhinweise

Einführung OPC-Server für SIMATIC NET


10 6GK1971-0BA00-0AA0
Benutzerhinweise

Benutzerhinweise

Wegweiser Die Dokumentation des OPC-Servers für SIMATIC NET besteht aus
Dokumentation zwei Teilen
• „Einführung OPC-Server für SIMATIC NET“ (vorliegendes Hand-
buch)
• „OLE for Process Control Standard“ - OPC-Schnittstellen-
beschreibung
Diese Handbücher sind ausschließlich verfügbar:
− in englischer Sprache
− als Dateien, die bei der Installation des Produkts im Verzeichnis
„DOC“ abgelegt werden. Sie können mit Hilfe eines Textpro-
gramms, das Word-6.0-kompatible Dateien einlesen kann, be-
trachtet und ausgedruckt werden.

Zeichen im Text Im Text ist folgendes Zeichen enthalten.

☞ Dieses Zeichen macht Sie auf Besonderheiten und Gefahren auf-


merksam.

Historie Dieses Handbuch ist für die Produktversionen ab V 2.1 gültig. Folgen-
de Produkteigenschaften werden in dieser Ausgabe des Handbuchs
zusätzlich beschrieben:

Produktversion Inhalt des Handbuchs

bis V2.0 OPC Data Access für DP, S7, FMS,


Send/Receive
V2.1 Zusätzlich: OPC Alarms & Events, Extraktion der
STEP 7 Symbolik, Rechtedefinition für OPCItems
(Zugriffsschutz), S7 Domain- und Paßwortdienste
V2.2

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 11
Benutzerhinweise

Einführung OPC-Server für SIMATIC NET


12 6GK1971-0BA00-0AA0
Übersicht OPC-Server für SIMATIC NET

1 Übersicht OPC-Server für SIMATIC NET

Das offene Netzkonzept SIMATIC NET bietet industrielle Kommunikationsnetze für die
Automatisierungstechnik. Diese bestehen aus Netzkomponenten und Programmen für
die Netzzugänge.
Dieses Kapitel gibt Ihnen eine Übersicht über die Funktionsweisen des OPC-Servers. Es
zeigt die Vorteile der Anwendung von OPC in der industriellen Kommunikation. Je nach
Ihren Vorkenntnissen zeigt Ihnen der Wegweiser durch die Dokumentation, was Sie
lesen sollten.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 13
Übersicht OPC-Server für SIMATIC NET

1.1 OPC-Schnittstelle

OPC OPC ist die Abkürzung für OLE for Process Control und bezeichnet
eine Standardschnittstelle für die Kommunikation in der Automatisie-
rungstechnik. OLE wiederum bezeichnet das Komponentenmodell der
Firma Microsoft. Als Komponenten werden die Softwareobjekte oder
Applikationen bezeichnet, die ihre Funktionalitäten anderen Applikatio-
nen zur Verfügung stellen.

OPC-Schnittstelle Die OPC-Schnittstelle ist die Spezifikation einer einheitlichen und her-
stellerunabhängigen Software-Schnittstelle auf Basis von OLE. Sie
wurde als Industriestandard von führenden Firmen der Automatisie-
rungsbranche mit Unterstützung der Firma Microsoft entworfen.

Bislang waren Applikationen, die auf Prozeßdaten zugriffen, an die


Zugriffsverfahren der Kommunikationsnetze eines Herstellers gebun-
den. Jetzt eröffnet die standardisierte OPC-Schnittstelle dem Anwen-
der, der beispielsweise eine Bedien- und Beobachtungs-Software ein-
setzt, die Möglichkeit, über die OPC-Schnittstelle auf Kommunikati-
onsnetze beliebiger Hersteller in einheitlicher Art und Weise zuzu-
greifen.

Einführung OPC-Server für SIMATIC NET


14 6GK1971-0BA00-0AA0
Übersicht OPC-Server für SIMATIC NET

OPC Der OPC-Standard umfaßt neben der Spezifikation zum Zugriff auf
Spezifikationen Prozeßdaten (Data Access) weitere Spezifikationen für andere Berei-
che der Automatisierungstechnik:
• Alarms & Events
• Historical Data Access

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 15
Übersicht OPC-Server für SIMATIC NET

1.2 OPC-Server, OPC-Server für SIMATIC NET

OPC-Server Ein OPC-Server ist ein Programm, das den Applikationen von ver-
schiedenen Herstellern eine standardisierte OPC-Schnittstelle bietet.
Mit einfachen Aufrufen ist die Kommunikation über industrielle Netze
möglich. Die mitunter schwierig zu handhabenden herstellerspezifi-
schen Eigenschaften der Kommunikationsnetze werden durch den
OPC-Server verdeckt.
Unabhängig vom verwendeten Kommunikationsnetz und Protokoll
erfolgt der Zugriff auf den Prozeß über die OPC-Schnittstellen stets
auf dieselbe Weise.
Ein OPC-Server bildet also eine Zwischenschicht zwischen den Appli-
kationen zur Verarbeitung von Prozeßdaten, den verschiedenen
Netzwerkprotokollen und Schnittstellen zum Zugriff auf diese Daten.

OPC-Server für Der OPC-Server von SIMATIC NET ermöglicht Windows-


SIMATIC NET Applikationen den Zugriff auf SIMATIC NET Produkte zur industriellen
Kommunikation. Voraussetzung zur Kopplung Ihrer Applikationen mit
Produkten von SIMATIC NET ist die Verwendung der offenen OPC-
Schnittstelle. Die Schnittstelle zu den Produkten von SIMATIC NET
realisiert der OPC-Server für SIMATIC NET.

Der OPC-Server für SIMATIC NET unterstützt die Schnittstelle "OPC


Data Access" für alle Protokolle. Die Schnittstelle "OPC Alarms &
Events" wird nur für diejenigen Protokolle angeboten, deren Protokoll-
mechanismen die Versendung von Ereignissen unterstützen. (Details
zur Produktversion siehe Abschnitt "Benutzerhinweise").

Zusätzlich Für den Zugriff auf Prozeßvariablen und den Empfang von Ereignis-
benötigte sen über den OPC-Server für SIMATIC NET wird zusätzlich eine Pro-
Komponenten von tokoll-Software von SIMATIC NET und ein Kommunikationsprozessor
SIMATIC NET von SIMATIC NET benötigt.

Einführung OPC-Server für SIMATIC NET


16 6GK1971-0BA00-0AA0
Übersicht OPC-Server für SIMATIC NET

OPC-Server für Die nachfolgende Darstellung zeigt einen OPC-Server für


SIMATIC NET mit SIMATIC NET zusammen mit einer Applikation, genannt OPC-Client.
OPC-Client Der OPC-Server für SIMATIC NET stellt dem OPC-Client die Werte
von Prozeßvariablen zur Verfügung oder meldet Ereignisse von dem
Partnergerät. Dazu greift der OPC-Server für SIMATIC NET mit Hilfe
der Protokoll-Software und des Kommunikationsprozessors von
SIMATIC NET über das Kommunikationsnetz auf die Partnergeräte zu.

Applikation - OPC-Client
(z. B. Bedien- und Beobachungssystem)
herstellerunabhängige
OPC-Schnittstelle
OPC-Server für SIMATIC NET

Data Access Alarms & Events

Protokoll-Software von
SIMATIC NET

Kommunikationsprozessor von
SIMATIC NET
Kommunikationsnetz
von SIMATIC NET

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 17
Übersicht OPC-Server für SIMATIC NET

1.3 Vorteile des OPC-Servers

Vorteile für den Wenn Sie den OPC-Server für SIMATIC NET zusammen mit den
Inbetriebsetzer Protokollen von SIMATIC NET einsetzen, bieten sich Ihnen folgende
Vorteile:
• Sie benutzen eine protokollunabhängige Schnittstelle.
• Sie erhalten einen einfachen Zugang zu den Kommunikationsnet-
zen von SIMATIC NET.
• Sie können Ihre Automatisierungssysteme über ein Kommunika-
tionsnetz von SIMATIC NET mit einer Vielzahl von Applikationen
der Automatisierungstechnik verbinden.
• Sie haben auch für Büroapplikationen, wie Microsoft-Excel, Access,
usw., einen Kommunikationszugang.
• Über den OLE-Mechanismus „DCOM“ können auch Applikationen,
die auf anderen Rechnern installiert sind, über lokale oder globale
Netze (Internet) auf die Leistungen des OPC-Servers zugreifen.

Vorteile für den Wenn Sie eine Applikation entwickeln, die über die OPC-Schnittstelle
Entwickler eines OPC-Servers für SIMATIC NET auf Prozeßdaten zugreift, bieten
sich Ihnen folgende Vorteile:
• Die OPC-Schnittstelle ist eine herstellerunabhängige Schnittstelle.
Dadurch eröffnet sich Ihnen ein größerer Markt; die Wiederver-
wendbarkeit Ihrer Entwicklungen und die Sicherung Ihrer Investitio-
nen ist verbessert.
• Die entwickelten Applikationen sind unabhängig vom Kommunika-
tionssystem eines Herstellers und kommunizieren, bei entspre-
chender Programmierung, unverändert mit OPC-Servern anderer
Hersteller.
• Mit der OPC-Schnittstelle steht Applikationen ein leistungsfähiger
Zugang zu OPC-Servern und den unterlagerten Kommunikations-
netzen zur Verfügung.
• OPC bietet eine hochperformante Schnittstelle für die Program-
miersprache C/C++.
• Ein komfortabler und einfacher Zugriff auf Prozeßdaten ist mit Ent-
wicklungsumgebungen wie z.B. Visual Basic (Microsoft) möglich.
• Für den Entwickler entfällt die Einarbeitung in protokoll- und her-
stellerspezifische Schnittstellen.
• Die Fehlersuche wird durch die Möglichkeit einer Trace-Ausgabe
vereinfacht.

Einführung OPC-Server für SIMATIC NET


18 6GK1971-0BA00-0AA0
Übersicht OPC-Server für SIMATIC NET

1.4 Notwendige Vorkenntnisse

Nutzergruppen Das Produkt OPC-Server für SIMATIC NET wird von folgenden Nut-
zergruppen eingesetzt:
• Entwickler von Client-Applikationen (Produkte für die Automatisie-
rungstechnik)
• Inbetriebsetzer
Ein Anwender, der ausschließlich OPC-Client-Applikationen einsetzt,
benötigt keine der hier angeführten Informationen. Die OPC-Client-
Server-Architekur ist für den Anwender transparent.

Notwendige Folgende Tabelle zeigt die notwendigen Vorkenntnisse der Nutzer-


Vorkenntnisse gruppen.

Notwendige Vorkenntnisse Entwickler von Inbetriebset-


Client-Applikationen zer
PC-Kenntnisse ja ja
Kenntnisse der Program- ja, wenn das Custom nein
miersprachen C/C++ Interface benutzt wird
Kenntnisse der Entwick- ja, wenn das nein
lungsumgebungen (z.B. Vi- Automation Interface
sual Basic) benutzt wird
Anwendungsspezifische ja ja, geringe
Kenntnisse der OLE- Kenntnisse
Mechanismen
Projektierung des benutzten ja ja
Kommunikationsprotokolls
Konfiguration der unterla- ja ja
gerten Kommunikationsbau-
gruppe
Kenntnisse der Partner- ja ja
stationen am Bus

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 19
Übersicht OPC-Server für SIMATIC NET

1.5 Wegweiser durch die Dokumentation

Wer liest was? Nicht jeder muß alles lesen! Ein Programmierer benötigt verständli-
cherweise weitreichendere Informationen als ein Inbetriebsetzer.
Die folgende Tabelle gibt deshalb jeder Nutzergruppe eine Empfehlung
darüber, welche Informationsquellen gelesen werden sollen.

Informationsquelle Entwickler von Client- Inbetriebsetzer


Applikationen
LIESMICH ja ja
(README)
Häufige Fragen (FAQ ja ja
Frequently asked
questions)
Vorliegendes Hand- ja ja
buch, vollständig
OPC-Spezifikation: ja nein
Grundlagen
OPC-Spezifikation: ja, wenn mit C/C++ nein
Data Access entwickelt wird
Custom Interface
OPC-Spezifikation: ja, wenn z. B. mit Visual nein
Data Access Basic entwickelt wird
Automation Interface
OPC-Spezifikation ja nein
Alarms & Events

Einführung OPC-Server für SIMATIC NET


20 6GK1971-0BA00-0AA0
Schnelleinstieg

2 Schnelleinstieg

In diesem Kapitel erfahren Sie,


• wie Sie das unterlagerte Kommunikationssystem als Voraussetzung für den OPC-
Server in Betrieb nehmen
• wie Sie den OPC-Server mit einer Simulationsverbindung ohne unterlagertes
Kommunikationsnetz betreiben können.
• wie Ihnen der Schnelleinstieg mit Hilfe vom OPC-Scout erste Erfahrungen mit dem
OPC-Server für SIMATIC NET vermittelt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 21
Schnelleinstieg

2.1 Inbetriebnahme des unterlagerten Kommunikations-


systems

Einführung Der OPC-Server bietet einen einheitlichen Zugang über unterschiedli-


che industrielle Kommunikationssysteme. Um den OPC-Server benut-
zen zu können, muß zuvor das unterlagerte Kommunikationssystem
installiert, konfiguriert und projektiert werden. Die folgenden Abschnitte
führen für die verschiedenen Protokolle die nötigen Arbeitsschritte zur
Inbetriebnahme auf.

Es wird im folgenden der Standardbetrieb eines Protokolls erklärt.


Sonderfälle wie mehrere Kommunikationsprozessoren sind nicht Teil
dieser Einführung.

Details zu den einzelnen Arbeitsschritten entnehmen Sie bitte der je-


weiligen Produktdokumentation.

Voraussetzungen Voraussetzung für die folgenden Arbeitsanleitungen ist die Installation


der benötigten Software-Produkte, wie in der Installationsanleitung
beschrieben.

Projektierung Die Projektierung der Kommunikationspartner für die Protokoll-


Software von SIMATIC NET erfolgt mit den protokollspezifischen
Werkzeugen der Kommunikationsbaugruppen. Die Projektierungs-
werkzeuge werden mit der unterlagerten Protokoll-Software ausgelie-
fert, zum Beispiel COM PROFIBUS für das DP-Protokoll.

Einführung OPC-Server für SIMATIC NET


22 6GK1971-0BA00-0AA0
Schnelleinstieg

2.1.1 Inbetriebnahme des DP-Protokolls

Schritt Vorgehen
1 Kommunikationsprozessor einbauen und installieren
Setzen Sie den Kommunikationsprozessor wie in der Installationsanleitung der Baugruppe
beschrieben ein.
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“ und betätigen
Sie die Schaltfläche „Installieren“.
Wählen Sie Ihre Baugruppe zur Installation aus.
2 Projektierung erstellen
Mit der Software für das DP-Protokoll wurde das Projektierungswerkzeug „COM PROFIBUS“
installiert.
Starten Sie dieses Programm, um in einer Datenbasis eine Beschreibung Ihres DP-
Kommunikationssystems zu erstellen.
Wenn Sie die Erstellung der Projektierung abgeschlossen haben, erzeugen Sie eine für den
CP ladbare Binärdatenbasis über den Menüpunkt „Export=>NCM-Datei“.
3 Schnittstellenparametrierung zuweisen
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den Zugangspunkt der Applikation „CP_L2_1:“ aus.
Ordnen Sie diesem Zugangspunkt die Ihrer Baugruppe entsprechende Schnittstellenpara-
metrierung für den DP-Betrieb (z.B. CP 5412A2 (PROFIBUS) oder CP5511 (DP-Master ))
zu.
4 Kommunikationsprozessor konfigurieren
Betätigen Sie die Schaltfläche „Eigenschaften“.
Wählen Sie das Register zur Konfiguration des DP-Protokolls aus und tragen Sie in dem
folgenden Dialog den Pfad und Namen der zuvor erzeugten ladbaren Binärdatenbasis (*.ldb)
ein. Für einige Baugruppen ist außerdem eine explizite Aktivierung des DP-Protokolls not-
wendig (Kontrollkästchen „DP“).
Beenden Sie das Konfigurationsprogramm.
5 Kommunikationsprozessor testen
Starten Sie nun erneut das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den Zugangspunkt der Applikation „CP_L2_1:“ aus und betätigen Sie die
Schaltfläche „Diagnose“.
Überprüfen Sie die korrekte Funktionsweise der Baugruppe.
6 OPC-Scout benutzen
Folgen Sie in Kapitel 2.4 den weiteren Schritten des Schnellstarts.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 23
Schnelleinstieg

2.1.2 Inbetriebnahme des S7-Protokolls

Schritt Vorgehen
1 Kommunikationsprozessor einbauen und installieren
Setzen Sie den Kommunikationsprozessor wie in der Installationsanleitung der Baugruppe
beschrieben ein.
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“ und betätigen
Sie die Schaltfläche „Installieren“.
Wählen Sie Ihre Baugruppe zur Installation aus.
2 Projektierung erstellen
Mit der Software für das S7-Protokoll wurde das Projektierungswerkzeug „COML S7“ instal-
liert.
Starten Sie dieses Programm, um in einer Datenbasis eine Beschreibung Ihres S7-
Kommunikationssystems zu erstellen.
Benutzen Sie möglichst nur einen VFD für alle Verbindungen.
Wenn Sie die Erstellung der Projektierung abgeschlossen haben, erzeugen Sie eine für den
CP ladbare Binärdatenbasis über den Menüpunkt „Datei=>binäre DB generieren unter...“.
Alternativ können sie auch das Projektierungswerkzeug NCM benutzen.
3 Schnittstellenparametrierung zuweisen
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den Zugangspunkt der Applikation aus.
Wenn Sie über PROFIBUS oder MPI kommunizieren, wählen Sie „CP_L2_1:“, Falls Sie mit
Industrial Ethernet arbeiten, wählen Sie „CP_H1_1:“.
Ordnen Sie diesem Zugangspunkt die Ihrer Baugruppe entsprechende Schnittstellenpara-
metrierung für den S7-Betrieb (z.B. CP 5412A2(PROFIBUS) ,“CP 1613“ o.a. ) zu.
4 Kommunikationsprozessor konfigurieren
Betätigen Sie die Schaltfläche „Eigenschaften“.
Wählen Sie das Register zur Konfiguration des S7-Protokolls aus und tragen Sie in dem fol-
genden Dialog den Pfad und Namen der zuvor erzeugten ladbaren Binärdatenbasis (*.ldb)
ein.
Aktivieren Sie, wenn vorgesehen, das S7-Protokoll über das Kontrollkästchen „S7“.
Beenden Sie das Konfigurationsprogramm.
5 Kommunikationsprozessor testen
Starten Sie nun erneut das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den zuvor benutzen Zugangspunkt der Applikation aus und betätigen Sie die
Schaltfläche „Diagnose“.
Überprüfen Sie die korrekte Funktionsweise der Baugruppe.
6 OPC-Server konfigurieren
Starten Sie das Konfigurationsprogramm für den OPC-Server („OPC Einstellungen“).
Wählen Sie das Register „S7 Protokoll“ aus.
Wählen Sie die CP/VFD-Paare aus, die die Ihrem Netztyp entsprechenden Zugangspunkte
enthalten. („CP_L2_1:“ oder „CP_H1_1:“).
Beenden Sie das Konfigurationsprogramm.

Einführung OPC-Server für SIMATIC NET


24 6GK1971-0BA00-0AA0
Schnelleinstieg

7 OPC-Scout benutzen
Folgen Sie in Kapitel 2.4 den weiteren Schritten des Schnellstarts.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 25
Schnelleinstieg

2.1.3 Inbetriebnahme des S7-Protokolls für Alarms & Events

Schritt Vorgehen
1 Inbetriebnahme des S7-Protokolls
Nehmen Sie das S7-Protokoll zum Zugriff auf Prozeßvariablen wie in Kapitel 2.1.2 beschrie-
ben in Betrieb. Beenden Sie alle OPC-Clients, um den OPC-Server zu beenden.
2 Konfigurationsdatei öffnen
Starten Sie das Konfigurationsprogramm für den OPC-Server und öffnen Sie die Register-
seite "S7-Protokoll". Betätigen Sie die Schaltfläche "S7 Konfigurationsdatei editieren" Die
Textdatenbank zur Projektierung des S7-OPC-Servers wird geöffnet ( Default: Ssco-
reS7.txt").
3 Verbindungskonfiguration eintragen
Tragen Sie unter dem Abschnitt für die Verbindung, über die Alarme und Ereignisse emp-
fangen werden soll (z.B. [MyAlarmCon|MyOPCVFD|CP_L2_1:], folgendes ein:
Events=3 ; Alarm&Event-Mechanismus aktivieren
InitiateReq=2 ; Verbindung permanent aufrechterhalten
4 Eintrag der Severity
Sie können für jeden Alarm und jedes Scan-Ereignis die Severity in einem Bereich von 1 bis
1000 festlegen (optional). Weiterhin ist die Definition eines Default-Wertes für Alarme und
Scans möglich:
DefaultScan=300 ; Severity der Scan-Ereignisse ist 300
DefaultAlarm=600 ; Severity der Alarme ist 600
Scan123=200 ; Der Scan mit der ID 123 hat die Severity
200
Alarm222=900 ; Der Alarm mit der ID 222 hat die Severi-
ty 900
5 Speichern der Konfigurationsdatei
Speichern Sie die Konfigurationsdatei ab und starten Sie einen Client für OPC Alarm &
Events.

Einführung OPC-Server für SIMATIC NET


26 6GK1971-0BA00-0AA0
Schnelleinstieg

2.1.4 Inbetriebnahme des FMS-Protokolls

Voraussetzungen Die anzusprechenden Partnergeräte am PROFIBUS-Netz sind projek-


tiert und können ein kurzes Objektverzeichnis bereitstellen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 27
Schnelleinstieg

Schritt Vorgehen
1 Kommunikationsprozessor einbauen und installieren
Setzen Sie den Kommunikationsprozessor wie in der Installationsanleitung der Baugruppe
beschrieben ein.
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“ und betätigen
Sie die Schaltfläche „Installieren“.
Wählen Sie Ihre Baugruppe zur Installation aus.
2 Projektierung erstellen
Mit der Software für das FMS-Protokoll wurde das Projektierungswerkzeug „COM
PROFIBUS“ installiert.
Starten Sie dieses Programm, um in einer Datenbasis eine Beschreibung Ihres FMS-
Kommunikationssystems zu erstellen.
Benutzen Sie möglichst nur einen VFD für alle Verbindungen.
Wenn Sie die Erstellung der Projektierung abgeschlossen haben, erzeugen Sie eine für den
CP ladbare Binärdatenbasis über den Menüpunkt „Export=>NCM-Datei“.
3 Schnittstellenparametrierung zuweisen
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den Zugangspunkt der Applikation „CP_L2_1:“ aus.
Ordnen Sie diesem Zugangspunkt die Ihrer Baugruppe entsprechende Schnittstellenpara-
metrierung für den FMS-Betrieb (z.B. „CP 5412A2 (PROFIBUS)“ ) zu.
4 Kommunikationsprozessor konfigurieren
Betätigen Sie die Schaltfläche „Eigenschaften“.
Wählen Sie das Register zur Konfiguration des FMS-Protokolls aus und tragen Sie in dem
folgenden Dialog den Pfad und Namen der zuvor erzeugten ladbaren Binärdatenbasis (*.ldb)
ein.
Aktivieren Sie das FMS-Protokoll über das Kontrollkästchen „FMS“.
Beenden Sie das Konfigurationsprogramm.
5 Kommunikationsprozessor testen
Starten Sie nun erneut das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den Zugangspunkt der Applikation „CP_L2_1:“ aus und betätigen Sie die
Schaltfläche „Diagnose“.
Überprüfen Sie die korrekte Funktionsweise der Baugruppe.
6 OPC-Server konfigurieren
Starten Sie das Konfigurationsprogramm für den OPC-Server („OPC Einstellungen“).
Wählen Sie das Register „FMS Protokoll“ aus.
Betätigen Sie die Schaltfläche „Auswählen...“, um die vom OPC-Server zu benutzenden
CP/VFD-Paare auszuwählen.
Wählen Sie durch Betätigung der entsprechenden Kontrollkästchen im unteren Teil des
Dialogs die von Ihnen benötigten CP/VFD Paare aus, welche den Zugangspunkt „CP_L2_1:“
enthalten.
7 OPC-Scout benutzen
Folgen Sie in Kapitel 2.4 den weiteren Schritten des Schnellstarts.

Einführung OPC-Server für SIMATIC NET


28 6GK1971-0BA00-0AA0
Schnelleinstieg

2.1.5 Inbetriebnahme des Send/Receive-Protokolls für Industrial Ethernet

Voraussetzungen Die anzusprechenden Partnergeräte am Industrial Ethernet Netz sind


projektiert und die entsprechenden Hantierungsbausteine bzw. Funkti-
onsbausteine werden aufgerufen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 29
Schnelleinstieg

Schritt Vorgehen
1 Kommunikationsprozessor einbauen und installieren
Setzen Sie den Kommunikationsprozessor wie in der Installationsanleitung der Baugruppe
beschrieben ein.
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“ und betätigen
Sie die Schaltfläche „Installieren“.
Wählen Sie Ihre Baugruppe zur Installation aus.
2 Schnittstellenparametrierung zuweisen
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den Zugangspunkt der Applikation (CP_H1_1: ) aus.
Ordnen Sie diesem Zugangspunkt die Ihrer Baugruppe entsprechende Schnittstellenpara-
metrierung (z.B. “CP 1613“) zu.
3 Kommunikationsprozessor testen
Starten Sie nun erneut das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den zuvor benutzen Zugangspunkt der Applikation („CP_H1_1:“) aus und betä-
tigen Sie die Schaltfläche „Diagnose“.
Überprüfen Sie die korrekte Funktionsweise der Baugruppe.
4 OPC-Server konfigurieren
Starten Sie das Konfigurationsprogramm für den Server („OPC Einstellungen“).
Wählen Sie das Register „SR Protokoll“ aus.
Wählen Sie den Zugangspunkt „CP_H1_1:“ aus. Beenden Sie im unteren Teil des Dialogs
das Konfigurationsprogramm.
5 OPC-Scout starten
Führen Sie die Schritte 1 und 2 in Kapitel 2.4 aus, um über den OPC-Scout den SR-OPC-
Server erstmalig zu starten. Der SR-OPC-Server trägt beim ersten Anlauf Vorgabewerte in
die Textdatenbasis (siehe Kap. 8.6 ) ein, welche Ihnen die weitere Projektierung erleichtern.
Beenden Sie den OPC-Scout.
6 OPC-Server projektieren
Starten Sie das Konfigurationsprogramm für den SR-OPC-Server und betätigen Sie die
Schaltfläche „SR Konfigurationsdatei editieren“. Die Textdatenbank zur Projektierung des
SR-OPC-Servers wird mit einem Texteditor geöffnet.
Tragen Sie unter dem Abschnitt „[CP_H1_1:(Connections)] die Definitionen für die benötig-
ten Verbindungen in folgender Notation ein: (siehe Kapitel 9.3.2 in diesem Handbuch)
Verbindungsname=LocalTSAP, HostID, RemoteTSAP, ActiveFlag.
Mit diesen Informationen über die Verbindung kann der OPC-Server auf die im Partnergerät
projektierten Sende- bzw. Empfangsbuffer zugreifen.
Speichern Sie anschließend die Textdatei ab.
7 OPC-Scout benutzen
Folgen Sie in Kapitel 2.4 den weiteren Schritten des Schnellstarts.

Einführung OPC-Server für SIMATIC NET


30 6GK1971-0BA00-0AA0
Schnelleinstieg

2.1.6 Inbetriebnahme des Send/Receive-Protokolls für PROFIBUS (FDL)

Voraussetzungen Die anzusprechenden Partnergeräte am PROFIBUS sind projektiert


und die entsprechenden Hantierungsbausteine bzw. Funktions-
bausteine werden aufgerufen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 31
Schnelleinstieg

Schritt Vorgehen
1 Kommunikationsprozessor einbauen und installieren
Setzen Sie den Kommunikationsprozessor wie in der Installationsanleitung der Baugruppe
beschrieben ein.
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“ und betätigen
Sie die Schaltfläche „Installieren“.
Wählen Sie Ihre Baugruppe zur Installation aus.
2 Schnittstellenparametrierung zuweisen
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den Zugangspunkt der Applikation (CP_L2_1: ) aus.
Ordnen Sie diesem Zugangspunkt die Ihrer Baugruppe entsprechende Schnittstellenpara-
metrierung (z.B. “CP 5611 (PROFIBUS) “) zu.
3 Kommunikationsprozessor testen
Starten Sie nun erneut das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den zuvor benutzen Zugangspunkt der Applikation („CP_L2_1:“) aus und betäti-
gen Sie die Schaltfläche „Diagnose“.
Überprüfen Sie die korrekte Funktionsweise der Baugruppe.
4 OPC-Server konfigurieren
Starten Sie das Konfigurationsprogramm für den Server („OPC Einstellungen“).
Wählen Sie das Register „FDL Protokoll“ aus.
Wählen Sie den Zugangspunkt „CP_L2_1:“ aus. Beenden Sie im unteren Teil des Dialogs
das Konfigurationsprogramm.
5 OPC-Scout starten
Führen Sie die Schritte 1 und 2 in Kapitel 2.4 aus, um über den OPC-Scout den FDL-OPC-
Server erstmalig zu starten. Der FDL-OPC-Server trägt beim ersten Anlauf Vorgabewerte in
die Textdatenbasis (siehe Kap. 8.7) ein, welche Ihnen die weitere Projektierung erleichtern.
Beenden Sie den OPC-Scout.
6 OPC-Server projektieren
Starten Sie das Konfigurationsprogramm für den OPC-Server und betätigen Sie die Schalt-
fläche „FDL Konfigurationsdatei editieren“. Die Textdatenbank zur Projektierung des FDL-
OPC-Servers wird mit einem Texteditor geöffnet.
Tragen Sie unter dem Abschnitt „[CP_L2_1:(Connections)] die Definitionen für die benötig-
ten Verbindungen in folgender Notation ein: (siehe Kapitel 8.7 in diesem Handbuch)
Verbindungsname=LocalTSAP, Station, RemoteSAP.
Mit diesen Informationen über die Verbindung kann der OPC-Server auf die im Partnergerät
projektierten Sende- bzw. Empfangsbuffer zugreifen.
Speichern Sie anschließend die Textdatei ab.
7 OPC-Scout benutzen
Folgen Sie in Kapitel 2.4 den weiteren Schritten des Schnellstarts.

Einführung OPC-Server für SIMATIC NET


32 6GK1971-0BA00-0AA0
Schnelleinstieg

2.1.7 Inbetriebnahme des DP-Slave

Schritt Vorgehen
1 Kommunikationsprozessor einbauen und installieren
Setzen Sie den Kommunikationsprozessor wie in der Installationsanleitung der Baugruppe
beschrieben ein.
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“ und betätigen
Sie die Schaltfläche „Installieren“.
Wählen Sie Ihre Baugruppe zur Installation aus.
2 Schnittstellenparametrierung zuweisen
Starten Sie nun das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den Zugangspunkt der Applikation „DPSONLINE“ aus.
Ordnen Sie diesem Zugangspunkt die Ihrer Baugruppe entsprechende Schnittstellenpara-
metrierung für den DP-Betrieb (z.B. CP 5611 (PROFIBUS - DP-Slave) zu.
3 Kommunikationsprozessor testen
Starten Sie nun erneut das Konfigurationsprogramm „PG-PC-Schnittstelle einstellen“.
Wählen Sie den Zugangspunkt der Applikation „DPSONLINE:“ aus und betätigen Sie die
Schaltfläche „Diagnose“.
Überprüfen Sie die korrekte Funktionsweise der Baugruppe.
4 GSD-Datei bearbeiten
Die Konfiguration des DP-Slaves ist in einer GSD-Datei (*.gsd) festgelegt. Mit der Software
für das den DP-Slave wurde eine Beispieldatei installiert. Falls Sie die Konfiguration des
Slaves verändern wollen, müssen Sie diese Datei anpassen.
Informationen zum Aufbau einer gsd-Datei können Sie dem Handbuch „DP-Slave-
Programmierschnittstelle für CP 5411, CP 5511 und CP 5611“ entnehmen.
5 OPC-Server konfigurieren
Starten Sie das Konfigurationsprogramm für den Server („OPC Einstellungen“).
Wählen Sie das Register „DP Slave“ aus. Wählen Sie den Zugangspunkt „DPSONLINE“
aus.
Betätigen Sie nun die Schaltfläche „DPS Konfigurationsdatei editieren“. Die Textdatenbank
zur Projektierung des DP-Slave OPC-Servers wird mit einem Texteditor geöffnet.
Tragen Sie unter dem Abschnitt „[DPSONLINE] den Pfad und Dateinamen der GSD-Datei
Ihres Slaves ein. Speichern Sie anschließend die Textdatei ab.
Beenden Sie das Konfigurationsprogramm.
6 OPC-Scout benutzen
Folgen Sie in Kapitel 2.4 den weiteren Schritten des Schnellstarts.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 33
Schnelleinstieg

2.2 Simulationsverbindungen des OPC-Servers

Beschreibung Die OPC-Server für alle Protokolle bietet die Möglichkeit, simulierte
Verbindungen zu benutzen. Diese Verbindung mit der festen Bezeich-
nung "DEMO" simuliert eine Verbindung zu einem Partnergerät.

Voraussetzungen Die Simulationsvariante des OPC-Servers für SIMATIC NET können


Sie ohne Kommunikationsprozessor benutzen.

☞ Diese Simulationsverbindung kann jederzeit durch das Konfigurations-


programm aktiviert werden.

Eigenschaften Die Simulationsverbindung hat die Bezeichnung DEMO. Das simulierte


Gerät stellt protokollspezifisch einige Variablen zur Verfügung. Einige
Eigenschaften der Simulationsverbindung können durch den Anwender
konfiguriert werden. Weitere Informationen zur Konfiguration entneh-
men Sie bitte Kapitel 8.

Einführung OPC-Server für SIMATIC NET


34 6GK1971-0BA00-0AA0
Schnelleinstieg

2.2.1 Arbeiten mit der Simulationsverbindung

Funktionsweise Bevor Sie mit der Simulationsverbindung arbeiten können, muß diese
aktiviert werden (siehe unten). Wenn Sie keine unterlagerte Protokoll-
software installiert haben, wird die Simulationsverbindung automatisch
erkannt.
In diesem Fall kann das Konfigurationsprogramm nicht gestartet wer-
den.

☞ Nach dem Aktivieren der Simulationsverbindung steht Ihnen eine vir-


tuelle Partnerstation mit einigen Variablen zur Verfügung. Auf diese
können Sie alle OPC-Funktionen anwenden.

Die Simulationsverbindung kann auch parallel zu einem realen


Netzwerk betrieben werden, wenn es im realen Netzwerk keine
Verbindungsnamen DEMO gibt.

Aktivieren der Führen Sie folgende Schritte aus, um die Simulationsverbindung


Simulations- des OPC-Servers für SIMATIC NET zu aktivieren:
verbindung

Schritt Vorgehen
1 OPC-Server schließen
Ist der OPC-Server für SIMATIC NET bereits aktiviert, so schließen Sie diese Anwendung.
2 Konfigurationsprogramm starten
Starten Sie das Programm „OPC Einstellungen“ über das Startmenü von Windows (Start
=> SIMATIC => SIMATIC NET => OPC Server => OPC Einstellungen)
3 Aktivieren der Simulationsverbindung
Wechseln Sie auf die Registerseite für das entsprechende Protokoll und aktivieren Sie das
Kontrollkästchen "Simulationsverbindung aktivieren".
Wenn die Simulationsverbindung nicht mehr genutzt werden soll, schalten Sie dieses Kon-
trollkästchen ab.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 35
Schnelleinstieg

2.3 Beschreibung des Schnelleinstiegs

Einleitung Beim Schnelleinstieg benutzen Sie das Programm „OPC-Scout“, um


den OPC-Server für SIMATIC NET zu testen. Dieser OPC-Client ist
eine leistungsfähige Visual Basic Applikation zum Test und zur Inbe-
triebnahme einer Anlage.

Funktionsumfang Mit dem Beispielprogramm „OPC-Scout“ können Sie:


• den Prozeßraum Ihres Kommunikationsnetzes untersuchen
• OPC-Gruppen erzeugen
• Prozeßvariablen als Items zur Aufnahme in eine Gruppe auswählen
und einfügen
• Werte lesen und schreiben

Beispiel- Nachdem Sie mit dem OPC-Scout den OPC-Server kennengelernt


programme haben, können Sie mit Hilfe der mitgelieferten Beispielprogramme für
Visual Basic und für C++ im Verzeichnis „SAMPLES“ die Programmie-
rung des OPC-Servers erlernen.
Beschreibungen zu den Beispielprogrammen finden Sie in der Datei
„BEISPIEL“ in dem Verzeichnis „SAMPLES“.

Einführung OPC-Server für SIMATIC NET


36 6GK1971-0BA00-0AA0
Schnelleinstieg

2.4 Durchführung des Schnelleinstiegs

Vorgehensweise Führen Sie folgende Schritte aus, um mit dem Beispielprogramm


„OPC-Scout“ erste Erfahrungen mit dem OPC-Server für
SIMATIC NET zu sammeln:

Schritt Vorgehen
1 Programm „OPC-Scout“ starten
Starten Sie nun das Programm „OPC-Scout“ (Start => Programme =>
SIMATIC NET => OPC-Server => OPC-Scout)
2 Mit OPC-Server verbinden
Wählen Sie mit der Maus aus dem linken Feld „Servers and Groups“ den OPC-
Server aus:
• Für SIMATIC NET (OPC.SimaticNet)
Rufen Sie aus dem Menü „Server“ den Menüpunkt „Connect“ auf.
Reaktion: Der ausgewählte OPC-Server wird gestartet. Dieser Vorgang kann eini-
ge Sekunden in Anspruch nehmen.
3 Gruppe anlegen
Geben Sie in dem aufgeblendeten Dialog „Add Group“ einen beliebigen Namen für
eine Gruppe ein und bestätigen Sie die Eingabe mit OK.
Reaktion: In dem Feld „Servers and Groups“ wird unterhalb des ausgewählten
Servers der Name der neu angelegten Gruppe angezeigt.
4 Prozeßraum untersuchen
Markieren Sie die erzeugte Gruppe in dem Feld „Servers and Groups“ und rufen
Sie in dem Menü „Group“ den Menüpunkt „Add Item“ auf.
Reaktion: In dem nun erscheinenden Dialog „OPC-Navigator“ kann der Prozeß-
raum des OPC-Servers untersucht werden. Die linke Spalte zeigt den hierarchi-
schen Aufbau des Prozeßraums. Durch Doppelklicken auf einen Eintrag wird die
nächste Ebene eingeblendet. Die mittlere Spalte listet die auf einer Ebene ange-
botenen Variablen auf.
5 OPC-Items einfügen
Markieren Sie die in der mittleren Spalte angezeigten Variablen.
Klicken Sie nun auf den Pfeil „=>“. Die ausgewählten Variablen werden in der
rechten Spalte angezeigt und sind damit für die Aufnahme in die aktuelle Gruppe
selektiert.
Betätigen Sie „OK“, um die Variablen in die aktuelle Gruppe einzufügen.
Reaktion: Das Dialogfeld wird geschlossen. In der Tabelle des Hauptfensters sind
die ausgewählten Variablen mit Ihren Attributen (z.B. Wert, Zeitstempel)aufgeführt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 37
Schnelleinstieg

Schritt Vorgehen
6 Wert schreiben
Wenn Sie eine schreibbare Variable ausgewählt haben (W oder RW-Attribut), kön-
nen Sie dieser Prozeßvariable einen neuen Wert geben.
Klicken Sie auf die Zeile mit der zu ändernden Variable und rufen Sie im Menü
„Item“ den Menüpunkt „Write Values“ auf.
Geben Sie in dem aufgeblendeten Dialog einen neuen Wert ein und Bestätigen Sie
Ihre Eingabe durch „OK“.
Reaktion: Das Dialogfeld wird geschlossen. Die Tabelle zeigt den neuen Wert und
das Ergebnis der Operation (Write Result).

Weiteres Experimentieren Sie mit den Funktionen des OPC-Scout. Probieren


Kennenlernen Sie die rechte Maustaste, wenn Sie auf ein Objekt klicken. Bei vielen
Elementen wird ein kontextsensitives Menü ausgegeben, daß Ihnen
verdeutlicht, welche Operationen Sie mit dem Objekt durchführen kön-
nen.

Einführung OPC-Server für SIMATIC NET


38 6GK1971-0BA00-0AA0
Grundlagen von OLE

3 Grundlagen von OLE

Die OPC-Schnittstelle verwendet OLE-Mechanismen, um Applikationen unter Windows


Kommunikationsdienste anzubieten. Zur Entwicklung von Applikationen - sei es mit
Visual Basic oder mit C/C++ - ist ein grundlegendes Verständnis der Basisarchitektur
von OLE notwendig. Dieses Kapitel vermittelt Ihnen die notwendigen OLE-
Grundkenntnisse, die Sie zur Entwicklung von OPC-Programmen benötigen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 39
Grundlagen von OLE

3.1 COM als Basis für OPC

Einführung Mit OLE 1 wurde erstmals unter Microsoft Windows 3.1 die Möglichkeit
geschaffen, unterschiedliche und prinzipiell eigenständige Applikatio-
nen miteinander zu kombinieren. Damit wurde ein deutlicher Schritt in
Richtung einer Modularisierung von Anwendersoftware getan. Mit dem
von OPC verwendeten Standard OLE 2 bringt Microsoft nicht nur eine
Erweiterung von OLE 1, sondern eine neue, wesentlich umfangreiche-
re Architektur und damit einen vollkommen neuen Denkansatz für die
Entwicklung von Software unter Microsoft Windows.

COM Die Grundlage aller OLE-Mechanismen ist COM, das Component


Object Model von Microsoft.
COM definiert einen Standard, der es ermöglicht, Objekte als abge-
schlossene Einheiten in Windows zu definieren und über Prozeßgren-
zen hinweg auf diese zuzugreifen.
Objekte können als Erweiterungen des Betriebssystems verstanden
werden. Sie sind unabhängig von Programmiersprachen und stehen
prinzipiell allen Applikationen zur Verfügung. Das Komponentenmodell
COM ist eine Client-Server-Architektur.
Der Server ist das Objekt, welches Dienste erbringen kann.
Der Client ist eine Applikation, die Dienste eines Objekts in Anspruch
nimmt. Clients werden auch vielfach als Containeranwendungen be-
zeichnet.

DCOM Mit Windows NT, Version 4 wurde die COM-Schnittstelle um die Fä-
higkeit erweitert, auch über Rechnergrenzen hinweg auf Objekte zu-
greifen zu können. Die von einer Applikation benutzten Objekte sind
innerhalb eines Netzwerks verteilt. Diese Erweiterung von COM wird
DCOM (Distributed COM) genannt.

Einführung OPC-Server für SIMATIC NET


40 6GK1971-0BA00-0AA0
Grundlagen von OLE

3.2 Objekte und Schnittstellen

Begriff OLE-Objekte sind Einheiten in Windows, die anderen Objekten über


OLE-Objekt Ihre Schnittstellen eine definierte Funktionalität anbieten. OLE-Objekte
bieten Ihre Dienste über fest definierte Schnittstellen an. Der „Inhalt“
des Objekts, Daten und Code, bleibt dem Objektbenutzer verborgen.
OLE-Objekte werden durch Ihre Schnittstellen definiert.
Der Begriff des „Objekts“ im Sinne von OLE entspricht nicht der Ob-
jektdefinition in objektorientierten Programmiersprachen. OLE-Objekte
unterstützen beispielsweise nicht die Vererbung.

Struktur eines Die nachfolgende Darstellung zeigt beispielhaft ein OLE-Objekt mit
OLE-Objekts 4 Schnittstellen. Der Zugriff auf das Objekt erfolgt nur über eine der
Schnittstellen. Auf das eigentliche Objekt als Ganzes, die darin ent-
haltenen Daten oder den Code, gibt es keine Zugriffsmöglichkeit. Die
Schnittstellen verbergen die ihnen zugeordneten Methoden.

M1 M2 M3 M4
Methode 1

OLE-Objekt
Daten und
Code

M1 M2 M3 M4

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 41
Grundlagen von OLE

Begriff Objekte können mehrere Schnittstellen haben und werden durch die
Schnittstelle Schnittstellen vollständig beschrieben. Nur über die Schnittstellen kön-
nen die Methoden (Objektfunktionen) ausgeführt werden, und nur über
die Schnittstellen kann auf Objektdaten zugegriffen werden.
Objekte können von mehreren Anwendungen benutzt werden. Eine
Schnittstelle besteht aus einer Tabelle von Zeigern auf die eigentlichen
Funktionen.

Struktur einer Die folgende Darstellung zeigt den prinzipiellen Aufbau einer Schnitt-
Schnittstelle stelle. Ein Zeiger auf eine Schnittstelle ist in OLE 2.0 ein Zeiger auf
eine Sprungtabelle mit Funktionszeigern.
Der Aufrufer benutzt einen Zeiger auf die gewünschte Schnittstelle.
Dahinter verbirgt sich wiederum ein Zeiger auf eine Liste von Funkti-
onszeigern. Diese referenzieren nun die eigentlichen Methoden im
OLE-Objekt.

Aufrufer
Schnittstellen-
Zeiger

Zeiger auf Liste Funktionszeiger M1


Funktionszeiger M2
Funktionszeiger M3
Funktionszeiger M4

Objekt-Daten und Code

Schnittstelle

Einführung OPC-Server für SIMATIC NET


42 6GK1971-0BA00-0AA0
Grundlagen von OLE

3.3 Standarddarstellung für Objekte in OLE

Beschreibung In der OLE-Dokumentation ist eine graphische Darstellungsweise für


OLE-Objekte üblich. Diese wird auch in diesem Handbuch übernom-
men. Dabei wird die Liste der Funktionen, die eine Schnittstelle unter-
stützt, zusammengefaßt und nur die Schnittstelle selbst durch einen
Kreis mit einer Linie symbolisiert. Die Schnittstelle wird zusammen mit
dem Objekt dargestellt, das es unterstützt. Objektspezifische Schnitt-
stellen zeigen seitlich auf das Objekt. Die mit allen Objekten gelieferte
Schnittstelle IUnknown ist mit der Oberkante des Objekts verknüpft.

Darstellung eines Die nachfolgende Darstellung verdeutlicht, daß ein Objekt über seine
OLE-Objekts Schnittstellen definiert wird. Der Benutzer eines Objektes kann sich
immer nur Zugang zum Objekt über die Schnittstellen verschaffen.
Einen Zeiger auf das Objekt selbst gibt es nicht.

IUnknown

Schnittstelle A
Schnittstelle B
Schnittstelle C
Objekt X
Schnittstelle D

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 43
Grundlagen von OLE

3.4 Objektsteuerung über das Automation Interface

Automation Automation ist eine Erweiterung von OLE 2, die auf dem Komponen-
tenmodell COM aufsetzt. Automation macht die Befehle, die Objekte
verstehen, nach außen durch eine Verteilerschnittstelle sichtbar. Ur-
sprünglich war die Automation-Schnittstelle zur Steuerung von Objek-
ten, zum Beispiel einer Graphikeinbettung in ein Textprogramm, durch
Makro-Sprachen gedacht.

Zugang für Die bisher beschriebenen Schnittstellen von COM sind für das Lei-
Skriptsprachen stungsspektrum von Entwicklungswerkzeugen, die auf Skriptsprachen
basieren, weniger geeignet. Durch die Erweiterung der OLE-Objekte
durch eine Verteilerschnittstelle werden die Methoden der Objekte
auch für einfache Skriptsprachen zugänglich. Damit ist die einfache
Einbettung eines OLE-Objektes, zum Beispiel in Entwicklungsumge-
bungen wie Visual Basic, Delphi oder Power Builder möglich. Die Ent-
wicklungswerkzeuge verbergen sämtliche Details des Aufrufs der Ob-
jekte.
Der programmierbare Zugang zu OLE-Automation-Servern wird über
Eigenschaften und Methoden definiert.

Einführung OPC-Server für SIMATIC NET


44 6GK1971-0BA00-0AA0
Grundlagen von OPC

4 Grundlagen von OPC

In diesem Kapitel wird Ihnen das Konzept von OPC erläutert. Sie erfahren, welche Rolle
OLE in OPC hat. Sie lernen das Konzept der OPC-Schnittstelle und das
zugrundeliegende Klassenmodell kennen. Weiterhin erhalten Sie tiefergehende
Informationen über die Client-Server-Architektur von OPC.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 45
Grundlagen von OPC

4.1 Die Rolle von OLE in OPC

OPC-Server als Ein OPC-Server bietet eine herstellerunabhängige Schnittstelle. Durch


Teil des Betriebs- die Nutzung des Komponentenmodells COM wird der OPC-Server wie
systems ein Teil des Windows-Betriebssystems und wird damit unabhängig von
Dateinamen, Ablageorten und Versionen.

Warum OLE? Diese Eigenschaften und nicht zuletzt die weite Verbreitung der Win-
dows-Betriebssysteme von Microsoft waren die Veranlassung, eine
herstellerunabhängige Schnittstelle auf dem Fundament COM, und da-
mit auf OLE, aufzubauen.

Leistungsfähige Als weiteren Vorteil bietet OLE die Möglichkeit, die OLE-Objekte in
Entwicklungs- ihrer leistungsfähigen Entwicklungsumgebung zu bearbeiten (Visual
umgebungen Basic, Delphi u. a.).

Einführung OPC-Server für SIMATIC NET


46 6GK1971-0BA00-0AA0
Grundlagen von OPC

4.2 Die OPC Spezifikationen

Data Access Die OPC Data Access Spezifikation ist die grundlegende und erste
Spezifikation der OPC Foundation. Die OPC Data Access Spezifikati-
on bietet eine Verwaltung von Prozeßvariablen und verschiedene
Möglichkeiten zum Zugriff auf die Variable. Variablen können synchron
und asynchron gelesen und geschrieben werden. Außerdem definiert
OPC Data Access die Möglichkeit, bei Änderung einer Variablen eine
Benachrichtigung an einen Client zu schicken.

Um eine OPC Variable zu benutzen, muß ein Client die Variable zuvor
beim OPC-Server anmelden. Damit definiert der Client, für welche
Werte er sich zu welchen Zeitpunkten interessiert.

Die Anwendung bekommt einen "Schnappschuß" der Prozeßwerte


vom Zeitpunkt, an dem der Leseauftrag ausgeführt wurde. Zwischen-
werte werden ggf. nicht von der Applikationen erfaßt. Bei der Beob-
achtung von Variablen werden intern zyklische Leseaufträge abge-
setzt.

Die Quelle der Prozeßwerte ist durch die Spezifikation nicht festgelegt.
Beliebige Informationen können über DataAccess bereitgestellt wer-
den. Die Datenquelle ist herstellerspezifisch und definiert letztendlich
ein OPC-Server-Produkt.

Mögliche Variablen eines OPC Data Access Servers könnten Steue-


rungsgrößen einer Speicherprogrammierbaren Steuerung; Meßwerte
eines Meßdatenerfassungssystem, oder Statusvariablen des Kommu-
nikationssystems sein.

Alarms & Events OPC Alarms&Events ist eine zusätzliche Spezifikation zur Übertragung
von Prozeßalarmen und Ereignissen. Sie ist prinzipiell unabhängig von
der Data Access Spezifikation.

Ereignisse sind besondere Zustände im Prozeß, die an einen Empfän-


ger gemeldet werden müssen. Dabei werden entsprechend der einge-
stellten Filterkriterien alle empfangenen Ereignisse an die Applikatio-
nen gemeldet.

Die OPC Alarms&Events-Spezifikation unterscheidet nach einfachen


Ereignissen und komplexeren Zustandsmeldungen. Zustandsmeldun-
gen können auch eine Quittierung erfordern.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 47
Grundlagen von OPC

4.3 Die zwei Schnittstellenarten von OPC

OLE-Schnittstellen Eine OLE-Komponente stellt anderen Komponenten oder Applikatio-


nen Objekte und deren Methoden zur Verfügung. Auf diese Objekte
wird über die OLE-Schnittstellen zugegriffen. Eine Schnittstelle im
Sinne von OLE ist eine Gruppe von logisch zusammengehörigen
Funktionen.

Zwei Arten von Der OPC-Server für SIMATIC NET unterstützt zwei verschiedene Ar-
Schnittstellen ten von OLE-Schnittstellen:
• Automation-Schnittstelle
• Custom-Schnittstelle
Beide Schnittstellen dienen der Kommunikation zwischen Objekten.
Die Automation- und Custom-Schnittstelle unterscheiden sich vonein-
ander, wie intern die Methoden einer Schnittstelle aufgerufen werden.
Folglich gibt es auch zwei verschiedene Schnittstellenspezifikationen
für den OPC-Server:
• Schnittstellenspezifikation der Automation-Schnittstelle
• Schnittstellenspezifikation der Custom-Schnittstelle

OPC Beide Arten von Schnittstellen sind prinzipiell für alle OPC-
Spezifikationen Spezifikationen möglich. Für die grundlegende Spezifikation "OPC
Data Access" sind beide Schnittstellenarten verfügbar.
Für "OPC Alarms & Events" steht nur die Custom-Schnittstelle zur
Verfügung.
Darstellung Die nachfolgende Darstellung zeigt beispielhaft, welche Arten von
OPC-Server Applikationen über welche Schnittstellen des OPC-Servers genutzt
werden können.

C/C++-Applikation
Custom-
Schnittstelle
OPC-Server

Herstellerspezifische
Visual-Basic- Hardware
Applikation
Automation-
Schnittstelle

Einführung OPC-Server für SIMATIC NET


48 6GK1971-0BA00-0AA0
Grundlagen von OPC

Wann wird welche Client-Applikationen, die auf einer Scriptsprache wie Visual Basic oder
Schnittstelle VBA basieren, müssen die Automation-Schnittstelle benutzen.
benutzt?
Grundsätzlich gilt, daß Applikationen in der Programmiersprache
C/C++ für eine maximale Performance auf der Custom-Schnittstelle
aufsetzen sollten.
Die Anwendung der Automation-Schnittstelle ist jedoch auch in C/C++
möglich.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 49
Grundlagen von OPC

4.4 Das Klassenmodell von OPC Data Access

Aufbau Die OPC-Spezifikation für den Datenzugriff (Data Access) ordnet die
Schnittstellen und deren Methoden in drei hierarchische Klassen ein.
Diese Struktur wird als Klassenmodell bezeichnet.
Sowohl die Automation- als auch die Custom-Schnittstelle von OPC
Data Access basieren auf diesem Klassenmodell. Die Klassen sind
durch OLE-Objekte realisiert, die im folgenden vereinfacht als Objekte
bezeichnet werden.

Klassenmodell Das Klassenmodell besteht aus drei Objekt-Klassen:


• OPC-Server
• OPC-Group
• OPC-Item

Die folgende Darstellung zeigt das OPC-Klassenmodell:

OPC-Server
1:n

OPC-Group

OPC-Item

Klasse An oberster Stelle steht die Klasse OPC-Server. Die Klasse OPC-
„OPC-Server“ Server besitzt verschiedene Attribute, die Informationen über den
Status, die Version etc. eines OPC-Server-Objekts enthalten. Außer-
dem besitzt die Klasse OPC-Server Methoden, mit denen ein Client
die Objekte der Klasse OPC-Group verwalten kann. Nur an ein Objekt
dieser Klasse wendet sich eine Client-Applikation direkt über COM-
Mechanismen. Die anderen Objekte werden durch entsprechende
OPC-Methoden erzeugt.

Einführung OPC-Server für SIMATIC NET


50 6GK1971-0BA00-0AA0
Grundlagen von OPC

Klasse Die Klasse „OPC-Group“ verwaltet die einzelnen Prozeßvariablen, die


„OPC-Group“ OPC-Items. Mit Hilfe dieser Gruppen-Objekte kann ein Client seman-
tisch sinnvolle Einheiten von OPC-Items bilden und mit diesen Opera-
tionen ausführen.
So können sich zum Beispiel in einer Gruppe alle Prozeßvariablen der
Maschine A befinden und in einer zweiten Gruppe die Prozeßvariablen
der Maschine B.
Es könnten aber auch alle Prozeßvariablen einer Bildschirmseite eines
Bedien- und Beobachtungssystems in einer Gruppe zusammengefaßt
werden. Bei Aufblenden der Seite würde die Gruppe aktiviert werden.

Klasse Ein Objekt der Klasse OPC-Item repräsentiert eine Verbindung zu


„OPC-Item“ einer Prozeßvariablen, zum Beispiel zum Eingabemodul einer spei-
cherprogrammierbaren Steuerung. Eine Prozeßvariable ist ein
schreibbares und/oder lesbares Datum der Prozeßperipherie, wie zum
Beispiel die Temperatur eines Kessels.
Ein Objekt der Klasse Server ist im übertragenen Sinn ein Behälter für
Objekte der Klasse OPC-Group.
Ein Objekt der Klasse OPC-Group ist im übertragenen Sinn ein Be-
hälter für Objekte der Klasse OPC-Item.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 51
Grundlagen von OPC

4.5 Das Prinzip von OPC Alarms & Events

Aufbau Um die OPC Alarms&Events-Schnittstelle für die unterschiedlichsten


Ereignisquellen benutzen zu können, ist sie sehr flexibel gestaltet. Sie
ist anwendbar für einfache Ereignis-Quellen, die z.B. über den Ausfall
einer Systemkomponente informieren bis hin zu komplexen, zustands-
behafteten und zu quittierenden Ereignissen. Solche Ereignisse wer-
den durch Bedingungen festgelegt.
Beispiel einer Bedingung: Die Temperatur in einem Prozeß über-
schreitet einen definierten Grenzwert.

Die OPC-Spezifikation definiert die möglichen Zustandsübergänge für


bedingte Ereignisse in einem Zustandsdiagramm. Details zu dem Zu-
standsdiagramm können Sie der OPC Spezifikation entnehmen.

Ereignismeldunge Ein Ereignis ist das Vorkommnis einer für den Anwender interessanten
n Situation. Ein solches Ereignis wird dem Anwender durch eine Benach-
richtigung mitgeteilt.

Mit der Benachrichtigung werden die durch die OPC-Spezifikation


definierten Parameter und - je nach Bedarf - durch den Hersteller fest-
gelegte Begleitwerte mitgeliefert.

Die Spezifikation für OPC Alarms & Events definiert drei Typen von
Benachrichtigungen:

• Bedingte Ereignisse (Condition related Events)


Melden die im OPC Zustandsmodell definierten Zustandsübergän-
ge und sind an definierte Bedingungen gebunden
• Protokollier-Ereignisse (Tracking Events)
Melden Veränderungen des Prozesses z.B. durch Anwenderein-
griff. (Beispiel: Der Bediener verändert den Sollwert eines Reglers)
• Einfache Ereignisse (Simple Events)
Die Einfachen Ereignisse umfassen alle restlichen Ereignisse. Sie
haben keinen Zustand. Ein typisches einfaches Ereignis ist der
Ausfall einer Systemkomponente

Einführung OPC-Server für SIMATIC NET


52 6GK1971-0BA00-0AA0
Grundlagen von OPC

OPC Event
Server

1 1
1:n 0:n

OPC Event OPC Event


Subscription Area Browser

Klasse "OPC Event An die Objekte der Klasse "OPC Event Server" wendet sich eine Cli-
Server" ent-Applikation mittels der COM-Mechanismen. Damit kann die Appli-
kation die von dem OPC Event-Server bereitgestellten Ereignisse
empfangen. Die wichtigste Aufgabe des OPC Event Servers ist die
Verwaltung der Anmeldungen für Ereignisse verschiedener Clients.
Weiterhin liefert der OPC Event Server Informationen über die unter-
stützten Ereigniskategorien und Parameter.

Klasse "OPC Event Über den OPC Event Server legt ein Client ein- oder mehrere OPC
Subscription" Subscription Objekte an. Eine Subscription kann als Abonnement einer
Menge von Ereignissen verstanden werden. Über die Subscriptions
werden spezifisch für den Client Filter und andere Attribute verwaltet.

Klasse "OPC Event OPC Alarms & Events bietet die Möglichkeit, umfassende Anlagen in
Area Browser" Anlagenbereiche (Areas) zu strukturieren. Areas können zur Filterung
von Ereignissen verwendet werden. Mit Hilfe des optionalen Objekts
"OPC Event Area Browser" können die Anlagenbereiche untersucht
werden.

Verbindung Die folgende Abbildung zeigt, in welchen Schritten sich eine Applikati-
zwischen Client on zum Empfang von Meldungen anmeldet:
und Server

111
1 OPC Event Server
Client

2 OPC Event
Subscription
3 Connection Point
Container
On Event 4 Connection Point

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 53
Grundlagen von OPC

Schritt 1: Der Client erzeugt über die COM-Mechanismen ein


OPC Event Server Objekt.
Schritt 2: Über die Methode "CreateEventSubscription" erzeugt
der Client ein OPC Event Subscription Objekt im Ser-
ver. Das Subscription-Objekt legt mit seiner Erzeugung
einen Connection Point Container an.
Schritt 3: Der Client benutzt den Connection Point Container, um
den Connection Point zur Benachrichtigung
(IID_IOCEventSink) zu lokalisieren. An diesem Con-
nection Point meldet der Client über Advise sein Rück-
ruf-Objekt "OnEvent" an.
Schritt 4: Falls ein Ereignis eintrifft, ruft der OPC Event Server
das Rückruf-Objekt des Clients auf.

Einführung OPC-Server für SIMATIC NET


54 6GK1971-0BA00-0AA0
Grundlagen von OPC

4.6 Mengenoperationen

Definition Die OPC-Spezifikation unterstützt für Objekte der Klasse OPC-Group


bei verschiedenen Methoden sogenannte Mengenoperationen. Von
einer Mengenoperation spricht man, wenn durch den Aufruf einer Me-
thode mehrere Objekte angesprochen werden können.

Vorteile für OPC- Es ist beispielsweise möglich, nur mit dem Aufruf der OPC Data Ac-
Anwender cessMethode „Read“ alle OPC-Item-Objekte einer Gruppe mit einem
einzigen Befehl zu lesen. In der OPC Alarms&Events-Spezifikation
werden alle vorliegenden Ereignisse über einen Aufruf der Funktion
"OnEvent" übertragen.

Mengenoperationen haben den Vorteil, daß sie die Anzahl der Pro-
zeßwechsel, die bei Aufruf von Methoden einer Software-Komponente
erfolgen, gering halten. Das verbessert die Ausführungsgeschwindig-
keit von Methodenaufrufen und ist besonders dann von Vorteil, wenn
sich die Software-Komponenten auf verschiedenen Rechnern oder in
verschiedenen Prozessen befinden.

Ein weiterer Vorteil ist, daß der SIMATIC NET OPCServer in vielen
Fällen den Zugriff auf OPC-Item-Objekte bei Mengenoperationen op-
timiert und damit die Belastung des Netzwerks verringert.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 55
Grundlagen von OPC

4.7 Die Client-Server-Architektur von OPC

Beschreibung Wie jede OLE-Implementierung besitzt OPC eine Client-Server-


Architektur. Der OPC-Server stellt den OPC-Clients Schnittstellen und
damit eine definierte Funktionalität zur Verfügung. Über diese Schnitt-
stellen kann der Client Objekte im Server erzeugen, benutzen und
löschen.

Typen von OLE- Je nach Art der Einbindung des Servers teilt man OLE-Server in drei
Servern Typen ein:
• In-Process Server
• Local Server
• Remote Server
Die aufrufende Applikation braucht nicht zu unterscheiden, an welche
Art von Server sie sich wendet. Die Syntax der Methodenaufrufe ist für
alle gleich.

In-Process Server Ein In-Process Server befindet sich im gleichen Prozeßraum wie der
Client, er steht nur diesem Prozeß zur Verfügung. Üblicherweise wer-
den In-Process Server als DLLs realisiert. Nur die OPC-Automation-
Schnittstelle des OPC-Servers für SIMATIC NET ist als In-Process
Server, der die Automation-Schnittstelle realisiert. Der In-Process Ser-
ver greift über die OPC-Custom-Schnittstelle auf den Local Server zu.

Local Server Ein Local Server läuft auf dem selben Rechner wie der Client. Er be-
sitzt wie jede unabhängige Applikation einen eigenen Prozeß- und
Adreßraum. Der OPC-Server für SIMATIC NET ist ein Local Server
und als EXE-Datei realisiert.

Remote Server Ein Remote Server befindet sich auf einem anderen Rechner, der
jedoch vom Client über eine Netzwerkverbindung erreicht werden
kann.

Durch die Implementation legt der Anbieter eines OPC-Servers fest,


ob der Server ein In-Process Server oder ein Local-Server ist. Der
Betrieb als Remote-Server muß durch den Anwender konfiguriert wer-
den.

Einführung OPC-Server für SIMATIC NET


56 6GK1971-0BA00-0AA0
Grundlagen von OPC

Zugriffe auf Die nachfolgende Darstellung zeigt, auf welche Komponenten des
Komponenten OPC-Servers für SIMATIC NET verschiedene Arten von Clients zu-
greifen:

OPC-InProc-
Visual- Server
Basic-Client

Automation-
OPC-Local- Protokoll-
Schnittstelle
Server Software
(als DLL)
und
Hardware-
Custom- Anbindung
Schnittstelle
(als EXE)
C/C++-
Client

SIMATIC NET-OPC-Server

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 57
Begriffe der OPC-Schnittstellenbeschreibung

4.8 Begriffe der OPC-Schnittstellenbeschreibung

Im folgenden werden einige Begriffe erklärt, die bei der Beschreibung der Schnittstellen
benutzt werden. Eine vollständige Beschreibung der OPC-Begriffe finden Sie in den
OPC-Spezifikationen, die als Dateien im Verzeichnis „DOC“ des OPC-Servers für
SIMATIC NET abgelegt ist.
Soweit sinnvoll, wird in diesem Kapitel auf Besonderheiten des OPC-Servers für
SIMATIC NET hingewiesen.

Einführung OPC-Server für SIMATIC NET


58 6GK1971-0BA00-0AA0
Begriffe der OPC-Schnittstellenbeschreibung

Abgrenzung der Die Begriffe sind alphabetisch sortiert. Bei jedem Begriff ist außerdem
Begriffe gekennzeichnet, ob er zum Umfeld von OLE, OPC Data Access, OPC
Alarms & Events (A&E) oder Windows gehört (Siehe Bild S.13).

Besonderheiten Anmerkungen zu den Eigenschaften des OPC-Servers für


des OPC-Servers SIMATIC NET sind hervorgehoben und sollten besonders beachtet
von SIMATIC NET werden.

OLE, OPC- und Windows-Begriffe

Aktiv-Status Ein OPC-Server bietet, sowohl die Möglichkeit Werte einer Prozeßva-
(ActiveState) riablen zu lesen oder zu schreiben, als auch die Möglichkeit Prozeß-
(OPC Data Access) variablen zu überwachen.
Überwachen bedeutet, daß der Server nach Ablauf eines Zeitintervalls
(siehe: Überwachungsintervall) prüft, ob sich der Wert der Prozeßva-
riablen geändert hat. Bei einer Änderung des Wertes wird dem Client
automatisch der neue Wert gesendet. Der Client kann die Überwa-
chung einer Prozeßvariablen durch das Setzen des Aktiv-Status steu-
ern. Jede Gruppe und jedes OPC-Item-Objekt besitzt das Attribut Ak-
tiv-Status.
Möchte ein Client eine Prozeßvariable überwachen, so setzt er den
Aktiv-Status des OPC-Items, das die Verbindung zu dieser Prozeßva-
riablen repräsentiert, auf TRUE.
Zusätzlich muß der Aktiv-Status der Gruppe den Wert TRUE besitzen.
Ist eine Gruppe nicht aktiv, erfolgt keine Überwachung der Prozeßva-
riablen in dieser Gruppe.

Alarm Ein Alarm ist ein Ereignis, das durch eine nicht mehr den Normalzu-
(OPC A&E) stand beschreibende Bedingung ausgelöst wurde. Deshalb werden
Alarme als eine Sonderform der Condition nicht gesondert behandelt.
Area Mit Hilfe von Areas kann ein OPC Event Server die zu überwachende
(OPC A&E) Produktionsanlage unterteilen. Die Art und Projektierung der Untertei-
lung ist dem Hersteller des Servers freigestellt. Die Implementierung
des Area-Konzepts ist optional.

Der OPC Event Server für SIMATIC NET unterstützt das Konzept
der Areas nicht.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 59
Begriffe der OPC-Schnittstellenbeschreibung

Cache Der Cache ist ein Zwischenspeicher für alle Variablen, die über
(OPC Data Access) OPC-Items referenziert werden. Der Cache ist global für alle Benutzer.
Falls also mehrere Benutzer dieselbe Variable referenzieren, wird die-
se nur einmal im Cache abgelegt.
Leseoperationen (Read bzw. Refresh) können mit der Option
OPC_DS_CACHE die Daten aus dem Server-Cache lesen.

Der SIMATIC NET-OPC-Server verwaltet einen Cache.

Categories Mit Hilfe von Kategorien (Categories) können die von einem OPC
(OPC A&E) Event Server unterstützten Ereignisse gruppiert und damit selektiert
werden. Die Definition der Kategorien ist dem Hersteller eines OPC
Event Servers überlassen, die OPC-Spezifikation definiert eine Liste
empfohlener Ereigniskategorien.

Die vom OPC Event Server für SIMATIC NET unterstützten Katego-
rien können Sie Kap. 6.2 entnehmen.

Condition Eine Condition ist ein definierter Zustand des OPC Event Servers.
(OPC A&E) Conditions können Subconditions enthalten. Beispiel: Eine Condition
der Variable "Füllstand" ist der Füllstandsalarm mit den Subconditions
HighAlarm, HighHighAlarm, LowAlarm und LowLowAlarm.

Der OPC Event Server für SIMATIC NET unterstützt keine Conditi-
ons und keine Subconditions.

Enumerator Mit einem Enumerator ist es möglich, eine Sammlung von Objekten zu
(Windows) durchlaufen.
Events Ein "Event" ist ein beliebiger Vorfall, der für einen Client von Interesse
(Ereignisse) sein könnte. Obwohl Ereignisse auch durch das Eintreten einer Bedin-
(OPC A&E) gung erzeugt werden können, müssen Sie nicht an Conditions gebun-
den sein. Beispiele für Ereignisse, die nicht an Bedingungen geknüpft
sind, sind z.B. Fehlermeldungen des Kommunikationssystems.
OPC-Item-ID Die OPC-Item-ID ist ein String, der eine Prozeßvariable eindeutig
(OPC Data Access) identifiziert.
Die Syntax der ID ist vom Server abhängig. Die OPC-Item-ID gibt dem
Server eindeutig an, welche Prozeßvariable dem OPC-Item
zugeordnet wird.

Der Wert der OPC-Item-ID für den OPC-Server für SIMATIC NET
hängt vom Protokoll ab. Das Kapitel 5 beschreibt den Aufbau der
OPC-Item-ID für den OPC-Server für SIMATIC NET.

Einführung OPC-Server für SIMATIC NET


60 6GK1971-0BA00-0AA0
Begriffe der OPC-Schnittstellenbeschreibung

LCID Kürzel für Local ID. Die LCID gibt Auskunft, welche Ländereinstellung
(Windows) der Benutzer für das Windows-Betriebssystem ausgewählt hat.
Diese Information wird verwendet, um Daten evtl. in länderspezifi-
schen Formaten anzuzeigen. Die LCID kann über ein Windows-API-
Aufruf ermittelt werden.

Der OPC-Server für SIMATIC NET gibt Fehlertexte wahlweise in


deutscher oder englischer Sprache aus.

OPCHANDLE OPCHANDLES werden für Gruppen und OPC-Items benutzt. Sie er-
(OPC) lauben den schnellen Zugriff auf die verschiedenen Objekte sowohl für
Clients als auch für Server.
Der Wert eines Handles ist implementierungsabhängig. Clients dürfen
keine Annahmen über den Wertebereich machen. Ebenso machen
Server keine Annahmen über Client-Handles.
Server-OPCHANDLEs sind zeitlich nur gültig für die Existenz eines
OPC-Server-Objektes. Speichern und Wiederverwenden nach Start
eines Clients ist daher nicht möglich. Ein Server-Group-Handle ist
jeweils eindeutig innerhalb eines Servers. Ein OPC-Item-Group-Handle
ist eindeutig innerhalb einer Gruppe.
Client-Handles sind für asynchrone Operationen zwingend erforderlich,
da sie im Callback als OPC-Item-Identifikation zurückgeliefert werden.

REFIID REFIID ist eine Referenz oder Zeiger auf eine Schnittstellen-ID (kurz:
(Windows) IID).
Eine Schnittstellen-ID ist ein eindeutiger Schlüssel einer Schnittstelle;
bei OPC z. B. Schnittstelle „IOPCItemMgt“. Um einen Zeiger auf eine
bestimmte Schnittstelle zu erhalten, muß als Parameter die IID der
gewünschten Schnittstelle angegeben werden.

Requested Durch Angabe des Requested Datatype kann ein Anwender den Da-
Datatype tentyp einer Variable bestimmen. Wird der Datentyp durch den An-
(OPC Data Access) wender nicht explizit spezifiziert, hat die Variable den kanonischen
Datentyp. Die OPC-Spezifikation schreibt die Umwandlung nur für
skalare Typen vor. Der OPC-Server für SIMATIC NET kann zusätzlich
alle Datentypen (auch Felder) in VT_BSTR konvertieren.
Time Bias Time Bias gibt die Differenz zwischen der UTC-Zeit und der lokalen
(OPC) Zeitzone an. Dadurch wird der Umstand berücksichtigt, daß ein OPC-
Server und ein OPC-Client über ein weltweites Netz verteilt sein kön-
nen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 61
Begriffe der OPC-Schnittstellenbeschreibung

UpdateRate Das Überwachungsintervall „UpdateRate“ legt den Zeitintervall fest,


(OPC Data Access) nach dessen Ablauf der Server bei einer Überwachung prüft, ob sich
der Wert eines OPC-Items verändert hat (siehe „Aktiv-Status“). Das
Überwachungsintervall ist ein Attribut eines Gruppen-Objekts.
Der Benutzer kann für jede Gruppe eine „UpdateRate“ einstellen. Mit
dem Wert 0 kann die kleinste zulässige „UpdateRate“ angefordert wer-
den.
Falls die gewünschte Rate nicht unterstützt wird, meldet der Server
eine alternative Rate („RevisedUpdateRate“) zurück, die den nächsten
zulässigen Wert darstellt.

VARIANT Ein VARIANT ist ein spezieller Datentyp, der vorwiegend in OLE-
(Windows) Automation verwendet wird.
Eine Variable vom Typ VARIANT kann Werte verschiedener Varia-
blentypen sowie die speziellen Werte Empty, Error und Null repräsen-
tieren.

Kanonischer Unter dem kanonischen Datentyp versteht man den ursprünglichen


Datentyp Datentyp einer Variablen, so wie dieser vom OPC-Server intern darge-
(OPC Data Access) stellt und geliefert wird.

AccessPath Der Zugriffspfad „AccessPath“ ist eine optionale Information für Ob-
(OPC Data Access) jekte der Klasse OPC-Item. Der Bedarf und die Interpretation eines
Zugriffspfads ist vom jeweiligen Server abhängig. Der Zugriffspfad
spezifiziert, falls erforderlich, auf welchem Weg der Server die Daten
einer Prozeßvariablen lesen bzw. schreiben soll.
Der Zugriffspfad kann zum Beispiel ein Pfad- oder Verbindungsname
sein.

Der Wert für den Access-Path für den OPC-Server für SIMATIC NET
hängt vom Protokoll ab. Das Kapitel 5 beschreibt den Aufbau des
Access-Path für den OPC-Server für SIMATIC NET.

Einführung OPC-Server für SIMATIC NET


62 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5 Aufbau der OPC-Items für die SIMATIC NET Data


Access-Schnittstelle

Der OPC-Server für SIMATIC NET bietet über die OPC-Schnittstelle einen
standardisierten Zugriff auf die industriellen Kommunikationsnetze von SIMATIC NET.
Damit steht dem Anwender von OPC ein offenes, umfassendes und aufeinander
abgestimmtes System für die Kommunikation in der Automatisierungstechnik zur
Verfügung.
Dieses Kapitel erläutert, wie die herstellerspezifischen Eigenschaften der
Kommunikationsnetze von SIMATIC NET durch den Aufbau der Namen von OPC-
Variablen zum Tragen kommen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 63
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.1 Allgemeingültige Aussagen

OPC-Item Die einzige Klasse in OPC, die eine Referenz auf eine reale Größe
repräsentiert aus dem Prozeß herstellt, ist die Klasse OPC-Item. Ein Objekt der
Prozeßvariable Klasse OPC-Item repräsentiert eine Prozeßvariable. Die Eigenschaf-
ten eines OPC-Items, die bei dem Aufruf „AddItem“ an das erzeugte
Objekt übergeben werden, beschreiben, welche Variable angespro-
chen werden soll.
Die OPC-Spezifikation enthält keine Aussage, wie die Parameter auf-
gebaut werden sollen. Diese Angaben werden durch den Server und
das angebundene Kommunikationssystem vorgegeben.

Beschreibungs- Zur Beschreibung der Syntax wird folgende Notation verwendet:


formen

Syntaktische Zeichen, die Bedeutung


nicht übernommen werden
Spitze Klammern ( < > ) Texte in spitzen Klammern sind
notwendige Angaben
Geschweifte Klammern ( { } ) Texte in geschweiften Klammern
sind optionale Angaben

Die Eckigen Klammern ( [ ] ) sind Teil der Syntax und müssen über-
nommen werden.

Parameter „ItemID“ Der Parameter „ItemID“ enthält alle Angaben, die notwendig sind, um
eine Prozeßvariable eindeutig zu identifizieren. Dabei handelt es sich
um einen String mit folgendem Aufbau:
<Protokoll-ID>:[<Verbindungsname>]<Variablenname>

Beispiel 1: DP:[CP_L2_1:]Slave005M00AW00
Beispiel 2: S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]EB0
Beispiel 3: FMS:[FMS_CON|VFD_OPC|CP_L2_1:]&vfdstate()
Beispiel 4: SR:[SROPC_1||CP_H1_1:]Motor
Beispiel 5: FDL:[SROPC_1||CP_H1_1:]Motor
Beispiel 6: DPS:[DPSONLINE]Motor

Einführung OPC-Server für SIMATIC NET


64 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Protokoll-ID Die Protokoll-ID gibt das zu benutzende Protokoll an, um auf die Pro-
zeßvariable zuzugreifen. Diese Angabe ist unbedingt notwendig. Die
Protokoll-ID kann alternativ zusammen mit dem Verbindungsnamen im
Parameter „AccessPath“ spezifiziert werden.

Für die verfügbaren Protokolle gelten folgende Protokoll-IDs:


DP DP Master Klasse 1 (incl. DP-C1)
S7 S7-Funktionen über PROFIBUS und Ethernet
FMS FMS-Protokoll über PROFIBUS
SR S5-kompatible Kommunikation über Ethernet
(„Send/Receive“)
FDL S5-kompatible Kommunikation über PROFIBUS
DPS DP-Slave (zyklische Dienste)

Verbindungsname Der Verbindungsname identifiziert die Verbindung bzw. den Kommuni-


kationszugang, über die bzw. über den der Partner (z.B. SPS oder
DP-Slave) erreicht werden kann. Der Verbindungsname muß innerhalb
eines Protokolls eindeutig sein. Diese Angabe ist abhängig vom ge-
wählten Protokoll. Der Verbindungsname kann auch in den Parameter
„AccessPath“ übernommen werden.

Variablenname Der Variablenname spezifiziert schließlich die anzusprechende Varia-


ble und muß für die angegebene Verbindung eindeutig sein. Das For-
mat dieses Parameters ist ebenfalls vom Protokoll abhängig. Werden
Protokoll-ID und Verbindungsname in dem Parameter „AccessPath“
spezifiziert, enthält der Parameter „ItemID“ nur den Variablennamen.

Parameter Der „AccessPath“ ist eine optionale Angabe. Die Angaben von Proto-
„AccessPath“ koll-ID und Verbindungsnamen können bei dem OPC-Server für
SIMATIC NET in den Parameter „AccessPath“ eingetragen werden.
Wenn der Parameter „AccessPath“ verwendet wird, ist er ein String mit
folgendem Aufbau:

<Protokoll-ID>:[<Verbindungsname>]

Beachten Sie bitte, dass in diesem Falle die obigen Angaben nicht Teil
des Parameters „ItemID“ sein dürfen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 65
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.2 DP-Protokoll

5.2.1 Angaben für das DP-Protokoll

Master und Slaves Das Protokoll DP für den PROFIBUS spezifiziert auch den Multi-
Master-Betrieb. Üblicherweise (aus Performance-Gründen) wird es in
Mono-Master-Systemen eingesetzt. Für den OPC-Server für
SIMATIC NET ist der DP-Master der PC mit einem entsprechenden
Kommunikationsprozessor, z. B. CP 5412 (A2). Ein Master spricht
Slaves zyklisch über den Feldbus an.
Slaves sind im allgemeinen Ein-/Ausgabebaugruppen, die dezentral im
Prozeßfeld lokalisiert sind und über ein passives Kommunikationsmo-
dul verfügen.

Eigenschaften des Der DP-OPC-Server von SIMATIC NET hat folgende Eigenschaften:
DP-OPC-Servers
• Variablendienste Zugriff und Beobachtung von DP-
Ein- und Ausgängen
• DPC1-Dienste Azyklische Übertragung von Daten-
blöcken
• Diagnoseauswertung Automatische Auswertung der
statischen Diagnose

Protokoll-ID Die Protokoll-ID für das DP-Protokoll lautet immer „DP“.

Verbindungsname Für das DP-Protokoll spezifiziert der Verbindungsname den Kommuni-


kationszugang durch Angabe des Kommunikationsprozessors, der als
DP-Master mit den Slaves kommuniziert.
Der Verbindungsname für das DP-Protokoll ist
CP_L2_x: x = 1, 2, 3 oder 4

Beispiel: CP_L2_1:

Zugriff auf DP- Der Zugriff auf eine DP-Variable (einen E/A-Bereich eines Slaves)
Variablen erfolgt durch Angabe der Slave-Nummer (PROFIBUS-Adresse), der
Modul-Nummer und des E/A-Bereichs.

DP-Slaves sind modular aufgebaut. Ein DP-Slave kann mehrere Mo-


dule mit unterschiedlichen E/A-Bereichen enthalten. Die Zuordnung
der Module geschieht durch die DP-Projektierung.

Einführung OPC-Server für SIMATIC NET


66 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.2.2 Syntax von Variablennamen für DP

Übersicht Mit dem Variablennamen wird ein Ein- oder Ausgangsbereich in dem
Modul eines Slaves bezeichnet. Weiterhin können über Variablenna-
men Statusinformation der Slaves und des DP-Masters angesprochen
werden.

Zur Beschreibung der Syntax wird folgende Notation verwendet:

Syntaktische Zeichen, die Bedeutung


nicht übernommen werden
Spitze Klammern ( < > ) Texte in spitzen Klammern sind
notwendige Angaben
Geschweifte Klammern ( { } ) Texte in geschweiften Klammern
sind optionale Angaben

Syntax Die Syntax für die Slaveein- und Ausgänge ist wie folgt definiert, die
Groß-/Kleinschreibung ist irrelevant:
• Eingänge:
Slave<Adresse>M<Nummer>E<Format><Element>{.Bit}{,Anzahl}

• Ausgänge:
Slave<Adresse>M<Nummer>A<Format><Element>{.Bit}{,Anzahl}

Beschreibung der Die einzelnen Parameter haben folgende Bedeutung:


Parameter

<Adresse> PROFIBUS-Adresse des Slaves. Bereich 0 ... 126

<Nummer> Nummer des Moduls, das den Ein- bzw. Ausgabebereich enthält

{Format} Das Element „Format“ legt fest, in welchem Format die Daten geliefert
werden. Durch die Formatangabe wird auch der Datentyp festgelegt.
Über die Automation-Schnittstelle von OPC können prinzipiell alle
angegebenen OLE-Datentypen gelesen werden. Jedoch bieten einige
Entwicklungswerkzeuge (wie z.B. Visual Basic) nur eine einge-
schränkte Menge von Datentypen an. Die folgende Tabelle listet des-
halb zusätzlich den entsprechenden Visual Basic-Typ auf, in dem der
Variablenwert dargestellt werden kann.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 67
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Format- Beschreibung OLE-Datentyp VB-Typ


bezeichner
X Bit VT_BOOL Boolean
BYTE oder B Byte (unsigned 8) VT_UI1 Byte
CHAR Character (signed 8) VT_I1 Integer
WORD oder W Wort (unsigned 16) VT_UI2 Long
INT Integer (signed 16) VT_I2 Integer
DWORD oder D Doppelwort (unsigned 32) VT_UI4 Double
DINT Doppel-Integer (signed 32) VT_I4 Long
REAL Fließkommazahl (IEEE 4 Byte) VT_R4 Single
BK Konsistente Daten als Feld von Bytes VT_ARRAY of Byte() *
(unsigned 8) VT_UI1
WK Konsistente Daten als Feld von VT_ARRAY of Long() *
Wörtern (unsigned16) VT_UI2

* Defaulteinstellung in Visual Basic BSTR

<Element{.Bit}> Nummer des anzusprechenden Elements (nicht bei BK und WK mög-


lich). Die Byte-Adresse eines Elements wird durch den Datentyp be-
stimmt.
Beispiel:
B2 liefert ein Byte ab Byteadresse 2, W2 liefert dagegen ein Wort ab
Wortadresse 2, die der Byteadresse 4 entspricht!

Die Spezifizierung eines Bits ist nur bei dem Typ X zulässig. Die anzu-
gebende Adresse ist eine Byteadresse.
Beispiel:
X2.3 liefert das 3. Bit des 2. Bytes.

{,Anzahl} Anzahl der Elemente (nicht bei BK, WK und X möglich). Der Datentyp
der Variable ist ein Feld mit Elementen (Datentyp VT_ARRAY) des
angegebenen Formats. Wird dieser Namensteil weggelassen, wird als
Anzahl 1 angenommen und der Datentyp der Variable ist kein Feld.

Einführung OPC-Server für SIMATIC NET


68 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte


Definition verdeutlichen.

Vergessen Sie nicht, daß Sie der Variablen stets die Protokoll-ID und
die Baugruppenbezeichnung (z.B. „DP:[CP_L2_1:]“ )voranstellen
müssen!

Syntaxbeispiel Beschreibung
Slave005M003EB0 Eingangsbyte 0 des Moduls 3 von Slave 5
Slave005M003EB1,3 Feld mit 3 Bytes ab Eingangsbyte 1
Slave005M003ED0 Doppelwort ab Eingangsbyte 0
Slave005M007AB1 Ausgangsbyte 1 des Moduls 7
Slave005M007AX2.5 Bit 5 im Ausgangsbyte 2 des Slaves 5, Modul
7
Slave004M007EBK Alle Eingangsdaten des Moduls 7 von Slave 4
als Bytefeld
Slave004M003AWK Alle Ausgangsdaten des Moduls 3 von Slave 4
als Feld des Datentyps Wort
Slave004M003EReal0 Der Eingangsbereich von Slave 4, Modul 3 als
Fließkommazahl

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 69
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.2.3 Syntax von Variablennamen für DPC1-Zugriff

Allgemein Das DPC1-Protokoll ermöglicht den Zugriff auf Speicherbereiche des


DPC1-Slaves. Die Bedeutung dieser Speicherbereiche ist durch den
Hersteller des Slaves festgelegt. Speicherbereiche können z. B. für
Konfigurationsdaten genutzt werden.

Der OPC-Server kann bei dem Anmelden einer DPC1-Variablen nur


die Syntax auf Korrektheit überprüfen, nicht jedoch, ob aufgrund der
Projektierung des DPC1-Slaves die Variable im Partnergerät gültig ist.

Syntax Die Variablennamen werden beim Zugriff auf DPC1-Variablen nach


folgender Syntax gebildet:
Slave<Adresse>M<Slot>
DPC1,{Format}<Index>{,Anzahl}

Beschreibung der Die einzelnen Parameter haben folgende Bedeutung:


Parameter

<Adresse> PROFIBUS-Adresse des Slaves. Bereich 0 ... 126

<Slot> Slot des Slaves, typischerweise ein Modul

{Format} Das Element „Format“ legt fest, in welchem Format die Daten geliefert
werden. Wird keine Formatangabe angegeben, wird das Format „Byte“
verwendet.

Format- Beschreibung OLE-Datentyp VB-Typ


bezeichner
BYTE oder B Byte (unsigned 8) VT_UI1 Byte
CHAR Character (signed 8) VT_I1 Integer
WORD oder W Wort (unsigned 16) VT_UI2 Long
INT Integer (signed 16) VT_I2 Integer
DWORD oder D Doppelwort (unsigned 32) VT_UI4 Double
DINT Doppel-Integer (signed 32) VT_I4 Long
REAL Fließkommazahl VT_R4 Single

<Index> Index der Daten im Slave

Einführung OPC-Server für SIMATIC NET


70 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

{,Anzahl} Anzahl der Elemente. Der Datentyp der Variable ist ein Feld mit Ele-
menten (Datentyp VT_ARRAY) des angegebenen Formats. Wird die-
ser Namensteil weggelassen, wird als Anzahl 1 angenommen und der
Datentyp der Variable ist nicht ein Feld.

Die durch die Parameter <Format> und {,Anzahl} bestimmte Daten-


länge muß mit der realen Datenlänge im Slave übereinstimmen. Dies
ist slaveabhängig und kann vom OPC-Server nicht kontrolliert werden.

Syntaxbeispiele
Es wird angenommen, daß der Slave DPC1-Daten der Länge 4 Bytes
im Slot 3 mit Index 7 unterstützt.

Beispiel 1:
Slave005M003DPC1,DWORD7 1 Doppelwort = 4 Bytes
Beispiel 2:
Slave005M003DPC1,B7,4 4 Bytes

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 71
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.2.4 DP-spezifische Informationsvariablen

Einleitung Zu Diagnosezwecken stehen für DP im OPC-Server für SIMATIC NET


Variablen zur Verfügung, mit denen Informationen über den DP-Master
und die angeschlossenen DP-Slaves abgefragt werden können. Dazu
ist der Name der Informationsvariablen im Parameter ItemID eines
OPC-Items anzugeben.
Folgende Informationen können ermittelt werden:
• Betriebsart DP-Master
• Ereignismeldungen des DP-Master
• Aktivitätsüberwachung des CP
• Betriebszustand eines DP-Slaves
• Typ eines DP-Slaves
• sonstige Informationen

Betriebsart Über die Informationsvariable MasterState kann die aktuelle Betriebs-


DP-Master art des DP-Masters ermittelt und eingestellt werden.
Das Einstellen der Betriebsart ist nur abhängig von der DP-
Applikationsumgebung möglich.
Die folgende Tabelle beschreibt die möglichen Werte (Datentyp
VT_BSTR, in Visual Basic: String):

Rückgabewert Beschreibung
OFFLINE Keine Kommunikation zwischen Master und Slave
STOP Bis auf Diagnosedaten keine Kommunikation zwi-
schen Master und Slave
CLEAR Parametrier- und Konfigurierphase
OPERATE Produktivphase

Ereignis- Über die Informationsvariablen EvAutoclear, EvWatchdog und Ev-


meldungen des Class2Master können unerwartete Ereignisse (System-Events) wäh-
DP-Master rend der Betriebsphase abgefragt werden.
Die folgende Tabelle beschreibt die möglichen Werte (Datentyp
VT_BOOL, in Visual Basic: Boolean):

Einführung OPC-Server für SIMATIC NET


72 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Rückgabewert Beschreibung
True Ereignis ist aufgetreten
False Ereignis ist nicht aufgetreten

Weitere Informationen zu diesen Ereignisse können Sie dem Handbuch


„DP-Programmierschnittstelle“ entnehmen.

Aktivitäts- Über die Informationsvariable WatchdogTimeout kann die Aktivi-


überwachung tätsüberwachung auf dem CP eingestellt werden:
des CP
Die folgende Tabelle beschreibt die möglichen Werte (Datentyp
VT_UI4, in Visual Basic: Double):

Rückgabewert Beschreibung
0 Überwachung aus
400-102000 Beliebiger Wert in ms. Der Wert wird auf
ein Vielfaches von 400 gerundet
6000 Default

Betriebszustand Über die Informationsvariable SlaveXXXSlvState kann der aktuelle


eines DP-Slaves Betriebszustand des DP-Slaves mit der Nummer XXX ermittelt werden.
Die folgende Tabelle beschreibt die möglichen Werte (Datentyp
VT_BSTR, in Visual Basic: String):

Rückgabewert Beschreibung
OFFLINE Keine Kommunikation zwischen Ma-
ster und Slave
NOT_ACTIVE DP-Slave ist nicht aktiviert
READY DP-Slave ist in der Datentransfer-
phase
READY_DIAG DP-Slave ist in der Datentransfer-
phase; zusätzlich sind Diagnoseda-
ten vorhanden
NOT_READY DP-Slave ist nicht in der Daten-
transferphase
NOT_READY_DIAG DP-Slave ist nicht in der Daten-
transferphase; zusätzlich sind Dia-
gnosedaten vorhanden

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 73
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Typ eines DP- Über die Informationsvariable SlaveXXXMiscSlvType kann der Typ
Slaves des DP-Slaves mit der Nummer XXX ermittelt werden.
Die folgende Tabelle beschreibt die möglichen Werte (Datentyp
VT_BSTR, in Visual Basic: String):

Rückgabewert Beschreibung
NO_SLV Kein DP-Slave
NORM Norm-DP-Slave
ET200_U Nicht Norm-Slave: ET 200 U
ET200K_B Nicht Norm-Slave: ET 200 K/B
ET200_SPM Nicht Norm-Slave: Allgemeine SPM-Station
UNDEFINED Unbekannter DP-Slave

Einführung OPC-Server für SIMATIC NET


74 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

SlaveXXXAllInputs Die Variable AllInputs liefert alle Eingabebytes eines Slaves als Feld
von Bytes (Datentyp VT_ARRAY of VT_UI1, in Visual Basic: Byte() ).
Über diese Variable können die Eingänge von Nicht-Normslaves gele-
sen werden.

SlaveXXXAllOutputs Die Variable AllOutputs liefert alle Ausgabebytes eines Slaves als Feld
von Bytes (Datentyp VT_ARRAY of VT_UI1, in Visual Basic: Byte() ).
Über diese Variable können die Ausgänge von Nicht-Normslaves ge-
setzt werden.

Sonstige Die folgenden Informationsvariablen sind nicht für den Produktivbe-


Informationen trieb vorgesehen. Bei Problemen kann es jedoch nützlich sein, die
aufgeführten Variablen auszuwerten. Alle Variablen sind in der Regel
direkt Low-Level-DP-Diensten zugeordnet. Das Lesen dieser Variablen
erfolgt wie bei den anderen Informationsvariablen. Das Ergebnis des
Aufrufes ist der Byte-Dump des jeweiligen Low-Level-DP-Dienstes. Für
die Auswertung des Ergebnisses sehen Sie bitte im Handbuch der DP-
Schnittstelle nach.
Folgende Variablen werden vom OPC-Server für SIMATIC NET für DP
unterstützt:

Informationsvariablennamen Bedeutung
MiscReadBusPar Busparameter
MiscReadCfg Typen aller Slaves
MiscReadSysInfo Zustand aller Slaves
MiscDpnRoleCentral Zentrale Rolle für diese
Anwendung (1,0)
MiscDpnSysCentral Ist zentrale Anwendung
angemeldet (1,0)
MiscOnTriggerWatchdog Wert wird bei jedem Trig-
gern des Watchdog-Timers
um 1 erhöht
SlaveXXXMiscReadSlvParCFGData Konfigurationsdaten
SlaveXXXMiscReadSlvParUserData Anwenderdaten
SlaveXXXMiscReadSlvParAddTab Add-Tab-Liste
SlaveXXXMiscReadSlvParPrmData Parametrierdaten
SlaveXXXMiscReadSlvParTyp SI-Flag, Typ, Octet-String
SlaveXXXMiscSlvDiag Diagnosedaten

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 75
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.3 S7-Protokoll

5.3.1 Angaben für das S7-Protokoll

Kommunikation Das Protokoll S7 für PROFIBUS und Industrial Ethernet wurde speziell
mit für die Kommunikation von S7-Systemkomponenten untereinander
S7-Komponenten und von S7-Systemkomponenten mit PGs und PCs entwickelt. Es ist
von SIMATIC ein Kommunikationsprotokoll auf Ebene 7 gemäß dem ISO/OSI-
Referenzmodell.
Der OPC-Server für SIMATIC NET benötigt eine unterlagerte
S7-Protokoll-Software von SIMATIC NET und einen geeigneten Kom-
munikationsprozessor.
Vor Inbetriebnahme der S7-Kommunikation muß eine S7-Datenbasis
erstellt werden. Dazu sind der Protokoll-Software geeignete Projektie-
rungswerkzeuge beigefügt.

Eigenschaften des Der S7-OPC-Server von SIMATIC NET hat folgende Eigenschaften:
S7-OPC-Servers
• Variablendienste Zugriff und Beobachtung von S7-
Variablen
• Blockorientierte Dienste Programmgesteuerte Übertragung
größerer Datenblöcke
• S7-Meldungen Verarbeitung von S7-Meldungen (S7-
Scans)
• Serverfunktionalität Bei blockorientierte Diensten kann
auch der PC als Server eingesetzt
werden.
• Domaindienste Übertragen eines ladbaren Daten-
bereichs von und zur S7
• S7-Passwortfunktionen Setzen eines Paßworts zum Zugriff
auf geschützte Domains
• Ereignisse Verarbeitung von S7-Meldungen
(S7-Scans, S7-Alarms) als OPC
Alarms & Events

Einführung OPC-Server für SIMATIC NET


76 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Aufbau von Das S7-Protokoll ist ein verbindungsorientiertes Transportprotokoll. Ein


Verbindungen verbindungsorientiertes Protokoll stellt dem Benutzer einen virtuellen
Kanal zur Verfügung. Der zugehörige Kommunikationsablauf besteht
aus:
• Anmelden
• Verbindungsaufbau
• Datenaustausch
• Verbindungsabbau
• Abmelden
Das Management von Verbindungen führt der OPC-Server für
SIMATIC NET selbständig und für den OPC-Benutzer unsichtbar
durch.
Mit dem Zugriff auf ein OPC-Item oder durch Browsing baut der OPC-
Server bei Bedarf die Verbindung zum Partnergerät auf.
Der Verbindungsname muß in der ItemID oder im AccessPath des
OPC-Items spezifiziert werden und in der S7-Datenbasis projektiert
sein.

Protokoll-ID Die Protokoll-ID für das S7-Protokoll lautet immer „S7“.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 77
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Verbindungsname Der Verbindungsname setzt sich aus drei Teilen zusammen:


• dem projektierten Namen der S7-Verbindung
• dem projektierten lokalen VFD, auf das sich der OPC-Server an-
melden soll
• dem Namen des Kommunikationsprozessors bzw. des Zugangs-
punktes der Applikation
Die einzelnen Teile werden durch das Zeichen „|“ getrennt.
Die Namen der S7-Verbindungen und der VFDs legen Sie durch die
Projektierung fest. Falls nur ein CP/VFD-Paar ausgewählt ist, können
die Angaben für den Zugangspunkt und den VFD entfallen.
Die Bezeichnung des Kommunikationsprozessors bzw. des Zugangs-
punktes der Applikation wird durch die Konfigurationswerkzeuge der
Protokoll-Software festgelegt. Typische Bezeichnungen sind:
• „CP_L2_1:“
• „CP_H1_1:“
• „S7ONLINE“

Beispiele von Nachfolgend drei Beispiele von Verbindungsnamen:


Verbindungs-
• Meine_Verbindung|Mein_VFD|CP_L2_1:
namen
• S7-OPC_Vb|VFD1_OPC|CP_H1_1:
• AG_314_Vb|VFD2|S7ONLINE

Einführung OPC-Server für SIMATIC NET


78 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.3.2 Syntax von Variablennamen für S7 (Variablendienste)

Übersicht Mit dem Variablennamen wird die anzusprechende Variable im Auto-


matisierungsgerät bezeichnet. Die Art des Zugriffs orientiert sich an
der Notation der S7-Werkzeuge. Unterstützte Objekte bei dem
S7-OPC-Server sind:
• Datenbausteine (DB)
• Eingänge (E)
• Ausgänge (A)
• Peripherieeingänge (PE)
• Peripherieausgänge (PA)
• Merker (M)
• Timer (T)
• Zähler (Z)
Beachten Sie, daß nicht alle Objekttypen von jedem S7-Automatisie-
rungsgerät unterstützt werden.

Syntax Die Syntax ist wie folgt definiert, die Groß-/Kleinschreibung ist irrele-
vant:
• DB<Nr>,<Typ><Byteadresse>{,<Anzahl>} oder
• DI<Nr>,<Typ><Byteadresse>{,<Anzahl>} oder
• <Objekt><Typ><Byteadresse>{,<Anzahl>}

Zur Beschreibung der Syntax wird folgende Notation verwendet:

Syntaktische Zeichen, die Bedeutung


nicht übernommen werden
Spitze Klammern ( < > ) Texte in spitzen Klammern sind
notwendige Angaben
Geschweifte Klammern ( { } ) Texte in geschweiften Klammern
sind optionale Angaben

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 79
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Beschreibung Die einzelnen Parameter haben folgende Bedeutung:


der Parameter

Parameter Beschreibung
DB bzw. DI Daten- oder Instanzdatenbaustein
<Nr> Nummer des Daten- oder Instanzdatenbausteins
<Objekt> Es gibt folgende Objekte:

Objektaufzählung Beschreibung
A Ausgänge
Z Zähler
E Eingänge
M Merker
PA Peripherieausgänge
PE Peripherieeingänge
T Timer

{Typ} Bei der Angabe „Typ“ wird der S7-Datentyp angegeben. Dieser wird im
OPC-Server für SIMATIC NET in den entsprechenden OLE-Datentyp um-
gewandelt.

Aufzählung der Beschreibung OLE-Daten- VB-Typ


S7-Datentypen typ
X Bit (bool), Bit-Nummer VT_BOOL Boolean
muß angegeben werden
B Byte (unsigned) VT_UI1 Byte
W Wort (unsigned) VT_UI2 Long
D Doppelwort (unsigned) VT_UI4 Double
CHAR Zeichen (signed) VT_I1 Integer
INT Wort (signed) VT_I2 Integer
DINT Doppelwort (signed) VT_I4 Long
REAL Fließkomma VT_R4 Single
STRING Zeichenfolge, Zeichen- VT_BSTR String
folgenlänge muß ange-
geben werden

<Byteadresse> <Byte-Nummer>, z. B. MD5 oder <Byte-Nummer>.<Bit>, z. B. EX1.1 oder


<Byte-Nummer>.<Stringlänge>, z. B. DB10,STRING4.20
{Anzahl} Anzahl der Variablen eines Typs, die ab der im Parameter „Byteadresse“
angegebenen Adresse angesprochen werden sollen. Die Angabe einer An-
zahl ist nicht beim Datentyp X möglich.

Einführung OPC-Server für SIMATIC NET


80 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte


Definition verdeutlichen.

Vergessen Sie nicht, daß Sie der Variablen stets die Protokoll-ID und
die Verbindungsangabe voranstellen müssen!

Syntaxbeispiel Beschreibung
DB5,X12.1 Datenbaustein 5, Datenbyte 12, Bit 1
DB5,B12 Datenbaustein 5, Datenbyte 12
DB5,W10 Datenbaustein 5, Datenwort ab Adresse 10
EX1.1 Eingangsbit 1 im Byte 1
EB0 Eingangsbyte 0
MB9,3 3 Merker-Bytes ab Merker-Byte 9
DB5,W10,9 Datenbaustein 5, 9 Worte ab Adresse 10
DB5,STRING7.30 Datenbaustein 5, String mit maximal 30 Zei-
chen (= 32 Byte einschl. Längenprefix) ab
Adresse 7

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 81
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.3.3 Syntax von Variablennamen für blockorientierte Dienste

Übersicht Der OPC-Server bietet mit den blockorientierten Diensten für das S7-
Protokoll die folgenden Vorteile:
• Übertragung größerer Datenmengen
• Anstoß zur Übertragung kann von der SIMATIC S7-AS ausgehen

Für den Datenaustausch zwischen SIMATIC S7-AS und PG/PC ist


eine zweiseitige Verbindungsprojektierung notwendig. Im Gegensatz
zu den nicht blockorientierten Diensten muß die mit STEP 7 NETPRO
erstellte Verbindungsprojektierung in die AS geladen werden. Bei den
blockorientierten Diensten gehört immer das Bausteinpaar BSEND und
BRCV zusammen. Entweder ist auf der SIMATIC S7-AS ein Baustein
BSEND eingerichtet, der mit einer BRCV-Variable des OPC-Servers
kommuniziert (AS sendet an OPC-Server) oder auf der SIMATIC S7-
AS ist ein BRCV-Baustein programmiert, der von der BSEND-Variable
des OPC-Servers Daten erhält.
Die Datenmenge beträgt bei diesem Datentransfer bis zu 65534 Byte,
unabhängig von der Größe der CPU. Die Segmentierung der Daten
wird von den Funktionen selbst übernommen.

Syntax Die Syntax für Variablen, die Datenblöcke empfangen können, ist wie
Block Receive folgt definiert: (der Teil in geschweiften Klammern ist optional)

BRCV,<RID>{,<Typ><Byteadresse>{,<Anzahl>}}

Syntax Die Syntax für Variablen, mit denen Datenblöcke vom PG/PC zum
Block Send Partnergerät übertragen werden können, lautet:

BSEND<Länge>,<RID>{,<Typ><Byteadresse>{,<Anzahl>}}

BRCV Eine BRCV-Variable enthält den zuletzt vom Partner empfangenen


Datenblock. Die Struktur und Länge der Empfangsdaten wird durch
den sendenden Partner vorgegeben. Daher wird der Datenblock per
default in dem Datentyp „VT_ARRAY | VT_UI1“ (Bytefeld) übergeben.
Die Variable ist nur lesbar.
Es ist sinnvoll, diese Variable beobachten zu lassen. Damit wird der
Empfang eines Datenblocks durch den OPC-Server an eine Client-
Applikation gemeldet.
BSEND Eine BSEND-Variable enthält den Sendedatenblock zur Übertragung
an ein Partnergerät. Der Buffer wird erst dann an das Partnergerät
übertragen, wenn die Variable selbst oder eine Teilvariable geschrie-
ben wird. Der von den Sendevariablen gelesene Wert ist der zuletzt in
den Sendepuffer übertragene Wert. Die Daten werden nicht aus dem
Partnergerät gelesen. Die Variable hat per Default den Datentyp
„VT_ARRAY | VT_UI1“ (Bytefeld) mit der angegebenen Länge.
Länge Durch Anhängen einer Längenangabe an den Variablennamen
„BSEND“ wird die Länge des Sendepuffers festgelegt.

Einführung OPC-Server für SIMATIC NET


82 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Adressierungs- Der Adressierungsparameter R_ID ist für ein Bausteinpaar (BSEND/


Parameter RID BRCV) festgelegt und innerhalb einer Verbindung eindeutig definiert.
Das heißt, es können mehrere BSEND-Bausteine über eine Verbin-
dung senden, aber immer mit einer unterschiedlichen R_ID. Gleiche
R_IDs können für weitere Verbindungen verwendet werden.
Strukturierter Zur Unterstützung bei der Strukturierung des empfangenen Daten-
Zugriff blocks können ein- oder mehrere Teilbereiche des Datenblocks selek-
tiert und einzelnen Variablen zugewiesen werden.
Dazu kann die bei dem Zugriff auf Datenbausteine definierte Notation
verwendet werden. Da die Länge eines empfangenen Blocks nicht
bekannt ist, ist es erlaubt, auch Variablen außerhalb des empfangenen
Blocks zu definieren. Werden Variablen nicht oder nur teilweise durch
den empfangenen Datenblock ausgefüllt, wechselt die Qualität dieser
Items auf „BAD“.
Wird eine Teilvariable geschrieben, so wird stets der vollständige
Buffer an das Partnergerät übertragen. Beim Schreiben mit struktu-
riertem Zugriff sollten daher in einer OPC-Gruppe stets Teilvariablen
auf einen Sendeblock angelegt werden. Um eine Übertragung uninitia-
lisierter Bereiche zu verhindern, sollten die Teilvariablen den gesam-
ten Sendeblock überdecken und alle Items einer Gruppe gleichzeitig
geschrieben werden.

{Typ} Bei der Angabe „Typ“ wird der S7-Datentyp angegeben. Dieser wird im
OPC-Server für SIMATIC NET in den entsprechenden OLE-Datentyp um-
gewandelt.

Aufzählung der Beschreibung OLE-Daten- VB-Typ


S7-Datentypen typ
X Bit (bool), Bit-Nummer VT_BOOL Boolean
muß angegeben werden
B Byte (unsigned) VT_UI1 Byte
W Wort (unsigned) VT_UI2 Long
D Doppelwort (unsigned) VT_UI4 Double
CHAR Byte (signed) VT_I1 Integer
INT Wort (signed) VT_I2 Integer
DINT Doppelwort (signed) VT_I4 Long
REAL Fließkomma VT_R4 Single

<Byteadresse> Adresse in Byte innerhalb des Sende- oder Empfangsdatenblockes, <Byte-


Nummer>, z.B. DWORD5 oder <Byte-Nummer>,<Bit>, z.B. X1.1. Die
Adresse beginnt bei 0.
{Anzahl} Anzahl der Variablen eines Typs, die ab dem im Parameter <Byteadresse>
angegebenen Adresse angesprochen werden sollen. Die Angabe einer An-
zahl ist nicht beim Datentyp X möglich.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 83
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte


Definition verdeutlichen.

Vergessen Sie nicht, daß Sie der Variablen stets die Protokoll-ID und
die Verbindungsangabe voranstellen müssen!

Syntaxbeispiel Beschreibung
BRCV,1 Gesamter Empfangspuffer mit der R_ID 1
BRCV,1,X1.1 Bit 1 im Byte 1 des Empfangspuffers mit der
R_ID 1
BRCV,1,B2,4 4 Bytes ab Byte 2 im Empfangspuffer mit der
R_ID 2
BRCV,1,W2,4 4 Wörter (unsigned 16) ab Byte 2 im Emp-
fangspuffer mit der R_ID 1
BSEND16,1,D2 Doppelwort (unsigned 32) ab Byte 2 im Sen-
depuffer mit der R_ID 1 mit der Größe 16
BSEND32,1,CHAR2,4 4 Charakter (signed 8) ab Byte 2 im Sende-
puffer mit der R_ID 1 mit der Größe 32
BSEND32,1,DINT2,8 8 Doppelworte (signed 32) ab Byte 2 im Sen-
depuffer mit der R_ID 1 mit der Größe 32
BSEND32,1,REAL2,2 2 Fließkommazahlen ab Byte 2 im Sendepuf-
fer mit der R_ID 1 mit der Größe 32

Einführung OPC-Server für SIMATIC NET


84 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.3.4 Syntax von Variablennamen für Meldungen

Übersicht Die Steuerungen der Baureihe S7-400 bieten die Möglichkeiten der
selbständigen Überwachung von Bits und die Übertragung einer Mel-
dung bei Änderung der überwachten Daten an einen Kommunikations-
partner. Mit der Änderungsmeldung können je nach Leistungsfähigkeit
der S7-CPU bis zu 10 Begleitwerte übermittelt werden.
Der OPC-Server bietet die empfangenen Meldungsinformationen und
die übertragenen Begleitwerte als Variablen an. Über die Möglichkeit
der Beobachtung von Variablen können Anwenderprogramme über
das Auftreten von Meldungen informiert werden.
Durch die Verwendung der Meldungen können folgende Vorteile ge-
nutzt werden:
• keine Busbelastung infolge zyklischen Abfragens von Variablen,
sondern nur dann , wenn wirklich eine Änderung vorliegt
• Übermittlung von Zusatzinformationen mit einer Meldung

Projektierung S7-Meldungen müssen mit STEP 7 projektiert und auf die S7-
Steuerung geladen werden
Informationen zur Projektierung entnehmen Sie bitte der Dokumentati-
on von STEP 7.

Meldungsdaten Mit dem Empfang einer S7-Meldung wird ein Datensatz an den OPC-
Server übergeben, der folgende Informationen enthält:

• Ereigniszustand
• Quittierungszustand
• Anzahl der Zusatzwerte
• Begleitwerte (0..10)

Zu jedem Begleitwert sind Informationen über den Datentyp und die


Länge des Datensatzes verfügbar.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 85
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Syntax Auf die Meldungsdaten kann über folgende OPC-Items zugegriffen


Meldungsvariablen werden:

Syntax Beschreibung
scan,<EvID>,eventstate Zustand des zu überwachenden Bits. Da-
tentyp VT_UI2, VB-Typ Long
Bit Beschreibung
aktueller Zustand des
Ereignisses
1 bis 15 irrelevant

scan,<EvID>,state Allgemeiner Meldungszustand, Datentyp


VT_UI2, VB-Typ Long
Wert Bedeutung
0x00 OK
0x81 Meldung nicht vorhanden
scan,<EvID>,ackstate Quittierungszustand, Meldung könnte über
ein anderes System quittiert werden, der
Quittierungszustand wird hier angezeigt.
Datentyp VT_UI2, VB-Typ Long
Wichtiger Hinweis:
Der OPC-Server bietet keine Möglichkeit
diese Meldungen zu quittieren, aber andere
„Anzeigegeräte“ könnten dies.
Bit Bedeutung
0 Quittierung für gekommene
Meldungen.
8 Quittierung für gegangene
Meldungen.
Erklärung des Begriffs gekommen/ gegan-
gen bei Meldungen:
gekommene Meldung: z. B. Grenzwert
wurde überschritten
gegangene Meldung: z. B. Grenzwert
wieder eingehalten
scan,<EvID>,noaddvalue Anzahl der mit dieser Meldung gelieferten
Begleitwerte. Datentyp VT_UI2, VB-Typ
Long
scan,<EvID>,pctime Zeitpunkt des Meldungsempfang durch den
OPC-Server. Alle Meldungsvariablen ent-
halten als Zeitstempel den von der S7-
Steuerung generierten Wert. Diese Varia-
ble ermöglicht den Vergleich der Uhren der
S7-Steuerung und des PCs. Datentyp
VT_DATE (VB-Typ Date)

<EvID> Normierte Meldungsnummer, die bei der Projektierung mit STEP 7 für
diese Meldung vergeben wurde.

Einführung OPC-Server für SIMATIC NET


86 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Syntax Der Zugriff auf die Begleitwerte ist über folgende OPC-Items möglich:
Begleitwerte
Syntax Beschreibung
scan,<EvID>,data<N>,datatype Datentyp des N-ten Begleitwertes. Da-
tentyp VT_UI2 (VB-Typ Long).
Mögliche Werte sind:
Wert Bedeutung
0 Fehler bei Begleitwerterfassung
3 Boolean
4 Bit-String
5 Integer
6 Octet-String
scan,<EvID>,data<N>,value Wert des N-ten Zusatzwertes. Datentyp
VT_Array mit den möglichen Typen
VT_BOOL, VT_I2, VT_I4, VT_UI1,
VT_ERROR (VB-Typen Boolean, Integer,
Long, Byte, Error). Wird ein einzelner
Wert übergeben, enthält das Feld nur ei-
nen Eintrag.
scan,<EvID>,data<N>,valuelen Länge des N-ten Begleitwertes in Bytes.
Datentyp VT_UI2 (VB-Typ Long)
scan,<EvID>,data<N>{,S7- Wert des N-ten Zusatzwertes in einem
Syntax} vorgegebenen Datentyp. Teilzugriffe sind
ebenfalls möglich. Die S7-Syntax ist. z.B.
in Kapitel 7.3.3 beschrieben.

<N> Der Namensteil <N> gibt den anzusprechenden Begleitwert an. Der
zulässige Wertebereich ist von 0-9. Bei Empfang einer Meldung wer-
den nur die Begleitwerte aktualisiert, die tatsächlich mit der Meldung
übertragen werden. Die „Quality“ der Begleitwerte, die nicht von einer
Meldung geliefert werden, wird auf „bad“ gesetzt.
Die Anzahl der mit einer Meldung gelieferten Begleitwerte liefert im
übrigen die Variable „scan,<EvID>, noaddvalue.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 87
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte


Definition für Meldungen verdeutlichen.

Vergessen Sie nicht, daß Sie der Variablen stets die Protokoll-ID und
die Verbindungsangabe voranstellen müssen!

Syntaxbeispiel Beschreibung
scan,1,eventstate Zustand des überwachten Bits für Meldung 1
scan,2,ackstate Quittierungszustand für Meldung 2
scan,3,noaddvalue Anzahl der Begleitwerte, die mit der letzen
Meldung für die ID 3 gekommen sind
scan,4,pctime Zeitstempel des Eintreffens der Meldung 4
scan,1,data0 Wert des 0. Begleitwertes der Meldung 1,
dargestellt als Bytefeld
scan,1,data0,value Wert des 0. Begleitwertes der Meldung 1,
dargestellt als Feld mit einem dem Begleit-
wert entsprechenden Datentyp
scan,1,data9,dword0 Wert des 9. Begleitwertes der Meldung 1,
dargestellt als DWORD (beginnend ab
Byteadresse 0 des Datenpuffers)
scan,1,data8,x0.1 Wert des 8. Begleitwertes der Meldung 1,
das Bit1 der Byteadresse 0 wird ausgewertet
und als Boolean dargestellt
scan,1,data7,valuelen Länge des als Begleitwert 7 gelieferten Da-
tenpuffers für Meldung 1
scan,1,data7,datatype S7-Datentyp des Begleitwertes 7 für Mel-
dung 1

Einführung OPC-Server für SIMATIC NET


88 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.3.5 S7-spezifische Informationsvariablen

Einleitung Zur Überwachung stehen für S7 im OPC-Server für SIMATIC NET


Variablen zur Verfügung, mit denen Informationen über die
S7-Kommunikation und die aufgebauten Verbindungen abgefragt wer-
den können. Dazu ist der Name der Informationsvariablen im Para-
meter ItemID eines OPC-Items anzugeben.
Folgende Informationen können ermittelt werden:
• Attribute eines virtuellen Geräts (VMD/VFD)
• Status einer S7-Verbindung
• Status eines virtuellen Geräts
• Status der Anmeldung für Meldungen

Attribute eines Ein virtuelles Gerät (VFD - Virtual Field Device) ist das Modell eines
virtuellen Geräts realen Geräts. Die Informationsvariable &Identify() liefert Informatio-
nen über die Herstellerattribute eines Geräts.
Der Typ der Informationsvariablen &Identify() ist ein VT_ARRAY of
VT_BSTR (VB-Typ String)und enthält 3 Komponenten:

<Hersteller>
<Modell>
<Revision>

Beispiel
Das Item „S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]&identify()“
liefert als Feld mit 3 VT_BSTR folgende Information über
„VFD1_OPC“:
{„SIEMENS AG“|„GES7413-1AE0-0AB0“|„V1.0“}

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 89
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Status eines Mit Hilfe der Informationsvariablen „&vfdstate()“ kann der Zustand
virtuellen Geräts eines Geräts abgefragt werden.
Der Statuswert (Typ VT_ARRAY of VT_VARIANT, VB-Typ String mit 3
Komponenten) besteht aus einem
• logischen Status (Typ VT_BSTR)
• physikalischen Status (TYP VT_BSTR) und einer
• Detailinformation über den lokalen VFD-Status (Typ VT_ARRAY of
VT_BSTR).
Die Teile der Informationsvariablen &vfdstate()können folgende Werte
annehmen:

Logischer Status
Der logische Status gibt an, welche prinzipiellen Dienste unterstützt
werden

Rückgabewert Beschreibung

S7_STATE_CHANGES_ALLOWED Alle Dienste sind zulässig.

Physikalischer Status
Der physikalische Status zeigt die Einsatzbereitschaft des realen Ge-
räts an.

Rückgabewert Beschreibung

S7_OPERATIONAL Das reale Gerät ist einsatzbereit.

S7_NEEDS_COMMISSIONING Das reale Gerät ist erst nach dem


Abschluß lokaler Eingriffe be-
triebsbereit.

Detaillierter lokaler Status


Der detaillierte lokale Status gibt als Octett-String mit dem Aufbau
„hh.hh.hh“ mit h = 0..f Detailinformationen zu dem lokalen VFD-Status
an. Zur Interpretation dieses Wertes muß die Beschreibung des loka-
len VFDs genutzt werden.

Beispiel
Das Item „S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]&vfdstate()“,
dargestellt als VT_BSTR, liefert folgenden Rückgabewert:

{„S7_STATE_CHANGES_ALLOWED“|“S7_OPERATIONAL“|“02.00.00
“}

Einführung OPC-Server für SIMATIC NET


90 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Verbindungs- Die Informationsvariablen „&statepath()“ und „&statepathval()“ lie-


zustand fern den Zustand einer Kommunikationsverbindung zu einem Partner-
gerät. Während die Variable &statepath (Typ VT_BSTR, VB-Typ
String) das Ergebnis als String darstellt, liefert &statepathval eine Zahl
(Typ VT_UI1, VB-Typ Byte) zurück.
Mögliche Werte der Informationsvariablen &statepath und
&statepathval sind:

Rückgabewert Rückgabew. Beschreibung


&statepath() &statepathval()
DOWN 1 Verbindung ist nicht aufgebaut

UP 2 Verbindung ist aufgebaut

RECOVERY 3 Verbindung wird aufgebaut

ESTABLISH 4 (Für zukünftige Erweiterungen


reserviert)

Beispiel
Das Item „S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:] &statepath()“
könnte beispielsweise liefern:
„RECOVERY“

Zustand der Die Informationsvariable „&stateevent() liefert den Status der Anmel-
Anmeldung für dung für die Meldedienste. Während die Variable &stateevent das
Meldungen Ergebnis als String darstellt, liefert &stateeventval eine Zahl (Typ
VT_UI1, VB-Typ Byte) zurück.

Mögliche Werte der Informationsvariablen &stateevent() (Typ


VT_BSTR, VB-Typ String) sind:

Rückgabewert Rückgabew. Beschreibung


&stateevent() &stateevent
val()
NONE 0 Keine Anmeldung für Meldedien-
ste erfolgt
ESTABLISH_SCAN 1 Anmeldung für ALARM-
Meldedienste läuft
SCAN 2 SCAN-Meldedienste sind ange-
meldet
ESTABLISH_ALARM 3 Anmeldung für Alarmdienste läuft

ALARM 4 ALARM-Meldedienste sind ange-


meldet

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 91
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Beispiel
Das Item „S7:[OPC_1|VFD1_OPC|CP_L2_1:]&stateevent()“
könnte beispielsweise liefern:
„SCAN“

Einführung OPC-Server für SIMATIC NET


92 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.3.6 Sondervariablen für Domain- und Paßwortdienste

Einleitung Eine Domain repräsentiert einen ladbaren Datenbereich in einem Au-


tomatisierungssystem. In SIMATIC Systemen sind dies die ladbaren
Bausteine:

• Organisationsbausteine (OB),
• Funktionsbausteine (FB),
• Funktionen (FC),
• Datenbausteine (DB).

Ein auf ein Automatisierungsgerät übertragener Baustein wird in einem


Zwischenspeicher abgelegt. Damit ist der Baustein für ein S7-
Programm noch nicht verfügbar. In der Liste der Datenbausteine, die
über die Online-Funktionen von STEP7 betrachtet werden können, ist
der Baustein zwar sichtbar, jedoch kann er nicht geöffnet werden.
Dies ist erst möglich, nachdem der Baustein in die Liste der aktiven
Bausteine eingekettet wurde.

Verfügbare Dienste Über Sondervariablen des S7-OPC-Servers stehen folgende Dienste


zur Behandlung von ladbaren Bereichen zur Verfügung:

• Herunterladen von Bausteinen vom PC zum Automatisie-


rungsgerät.
• Hochladen von Bausteinen vom Automatisierungsgerät
zum PC.
• Löschen, Einketten von Bausteinen und Komprimieren
des Speichers des Automatisierungsgeräts.

Anwendung Die Domaindienste erlauben das Übertragen und Rückübertragen von


Daten- und Programmelementen zwischen PC und Automatisierungs-
gerät. Auf dem PC werden die ladbaren Bereiche in Dateien gespei-
chert.
Damit ein Programmelement zum Automatisierungsgerät übertragen
werden kann, muß es zuvor vom Automatisierungsgerät auf den PC
geladen werden. Die Erstellung von Bausteinen ist nur mit STEP 7
möglich.

Um beispielsweise die in einem Automatisierungsgerät ablaufenden


Algorithmen eines Funktionsbausteins von einer Bedien- und Beob-
achtungsstation aus zu wechseln, könnten die Algorithmen in ver-
schiedenen Varianten eines Funktionsbausteins abgelegt sein. Der
Funktionsbaustein wird in der Betriebsphase mit Hilfe der Domaindien-
ste von einem Bedien- und Beobachtungsgerät aus getauscht, um eine
andere Programmfunktion des Automatisierungsgeräts zu erhalten.
Dazu müssen die verschiedenen Varianten des Funktionsbausteins in
der Erstellungsphase des Systems erzeugt und in unterschiedlichen
Dateien bereitgehalten werden.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 93
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Paßwort-Dienste Schreibende und lesende Zugriffe auf die CPU können im Rahmen der
Projektierung von der Kenntnis eines Paßwortes abhängig gemacht
werden. Die Priorität des Paßwortes ist höher als die des Schlüssel-
schalters der CPU. Durch den Dienst – Paßwort – kann ein Paßwort
zur Legitimation an ein Automatisierungssystem übertragen werden.

Baustein lesen Mit Hilfe der Sondervariablen &blockread() kann ein Baustein von
einem Automatisierungsgerät in eine Datei auf dem PC übertragen
werden.
Diese Variable ist nur schreibbar. Durch das Schreiben eines Wertes
wird der Übertragungsdienst ausgelöst.
Der geschriebene Wert enthält die Parametrierung dieses Dienstes. Er
wird als Array of Variant mit folgenden Elementen dargestellt:
• Flags
• Block
• Datei

Element Datentyp Beschreibung


Flags String Eine der folgenden hexadezimalen Zahlen:
0x0040 Lesen eines eingeketteten Blocks, falls
schon eine Zieldateien besteht, wird
diese nicht überschrieben (Fehlermel-
dung)
0x1001 Lesen eines nicht eingeketteten Blocks,
eine bestehende Zieldatei wird über-
schrieben.
0x1040 Lesen eines eingeketteten Blocks, eine
bestehende Zieldatei wird überschrieben
Block String Bausteintyp und Nummer. Möglich sind folgende
Typen: OB, DB, FC und FB.
Beispiel: DB10
Datei String Vollständiger Pfad der Datei, in der der Baustein
abgelegt werden soll.

Beispiel
Um den Baustein OB1 in eine Datei „c:\temp\ob1.blk“ zu lesen, muß
das Item
„S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]&blockread()“
mit folgendem Wert beschrieben werden:
{0x0040|OB1|c:\temp\ob1.blk}

(Um den Wert wie in diesem Beispiel angeben zu können, muß als
„Requested Datatyp“ der Typ „String“ angefordert werden. Dieser
String wird vom OPC-Server in den kanonischen Datentyp umgewan-
delt.)

Einführung OPC-Server für SIMATIC NET


94 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Baustein schreiben Mit Hilfe der Sondervariablen &blockwrite() kann ein Baustein von
einem PC auf ein Automatisierungsgerät übertragen werden. Diese
Variable ist nur schreibbar. Durch das Schreiben eines Wertes wird der
Übertragungsdienst ausgelöst.
Der geschriebene Wert enthält die Parametrierung dieses Dienstes. Er
wird als Array of Variant mit folgenden Elementen dargestellt:
• Flags
• Datei

Element Datentyp Beschreibung


Flags String Eine der folgenden hexadezimalen Zahlen:
0x0000 Ein schon auf dem Automatisierungssy-
stem bestehender, nicht eingeketteter
Baustein gleichen Namens wird nicht
überschrieben
Datei String Vollständiger Pfad der Datei, in der der Baustein
abgelegt ist.

Beispiel
Um den Baustein in der Datei „c:\temp\ob1.blk“ zum Automatisie-
rungssystem zu senden, muß das Item
„S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]&blockwrite()“
mit folgendem Wert beschrieben werden:
{0x0000|c:\temp\ob1.blk}

(Um den Wert wie in diesem Beispiel angeben zu können, muß als
„Requested Datatyp“ der Typ „String“ angefordert werden. Dieser
String wird vom OPC-Server in den kanonischen Datentyp umgewan-
delt.)

Hinweis Nach der Übertragung zum Automatisierungsgerät ist der Baustein


noch nicht aktiv. Dazu muß er zuerst in die Liste der aktiven Bausteine
durch Verwendung der Sondervariablen &blocklinkin() eingekettet wer-
den.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 95
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Baustein einketten Mit Hilfe der Sondervariablen &blocklinkin() kann ein Baustein vom
passiven Zustand in den Programmablauf des Automatisierungssy-
stems eingekettet werden. Damit ist der Baustein für das ablaufende
Programm erreichbar. Beachten Sie, daß durch das Einketten eines
Bausteins ein bestehender, aktiver Baustein ohne Fehlermeldung
überschrieben wird.
Diese Variable ist nur schreibbar. Durch das Schreiben eines Wertes
wird der Dienst ausgelöst.
Der geschriebene Wert enthält als Parametrierung dieses Dienstes die
Angabe des einzukettenden Blocks.

Element Datentyp Beschreibung


Block String Bausteintyp und Nummer. Möglich sind folgende
Typen: OB, DB, FC und FB.
Beispiel: DB10

Beispiel
Um den Baustein DB1 in den Programmablauf des Automatisierungs-
geräts einzuketten, muß das Item
„S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]&blocklinkin()“
mit folgendem Wert beschrieben werden:
DB1

Baustein löschen Mit Hilfe der Sondervariablen &blockdelete() kann ein Baustein im
Automatisierungsgerät gelöscht werden. Es können sowohl die passi-
ven als auch die in den Programmablauf eingeketteten Bausteine ent-
fernt werden.
Diese Variable ist nur schreibbar. Durch das Schreiben eines Wertes
wird der Dienst ausgelöst.
Der geschriebene Wert enthält die Parametrierung dieses Dienstes. Er
wird als Array of Variant mit folgenden Elementen dargestellt:
• Flags
• Block

Element Datentyp Beschreibung


Flags String Eine der folgenden hexadezimalen Zahlen:
0x0001 Löschen des nicht eingeketteten Blocks
0x0040 Löschen des eingeketteten Blocks
0x0041 Löschen des eingeketteten und des
nicht eingeketteten Blocks
Block String Bausteintyp und Nummer. Möglich sind folgende
Typen: OB, DB, FC und FB.
Beispiel: DB10

Einführung OPC-Server für SIMATIC NET


96 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Beispiel
Um den eingeketteten Baustein DB1 zu löschen, muß das Item
„S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]&blockdelete()“
mit folgendem Wert beschrieben werden:
{0x0040|DB1}

Komprimieren Mit Hilfe der Sondervariablen &blockcompress() kann der Speicher


des Automatisierungsgeräts komprimiert werden.
Fragmentierte Speicherbereiche werden zusammengefaßt und es wird
Platz geschaffen für die Übertragung neuer Blöcke.

Diese Variable ist nur schreibbar. Durch das Schreiben eines leeren
Strings wird der Dienst ausgelöst.

Beispiel
Um den Speicher zu komprimieren, muß das Item
„S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]&blockcompress()“
mit einem leeren String („“) beschrieben werden.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 97
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Paßwort Mit Hilfe der Sondervariablen &password() kann für eine Verbindung
übermitteln das Paßwort zur Legitimation und damit zur Aufhebung der Schutz-
stufe übermittelt werden.
Für ein S7-Automatisierungssystem können 3 Schutzstufen für die
Domaindienste mit Hilfe des Projektierungswerkzeugs STEP 7 aktiviert
werden:
Schutz durch die Stellung des Schlüsselschalters
Schreibschutz
Schreib- und Leseschutz
Durch die Übermittlung des richtigen Paßworts werden alle obigen
Schutzstufen für die Verbindung aufgehoben, auf der das Paßwort
übermittelt wurde. Durch Übermittlung eines leeren Strings als Paß-
wort wird die Schutzfunktion auf der Verbindung wieder aktiviert.

Bei zweiseitig projektierten Verbindungen können alle Dienste selbst in


Schüsselschalterstellung RUN ausgeführt werden.

Einseitig Resultierende aktive Schutzstufe


projektierte
Verbindun-
gen
Projektierte Paßwort wurde nicht Richtiges Paßwort wurde
Schutzstufe übertragen übertragen
durch STEP7
Schlüsselschalterstellung Schlüsselschalterstellung
RUN RUN-P RUN RUN-P
STOP STOP
Schlüssel- 2 1 1 1
schalter RUN -
durch Paßwort
aufhebbar
Schlüssel- 2 1 2 1
schalter RUN -
durch Paßwort
nicht aufheb-
bar
Schreibschutz 2 2 1 1
mit Paßwort
Schreib- 3/3 3/3 1 1
/Leseschutz
mit Paßwort
Legende:
Resultierende aktive Schutzstufe:
1: Keine Einschränkung (Baustein lesen, - schreiben, -einketten, -
löschen, -komprimieren ausführbar).
2: Nur Baustein lesen
3: Keine Bausteinfunktion erlaubt.

Einführung OPC-Server für SIMATIC NET


98 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Die Variable &password() ist nur schreibbar. Durch das Schreiben ei-
nes Wertes wird die Übermittlung des Paßworts ausgelöst. Der Daten-
typ der Variablen ist String.
Das Paßwort kann in folgenden Darstellungen übermittelt werden
Darstellung Beschreibung Beispiel
Octettstring Ein String mit den he- 31.32.33.34.35.36.37.38
xadezimalen Codes
der einzelnen Zeichen
des Paßworts (maxi-
mal 8 Zeichen), ge-
trennt durch einen
Punkt
String Ein beliebiger, alpha- &12345678
numerischer String mit
maximaler Länge von
8 Zeichen, eingeleitet
durch das Zeichen „&“

OPC Fehlercodes Falls die folgenden Fehlercodes im Zusammenhang mit Paßwörtern


auftreten, haben sie folgende Bedeutung:
Der OPC-Server liefert den Errorcode OPC_E_BADRIGHTS zurück,
wenn ein ungültiges Paßwort übermittelt wurde.

Darüber hinaus sind weitere Fehlercodes möglich.

Beispiel
Um das Paßwort „SetMeFre“ an ein Automatisierungsgerät zu über-
mitteln, muß die Variable
„S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]&password()“
mit folgendem Wert beschrieben werden:
&SetMeFre

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 99
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.4 FMS-Protokoll

5.4.1 Angaben für das FMS-Protokoll

Offene Das Protokoll FMS für PROFIBUS ist ein offenes Kommunikations-
Kommunikation protokoll auf Ebene 7 gemäß dem ISO/OSI-Referenzmodell. Über
mit FMS FMS ist eine Kommunikation auf Feldbusebene zu den S5 und S7-
Automatisierungsgeräten von Siemens, aber auch zu allen anderen
Geräten, die den FMS-Standard erfüllen, möglich.
Der FMS-OPC-Server von SIMATIC NET benötigt eine unterlagerte
FMS-Protokoll-Software von SIMATIC NET und einen geeigneten
Kommunikationsprozessor.
Vor Inbetriebnahme der FMS-Kommunikation muß eine
FMS-Datenbasis erstellt werden. Dazu sind der Protokoll-Software
geeignete Projektierungswerkzeuge beigefügt.

Eigenschaften des Der FMS-OPC-Server von SIMATIC NET hat folgende Eigenschaften:
FMS-OPC-Servers
• Automatische Analyse der Projektierung
• Lesen und Schreiben von FMS-Variablen
• FMS-Server-Funktionalität
• Unterstützung von Feldern und Strukturen, einschließlich Teilzu-
griffe
• Unterstützen von Verbindungen, über die kein Objektverzeichnis
(OV), ein kurzes OV oder ein langes OV geladen werden kann
• Unterstützung der FMS Dienste Identify und VfdState
• Unterstützung des SAPI-Dienstes Lifelist
• Anzeige und Überwachung des Verbindungszustandes
• Browsing über die lokalen und beim Server vorhandenen Variablen

Einführung OPC-Server für SIMATIC NET


100 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Aufbau von Das FMS-Protokoll ist ein verbindungsorientiertes Kommunikations-


Verbindungen protokoll. Ein verbindungsorientiertes Protokoll stellt dem Benutzer
einen virtuellen Kanal zur Verfügung. Der zugehörige Kommunikati-
onsablauf besteht im Normalfall aus:
• Anmelden
• Verbindungsaufbau
• Laden von Objektverzeichnissen
• Datenaustausch
• Verbindungsabbau
• Abmelden
Das Management von Verbindungen führt der OPC-Server für
SIMATIC NET selbständig und für den OPC-Benutzer unsichtbar
durch.
Mit dem Zugriff auf ein OPC-Item oder durch Browsing baut der OPC-
Server bei Bedarf die Verbindung zum Partnergerät auf.
Der Verbindungsname muß in der ItemID oder im AccessPath des
OPC-Items spezifiziert werden und in der FMS-Datenbasis projektiert
sein.

Protokoll-ID Die Protokoll-ID für das FMS-Protokoll lautet immer „FMS“.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 101
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Verbindungsname Der Verbindungsname setzt sich aus drei Teilen zusammen:


• Dem projektierten Namen der FMS-Verbindung
• Dem projektierten lokalen VFD, auf das sich der OPC-Server an-
melden soll
• Dem Namen des Kommunikationsprozessors bzw. des Zugangs-
punktes der Applikation
Die einzelnen Teile werden durch das Zeichen „|“ getrennt.
Die Namen der FMS-Verbindungen und der VFDs legen Sie durch die
Projektierung fest.
Wenn ein Element des Verbindungsnamens in der Projektierung und
der Konfiguration eindeutig ist, kann es auch weggelassen werden.
Haben Sie beispielsweise nur den Zugangspunkt „CP_L2_1:“ mit ei-
nem VFD_OPC konfiguriert, so ist die Angabe der FMS-Verbindung
ausreichend.
Die Bezeichnung des Kommunikationsprozessors bzw. des Zugangs-
punktes der Applikation wird durch die Konfigurationswerkzeuge der
Protokoll-Software festgelegt. Typische Bezeichnungen sind:
• „CP_L2_1:“
• „CP_L2_2:“

Beispiele von Nachfolgend drei Beispiele von Verbindungsnamen:


Verbindungs-
• Simocode|VFD_OPC|CP_L2_1:
namen
• S5_5431|VFD1_S5|CP_L2_2:
• Verbindung1|VFD1|Zugang

Einführung OPC-Server für SIMATIC NET


102 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.4.2 Syntax von Variablennamen für FMS

Funktion Mit dem Variablennamen wird die anzusprechende Variable im Part-


nergerät bezeichnet. Der Zugriff auf die FMS-Variablen erfolgt über die
im Objektverzeichnis des Partnergeräts vorhandenen Namen. Stellt
das Partnergerät ein kurzes Objektverzeichnis zur Verfügung, kann nur
über Indizes auf Variablen zugegriffen werden. Wird ein langes Ob-
jektverzeichnis bereitgestellt, können die im Objektverzeichnis abge-
legten, symbolischen Namen verwendet werden.

Syntax der Die Syntax einer Variablen ist wie folgt definiert, die Groß-/Kleinschrei-
Variablennamen bung ist irrelevant:
<Index> oder
<Symbolischer Name>

Für Teilzugriffe auf Strukturelemente ist die Syntax wie folgt definiert:
<Index>:<Subindex> oder
<Symbolischer Name>:<Subindex>

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele mit Verbindungsanteil, die die


oben aufgeführte Definition verdeutlichen:

Syntaxbeispiel Beschreibung
FMS:[DEMO]100 Variable mit Index 100 der Demo-
Verbindung
FMS:[DEMO]Ventil_In Variable mit dem Namen „Ventil_In“ der
Demoverbindung
FMS:[CR1|VFD1|CP_L2_1:] Variable mit Index 200 der Verbindung
200 CR1 über VFD1 auf die Baugruppe
CP_L2_1:
FMS:[CR1|VFD1|CP_L2_1:] Variable „Count“ der Verbindung CR1
Count über VFD1 auf die Baugruppe CP_L2_1:
FMS:[CR1|VFD1|CP_L2_1:] Zugriff auf das 2 Strukturelement der Va-
200:2 riablen mit dem Index 200

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 103
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

FMS-Typen Die nachfolgende Tabelle beschreibt die FMS-Datentypen und die


zugehörigen VARIANT-Datentypen.

FMS-Datentyp Kanonischer VB-Typ Bedeutung


OLE-Datentyp
unsigned8 VT_UI1 Byte unsigned char (1 Byte)

unsigned16 VT_UI2 Long unsigned short (2 Byte)

unsigned32 VT_UI4 Double unsigned long (4 Byte)

integer8 VT_I1 Integer signed char (1 Byte)

integer16 VT_I2 Integer signed short (2 Byte)

integer32 VT_I4 Long signed long (4 Byte)

float VT_R4 Single real (4 Byte)

boolean VT_BOOL Boolean signed short (True = -1; False = 0)

vstringX VT_BSTR String Visible String, X: Anzahl der Zei-


chen

bstringX VT_BSTR String Bit-String, X: Anzahl der Bits,


Aufbau: „b.b.b.b.b.b“ mit b=0 oder
1

ostringX VT_BSTR String Octet-String, X: Anzahl der Oc-


tets, Aufbau: „hh.hh.hh.hh.hh“ mit
h=0..f
time_of_day VT_DATE Date Uhrzeit

date VT_DATE Date Datum

time_difference VT_DATE Date Zeitdifferenz

Datentyp[N] VT_ARRAY of Feld des VB FMS-Feld als Safearray mit N


Elementtyp Elementartyps Elementen vom Typ Elementtyp. *

{Typ1|Typ2|Typ3|Typ4} VT_ARRAY of Feld mit Ele- FMS-Struktur mit 4 verschieden


VT_VARIANT menten in den Datentypen Typ1..Typ4. *
jew. Ele-
mentartypen
* Defaulteinstellung VT_BSTR

Einführung OPC-Server für SIMATIC NET


104 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.4.3 FMS-spezifische Informationsvariablen

Einleitung Der OPC-Server für FMS stellt Variablen zur Verfügung, mit denen
Informationen über das FMS Kommunikationssystem und die Verbin-
dungszustände abgefragt werden können. Dazu ist der Name der In-
formationsvariablen im Parameter ItemID eines OPC-Items anzuge-
ben.
Folgende Informationen können ermittelt werden:
• Attribute eines virtuellen Geräts (VMD/VFD)
• Status eines virtuellen Geräts
• Status einer FMS-Verbindung
• Stationsadressen der erreichbaren Teilnehmer (LifeList)

Attribute eines Ein virtuelles Gerät (VFD - Virtual Field Device) ist das Modell eines
virtuellen Geräts realen Geräts. Die Informationsvariable &Identify() liefert Informatio-
nen über die Herstellerattribute eines Geräts.
Der Typ der Informationsvariablen &Identify() ist ein VT_ARRAY of
VT_BSTR (VB-Typ: String-Feld )und enthält 3 Komponenten:

<Hersteller>
<Modell>
<Revision>
Beispiel
Das Item „FMS:[FMS_CON|VFD1_OPC|CP_L2_1:]&identify()“
liefert als Feld mit 3 VT_BSTR folgende Information über
„VFD1_OPC“:
„SIEMENS AG“
„ET 200U-DP/FMS“
„V1.0“

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 105
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Status eines Mit Hilfe der Informationsvariablen „&vfdstate()“ kann der Zustand
virtuellen Geräts eines Geräts abgefragt werden.
Der Statuswert (Typ VT_ARRAY of VT_VARIANT, VB-Typ: Feld mit 3
String-Elementen) besteht aus einem
• Logischen Status (Typ VT_BSTR)
• Physikalischen Status (TYP VT_BSTR) und einer
• Detailinformation über den lokalen VFD-Status (Typ VT_BSTR,
formatiert).
Die Teile der Informationsvariablen &vfdstate()können folgende Werte
annehmen:

Logischer Status
Der logische Status gibt an, welche prinzipiellen Dienste unterstützt
werden

Rückgabewert Beschreibung

FMS_STATE_CHANGES_ALLOWED Alle Dienste sind zu-


lässig.
FMS_LIMITED_SERVICES_PERMITTED Zugelassen sind nur
die Dienste „Status
virtuelles Gerät“ und
„Identifiziere virtuelles
Gerät“.
FMS_OD_LOADING_NON_INTERACTING Laden eines Objekt-
verzeichnisses ist
nicht zulässig.
FMS_OD_LOADING_INTERACTING Ein Objektverzeichnis
wird momentan auf die
Anschaltung geladen.

Physikalischer Status
Der physikalische Status zeigt die Einsatzbereitschaft des realen Ge-
räts an.

Einführung OPC-Server für SIMATIC NET


106 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Rückgabewert Beschreibung

FMS_OPERATIONAL Das reale Gerät ist


einsatzbereit.
FMS_PARTIALLY_OPERATIONAL Das reale Gerät ist
bedingt einsatzbereit.
FMS_NEEDS_COMMISSIONING Das reale Gerät ist
erst nach dem Ab-
schluß lokaler Eingriffe
betriebsbereit.
FMS_INOPERABLE Das reale Gerät ist
nicht einsatzbereit.

Detaillierter lokaler Status


Der detaillierte lokale Status als Octett-String mit dem Aufbau
„hh.hh.hh“ mit h = 0..f Detailinformationen zu dem lokalen VFD-Status
an. Zur Interpretation dieses Wertes muß die Beschreibung des loka-
len VFDs genutzt werden.

Beispiel
Das Item „FMS:[FMS_CON|VFD1_OPC|CP_L2_1:]&vfdstate()“,
dargestellt als VT_BSTR, liefert folgenden Rückgabewert:

{„FMS_STATE_CHANGES_ALLOWED“|“FMS_OPERATIONAL”|”00.00
.00“}

Verbindungs- Die Informationsvariablen „&statepath()“ und „&statepathval()“ lie-


zustand fern den Zustand einer Kommunikationsverbindung zu einem Partner-
gerät. Während die Variable &statepath (Typ VT_BSTR, VB-Typ
String) das Ergebnis als String darstellt, liefert &statepathval eine Zahl
(Typ VT_UI1, VB-Typ Byte) zurück.
Mögliche Werte der Informationsvariablen &statepath und
&statepathval sind:

Rückgabewert Rückgabew. Beschreibung


&statepath() &statepathval()
DOWN 1 Verbindung ist nicht aufgebaut

UP 2 Verbindung ist aufgebaut

RECOVERY 3 Verbindung ist zusammengebro-


chen
ESTABLISH 4 Verbindung wird gerade aufge-
baut

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 107
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Beispiel 1
Das Item „FMS:[FMS_CON|VFD1_OPC|CP_L2_1:]&statepath()“
könnte beispielsweise liefern:
„UP“

Beispiel 2
Das Item
„FMS:[FMS_CON|VFD1_OPC|CP_L2_1:]&statepathval()“ könnte
beispielsweise liefern
2 (entspricht „UP“):

Lifelist Die Informationsvariable „&lifelist()“ liefert Informationen über die am


Bus verfügbaren Teilnehmer.
Der Wert dieser Variablen wird als VT_ARRAY of VT_UI1 (VB-Type:
Feld mit 127 Elementen vom Typ Byte) geliefert. Das 127 Elemente
umfassende Feld enthält Informationen über jede mögliche Stations-
adresse. Jeder Stationsadresse ist ein Index des Feldes zugeordnet.
Mögliche Werte für einen Eintrag sind:

Rückgabewert Beschreibung

FMS_STATION_NONEXISTENT Kein Teilnehmer vorhanden (Wert


0)
FMS_STATION_PASSIVE Passiver Teilnehmer (Wert 1)

FMS_STATION_READY_FOR_RING Teilnehmer bereit für die Aufnahme


in den Token-Ring des PROFIBUS
(Wert 2)
FMS_STATION_ACTIVE Aktiver Teilnehmer (Wert 3)

Beispiel
Das Item „FMS:[FMS_CON|VFD1_OPC|CP_L2_1:]&lifelist()“,
dargestellt als VT_BSTR, könnte beispielsweise liefern
{0|1|0|0|1|0|0|1|0|2|1|0|1|0|1|0|3|0|0|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|2|0|
1|2|0|0|0|0|0|0|0|1|1|1|0|1|1|0|1|0|1|0|1|0|1|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|3
|0|0|0|0|0|0|0|0|0|1|0|1|0|1|0|1|0|1|0|0|1|0|0|1|0|0|1|0|0|1|0|1|3|0|3|0|1|0|
3|1|0|0|3|0|3|0|3|0|0|0|0|0|0|0|0|0}

Einführung OPC-Server für SIMATIC NET


108 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.4.4 FMS Serververbindung

Einleitung Der FMS-OPC-Server kann selbst als Server im Sinne des FMS-
Protokolls betrieben werden. Er stellt als FMS-Server Variablen und
ein Objektverzeichnis zur Verfügung, auf das andere FMS Partnerge-
räte zugreifen können. Auf diese Weise kann auch eine FMS-
Kommunikation zwischen PCs aufgebaut werden.
Benutzung Jedem CP|VFD-Paar einer FMS-Projektierung ist implizit eine Server-
verbindung zugeordnet. Die Variablen dieser Serververbindung, auf
die andere FMS-Partnergeräte zugreifen können, müssen in einer
Konfigurationsdatei beschrieben werden. Details zur Konfiguration der
Serververbindung entnehmen Sie bitte Kapitel 8.5.5.
Beachten Sie: Damit ein FMS-Server bereitsteht, muß der OPC-
☞ Server auf diesem Rechner durch Verwendung eines OPC-Clients
(z.B. OPC-Scout) gestartet werden.
Die in der Serververbindung festgelegten Variablen sind über die
OPC-Schnittstelle als OPC-Items entsprechend den Variablen eines
anderen Gerätes verfügbar. Wird eine Servervariable über die OPC-
Schnittstelle geschrieben, so ändert sich nur lokal der Wert der Varia-
blen. Dieser neue Wert wird bei der nächsten Anfrage eines FMS-
Clients dem anfragenden Gerät übermittelt. Das Lesen einer Serverva-
riable über OPC liefert den aktuellen, lokalen Wert zurück. Dieser
Wert kann durch Schreibzugriffe eines FMS-Clients verändert werden.
Werteänderungen durch einen FMS-Client werden über die OPC-
Mechanismen zur Benachrichtigung von Werteänderungen an einen
OPC-Client gemeldet.
Abbildung Die folgende Abbildung zeigt wie ein FMS-Partnergerät auf die im
OPC-Server definierten Variablen zugreifen kann.

Zugriff auf FMS-


Variablen
Lokaler
Zugriff
PC mit
OPC-
Server Partner-
gerät

Text-
daten- OV
bank

FMS-Server FMS-Client

PROFIBUS-Netz

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 109
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.5 Send/Receive – Protokoll über Industrial Ethernet

5.5.1 Angaben für das Send/Receive-Protokoll

Kommunikation Das Protokoll Send/Receive (SR) für Industrial Ethernet ist ein für
über Industrial SIMATIC Geräte standardisiertes Transportprotokoll auf Ebene 4 ge-
Ethernet mäß dem ISO/OSI-Referenzmodell. Mit Send/Receive ist eine Kom-
munikation über Industrial Ethernet zu den S5 und S7-Automati-
sierungsgeräten von Siemens, aber auch zu PCs, auf denen das SR-
Protokoll installiert ist, möglich.
Der SR-OPC-Server von SIMATIC NET benötigt eine unterlagerte
SR-Protokoll-Software von SIMATIC NET und einen geeigneten
Kommunikationsprozessor. Die SR-Protokoll-Software ist Teil der S7-
Produkte von SIMATIC NET.

Kommunikations- Das SR-Protokoll kommuniziert mit Hantierungs- bzw. Funktionsbau-


prinzip steinen, die im Automatisierungsgerät ablaufen. Als Bausteintypen
bzw. Auftragsarten sind verfügbar:
• SEND (ohne WRITE-Funktion)
• SEND (mit WRITE-Funktion nur SIMATIC S5)
• RECEIVE
• FETCH (nur SIMATIC S5)
Bei SEND und RECEIVE läuft der Datenverkehr vom SEND-Baustein
zum RECEIVE-Baustein. Die Initiative geht immer vom SEND-
Baustein aus. Für eine bidirektionale Kommunikation müssen auf bei-
den Seiten sowohl ein SEND- als auch ein RECEIVE-Baustein aufge-
rufen werden.
Wird als Auftragsart FETCH (entspricht bei S5 der READ-Funktion)
benutzt, können mit einem Sendeauftrag Quellparameter mitgegeben
werden, die der S5 Kommunikationsprozessor benutzt, um Daten di-
rekt aus der CPU zu lesen und zurückzusenden. Mit dieser Auftragsart
ist ein direkter Zugriff auf Objekte wie Eingänge, Ausgänge, Datenbau-
steine, Merker und Zähler möglich.
Weitere Details zur Send/Receive-Schnittstelle entnehmen Sie bitte
dem Handbuch „Send/Receive-Programmierschnittstelle“ und der Do-
kumentation des Automatisierungsgerätes.

Projektierung Die Konfiguration einer Send/Receive-Kommunikation wird auf dem


PC nicht über ein zusätzliches Projektierungsprogramm festgelegt. Die
Kommunikationsparameter müssen in einer vom SR-OPC-Server be-
nutzten Textdatei projektiert werden.
Eine SIMATIC S5 als Partnergerät wickelt die Kommunikation über
Hantierungsbausteine (HTBs) ab. Diese Hantierungsbausteine müssen
im S5-Programm aufgerufen werden.

Einführung OPC-Server für SIMATIC NET


110 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Zur Kommunikation über eine SIMATIC S7 müssen die Funktionsbau-


steine FC5 (SEND) und FC6 (RECEIVE) im S7-Programm aufgerufen
werden.
Zusätzlich zur Verwendung der Hantierungs- bzw. Funktionsbausteine
ist eine passende Verbindungsprojektierung des Kommunikationspro-
zessors des Automatisierungsgeräts notwendig.

Eigenschaften des Der SR-OPC-Server von SIMATIC NET bietet folgende Eigenschaften:
SR-OPC-Servers
• Kommunikation über SIMATIC S5 Hantierungsbausteine und S7
Funktionsbausteine
• Unterstützung der Betriebsart „SEND mit WRITE-Funktion“ und
„FETCH“ (nur S5)
• Unterstützung der Betriebsart „Expedited Data“ (nur S5)
• schneller Zugriff auf große Datenpakete
• Definition von Variablen innerhalb eines Datenpakets
• Anzeige und Überwachung des Verbindungszustandes
• Browsingfähigkeit über die definierten Variablen
Protokoll-ID Die Protokoll-ID für das Send/Receive-Protokoll lautet immer „SR“.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 111
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Verbindungsname Die Verbindungsprojektierung für das Send/Receive-Protokoll erfolgt


nicht wie bei anderen Protokollen in einer dem CP zugeordneten und
mit speziellen Projektierungswerkzeugen erstellten Datenbasis, son-
dern muß spezifisch für jedes Anwenderprogramm erfolgen.
Der SR-OPC-Server benutzt zur Verbindungsprojektierung eine Text-
datei, in der die vom OPC-Server zu benutzenden Verbindungen und
Variablen vom Anwender eingetragen werden.
Für jede Verbindung wird dazu ein symbolischer Namen deklariert, der
in den Bezeichnungen der OPC-Items zu verwenden ist. Weitere In-
formationen zum Aufbau der Textdatei entnehmen Sie bitte Kapitel
8.6.
Der Verbindungsname setzt sich aus folgenden Teilen zusammen:
• dem symbolischen Namen der Verbindung, wie in der Textdatei
angegeben
• den Verbindungsparametern für diese Verbindung
• dem Namen des Kommunikationsprozessors bzw. des Zugangs-
punktes der Applikation
Die einzelnen Teile werden durch das Zeichen „|“ getrennt. Der sym-
bolische Namen und die Verbindungsparameter sind alternativ zu ver-
wenden. Der senkrechte Strich zur Trennung muß jedoch immer ange-
geben werden.

Verbindungs- Die Information für die Verbindungsparameter setzt sich folgenderma-


parameter ßen zusammen:
<LocalTSAP>,<HostID>,<RemoteTSAP>,<ActiveFlag>

LocalTSAP Bezeichnung des lokalen TSAPs. Es sind zwei Notationen möglich:

1) Hexadezimale Notation: xx.xx.xx.xx.xx.xx.xx.xx


maximal 8 zweistellige Hexadezimalwerte, durch Punkte separiert.

2) String-Notation: &TTTTTTTT
führendes &-Symbol, gefolgt von maximal 8 darstellbaren Zeichen.
Das Komma darf nicht verwendet werden. Sollte der TSAP nicht
darstellbare Zeichen, das Komma oder den senkrechten Strich ent-
halten, muß die hexadezimale Notation verwendet werden.

HostID Ethernet oder TCP/IP-Adresse der Partnerstation. Je nach Netztyp


werden zwei Notationen unterschieden:

1) Ethernet-Adresse: xx.xx.xx.xx.xx.xx
genau 6 zweistellige Hexadezimalzahlen, durch Punkte getrennt

2) TCP/IP-Adresse: yyy.yyy.yyy.yyy
z.B. 142.011.045.197
genau 4 dreistellige Dezimalwerte, durch Punkte getrennt

RemoteTSAP TSAP der Partnerstation. Die Notation ist wie bei dem Parameter Lo-
calTSAP

Einführung OPC-Server für SIMATIC NET


112 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

ActiveFlag Steuerung des Verbindungsaufbaus. Mögliche Werte:

0 Passiver Verbindungsaufbau, der Partner baut die Verbindung


auf.

1 Aktiver Verbindungsaufbau, der Partner wartet auf den Verbin-


dungsaufbau.

Zugangspunkt Die Bezeichnung des Kommunikationsprozessors bzw. des Zugangs-


punktes der Applikation wird durch die Konfigurationswerkzeuge der
Protokoll-Software festgelegt. Typische Bezeichnungen sind:
• „CP_H1_1:“
• „CP_H1_2:“
• „S7ONLINE“
Beispiele von Nachfolgend einige Beispiele von Verbindungsnamen:
Verbindungs-
• |&PC4711,142.011.045.197,&RECVS5,0|CP_H1_1:
namen
(Passiver Verbindungsaufbau, TCP/IP über Zugang CP_H1_1:)
• |65.ff.43.ff,08.00.06.01.26.70,&SENDSEEX,1|S7ONLINE
Aktiver Verbindungsaufbau, ISO-Protokoll über Zugang S7ONLINE,
alternative Notation des TSAPs
• MyConnection||CP_H1_1:
Verwendung des symbolischen Namens „MyConnection“ aus der
Textdatei über Zugangspunkt CP_H1_1:

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 113
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.5.2 Syntax von Variablennamen für SR

Funktion Mit dem Variablennamen wird die anzusprechende Variable im Part-


nergerät bezeichnet. Der Zugriff auf die SR-Variablen erfolgt über fest
vorgegebene, den Auftragsarten entsprechende Namen oder über
Aliasnamen.
Weiterhin ist, sofern vom Partnergerät unterstützt, ein direkter Zugriff
auf den Adressraum möglich. Diese Funktionalität ist derzeit nur für S5
Automatisierungsgeräte verfügbar und wird durch die Auftragsarten
FETCH und WRITE in der S5 Verbindungsprojektierung gekennzeich-
net.

Vorgegebene Folgende Variablennamen sind für jede Verbindung fest definiert:


Namen

• Receive
• Receiveexp
• Send
• Sendexp

receive / Die vollständige Syntax für die Variablen zum Auslesen des Receive-
receiveexp Puffers lautet:

Receive{,gültigeVariablensyntax}
Receivexp{,gültige Variablensyntax}

Die Variable „receive“ enthält den zuletzt vom Partner empfangenen


Datenpuffer. Die Struktur und Länge des Datenpuffers ist nicht vorge-
geben. Daher wird der Puffer immer als Feld von Bytes (Datentyp
VT_ARRAY|VT_UI1, VB-Typ: Feld mit Elementen vom Typ Byte) ge-
liefert.

Die Variable „receiveexp“ enthält den zuletzt vom Partner empfange-


nen, hochprioren Datenpuffer. Analog zu „receive“ ist der Puffer ein
Feld von Bytes, seine Länge ist jedoch auf 16 Bytes begrenzt. Hoch-
priore Datenpuffer werden nicht von allen Partnergeräten unterstützt!
☞ Da diese Variablen einem Empfangspuffer entsprechen, können sie
nur gelesen werden. Bei einem Lesezugriff auf das Gerät („DEVICE“),
wird ein expliziter Receive-Requestblock an das Protokoll abgegeben.
Es ist daher sinnvoll, diese Variablen nur zu beobachten oder aus
dem Cache zu lesen.

Einführung OPC-Server für SIMATIC NET


114 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Gültige Zur Unterstützung des Anwenders bei der Strukturierung der empfan-
Variablensyntax genen Daten können Teilbereiche des Puffers gezielt ausgewählt wer-
den. Folgende Syntax zur Beschreibung der Variablen ist vorgeschrie-
ben:

• Receive{,}<Typ><Byteadresse>{,Anzahl}

• Receiveexp{,}<Typ><Byteadresse>{,Anzahl}

<Typ> Bei der Angabe „Typ“ wird der Datentyp angegeben. Dieser wird im
OPC-Server für SIMATIC NET in den entsprechenden OLE-Datentyp
umgewandelt.
Aufzählung der Beschreibung OLE-Daten- VB-Typ
Datentypen typ
X Bit (Boolean) VT_BOOL Boolean
Nur bei den Objekten E,A,M,P
und QB (nur Lesezugriff) und
Send / Receive!
B oder BYTE Byte (unsigned8) VT_UI1 Byte
CHAR Byte (signed8) VT_I1 Integer
W oder WORD Wort (unsigned16) VT_UI2 Long
INT Wort (signed16) VT_I2 Integer
D oder DWORD Doppelwort (unsigned32) VT_UI4 Double
DINT Doppelwort (signed32) VT_I4 Long
REAL Fließkomma, IEEE Darstellung VT_R4 Single
S5REAL Fließkomma, S5 Darstellung VT_R4 Single

<Byteadresse> Byteadresse der Variablen im Bereich: <Byte-Nummer>, z. B. 5


Für den Datentyp Bit wird das angeforderte Bit durch
<Byte-Nummer>.<Bit-Nummer> adressiert. (Bsp: 3.3)
{Anzahl} Anzahl der Variablen eines Typs, die ab der im Parameter „Byteadres-
se“ angegebenen Adresse angesprochen werden sollen.
Bit-Felder werden nicht unterstützt. Deshalb muß für den Datentyp X
(Boolean) die Angabe der Anzahl entfallen oder sie muß 1 sein.
Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte
Definition verdeutlichen:

Syntaxbeispiel Beschreibung
receive,w0,6 6 Datenworte ab Byte 0 im Empfangspuffer
receive,dword7 Ein Doppelwort ab Byte 7
receiveexp,REAL0,2 Zwei Realwerte ab Byte 0 im hochprioren
Empfangspuffer

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 115
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Send / Die vollständige Syntax für die Variablen zum Beschreiben des Send-
sendexp Puffers lautet:

send{n}{,gültigeVariablensyntax}
sendexp{n}{,gültigeVariablensyntax}

Die Variable „send“ enthält einen immer vorhandenen Sendepuffer,


der an den Verbindungspartner übertragen werden kann. Für die Grö-
ße des Sendepuffers ist durch den Eintrag „LenSend“ in der Konfigu-
rationsdatei ein Defaultwert festgelegt. Der Puffer wird immer als Feld
von Bytes (Datentyp VT_ARRAY|VT_UI1, VB-Typ: Feld mit Elementen
vom Typ Byte) geliefert. Die Größe kann alternativ auch durch den
Parameter n im Variablennamen eingestellt werden.

Die Variable „sendexp“ enthält den immer vorhandenen, hochprioren


Sendepuffer. Analog zu „send“ ist der Puffer ein Feld von Bytes, seine
Länge ist jedoch auf 16 Bytes begrenzt.

Der von den Sendevariablen gelesene Wert ist der zuletzt in den Sen-
depuffer übertragene Wert. Die Daten werden nicht aus dem Partner-
gerät gelesen.

☞ Schreibzugriffe auf diese und daraus abgeleitete Variablen bewirken,


daß der Sendepuffer an den Partner übertragen wird.

Gültige Zur Unterstützung des Anwenders bei der Strukturierung der zu sen-
Variablensyntax denden Daten können Teilbereiche des Puffers gezielt ausgewählt
werden. Folgende Syntax zur Beschreibung der Variablen ist vorge-
schrieben:

• send{n}{,}<Typ><Byteadresse>{,Anzahl}

• sendexp{n}{,}<Typ><Byteadresse>{,Anzahl}

Die Notation der Variablensyntax entspricht der Syntax für den Emp-
fangspuffer.

Einführung OPC-Server für SIMATIC NET


116 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte


Definition verdeutlichen:

Syntaxbeispiel Beschreibung
send30,dword7 Ein Doppelwort ab Byte 7 in einem 30 Byte
großen Sendepuffer
send,B20 Ein Feld mit 20 Bytes in einem Sendepuffer
mit Defaultgröße
SendExp8,DINT0 Ein vorzeichenbehaftetes Doppelwort ab
Byteadresse 0 im hochprioren Sendepuffer

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 117
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Direkter Zugriff Neben der Kommunikation über fest definierte Sende- und Empfangs-
(nur S5) puffer unterstützt der SR-OPC-Server auch den direkten Zugriff auf
den Adressraum der CPU des Partnergeräts. Dazu überträgt der Sen-
der die gewünschte Adressinformation an den Empfänger und dieser
sendet daraufhin die angeforderten Daten zurück.
Die Notation der Variablennamen zum direkten Zugriff lautet:
• <Bereich>{,}<Typ><Byteadresse>{,Anzahl}

<Bereich> Der Bereich spezifiziert, welches Objekt angesprochen werden soll.


Mögliche Werte sind:
Erreichbare Beschreibung
Objekte
DBnn Datenbaustein Nr. nn
A Ausgänge
E Eingänge
M Merker
PAE oder Peripherie
P
Z Zähler
T Timer
BS Systembereich
AS Absolute Anfangsadresse
DXnn Erweiterter Datenbaustein
Denn Datenbaustein im Externspeicher
QB Erweiterte Peripherie

<Typ> Die Notation für den Typ entspricht der Syntax für den Empfangspuf-
fer.
<Adresse> Die Adresse der Variablen im Bereich.

Beachten Sie:
☞ Abhängig vom Bereich ist die anzugebende Adresse eine Byte-
oder eine Wortadresse. Bei Zugriff auf die folgenden Bereiche
wird die angegebene Adresse als Wortadresse interpretiert:

DBnn, BS, AS, DXnn, DEnn, Z, T


{Anzahl} Anzahl der Variablen eines Typs, die ab der im Parameter „Adresse“
angegebenen Adresse angesprochen werden.

Einführung OPC-Server für SIMATIC NET


118 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

☞ Beachten Sie:
Die Projektierung des Partnergeräts muß konsistent sein. Ab-
hängig von der Projektierung des Partnergeräts führt der Zugriff
auf bestimmte Bereiche zu Kommunikationsfehlern.
Der SR-OPC-Server kann bei der Anmeldung einer Variablen nur
die Syntax überprüfen. Es ist nicht möglich, festzustellen, ob
aufgrund der Projektierung des Partners die Variable im Part-
nergerät gültig ist.

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte


Definition verdeutlichen:

Syntaxbeispiel Beschreibung
eb2 Eingangsbyte 2
DB10,real6,2 2 Fließkommawerte ab Datenwort (!) 6 im
Datenbaustein 10
Z12 Zähler 12

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 119
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.5.3 SR-spezifische Informationsvariablen

Einleitung Der OPC-Server für Send/Receive stellt Variablen zur Verfügung, mit
denen Informationen über die Verbindungszustände abgefragt werden
können. Dazu ist der Name der Informationsvariablen im Parameter
ItemID eines OPC-Items anzugeben.
Folgende Informationen können ermittelt werden:
• Status einer Verbindung
• Versionen der Protokollsoftware

Verbindungs- Die Informationsvariablen „&statepath()“ und „&statepathval()“ lie-


zustand fern den Zustand einer Kommunikationsverbindung zu einem Partner-
gerät. Während die Variable &statepath (Typ VT_BSTR, VB-Typ
String) das Ergebnis als String darstellt, liefert &statepathval eine Zahl
(Typ VT_UI1, VB-Typ Byte) zurück.
Mögliche Werte der Informationsvariablen &statepath und
&statepathval sind:

Rückgabewert Rückgabewert Beschreibung


&statepath() &statepathval()
DOWN 1 Verbindung ist nicht aufgebaut

UP 2 Verbindung ist aufgebaut

RECOVERY 3 Verbindung ist zusammengebro-


chen
ESTABLISH 4 (Für zukünftige Erweiterungen
reserviert)

Beispiel 1
Das Item „SR:[SR_CONNECTION||CP_H1_1:]&statepath()“ lie-
fert beispielsweise:
„UP“

Beispiel 2
Das Item „SR:[SR_CONNECTION||CP_H1_1:]&statepathval()“
könnte liefern:
2 (entspricht „UP“):

Einführung OPC-Server für SIMATIC NET


120 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.6 Send/Receive – Protokoll über PROFIBUS (FDL)

5.6.1 Angaben für das Send/Receive-Protokoll über PROFIBUS (FDL)

Kommunikation Das Protokoll Send/Receive für PROFIBUS (FDL) ist ein einfaches,
über PROFIBUS telegrammorientiertes Protokoll für SIMATIC Geräte. Es verwendet die
Dienste des Fieldbus Data Links (FDL), der Ebene 2 des ISO/OSI-
Referenzmodells bei PROFIBUS .
Mit Send/Receive über PROFIBUS ist eine Kommunikation zu den S5-
und S7-Automatisierungsgeräten von Siemens, aber auch zu PCs, auf
denen das FDL-Protokoll verfügbar ist, möglich.
Der FDL-OPC-Server von SIMATIC NET benötigt eine unterlagerte
FDL-Protokoll-Software von SIMATIC NET und einen geeigneten
Kommunikationsprozessor. Die FDL-Protokoll-Software ist Teil der DP-
Produkte von SIMATIC NET.

FDL wird Obwohl der Send/Receive OPC-Server für PROFIBUS im weiteren als
verwendet FDL-OPC-Server bezeichnet wird, verwendet er nur die Dienste des
FDL-Protokolls für einen komfortablen Zugriff auf Kommunikationsda-
ten. Beachten Sie bitte, dass der volle Umfang der FDL-Schicht nicht
auf den OPC-Server abgebildet werden kann.

Kommunikations- Das FDL-Protokoll kommuniziert mit Hantierungs- bzw. Funktionsbau-


prinzip steinen, die im Automatisierungsgerät ablaufen. Als Bausteintypen
bzw. Auftragsarten sind verfügbar:
• SEND (ohne WRITE-Funktion)
• RECEIVE
Bei SEND und RECEIVE läuft der Datenverkehr vom SEND-Baustein
zum RECEIVE-Baustein. Die Initiative geht immer vom SEND-
Baustein aus. Für eine bidirektionale Kommunikation müssen auf bei-
den Seiten sowohl ein SEND- als auch ein RECEIVE-Baustein aufge-
rufen werden.
Weitere Details zur Send/Receive-Schnittstelle entnehmen Sie bitte
dem Handbuch „FDL-Programmierschnittstelle“ und der Dokumentati-
on des Automatisierungsgerätes.

Projektierung Die Konfiguration einer Send/Receive-Kommunikation wird auf dem


PC nicht über ein zusätzliches Projektierungsprogramm festgelegt. Die
Kommunikationsparameter müssen in einer vom FDL-OPC-Server
benutzten Textdatei projektiert werden.
Eine SIMATIC S5 als Partnergerät wickelt die Kommunikation über
Hantierungsbausteine (HTBs) ab. Diese Hantierungsbausteine müssen
im S5-Programm aufgerufen werden.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 121
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Zur Kommunikation über eine SIMATIC S7 müssen die Funktionsbau-


steine FC5 (SEND) und FC6 (RECEIVE) im S7-Programm aufgerufen
werden.
Zusätzlich zur Verwendung der Hantierungs- bzw. Funktionsbausteine
ist eine passende Verbindungsprojektierung des Kommunikationspro-
zessors des Automatisierungsgeräts notwendig.

Eigenschaften des Der FDL-OPC-Server von SIMATIC NET bietet folgende Eigenschaf-
FDL-OPC-Servers ten:
• Kommunikation über SIMATIC S5 Hantierungsbausteine und S7
Funktionsbausteine
• Schneller Zugriff auf große Datenpakete
• Definition von Variablen innerhalb eines Datenpakets
• Anzeige und Überwachung des Verbindungszustandes
• Browsingfähigkeit über die definierten Variablen

Protokoll-ID Die Protokoll-ID für das FDL-Protokoll lautet immer „FDL“.

Einführung OPC-Server für SIMATIC NET


122 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Verbindungsname Der FDL-OPC-Server benutzt zur Verbindungsprojektierung eine Text-


datei, in der die vom OPC-Server zu benutzenden Verbindungen und
Variablen vom Anwender eingetragen werden.
Für jede Verbindung wird dazu ein symbolischer Namen deklariert, der
in den Bezeichnungen der OPC-Items zu verwenden ist. Weitere In-
formationen zum Aufbau der Textdatei entnehmen Sie bitte Kapitel
8.7.
Der Verbindungsname setzt sich aus folgenden Teilen zusammen:
• dem symbolischen Namen der Verbindung, wie in der Textdatei
angegeben
• den Verbindungsparametern für diese Verbindung
• dem Namen des Kommunikationsprozessors bzw. des Zugangs-
punktes der Applikation
Die einzelnen Teile werden durch das Zeichen „|“ getrennt. Der sym-
bolische Name und die Verbindungsparameter sind alternativ zu ver-
wenden. Der senkrechte Strich zur Trennung muß jedoch immer ange-
geben werden.

Verbindungs- Die Information für die Verbindungsparameter setzt sich folgenderma-


parameter ßen zusammen:
<LocalSAP>,<RemoteStation>,<RemoteSAP>

LocalSAP Bezeichnung des lokalen SAPs, der für die Kommunikation aktiviert
wird:

Dezimalzahl im Bereich von 0 bis 62 und 255 (für Default-SAP).

RemoteStation PROFIBUS-Adresse der Partnerstation:

Dezimalzahl im Bereich von 0 bis 126 oder 127 für Muliti-


cast/Broadcast

RemoteSAP Bezeichnung des SAPs der Partnerstation, an den die Telegramme


gesendet werden:

Dezimalzahl im Bereich von 0 bis 63

Zugangspunkt Die Bezeichnung des Kommunikationsprozessors bzw. des Zugangs-


punktes der Applikation wird durch die Konfigurationswerkzeuge der
Protokoll-Software festgelegt. Typische Bezeichnungen sind:
• „CP_L2_1:“
• „CP_L2_2:“

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 123
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Beispiele von Nachfolgend einige Beispiele von Verbindungsnamen:


Verbindungs-
• |15,7,15|CP_L2_1:
namen
(Kommunikation mit Station Adresse 7 von SAP 15 an SAP 15 über
Zugang „CP_L2_1:“)
• MyConnection||CP_L2_1:
Verwendung des symbolischen Namens „MyConnection“ aus der
Textdatei über Zugangspunkt CP_L2_1:

Einführung OPC-Server für SIMATIC NET


124 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.6.2 Syntax von Variablennamen für FDL

Funktion Mit dem Variablennamen wird die anzusprechende Variable im Part-


nergerät bezeichnet. Der Zugriff auf die Variablen erfolgt über fest
vorgegebene, den Auftragsarten entsprechende Namen oder über
Aliasnamen.

Vorgegebene Folgende Variablennamen sind für jede Verbindung fest definiert:


Namen

• Receive (Zugriff auf Empfangspuffer)


• Send (Senden eines Puffers)
• SendSDA (Senden eines Puffers über Dienst SDA)
• SendSDN (Senden eines Puffers über Dienst SDN)

Receive Die vollständige Syntax für die Variablen zum Auslesen des Receive-
Puffers lautet:

Receive{,gültigeVariablensyntax}
Die Variable „receive“ enthält den zuletzt vom Partner empfangenen
Datenpuffer. Die Struktur und Länge des Datenpuffers ist nicht vorge-
geben. Daher wird der Puffer immer als Feld von Bytes (Datentyp
VT_ARRAY|VT_UI1, VB-Typ: Feld mit Elementen vom Typ Byte) ge-
liefert.

Da diese Variablen einem Empfangspuffer entsprechen, können sie


nur gelesen werden. Es ist daher sinnvoll, diese Variablen nur zu
beobachten oder aus dem Cache zu lesen.

Gültige Zur Unterstützung des Anwenders bei der Strukturierung der empfan-
Variablensyntax genen Daten können Teilbereiche des Puffers gezielt ausgewählt wer-
den. Folgende Syntax zur Beschreibung der Variablen ist vorgeschrie-
ben:

• Receive{,}<Typ><Byteadresse>{,Anzahl}

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 125
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

<Typ> Bei der Angabe „Typ“ wird der Datentyp angegeben. Dieser wird im
OPC-Server für SIMATIC NET in den entsprechenden OLE-Datentyp
umgewandelt.
Aufzählung der Beschreibung OLE-Daten- VB-Typ
Datentypen typ
X Bit (Boolean) VT_BOOL Boolean
B oder BYTE Byte (unsigned8) VT_UI1 Byte
CHAR Byte (signed8) VT_I1 Integer
W oder WORD Wort (unsigned16) VT_UI2 Long
INT Wort (signed16) VT_I2 Integer
D oder DWORD Doppelwort (unsigned32) VT_UI4 Double
DINT Doppelwort (signed32) VT_I4 Long
REAL Fließkomma, IEEE Darstellung VT_R4 Single
S5REAL Fließkomma, S5 Darstellung VT_R4 Single

<Byteadresse> Byteadresse der Variablen im Bereich: <Byte-Nummer>, z. B. B5


Für den Datentyp Bit wird das angeforderte Bit durch
<Byte-Nummer>.<Bit-Nummer> adressiert. (Bsp: AX3.3)

{Anzahl} Anzahl der Variablen eines Typs, die ab der im Parameter „Byteadres-
se“ angegebenen Adresse angesprochen werden sollen.
Bit-Felder werden nicht unterstützt. Deshalb muß für den Datentyp X
(Boolean) die Angabe der Anzahl entfallen oder sie muß 1 sein.

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte


Definition verdeutlichen:

Syntaxbeispiel Beschreibung
receive,w0,6 6 Datenworte ab Byte 0 im Empfangspuffer
receive,dword7 Ein Doppelwort ab Byte 7
Receive,REAL0,2 Zwei Realwerte ab Byte 0 im hochprioren
Empfangspuffer

Einführung OPC-Server für SIMATIC NET


126 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Send Die vollständige Syntax für die Variablen zum Beschreiben des Sende-
puffers lautet:

send{n}{,gültigeVariablensyntax}
Die Variable „send“ enthält einen immer vorhandenen Sendepuffer,
der an den Verbindungspartner übertragen werden kann. Für die Grö-
ße des Sendepuffers ist durch den Eintrag „LenSendSDA“ bzw. „Len-
SendSDN“ in der Konfigurationsdatei ein Defaultwert festgelegt. Der
Puffer wird immer als Feld von Bytes (Datentyp VT_ARRAY|VT_UI1,
VB-Typ: Feld mit Elementen vom Typ Byte) geliefert. Die Größe kann
alternativ auch durch den Parameter n im Variablennamen eingestellt
werden.

Schreibzugriffe auf diese und daraus abgeleitete Variablen bewirken,


dass der Sendepuffer an den Partner übertragen wird. Der von den
Sendevariablen gelesene Wert ist der zuletzt in den Sendepuffer
übertragene Wert. Die Daten werden nicht aus dem Partnergerät gele-
sen.

Verwendete In Abhängigkeit von der Kombination der im Verbindungsteil angege-


Sendedienste benen Stationsaddresse und der SAPs wird beim Schreiben eines
Send-Items ein spezieller FDL-Dienst verwendet:

LocalSAP Remote Remote Bedeutung/ verwendeter


Station SAP Dienst bei „Send“

0..62, 255 0..126 0..62, 255 Senden und Empfangen /


SDA

0..62, 255 0..126 63 Nur Senden / SDA

63 0..126 0..62, 255 Nur Empfangen (kein Send)

0..62, 255 127 63 Broadcast: Nur Senden an


Alle / SDN

63 127 0..62, 255 Broadcast Empfang


(kein Send)

0..62, 255 127 0..62, 255 Multicast: Nur Senden an


Alle, die den RemoteSAP
aktiviert haben / SDN

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 127
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Gültige Zur Unterstützung des Anwenders bei der Strukturierung der zu sen-
Variablensyntax denden Daten können Teilbereiche des Puffers gezielt ausgewählt
werden. Folgende Syntax zur Beschreibung der Variablen ist vorge-
schrieben:

• send{n}{,}<Typ><Byteadresse>{,Anzahl}

Die Notation der Variablensyntax entspricht der Syntax für den Emp-
fangspuffer.

SendSDA In besonderen Fällen kann es gewünscht sein, dass der verwendete


SendSDN Dienst nicht von der Kombination der Adresse der Partnerstation und
den SAPs abhängt. Durch Verwendung der Namen „SendSDA“ und
„SendSDN“ kann ein OPC-Client festlegen, dass nur die jeweiligen
Dienste SDA bzw. SDN zum Senden verwendet werden sollen. Die
Syntax ist entsprechend der Syntax von „Send“. Diese besonderen
Namen werden Im OPC Browsing nicht angezeigt.

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte


Definition verdeutlichen:

Syntaxbeispiel Beschreibung
send30,dword7 Ein Doppelwort ab Byte 7 in einem 30 Byte
großen Sendepuffer
send,B20 Ein Feld mit 20 Bytes in einem Sendepuffer
mit Defaultgröße
send8,DINT0 Ein vorzeichenbehaftetes Doppelwort ab
Byteadresse 0

Einführung OPC-Server für SIMATIC NET


128 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.6.3 FDL-spezifische Informationsvariablen

Einleitung Der OPC-Server für Send/Receive über PROFIBUS (FDL) stellt Varia-
blen zur Verfügung, mit denen Informationen über die Verbindungszu-
stände abgefragt werden können. Dazu ist der Name der Informations-
variablen im Parameter ItemID eines OPC-Items anzugeben.
Folgende Informationen können ermittelt werden:
• Zustand / Ausbau des Kommunikationsnetzes
• Versionen der Protokollsoftware

Busparameter Die baugruppenspezifische Informationsvariable


FDL:[||<Baugruppe>]&busparameter() liefert die Busparameter des
an der angegebenen Baugruppe betriebenen PROFIBUS-Netzes. Die
Werte werden als Feld des Datentyps VT_UI1 zurückgeliefert und ent-
sprechen den von dem FDL-Dienst FDL_READ_VALUE gelieferten
Ergebnissen. Zur Interpretation der Ergebnisse dieses Low-Level Dien-
stes muß das Handbuch zur FDL Programmierschnittstelle hinzugezo-
gen werden.
Beispiel: FDL:[CP_L2_1:||]&busparameter()

Lokale Die baugruppenspezifische Variable FDL:[||<Baugruppe>]&ts() gibt


Stationsadresse die Stationsadresse der angegebenen Baugruppe zurück. Der Daten-
typ dieses Items ist VT_UI1.
Beispiel: FDL:[CP_L2_1:||]&ts()

Teilnehmer- Die baugruppenspezifische Variable FDL:[||<Baugruppe>]&ts() liefert


identifikation der die Teilnehmeridentifikation der angegebenen Baugruppe. Der Wert
lokalen Station wird in dem Datentyp „VT_ARRAY|VT_BSTR] geliefert. Die Elemente
des Feldes enthalten folgende Informationen:
„Vendor“
„Controller“
„Hardware Version“
„Software Version“
Liste der am Bus Die baugruppenspezifische Variable FDL:[||<Baugruppe>]&lifelist()
befindlichen liefert die Liste der PROFIBUS Teilnehmer, die durch die angegebene
Teilnehmer Baugruppe erreichbar sind.
Zur Ermittlung dieser Daten wird der FDL-Dienst
FDL_LIFE_LISTE_CREATE_REMOTE benutzt. Beachten Sie, dass
dieser Dienst eine deutliche Belastung auf dem Bus erzeugt und des-
halb diese Variable nicht beobachtet werden sollte.
Der Datentyp dieser Variablen ist ein Feld mit 127 Elementen, wobei
der Index jedes Elements für eine PROFIBUS-Adresse steht.
Jedes Element kann einen der folgenden Werte annehmen:

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 129
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Rückgabewert Beschreibung

0x10 Station ist nicht vorhanden, d.h. Adresse nicht benutzt.

0x20 Die Station ist ein aktiver Teilnehmer und bereit zur
Aufnahme in den logischen Ring des PROFIBUS-
Netzes.

0x30 Die Station ist ein aktiver Teilnehmer und bereits in den
logischen Ring aufgenommen.

0x00 Die Station ist ein passiver PROFIBUS-Teilnehmer


(z.B. DP-Slave)

Teilnehmer- Die verbindungsspezifische Variable FDL:[<Verbindung>]&identify()


identifikation des liefert die Teilnehmeridentifikation des Partnergeräts, welches über die
Partnergeräts angegebene Verbindung erreicht werden kann. Der Wert wird in dem
Datentyp „VT_ARRAY|VT_BSTR" geliefert. Die Elemente des Feldes
enthalten folgende Informationen:
„Vendor“
„Controller“
„Hardware Version“
„Software Version“

Beispiel: FDL:[MyConnection||CP_L2_1:]&identify()

Einführung OPC-Server für SIMATIC NET


130 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.7 DPS-Protokoll

5.7.1 Angaben für das DPS-Protokoll

Master und Slaves Das Protokoll DP für den PROFIBUS spezifiziert im Prinzip ein Mono-
Master-System. Für den OPC-Server für SIMATIC NET ist der DP-
Master der PC mit einem entsprechenden Kommunikationsprozessor,
z. B. CP 5412 (A2). Ein Master spricht Slaves zyklisch über den Feld-
bus an.
Slaves sind im allgemeinen Ein-/Ausgabebaugruppen, die dezentral im
Prozeßfeld lokalisiert sind und über ein passives Kommunikationsmo-
dul verfügen. Der OPC-Server repräsentiert die Ein- und Ausgänge
eines Slaves.

Eigenschaften des Der DP-OPC-Server von SIMATIC NET hat folgende Eigenschaften:
DP-OPC-Servers
• Variablendienste Zugriff und Beobachtung von DP-
Ein- und Ausgängen
• Diagnoseauswertung Automatische Auswertung der stati-
schen Diagnose

Protokoll-ID Die Protokoll-ID für das DPS-Protokoll lautet immer „DPS“.

Verbindungsname Für das DPS-Protokoll spezifiziert der Verbindungsname den Kommu-


nikationszugang durch Angabe des Kommunikationsprozessors, der
als DP-Master mit den Slaves kommuniziert.
Der Verbindungsname für das DP-Protokoll ist DPSONLINE

Zugriff auf DP- Der Zugriff auf die Ein- und Ausgänge des Slaves erfolgt durch Anga-
Variablen be der Modul-Nummer und des E/A-Bereichs.

DP-Slaves sind modular aufgebaut. Ein DP-Slave kann mehrere Mo-


dule mit unterschiedlichen E/A-Bereichen enthalten. Die Zuordnung
der Module geschieht durch die DP-Projektierung.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 131
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.7.2 Syntax von Variablennamen für DPS

Übersicht Mit dem Variablennamen wird ein Ein- oder Ausgangsbereich in dem
Modul eines Slaves bezeichnet. Weiterhin können über Variablenna-
men Statusinformation der Slaves und des DP-Masters angesprochen
werden.

Zur Beschreibung der Syntax wird folgende Notation verwendet:

Syntaktische Zeichen, die Bedeutung


nicht übernommen werden
Spitze Klammern ( < > ) Texte in spitzen Klammern sind
notwendige Angaben
Geschweifte Klammern ( { } ) Texte in geschweiften Klammern
sind optionale Angaben

Syntax Die Syntax für die Slaveein- und Ausgänge ist wie folgt definiert, die
Groß-/Kleinschreibung ist irrelevant:
• Eingänge:
SlaveM<Nummer>E<Format><Element>{.Bit}{,Anzahl}

• Ausgänge:
SlaveM<Nummer>A<Format><Element>{.Bit}{,Anzahl}

Beschreibung der Die einzelnen Parameter haben folgende Bedeutung:


Parameter

<Nummer> Nummer des Moduls, das den Ein- bzw. Ausgabebereich enthält.

{Format} Das Element „Format“ legt fest, in welchem Format die Daten geliefert
werden. Durch die Formatangabe wird auch der Datentyp festgelegt.
Über die Automation-Schnittstelle von OPC können prinzipiell alle
angegebenen OLE-Datentypen gelesen werden. Jedoch bieten einige
Entwicklungswerkzeuge (wie z.B. Visual Basic) nur eine einge-
schränkte Menge von Datentypen an. Die folgende Tabelle listet des-
halb zusätzlich den entsprechenden Visual Basic-Typ auf, in dem der
Variablenwert dargestellt werden kann.

Einführung OPC-Server für SIMATIC NET


132 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Format- Beschreibung OLE-Datentyp VB-Typ


bezeichner
X Bit VT_BOOL Boolean
BYTE oder B Byte (unsigned 8) VT_UI1 Byte
CHAR Character (signed 8) VT_I1 Integer
WORD oder W Wort (unsigned 16) VT_UI2 Long
INT Integer (signed 16) VT_I2 Integer
DWORD oder D Doppelwort (unsigned 32) VT_UI4 Double
DINT Doppel-Integer (signed 32) VT_I4 Long
REAL Fließkommazahl VT_R4 Single
BK Konsistente Daten als Feld von Bytes VT_ARRAY of VT_UI1 Byte() *
(unsigned 8)
WK Konsistente Daten als Feld von Wörtern VT_ARRAY of VT_UI2 Long() *
(unsigned16)

* Defaulteinstellung in Visual Basic BSTR

<Element{.Bit}> Nummer des anzusprechenden Elements (nicht bei BK und WK mög-


lich). Die Byteadresse eines Elements wird durch den Datentyp be-
stimmt.

Beispiel:
B2 liefert ein Byte ab Byteadresse 2, W2 liefert dagegen ein Wort ab
Wortadresse 2, die der Byteadresse 4 entspricht!

Die Spezifizierung eines Bits ist nur bei dem Typ X zulässig. Die anzu-
gebende Adresse ist eine Byteadresse.

Beispiel:
X2.3 liefert das 3. Bit des 2. Bytes.

{,Anzahl} Anzahl der Elemente (nicht bei BK, WK und X möglich). Der Datentyp
der Variable ist ein Feld mit Elementen (Datentyp VT_ARRAY) des
angegebenen Formats. Wird dieser Namensteil weggelassen, wird als
Anzahl 1 angenommen und der Datentyp der Variable ist kein Feld.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 133
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Syntaxbeispiele Nachfolgend einige Syntaxbeispiele, die die oben aufgeführte


Definition verdeutlichen.

Vergessen Sie nicht, daß Sie der Variablen stets die Protokoll-ID und
die Baugruppenbezeichnung (z.B. „DPS:[DPSONLINE]“ )voranstellen
müssen!

Syntaxbeispiel Beschreibung
SlaveM003EB0 Eingangsbyte 0 (Offset 0)
SlaveM003EB1,3 3 Byte ab Eingangsbyte1 (Offset 1)
SlaveM003AW3 Ausgangswort 3 (Offset 6)
SlaveM003ADWORD2 Ausgangsdoppelwort2 (Offset 8)
SlaveM003EX0.0 Eingangsbit 0 im Byte 0
SlaveM003AX3.7 Ausgangsbit 7 im Byte 3
SlaveM003EBK Alle Eingangsbytes im Modul 3
SlaveM001AWK Alle Ausgangsworte im Modul 1

Vordefiniertes Es gibt folgendes vordefiniertes DPS-Item zur Ermittlung und


DPS-Item der Steuerung des Zustands der Baugruppe:
Baugruppe

Item Beschreibung
DPS:[ DPSONLINE]&devicestate Zustand der den Slave beheimaten-
den Baugruppe.
Datentyp: VT_BSTR mit den Werten
„ONLINE“ und „OFFLINE“.
Durch Schreiben dieser Werte kann
die Baugruppe in den entsprechen-
den Zustand gesetzt werden.

Einführung OPC-Server für SIMATIC NET


134 6GK1971-0BA00-0AA0
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

Vordefinierte OPC- Es gibt folgende vordefinierte OPC-Items:


Items des Slaves

Item Beschreibung
DPS:[DPSONLINE]SlaveSlvState Aktueller Zustand des DPS-Slaves.
Datentyp ist VT_BSTR mit den
möglichen Werten
„DATA_EXCHANGE“ und
„NO_DATA_EXCHANGE“.
DPS:[DPSONLINE]SlaveAllInputs Alle Eingabebytes aller Eingabemo-
dule des Slaves. Der Datentyp ist
VT_ARRAY|VT_UI1.
DPS:[DPSONLINE]SlaveAllOutputs Alle Ausgabebytes aller Ausgabe-
module des Slaves. Der Datentyp ist
VT_ARRAY|VT_UI1.
DPS:[DPSONLINE]SlaveMiscRead- Konfigurationsdaten des Slaves. Der
SlvParCfgData Datentyp ist VT_ARRAY|VT_UI1.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 135
Aufbau der OPC-Items für die SIMATIC NET Data Access-Schnittstelle

5.8 Symbolische Variablenbezeichnungen (Aliases)

Einleitung Die SIMATIC NET-OPC-Server ermöglichen die Definition und Ver-


wendung von symbolischen Variablenbezeichnungen. Damit können
OPC Applikationen unabhängig von einer Anlagenkonfiguration ent-
wickelt und durch eine Projektierung der Variablennamen und Verbin-
dungen an eine Anlage angepaßt werden.
Die Symbole sind innerhalb einer Verbindung definiert. Zur vollständi-
gen Angabe eines Items muß deshalb zusätzlich die Verbindungsin-
formation angegeben werden.

Beispiele • AccessPath=““
ItemID = “FMS:[Pumpe_1]Spannung“
Pumpe_1 ist in der FMS-Datenbasis als Verbindungsname projek-
tiert, Spannung ist eine symbolische Bezeichnung für einen FMS-
Index. Da VFD und Kommunikationsprozessor eindeutig sind, kön-
nen sie entfallen.
• AccessPath = “FMS:[FMS_CON|VFD1_OPC|CP_L2_1:]“
ItemID1 = “Durchfluss“
ItemID2 = “Fuellmenge“
Der AccessPath enthält die vollständige Verbindungsinformation
und wird für alle Items benutzt.

Definition Symbolische Definitionen (Aliasnamen) können in einer Textdatei vor


dem Start des OPC-Servers definiert werden. Details zur Definition
von Aliasnamen über eine Textdatei entnehmen Sie bitte Kapitel 8

Einführung OPC-Server für SIMATIC NET


136 6GK1971-0BA00-0AA0
Eigenschaften des OPC Event Servers für SIMATIC NET

6 Eigenschaften des OPC Event Servers für


SIMATIC NET

Die OPC Event Spezifikation läßt dem Hersteller eines OPC Event Servers große
Spielräume, um die Eigenschaften seiner Automatisierungssysteme auf die OPC-
Schnittstellen für Alarme & Ereignisse abzubilden.
Dieses Kapitel beschreibt, welche Möglichkeiten der OPC Spezifikation für Alarm &
Events vom OPC-Server für SIMATIC NET genutzt werden, welche Ereignisse vom
OPC-Server geliefert werden und welche Zusatzinformationen als Attribute zur
Verfügung stehen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 137
Eigenschaften des OPC Event Servers für SIMATIC NET

6.1 Allgemeine Informationen

Simple Event Der OPC Event Server für SIMATIC NET verfügt über keine Projektie-
Server rungsinformationen bezüglich der Alarm/Ereignisbehandlung in einem
Bedien- und Beobachtungssystem.

Da Projektierungsinformationen fehlen, kann der OPC Event-Server


für SIMATIC NET nur als „Simple Event Server“ betrieben werden. Ein
Simple Event Server gibt nur einfache Meldungen der unterlagerten
Komponenten weiter. Ein übergeordneter Alarm/Event Management
Server verarbeitet unter Beachtung von Projektierungsinformationen
die Meldungen der unterlagerten Simple Server (siehe nächste Abb.).

Bedien-
station 2

Protokoll-
Bedien- drucker
station 2

Alarm/Event
Management Server

Simple Alarm/ Simple Alarm/


Event Server Event Server

Anbindung an Sonstiges Gerät


Kommunikations- mit Alarm-
system Informationen

Einschränkungen Als Simple Alarm/Events Server hat der OPC Event Server für
SIMATIC NET folgende Einschränkungen:

• Keine Conditions
• Keine zustandsbehafteten Ereignisse
• Keine Quittierung
• Keine Areas
• Kein Area Browsing

Einführung OPC-Server für SIMATIC NET


138 6GK1971-0BA00-0AA0
Eigenschaften des OPC Event Servers für SIMATIC NET

6.2 S7-Protokoll

Verwendete Das S7-Protokoll bietet zwei Protokollmechanismen zur Übertragung


Dienste von Ereignissen.

• Projektierte Meldungen (SCAN)


• Programmierte Meldungen (ALARM)

Beide Meldungstypen werden vom OPC Event Server für das S7 Pro-
tokoll verwendet.

Unterstützte Den Meldungstypen entsprechend bietet der OPC Event Server die
Alarmkategorien folgenden Alarmkategorien an:

• S7_PROCESS_SCAN
• S7_PROCESS_ALARM.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 139
Eigenschaften des OPC Event Servers für SIMATIC NET

6.2.1 Ereignisse und Parameter

Parameter Mit dem Aufruf der Rückruffunktion „OnEvent“ des Clients erhält der
Client eine Liste von Ereignissen. Der OPC Event Server für S7 liefert
serverspezifische Parameter, die in diesem Abschnitt erläutert werden.

Parameter Als Quelle für die Benachrichtigung wird vom OPC Event Server für
„szSource“ S7 die Verbindungsinformation des meldenden S7-Geräts angegeben.
Diese entspricht dem Verbindungsanteil einer S7-Variable für OPC
Data Access:
Die Verbindunginformation setzt sich aus drei Teilen zusammen:
• dem projektierten Namen der S7-Verbindung
• dem projektierten lokalen VFD, auf dem der OPC-Server anmeldet
werden soll
• dem Namen des Kommunikationsprozessors bzw. des Zugangs-
punktes der Applikation
Die einzelnen Teile werden durch das Zeichen „|“ getrennt.
Die Namen der S7-Verbindungen und der VFDs legen Sie durch die
Projektierung fest.
Beispiel: S7:\AG1|VFD_OPC|CP_L2_1:

Parameter Der Name der Nachricht setzt sich aus dem Meldemechanismus und
„szMessage“ der projektierten Meldungsnummer zusammen:
• SCAN<Meldungsnummer>
• ALARM<Meldungsnummer>

Beispiele: SCAN83
ALARM55

Parameter Der OPC Event Server unterstützt nur den Typ


„dwEventType“
OPC_SIMPLE_EVENT
Diese Konstante hat den Wert 0x0001.

Parameter Als Eventkategorien sind folgende Werte möglich:


„dwEventCategory
• S7_PROCESS_SCAN = 1

• S7_PROCESS_ALARM = 2

Einführung OPC-Server für SIMATIC NET


140 6GK1971-0BA00-0AA0
Eigenschaften des OPC Event Servers für SIMATIC NET

Parameter Der Rückgabewert liefert eine Information über die Wichtigkeit des
„dwSeverity“ Ereignisses. Dieser Rückgabewert kann für einzelne Meldungsnum-
mern eines Kommunikationspartners in der Konfigurationsdatei (siehe
Kapitel 8.4) verändert werden.

Parameter Die Anzahl der mit der Meldung gelieferten Attribute hängt von der
„dwNumEventAttrs Anzahl der mitgelieferten Begleitwerte ab.

Parameter Diese Struktur beinhaltet die mit dem Ereignis gelieferten Attribute. Die
„pEventAttributes“ Attribute beinhalten auch die von dem Partnergerät gelieferten Be-
gleitwerte der Meldung. Der Aufbau der Struktur ist in der OPC-
Spezifikation beschrieben.

Weitere Parameter Die weiteren Parameter enthalten Informationen, die für Bedingte Er-
eignisse (Condition related Events) oder Protokollereignisse (Tracking
Events) relevant sind. Da diese Ereignistypen vom OPC Eventserver
für SIMATIC NET nicht unterstützt werden, haben die weiteren Para-
meter keine Bedeutung.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 141
Eigenschaften des OPC Event Servers für SIMATIC NET

6.2.2 Ereignisattribute

Mitgelieferte Zu einer Meldung oder einem Alarm kann eine S7-Station bis zu 10
Attribute Begleitwerte mitliefern. Diese Begleitwerte stehen über die OPC
Alarm&Event-Schnittstelle in den Ereignisattributen zur Verfügung.
Dieses Unterkapitel beschreibt die mit einem Ereignis vom OPC Event
Server für SIMATIC NET gelieferten Attribute.
Projektierte Meldungen (SCAN) und programmierte Meldungen
(ALARM) liefern die folgenden Attribute:

Einführung OPC-Server für SIMATIC NET


142 6GK1971-0BA00-0AA0
Eigenschaften des OPC Event Servers für SIMATIC NET

Bezeichnung Wert Typ Beschreibung


EVENT_ATTR_S7_ 6000 VT_DATE Zeitpunkt, an dem der OPC Event Server die Meldung
PCTIME bekommen hat
EVENT_ATTR_S7_ 6001 VT_DATE Zeitpunkt, zu dem die Meldung auf dem Partnergerät
S7TIME erzeugt wurde
EVENT_ATTR_S7_ 6002 VT_UI2 Bei SCAN Meldungen:
STATE
Angabe des allgemeinen Zustands, ob die Meldung
vorhanden ist oder nicht. Mögliche Werte:
S7_SCAN_MSG_EXIST OK (Wert 0x0)
S7_SCAN_NO_MSG Meldung existiert nicht (Wert
0x81)

Bei ALARM Meldungen:


0x00H OK
Bit Beschreibung
0 Initanlauf
1 Overflow Signal
2 Overflow Instanz
3..5 0, reserviert
6 Zusatzwerte nicht eintragbar (Größe)
7 Zusatzwerte nicht erreichbar

EVENT_ATTR_S7_ 6003 VT_UI2 Quittierungszustand des Scan-Objekts.


ACK_STATE
Über den OPC Event Server für SIMATIC NET ist ei-
ne Quittierung von Meldungen nicht möglich. Mel-
dungen können jedoch von anderen Bediensystemen
quittiert werden.
Bei SCAN Meldungen:
Bit Beschreibung
0 Quittierung gekommen
1 bis 7 irrelevant
8 Quittierung gegangen
9 bis 15 irrelevant

Bei ALARM Meldungen:


Bit Beschreibung
0 Quittierung 1gekommen
... ...
7 Quittierung 8 gekommen
8 Quittierung 1 gegangen
... ...
15 Quittierung 8 gegangen

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 143
Eigenschaften des OPC Event Servers für SIMATIC NET

Bezeichnung Wert Typ Beschreibung


EVENT_ATTR_S7_ 6004 VT_UI2 Ereigniszustand
EVENT_STATE
Bit 0: Aktueller Zustand (1 = aktiv)
Restliche Bits: irrelevant
EVENT_ATTR_S7_ 6005 VT_UI2 Anzahl der Begleitwerte
NO_DATA
Wertebereich: 1..10
EVENT_ATTR_S7_ 6006 VT_UI2 Datentyp des Begleitwertes Nr. 0
DATA00_DATATYPE
Parameterwert Beschreibung
S7_DATATYPE_ERROR Fehler (0x0)
S7_DATATYPE_BOOLEAN Boolean (0x03)
S7_DATATYPE_INTEGER Integer (0x05)
S7_DATATYPE_FLOAT Float (0x07)
S7_DATATYPE_OCTET_STRING String (0x09)
S7_DATATYPE_BITSTRING Bitstring (0x04)
Hinweis:
Längenangabe in
Byte statt in Bit!
S7_DATATYPE_
DATE Datum
(0x30)
Hinweis:
Tage seit
01.01.1990
S7_DATATYPE_TIME_OF_DAY Zeit (0x31)
Hinweis:
ms seit Tagesbe-
ginn
S7_DATATYPE_TIME Zeit (0x32)
Hinweis:
In ms
S7_DATATYPE_S5TIMEZeit (0x33)
Hinweis:
BCD codiert
EVENT_ATTR_S7_ 6007 VT_UI2 Anzahl der relevanten Bytes des Begleitwertes Nr. 0
DATA00_VALUE_
LEN
EVENT_ATTR_S7_ 6008 VT_ARRAY | Die relevanten Bytes des Begleitwertes Nr. 0 als Feld
DATA00 VT_UI1 von Bytes.
EVENT_ATTR_S7_ 6010 VT_UI2 Datentyp des Begleitwertes Nr. 1
DATA01_DATATYPE
EVENT_ATTR_S7_ 6011 VT_UI2 Anzahl der relevanten Bytes des Begleitwertes Nr. 1
DATA01_VALUE_
LEN
EVENT_ATTR_S7_ 6012 VT_ARRAY | Die relevanten Bytes des Begleitwertes Nr. 1 als Feld
DATA01 VT_UI1 von Bytes.
...

Einführung OPC-Server für SIMATIC NET


144 6GK1971-0BA00-0AA0
Eigenschaften des OPC Event Servers für SIMATIC NET

Bezeichnung Wert Typ Beschreibung


EVENT_ATTR_S7_ 6042 VT_UI2 Datentyp des Begleitwertes Nr. 9
DATA09_DATATYPE
EVENT_ATTR_S7_ 6043 VT_UI2 Anzahl der relevanten Bytes des Begleitwertes Nr. 9
DATA09_VALUE_
LEN
EVENT_ATTR_S7_ 6044 VT_ARRAY | Die relevanten Bytes des Begleitwertes Nr. 9 als Feld
DATA09 VT_UI1 von Bytes.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 145
Konfiguration des OPC-Servers für SIMATIC NET

Einführung OPC-Server für SIMATIC NET


146 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

7 Konfiguration des OPC-Servers für SIMATIC NET

Der OPC-Server für SIMATIC NET muß konfiguriert werden, bevor er die unterlagerten
Kommunikationssysteme nutzen kann. Dieses Kapitel erläutert die grundlegende
Konfiguration über das Konfigurationsprogramm.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 147
Konfiguration des OPC-Servers für SIMATIC NET

7.1 Allgemeine Informationen

Einleitung Die Betriebsweise des OPC-Servers für SIMATIC NET kann den An-
forderungen des Anwendungsgebiets angepaßt werden.
Nach der Installation des OPC-Servers für SIMATIC NET sind die
Konfigurationsparameter mit Default-Werten vorbesetzt.
Für eine reibungslose Inbetriebnahme des OPC-Servers sollte das
Konfigurationsprogramm gestartet werden, die voreingestellten Para-
meter überprüft und notwendige Parameter gesetzt werden.

Konfigurations- Zusätzliche, tiefergehende Einstellungen können über die in Kapitel 9


dateien beschriebenen Konfigurationsdateien vorgenommen werden.

Aufruf Das Konfigurationsprogramm des OPC-Servers für SIMATIC NET


kann über die Systemsteuerung oder aus dem Start-Menü auf zwei
verschiedene Arten aufgerufen werden:

Möglichkeit 1
Doppelklicken Sie auf das Symbol „SIMATIC NET OPC-Server“ in der
Systemsteuerung.

Möglichkeit 2
Starten Sie das Programm „OPC Einstellungen“ über die Task-Leiste
von Windows (Task-Leiste Start => SIMATIC => SIMATIC NET =>
OPC Server => OPC Einstellungen).

Nach dem Start des Konfigurationsprogramms können Sie auf mehre-


ren Registern allgemeine und protokollspezifische Einstellungen
durchführen.

Änderungen Die Einstellungen im Konfigurationsprogramm werden aktualisiert,


übernehmen wenn Sie die Schaltfläche „OK“ oder wenn Sie die Schaltfläche „Über-
nehmen“ betätigen. Die Einstellungen werden - bis auf die Trace-
Einstellungen - erst beim nächsten Start des OPC-Servers wirksam.
Schließen Sie alle Clients um den OPC-Server zu beenden, und star-
ten Sie dann einen OPC-Client.

Einführung OPC-Server für SIMATIC NET


148 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

7.2 Allgemeine Einstellungen für alle Protokolle

Übersicht Im Register „OPC Parameter“ können Sie allgemeingültige Parameter


für den Betrieb des OPC-Servers für alle Protokolle einstellen.

Aktive Protokolle Der OPC-Server für SIMATIC NET unterstützt den gleichzeitigen Be-
trieb mehrerer Protokolle. Durch die Auswahl der Kontrollkästchen
„DP-Protokoll“, „S7-Protokoll“, „SR-Protokoll“ oder „FMS-Protokoll“
legen Sie fest, über welche Protokolle der OPC-Server kommunizieren
soll. Fehlt das unterlagerte Kommunikationssystem oder ist es nicht
richtig konfiguriert oder projektiert, so kommt es beim Anlauf des OPC-
Servers zu entsprechenden Fehlermeldungen. Beseitigen Sie dann die
Fehler oder deaktivieren Sie das Protokoll.

Symboldatei Mit dem OPC-Server kann neben den verbindungsspezifischen Alias-


namen eine protokollübergeordnete Symboldatei verwendet wer-
den. Falls eine Symboldatei verwendet werden soll, muß das Kontroll-
kästchen „Symboldatei“ ausgewählt und der Pfad und Namen der Da-
tei in diesem Eingabefeld eingegeben werden. Details zur Erstellung
der Symboldatei entnehmen Sie bitte Kap. 7.11.

Lizenzen Sie benötigen zum Betrieb eines Protokolls die Lizenz für das entspre-
chende OPC-Produkt von SIMATIC NET. Die simulierten Verbin-
dungen können jedoch auch ohne Lizenz betrieben werden..

Trace Zur Fehlersuche in eigenen Applikationen ist es oftmals von großem


Vorteil, wenn man das korrekte Verhalten der unterlagerten Kompo-
nenten auswerten kann. Vor allem Fehler in der Dynamik einer Kom-
munikation lassen sich auf diese Weise leichter verfolgen. Mit Hilfe
von Trace-Ausgaben protokolliert ein Programm die von ihm durch-
geführten Aktionen.

Der OPC-Server bietet die Möglichkeit, OPC-spezifische (Data Aceess


bzw. Alarms & Events) und protokollspezifische Aktionen separat auf-
zuzeichnen.

Aktivieren der Zur Aktivierung der Trace-Ausgabe der OPC-spezifischen Aktionen für
Trace-Ausgabe Data Access ist das Kontrollkästchen „OPC Data Access Trace aktivie-
ren“ einzuschalten.

Zur Aktivierung der Trace-Ausgabe der OPC-spezifischen Aktionen für


Alarms & Events ist das Kontrollkästchen „OPC Alarms&Events Trace
aktivieren“ einzuschalten. Die Aktivierung von Traceausgaben ver-
langsamt den Programmablauf erheblich!

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 149
Konfiguration des OPC-Servers für SIMATIC NET

Trace File Geben Sie im Eingabefeld „Tracedatei“ Pfad und Namen der Datei an,
in welche die Traceausgaben geschrieben werden sollen.

Anzahl Einträge in Um durch eine stetig wachsende Tracedatei die Funktionsfähigkeit des
Datei Systems nicht zu gefährden, ist die Größe der Tracedatei begrenzt. Mit
dem Parameter „Anzahl Einträge in Datei“ legen Sie fest, wieviel Ein-
träge die Tracedatei aufnehmen kann. Ist die Tracedatei voll, so wird
sie durch Änderung der Dateinamenserweiterung umbenannt und eine
neue Datei angelegt. Sie können auf diese Weise nach dem Erreichen
der maximalen Anzahl der Einträge in der umbenannten Datei die
letzten Traceausgaben betrachten.

Einführung OPC-Server für SIMATIC NET


150 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

7.3 Protokollspezifische Einstellungen für DP

Übersicht Im Register „DP Parameter“ können Sie Parameter für den Betrieb des
DP-Protokolls einstellen.

Parameter Der Parameter „Abfragezyklus“ legt das kleinstmögliche Zeitintervall


„Abfragezyklus“ für eine Überprüfung der Werte von OPC-Items fest. Die Überprüfung
erfolgt nur für aktive Items in aktiven Gruppen. Nach Ablauf dieses
Zeitintervalls prüft der Server, ob sich der Wert der OPC-Items verän-
dert hat. Geändert aktive OPC-Items werden daraufhin im Cache ak-
tualisiert und an den Benutzer gemeldet.
Der Benutzer kann für jede Gruppe eine „UpdateRate“ einstellen. Falls
die eingestellte Rate nicht unterstützt wird, meldet der Server eine
alternative Rate (RevisedUpdateRate) zurück, die den nächsten zuläs-
sigen Wert darstellt. Mit dem Wert 0 kann die kleinste zulässige „Up-
dateRate“ angefordert werden. Der Wert des eingestellten Abfragezy-
klus wird als kleinste zulässige Update Rate zurückgeliefert.
Der Wert der kleinsten Update Rate muß mit dem zeitlichen Verhalten
des unterlagerten Kommunikationssystems abgestimmt sein. Sie darf
nicht deutlich kleiner gewählt werden, als die vom Kommunikations-
system benötigte Zeit zur Akquisition neuer Prozeßdaten.

„Simulationsver- Der DP-OPC-Server kann für Tests, Präsentationen und Entwicklung


bindung aktivie- ohne unterlagerten Kommunikationsprozessor betrieben werden. Dazu
ren“ steht eine konfigurierbare Simulationsbaugruppe zur Verfügung. Diese
Simulationsbaugruppe hat stets den Namen DEMO.
Über das Kontrollkästchen „Simulationsbaugruppe aktivieren“ kann
diese Verbindung ein- und abgeschaltet werden.
Details zur Konfiguration der Simulationsbaugruppe finden Sie in Ka-
pitel 8.3.5.

„Zugriffsrechte- Mit dem OPC-Server können die Zugriffsrechte einzelner Variablen


Konfiguration“ oder Variablengruppen festgelegt werden. Durch die Angabe von Zu-
aktivieren griffsrechten kann z. B. das Überschreiben einer steuerungsinternen
Berechnungsvariablen verhindert werden. Die Konfiguration der Zu-
griffsrechte wird entweder im Symboldatei-Konfigurator für symboli-
sche Variablen oder in einer protokollspezifischen Textdatei vorge-
nommen.
Das Setzen des Kontrollkästchens „Zugriffsrechte-Konfiguration akti-
vieren“ bewirkt, daß die Konfigurationsdatei für die Zugriffsrechte beim
Anlauf des OPC-Servers ausgewertet wird. Die Konfigurationsdatei für
die Zugriffsrechte wird dann zusammen mit der allgemeinen Konfigu-
rationsdatei bei Betätigung der Schaltfläche „DP Konfigurationsdatei
editieren“ geöffnet. Details zum Aufbau der Konfigurationsdatei finden
Sie in Kapitel 8.2.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 151
Konfiguration des OPC-Servers für SIMATIC NET

„DP Konfigu- Die Betätigung dieser Schaltfläche öffnet einen Texteditor mit der akti-
rationsdatei ven Konfigurationsdatei. In dieser Datei können nun Änderungen der
editieren“ Konfiguration durchgeführt werden.

Speichern und Auch das Konfigurationsprogramm nimmt Änderungen an der Konfigu-


Aktivieren rationsdatei vor, die von Ihren Änderungen überschrieben werden kön-
nen.
Empfehlung:

☞ Betätigen Sie die Schaltfläche „DP Konfigurationsdatei editieren“


erst, wenn Sie die Änderungen durch das Konfigurationspro-
gramm mit der Schaltfläche „Übernehmen“ übernommen haben!

Zugangspunkte Ein Zugangspunkt ist ein Name, der eindeutig auf eine Kommunikati-
auswählen onsbaugruppe verweist. Die Bezeichnungen der Zugangspunkte wer-
den durch das Konfigurationsprogramm der unterlagerten Protokoll-
software festgelegt. Für das DP-Protokoll sind folgende Zugangs-
punkte zulässig:
• CP_L2_1:
• CP_L2_2:
• CP_L2_3:
• CP_L2_4:

Sie wählen die vom OPC-Server zu benutzenden Zugangspunkte


durch Aktivieren des Kontrollkästchens der entsprechenden Zeile der
Liste der verfügbaren Zugangspunkte aus.

Nicht verfügbare Das Konfigurationsprogramm erkennt, wenn die in einer früheren Kon-
Zugangspunkte figuration festgelegten Zugangspunkte nicht mehr gültig sind. Solche
Zugangspunkte werden durch ein rot gefärbtes Kontrollkästchen mar-
kiert. Nicht mehr gültige Zugangspunkte werden durch das Konfigurati-
onsprogramm aus der Liste der ausgewählten Zugangspunkte entfernt.
Das Entfernen ungültiger Zugangspunkte wird unterbunden, wenn das
Kontrollkästchen „Nicht verfügbare Zugangspunkte beibehalten“ akti-
viert ist.

Eingaben Beachten Sie, daß auch die Auswahl der Zugangspunkte erst nach
übernehmen Bestätigung der Eigenschaftsseite durch „Übernehmen“ oder „OK“
übernommen wird. Diese Änderungen sind weiterhin erst nach dem
nächsten Neustart des OPC-Servers für SIMATIC NET wirksam.

Einführung OPC-Server für SIMATIC NET


152 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

7.4 Protokollspezifische Einstellungen für S7

Übersicht Im Register „S7 Parameter“ können Sie allgemeingültige Parameter


für den Betrieb des S7-Protokolls einstellen.

Parameter Der Parameter „Abfragezyklus“ legt das kleinstmögliche Zeitintervall


„Abfragezyklus“ für eine Überprüfung der Werte von OPC-Items fest. Die Überprüfung
erfolgt nur für aktive Items in aktiven Gruppen. Nach Ablauf dieses
Zeitintervalls prüft der Server, ob sich der Wert der OPC-Items verän-
dert hat. Geändert aktive OPC-Items werden daraufhin im Cache ak-
tualisiert und an den Benutzer gemeldet.
Der Benutzer kann für jede Gruppe eine „UpdateRate“ einstellen. Falls
die eingestellte Rate nicht unterstützt wird, meldet der Server eine
alternative Rate (RevisedUpdateRate) zurück, die den nächsten zuläs-
sigen Wert darstellt. Mit dem Wert 0 kann die kleinste zulässige „Up-
dateRate“ angefordert werden. Der Wert des eingestellten Abfragezy-
klus wird als kleinste zulässige Update Rate zurückgeliefert.
Der Wert der kleinsten Update Rate muß mit dem zeitlichen Verhalten
des unterlagerten Kommunikationssystems abgestimmt sein. Sie darf
nicht deutlich kleiner gewählt werden, als die vom Kommunikations-
system benötigte Zeit zur Akquisition neuer Prozeßdaten.

„Simulationsver- Der S7-OPC-Server kann für Tests, Präsentationen und Entwicklung


bindung ohne unterlagerten Kommunikationsprozessor betrieben werden. Dazu
aktivieren“ steht eine konfigurierbare Simulationsverbindung zur Verfügung. Diese
Simulationsverbindung hat stets den Namen DEMO.
Über das Kontrollkästchen „Simulationsverbindung aktivieren“ kann
diese Verbindung ein- und abgeschaltet werden.

„Zugriffsrechte- Mit dem OPC-Server können die Zugriffsrechte einzelner Variablen


Konfiguration“ oder Variablengruppen festgelegt werden. Durch die Angabe von Zu-
aktivieren griffsrechten kann z. B. das Überschreiben einer steuerungsinternen
Berechnungsvariablen verhindert werden. Die Konfiguration der Zu-
griffsrechte wird entweder im Symboldatei-Konfigurator für symboli-
sche Variablen oder in einer protokollspezifischen Textdatei vorge-
nommen.
Das Setzen des Kontrollkästchens „Zugriffsrechte-Konfiguration akti-
vieren“ bewirkt, daß die Konfigurationsdatei für die Zugriffsrechte beim
Anlauf des OPC-Servers ausgewertet wird. Die Konfigurationsdatei für
die Zugriffsrechte wird dann zusammen mit der allgemeinen Konfigu-
rationsdatei bei Betätigung der Schaltfläche „S7 Konfigurationsdatei
editieren“ geöffnet. Details zum Aufbau der Konfigurationsdatei finden
Sie in Kapitel 8.2.

„S7 Konfigu- Die Betätigung dieser Schaltfläche öffnet einen Texteditor mit der akti-
rationsdatei ven Konfigurationsdatei. In dieser Datei können Änderungen der Kon-
editieren“ figuration durchgeführt werden.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 153
Konfiguration des OPC-Servers für SIMATIC NET

Speichern und Auch das Konfigurationsprogramm nimmt Änderungen an der Konfigu-


Aktivieren rationsdatei vor, die von Ihren Änderungen überschrieben werden kön-
nen.
Empfehlung:

☞ Betätigen Sie die Schaltfläche „S7 Konfigurationsdatei editieren“


erst, wenn Sie die Änderungen durch das Konfigurationspro-
gramm mit der Schaltfläche „Übernehmen“ übernommen haben!

CP/VFD-Paare Ein VFD ist ein „Virtual Field Device“ (virtuelles Feldgerät). Es ist eine
auswählen Abbildung eines oder mehrerer realer Feldgeräte mit der Zielsetzung,
eine einheitliche Sicht auf die reale Anlage zu erhalten. Es hat die
Funktion einer eindeutigen Zuordnung von realen Geräten zu einer
Applikation.
Die Menge der verfügbaren VFDs wird durch die Projektierung des
Kommunikationssystems festgelegt. Ein VFD enthält die Verbindun-
gen, die für dieses VFD projektiert wurden. Für jede Kommunikations-
baugruppe kann ein eigener Satz von VFDs projektiert werden.
Eine Applikation kann sich an einem oder mehreren VFDs und an ei-
nem oder mehreren Kommunikationsbaugruppen (Communication
Processors =CP) anmelden. Ein CP/VFD-Paar ist genau einer Appli-
kation zugeordnet. Durch die Auswahl eines CP/VFD-Paares ist fest-
gelegt, welche Baugruppe und welches VFD (und damit welche Ver-
bindungen) in einer Applikation zur Kommunikation benutzt werden
sollen.
Der OPC-Server für SIMATIC NET benutzt ohne vorherige Konfigura-
tion alle auf einem Rechner projektierten VFDs zur Kommunikation.
Die Ermittlung der vorliegenden Konfiguration nimmt unter Umständen
einige Zeit in Anspruch. Da ein Kommunikationsprozessor über mehre-
re Namen erreicht werden kann, werden VFDs bei der Auflistung der
CP/VFD-Paare mehrfach aufgeführt.

☞ Sie sollten stets vor der Inbetriebnahme des S7-OPC-Servers nur


die wirklich benötigten CP/VFD-Paare auswählen.
Es ist von Vorteil, von den in mehreren CP/VFD-Paaren aufgeführten
VFDs diejenigen Paare auszuwählen, die einen Zugangspunkt (z.B.
CP_L2_1:) enthalten. Auf diese Weise kann ohne Veränderung der
OPC-Konfiguration auf andere CP’s umgeschaltet werden.
Sollen noch andere Applikationen auf diesem Rechner gleichzeitig das
S7-Protokoll benutzen, so benötigen diese Programme einen eigenen,
nicht vom OPC-Server benutzten VFD.

Einführung OPC-Server für SIMATIC NET


154 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

Beispiel- Konfigurationsbeispiel:
konfiguration
Sie wollen auf dem PC nur den S7-OPC-Server zur S7-Kommunikation
mit 5 Partnergeräten nutzen. Dazu projektieren Sie in der S7-
Datenbasis 5 Verbindungen, die alle den gleichen VFD <1> benutzen.
Sie benutzen einen CP 5412 (A2).
In der Auswahl der CP/VFD-Paare sehen Sie z.B. „CP_L2_1:|VFD<1>“
und „CP 5412 (A2) PROFIBUS|VFD <1>“.
Wählen Sie nur das CP/VFD-Paar „CP_L2:1|VFD <1>“ aus.
Sie legen die für das S7-Protokoll zu benutzenden CP/VFD-Paare
durch Aktivieren des Kontrollkästchens der entsprechenden Zeile fest.

Nicht verfügbare Das Konfigurationsprogramm erkennt, wenn die in einer früheren Kon-
CP/VFD-Paare figuration festgelegten CP/VFD-Paare nicht mehr gültig sind. Ursache
könnte die Verwendung einer anderen S7-Datenbasis oder die Verän-
derung/Löschung eines Zugangspunktes sein. Solche CP/VFD-Paare
werden durch ein rot gefärbtes Kontrollkästchen markiert. Nicht mehr
gültige CP/VFD-Paare werden durch das Konfigurationsprogramm aus
der Liste der ausgewählten CP/VFD-Paare entfernt. Das Entfernen
ungültiger CP/VFD-Paare wird unterbunden, wenn das Kontrollkäst-
chen „Nicht verfügbare CP/VFD-Paare beibehalten“ aktiviert ist.

Eingaben Beachten Sie, daß auch die Auswahl der CP/VFD-Paare erst nach
übernehmen Bestätigung der Eigenschaftsseite durch „Übernehmen“ oder „OK“
übernommen werden. Diese Änderungen sind weiterhin erst nach dem
nächsten Neustart des OPC-Servers für SIMATIC NET wirksam.

Änderung der Wenn die Projektierung verändert oder eine andere Datenbasis für das
Projektierung S7-Protokoll eingetragen wird, muß beachtet werden, daß die Auswahl
der CP/VFD-Paare unter Umständen nicht mehr gültig ist. Bei dem
Start des OPC-Servers kann es zu Fehlermeldungen kommen.
Prüfen Sie nach einer Änderung der S7-Projektierung, die die VFDs
oder die benutzten CPs betrifft, die Auswahl der CP/VFD-Paare.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 155
Konfiguration des OPC-Servers für SIMATIC NET

7.5 Protokollspezifische Einstellungen für FMS

Übersicht Im Register „FMS-OPC-Server“ können Sie allgemeingültige Parame-


ter für den Betrieb des FMS-OPC-Servers einstellen.

Parameter FMS-Sequenzdienste werden von dem FMS-OPC-Server abgewickelt.


„Wiederholungen Sollte bei einem Einzelauftrag ein Fehler auftreten, so wird er mehrfach
der wiederholt. Mit dem Parameter „Wiederholungen der Sequenzdienste“
Sequenzdienste“ wird die Anzahl der Wiederholungen im Bereich von ‚0‘ bis ‚65535‘ ein-
gestellt. Der Defaultwert ist 20.

Parameter Der Parameter „Abfragezyklus“ legt das kleinstmögliche Zeitintervall


„Abfragezyklus“ für eine Überprüfung der Werte von OPC-Items fest. Die Überprüfung
erfolgt nur für aktive Items in aktiven Gruppen. Nach Ablauf dieses
Zeitintervalls prüft der Server, ob sich der Wert der OPC-Items verän-
dert hat. Geändert aktive OPC-Items werden daraufhin im Cache ak-
tualisiert und an den Benutzer gemeldet.
Der Benutzer kann für jede Gruppe eine „UpdateRate“ einstellen. Falls
die eingestellte Rate nicht unterstützt wird, meldet der Server eine
alternative Rate (RevisedUpdateRate) zurück, die den nächsten zuläs-
sigen Wert darstellt. Mit dem Wert 0 kann die kleinste zulässige „Up-
dateRate“ angefordert werden. Der Wert des eingestellten Abfragezy-
klus wird als kleinste zulässige Update Rate zurückgeliefert.
Der Wert der kleinsten Update Rate muß mit dem zeitlichen Verhalten
des unterlagerten Kommunikationssystems abgestimmt sein. Sie darf
nicht deutlich kleiner gewählt werden, als die vom Kommunikations-
system benötigte Zeit zur Akquisition neuer Prozeßdaten.

„Simulationsverbin Der FMS-OPC-Server kann für Tests, Präsentationen und Entwicklun-


dung aktivieren“ gen ohne unterlagerten Kommunikationsprozessor betrieben werden.
Dazu steht eine konfigurierbare Simulationsverbindung zur Verfügung.
Diese Simulationsverbindung hat stets den Namen DEMO.
Über das Kontrollkästchen „Simulationsverbindung aktivieren“ kann
diese Verbindung ein- und abgeschaltet werden.
Details zur Konfiguration der Simulationsverbindung finden Sie in Ka-
pitel 8.5.6

Einführung OPC-Server für SIMATIC NET


156 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

„Zugriffsrechte- Mit dem OPC-Server können die Zugriffsrechte einzelner Variablen


Konfiguration“ oder Variablengruppen festgelegt werden. Durch die Angabe von Zu-
aktivieren griffsrechten kann z. B. das Überschreiben einer steuerungsinternen
Berechnungsvariablen verhindert werden. Die Konfiguration der Zu-
griffsrechte wird entweder im Symboldatei-Konfigurator für symboli-
sche Variablen oder in einer protokollspezifischen Textdatei vorge-
nommen.
Das Setzen des Kontrollkästchens „Zugriffsrechte-Konfiguration akti-
vieren“ bewirkt, daß die Konfigurationsdatei für die Zugriffsrechte beim
Anlauf des OPC-Servers ausgewertet wird. Die Konfigurationsdatei für
die Zugriffsrechte wird dann zusammen mit der allgemeinen Konfigu-
rationsdatei bei Betätigung der Schaltfläche „FMS Konfigurationsdatei
editieren“ geöffnet. Details zum Aufbau der Konfigurationsdatei finden
Sie in Kapitel 8.2.

„FMS Konfigu- Die Betätigung dieser Schaltfläche öffnet einen Texteditor mit der akti-
rationsdatei ven Konfigurationsdatei. In dieser Datei können Änderungen der Kon-
editieren“ figuration durchgeführt werden.

Speichern und Auch das Konfigurationsprogramm nimmt Änderungen an der Konfigu-


Aktivieren rationsdatei vor, die von Ihren Änderungen überschrieben werden kön-
nen.
Empfehlung:

☞ Betätigen Sie die Schaltfläche „FMS Konfigurationsdatei editie-


ren“ erst, wenn Sie die Änderungen durch das Konfigurations-
programm mit der Schaltfläche „Übernehmen“ übernommen ha-
ben!

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 157
Konfiguration des OPC-Servers für SIMATIC NET

CP/VFD-Paare Ein VFD ist ein „Virtual Field Device“ (virtuelles Feldgerät). Es ist eine
auswählen Abbildung eines oder mehrerer realer Feldgeräte mit der Zielsetzung,
eine einheitliche Sicht auf die reale Anlage zu erhalten. Es hat die
Funktion einer eindeutigen Zuordnung von realen Geräten zu einer
Applikation.
Die Menge der verfügbaren VFDs wird durch die Projektierung des
Kommunikationssystems festgelegt. Ein VFD enthält die Verbindun-
gen, die für dieses VFD projektiert wurden. Für jede Kommunikations-
baugruppe kann ein eigener Satz von VFDs projektiert werden.
Eine Applikation kann sich an einem oder mehreren VFDs und an ei-
nem oder mehreren Kommunikationsbaugruppen (Communication
Processors =CP) anmelden. Ein CP/VFD-Paar ist genau einer Appli-
kation zugeordnet. Durch die Auswahl eines CP/VFD-Paares ist fest-
gelegt, welche Baugruppe und welches VFD (und damit welche Ver-
bindungen) in einer Applikation zur Kommunikation benutzt werden
sollen.
Der FMS-OPC-Server für SIMATIC NET benutzt ohne vorherige Kon-
figuration alle auf einem Rechner projektierten VFDs zur Kommunika-
tion. Die Ermittlung der vorliegenden Konfiguration nimmt unter Um-
ständen einige Zeit in Anspruch. Da ein Kommunikationsprozessor
über mehrere Namen erreicht werden kann, werden VFDs bei der Auf-
listung der CP/VFD-Paare mehrfach aufgeführt.

☞ Sie sollten vor der Inbetriebnahme des FMS-OPC-Servers nur die


wirklich benötigten CP/VFD-Paare auswählen.
Es ist von Vorteil, von den in mehreren CP/VFD-Paaren aufgeführten
VFDs diejenigen Paare auszuwählen, die einen Zugangspunkt (z.B.
CP_L2_1:) enthalten. Auf diese Weise kann ohne Veränderung der
OPC-Konfiguration auf andere CPs umgeschaltet werden.
Sollen noch andere Applikationen auf diesem Rechner gleichzeitig das
FMS-Protokoll benutzen, so benötigen diese Programme einen eige-
nen, nicht vom OPC-Server benutzten VFD.

Einführung OPC-Server für SIMATIC NET


158 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

Beispiel- Konfigurationsbeispiele:
konfigurationen
1. Sie wollen auf dem PC nur den FMS-OPC-Server zur FMS-
Kommunikation mit 5 FMS Partnergeräten nutzen. Dazu projektie-
ren Sie in der FMS-Datenbasis mit COM PROFIBUS 5 Verbindun-
gen, die alle den gleichen VFD <1> benutzen. Sie benutzen einen
CP 5412 (A2).
In der Auswahl der CP/VFD-Paare sehen Sie z.B.
„CP_L2_1:|VFD<1>“ und „CP 5412 (A2) PROFIBUS|VFD <1>“.
Wählen Sie nur das CP/VFD-Paar „CP_L2:1|VFD <1>“ aus.
Sie wollen den FMS-OPC-Server als ein auf SAPI FMS basierendes
Programm gleichzeitig mit 3 FMS Partnergeräten benutzen. Sie haben
einen CP 5412 (A2). zu diesem projektieren Sie in der FMS-Datenbasis
mit COM PROFIBUS:
- im FMS Mastersystem 2 VFDs (z.B. „VFD <1>“ und „VFD <2>“)
3 Partnergeräte mit jeweils 2 Verbindungen. Der ersten Verbindung
wird der VFD <1> zugeordnet, der zweiten Verbindung VFD <2>.
In der Auswahl der CP/VFD-Paare in den OPC-Einstellungen sehen
Sie z.B. „CP_L2_1:|VFD <1>“, „CP_L2_1::|VFD <2>“, „CP 5412 (A2)
PROFIBUS|VFD <1>“ und „CP 5412 (A2) PROFIBUS|VFD <2>“.
Wählen Sie für den OPC-Server nur das Paar „CP_L2_1:|VFD <1>“
aus und benutzen Sie den VFD <2> in Ihrem Programm.
Sie legen die für das FMS-Protokoll zu benutzenden CP/VFD-Paare
durch Aktivieren des Kontrollkästchens der entsprechenden Zeile fest.

Nicht verfügbare Das Konfigurationsprogramm erkennt, wenn die in einer früheren Kon-
CP/VFD-Paare figuration festgelegten CP/VFD-Paare nicht mehr gültig sind. Ursache
könnte die Verwendung einer anderen FMS-Datenbasis oder die Ver-
änderung/Löschung eines Zugangspunktes sein. Solche CP/VFD-
Paare werden durch ein rot gefärbtes Kontrollkästchen markiert. Nicht
mehr gültige CP/VFD-Paare werden durch das Konfigurationspro-
gramm aus der Liste der ausgewählten CP/VFD-Paare entfernt. Das
Entfernen ungültiger CP/VFD-Paare wird unterbunden, wenn das
Kontrollkästchen „Nicht verfügbare CP/VFD-Paare beibehalten“ akti-
viert ist.

Eingaben Beachten Sie, daß auch die Auswahl der CP/VFD-Paare erst nach
übernehmen Bestätigung der Eigenschaftsseite durch „Übernehmen“ oder „OK“
übernommen werden. Diese Änderungen sind weiterhin erst nach dem
nächsten Neustart des OPC-Servers für SIMATIC NET wirksam.

Änderung der Wenn die Projektierung verändert oder eine andere Datenbasis für das
Projektierung FMS-Protokoll eingetragen wird, muß beachtet werden, daß die Aus-
wahl der CP/VFD-Paare unter Umständen nicht mehr gültig ist. Bei
dem Start des OPC-Servers kann es zu Fehlermeldungen kommen.
Prüfen Sie nach einer Änderung der FMS-Projektierung, die die VFDs
oder die benutzten CPs betrifft, die Auswahl der CP/VFD-Paare.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 159
Konfiguration des OPC-Servers für SIMATIC NET

7.6 Protokollspezifische Einstellungen für Send/Receive

Übersicht Im Register „SR-OPC-Server“ können Sie allgemeingültige Parameter


für den Betrieb des SR-OPC-Servers einstellen.

Parameter Der Parameter „Abfragezyklus“ legt das kleinstmögliche Zeitintervall


„Abfragezyklus“ für eine Überprüfung der Werte von OPC-Items fest. Die Überprüfung
erfolgt nur für aktive Items in aktiven Gruppen. Nach Ablauf dieses
Zeitintervalls prüft der Server, ob sich der Wert der OPC-Items verän-
dert hat. Geändert aktive OPC-Items werden daraufhin im Cache ak-
tualisiert und an den Benutzer gemeldet.
Der Benutzer kann für jede Gruppe eine „UpdateRate“ einstellen. Falls
die eingestellte Rate nicht unterstützt wird, meldet der Server eine
alternative Rate (RevisedUpdateRate) zurück, die den nächsten zuläs-
sigen Wert darstellt. Mit dem Wert 0 kann die kleinste zulässige „Up-
dateRate“ angefordert werden.
Der Wert der kleinsten Update Rate sollte mit dem zeitlichen Verhalten
des unterlagerten Kommunikationssystems abgestimmt sein. Sie sollte
nicht kleiner gewählt werden, als die vom Kommunikationssystem
benötigte Zeit zur Akquisition neuer Prozeßdaten.

„Simulationsver- Der SR-OPC-Server kann für Tests, Präsentationen und Entwicklung


bindung akti- ohne unterlagerten Kommunikationsprozessor betrieben werden. Dazu
vieren“ steht eine konfigurierbare Simulationsverbindung zur Verfügung. Diese
Simulationsverbindung hat stets den Namen DEMO.
Über das Kontrollkästchen „Simulationsverbindung aktivieren“ kann
diese Verbindung ein- und abgeschaltet werden.
Details zur Konfiguration der Simulationsverbindung finden Sie in Ka-
pitel 8.6.4.

„Zugriffsrechte- Mit dem OPC-Server können die Zugriffsrechte einzelner Variablen


Konfiguration“ oder Variablengruppen festgelegt werden. Durch die Angabe von Zu-
aktivieren griffsrechten kann z. B. das Überschreiben einer steuerungsinternen
Berechnungsvariablen verhindert werden. Die Konfiguration der Zu-
griffsrechte wird entweder im Symboldatei-Konfigurator für symboli-
sche Variablen oder in einer protokollspezifischen Textdatei vorge-
nommen.
Das Setzen des Kontrollkästchens „Zugriffsrechte-Konfiguration akti-
vieren“ bewirkt, daß die Konfigurationsdatei für die Zugriffsrechte beim
Anlauf des OPC-Servers ausgewertet wird. Die Konfigurationsdatei für
die Zugriffsrechte wird dann zusammen mit der allgemeinen Konfigu-
rationsdatei bei Betätigung der Schaltfläche „SR Konfigurationsdatei
editieren“ geöffnet. Details zum Aufbau der Konfigurationsdatei finden
Sie in Kapitel 8.2.

Einführung OPC-Server für SIMATIC NET


160 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

„SR Konfigu- Die Betätigung dieser Schaltfläche öffnet einen Texteditor mit der akti-
rationsdatei ven Konfigurationsdatei. In dieser Datei können nun Änderungen der
editieren“ Konfiguration durchgeführt werden.

Speichern und Auch das Konfigurationsprogramm nimmt Änderungen an der Konfigu-


Aktivieren rationsdatei vor, die von Ihren Änderungen überschrieben werden kön-
nen.
Empfehlung:

☞ Betätigen Sie die Schaltfläche „SR Konfigurationsdatei editieren“


erst, wenn Sie die Änderungen durch das Konfigurationspro-
gramm mit der Schaltfläche „Übernehmen“ übernommen haben!

Zugangspunkte Ein Zugangspunkt ist ein Name, der auf eine Kommunikationsbau-
auswählen gruppe verweist. Die Bezeichnungen der Zugangspunkte werden durch
das Konfigurationsprogramm der unterlagerten Protokollsoftware fest-
gelegt. Mit einem Zugangspunkt ist eine bestimmte Baugruppe ver-
bunden. Ein typischer, durch die Installation der Protokollsoftware ein-
gerichteter Zugangspunkt ist CP_H1_1:.
Für den SR-OPC-Server muß vor der Inbetriebnahme festgelegt wer-
den, welche Zugangspunkte verwendet werden sollen.
☞ Ohne die Festlegung der Zugangspunkte kann der SR-OPC-
Server nicht in Betrieb genommen werden.

Sie wählen die vom OPC-Server zu benutzenden Zugangspunkte


durch Aktivieren des Kontrollkästchens der entsprechenden Zeile der
Liste der verfügbaren Zugangspunkte aus.

Nicht verfügbare Das Konfigurationsprogramm erkennt, wenn die in einer früheren Kon-
Zugangspunkte figuration festgelegten Zugangspunkte nicht mehr gültig sind. Solche
Zugangspunkte werden durch ein rot gefärbtes Kontrollkästchen mar-
kiert. Nicht mehr gültige Zugangspunkte werden durch das Konfigurati-
onsprogramm aus der Liste der ausgewählten Zugangspunkte entfernt.
Das Entfernen ungültiger Zugangspunkte wird unterbunden, wenn das
Kontrollkästchen „Nicht verfügbare Zugangspunkte beibehalten“ akti-
viert ist.

Eingaben Beachten Sie, daß auch die Auswahl der Zugangspunkte erst nach
übernehmen Bestätigung der Eigenschaftsseite durch „Übernehmen“ oder „OK“
übernommen wird. Diese Änderungen sind weiterhin erst nach dem
nächsten Neustart des OPC-Servers für SIMATIC NET wirksam.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 161
Konfiguration des OPC-Servers für SIMATIC NET

7.7 Protokollspezifische Einstellungen für FDL

Übersicht Im Register „FDL Protokoll“ können Sie allgemeingültige Parameter für


den Betrieb des FDL-OPC-Servers einstellen.

Parameter Der Parameter „Abfragezyklus“ legt das kleinstmögliche Zeitintervall


„Abfragezyklus“ für eine Überprüfung der Werte der aktiven OPC-Items einer aktiven
OPC-Gruppe fest. Nach Ablauf dieses Zeitintervalls prüft der Server,
ob sich der Wert der OPC-Items verändert hat. Alle geänderten
OPC-Items werden daraufhin im Cache aktualisiert und an den Benut-
zer gemeldet.
Der Benutzer kann für jede Gruppe eine „UpdateRate“ einstellen. Falls
die eingestellte Rate nicht unterstützt wird, meldet der Server eine
alternative Rate (RevisedUpdateRate) zurück, die den nächsten zuläs-
sigen Wert darstellt. Mit dem Wert 0 kann die kleinste zulässige „Up-
dateRate“ angefordert werden.
Der Wert der kleinsten Update Rate sollte mit dem zeitlichen Verhalten
des unterlagerten Kommunikationssystems abgestimmt sein. Sie sollte
nicht kleiner gewählt werden, als die vom Kommunikationssystem
benötigte Zeit zur Akquisition neuer Prozeßdaten.

„Simulationsver- Der FDL-OPC-Server kann für Tests, Präsentationen und Entwicklung


bindung akti- ohne unterlagerten Kommunikationsprozessor betrieben werden. Dazu
vieren“ steht eine konfigurierbare Simulationsverbindung zur Verfügung. Diese
Simulationsverbindung hat stets den Namen DEMO.
Über das Kontrollkästchen „Simulationsverbindung aktivieren“ kann
diese Verbindung ein- und abgeschaltet werden.
Details zur Konfiguration der Simulationsverbindung finden Sie in Ka-
pitel 8.7.4.

„Zugriffsrechte- Mit dem OPC-Server können die Zugriffsrechte einzelner Variablen


Konfiguration“ oder Variablengruppen festgelegt werden. Durch die Angabe von Zu-
aktivieren griffsrechten kann z. B. das Überschreiben einer steuerungsinternen
Berechnungsvariablen verhindert werden. Die Konfiguration der Zu-
griffsrechte wird entweder im Symboldatei-Konfigurator für symboli-
sche Variablen oder in einer protokollspezifischen Textdatei vorge-
nommen.
Das Setzen des Kontrollkästchens „Zugriffsrechte-Konfiguration akti-
vieren“ bewirkt, daß die Konfigurationsdatei für die Zugriffsrechte beim
Anlauf des OPC-Servers ausgewertet wird. Die Konfigurationsdatei für
die Zugriffsrechte wird dann zusammen mit der allgemeinen Konfigu-
rationsdatei bei Betätigung der Schaltfläche „FDL Konfigurationsdatei
editieren“ geöffnet. Details zum Aufbau der Konfigurationsdatei finden
Sie in Kapitel 8.2.

Einführung OPC-Server für SIMATIC NET


162 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

„FDL Konfigu- Die Betätigung dieser Schaltfläche öffnet einen Texteditor mit der akti-
rationsdatei ven Konfigurationsdatei. In dieser Datei können nun Änderungen der
editieren“ Konfiguration durchgeführt werden.

Speichern und Auch das Konfigurationsprogramm nimmt Änderungen an der Konfigu-


Aktivieren rationsdatei vor, die von Ihren Änderungen überschrieben werden kön-
nen.
Empfehlung:

☞ Betätigen Sie die Schaltfläche „FDL Konfigurationsdatei editie-


ren“ erst, wenn Sie die Änderungen durch das Konfigurations-
programm mit der Schaltfläche „Übernehmen“ übernommen ha-
ben!

Zugangspunkte Ein Zugangspunkt ist ein Name, der auf eine Kommunikationsbau-
auswählen gruppe verweist. Die Bezeichnungen der Zugangspunkte werden durch
das Konfigurationsprogramm der unterlagerten Protokollsoftware fest-
gelegt. Mit einem Zugangspunkt ist eine bestimmte Baugruppe ver-
bunden. Ein typischer, durch die Installation der Protokollsoftware ein-
gerichteter Zugangspunkt ist CP_H1_1:.
Für den FDL-OPC-Server muß vor der Inbetriebnahme festgelegt wer-
den, welche Zugangspunkte verwendet werden sollen.
☞ Ohne die Festlegung der Zugangspunkte kann der FDL-OPC-
Server nicht in Betrieb genommen werden.

Sie wählen die vom OPC-Server zu benutzenden Zugangspunkte


durch Aktivieren des Kontrollkästchens der entsprechenden Zeile der
Liste der verfügbaren Zugangspunkte aus.

Nicht verfügbare Das Konfigurationsprogramm erkennt, wenn die in einer früheren Kon-
Zugangspunkte figuration festgelegten Zugangspunkte nicht mehr gültig sind. Solche
Zugangspunkte werden durch ein rot gefärbtes Kontrollkästchen mar-
kiert. Nicht mehr gültige Zugangspunkte werden durch das Konfigurati-
onsprogramm aus der Liste der ausgewählten Zugangspunkte entfernt.
Das Entfernen ungültiger Zugangspunkte wird unterbunden, wenn das
Kontrollkästchen „Nicht verfügbare Zugangspunkte beibehalten“ akti-
viert ist.

Eingaben Beachten Sie, daß auch die Auswahl der Zugangspunkte erst nach
übernehmen Bestätigung der Eigenschaftsseite durch „Übernehmen“ oder „OK“
übernommen wird. Diese Änderungen sind weiterhin erst nach dem
nächsten Neustart des OPC-Servers für SIMATIC NET wirksam.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 163
Konfiguration des OPC-Servers für SIMATIC NET

7.8 Protokollspezifische Einstellungen für DPS

Übersicht Im Register „DPS Protokoll“ können Sie allgemeingültige Parameter


für den Betrieb des DPS-OPC-Servers einstellen.

Parameter Der Parameter „Abfragezyklus“ legt das kleinstmögliche Zeitintervall


„Abfragezyklus“ für eine Überprüfung der Werte der aktiven OPC-Items einer aktiven
OPC-Gruppe fest. Nach Ablauf dieses Zeitintervalls prüft der Server,
ob sich der Wert der OPC-Items verändert hat. Alle geänderten
OPC-Items werden daraufhin im Cache aktualisiert und an den Benut-
zer gemeldet.
Der Benutzer kann für jede Gruppe eine „UpdateRate“ einstellen. Falls
die eingestellte Rate nicht unterstützt wird, meldet der Server eine
alternative Rate (RevisedUpdateRate) zurück, die den nächsten zuläs-
sigen Wert darstellt. Mit dem Wert 0 kann die kleinste zulässige „Up-
dateRate“ angefordert werden.
Der Wert der kleinsten Update Rate sollte mit dem zeitlichen Verhalten
des unterlagerten Kommunikationssystems abgestimmt sein. Sie sollte
nicht kleiner gewählt werden, als die vom Kommunikationssystem
benötigte Zeit zur Akquisition neuer Prozeßdaten.

„Simulationsver- Der DPS-OPC-Server kann für Tests, Präsentationen und Entwicklung


bindung akti- ohne unterlagerten Kommunikationsprozessor betrieben werden. Dazu
vieren“ steht eine konfigurierbare Simulationsverbindung zur Verfügung. Diese
Simulationsverbindung hat stets den Namen DEMO.
Über das Kontrollkästchen „Simulationsverbindung aktivieren“ kann
diese Verbindung ein- und abgeschaltet werden.
Details zur Konfiguration der Simulationsverbindung finden Sie in Ka-
pitel 8.8.3.

„Zugriffsrechte- Mit dem OPC-Server können die Zugriffsrechte einzelner Variablen


Konfiguration“ oder Variablengruppen festgelegt werden. Durch die Angabe von Zu-
aktivieren griffsrechten kann z. B. das Überschreiben einer steuerungsinternen
Berechnungsvariablen verhindert werden. Die Konfiguration der Zu-
griffsrechte wird entweder im Symboldatei-Konfigurator für symboli-
sche Variablen oder in einer protokollspezifischen Textdatei vorge-
nommen.
Das Setzen des Kontrollkästchens „Zugriffsrechte-Konfiguration akti-
vieren“ bewirkt, daß die Konfigurationsdatei für die Zugriffsrechte beim
Anlauf des OPC-Servers ausgewertet wird. Die Konfigurationsdatei für
die Zugriffsrechte wird dann zusammen mit der allgemeinen Konfigu-
rationsdatei bei Betätigung der Schaltfläche „DPS Konfigurationsdatei
editieren“ geöffnet. Details zum Aufbau der Konfigurationsdatei finden
Sie in Kapitel 8.2.

Einführung OPC-Server für SIMATIC NET


164 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

„DPS Konfigu- Die Betätigung dieser Schaltfläche öffnet einen Texteditor mit der akti-
rationsdatei ven Konfigurationsdatei. In dieser Datei können nun Änderungen der
editieren“ Konfiguration durchgeführt werden.

Speichern und Auch das Konfigurationsprogramm nimmt Änderungen an der Konfigu-


Aktivieren rationsdatei vor, die von Ihren Änderungen überschrieben werden kön-
nen.
Empfehlung:

☞ Betätigen Sie die Schaltfläche „DPS Konfigurationsdatei editie-


ren“ erst, wenn Sie die Änderungen durch das Konfigurations-
programm mit der Schaltfläche „Übernehmen“ übernommen ha-
ben!

Zugangspunkte Ein Zugangspunkt ist ein Name, der auf eine Kommunikationsbau-
auswählen gruppe verweist. Die Bezeichnungen der Zugangspunkte werden durch
das Konfigurationsprogramm der unterlagerten Protokollsoftware fest-
gelegt. Mit einem Zugangspunkt ist eine bestimmte Baugruppe ver-
bunden. Ein typischer, durch die Installation der Protokollsoftware ein-
gerichteter Zugangspunkt ist CP_H1_1:.
Für den DPS-OPC-Server muß vor der Inbetriebnahme festgelegt
werden, welche Zugangspunkte verwendet werden sollen.
☞ Ohne die Festlegung der Zugangspunkte kann der DPS-OPC-
Server nicht in Betrieb genommen werden.

Sie wählen die vom OPC-Server zu benutzenden Zugangspunkte


durch Aktivieren des Kontrollkästchens der entsprechenden Zeile der
Liste der verfügbaren Zugangspunkte aus.

Nicht verfügbare Das Konfigurationsprogramm erkennt, wenn die in einer früheren Kon-
Zugangspunkte figuration festgelegten Zugangspunkte nicht mehr gültig sind. Solche
Zugangspunkte werden durch ein rot gefärbtes Kontrollkästchen mar-
kiert. Nicht mehr gültige Zugangspunkte werden durch das Konfigurati-
onsprogramm aus der Liste der ausgewählten Zugangspunkte entfernt.
Das Entfernen ungültiger Zugangspunkte wird unterbunden, wenn das
Kontrollkästchen „Nicht verfügbare Zugangspunkte beibehalten“ akti-
viert ist.

Eingaben Beachten Sie, daß auch die Auswahl der Zugangspunkte erst nach
übernehmen Bestätigung der Eigenschaftsseite durch „Übernehmen“ oder „OK“
übernommen wird. Diese Änderungen sind weiterhin erst nach dem
nächsten Neustart des OPC-Servers für SIMATIC NET wirksam.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 165
Konfiguration des OPC-Servers für SIMATIC NET

7.9 Protokollspezifischer Trace

Einführung Zur Fehlersuche in eigenen Applikationen ist es oftmals von großem


Vorteil, wenn man das korrekte Verhalten der unterlagerten Kompo-
nenten auswerten kann. Vor allem Fehler der Dynamik einer Kommu-
nikation lassen sich auf diese Weise leichter verfolgen. Mit Hilfe von
Traceausgaben protokolliert ein Programm die von ihm durchgeführten
Aktionen.

Aufruf Der Dialog zur Konfiguration des protokollspezifischen Trace wird


durch Betätigung der Schaltfläche „Protokoll Trace“ in dem Register
für das zu untersuchende Protokolls aufgerufen.

Aktivieren der Zur Aktivierung der Trace-Ausgabe ist das Kontrollkästchen „Trace
Trace-Ausgabe aktivieren“ einzuschalten.

Die Aktivierung von Traceausgaben verlangsamt den Pro-


☞ grammablauf erheblich!

Tracedatei Geben Sie im Eingabefeld „Tracedatei“ Pfad und Namen der Datei an,
in welche die Traceausgaben geschrieben werden sollen. Für den
OPC-Trace und den protokollspezifischen Trace müssen unterschiedli-
che Dateien angegeben werden.

neue Datei Ist die Option „neue Datei anlegen“ gewählt, wird bei dem Start des
anlegen... OPC-Servers eine bestehende Tracedatei überschrieben. Die Auswahl
der alternativen Option „an bestehende Datei anhängen“ bewirkt, daß
eine bestehende Tracedatei um weitere Einträge ergänzt wird.

Datei nach jedem Indem die protokollspezifische Tracedatei nach jedem Eintrag ge-
Eintrag schließen schlossen wird, erfolgt eine physikalische Übertragung der Daten auf
die Festplatte. Auf diese Weise bleiben Traceinformationen auch nach
einem Programmabsturz erhalten.
Die Aktivierung dieser Option verlangsamt den Programmablauf
deutlich!

Maximale Anzahl Um durch eine stetig wachsende Tracedatei die Funktionsfähigkeit des
von Einträgen Systems nicht zu gefährden, ist die Größe der Tracedatei begrenzt. Mit
dem Parameter „Anzahl Einträge in Datei“ legen Sie fest, wieviel Ein-
träge die Tracedatei aufnehmen kann. Ist die Tracedatei voll, so wird
sie durch Änderung der Dateinamenserweiterung umbenannt und eine
neue Datei angelegt. Sie können auf diese Weise nach dem Erreichen
der maximalen Anzahl der Einträge in der umbenannten Datei die
letzten Traceausgaben betrachten.

Einführung OPC-Server für SIMATIC NET


166 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

Tracetiefe Für den protokollspezifischen Trace kann die Menge der aufzuzeich-
nenden Informationen festgelegt werden.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 167
Konfiguration des OPC-Servers für SIMATIC NET

7.10 OPC-Server beenden

Einführung Der OPC-Server für SIMATIC NET wird automatisch vom Betriebssy-
stem gestartet, wenn ein Client ihn benutzen will. Der OPC-Server hält
Benutzungszähler, um erkennen zu können, wann der letzte Client, der
ihn benutzt, geschlossen wird. Der OPC-Server beendet sich dann
ebenfalls. Voraussetzung ist jedoch, daß die Clients die Benutzungs-
zähler des OPC-Servers korrekt führen. Sollte ein Client unkontrolliert
seinen Betrieb einstellen, so daß die Benutzungszähler nicht zurück-
gesetzt werden, beendet der OPC-Server sich nicht, obwohl kein Client
mehr aktiv ist. Der Server hält die Kommunikationsverbindungen wei-
terhin aufrecht.

OPC-Server Mit der Betätigung der Schaltfläche „OPC-Server beenden“ im Regi-


beenden ster „OPC Reset“ setzen Sie den OPC-Server in diesem Fall in einen
definierten Zustand zurück, ohne das System neu hochfahren zu müs-
sen. Der OPC-Server baut alle Kommunikationsverbindungen ab und
beendet sich selbst. Es wird sowohl ein laufender OPC Data Access-
Server als auch ein OPC Alarms&Events-Server beendet.

☞ Sie sollten zuvor alle mit dem Server arbeitenden OPC-Clients eben-
falls schließen, da sonst die weiteren OPC-Aufrufe der Clients mit
RPC-Fehlern abgewiesen werden.

Ursache Im Eingabefeld „Ursache“ kann eine Ursache spezifiziert werden, die


von einen Client ausgewertet werden kann. Die Verarbeitung dieser
Information ist vor allem bei DCOM-Betrieb interessant.
Verzögerung Der OPC-Server wird erst nach Ablauf der in dem Eingabefeld „Verzö-
gerung“ festgelegten Zeit beendet.

Einführung OPC-Server für SIMATIC NET


168 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

7.11 Symbolik für den OPC-Server für SIMATIC NET

Einführung Die ItemIDs des OPC-Servers für SIMATIC NET enthalten Informatio-
nen über den Kommunikationsweg der Variablen. Die Syntax der Va-
riablen legt fest, über welches Protokoll, welche Verbindung und ggf.
welchen Dienst die Daten geliefert werden.

Es ist jedoch oftmals sinnvoll, daß die Namen von Variablen nicht
abhängig von der Konfiguration des Kommunikationssystems sind,
sondern z.B. die Struktur der Anlage widerspiegeln.

Für den OPC-Server für SIMATIC NET ist die Eingabe einer beliebi-
gen, alle Protokolle übergreifenden, Symbolik möglich.

Zusätzlich können die mit dem Projektierungswerkzeug STEP 7 in der


Symboltabelle und in den Bausteinen festgelegten Symbole vom OPC-
Server für das S7-Protokoll verwendet werden.

Anmerkung: Die in diesem Kapitel beschriebene Symbolik ist unab-


hängig vom Konzept der Aliasnamen.

Beispiele Die Symbolnamen können frei gewählt werden.


z.B.

Montage.Antrieb.Regelung.Sollwert
S7300(1)_CPU416.Motor.Endschalter

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 169
Konfiguration des OPC-Servers für SIMATIC NET

7.11.1 Die Symboldatei mit STEP7 - Symbolik

STEP 7 Symbole Zur Ablage der Symbolik wird eine Symboldatei verwendet. Diese Da-
tei enthält Informationen zur internen Zuordnung der symbolischen
Namen zu gültigen S7-Variablennamen.

Hinweis:
Bei Verwendung mit dem OPC-Server erfolgt die Auflösung der Sym-
bole nur einmalig bei dem Aufruf der Methode „AddItem“. In weiteren
Aufrufen verwendet der Client das vom Server generierte Handle und
kann so direkt auf die Variable zugreifen.

Hinweis:

☞ Um auf die STEP 7-Projekte zugreifen zu können, muß das Konfigura-


tionsprogramm für die Symboldatei („Symboldatei Konfigurator“) auf
dem Rechner mit dem Projektierungsprogramm „STEP 7“ ablaufen.
Die Symboldatei selbst kann zur Laufzeit auf den Rechner mit dem
OPC-Server übertragen werden. Das Programm „STEP 7“ ist während
der Laufzeit des OPC-Servers nicht mehr notwendig.

Einführung OPC-Server für SIMATIC NET


170 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

Die Dateien In die Symboldatei (*.wsd) können die mit STEP 7 erstellten symboli-
„*.wsd“ und schen Namen mehrerer S7-Programme übernommen werden. Die
„*.ssd“ Symboldatei enthält die Symbole der globalen Symboltabelle eines
STEP 7-Programms und die in Bausteinen abgelegten symbolischen
Informationen.

Parallel zu der Datei mit der Endung *.wsd wird eine Datei mit der En-
dung *.ssd bei der Speicherung der Symbolinformationen erzeugt.
Während die wsd-Datei alle Symbole - auch die als nicht sichtbar mar-
kierten Einträge - enthält, beinhaltet die ssd-Datei nur die zu benut-
zenden Symbole. Nicht sichtbare Symbole werden in der ssd-Datei
nicht abgelegt. Die wsd-Datei dient als Basis für die Bearbeitung der
Symbole durch das Symboldatei-Konfigurationsprogramm. Die ssd-
Datei wird vom OPC-Server verwendet und im Konfigurationspro-
gramm für den OPC-Server eingetragen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 171
Konfiguration des OPC-Servers für SIMATIC NET

7.11.2 Erstellung einer Symboldatei mit STEP 7-Symbolik

Voraussetzung Der Symboldatei-Konfigurator muß auf dem Rechner ablaufen, auf


dem auch das Projektierungswerkzeug „STEP 7“ installiert ist. Installie-
ren Sie ggf. das Produkt „OPC-Server“ auf dem Projektierungsrechner
mit STEP 7.

Starten des Starten Sie den Symboldatei-Konfigurator und legen Sie ein neues
Symboldatei- Projekt an:
konfigurators

Schritt Vorgehen
1 Starten des Symboldateikonfigurators
Wählen Sie im Startmenü in der Taskleiste folgenden Eintrag aus:
(Start => SIMATIC => SIMATIC NET => OPC Server => Symboldateikonfigurator)
2 Neue Symboldatei anlegen
Klicken Sie auf die Befehlsschaltfläche „Neu“ oder wählen Sie den Menüpunkt „Datei =>
Neu“ aus.
Ein schon bestehendes Projekt können Sie öffnen, indem Sie die Befehlsschaltfläche „Öff-
nen“ betätigen oder indem Sie den Menüpunkt „Datei => Öffnen „auswählen.

Die folgende Abbildung zeigt den Symboldatei-Konfigurator mit einer


leeren Symboldatei. In diese Symboldatei können nun STEP7-
Programme und andere Symbole eingetragen werden.

Fügen Sie nun die Symbole eines STEP7-Programms in die Sym-


boldatei ein:

Einführung OPC-Server für SIMATIC NET


172 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

Schritt Vorgehen
1 Auswählen eines STEP7-Projektes
Wählen Sie den Menüpunkt „Einfügen => Programm“ aus.
Es erscheint ein Browser zur Auswahl des STEP 7 -Projekts und des Programms.
2 Navigieren innerhalb der Projekte
Klicken Sie im linken Feld auf das Zeichen „+“, um die nächste Ebene zu öffnen.
Die folgende Abbildung beschreibt die Bedeutung der Ebenen in der Programmauswahl:.
3 Auswählen eines oder mehrerer Programme
Æ
Wählen Sie ein oder mehrere S7-Programme aus und betätigen Sie die Schaltfläche „ “,
um die Symbole des ausgewählten Programms in die Symboldatei zu übernehmen.

STEP 7-Projekte

PC-Station im Projekt

Mit der PC-Station vernetzte


SIMATIC Stationen

CPU der SIMATIC Station

Programm innerhalb dieser


CPU

Applikationen der PC-


Station, falls für eine PC-
Station mehr als eine
Applikation definiert ist:

Als Ergebnis trägt der Symboldatei-Konfigurator die Symbole in das


rechte Listenfeld (siehe nächste Seite) ein.

Eine Symboldatei wird immer für eine Simatic PC-Station erstellt und
muß später auf dieser PC-Station eingerichtet werden. Enthält ein
STEP7-Projekt keine PC-Station, dann kann für dieses Projekt keine
Symboldatei erstellt werden.

Legen Sie in diesem Falle mit STEP 7 zuerst eine SIMATIC PC-
Station an und konfigurieren Sie Verbindungen zu den SIMATIC S7-
Stationen, deren Symbole Sie von der PC-Station aus erreichen wol-
len.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 173
Konfiguration des OPC-Servers für SIMATIC NET

Hinweis Die Symboldatei enthält die mit STEP7 / NetPro erstellen Verbin-
dungsinformationen. Diese Verbindungsinformationen müssen als
Projektierung auch auf den PC übernommen werden. Beachten Sie
dazu Kapitel 7.11.4.

Zuordnen von Zur Verteilung der Kommunikationsbelastung ist es mit STEP 7 / Net-
Verbindungen Pro möglich, mehrere parallele Verbindungen zwischen zwei Partner-
geräten zu projektieren. Die Information, über welche der möglichen
Verbindungen eine symbolische Variable erreichbar sein soll, wird in
der Symboldatei abgelegt. Als Vorgabewert werden alle symbolischen
Variablen über die zuletzt projektierte Verbindung gelesen. Um einer
Variablen eine andere Verbindung zuzuordnen, führen Sie folgende
Schritte durch:

Schritt Vorgehen
1 Auswählen der Variablen
Wählen Sie im linken Fenster die Liste der Variablen aus. Klicken Sie im rechten Fenster auf
die Zeile, die die gewünschte Variable enthält.
2 Öffnen des Auswahl-Dialogs
Betätigen Sie das Pfeil-Symbol in der Zelle mit der Verbindungsangabe, um die möglichen
Verbindungen in einer Combo-Box anzuzeigen.
3 Auswählen einer Verbindung
Wählen Sie in dem Dialogfeld die gewünschte Verbindung aus.

Einführung OPC-Server für SIMATIC NET


174 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

7.11.3 Eingabe zusätzlicher Symbole

Einführung Neben den aus STEP 7 importierten Symbolen können Sie mit dem
Symboldatei-Konfigurator auch neue Symbole für bestehende Varia-
blen erzeugen. Zur Strukturierung Ihrer Symbole haben Sie die Mög-
lichkeit, Blöcke zu erzeugen. Ein Block kann wiederum untergeordnete
Variablen oder weitere Blöcke enthalten.
Hinweis Blöcke und Symbole können nicht in die aus STEP 7 extrahierten
CPU‘s und Programme eingetragen werden. Eine Erzeugung neuer
Symbole und Blöcke ist nur auf unterster Ebene und innerhalb schon
erzeugter Blöcke möglich.

Block erzeugen In dem Namensraum können Sie nun Blöcke zur Strukturierung des
Namensraums anlegen.

Schritt Vorgehen
1 Auswählen der Einfügeposition
Klicken Sie in der Baumansicht auf die unterste Ebene oder auf einen bereits erzeugten
Block.
2 Öffnen des Eingabedialogs
Betätigen Sie die rechte Maustaste, um das kontextsensitive Menü zu öffnen. Wählen Sie
dort den Menüpunkt „Neuer Block “ aus. Falls Sie fälschlicherweise eine Einfügeposition in-
nerhalb eines STEP7-Projekts gewählt haben, ist die Auswahl dieses Menüpunkts nicht
möglich.
Alternativ können Sie auch den Menüpunkt „Neuer Block“ aus dem Menü „Einfügen“ aus-
wählen.
3 Eintragen des Blocknamens
Tragen Sie in dem Dialogfeld einen an dieser Position eindeutigen Namen für den Block ein.

Symbol eintragen In den erzeugten Block können Sie nun Symbole eintragen. Gehen Sie
dazu folgendermaßen vor:

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 175
Konfiguration des OPC-Servers für SIMATIC NET

Schritt Vorgehen
1 Auswählen der Einfügeposition
Klicken Sie in der Baumansicht auf den Block, in dem Sie ein Symbol einfügen wollen.
2 Öffnen des Eingabedialogs
Betätigen Sie die rechte Maustaste, um das kontextsensitive Menü zu öffnen. Wählen Sie
dort den Menüpunkt „Neues Symbol“ aus.
Alternativ können Sie auch den Menüpunkt „Neues Symbol“ aus dem Menü „Einfügen“ aus-
wählen.
3 Eingeben oder Auswählen der Laufzeitnamen
Tragen Sie in der Spalte „Laufzeitname“ die protokollspezifischen Laufzeitnamen (wie in Ka-
pitel 5 beschrieben) ein. Sie können die Namen in dieser Tabelle direkt eingeben oder durch
Betätigung der Schaltfläche „Durchsuchen“ einen Browser zur Suche im Namensraum des
OPC-Servers verwenden. Auch im Dialog „Durchsuchen“ können Sie mehrere Items aus-
wählen.
4 Angeben der Symbolnamen
Tragen Sie in der Spalte „Symbolischer Name“ für jeden Laufzeitnamen einen innerhalb des
Blocks eindeutigen Namen für das Symbol ein.

Einführung OPC-Server für SIMATIC NET


176 6GK1971-0BA00-0AA0
Konfiguration des OPC-Servers für SIMATIC NET

7.11.4 Verwendung der Symbole in OPC

Aktivieren der Um die symbolischen Variablen einer Symboldatei in einem OPC-


Symbolik Client verwenden zu können, müssen Sie die Verwendung symboli-
scher Namen aktivieren und den Pfad der zu verwenden Datei eintra-
gen. Verwenden Sie dazu das in Kapitel 7.11.2 beschriebene Konfigu-
rationsprogramm.

Eintragen einer In den folgenden Schritten konfigurieren Sie den OPC-Server für die
Symboldatei Verwendung einer Symboldatei:

Schritt Vorgehen
1 Übertragen der Symboldatei
Übertragen Sie die zuvor erstellte Symboldatei auf die PC-Station, z.B. durch Kopieren der
Symboldatei auf Diskette.
2 Öffnen des OPC-Konfigurationsprogramms
Starten Sie das Programm „OPC Einstellungen“ über die Task-Leiste von Windows (Task-
Leiste Start => SIMATIC => SIMATIC NET => OPC Server => OPC Einstellungen).
3 Aktivieren der Symbolik
Aktivieren Sie das Kontrollkästchen „Symboldatei“ im Register „OPC Parameter“,
Tragen Sie den Pfad und Namen der auf diese PC-Station übertragenen Symboldatei in das
darunterstehende Eingabefeld ein.

Übernahme der In STEP 7 entstehen bei der Übersetzung der Netzkonfiguration mit
Netzprojektierung NetPro Datenbasen für die PC-Stationen. In diesen Datenbasen sind
Projektierungsinformationen enthalten, die den Zugriffsweg der PC-
Station auf eine S7-Station beschreiben. Die Datenbasen haben die
Endung „XDB“.

Eine aus STEP 7 erstellte Symboldatei bezieht sich immer auf eine
zugehörige XDB.-Datei für die PC-Station. Die Verbindungsangaben
für ein Symbol der Symboldatei verwenden die in der XDB-Datei ge-
speicherten Verbindungsinformationen.

Hinweis Diese Funktionalität ist erst ab STEP7 V5.0 verfügbar.

Eintragen der XDB- In folgenden Schritten geben Sie eine XDB-Datei für eine PC-Station
Datei an:

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 177
Konfiguration des OPC-Servers für SIMATIC NET

Schritt Vorgehen
1 Identifizieren und Kopieren der XDB-Datei
Starten Sie STEP 7 und öffnen Sie das Projekt, aus dem Sie die Symboldatei erstellt haben.
Wählen Sie die PC-Station aus, welche die Symboldatei benutzen soll.
Zeigen Sie sich die Objekteigenschaften der PC-Station an und betrachten Sie das Register
„Konfiguration“.
In diesem Dialog ist der Speicherort der Konfigurationsdatei angegeben.
Übertragen Sie z.B. durch Kopieren der Konfigurationsdatei auf Diskette die Datei auf die
PC-Station.
2 Öffnen des Konfigurationsprogramms
Starten Sie das Konfigurationsprogramm „PG-PC Schnittstelle einstellen“ auf der PC-
Station z.B. über die Task-Leiste Start => Simatic => SIMATIC NET => PG-PC-
Schnittstelle einstellen).
3 Eintragen der Konfigurationsdatei
Wählen Sie in dem Konfigurationsprogramm das Register „STEP 7 Projektierung“ aus.
Tragen Sie den Pfad und Namen der auf diese PC-Station übertragenen Konfigurationsdatei
in das Eingabefeld „Name der Projektierungsdatei“ ein.

Namensraum Die symbolischen Variablen sind neben den protokollspezifischen Va-


riablen im Namensraum des OPC-Servers sichtbar.

Aufbau der ItemIDs Die ItemID der symbolischen Namen setzt sich aus der Bezeichnung
der Control Engine, den Namen der Blocks und dem Namen des Sym-
bols zusammen. Die einzelnen Elemente werden durch einen Punkt
getrennt.

Beispielsweise lautet die ItemID eines symbolischen Namens „Soll-


wert“, der in dem Block „Transportband“ der Control Engine „Werk1“
enthalten ist:

Werk1.Transportband.Sollwert

Einführung OPC-Server für SIMATIC NET


178 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8 Konfiguration über Dateien

Ergänzende Einstellungen für den OPC-Server für SIMATIC NET zur optimalen Nutzung
müssen in Konfigurationsdateien eingetragen werden. Für das Send/Receive-Protokoll
und die Alarms-Events-Schnittstelle muß zur Definition der Verbindungen die
Konfigurationsdatei bearbeitet werden.
Dieses Kapitel erläutert den Aufbau und die Bedeutung der Einträge in den
protokollspezifischen Konfigurationsdateien.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 179
Konfiguration über Dateien

8.1 Konfigurationsdateien

Übersicht Mit dem OPC-Server für SIMATIC NET werden protokollspezifische


Konfigurationsdateien installiert. Die Bearbeitung dieser Konfigurati-
onsdateien ist notwendig, wenn die Produkte optimal genutzt werden
sollen.

Aufbau der Dateien Die Textdateien zur Konfiguration der OPC-Server sind nach dem
Prinzip ini-Datei von Windows aufgebaut. Sie sind unterteilt in Ab-
schnitte, die durch einen in [] gesetzten Abschnittsnamen bezeichnet
werden. Nach der Abschnittsbezeichnung folgen Zuweisungen der Art
„Parameter=Wert“. Kommentare innerhalb der Datei werden durch ein
Semikolon eingeleitet.

Ablageort Mit der Installation des OPC-Servers werden pro Protokoll zwei Konfi-
gurationsdateien in dem protokollspezifischen Binärverzeichnis abge-
legt. Allerdings ist auch eine benutzerspezifische Wahl des Ablageor-
tes für die Textdatei möglich, wobei in diesem Fall auch die Datei mit
der Endung .sec in dem angegebenen Verzeichnis gespeichert wird.

• DP <Installationspfad> \ OPC2.NT \ binDP \ SCoreDP.txt


<Installationspfad> \ OPC2.NT \ binDP \ SCoreDP.sec
• S7 <Installationspfad> \ OPC2.NT \ binS7 \ SCoreS7.txt
<Installationspfad> \ OPC2.NT \ binS7 \ SCoreS7.sec
• FMS <Installationspfad> \ OPC2.NT \ binFMS \ SCoreFMS.txt
<Installationspfad> \ OPC2.NT \ binFMS \ SCoreFMS.sec
• SR <Installationspfad> \ OPC2.NT \ binSR \ SCoreSR.txt
<Installationspfad> \ OPC2.NT \ binSR \ SCoreSR.sec

Inhalt der .txt- Die Konfigurationsdateien mit der Endung txt enthalten jeweils einen
Dateien Abschnitt zur allgemeinen Protokolldefinition. Anschließend folgen
Abschnitte zur Parametrierung der Zugangspunkte bzw. der Verbin-
dungen und zur Festlegung von symbolischen Namen (Aliasnamen).
Weiterhin kann eine Simulationsverbindung konfiguriert werden, auf
die ein Zugriff auch dann möglich ist, wenn kein Kommunikationspro-
zessor installiert ist.

Inhalt der .sec- Die Konfigurationsdateien mit der Endung sec ermöglichen die Beein-
Dateien flussung der Zugriffsrechte auf einzelne Variablen oder Variablengrup-
pen.

☞ Um die Manipulation der Konfigurationsdateien auszuschließen, ist es


empfehlenswert, wenn der Administrator die Schreibrechte dieser Da-
teien einschränkt.

Einführung OPC-Server für SIMATIC NET


180 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.2 Konfiguration der Zugriffsrechte

Übersicht Gerade in Bedien- und Beobachtungssystemen darf es einem beliebi-


gen Benutzer nicht möglich sein, alle prinzipiell über das Protokoll
erreichbaren Variablen beobachten oder sogar manipulieren zu kön-
nen. So könnte das unbeabsichtigte Beschreiben einer internen Mer-
kervariable eines Automatisierungssystems fatale Folgen haben. Mit
dem OPC-Server für SIMATIC NET ist es möglich, die Zugriffsrechte
der über den OPC-Server erreichbaren Variablen einzuschränken.

Die protokollseitig festgelegten Rechte (z.B. Schreibrecht auf periphe-


ren Eingang können zwar weiter eingeschränkt, jedoch nicht erweitert
werden.

Aufbau Der Aufbau der sec-Dateien zur Konfiguration der Zugriffsrechte von
Variablen ist für alle Protokolle gleich. In den sec-Dateien werden zum
einen die globalen Einstellungen für die Steuerung der Zugriffsrechte
für ein Protokoll festgelegt. Weiterhin enthalten die sec-Dateien die
Rechtedefinitionen für Variablen und Variablengruppen.

Eintrag Bedeutung
Abschnitt [Security] In diesem Abschnitt werden generelle Einstellungen
vorgenommen.
SecurityLevel 0 Keine Einschränkung der Zugriffsrechte
1 Die Zugriffsrechte werden für alle Benutzer ent-
sprechend dem folgenden Abschnitt einge-
schränkt.

Default 0

Definition der In dem Abschnitt „GlobalSecurityItems“ werden die globalen Zugriffs-


Zugriffsrechte rechte für OPC-Variablen definiert. Zur Definition von Bereichen von
Variablen (alle Variablen einer Verbindung oder eines Bausteins) kön-
nen Platzhalter verwendet werden. Bereichsangaben können durch
nachfolgende Definitionen spezialisiert werden.

Eintrag Bedeutung
Abschnitt [GlobalSecurityItems] In diesem Abschnitt werden globale Rechtedefinitio-
nen festgelegt.
DefaultAccessRights Standardmäßige Festlegung der Zugriffsrechte für
alle Variablen des Protokolls, die nicht durch eine der
nachfolgenden Definitionen erfaßt wird.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 181
Konfiguration über Dateien

(Leer) Kein Zugriff auf alle OPC-Items des Proto-


kolls
R Nur lesender Zugriff auf alle OPC-Items
W Nur schreibender Zugriff auf alle OPC-Items
RW Voller Zugriff auf alle OPC-Items

Default RW
<OPCItem>=<BesondereRechte> Neudefinition der Zugriffsrechte für eine Variable. Alle
zuvor definierten Rechte werden nicht berücksichtigt,
d.h. es ist auch möglich, bestehende Rechte einzu-
schränken.
<OPCItem> Angabe eines oder mehrerer OPCItems entsprechend
der in Kap. 5 definierten Syntax. Die Angabe muß
auch die Verbindungsinformation enthalten. Die Ver-
wendung von Aliasnamen ist möglich.
Folgende Platzhalter können verwendet werden:
* beliebige Anzahl von Zeichen ist irrelevant
? genau ein Zeichen ist irrelevant
<Besondere Rechte> (Leer) Kein Zugriff auf das OPC-Item
R Nur lesender Zugriff auf das OPC-Item
W Nur schreibender Zugriff auf das OPC-Item
RW Voller Zugriff auf das OPC-Item

Beispiele DefaultAccessRights=R Alle Variablen sind nur lesbar

S7:[appl1|VFD1|CP_L2_1:]*=RW Alle Items dieser Verbindung


sind les- und schreibbar.
S7:[appl1|VFD1|CP_L2_1:]M*=W Der Merkerbereich des über
diese Verbindung erreichbaren
Geräts ist nur schreibbar
S7:[appl1|VFD1|CP_L2_1:]MW3=RW Das Merkerwort3 ist les- und
auch schreibbar.

Einführung OPC-Server für SIMATIC NET


182 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.3 DP-Protokoll

Übersicht Die Bearbeitung der Konfigurationsdatei für das DP-Protokoll ist not-
wendig, wenn Sie:

• die DP-Applikationsumgebung des OPC-Servers verändern wollen,


• Zugriffsrechte auf einzelne DP-Slaves einschränken wollen,
• Aliasnamen anlegen wollen oder
• die Demoverbindung konfigurieren wollen

Ablageort Der mit der Installation eingestellte Ablageort der Konfigurationsdatei


für das DP-Protokoll ist:

<Installationspfad> \ OPC2.NT \ binDP \ SCoreDP.txt

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 183
Konfiguration über Dateien

8.3.1 Allgemeine Protokollkonfiguration

Allgemeine Die folgende Tabelle zeigt die Parameter zur Konfiguration der allge-
Protokoll- meinen Eigenschaften für das DP-Protokoll.
konfiguration

Eintrag Bedeutung
Abschnitt [PROTOCOL] In diesem Abschnitt werden generelle Protokollein-
stellungen vorgenommen.
CycleTime Dieser Wert gibt an, wie schnell die Auftragswarte-
schlange nach anstehenden Aufträgen durchsucht
wird.
Default 100 ms
(wird als „Abfragezyklus“ durch das Konfigurations-
programm eingestellt)
UseOnlyThisBoard Nummer der Baugruppe, an denen sich der DP-OPC-
Server anmeldet. Mehrere Nummern werden durch
ein Komma getrennt. Eine angemeldete Baugruppe
hat den Namen CP_L2_n, wobei n der Baugruppen-
Nr. entspricht.
Achtung: Auch die letzte Baugruppen-Nr. muß mit
einem Komma abgeschlossen werden.
Beispiel:
UseOnlyThisBoard =1,2,
Default: 1,2,3,4,
(wird durch Konfigurationsprogramm eingestellt)
UseDemoBoard 1 Der DP-OPC-Server erzeugt eine Simulationsver-
bindung, mit der auch ohne lauffähiges Protokoll
Slavezugriffe simuliert werden können.
0 Es wird keine Simulationsverbindung bereitge-
stellt.
Default 0
(wird durch Konfigurationsprogramm eingestellt)
CycleNet reserviert

Einführung OPC-Server für SIMATIC NET


184 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.3.2 Baugruppenspezifische Konfiguration

Übersicht Jede Baugruppe hat bis zu 3 Abschnitte in der Konfigurationsdatei. Im


ersten Abschnitt werden baugruppenspezifische Parameter konfigu-
riert, im zweiten Abschnitt spezielle Slaveeinstellungen und im dritten
Abschnitt können Aliasnamen für Variablen definiert werden.
Die Konfiguration wird beim Hochfahren des OPC-Servers ausgewer-
tet.

Folgende Tabelle beschreibt die baugruppenspezifischen Konfigurati-


onsparameter:

Eintrag Bedeutung
1. Baugruppenabschnitt Konfigurationsparameter für diese Baugruppe
[Baugruppenname]
z.B.
[CP_L2_1:]
ReferenceAccess Einstellung der DP-Applikationsart und der DP-
Applikationsumgebung.
Die erlaubten Werte entsprechen dem DP-
Strukturelement reference.access(siehe DP-
Dokumentation).

0x50 (DPN_SYS_NOT_CENTRAL |
DPN_ROLE_NOT_CENTRAL)
Mehrere gleichberechtigte DP-Applikationen
sind möglich, Der OPC-Server wechselt au-
tomatisch in die Betriebsart „OPERATE“.

0xA0 (DPN_SYS_CENTRAL |
DPN_ROLE_CENTRAL)
Der OPC-Server ist eine übergeordnete Ap-
plikation (Master) und muß die Betriebsart
explizit einstellen. Dazu muß die OPC-Server
Variable „Masterstate“ mit geeigneten Werten
gesetzt werden.

0x60 (DPN_SYS_CENTRAL |
DPN_ROLE_NOT_CENTRAL)
Es gibt eine weitere, übergeordnete Applikati-
on (Master), diese muß die Betriebsart expli-
zit einstellen. Der OPC-Server ist eine unter-
geordnete Applikation.
Ein Zugriff auf die Slaves ist erst in der Betriebs-
art „OPERATE“ möglich.
Default 0x50
WatchdogTimeout Konfiguration der Aktivitätsüberwachung der
Baugruppe. Greift der OPC-Server (aufgrund
eines Fehlers) nicht mehr auf die DP-

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 185
Konfiguration über Dateien

Eintrag Bedeutung
Programmierschnittstelle zu, reagiert die Bau-
gruppe selbsttätig wie in der Dokumentation der
Baugruppe beschrieben. (z.B. CP 5412 (A2): an
alle dem OPC-Server zugeordneten Slaves wer-
den Daten mit dem Wert 0 gesendet).
0 Die Aktivitätsüberwachung ist abgeschaltet.
n Die Aktivitätsüberwachung schlägt nach n
Millisekunden ohne Zugriff auf die DP-
Programmierschnittstelle zu.
Der OPC-Server greift z.B. periodisch auf die
Programmierschnittstelle zu, wenn DP-Variablen
beobachtet werden.
Die Aktivitätsüberwachung kann im laufenden
Betrieb mit der Variable
DP:[CP_L2_n:]WatchdogTimeout verändert wer-
den.
Default 6000 ms
Timeout Fehlerwartezeit, kann innerhalb dieser Wartezeit
ein ausstehender DPC1-Auftrag nicht bearbeitet
werden, so wird der Auftrag mit einem Fehler
quittiert.
Default 15000 ms
AutoDiag 0 Die Diagnoseüberwachung und Auswertung
ist abgeschaltet.
N Sperrzeit bei Fehlerdiagnose. Der OPC-
Server überwacht bei Zugriffen auf die Slave-
Ein/Ausgänge selbständig das Diagnoseflag
und wertet Diagnosedaten bei Normslaves
aus. Werden in den Diagnosedaten Fehler
oder Probleme erkannt, wird der Zugriff auf
die Slave-Ein/Ausgänge für n ms gesperrt,
d.h. Lese/Schreibaufträge werden mit Fehler
quittiert.
Default 500 ms

Einführung OPC-Server für SIMATIC NET


186 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.3.3 Slavekonfiguration

Übersicht
Über die Eintragungen in dem 2. Abschnitt können die Zugriffsrechte
der in der Datenbasis vorhandenen Slaves festgelegt werden.

Eintrag Bedeutung
2. Baugruppenabschnitt Einstellungen der Zugriffsrechte
[Baugruppenname(Slaves)]
z.B.
[CP_L2_1:(Slaves)]
AccessSlaveDefault Laufen weitere DP-Applikationen auf derselben
Baugruppe, so muß der Zugriff auf die einzelnen
z. B. DP-Slaves festgelegt werden. Ist der Zugriff auf
die einzelnen Slaves zwischen den DP-
AccessSlaveDefault=1 Applikationen nicht konsistent (z.B. 2 Applikatio-
nen haben Schreibzugriff auf denselben Slave),
scheitert die Anmeldung der gesamten Baugrup-
pe, d.h. auch die anderen Slaves sind nicht ver-
fügbar.
Dieser Eintrag definiert, wie bei der Anmeldung
der standardmäßige Zugriff auf die Slaves ein-
gestellt werden soll. Für einzelne Slaves kann
der Zugriff angepaßt werden (s.u.). Folgende
Werte sind möglich:
1 Auf alle Slaves kann als Default nur le-
send zugegriffen werden
2 Auf alle Slaves kann als Default lesend
und schreibend zugegriffen werden.
Default 2
AccessSlave<Nr> Normalerweise werden bei der Anmeldung alle
verfügbaren Slaves der Baugruppe mit Le-
z.B. se/Schreibzugriff zugeordnet. Für jeden Slave
kann jedoch auch eine andere Vorgabe einge-
AccessSlave003=0 stellt werden:
AccessSlave063=1
0 Kein Zugriff auf den Slave
AccessSlave107=2
1 Nur-Lese Zugriff auf den Slave
2 Lese/Schreibzugriff auf den Slave
Die Slavenummer ist immer 3-stellig, d.h. mit
führenden Nullen anzugeben. Der OPC-Server
trägt keine Werte in diesen Abschnitt ein. Ist kein
Eintrag vorhanden, wird der Defaultwert verwen-
det.
Default 2

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 187
Konfiguration über Dateien

8.3.4 Definition symbolischer Namen

Aliasdefinition Der dritte Abschnitt der Konfigurationsdatei ermöglicht die Definition


von symbolischen Namen für eine gültige DP-Variable. Ein Aliasname
ist ein rein textueller Ersatz für einen sonst gültigen DP-
Variablennamen.

Eine Schachtelung von Aliasnamen wird nicht unterstützt, d.h. ein


Aliasname muß immer direkt auf eine gültige DP Variable verweisen.

Folgende Tabelle beschreibt den Abschnitt zur Definition von Aliasna-


men:

Eintrag Bedeutung
3. Baugruppenabschnitt Für diese Baugruppe vordefinierte Aliasnamen.
[Baugruppenname(Aliases)] Die Abschnittsbezeichnung setzt sich aus dem
z.B. Baugruppennamen und dem Zusatz „(Aliases)“
[CP_L2_1:(Aliases)] zusammen.
Alias=DPVariable Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen
Der symbolische Name „Motor“ verweist auf das
Motor=Slave012M002EX0.3
3 Eingangsbit des Slaves 12. Der Name „Heizlei-
Heizleistung=Slave23M003AW3
stung“ verweist auf ein Ausgangswort des Slaves
23.
Alias Der Alias kann wie eine normale DP-Variable an
der OPC-Schnittstelle verwendet werden.
Wertebereich: Länge max. 32 Zeichen
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Unterstrich) .
(Punkt) & (), ANSI > 127
DPVariable Durch den OPC-Server wird intern der Varia-
blenname des Alias durch diese DP-Variable
ersetzt.

Einführung OPC-Server für SIMATIC NET


188 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.3.5 Konfiguration der DP Demoverbindung

Einführung Zur Demonstration, zum Test oder in der Entwicklung ist es vorteilhaft,
wenn der OPC-Server für das DP-Protokoll auch ohne zusätzliche
Hardware benutzt werden kann. Aus diesem Grund bietet der OPC-
Server die Möglichkeit, eine Baugruppe mit mehreren Slaves zu simu-
lieren. Die Konfiguration der Demo-Baugruppe ist in dem folgenden
Abschnitt möglich.
Voraussetzungen Die Aktivierung der Demo-Baugruppe kann über das Konfigurations-
programm oder über den Parameter „UseDemoBoard“ im Abschnitt
„PROTOCOL“ der Konfigurationsdatei erfolgen.
Bezeichnung Die simulierte Baugruppe hat immer den Namen ”DEMO”.
Entsprechend einer normalen Baugruppe enthält auch die Demo-
Baugruppe drei Projektierungsabschnitte.

Eintrag Bedeutung
1. Abschnitt der Demobaugruppe Verbindungsspezifische Parameter. Innerhalb
[DEMO] dieses Abschnittes sind keine Parameter defi-
niert.

Eintrag Bedeutung
2. Verbindungsabschnitt Konfiguration der simulierten Slaves
[DEMO(Slaves)]

Slave<Nr>=Konfigurierdaten Spezifikation der Demoslaves anhand der Slave-


Konfigurierdaten.
z.B.

Slave003=|R|unsigned8[2]|{00|19} (ent-
spricht ET200B 32DI}
Slave004=|R|unsigned8[2]|{35|00} (ent-
spricht ET200B 32DO}

Slave<Nr> Die Slavenummer ist immer dreistellig, d.h. mit


führenden Nullen anzugeben. Auf einen simu-
lierten Slave ist immer Schreib/Lesezugriff mög-
lich.
Konfigurierdaten Die Syntax der Konfigurierdaten ist immer
|R|unsigned8[ll]|{dd|.....|dd}
wobei ll die Länge der Konfigurierdaten in Bytes
angibt, dd sind die dezimalen Werte der Konfigu-
rierdaten
Zur Interpretation der Konfigurierdaten siehe
Handbuch „DP-Programmierschnittstelle“

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 189
Konfiguration über Dateien

Eintrag Bedeutung
3. Verbindungsabschnitt Für die simulierte Baugruppe vordefinierte Alias-
[DEMO(Aliases)] namen.
Alias=DPVariable Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen

Motor=Slave012M2EX0.3 Alias Motor Eingangsbit eines Slaves


Heizleistung=Slave23M01AW3 Alias Heizleistung verweist auf ein Ausgangswort
eines Slaves
Alias Der Alias kann wie eine normale DP-Variable an
der OPC-Schnittstelle verwendet werden.
Wertebereich: Länge max. 32 Zeichen
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Unterstrich)
.(Punkt) & (), ANSI > 127
DPVariable An der OPC-Schnittstelle wird ein Auftreten des
Alias durch diese DP-Variable ersetzt.

Einführung OPC-Server für SIMATIC NET


190 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.4 S7-Protokoll

Übersicht Die Bearbeitung der Konfigurationsdatei für das S7-Protokoll ist not-
wendig, wenn Sie:

• Verbindungsparameter verändern wollen,


• Aliasnamen anlegen wollen,
• die Demoverbindung konfigurieren wollen
• S7 Alarms & Events konfigurieren wollen

Ablageort Der mit der Installation eingestellte Ablageort der Konfigurationsdatei


des OPC-Servers für das S7.Protokoll ist:

<Installationspfad> \ OPC2.NT \ binS7 \ SCoreS7.txt

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 191
Konfiguration über Dateien

8.4.1 Allgemeine Protokollkonfiguration

Allgemeine Die folgende Tabelle zeigt die Parameter zur Konfiguration der allge-
Protokoll- meinen Eigenschaften des S7-OPC-Servers.
konfiguration

Eintrag Bedeutung
Abschnitt [PROTOCOL] In diesem Abschnitt werden generelle Protokollein-
stellungen vorgenommen. Weiterhin kann der Trace
der unterlagerten Protokollsoftware (SAPI-S7) para-
metriert werden.
S7_MINI_DB_PERSISTANCE_COUNT Einstellbarer SAPI-S7 Mini-DB Parameter, siehe
SAPI-Dokumentation
Default 5
S7_MINI_DB_ABORT_TIMEOUT Einstellbarer SAPI-S7 Mini-DB Parameter, siehe
SAPI-Dokumentation
Default 300
ConfigProtocolTrace SAPI-S7 Traceparameter werden gesetzt
Default 0
S7_MINI_DB_TRACE_TARGET Einstellbare SAPI-S7 Traceparameter, siehe SAPI-
S7_MINI_DB_TRACE_SELECT Dokumentation
S7_MINI_DB_TRACE_DEPTH
S7_MINI_DB_TRACE_FILENAME

CycleTime Dieser Wert gibt an, wie schnell die Auftragswarte-


schlange nach anstehenden Aufträgen durchsucht
wird.
Default 100 ms
(wird als „Abfragezyklus“ durch das Konfigurations-
programm eingestellt)
UseAllAvailableVFD 1 Der S7-OPC-Server meldet sich auf alle verfügba-
ren VFD|CP Paare an. Da insbesondere die Suche
nach den VFD|CP Paaren unter Umständen einige
Zeit beansprucht, sollten die tatsächlich benötigten
VFD|CP –Paare über das Konfigurationsprogramm
eingestellt werden.
0 Der S7-OPC-Server meldet sich nur an den im
Parameter UseOnlyThisVFD bestimmten VFD|CP
Paaren an.
Default: 1
(wird durch Konfigurationsprogramm eingestellt)

Einführung OPC-Server für SIMATIC NET


192 6GK1971-0BA00-0AA0
Konfiguration über Dateien

Eintrag Bedeutung
UseOnlyThisVFD VFD|CP Paare, an denen sich der S7-OPC-Server
anmeldet. Mehrere Paare werden durch ein Komma
getrennt.
Achtung: Auch das letzte VFD|CP Paar muß mit
einem Komma abgeschlossen werden.
Beispiel:
UseOnlyThisVFD=VFD1|CP_L2_1:,VFD2|CP_L2_2:,
(wird durch Konfigurationsprogramm eingestellt)
UseDemoConn 1 Der S7-OPC-Server erzeugt eine Simulationsver-
bindung, mit der auch ohne lauffähigem Protokoll
Variablenzugriffe simuliert werden können.
0 Es wird keine Simulationsverbindung bereitge-
stellt.
Default 0
(wird durch Konfigurationsprogramm eingestellt)
StoreEventsTime Zeit nachdem ein wartender Protokollalarm aus der
internen Warteschlange entfernt wird, wenn dieser
nicht an einen OPC Alarms & Events Client weiterge-
geben werden kann.
Default 60000ms
StoreEventsCount Maximale Anzahl von wartenden Protokollalarmen in
der internen Warteschlange, die nicht unmittelbar
nach Auftreten des Protokollalarms an einen OPC
Alarms & Events weitergegeben werden.
Default 500

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 193
Konfiguration über Dateien

8.4.2 Verbindungsspezifische Konfiguration

Übersicht Jede S7 Verbindung hat bis zu 3 Abschnitte in der Konfigurationsdatei.


Im ersten Abschnitt werden verbindungsspezifische Parameter konfi-
guriert, im zweiten Abschnitt können Aliasnamen für Variablen definiert
werden.
Die Konfiguration wird beim Hochfahren des OPC-Servers ausgewer-
tet.

Folgende Tabelle beschreibt die verbindungsspezifischen Konfigurati-


onsparameter:

1. Verbindungsabschnitt

Eintrag Bedeutung
[Verbindung|VFD|CP] Verbindungsspezifische Parameter, die Ab-
z.B. schnittsbezeichnungen entsprechen den Verbin-
[AG1|VFD1|CP_L2_1:] dungsnamen.
S7_MINI_DB_INIT_REQ_AMQ_CALLING SAPI-S7 Parameter, die clientseitig beim Ver-
S7_MINI_DB_INIT_REQ_AMQ_CALLED bindungsaufbau gesetzt werden, siehe SAPI-
S7_MINI_DB_INIT_REQ_AMQ_SIZE Dokumentation.
S7_MINI_DB_INIT_REQ_RSP_CALLING
S7_MINI_DB_INIT_REQ_RSP_CALLED
S7_MINI_DB_INIT_REQ_RSP_SIZE

InitiateReq 0 Die Verbindung wird niemals aufgebaut.


1 Die Verbindung wird bei Bedarf, d.h. bei
Zugriff auf eine über diese Verbindung er-
reichbare Variable aufgebaut.
2 Die Verbindung wird immer aktiv aufgebaut.
Default 1

Einführung OPC-Server für SIMATIC NET


194 6GK1971-0BA00-0AA0
Konfiguration über Dateien

Eintrag Bedeutung
Passive 0 Der OPC-Server baut aktiv die Verbindung
zum Partnergerät auf.
1 Das Partnergerät baut die Verbindung auf.
Der Parameter InitiateReq wird in diesem fall
ignoriert.
Default 0
AbortConnectionAfter 0 Der OPC-Server baut eine Verbindung zu
einem Partnergerät erst beim Beenden des
OPC-Servers wieder ab. Während des Be-
triebs des OPC-Servers bleibt eine einmal
aufgebaute Verbindung bestehen, auch wenn
sie nicht mehr benutzt wird.
n>0
Der OPC-Server baut eine Verbindung n Mil-
lisekunden nach der letzten Verwendung der
Verbindung selbständig ab. Diese Eigenschaft
darf nicht genutzt werden, wenn der Para-
meter Passive=1 gesetzt ist.
Default 0
Timeout Fehlerwartezeit, kann innerhalb dieser Wartezeit
ein ausstehender Auftrag nicht bearbeitet wer-
den, so wird die Verbindung zurückgesetzt und
der Auftrag mit einem Fehler quittiert.
Default 15000 ms
Events Meldungen administrieren (anmelden)
0 Niemals
1 SCAN-Meldungen, sobald entsprechende
OPC-Items verwendet werden
2 SCAN-Meldungen, immer nach Verbin-
- dungsaufbau
3 ALARM-Meldungen, immer nach
Verbindungsaufbau

Eine der Einstellungen 2 oder 3 ist für die Wei-


tergabe der S7-Meldungen an OPC Alarms &
Events Clients erforderlich. Gleichzeitig wird
empfohlen, den Parameter InitiateReq auf 2 zu
stellen, damit die Verbindung permanent auf-
rechterhalten wird.

Default 1
OptimizeS7Write 0 Keine Optimierung der S7 Schreibzu-
griffe
1 Optimierung der S7 Schreibzugriffe

Eine Optimierung der S7 Schreibzugriffe wird


dann empfohlen, wenn sehr viele (> 50) kleine
S7 Items (z.B. Bits oder Bytes) eines S7-
Bereichs (z.B. Merkerbereich oder Datenbau-
stein) GLEICHZEITIG und LÜCKENLOS (ganze

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 195
Konfiguration über Dateien

Eintrag Bedeutung
Bytes) (z.B. MX0.0 – MX10.7) beschrieben wer-
den. In diesem Fall werden die Schreibaufträge
zu einem einzigen Schreibauftrag des entspre-
chend größeren Bereichs zusammengefaßt und
damit die Belastung des Netzwerks und des
Partners verringert. Werden die Randbedingun-
gen GLEICHZEITIG und LÜCKENLOS nicht
erfüllt, kann sich u.U. die Performance des Core-
Servers verschlechtern.

Default 0
OptimizeS7Read 0 Keine Optimierung der S7 Lesezugriffe
n Optimierung der S7 Lesezugriffe mit
Lük- kenbereich n-1
z.B. n = 3 -> 2 Bytes Lückenbereich er-
laubt.

Eine Optimierung der S7 Lesezugriffe wird dann


empfohlen, wenn sehr viele (> 50) S7 Items ei-
nes S7-Bereichs (z.B. Merkerbereich oder Da-
tenbaustein) GLEICHZEITIG gelesen oder aktiv
beobachtet werden. In diesem Fall werden die
Leseaufträge zu einem einzigen Leseauftrag des
entsprechend größeren Bereichs zusammenge-
faßt und damit die Belastung des Netzwerks und
des Partners verringert. Deckungsgleiche S7
Items (z.B. MB0 und MW0) werden zusammen-
gefaßt. Der zu lesende größere Bereich darf
entsprechend der Einstellung n kleinere Lücken
aufweisen. Es wird empfohlen, für n = 11 (10
Byte Lücke) zu wählen. Wird die Randbedingung
GLEICHZEITIG nicht erfüllt, kann sich u.U. die
Performance des Core-Servers verschlechtern.

Default 11
AutoPasswordReset 0 Kein automatisches Rücksetzen des S7-
Domain Paßwort
1 Automatisches Rücksetzen des S7-
Domain Paßwort nach Verbindungsauf
bau

Default 0

Einführung OPC-Server für SIMATIC NET


196 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.4.3 Definition symbolischer Namen

Aliasdefinition Der zweite Abschnitt der Konfigurationsdatei ermöglicht die Definition


von symbolischen Namen für eine gültige S7-Variable. Ein Aliasnamen
ist ein rein textueller Ersatz für einen sonst gültigen S7 Variablenna-
men.

Eine Schachtelung von Aliasnamen wird nicht unterstützt, d.h. ein


Aliasname muß immer direkt auf eine gültige S7-Variable verweisen.

Folgende Tabelle beschreibt den Abschnitt zur Definition von Aliasna-


men:

2. Verbindungsabschnitt

Eintrag Bedeutung
[Verbindung|VFD|CP(Aliases)] Für diese Verbindung vordefinierte Aliasnamen.
z.B. Die Abschnittsbezeichnung setzt sich aus dem
[AG1|VFD1|CP_L2_1:(Aliases)] Verbindungsnamen und dem Zusatz „(Aliases)“
zusammen.
Alias=S7Variable Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen
Der symbolische Name „Motor“ verweist auf das
Motor=AB0
Ausgangsbyte 0; der Name „Heizleistung“ ver-
Heizleistung=DB10,W0
weist auf das Datenwort 0 im Datenbaustein 10.
Alias Der Alias kann wie eine normale S7-Variable an
der OPC-Schnittstelle verwendet werden.
Wertebereich: Länge max. 32 Zeichen
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Unterstrich) &
(), ANSI > 127
S7Variable Durch den OPC-Server wird intern der Varia-
blenname des Alias durch diese S7-Variable
ersetzt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 197
Konfiguration über Dateien

8.4.4 Einstellungen für S7 Meldungen

Für die Weitergabe der S7 Meldungen an die OPC Alarms & Events Clients wird als Ereignis-
parameter Parameter die Schwere des Ereignisses (Severity) benötigt. Diese Information wird
jedoch nicht vom Protokoll unterstützt und ist nicht in den S7 Meldungen selbst enthalten.

Folgende Tabelle beschreibt den Abschnitt zur Einstellung für S7 Meldungen, die über eine S7-
Verbindung erwartet werden.

Eintrag Bedeutung
3. Verbindungsabschnitt Für diese Verbindung festgelegte Severities der
[Verbindung|VFD|CP(Severities)] S7-Meldungen
z.B. Die Abschnittsbezeichnung setzt sich aus dem
[AG1|VFD1|CP_L2_1:(Severities)] Verbindungsnamen und dem Zusatz „(Severi-
ties)“
zusammen.
DefaultScan Wertebereich: 1 <= n <= 1000
Severity für Scan Meldungen, für die keine expli-
zite Severity festgelegt wurde

Default 300

DefaultAlarm Wertebereich: 1 <= n <= 1000


Severity für Scan Meldungen, für die keine expli-
zite Severity festgelegt wurde
Default 500

MeldungNN=Severity Der Abschnitt enthält eine beliebige Anzahl von


z.B. Severityeinstellungen für einzelne S7-Meldungen

Scan456=200 S7-Scan Meldung ID546 hat Severity 200


Alarm333=900 S7-Alarm Meldung ID333 hat Severity 900
Meldung Entweder
Scan (S7-Scan Meldung)
Alarm (S7-Alarm Meldung)
NN S7 ID der Meldung, Wertebereich 0 <= NN <=
2^32 - 1
Severity Severity, Wertebereich 1 <= n <= 1000

Einführung OPC-Server für SIMATIC NET


198 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.4.5 Konfiguration der S7 Demo-Verbindung

Einführung Zur Demonstration, zum Test oder in der Entwicklung ist es vorteilhaft,
wenn der S7-OPC-Server auch ohne zusätzliche Hardware benutzt
werden kann. Aus diesem Grund bietet der S7-OPC-Server die Mög-
lichkeit, in einer Demo-Verbindung simulierte S7-Variablen über die
OPC-Schnittstelle zu benutzen.
Voraussetzungen Die Aktivierung der Demo-Verbindung kann über das Konfigurations-
programm oder über den Parameter „UseDemoCon“ im Abschnitt
„PROTOCOL“ der Konfigurationsdatei erfolgen.
Bezeichnung Die Demoverbindung hat immer den Namen ”DEMO”. Der Anwender
muß sicherstellen, daß keine weitere Verbindung dieses Namens in
seiner Netzprojektierung existiert.
Die Demoverbindung enthält die Objekte E, A, PE, PA ,M und den
Datenbaustein 10. Variablen können durch Aliasdefinitionen erstellt
werden.

Eintrag Bedeutung
[DEMO(Aliases)] Für die Demoverbindung vordefinierte Aliasna-
men.
Alias=S7Variable Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen
Der symbolische Name „Motor“ verweist auf das
Motor=AB0
Ausgangsbyte 0; der Name „Heizleistung“ ver-
Heizleistung=DB10,W0
weist auf das Datenwort 0 im Datenbaustein 10.
Alias Der Alias kann wie eine normale S7-Variable an
der OPC-Schnittstelle verwendet werden.
Wertebereich: Länge max. 32 Zeichen
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Unterstrich) &
(), ANSI > 127
S7Variable Durch den OPC-Server wird intern der Varia-
blenname des Alias durch diese S7-Variable
ersetzt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 199
Konfiguration über Dateien

8.5 FMS-Protokoll

Übersicht Die Bearbeitung der Konfigurationsdatei für das FMS-Protokoll ist not-
wendig, wenn Sie:

• die Behandlung des Objektverzeichnisses für eine Verbindung ver-


ändern wollen. Standardmäßig wird stets ein kurzes Objektver-
zeichnis geladen.
• Verbindungsparameter verändern wollen,
• Variablendefinitionen verändern oder Aliasnamen anlegen wollen,
• die Serververbindung konfigurieren oder
• die Demoverbindung konfigurieren wollen

Ablageort Der mit der Installation eingestellte Ablageort der Konfigurationsdatei


des FMS-OPC-Servers ist:

<Installationspfad> \ OPC2.NT \ binFMS \ SCoreFMS.txt

Einführung OPC-Server für SIMATIC NET


200 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.5.1 Allgemeine Protokollkonfiguration

Allgemeine Die folgende Tabelle zeigt die Parameter zur Konfiguration der allge-
Protokoll- meinen Eigenschaften des FMS-OPC-Servers.
konfiguration

Eintrag Bedeutung
Abschnitt [PROTOCOL] In diesem Abschnitt werden generelle Protokollein-
stellungen vorgenommen. Weiterhin kann der Trace
der unterlagerten Protokollsoftware (SAPI-FMS) pa-
rametriert werden.
FMS_MINI_DB_SEQ_REPEAT_CNT Einstellbarer SAPI-FMS Mini-DB Parameter, siehe
SAPI-Dokumentation
Default 20
(wird durch Konfigurationsprogramm eingestellt)
FMS_MINI_DB_OD_NAME_LENGTH Einstellbarer SAPI-FMS Mini-DB Parameter, siehe
SAPI-Dokumentation
Default 32
ConfigProtocolTrace SAPI-FMS Traceparameter werden gesetzt
Default 0
FMS_MINI_DB_TRACE_TARGET Einstellbare SAPI-FMS Traceparameter, siehe SAPI-
FMS_MINI_DB_TRACE_SELECT Dokumentation. Es müssen die den Konstanten der
FMS_MINI_DB_TRACE_DEPTH SAPI-Headerfiles entsprechenden Zahlenwerte ein-
FMS_MINI_DB_TRACE_FILENAME getragen werden.

CycleTime Dieser Wert gibt an, wie schnell die Auftragswarte-


schlange nach anstehenden Aufträgen durchsucht
wird.
Default 100 ms
(wird als „Abfragezyklus“ durch das Konfigurations-
programm eingestellt)
UseAllAvailableVFD 1 Der FMS-OPC-Server meldet sich auf alle verfüg-
baren VFD|CP Paare an. Da insbesondere die Su-
che nach den VFD|CP-Paaren unter Umständen
einige Zeit beansprucht, sollten die tatsächlich be-
nötigten VFD|CP–Paare über das Konfigurations-
programm eingestellt werden.
0 Der FMS-OPC-Server meldet sich nur an den im
Parameter UseOnlyThisVFD bestimmten VFD|CP
Paaren an.
Default: 1
(wird durch Konfigurationsprogramm eingestellt)

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 201
Konfiguration über Dateien

Eintrag Bedeutung
UseOnlyThisVFD VFD|CP-Paare, an denen sich der FMS-OPC-Server
anmeldet. Mehrere Paare werden durch ein Komma
getrennt.
Achtung: Auch das letzte VFD|CP-Paar muß mit
einem Komma abgeschlossen werden.
Beispiel:
UseOnlyThisVFD=VFD1|CP_L2_1:,VFD2|CP_L2_2:,
(wird durch Konfigurationsprogramm eingestellt)
UseDemoConn 1 Der FMS-OPC-Server erzeugt eine Simulations-
verbindung, mit der auch ohne lauffähigem Proto-
koll Variablenzugriffe simuliert werden können.
0 Es wird keine Simulationsverbindung bereitge-
stellt.
Default 0
(wird durch Konfigurationsprogramm eingestellt)
CycleNet >0 Der FMS-OPC-Server setzt zyklisch einen
fms_receive()-Aufruf an das Protokoll ab. Dies ist
zur Behebung von Protokollverklemmungen ge-
dacht.
0 Der FMS-OPC-Server setzt nur einen
fms_receive()-Aufruf an das Protokoll ab, wenn er
eine WM_SINEC Nachricht vom Treiber bekommt.
Default 1000 ms
WaitMultipleOD 0 Es wird ein Timeout-Fehler erzeugt, wenn der
Auftrag zum Lesen des OD nicht innerhalb der
Timeoutzeit ausgeführt werden kann.
1 Wenn ein Auftrag zum Lesen des OD nicht aus-
geführt werden kann, weil auf einer anderen Ver-
bindung ein anderer OD-Auftrag aussteht, wird der
Auftrag so lange verzögert, bis er ausgeführt wer-
den kann. Es wird kein Timeout-Fehler erzeugt.
Default 1

Einführung OPC-Server für SIMATIC NET


202 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.5.2 Verbindungsspezifische Konfiguration

Übersicht Jede FMS Verbindung hat bis zu 3 Abschnitte in der Konfigurations-


datei. Im ersten Abschnitt werden verbindungsspezifische Parameter
konfiguriert, im zweiten Abschnitt können Variablen vordefiniert wer-
den, im dritten Abschnitt können Aliasnamen für Variablen definiert
werden.
Die Konfiguration wird beim Hochfahren des FMS-OPC-Servers aus-
gewertet.

Folgende Tabelle beschreibt die verbindungsspezifischen Konfigurati-


onsparameter:

Eintrag Bedeutung
1. Verbindungsabschnitt Verbindungsspezifische Parameter, die Ab-
[Verbindung|VFD|CP] schnittsbezeichnungen entsprechen den Verbin-
z.B. dungsnamen.
[AG1|VFD1|CP_L2_1:]
FMS_MINI_DB_INIT_REQ_PASSWORD SAPI-FMS Parameter, die clientseitig beim Ver-
FMS_MINI_DB_INIT_REQ_ACCESS_GR bindungsaufbau gesetzt werden, siehe SAPI-
OUPS Dokumentation (z.B. für Paßwörter).
FMS_MINI_DB_INIT_RSP_PASSWORD
FMS_MINI_DB_INIT_RSP_ACCESS_GRO
UPS
FMS_OD 1 Nach dem Verbindungsaufbau wird das Ob-
jektverzeichnis vom Partner gelesen und die
darin enthaltenen Variablen ausgewertet. Da
das Lesen des Objektverzeichnisses das Netz
stark belastet und den Verbindungsaufbau
verzögert, sollte nach Möglichkeit darauf ver-
zichtet werden und lokale Objektverzeichnis-
se verwendet werden.
0 Es wird kein Objektverzeichnis vom Partner
gelesen.
Achtung: Falls kein Objektverzeichnis gele-
sen wird, können Variablenzugriffe auf diese
Verbindung nur gemacht werden, wenn ein
lokales Objektverzeichnis vorliegt oder Varia-
blen im Abschnitt [Verbindung(Variables)] der
Textdatenbank projektiert sind.
Default 1

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 203
Konfiguration über Dateien

Eintrag Bedeutung
FMS_MINI_DB_OD_FORMAT 0 Es wird ein kurzes Objektverzeichnis vom
Partner gelesen
1 Es wird ein langes Objektverzeichnis vom
Partner gelesen. Das lange Objektverzeichnis
enthält zusätzliche Informationen wie Varia-
blennamen und Zugriffsrechte. Das lange
Objektverzeichnis kann nur bei geeigneter
Verbindungsprojektierung gelesen werden.
Default 0
FMS_OD_LOCALFILE Pfad und Dateiname des lokalen Objektver-
zeichnisses.
InitiateReq 0 Die Verbindung wird niemals aktiv aufgebaut.
1 Die Verbindung wird bei Zugriff auf das Part-
nergerät aktiv aufgebaut.
2 Die Verbindung wird unabhängig von der
Verwendung stets aktiv aufgebaut.
Default 1
AcceptInitiateInd 1 Ein Verbindungsaufbauwunsch des Partners
wird immer akzeptiert.
2 Der Verbindungsaufbauwunsch des Partners
wird nicht akzeptiert, der FMS-OPC-Server
kann jedoch selbst versuchen, die Verbindung
zum Partner aufzubauen.
Default 1
AbortConnectionAfter 0 Der FMS-OPC-Server baut eine Verbindung
niemals selbst ab (außer beim Herunterfahren
des FMS-OPC-Servers)
n>0
Der FMS-OPC-Server baut eine Verbindung
nach n ms nach der letzten Verwendung der
Verbindung selbständig ab.
Default 0
Timeout Fehlerwartezeit, kann innerhalb dieser Wartezeit
ein ausstehender Auftrag nicht bearbeitet wer-
den, so wird die Verbindung zurückgesetzt und
der Auftrag mit einem Fehler quittiert.
Default 15000 ms

Einführung OPC-Server für SIMATIC NET


204 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.5.3 Variablendefinition

Übersicht Der folgende Abschnitt der Konfigurationsdatei ermöglicht die Definiti-


on der für diese Verbindung gültigen FMS-Variablen. Das FMS Proto-
koll benötigt für den Zugriff auf Variablen Informationen über die Be-
schaffenheit dieser Variablen, z.B. Datentyp, Zugriffsrechte und Ande-
re. Häufig benötigte Variablen einer Verbindung können in diesem
Abschnitt vordefiniert werden, damit z.B. der Datentyp schon vor dem
Verbindungsaufbau bekannt ist.
Eine Alternative zur Definition von Variablen in diesem Abschnitt ist
die Verwendung eines lokalen Objektverzeichnisses.

Folgende Tabelle beschreibt die Parameter zur Variablendefinition:

Eintrag Bedeutung
2. Verbindungsabschnitt Für diese Verbindung vordefinierte Variablen.
[Verbindung|VFD|CP(Variables)] Die Abschnittsbezeichnung setzt sich aus dem
z.B. Verbindungsnamen und dem Zusatz „(Variables)“
[AG1|VFD1|CP_L2_1:(Variables)] zusammen.
Name=Index|AccessRights|Type Der Abschnitt enthält eine beliebige Anzahl von
z.B. Variablendefinitionen

NAME100=100|RW|boolean Boolean
NAME101=101|RW|integer8|NAME102=10 1 Byte Integer
2|RW|integer16|NAME103=103|RW|integer 2 Byte Integer
32 4 Byte Integer
NAME104=104|RW|unsigned8 1 Byte Unsigned Integer
NAME105=105|RW|unsigned16 2 Byte Unsigned Integer
Leistung=106|RW|unsigned32 4 Byte Unsigned Integer
Temperatur=107|RW|float 4 Byte Floatingpoint
NAME108=108|RW|vstring5 Zeichenkette 5 Zeichen
NAME109=109|RW|bstring8 Bitstring 8 Bits
NAME112=112|RW|integer8[4] Array von 4 Integer
NAME119=119|RW|ostring5[3] Array von 3 Octettstrings der Länge 5 Bytes
NAME120=120|RW|{integer8|float|vstring3}
| Struktur mit Integer, Floatingpoint und Zeichen-
kette 3 Zeichen
Strukturen dürfen maximal 10 Komponenten
haben.
FMS-Date
NAME130=130|RW|fmsdate
FMS-TimeOfDay
NAME131=131|RW|fmstimeofday4
FMS-TimeDifference
NAME132=132|RW|fmstimedifference4
FMS-TimeOfDay (mit Tagen ab 01.01.1984)
NAME133=133|RW|fmstimeofday6
FMS-TimeDifference (mit Tagen ab 30.12.1899)
NAME134=134|RW|fmstimedifference6

Die einzelnen Elemente der Variablendefinition


müssen mit dem Pipesymbol ‚|‘ separiert werden
und dürfen keine Leerzeichen enthalten.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 205
Konfiguration über Dateien

Eintrag Bedeutung
Name Name im langen Objektverzeichnis
Wertebereich: Länge max. 32 Zeichen, jedoch
nicht länger als im Abschnitt [PROTOCOL] Pa-
rameter FMS_MINI_DB_OD_NAME_LENGTH
definiert.
Erlaubte Zeichen: a-z A-Z 0-9 $ . (Punkt) _ (Un-
terstrich), ANSI >127
Index FMS Variablenindex, muß größer als 15 sein
AccessRights R bedeutet Lesezugriff, W bedeutet Schreibzu-
griff, RW bedeutet Lese- und Schreibzugriff.
Type FMS-Typen; die Stringtypen vstring, ostring,
bstring, fmstimeofday und fmstimedifference
benötigen zusätzlich noch eine Längenangabe,
bei bstring immer ein Vielfaches von 8. Arrays
benötigen die Anzahl der Arrayelemente in ecki-
gen Klammern, Strukturen dürfen in den ge-
schweiften Klammern nur einfache Datentypen
(also keine Arrays oder Strukturen) enthalten.

Einführung OPC-Server für SIMATIC NET


206 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.5.4 Definition symbolischer Namen

Aliasdefinition Der dritte Abschnitt der Konfigurationsdatei ermöglicht die Definition


von symbolischen Namen für eine gültige FMS-Variable. Ein Aliasna-
men ist ein rein textueller Ersatz für einen sonst gültigen FMS Varia-
blennamen oder FMS Variablenindex.

Eine Schachtelung von Aliasnamen wird nicht unterstützt, d.h. ein


Aliasname muß immer direkt auf eine gültige FMS Variable verweisen.

Folgende Tabelle beschreibt den Abschnitt zur Definition von Aliasna-


men:

Eintrag Bedeutung
3. Verbindungsabschnitt Für diese Verbindung vordefinierte Aliasnamen.
[Verbindung|VFD|CP(Aliases)] Die Abschnittsbezeichnung setzt sich aus dem
z.B. Verbindungsnamen und dem Zusatz „(Aliases)“
[AG1|VFD1|CP_L2_1:(Aliases)] zusammen.
Alias=FMSVariable Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen
Der symbolische Name „Motor“ verweist auf
Motor=100
FMS-Index 100, Der Name „Heizleistung“ ver-
Heizleistung=Leistung
weist auf FMS-Namen Leistung
Alias Der Alias kann wie eine normale FMS-Variable
an der OPC-Schnittstelle verwendet werden.
Wertebereich: Länge max. 32 Zeichen
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Unterstrich) &
(), ANSI > 127
FMSVariable Durch den OPC-Server wird intern der Varia-
blenname des Alias durch diese FMS-Variable
ersetzt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 207
Konfiguration über Dateien

8.5.5 Konfiguration der FMS-Serververbindung

Einführung Der FMS-OPC-Server kann neben dem Betrieb als FMS-Client auch
als FMS-Server betrieben werden. Über eine FMS-Serververbindung
bietet der FMS-OPC-Server Variablen an, auf die andere FMS-Geräte
zugreifen können.
Um als FMS-Server agieren zu können, muß der OPC-Server mit Hilfe
eines OPC-Clients (z.B. OPC-Scout) gestartet werden.

Konfiguration Jedes FMS-VFD|CP-Paar verfügt implizit über eine Serververbindung.


Alle Kommunikationspartner eines VFD|CP-Paars können über das
Kommunikationssystem auf die in der Serververbindung definierten
Variablen zugreifen. An der OPC-Schnittstelle des FMS-OPC-Servers
werden die Variablen der Serververbindung wie normale FMS-
Variablen angesprochen. Entsprechend einer normale FMS-
Verbindung enthält auch die Serververbindung drei Projektierungsab-
schnitte.

Der Name des Verbindungsabschnitts setzt sich aus der Bezeichnung


eines VFD|CP-Paares zusammen. In diesem Abschnitt kann für die
Serververbindung ein symbolischer Name definiert werden, der dann
bei den weiteren Abschnitten zu benutzen ist.

Eintrag Bedeutung
1. Verbindungsabschnitt Generelle Serverparameter
[|VFD|CP]
Der Verbindungsname der Serververbindung ist,
z.B.
falls nicht anders projektiert (s.u.) leer, d.h. be-
[|VFD1|CP_L2_1:]
steht nur aus VFD und CP-Namen.
Server Aktivieren der Serververbindung
1 Es wird die VFD-spezifische Serververbin-
dung erzeugt.
2 Die VFD-spezifische Serververbindung wird
nicht erzeugt.
Default 1
ServerConnectionName Der Serververbindung kann ein Verbindungsna-
me zugeordnet werden. Dieser muß sich von den
FMS-Verbindungsnamen dieses VFD’s unter-
scheiden. Wird hier ein Verbindungsname ein-
getragen, ändern sich die Namen der Abschnitte
entsprechend.
Default ”leer”

Einführung OPC-Server für SIMATIC NET


208 6GK1971-0BA00-0AA0
Konfiguration über Dateien

Eintrag Bedeutung
2. Verbindungsabschnitt Enthält die für die Serververbindung definierten
[|VFD|CP(Variables)] Variablen. Wird unter dem Eintrag „ServerCon-
z.B. nectionName“ des 1. Verbindungsabschnitts ein
[|VFD1|CP_L2_1:(Variables)] Namen eingetragen, so muß dieser Name vor-
angestellt werden. Beispiel: [MySer-
ver|VFD1|CP_L2_1:(Variables)]
Name=Index|AccessRights|Type|Initial- Der Abschnitt enthält eine beliebige Anzahl von
value Variablendefinitionen
z.B.

100=100|RW|boolean|-1 Boolean
101=101|RW|integer8|-123 1 Byte Integer
102=102|RW|integer16|-12345 2 Byte Integer
103=103|RW|integer32|-1234567 4 Byte Integer
104=104|RW|unsigned8|234 1 Byte Unsigned Integer
105=105|RW|unsigned16|23456 2 Byte Unsigned Integer
Leistung=106|RW|unsigned32|2345678 4 Byte Unsigned Integer
Temperatur=107|RW|float|1,345 4 Byte Floatingpoint
108=108|RW|vstring5|“abcde“ Zeichenkette 5 Zeichen
109=109|RW|bstring8|1.0.0.1.1.0.0.0 Bitstring 8 Bits
112=112|RW|integer8[4]|{10|20|30|40} Array von 4 Integer
119=119|RW|ostring6[3]|{00.01.02.03.04.0 Array von 3 Octettstrings der Länge 6 Bytes
5|40.41.42.43.44.45|d0.d1.d2.d3.d4.d5}
120=120|RW|{integer8,float,vstring3}|{- Struktur mit Integer, Floatingpoint und Zeichen-
55|3|5|“xyz“} kette 3 Zeichen

130=130|RW|fmsdate|23:59:59 01.01.1999 FMS-Datum


131=131|RW|fmstimeofday4|12:00:00 FMS-Uhrzeit
132=132|RW|fmstimedifference4|01:10:22 FMS-Zeitabstand
133=133|RW|fmstimeofday6|17:12:59 FMS-Uhrzeit (mit Tagen ab 01.01.1984)
01.01.1985
134=134|RW|fmstimedifference6|17:12:45 FMS-Zeitabstand (mit Tagen ab 30.12.1899)
01.01.1901
Strukturen dürfen maximal 10 Komponenten
haben.

Die einzelnen Elemente der Variablendefinition


müssen mit einem senkrechten Strich (Pipesym-
bol „|“) separiert werden und dürfen keine Leer-
zeichen enthalten (Ausnahme: Initialwert eines
vstrings)
Name Name im langen Objektverzeichnis
Index FMS Variablenindex, muß größer als 15 sein
AccessRights R Lesezugriff
W Schreibzugriff
RW Lese- und Schreibzugriff.
Die Zugriffsrechte betreffen ausschließlich den
Zugriff der Kommunikationspartner über FMS-
Verbindungen auf diese Variable. Der Zugriff auf
diese Variablen über die OPC-Schnittstelle ist

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 209
Konfiguration über Dateien

Eintrag Bedeutung
immer lesend und schreibend möglich.
Type FMS-Typen; die Stringtypen vstring, ostring,
bstring, fmstimeofday und fmstimedifference
benötigen zusätzlich noch eine Längenangabe,
bei bstring immer ein Vielfaches von 8. Arrays
benötigen die Anzahl der Arrayelemente in ecki-
gen Klammern, Strukturen dürfen in den ge-
schweiften Klammern nur einfache Datentypen
(also keine Arrays oder Strukturen) enthalten.
Initialvalue Initialwert, muß dem jeweiligen Datentyp ent-
sprechen. Alle Initialwerte von Arrays oder
Strukturen müssen von geschweiften Klammern
umgeben sein und mit dem Pipesymbol "|" sepa-
riert werden. Der Initialwert ist optional, aber
sollte stets verwendet werden.

Eintrag Bedeutung
3. Verbindungsabschnitt Für die Serververbindung vordefinierte Aliasna-
[|VFD|CP(Aliases)] men.
z.B.
[|VFD1|CP_L2_1:(Aliases)]
Alias=FMSVariable Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen.

Motor=100 Alias Motor verweist auf FMS-Index 100


Heizleistung=Leistung Alias Heizleistung verweist auf FMS-Namen
Leistung

Alias Alias kann wie eine normale FMS-Variable an


der OPC-Schnittstelle verwendet werden.
FMSVariable An der OPC-Schnittstelle wird ein Auftreten des
Alias durch diese FMS-Variable ersetzt.

Einführung OPC-Server für SIMATIC NET


210 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.5.6 Konfiguration der FMS Demo-Verbindung

Einführung Zur Demonstration, zum Test oder in der Entwicklung ist es vorteilhaft,
wenn der FMS-OPC-Server auch ohne zusätzliche Hardware benutzt
werden kann. Aus diesem Grund bietet der FMS-OPC-Server die Mög-
lichkeit, in einer Demo-Verbindung Variablen zu definieren und diese
simulierten FMS-Variablen über die OPC-Schnittstelle zu benutzen.
Voraussetzungen Die Aktivierung der Demo-Verbindung kann über das Konfigurations-
programm oder über den Parameter „UseDemoCon“ im Abschnitt
„PROTOCOL“ der Konfigurationsdatei erfolgen.
Bezeichnung Die Demoverbindung hat immer den Namen ”DEMO”. Der Anwender
muß sicherstellen, daß keine weitere Verbindung dieses Namens in
seiner Netzprojektierung existiert.
Entsprechend einer normalen FMS-Verbindung enthält auch die De-
mo-Verbindung drei Projektierungsabschnitte.

Eintrag Bedeutung
1. Verbindungsabschnitt Verbindungsspezifische Parameter. Innerhalb
[DEMO] dieses Abschnittes sind keine Parameter defi-
niert.

Eintrag Bedeutung
2. Verbindungsabschnitt Für die Demoverbindung definierte Variablen.
[DEMO(Variables)]

Name=Index|AccessRights|Type|Initial- Der Abschnitt enthält eine beliebige Anzahl von


value Variablendefinitionen.

Siehe Serververbindung (8.5.5) Siehe Serververbindung


Name Name im langen Objektverzeichnis
Index FMS Variablenindex, muß größer als 15 sein
AccessRights R Lesezugriff
W Schreibzugriff
RW Lese- und Schreibzugriff.
Der Zugriff auf diese Variablen über die OPC-
Schnittstelle ist gemäß der Zugriffsrechte lesend
und/oder schreibend möglich.
Type FMS-Typen, die Stringtypen vstring, ostring und
bstring benötigen zusätzlich noch eine Län-
genangabe. Arrays benötigen die Anzahl der
Arrayelemente in eckigen Klammern, Strukturen
dürfen in den geschweiften Klammern nur einfa-
che Datentypen (also keine Arrays oder Struktu-
ren) enthalten.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 211
Konfiguration über Dateien

Initialvalue Initialwert, muß dem jeweiligen Datentyp ent-


sprechen. Alle Initialwerte von Arrays oder
Strukturen müssen von geschweiften Klammern
umgeben sein und mit dem Pipesymbol "|" sepa-
riert werden. Der Initialwert ist optional, aber
sollte stets verwendet werden.

Eintrag Bedeutung
3. Verbindungsabschnitt Für die Demoverbindung vordefinierte Aliasna-
[DEMO(Aliases)] men.
Alias=FMSVariable Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen.

Motor=100 Alias Motor verweist auf FMS-Index 100


Heizleistung=Leistung Alias Heizleistung verweist auf FMS-Namen
Leistung

Alias Der Alias kann wie eine normale FMS-Variable


an der OPC-Schnittstelle verwendet werden.
FMS-Variable An der OPC-Schnittstelle wird ein Auftreten des
Alias durch diese FMS-Variable ersetzt.

Einführung OPC-Server für SIMATIC NET


212 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.5.7 Erstellen eines lokalen Objektverzeichnisses

Einführung In einem Objektverzeichnis eines FMS-Servers sind die definierten


Variablen enthalten. Üblicherweise können FMS-Geräte dieses Ob-
jektverzeichnis dem Partnergerät über das Kommunikationssystem zur
Verfügung stellen. Ein FMS-Client benötigt Informationen aus dem
Objektverzeichnis (z.B. definierte Indizes und Zugriffsrechte) zum Zu-
griff auf Variablen.
Lokales Das Laden eines Objektverzeichnisses kann je nach Verhalten des
Objektverzeichnis Partnergeräts zeitaufwendig sein. Gerade wenn innerhalb eines Ob-
jektverzeichnisses hohe Indizes projektiert wurden, kann der Verbin-
dungsaufbau stark verzögert werden. Dabei entsteht eine nicht uner-
hebliche Netzbelastung. Weiterhin kann die Kommunikationssoftware
nicht die Objektverzeichnisse verschiedener Geräte gleichzeitig abfra-
gen.
Besteht eine Anlage aus mehreren FMS-Servern, auf die der PC als
FMS-Client zugreift, kann die Hochlaufphase der Anlage sehr lange
dauern oder kein zuverlässiger Verbindungsaufbau möglich sein.
Aus diesem Grunde bietet der FMS-OPC-Server die Möglichkeit, ein
zu einem anderen Zeitpunkt geladenes und auf einem lokalen Daten-
speicher abgelegtes Objektverzeichnis zu verwenden.
Erstellung Zur Erstellung eines lokalen Objektverzeichnisses muß das Hilfspro-
gramm ODUPLOAD.EXE verwendet werden. Es wird im gleichen Ver-
zeichnis wie die Konfigurationsdatei installiert:
<Installationspfad> \ OPC2.NT \ binFMS \ ODUPLOAD.EXE
Zum Aufruf des Programms öffnen Sie eine Eingabeaufforderung und
wechseln mit „cd <installationspfad>opc2.nt \ binFMS“ in das entspre-
chende Verzeichnis.
Der Aufruf erfolgt gemäß folgender Syntax:
odupload "conn|vfd|cp" filename [odformat [timeout]]

Der Parameter „conn bezeichnet die Verbindung, „vfd“ und „cp“ spezi-
fizieren das CP|VFD-Paar. Der Parameter „filename“ legt den Pfad
und Dateinamen des zu erzeugenden lokalen Objektverzeichnisses
fest. Der optionale Parameter „odformat“ bestimmt, ob ein langes
(Wert 1) oder ein kurzes (Wert 0) Objektverzeichnis angefordert wer-
den soll. Der Standardwert für diesen Parameter ist 0. Mit dem Para-
meter „timeout“ wird in der Einheit Millisekunden festgelegt, nach wel-
cher Wartezeit ein Fehler erzeugt wird. Der Standardwert ist 120000
für 2 Minuten.
Beispiel: odupload "AG <1>|VFD <1>|CP_L2_1:" myconn.od 1 240000
Benutzung Damit für eine Verbindung das lokale Objektverzeichnis benutzt wird,
ist in der Konfigurationsdatei im Verbindungsabschnitt der Pfad und
Dateiname der erstellen Datei als Wert für den Parameter
„FMS_OD_LOCALFILE“ einzutragen. Weiterhin muß der Parameter
„FMS_OD“ auf 0 gesetzt werden, um das Übertragen des Objektver-
zeichnisses über das Netzwerk zu unterbinden.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 213
Konfiguration über Dateien

8.6 Send/Receive-Protokoll

Übersicht Die Bearbeitung der Konfigurationsdatei für das Send/Receive-


Protokoll ist notwendig, wenn Sie:

• statt der vollständigen Angabe von Verbindungsparametern in je-


dem Variablennamen symbolische Verbindungsbezeichnungen
verwenden wollen
• Variablendefinitionen verändern oder Aliasnamen anlegen wollen
• die Demoverbindung konfigurieren wollen

Ablageort Der mit der Installation eingestellte Ablageort für die Konfigurations-
datei des SR-OPC-Servers ist:

<Installationspfad> \ OPC2.NT \ binSR \ SCoreSR.txt

Einführung OPC-Server für SIMATIC NET


214 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.6.1 Allgemeine Protokollkonfiguration

Allgemeine Die folgende Tabelle zeigt die Parameter zur Konfiguration der allge-
Protokoll- meinen Eigenschaften des SR-OPC-Servers.
konfiguration

Eintrag Bedeutung
Abschnitt [PROTOCOL] In diesem Abschnitt werden generelle Protokol-
leinstellungen vorgenommen.
CycleTime Dieser Wert gibt an, wie schnell die Auftrags-
warteschlange nach anstehenden Aufträgen
durchsucht wird.
Default 100 ms
(wird durch Konfigurationsprogramm eingestellt)
UseOnlyThisDevice Zugangspunkte (Devices, Geräte) an denen sich
der SR-OPC-Server anmeldet. Mehrere Zu-
gangspunkte werden durch ein Komma getrennt.
Achtung: Auch der letzte Zugangspunkt muß
mit einem Komma abgeschlossen werden.
Beispiel:
UseOnlyThisDevice=TCPIP:, CP_H1_1:,
UseDemoConn 1 Der SR-OPC-Server erzeugt eine Simulati-
onsverbindung, mit der auch ohne lauffähiges
Protokoll Variablenzugriffe simuliert werden
können.
0 Es wird keine Simulationsverbindung bereit-
gestellt.
Default 0
(wird durch Konfigurationsprogramm eingestellt)
BufferLength Segmentierung der Datenpuffer
Wertebereich 512 – 4096
Eine Änderung des voreingestellten Maximal-
werts ist nur bei gleichzeitigem Betrieb einer TF-
Datenbasis des Kommunikationsprotokolls
SIMATIC NET TF erforderlich. Der Maximalwert
ist mit dem Pufferpool der TF-Datenbasis abzu-
stimmen (Einstellung PDU-Größe im Projektie-
rungswerkzeug COML TF, siehe TF Dokumenta-
tion).
Default 4096

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 215
Konfiguration über Dateien

8.6.2 Zugangspunktspezifische Verbindungskonfiguration

Übersicht Jeder vom SR-OPC-Server verwendete Zugangspunkt hat einen Ab-


schnitt in der Textdatenbankdatei, in welchem Verbindungen zu Netz-
partnern samt symbolischem Namen vordefiniert werden können. Dies
hat den Vorteil, daß bei einer Projektierungsänderung (z.B. Wechsel
der Ethernet-Adresse beim Kommunikationspartner) nur an einer
Stelle zentral die Adresse geändert werden muß, sofern auch bei den
SR-Variablen seitens der OPC-Anwendung der symbolische Name
verwendet wurde.

Folgende Tabelle beschreibt die Konfigurationsparameter für die Zu-


gangspunkte:

Eintrag Bedeutung
Zugangspunktabschnitt Für diesen Zugangspunkt vordefinierte
[Zugangspunkt(Connections)] Verbindungen. Zur Laufzeit können über
z.B. geeignete SR-Variablennotationen weite-
[CP_H1_1:(Connections)] re Verbindungen verwendet werden.
Na- Der Abschnitt enthält eine beliebige An-
me=LocalTSAP,HostID,RemoteTSAP,ActiveFlag zahl von Verbindungsdefinitionen.
z.B.
Passiver Verbindungsaufbau, TCPIP
S5Receive=&PCPCPCPC,142.11.45.150,&RECVR
ECV,0 Aktiver Verbindungsaufbau, TCPIP, al-
S5Send=FF.FF.FF.FF, 142.11.45.150,AA.AA.AA,1 ternative TSAP
Aktiver Verbindungsaufbau, ISO
S5Fetch=&PCPCPCPC,08.00.06.01.26.70,&PCPC
PC01,1 Aktiver Verbindungsaufbau, ISO
S5Write=&PCPCPCPC,08.00.06.01.26.70,&PCPC
PC02,1 Passiver Verbindungsaufbau, ISO
S5ReceiveExp=&PCPCPCPC,08.00.06.01.26.70,&
RECVREEX,0 Aktiver Verbindungsaufbau, ISO
S5SendExp=&PCPCPCPC,08.00.06.01.26.70,&SE
NDSEEX,1 Die einzelnen Elemente der Verbin-
dungsdefinition müssen mit Kommas
separiert werden und dürfen keine Leer-
zeichen enthalten.
Name Symbolischer Verbindungsname,
Wertebereich: Länge max. 32 Zeichen,
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Un-
terstrich)
LocalTSAP Lokaler TSAP, es sind zwei Notationen
möglich:
1. Hex Notation
xx.xx.xx.xx.xx.xx.xx
maximal 8 zweistellige Hexadezimal-
werte, durch Punkte separiert.
2. Alternative String Notation
&TTTTTTTT
führendes &-Symbol, gefolgt von maxi-
mal 8 sichtbaren Zeichen. Das Komma

Einführung OPC-Server für SIMATIC NET


216 6GK1971-0BA00-0AA0
Konfiguration über Dateien

Eintrag Bedeutung
darf nicht verwendet werden.
Wenn der TSAP nicht sichtbare Zeichen
oder das Komma enthält, muß die Hex-
Notation verwendet werden.
HostID Ethernet- oder TCP/IPAdresse der Part-
nerstation:
1. Ethernet
xx.xx.xx.xx.xx.xx
genau 6 zweistellige Hexadezimal-
werte, durch Punkte separiert.
2. TCP/IP
yyy.yyy.yyy.yyy
genau 4 dreistellige Dezimalwerte
zwischen 0 und 255, durch Punkte
separiert.
RemoteTSAP TSAP der Partnerstation, Notation wie
bei LocalTSAP.
ActiveFlag 0 Passiver Verbindungsaufbau,
der Partner baut die
Verbindung auf
1 Aktiver Verbindungsaufbau, der
Partner wartet auf den
Verbindungsaufbau

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 217
Konfiguration über Dateien

8.6.3 Verbindungsspezifische Konfiguration

Übersicht Jede SR-Verbindung hat bis zu 2 Abschnitte in der Textdatenbankda-


tei. Im ersten Abschnitt werden verbindungsspezifische Parameter
konfiguriert, im zweiten Abschnitt können Aliasnamen für Variablen
definiert werden. Die Konfiguration wird beim Hochfahren des SR-
OPC-Servers ausgewertet.

Folgende Tabelle beschreibt die Konfigurationsparameter für die Ver-


bindungen:

Eintrag Bedeutung
1. Verbindungsabschnitt Verbindungsspezifische Parameter
[Verbindungsname|Adresse|Zugangspunkt] Wenn für eine Verbindung ein symbolischer Ver-
z.B. bindungsname vorhanden ist, ist dieser zu ver-
[LocalClient||TCPIP:] wenden, ansonsten die symbolische Adresse. Es
[|&TCP2,142.11.45.150,&TCP1,1|TCPIP:] dürfen nicht beide gleichzeitig verwendet wer-
den.
Conn_persistance_count SR Parameter des SR Variablenfeldes 1, siehe
SR-Dokumentation
Default 0
Conn_abort_timeout SR Parameter des SR Variablenfeldes 1, siehe
SR-Dokumentation
Default 0
Conn_negot_options SR Parameter des SR Variablenfeldes 1, siehe
SR-Dokumentation
Default 0x0000
AbortConnectionAfter 0 Der SR-OPC-Server baut eine Verbindung
niemals selbst ab (außer beim Herunterfahren
des SR-OPC-Server).
n > 0 Der SR-OPC-Server baut eine Verbin-
dung n ms nach der letzten Verwendung der
Verbindung selbständig ab.
Default 0
S5Access Steuerung der Zugriffsrechte auf Variablen für
die Betriebsarten "FETCH" und "SEND mit
WRITE-Funktion". Durch Verwendung dieses
Parameters kann verhindert werden, daß z.B.
auf einer SEND-Verbindung ein Leseauftrag
angefordert wird, was einen Verbindungsabbau
seitens des Partnergeräts zur Folge hätte.
0 S5-Variablen werden auf dieser Verbindung
nicht zugelassen
1 S5-Variablen sind nur mit Lesezugriff zuge-
lassen
2 S5-Variablen nur mit Schreibzugriff zugelas-

Einführung OPC-Server für SIMATIC NET


218 6GK1971-0BA00-0AA0
Konfiguration über Dateien

Eintrag Bedeutung
sen
Default 0
(Wenn direkter Zugriff auf S5-Variablen über
FETCH bzw. SEND mit WRITE-Funktion er-
forderlich ist, muß dieser Parameter gesetzt
werden.)
Initiate Steuerung, zu welchem Zeitpunkt eine Verbin-
dung aufgebaut wird
1 Die Verbindung wird bei Bedarf bei Zugriff auf
den Partner aktiv aufgebaut
2 Die Verbindung wird aktiv aufgebaut, sobald
die Verbindung unterbrochen ist. (z.B. bei
Programmstart)
Default 1
Timeout Fehlerwartezeit, kann innerhalb dieser Wartezeit
ein ausstehender Auftrag nicht bearbeitet wer-
den, so wird die Verbindung zurückgesetzt und
der Auftrag mit einem Fehler quittiert.
Default 15000 ms
LenSend Voreingestellte Größe des Default-Sendepuffers
Zur Laufzeit können weitere zusätzliche Sende-
puffer beliebiger Länge (max. 65535 Byte) ver-
wendet werden.
Default 256
LenSendExp Voreingestellte Größe des Default-Sendepuffers
für hochpriore Daten.
Zur Laufzeit können weitere zusätzliche Sende-
puffer beliebiger Länge (max. 16 Byte) verwen-
det werden.
Default 16

Eintrag Bedeutung
2. Verbindungsabschnitt Für diese Verbindung vordefinierte Aliasnamen.
[Verbindungsname|Adresse|Zugangs- Ein Aliasname ist ein rein textueller Ersatz für
punkt(Aliases)] einen sonst gültigen SR Variablennamen.
z.B.
Eine Schachtelung von Aliasnamen wird nicht
[LocalClient||TCPIP:(Aliases)]
unterstützt, d.h. ein Aliasname muß immer direkt
[|&TCP2, 142.11.45.150,&TCP1,1|
auf eine gültige SR Variable dieser Verbindung
TCPIP:(Aliases)]
verweisen.
Alias=SRVariable Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen.

Motor=Receive,w0
Heizleistung=Send10,dword3 Alias Motor verweist auf ein Wort im Receive-
block.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 219
Konfiguration über Dateien

Eintrag Bedeutung
Alias Heizleistung verweist auf ein Doppelwort
innerhalb eines Sendepuffers.
Alias Der Alias kann wie eine normale SR-Variable an
der OPC-Schnittstelle verwendet werden.
Wertebereich: Länge max. 32 Zeichen
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Unterstrich) &
(), ANSI > 127
SRVariable An der OPC-Schnittstelle wird ein Auftreten des
Alias durch diese SR-Variable ersetzt.

Einführung OPC-Server für SIMATIC NET


220 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.6.4 Konfiguration der Demoverbindung

Einführung Zur Demonstration, zum Test oder in der Entwicklung ist es vorteilhaft,
wenn der SR-OPC-Server auch ohne zusätzliche Hardware benutzt
werden kann. Aus diesem Grund bietet der SR-OPC-Server die Mög-
lichkeit, in einer Demo-Verbindung Variablen zu definieren und diese
simulierten SR-Variablen über die OPC-Schnittstelle zu benutzen.
Voraussetzungen Die Aktivierung der Demo-Verbindung kann über das Konfigurations-
programm oder über den Parameter „UseDemoConn“ im Abschnitt
„PROTOCOL“ der Konfigurationsdatei erfolgen.
Bezeichnung Die Demoverbindung hat immer den Namen ”DEMO”. Der Anwender
muß sicherstellen, daß keine weitere Verbindung dieses Namens in
seiner Netzprojektierung existiert.
Vorgegebene Die Demoverbindung enthält neben den immer vorhandenen SR-
Variablen Variablen:
• Receive
• Receiveexp
• Send
• Sendexp

auch die Simulation eines direkten S5-Zugriffs. Es werden die Berei-


che

• E (Eingänge, 4 Byte)
• A (Ausgänge, 4 Byte)
• P (Peripherie, 8 Byte)
• M (Merker, 256 Byte)
• DB10 (Datenbaustein Nr. 10, 256 Byte).
Simuliert.

Eintrag Bedeutung
1. Verbindungsabschnitt Verbindungsspezifische Parameter, zur Zeit wird
[DEMO] dieser Abschnitt nicht unterstützt.

Eintrag Bedeutung
2. Verbindungsabschnitt Für die Demoverbindung vordefinierte Aliasna-
[DEMO(Aliases)] men.
Alias=SRVariable Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen.

Motor=Receive,w0 Alias Motor verweist auf ein Wort im Receive-


Heizleistung=Send10,dword3 block.
Alias Heizleistung verweist auf ein Doppelwort
innerhalb eines Sendepuffers

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 221
Konfiguration über Dateien

Eintrag Bedeutung
Alias Der Alias kann wie eine normale SR-Variable an
der OPC-Schnittstelle verwendet werden.
Wertebereich: Länge max. 32 Zeichen
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Unterstrich) &
(), ANSI > 127
SRVariable An der OPC-Schnittstelle wird ein Auftreten des
Alias durch diese SRVariable ersetzt.

Einführung OPC-Server für SIMATIC NET


222 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.7 Send/Receive-Protokoll für PROFIBUS (FDL)

Übersicht Die Bearbeitung der Konfigurationsdatei für das Send/Receive-


Protokoll unter PROFIBUS (FDL) ist notwendig, wenn Sie:

• statt der vollständigen Angabe von Verbindungsparametern in je-


dem Variablennamen symbolische Verbindungsbezeichnungen
verwenden wollen
• Variablendefinitionen verändern oder Aliasnamen anlegen wollen
• die Demoverbindung konfigurieren wollen

Ablageort Der mit der Installation eingestellte Ablageort für die Konfigurations-
datei des FDL-OPC-Servers ist:

<Installationspfad> \ OPC2.NT \ binFDL \ SCoreFDL.txt

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 223
Konfiguration über Dateien

8.7.1 Allgemeine Protokollkonfiguration

Allgemeine Die folgende Tabelle zeigt die Parameter zur Konfiguration der allge-
Protokoll- meinen Eigenschaften des FDL-OPC-Servers.
konfiguration

Eintrag Bedeutung
Abschnitt [PROTOCOL] In diesem Abschnitt werden generelle Protokoll-
einstellungen vorgenommen.
CycleTime Default 100 ms.
Dieser Wert gibt an, wie schnell die Auftrags-
warteschlange nach anstehenden Aufträgen
durchsucht wird.
UseOnlyThisDevice Zugangspunkte (Devices, Geräte) an denen sich
der FDL-Core anmeldet. Mehrere Zugangs-
punkte werden durch ein Komma getrennt. Ach-
tung! Auch der letzte Zugangspunkt muss mit
einem Komma abgeschlossen werden!
Beispiel:
UseOnlyThisVFD=CP_L2_1:,CP_L2_2:,
UseDemoConn 0 Default.
Es wird keine Simulationsverbindung bereit-
gestellt.
1 Der FDL-Core erzeugt eine Simulationsver-
bindung, mit der auch ohne lauffähigem Pro-
tokoll Itemzugriffe simuliert werden können.

AutoDefineConnection 0 Default
1 Der FDL-Core Server ermittelt beim Hochlauf
alle angeschlossenen Verbindungspartner und
erzeugt dafür jeweils eine Verbindung über
die Default SAPs. Da diese Verbindungen in
der Textdatenbank eingetragen werden, setzt
der Core-Server dieses Flag nach einmaliger
Verwendung grundsätzlich wieder auf 0 zu-
rück.

Einführung OPC-Server für SIMATIC NET


224 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.7.2 Zugangspunktspezifische Verbindungskonfiguration

Übersicht Jeder FDL Zugangspunkt hat einen weiteren Abschnitt in der Textda-
tenbankdatei, in welchem Verbindungen zu Netzpartnern samt symbo-
lischem Namen vordefiniert werden können. Dies hat den Vorteil, dass
bei einer Projektierungsänderung (z.B. Wechsel der PROFIBUS-
Stationsadresse beim Kommunikationspartner) nur an einer Stelle
zentral die Adresse geändert werden muss, wenn auch bei den FDL-
Items seitens der OPC-Anwendung der symbolische Name verwendet
wird.

Folgende Tabelle beschreibt die Konfigurationsparameter für die Ver-


bindungen:

Eintrag Bedeutung
Zugangspunktabschnitt Für diesen Zugangspunkt vordefinierte Verbin-
[Zugangspunkt(Connections)] dungen. Zur Laufzeit können über geeignete
z.B. FDL-Itemnotationen weitere Verbindungen an-
[CP_L2_1:(Connections)] gelegt werden.
Name=LocalSAP,STATION,RemoteSAP Der Abschnitt enthält eine beliebige Anzahl von
z.B. Verbindungsdefinitionen
PLC1=15,11,14
STATION_10=255,10,255
Die einzelnen Elemente der Verbindungsdefiniti-
on müssen mit Kommas separiert werden und
dürfen keine Leerzeichen enthalten.
Name Symbolischer Verbindungsname
Wertebereich: Länge max. 32 Zeichen. Erlaubte
Zeichen: a-z A-Z 0-9 $ _ (Unterstrich)
LocalSAP Lokaler SAP
Wertebereich: 0-63, 255
STATION Profibus Stationsadresse
RemoteSAP SAP der Partnerstation
Wertebereich: 0-126,127

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 225
Konfiguration über Dateien

8.7.3 Verbindungsspezifische Konfiguration

Übersicht Jede FDL-Verbindung hat bis zu 2 Abschnitte in der Textdatenbank-


datei. Im ersten Abschnitt werden verbindungsspezifische Parameter
konfiguriert, im zweiten Abschnitt können Aliasnamen für FDL-Items
definiert werden. Die Konfiguration wird beim Hochfahren des FDL-
Core ausgewertet.

Folgende Tabelle beschreibt die Konfigurationsparameter für die Ver-


bindungen:

Eintrag Bedeutung
1. Verbindungsabschnitt Verbindungsspezifische Parameter
[Verbindungsname|Adresse|Zugangspunkt]
Wenn für eine Verbindung ein symbolischer Ver-
z.B.
bindungsname vorhanden ist, ist dieser zu ver-
[PLC1|CP_L2_1:]
wenden, ansonsten die symbolische Adresse. Es
[|255,10,255|CP_L2_1:]
dürfen nicht beide gleichzeitig verwendet wer-
den.
Timeout Default 15000 ms
Fehlerwartezeit, kann innerhalb dieser Wartezeit
ein ausstehender Auftrag nicht bearbeitet wer-
den, so wird die Verbindung zurückgesetzt und
der Auftrag mit einem Fehler quittiert.
MaxSendCredits Default 3
Maximale Anzahl paralleler Sendeaufträge auf
dieser Verbindung
MaxRetryNoRessources Default 5
Maximale Anzahl von Sendewiederholungen,
falls der Partner temporär aus Ressourcenman-
gel nicht empfangsbereit ist
Conn_negot_options Default 0x0000
FDL Parameter des FDL Variablenfeldes 1, siehe
FDL-Dokumentation
LenSendSDA Default 244 oder 246 (bei Default SAPs)
Voreingestellte Größe des Default-Sendepuffers
für quittiertes Senden.
Zur Laufzeit können weitere zusätzliche Sende-
puffer beliebiger Länge (max 244 bzw. 246 Byte)
verwendet werden
LenSendSDN Default 244 oder 246 (bei Default SAPs)
Voreingestellte Größe des Default-Sendepuffers
für nicht quittiertes Senden.
Zur Laufzeit können weitere zusätzliche Sende-
puffer beliebiger Länge (max 244 bzw. 246 Byte)

Einführung OPC-Server für SIMATIC NET


226 6GK1971-0BA00-0AA0
Konfiguration über Dateien

verwendet werden

Eintrag Bedeutung
2. Verbindungsabschnitt Wenn für eine Verbindung ein symbolischer Ver-
[Verbindungsname|Adresse|Zugangspunkt bindungsname vorhanden ist, ist dieser zu ver-
(Aliases)] wenden, ansonsten die symbolische Adresse. Es
z.B. dürfen nicht beide gleichzeitig verwendet wer-
[PLC1|CP_L2_1:] den.
[|255,10,255|CP_L2_1:]
Für diese Verbindung vordefinierte Aliasnamen.
Ein Aliasnamen ist ein rein textueller Ersatz für
ein sonst gültiges FDL-Item
Eine Schachtelung von Aliasnamen wird nicht
unterstützt, d.h. ein Aliasname muss immer di-
rekt auf ein gültiges FDL-Item dieser Verbindung
verweisen.
Alias=FDLItem Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen

Motor=Receive,w0 Alias Motor verweist auf ein Wort im Receive-


block.
Heizleistung=Send10,dword3
Alias Heizleistung verweist auf ein Doppelwort
innerhalb eines Sendepuffers.
Alias Der Alias kann wie ein normales FDL-Item an der
IVar-Schnittstelle verwendet werden.
Wertebereich: Länge max. 32 Zeichen
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Unterstrich) &
(), ANSI > 127
FDLItem An der Ivar-Schnittstelle wird ein Auftreten des
Alias durch dieses FDL-Item ersetzt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 227
Konfiguration über Dateien

8.7.4 Konfiguration der FDL-Demoverbindung

Übersicht Zur Demonstration, zum Test oder in der Entwicklung ist es vorteilhaft,
wenn der FDL-OPC-Server auch ohne zusätzliche Hardware benutzt
werden kann. Aus diesem Grund bietet der FDL-OPC-Server die Mög-
lichkeit, in einer Demo-Verbindung Variablen zu definieren und diese
simulierten FDL-Variablen über die OPC-Schnittstelle zu benutzen.

Voraussetzungen Die Demoverbindung wird aktiviert, wenn der Parameter


”UseDemoConn” im Abschnitt ”[PROTOCOL]” auf 1 gesetzt wurde.

Bezeichnung Die Demoverbindung hat immer den Namen ”DEMO”. Der Anwender
muss sicherstellen, dass keine weitere Verbindung dieses Namens in
seiner Netzprojektierung exisitiert.

Eintrag Bedeutung
1. Verbindungsabschnitt Verbindungsspezifische Parameter, zur Zeit wird
[DEMO] dieser Abschnitt nicht unterstützt.

Eintrag Bedeutung
2. Verbindungsabschnitt Für die Demoverbindung vordefinierte Aliasna-
[DEMO(Aliases)] men.
Alias=FDLItem Der Abschnitt enthält eine beliebige Anzahl von
z.B. Aliasdefinitionen, siehe oben.

Motor=Receive,w0 Alias Motor verweist auf ein Wort im Receiv-


block.
Heizleistung=Send10,dword3
Alias Heizleistung verweist auf ein Doppelwort
innerhalb eines Sendepuffers.

Die Demoverbindung enthält folgende immer vorhandene FDL-Variablen:

• Receive
• Send

Einführung OPC-Server für SIMATIC NET


228 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.7.5 Dynamische Verbindungen

Verwalten von Der FDL-Core kann zur Laufzeit neue Verbindungen anlegen und ver-
Verbindungen walten, indem über die IVar-Schnittstelle eine FDL-Variable mit einer
geeigneten Verbindungsdefinition über symbolische Adresse verwen-
det wird, z.B.:

FDL:[|255,33,255|CP_L2_1:]receive

Die Notation der symbolischen Verbindungsadresse wurde weiter oben


beschrieben.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 229
Konfiguration über Dateien

8.8 DPS-Protokoll

Übersicht Die Bearbeitung der Konfigurationsdatei für das DPS-Protokoll unter


PROFIBUS (DPS) ist notwendig, wenn Sie:

• statt der vollständigen Angabe von Verbindungsparametern in je-


dem Variablennamen symbolische Verbindungsbezeichnungen
verwenden wollen
• Variablendefinitionen verändern oder Aliasnamen anlegen wollen
• die Demoverbindung konfigurieren wollen

Ablageort Der mit der Installation eingestellte Ablageort für die Konfigurations-
datei des DPS-OPC-Servers ist:

<Installationspfad> \ OPC2.NT \ binDSP \ SCoreDPS.txt

Einführung OPC-Server für SIMATIC NET


230 6GK1971-0BA00-0AA0
Konfiguration über Dateien

8.8.1 Allgemeine Protokollkonfiguration

Allgemeine Die folgende Tabelle zeigt die Parameter zur Konfiguration der allge-
Protokoll- meinen Eigenschaften des DPS-OPC-Servers.
konfiguration

Eintrag Bedeutung
Abschnitt [PROTOCOL] In diesem Abschnitt werden generelle Protokol-
leinstellungen vorgenommen.
CycleTime Default 20 ms
Dieser Wert gibt an, wie schnell die Auftrags-
warteschlange nach anstehenden Aufträgen
durchsucht wird.
UseOnlyThisBoard Default DPSONLINE,
Board, an das sich der DPS-Core anmeldet.
UseDemoBoard 0 Default
Es wird keine Simulationsverbindung bereit-
gestellt.
1 Der DPS-Core erzeugt eine Simulationsver-
bindung, mit der auch ohne lauffähigem Pro-
tokoll Slavezugriffe simuliert werden können.
Die in der Demo-Verbindung zur Verfügung
stehenden Slaves können projektiert werden.
CSWatchThread 0 Default.
Debug-Überwachung ausgeschaltet.
Für Debuggingzwecke, sollte dem Anwender
nicht dokumentiert werden.
1 Der DPS-Core erzeugt zyklisch im Windows-
NT Stammverzeichnis die Dateien
WatchCS.ini und WatchCS2.ini, in denen In-
formationen über die wichtigsten internen Cri-
tical Sections abgelegt werden.
ClearAlarms Default 60000ms
Zeit nachdem ein Wartender Protokollalarm aus
der internen Warteschlange entfernt wird, wenn
dieser nicht an einen IAlarm-Client weitergege-
ben werden kann
Zur Zeit werden Alarme noch nicht unterstützt,
daher sollte dieser Parameter dem Anwender
nicht dokumentiert werden.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 231
Konfiguration über Dateien

8.8.2 Verbindungsspezifische Konfiguration

Übersicht Jede DPS-Verbindung hat bis zu 2 Abschnitte in der Konfigurations-


datei. Im ersten Abschnitt werden verbindungsspezifische Parameter
konfiguriert, im zweiten Abschnitt können Aliasnamen für Items defi-
niert werden. Die Konfiguration wird beim Hochfahren des DPS-Core
ausgewertet, zur Zeit unterstützt Softnet DP-Slave nur den gleichzeiti-
gen Betrieb eines einzigen Slaves.

Der Anwender muß in der Regel fast alle boardspezifischen Konfigura-


tionen ändern, da diese das Verhalten seines Slaves wesentlich be-
stimmen.

Folgende Tabelle enthält die Konfigurationsparameter für das Board:

Eintrag Bedeutung
1. Boardabschnitt Für dieses Board voreingestellte Anmeldepara-
[Boardname] meter
z.B.
[CP_L2_1:]
GSD Genormte Profibus GSD-Datei, die den Slave
bestimmt. Der Core Server DPS entnimmt hier-
aus jedoch nur die Informationen PNO_Ident und
die erste Modulbeschreibung
StationAddr Profibus Stationsadresse für den Slave
Baudrate Verwendete Baudrate, folgende Werte sind mög-
lich:
Baudrate=BD_9K6
Baudrate=BD_19K2
Baudrate=BD_93K75
Baudrate=BD_187K5
Baudrate=BD_500K
Baudrate=BD_1M5
Baudrate=BD_3M
Baudrate=BD_6M
Baudrate=BD_12M
Baudrate=BD_45K45
AutoOnline 1 Default Der Core-Server schaltet den Slave
beim Hochfahren Online.
0 Der Core-Server schaltet den Slave beim
Hochfahren nicht Online, der Slave ist dann
nur betriebsbereit, wenn das Item
&devicestate() beschrieben wird.

Einführung OPC-Server für SIMATIC NET


232 6GK1971-0BA00-0AA0
Konfiguration über Dateien

Eintrag Bedeutung
2. Boardabschnitt Für dieses Board vordefinierte Aliasnamen. Ein
[Boardname(Aliases)] Aliasnamen ist ein rein textueller Ersatz für einen
sonst gültiges DPS-Item
z.B.
Eine Schachtelung von Aliasnamen wird nicht
[DPSONLINE(Aliases)]
unterstützt, d.h. ein Aliasname muss immer di-
rekt auf ein gültiges DPS-Item des Boards ver-
weisen.
Alias=DPSItem Der Abschnitt enthält eine beliebige Anzahl von
Aliasdefinitionen

z.B.
Motor=SlaveM2EX0.3 Alias Motor Eingangsbit eines Slaves
Heizleistung=SlaveAW3 Alias Heizleistung verweist auf ein Ausgangswort
eines Slaves
Alias Der Alias kann wie eine normales DPS-Item an
der IVar-Schnittstelle verwendet werden.
Wertebereich: Länge max. 32 Zeichen
Erlaubte Zeichen: a-z A-Z 0-9 $ _ (Unterstrich) .
(Punkt) & (), ANSI > 127
DPSItem An der IVar-Schnittstelle wird ein Auftreten des
Alias durch dieses DPS-Item ersetzt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 233
Konfiguration über Dateien

8.8.3 Konfiguration der DPS-Demoverbindung

Einführung Zur Demonstration, zum Test oder in der Entwicklung ist es vorteilhaft,
wenn der DPS-OPC-Server auch ohne zusätzliche Hardware benutzt
werden kann. Aus diesem Grund bietet der DPS-OPC-Server die Mög-
lichkeit, in einer Demo-Verbindung Variablen zu definieren und diese
simulierten DPS-Variablen über die OPC-Schnittstelle zu benutzen.

Voraussetzungen Das Demoboard wird aktiviert, wenn der Parameter ”UseDemoBoard”


im Abschnitt ”[PROTOCOL]” auf 1 gesetzt wird.

Bezeichnung Das Demoboard hat immer den Namen ”DEMO”.

Beispielslaves Aufgrund der komplizierten Struktur der Slave-Konfigurierdaten sollte


dieser Abschnitt dem Anwender nicht offengelegt werden, sondern
eine Textdatenbank mit einigen sinnvollen Beispielslaves bereitgestellt
werden.

Eintrag Bedeutung
1. Demoboardabschnitt Verbindungsspezifische Parameter, zur Zeit wird
[DEMO] dieser Abschnitt nicht unterstützt.
GSD Genormte Profibus GSD-Datei, die den Slave
bestimmt. Der Core Server DPS entnimmt hier-
aus jedoch nur die erste Modulbeschreibung

Eintrag Bedeutung
3. Demoboardabschnitt Für das Demoboard vordefinierte Aliasnamen.
[DEMO(Aliases)] Ein Aliasnamen ist ein rein textueller Ersatz für
ein sonst gültiges DPS-Item.
Eine Schachtelung von Aliasnamen wird nicht
unterstützt, d.h. ein Aliasname muss immer di-
rekt auf eine gültiges DPS-Item des Demoboards
verweisen.
Alias=DPSItem Der Abschnitt enthält eine beliebige Anzahl von
Aliasdefinitionen, siehe oben.
z.B.
Motor=SlaveM2EX0.3 Alias „Motor“ verweist auf ein Eingangsbit eines
Slaves.
Heizleistung=SlaveAW3 Alias „Heizleistung“ verweist auf ein Ausgangs-
wort eines Slaves.

Einführung OPC-Server für SIMATIC NET


234 6GK1971-0BA00-0AA0
DCOM mit dem OPC-Server für SIMATIC NET

9 DCOM mit dem OPC-Server für SIMATIC NET

Mit Windows NT ab Version 4.0 hat ein Client die Möglichkeit, COM-Objekte auf einem
anderen Rechner ablaufen zu lassen. Diese Eigenschaft, die COM-Objekte einer
Applikation auf mehrere Rechner zu verteilen, wird DCOM (Distributed COM) genannt.
Dieses Kapitel erläutert, wie der OPC-Server für SIMATIC NET für den Betrieb mit
DCOM eingerichtet werden kann.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 235
DCOM mit dem OPC-Server für SIMATIC NET

9.1 Einführung in DCOM

Was ist DCOM? COM-Objekte wie der OPC-Server müssen nicht zwangsläufig auf
dem Rechner laufen, auf dem der Client liegt. Mit der Hilfe von DCOM
(Distributed COM) kann ein Client sowohl auf dem eigenen System als
auch auf anderen Rechnern COM-Objekte erstellen und verwenden.
Auf diese Weise ist es möglich, die Komponenten einer Anwendung
innerhalb eines Netzwerks zu verteilen.

COM-Bibilothek Ein Client wendet sich nicht direkt an ein Objekt, um es zu starten oder
zu benutzen, sondern an die COM-Bibliothek. Sie ist Teil des Betriebs-
systems. Die COM-Bibliothek verwaltet in der Systemregistrierung
Informationen über die im System bekannten COM-Objekte.

Die folgende Abbildung zeigt, wie ein COM-Objekt auf der lokalen
Maschine bzw. auf einem anderen Rechner benutzt wird.

OPC-Client OPC-Server

COM-Bibliothek

Rechner A

OPC-Client
OPC-Client OPC-Server

COM- COM-
Bibliothek Bibliothek

Rechner A Netzwerk Rechner B

Einführung OPC-Server für SIMATIC NET


236 6GK1971-0BA00-0AA0
DCOM mit dem OPC-Server für SIMATIC NET

Transparenz Für den Client ist die Benutzung eines COM-Objekts über DCOM oder
über die lokalen COM-Mechanismen transparent. Die betriebssystem-
interne COM-Bibliothek verwaltet das Objekt und erkennt anhand der
Objekt-Konfiguration wo das Objekt erzeugt werden soll.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 237
DCOM mit dem OPC-Server für SIMATIC NET

9.2 Konfiguration von DCOM-Betrieb

Programm Damit ein Client ein COM-Objekt auf einem anderen Rechner benut-
„dcomcnfg“ zen kann, müssen die Eigenschaften des COM-Objekts auf dem Cli-
ent-Rechner und auf dem Remote-Rechner konfiguriert werden.
Die Konfiguration von DCOM und den auf dem Rechner benötigten
COM-Objekten erfolgt mit dem Systemprogramm dcomcnfg aus dem
Verzeichnis "Windows\System32". Nach dem Start des Programms
z.B. durch Eingabe von "dcomcnfg" im Dialog "Ausführen" (über
Startmenü) stehen drei Register zur Konfiguration von DCOM zur
Verfügung:

☞ Beachten Sie:
Wenn Sie die Sicherheitseinstellungen herabsetzen, ist immer ein
Neustart des Systems zur Aktivierung der Einstellungen erforderlich.
Achtung:
Die in dieser Beschreibung angegebenen Einstellungen garantie-
ren eine einfache Inbetriebnahme des DCOM-Protokolls. Es wer-
den jedoch dafür teilweise die Sicherheitseinstellungen von Win-
dows NT herabgesetzt. Um strengeren Sicherheitsanforderungen
zu genügen, müssen Sie die entsprechenden Einstellungen ge-
mäß der DCOM-Richtlinien heraufsetzen.

Dieser Text beschreibt den Fall, dass sich genau ein Client mit einem
OPC-Server verbindet, der auf einem anderen Rechner läuft. Falls Sie
von einem Client aus mehrere OPC-Server verwenden wollen, infor-
mieren Sie sich bitte in der weiterführenden Literatur zu DCOM.

Einführung OPC-Server für SIMATIC NET


238 6GK1971-0BA00-0AA0
DCOM mit dem OPC-Server für SIMATIC NET

Standard- Im Register "Standardeigenschaften" werden grundlegende Eigen-


Eigenschaften schaften von DCOM festgelegt. Für den DCOM-Betrieb mit dem OPC-
Server innerhalb einer Workgroup (kein Domänenserver zur Authenti-
fizierung verfügbar) sind die Einstellungen wie abgebildet vorzuneh-
men.
Falls ein Domänenserver für die Authentifizierung genutzt werden
kann, kann aus Gründen der Sicherheit die Standard-
Authentifizierungsebene auf „Verbinden“ und die Standard-
Identitätswechselebene auf „Identifizieren“ gesetzt werden. Zur Inbe-
triebnahme werden jedoch auch für diese Betriebsart die unten ange-
gebenen Einstellungen empfohlen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 239
DCOM mit dem OPC-Server für SIMATIC NET

Standardsicherheit Im Register "Standardsicherheit" können die Rechte für den DCOM-


Betrieb festgelegt werden. Mit Hilfe dieser Einstellungen kann ge-
währleistet werden, daß nur solche Clients den Server benutzen, die
dazu auch die Berechtigung haben.
Folgende Standard-Berechtigungen sind im Zusammenhang mit
DCOM relevant:
• Zugriffsberechtigungen
• Startberechtigungen
• Konfigurationsberechtigungen
Diese Berechtigungen können auch individuell für jedes Objekt einge-
stellt werden, die Standard-Eigenschaften werden dann ignoriert.
Zugriffs- Der Standard für die Zugriffsberechtigungen gibt für alle COM-Objekte
berechtigungen an, welche Konten das Recht zum Zugriff auf das Objekt, d.h. Aufruf
der Methoden haben bzw. welchen Konten explizit der Zugriff verwei-
gert wird.
Startberechtigung Der Standard für die Zugriffsberechtigungen gibt für alle COM-Objekte
an, welchen Konten das Recht zur Erzeugung des Objekts gewährt
bzw. welchen Konten explizit die Erzeugung verweigert wird.
Konfigurations- Die Standardeinstellungen für die Konfiguration legen fest, welche
berechtigungen Konten die in der Registrierdatenbank abgelegten Informationen über
COM-Objekte ändern, d.h. auch neue Objekte auf dem Rechner instal-
lieren können.
Anwendungen Im Register "Anwendungen" werden alle auf dem Rechner verfügbaren
COM-Objekte angezeigt. Hier wählen Sie ein COM-Objekt zur Konfigu-
ration der individuellen Eigenschaften aus und öffnen den Konfigurati-
onsdialog durch Betätigung der Schaltfläche "Eigenschaften".
Der OPC-Server für SIMATIC NET hat die Bezeichnung
"OPC.SimaticNET".

Einführung OPC-Server für SIMATIC NET


240 6GK1971-0BA00-0AA0
DCOM mit dem OPC-Server für SIMATIC NET

Objekt
„OPC-Server für
SIMATIC NET“
auswählen

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 241
DCOM mit dem OPC-Server für SIMATIC NET

9.2.1 Konfiguration des Server-Rechners

Unterschiedliche Die DCOM-Konfiguration für den Rechner mit dem OPC-Client und
Konfiguration dem Rechner mit dem OPC-Server ist unterschiedlich:

• Für den Rechner mit dem OPC-Client muß eingestellt werden, auf
welchem Rechner im Netz der Server aktiviert werden soll und un-
ter welchem Konto der Server laufen soll.

• Für den Rechner mit dem OPC-Server muß eingestellt werden,


welche Kontos die Rechte zur Benutzung des Servers haben. Zu-
sätzlich zu den besonderen Rechten im Zusammenhang mit OPC
muß das Konto des Benutzers des OPC-Servers auch User-Rechte
erhalten.

Register
„Standort“

Das Register „Standort“ dient zur Angabe des Rechners, auf dem der
Server gestartet wird. Da in diesem Abschnitt die Konfiguration des
Rechners mit dem OPC-Server beschrieben wird, muß hier angegeben
werden „Anwendung auf diesem Computer ausführen“.

Einführung OPC-Server für SIMATIC NET


242 6GK1971-0BA00-0AA0
DCOM mit dem OPC-Server für SIMATIC NET

Register „Identität“

Die Einstellungen im Register „Identität“ legen fest, auf welches Konto


zur Überprüfung der Rechte des Benutzers des Objekts zurückgegrif-
fen wird. Hier sind verschiedene Einstellungen möglich:
• Interaktiver Benutzer
• Benutzer, der die Anwendung startet
• Dieser Benutzer
„Interaktiver Es wird das Konto desjenigen benutzt, der gerade an dem Rechner
Benutzer“ angemeldet ist. Falls jedoch kein Benutzer den Computer verwendet,
gibt es keinen interaktiven Benutzer und das COM-Objekt kann nicht
angelegt werden. Verwenden Sie bei Server-Betrieb die Einstellung
„Dieser Benutzer“. „Interaktiver Benutzer“ ist für den OPC-Server von
SIMATIC NET als Standard voreingestellt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 243
DCOM mit dem OPC-Server für SIMATIC NET

„Benutzer, der die Es wird das Konto des Benutzers verwendet, der den OPC-Client ge-
Anwendung startet hat. Dieser Benutzer muß dann auch die benötigten Rechte
startet“ haben, d.h. im Register „Sicherheit“ entsprechend eingetragen sein. Er
muß weiterhin auf dem Rechner die standardmäßig in der Gruppe der
Benutzer eingetragenen Rechte haben, d.h. zur Gruppe der Benutzer
gehören. Diese Betriebsart darf mit dem OPC-Server für SIMATIC
NET nicht verwendet werden, da der OPC-Server nicht mehrmals
(von verschiedenen Anwendern) gestartet werden kann.

„Dieser Benutzer“ Es wird das Konto eines vorgegebenen Benutzers verwendet. Dieser
Benutzer muß die benötigten Rechte haben, d.h. im Register „Sicher-
heit“ entsprechend eingetragen sein. Er muß weiterhin auf dem Rech-
ner die standardmäßig in der Gruppe der Benutzer eingetragenen
Rechte haben, d.h. zur Gruppe der Benutzer gehören. Diese Einstel-
lung ist für den Serverbetrieb des OPC-Servers für SIMATIC NET
(kein Anwender angemeldet) zu verwenden.

Register Im Register "Sicherheit" werden die Zugriffsberechtigungen für den


„Sicherheit“ OPC-Server festgelegt. Für die drei relevanten Aspekte im Zusam-
menhang mit COM-Objekten können jeweils die Standard-
Berechtigungen oder benutzerdefinierte Berechtigungen für das aus-
gewählte COM-Objekt benutzt werden.
Dem im Register "Identität" eingetragenen Konto muß bei Benutzung
der Standard-Berechtigungen in den Einstellungen für die Standard-
Sicherheit die notwendigen Rechte (Standard-Zugriffsberechtigung,
Standard- Startberechtigung) zugesichert werden.
Sollen einem Benutzer aus Gründen der Sicherheit nicht alle COM-
Objekte des Systems zur Verfügung stehen, so müssen die benutzer-
definierten Berechtigungen konfiguriert werden. Für den Betrieb des
OPC-Servers muß nur die Zugriffsberechtigung und die Startberechti-
gung konfiguriert werden.

Einführung OPC-Server für SIMATIC NET


244 6GK1971-0BA00-0AA0
DCOM mit dem OPC-Server für SIMATIC NET

Auswahl der In den Standard-Zugriffsberechtigungen müssen die Benutzer einge-


Benutzer tragen sein, die den OPC-Server benutzen dürfen. Für die benötigten
Berechtigungen wurden beispielhaft einige Benutzer eingetragen:

Workgroup-Betrieb Beachten Sie:

☞ Sowohl auf der Server- als auch auf der Client-Maschine müssen die
Logins und damit die Rechteinformationen des Logins auf der jeweils
anderen Maschine vorhanden sein.
Beispiel: Auf dem Rechner mit dem Server ist User „Alpha“ eingelog-
ged, auf dem Rechner mit dem Client User „Beta“. Für den DCOM-
Betrieb ist es nun erforderlich, daß auf dem Server-Rechner ein Konto
„Beta“ (mit gleichem Paßwort wie auf der Client-Maschine) und auf
dem Client-Rechner ein Konto „Alpha“ (gleiches Paßwort) angelegt
werden.
Bei Betrieb in einer Domäne empfiehlt sich die Verwendung einer
Gruppe mit Logins. Die Rechteinformationen werden dann vom Do-
mänenserver geholt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 245
DCOM mit dem OPC-Server für SIMATIC NET

Zugriffsart:
Zulassen Zugreifen

Zugriffsart:
Zulassen Starten

Einführung OPC-Server für SIMATIC NET


246 6GK1971-0BA00-0AA0
DCOM mit dem OPC-Server für SIMATIC NET

Zugriff auf
Registry:
HKEY_CLASSES_
ROOT

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 247
DCOM mit dem OPC-Server für SIMATIC NET

9.2.2 Konfiguration des Client-Rechners

Auf dem Client-Rechner läuft die Applikation, die einen OPC-Server


benutzen will. Der OPC-Server selbst wird bei Verwendung von DCOM
auf einem anderen Rechner gestartet, deshalb ist auch im Windows
NT Task-Manager kein Prozeß für den OPC-Server sichtbar. Trotzdem
ist eine Registrierung des OPC-Servers auf dem Client-Rechner not-
wendig, damit die COM-Bibilothek das gewünschte Objekt kennt und
eine Konfiguration möglich ist. Beachten Sie die Hinweise zur Client-
Installation in der Installationsanleitung.

Für den Rechner mit dem OPC-Client muß eingestellt werden, auf
welchem Rechner im Netz der Server aktiviert werden soll und unter
welchem Konto der Server laufen soll.

Register In diesem Register muß der Standort des Servers spezifiziert werden.
„Standort“ Es darf für den DCOM-Betrieb nur das Kontrollkästchen „Anwendung
auf dem folgenden Computer ausführen:“ ausgewählt werden. Wählen
Sie mittels „Durchsuchen“ den Server-Rechner aus.

Einführung OPC-Server für SIMATIC NET


248 6GK1971-0BA00-0AA0
DCOM mit dem OPC-Server für SIMATIC NET

Register „Identität“ Im Register Identität legen Sie für den Client-Rechner fest, welches
Benutzerkonto verwendet werden soll. Für den Client-Rechner ist das
Konto des momentan interaktiven Benutzers, d.h. des Benutzers, der
angemeldet ist, sinnvoll.

Register Die Einstellungen für die Sicherheit sollten so gewählt werden, wie sie
„Sicherheit“ im Server-Rechner konfiguriert sind.
Beachten Sie:
DCOM verwendet immer die sichereren Einstellungen. Falls z.B. auf
☞ Client Seite „Verbinden“ und „Anonym“ und auf Server-Seite „kein“ und
„Identifizieren“ eingestellt sind, wird für das DCOM-Protokoll die Kom-
bination „Verbinden“ und „Identifizieren“ verwendet.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 249
Die OPC-Custom-Schnittstelle für DataAccess

Einführung OPC-Server für SIMATIC NET


250 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

10 Die OPC-Custom-Schnittstelle für DataAccess

In diesem Kapitel wird gezeigt, wie die OPC-Custom-Schnittstelle für Data Access
benutzt wird. Weiterhin listet es die Schnittstellen und Methoden der OPC-Custom-
Schnittstelle auf. Es ist keine ausführliche Schnittstellenbeschreibung, sondern führt
SIMATIC-NET-spezifische Ergänzungen und Bemerkungen auf.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 251
Die OPC-Custom-Schnittstelle für DataAccess

10.1 Versionen der OPC-Schnittstelle

Einleitung Von der OPC Custom Schnittstelle liegt mittlerweile eine erweiterte
Version, die Spezifikation 2.0 vor. Die Version 2.0 ergänzt die beste-
hende OPC Custom Schnittstelle um einige Punkte, welche vor allen
Dingen die Behandlung asynchroner Aufrufe vereinfachen.

Die Schnittstellen der Version 1.0 der OPC-Schnittstelle sind vollstän-


dig abwärtskompatibel in der Version 2.0 enthalten.

Der OPC-Server für SIMATIC NET unterstützt die Version 2.0 der
OPC Custom Schnittstelle.

Einführung OPC-Server für SIMATIC NET


252 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

10.2 Erzeugung und Benutzung eines OLE Objekts in C/C++

Einleitung In den folgenden Abschnitten wird schrittweise demonstriert, wie die


Methoden einer Instanz einer OLE-Klasse in C++ aufgerufen werden
können. Beachten Sie den Unterschied zwischen dem Klassenbegriff
von OLE und dem Klassenbegriff in C++.

OLE-Klassen, Ein Windows-Objekt ist eine Instanz einer OLE-Klasse. Der Begriff
C++-Klassen einer OLE-Klasse unterscheidet sich von dem der Klasse in C++. Eine
Klasse in C++ ist eine Typ-Definition. Eine OLE-Klasse ist jedoch eine
Objektbeschreibung und enthält keine Typen.

Klassen- Jede OLE-Klasse kann durch einen 128 Bit langen Identifikationscode,
Identifikationscode die CLSID, eindeutig identifiziert werden. Sie dient dem Betriebssy-
stem zur eindeutigen Zuordnung einer DLL oder EXE-Datei, die diese
Klasse implementiert. Ein Client, der ein Objekt einer Klasse benutzen
will, benötigt nur die CLSID.

ProgID Zur vereinfachten Identifikation von OPC-Servern ist den CLSIDs übli-
cherweise ein lesbarer Name, die ProgID zugeordnet. Während eine
CLSID jedoch aufgrund des Algorithmus zur Generierung stets eindeu-
tig ist, ist es denkbar, daß eine ProgID mehrdeutig sein kann. Ebenso
wie die CLSID ist die ProgID durch den Hersteller eines OPC-Servers
festgelegt.

Für OPC-Server von SIMATIC NET gilt für alle Protokolle:

OPC.SimaticNET

Vorgehensweise Ein COM-Objekt wird in fünf Schritten erzeugt.

Schritt Beschreibung
1 COM initialisieren
2 Erfragen des CLSID
3 Erzeugen eines Objekts
4 Aufruf einer OPC-Funktion
5 Freigeben der benutzten Schnittstellen

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 253
Die OPC-Custom-Schnittstelle für DataAccess

Schritt 1: Bevor die Funktionen von COM genutzt werden können, muß die
COM initialisieren COM-Bibliothek initialisiert werden. Dies geschieht durch den Aufruf:

#include "opc.h"
HRESULT r1;
r1 = CoInitialize(NULL);

Schritt 2: Wenn der Namen eines Objektes bekannt ist, kann über die OLE-
Erfragen des Funktion „CLSIDFromProgID“ die CLSID ermittelt werden.
CLSID
Beispiel
Der folgende Codeabschnitt zeigt, wie die CLSID für den OPC-Server
für SIMATIC NET ermittelt werden kann:

CLSID clsid;

// Get the CLSID from the Name


r1 = CLSIDFromProgID((L"OPC.SimaticNET"),&clsid);

Schritt 3: Will ein Client ein Objekt benutzen, übergibt er die CLSID an das Be-
Erzeugen eines triebssystem und fordert eine Objektinstanz an. Unabhängig davon, wo
Objekts der Server liegt, wird die Objektanforderung stets an COM gerichtet.
Die Funktion „CoCreateInstance“ erzeugt ein Objekt der gewünschten
Klasse. Diese Funktion kapselt im übrigen einige Zwischenschritte
über die Schnittstelle „IClassFactory“. Die Objekterzeugung über
IClassFactory ist effizienter, wenn mehrere Objekte einer Klasse er-
zeugt werden sollen.

Beispiel
Die folgenden Zeilen zeigen, wie ein Objekt der Klasse „OPC-Server“
mit Referenz auf die Schnittstelle „IUnknown“ erzeugt werden kann:

IUnknown * pOPCUnknown;

r1 = CoCreateInstance (clsid, NULL,


CLSCTX_LOCAL_SERVER, IID_IUnknown,
(void**)&pOPCUnknown );

Einführung OPC-Server für SIMATIC NET


254 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

Schritt 4: In diesem Schritt soll eine Methode der Schnittstelle „IOPCServer“ des
Aufruf einer OPC- erzeugten Objekts benutzt werden, um den Status des Servers in Er-
Funktion fahrung zu bringen. Dazu wird zuerst über „IUnknown“ ein Zeiger auf
die Schnittstelle „IOPCServer“ bereitgestellt. Anschließend wird die
Methode „GetStatus“ aufgerufen.

Beispiel
Der folgende Code gibt den Status des Servers und die Herstellerin-
formation aus. Bei erfolgreichem Aufruf der Methode „GetStatus“ allo-
kiert der OPC-Server die Speicherbereiche für die Rückgabeinforma-
tionen über die Schnittstelle „IMalloc“. Der Anwender muß die Spei-
cherbereiche wieder freigeben.

IOPCServer *pOPCServer;
IMAlloc *pIMalloc;

OPCSERVERSTATUS *pss;

r1 = pOPCUnknown->QueryInterface(IID_IOPCServer,
(void**)&pOPCServer);

r1 = pOPCServer ->GetStatus(&pss);

printf("Status.szVendorInfo = %ls\n", pss->


szVendorInfo);

// Dont forget to release the memory returned by


// the method

CoGetMalloc( 1, &pIMalloc);

pIMalloc->Free(pss->szVendorInfo);
pIMalloc->Free(pss);

Schritt 5: Objekte enthalten Benutzungszähler, um erkennen zu können, wenn


Freigeben der das Objekt nicht mehr benötigt wird und sich entfernen kann. Mit je-
benutzten dem Aufruf der Funktion „QueryInterface“ wird der Benutzungszähler
Schnittstellen erhöht. Um das Objekt freizugeben, muß er wieder zurückgesetzt wer-
den.

Beispiel
Mit den folgenden Befehlen wird der Benutzungszähler für die Schnitt-
stellen „IUnknown“ und „IOPCServer“ zurückgesetzt:

pOPCServer->Release();
pOPCUnknown->Release();
pIMalloc->Release();

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 255
Die OPC-Custom-Schnittstelle für DataAccess

10.3 Ergänzungen zur Schnittstellenbeschreibung für die


OPC-Custom-Schnittstelle

Einleitung Die ausführliche Schnittstellenbeschreibung der OPC-Schnittstellen ist


nicht Teil dieses Handbuchs. Sie liegt als englischsprachiges Original-
dokument der OPC-Foundation als Datei diesem Produkt bei. Sie fin-
den die Dokumente in dem Verzeichnis „DOC“ im Produktverzeichnis
des OPC-Servers für SIMATIC NET.

Aufbau der Die folgende Ergänzung zur Schnittstellenbeschreibung listet die Ob-
Beschreibung jekte von OPC, deren Schnittstellen und die in diesen Schnittstellen
definierten Methoden auf, und weist auf die besonderen Eigenschaften
des OPC-Servers für SIMATIC NET hin.

Rückgabewerte Alle aufgeführten Methoden liefern ein Ergebnis vom Typ HRESULT.

Übersicht der Objekt „OPCServer“


Objekte und
IOPCServer
Schnittstellen
IOPCServerPublicGroups (optional)
IOPCBrowseServerAddressSpace (optional)
IOPCItemProperties (neu mit V 2.0)
IConnectionPointContainer (neu mit V 2.0)
IOPCCommon (neu mit V 2.0)
IPersistFile (optional)
Objekt „OPCGroup“
IOPCGroupStateMgt
IOPCPublicGroupStateMgt (optional)
IOPCASyncIO2 (neu mit V 2.0)
IOPCAsyncIO (mit V2.0 überflüssig)
IOPCItemMgt
IConnectionPointContainer (neu mit V 2.0)
IOPCSyncIO
IDataObject (mit V2.0 überflüssig)
Objekt „EnumOPCItemAttributes“
IEnumOPCItemAttributes

Einführung OPC-Server für SIMATIC NET


256 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

10.4 Das Objekt „OPC-Server“

Beschreibung Die Klasse OPC-Server besitzt verschiedene Attribute, die Informatio-


nen über den Status, die Version etc. eines OPC-Server-Objekts ent-
halten. Außerdem besitzt die Klasse OPC-Server Methoden, mit denen
ein Client die Objekte der Klasse OPC-Group verwalten kann. Nur an
ein Objekt dieser Klasse wendet sich eine Client-Applikation direkt
über COM-Mechanismen. Die anderen Objekte werden durch entspre-
chende OPC-Methoden erzeugt.
Die Schnittstelle IOPCServer enthält die Methoden zur Verwaltung der
Objekte der Klasse OPC-Group. Die Schnittstelle IOPCBrowseSer-
verAddressSpace ermöglicht die Untersuchung des Adreßraumes des
Servers.

Darstellung Die nachfolgende Darstellung zeigt das Objekt „OPC-Server“ mit sei-
nen Schnittstellen.

IUnknown

IOPCServer
IOPCBrowseServerAddressSpace
OPC-Server
Objekt
IOPCCommon (V2.0)
IConnectionPointContainer (V2.0)
IOPCItemsProperties (V2.0)

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 257
Die OPC-Custom-Schnittstelle für DataAccess

10.4.1 Schnittstelle IOPCServer

Überblick Diese Schnittstelle enthält Methoden, um Gruppen innerhalb eines


Server-Objekts zu verwalten. Weiterhin können Informationen über
den aktuellen Status des Servers ermittelt werden.

AddGroup ( szName, bActive, dwRequestedUpdateRate, hClientGroup,


pTimeBias, pPercentDeadband, dwLCID, phServerGroup,
pRevisedUpdateRate, riid, ppUnk )

Beschreibung:
Erzeugen einer Gruppe im Server-Objekt.

Anmerkungen:
• Der Parameter „pTimeBias“ wird vom OPC-Server für
SIMATIC NET nicht ausgewertet.
• „LCID“ hat für den OPC-Servers für SIMATIC NET keine Bedeu-
tung.
• Die „UpdateRate“ wird durch den Konfigurationsparameter „Kleinste
Update Rate“ als Vielfaches des Konfigurationswertes festgelegt.
• Der Parameter „pPercentDeadband“ hat für den OPC-Server für
SIMATIC NET keine Bedeutung.
• Falls der Parameter „szName“ leer ist, wird ein Name generiert, der
mit einem Unterstrich beginnt (z. B. „_123456“). Benutzerdefinierte
Namen sollten deshalb nicht mit Unterstrich beginnen.

CreateGroupEnumerator
( dwScope, riid, ppUnk )

Beschreibung:
Erzeugt verschiedene Enumeratoren für die Gruppe.

Anmerkungen:
Da es im OPC-Server für SIMATIC NET keine Public Groups gibt, sind
die Rückgabewerte der Methode bei Eingabewerten „...PRIVATE“ und
„...PUBLIC“ für den Parameter „dwScope“ identisch.

Einführung OPC-Server für SIMATIC NET


258 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

GetErrorString ( dwError, dwLocale, ppString )

Beschreibung:
Liefert für einen spezifischen Fehlercode die entsprechende Fehler-
meldung.

Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt deutsche und englische
Fehlertexte. Fehler des Windows-Betriebssystems werden in der In-
stallationssprache des Betriebssystems beschrieben.

GetGroupByName ( szName, riid, ppUnk )

Beschreibung:
Liefert zu dem Namen einer privaten Gruppe einen zusätzlichen
Schnittstellenzeiger, d. h. der Referenzzähler wird erhöht.

GetStatus ( ppServerStatus )

Beschreibung:
Liefert die Statusinformationen des Servers.

Anmerkungen:
Der Rückgabewert des OPC-Servers für SIMATIC NET ist die Be-
zeichnung und die Version des OPC-Servers.

RemoveGroup ( hServerGroup, bForce )

Beschreibung:
Löscht eine Gruppe im Server.

Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt die Verwendung des
Parameters „bForce“ nicht. Es ist nicht möglich, Gruppen zu löschen,
auf die noch Referenzen bestehen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 259
Die OPC-Custom-Schnittstelle für DataAccess

10.4.2 Schnittstelle IOPCBrowseServerAddressSpace

Überblick Diese Schnittstelle enthält Methoden, um den Adreßraum des Servers


zu untersuchen. Der Adreßraum enthält alle dem Server bekannten
OPC-Items.

BrowseAccessPaths ( szItemID, ppIEnumString )

Beschreibung:
Möglichkeit, den AccessPath einer ItemID zu ermitteln.

Anmerkungen:
Wird bei dem OPC-Server für SIMATIC NET nicht benötigt.

BrowseOPCItemIDs ( dwBrowseFilterType, szFilterCriteria, vtDataTypeFilter, dwAccess-


RightsFilter, ppIEnumString )

Beschreibung:
Liefert einen String des Typs „IEnumString“, dessen Inhalt durch die
Parameter des Aufrufs festgelegt wird. Die Position, aus der die Liste
generiert wird, kann durch die Methode „ChangeBrowsePosition“ ge-
setzt werden.

Anmerkungen:
• „BRANCH“ schließt die Filter für Type und AccessRights aus.
• Die Regeln zur Erzeugung eines Filters lauten:
− Stern (*) jede Folge von Zeichen, auch
leere Strings
− plus (+) jede Folge von Zeichen, minde-
stens jedoch ein Zeichen
− Fragezeichen (?) genau ein beliebiges Zeichen
− eckige Klammer auf, zu ( [ ] ) genau ein Zeichen aus der an-
gegebenen Menge
• um eines der Filterzeichen verwenden zu können, muß ein inverser
Schrägstrich (\) vorangestellt werden.

Einführung OPC-Server für SIMATIC NET


260 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

ChangeBrowsePosition
( dwBrowseDirection, szString )

Beschreibung:
Ermöglicht die Bewegung durch den Adreßraum. Es ist möglich, in die
übergeordnete Ebene oder in einen Ast zu wechseln.

GetItemID ( szItemDataID, szItemID )

Beschreibung:
Stellt eine vollständige ItemID in dem hierarchischen Adreßraum zu-
sammen. Diese Funktion ist notwendig, da das Browsing selbst nur die
Bezeichnungen unterhalb des aktuellen Knoten liefert.

Anmerkungen:
Die Beschreibung von GetItemID in der OPC-Spezifikation ist inkonsi-
stent zur Beschreibung von ChangeBrowsePosition. Bei ChangeBrow-
sePosition ist die Angabe einer vollständigen ItemID nicht möglich.
Aus diesem Grund unterstützt der OPC-Server für SIMATIC NET der-
zeit nur den Befehl GetItemID für einzelne Blätter (LEAF).

QueryOrganization ( pNameSpaceType )

Beschreibung:
Liefert die Struktur des Adreßraums. Der Adreßraum kann flach oder
hierarchisch organisiert sein.

Anmerkungen:
Die Struktur des Adreßraums der OPC-Server für SIMATIC NET ist
hierarchisch aufgebaut.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 261
Die OPC-Custom-Schnittstelle für DataAccess

10.4.3 Schnittstelle IOPCCommon (Version 2.0)

Überblick Diese Schnittstelle der Version 2.0 des OPC Custom Interface enthält
Methoden, um Spracheinstellungen und den Namen des Clients dem
Server bekannt zu machen.

SetLocaleID ( dwLcid )

Beschreibung:
Setzt den Sprachcode des Servers. Der Sprachcode legt fest, in wel-
cher Sprache Textausgaben des Servers erfolgen.

Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt Englisch und Deutsch.

GetLocaleID ( pdwLcid )

Beschreibung:
Holt den Sprachcode des Servers.

Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt Englisch und Deutsch.

QueryAvailableLocaleIDs
( pdwLcid )

Beschreibung:
Liefert alle verfügbaren Sprachcodes des Servers.

Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt Englisch und Deutsch.

GetErrorString ( dwError, ppString )

Beschreibung:
Liefert den Fehlertext in der eingestellten Sprache für einen bestimm-
ten Fehlercode.

Einführung OPC-Server für SIMATIC NET


262 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

SetClientName ( szName )

Beschreibung:
Übergibt einen Beschreibungstext für den Client an den Server. Der
Beschreibungstext kann beliebig vom Server benutzt werden, z.B. zur
Protokollierung in Trace-Dateien.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 263
Die OPC-Custom-Schnittstelle für DataAccess

10.4.4 Schnittstelle IConnectionPointContainer

Überblick Diese Schnittstelle ist eine COM-Standardschnittstelle zur Meldung


asynchroner Ereignisse über ConnectionPoints. Detaillierte Informatio-
nen über die Benutzung von Connection Points entnehmen Sie bitte
der Literatur zu OLE/COM.

Einführung OPC-Server für SIMATIC NET


264 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

10.4.5 Schnittstelle IOPCItemProperties (V 2.0)

Überblick Diese Schnittstelle der Version 2.0 enthält Methoden, um serverspezi-


fische Informationen über ein Item abfragen zu können.

QueryAvailableProperties
( szItemID, pdwCount, ppPropertyIDs, ppDescriptions,
ppvtDataTypes )

Beschreibung:
Liefert zu einem Item eine Liste der verfügbaren Eigenschaften.

GetItemProperties ( szItemID, dwCount, pdwPropertyIDs,


ppvData, ppErrors )

Beschreibung:
Liefert die Werte der in einer Liste von PropertyIDs übergebenen Ei-
genschaften eines Items.

LookupItemIDs ( szItemID, dwCount, pdwPropertyIDs,


ppszNewItemIDs, ppErrors )

Beschreibung:
Liefert - soweit dies für die propertyID möglich ist - eine Liste von
ItemIDs zu einer Liste von PropertyIDs. Diese ItemIDs können in eine
Gruppe aufgenommen werden, was den Zugriff auf die Daten verein-
facht und beschleunigt.
Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt diese Funktion nicht.
Der Aufruf wird mit der Fehlermeldung 0x8004001 (nicht implemen-
tiert) abgelehnt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 265
Die OPC-Custom-Schnittstelle für DataAccess

10.5 Objekte der Klasse „OPC-Group“

Beschreibung Die Klasse „OPC-Group“ verwaltet die einzelnen Prozeßvariablen, die


OPC-Items. Mit Hilfe dieser Gruppen-Objekte kann ein Client seman-
tisch sinnvolle Einheiten von OPC-Items bilden und mit diesen Opera-
tionen ausführen.

Darstellung Die nachfolgende Darstellung zeigt ein Objekt der Klasse „OPC-
Group“ mit seinen Schnittstellen.

IUnknown

IOPCItemMgt
IOPCGroupStateMgt
IOPCSyncIO
IOPCAsyncIO OPC-Group
IDataObject Objekt
IEnumOPCItemAttributes

IOPCAsyncIO2 (V 2.0)
IConnectionPointContainer (V2.0)

Einführung OPC-Server für SIMATIC NET


266 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

10.5.1 Schnittstelle IOPCItemMgt

Überblick Diese Schnittstelle bietet Methoden, um mehrere Items in einer Grup-


pe zu verwalten.

Zeitstempel Zu jedem gelesenen Wert liefert OPC einen Zeitstempel. Damit wird
angegeben, wann dieser Wert empfangen wurde, bzw. wann er geän-
dert wurde. Da die SIMATIC-Systeme keine Zeitstempel verwalten,
wird der Zeitpunkt des Empfangs im Server als Zeitstempel
(„timestamp“) benutzt.

AddItems ( dwNumItems, pItemArray, ppAddResults, ppErrors )

Beschreibung:
Fügt einer Gruppe ein oder mehrere Items hinzu.

Anmerkungen:
• Eindeutiger Name eines Items für den OPC-Server für
SIMATIC NET ist:
[<protId>:<connName>]VariableName (für DP und S7)
bzw
<protId>:[<connName>]VariableName (für FMS und SR)

Beispiele: S7:[S7-OPC_1|VFD1_OPC|CP_L2_1:]EB0
DP:[CP_L2_1]Slave063SlaveState
FMS:[CR1|VFD1|CP_L2_1:]100
SR:[MyConnection||CP_H1_1:]receive

Dieser Name kann vollständig in der ItemID sein. Der AccessPath


muß dann leer sein.
• Alternativ kann der Namensanteil in eckigen Klammern im Ac-
cessPath sein.

Beispiel: AccessPath: DP:[CP_L2_1:]


ItemID: Slave063SlaveState

• Beachten Sie Kapitel 7 zur Definition der ItemIDs!


• Es ist erlaubt, dasselbe OPC-Item mehrmals zur selben Gruppe
hinzuzufügen. In diesem Fall erhält trotzdem jedes dieser Items ein
eigenes Server Handle.
Die Server Handles der Items sind nur eindeutig innerhalb einer
Gruppe und nicht für alle Items aller Gruppen.
• Gültige Datentypen sind VT_UI1, VT_UI2, VT_UI4, VT_I1, VT_I2,
VT_I4, VT_R4, VT_BOOL, VT_BSTR

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 267
Die OPC-Custom-Schnittstelle für DataAccess

CreateEnumerator ( riid, ppUnk )

Beschreibung:
Erzeugt einen Enumerator für die Items einer Gruppe.

RemoveItems ( dwNumItems, phServer, ppErrors )

Beschreibung:
Löscht ein oder mehrere Items aus einer Gruppe.

SetActiveState ( dwNumItems, phServer, bActive, ppErrors )

Beschreibung:
Setzt den Aktiv-Status eines oder mehrerer Items in einer Gruppe.

SetClientHandles ( dwNumItems, phServer, phClient, ppErrors )

Beschreibung:
Setzt das Client Handle eines oder mehrerer Items in einer Gruppe.

SetDatatypes ( dwNumItems, phServer, pRequestedDatatypes, ppErrors )

Beschreibung:
Setzt den geforderten Datentyp eines oder mehrerer Items in einer
Gruppe.

Anmerkungen:
siehe AddItem

Einführung OPC-Server für SIMATIC NET


268 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

ValidateItems ( dwNumItems, pItemArray, bBlobUpdate, ppValidationResults, ppEr-


rors )

Beschreibung:
Prüft ein OPC-Item auf Gültigkeit, z. B. ob es ohne Fehler in eine
Gruppe eingefügt werden konnte, und liefert Informationen wie den
kanonischen Datentyp zurück.

Anmerkungen:
siehe AddItem

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 269
Die OPC-Custom-Schnittstelle für DataAccess

10.5.2 Schnittstelle IOPCGroupStateMgt

Überblick Die Schnittstelle IOPCGroupStateMgt bietet Methoden, um Gruppen


zu verwalten. Es ist möglich, gruppenspezifische Parameter zu bear-
beiten und Gruppen zu kopieren.

CloneGroup ( szName, riid, ppUnk )

Beschreibung:
Erzeugt eine Kopie einer Gruppe. Alle Gruppenattribute werden bis auf
folgende Ausnahmen kopiert:
• der Aktiv-Status wird auf False gesetzt
• ein neues Server-Handle wird vergeben

Anmerkungen:
Der Parameter „szName“ kann leer sein. In diesem Fall wird ein ein-
deutiger Name generiert (siehe AddGroup).

GetState ( pUpdateRate, pActive, ppName, pTimeBias, pPercentDeadband,


pLCID, phClientGroup, phServerGroup )

Beschreibung:
Holt den Status der Gruppe. Die Client-Applikation muß über Zeiger
dem OPC-Server mitteilen, wo die Ergebnisse abzulegen sind.

Anmerkungen:
• Der Parameter „pTimeBias“ hat für den OPC-Server für
SIMATIC NET keine Bedeutung.
• Der Parameter „pPercentDeadband“ hat für den OPC-Server für
SIMATIC NET keine Bedeutung.
• Der Parameter „LCID“, d. h. sprachspezifische Textwerte im
Read/Write, hat für die SIMATIC-Variablen keine Bedeutung.

SetName ( szName )

Beschreibung:
Ermöglicht es den Namen einer Gruppe zu ändern. Der Name muß
immer eindeutig sein.

Einführung OPC-Server für SIMATIC NET


270 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

SetState ( pRequestedUpdateRate, pRevisedUpdateRate, pActive, pTimeBias,


pPercentDeadband, pLCID, phClientGroup )

Beschreibung:
SetState ermöglicht es verschiedene Eigenschaften der Gruppe zu
ändern.

Anmerkungen:
• Der Parameter „pTimeBias“ hat für den OPC-Server für
SIMATIC NET keine Bedeutung.
• Der Parameter „pPercentDeadband“ für den OPC-Server für
SIMATIC NET keine Bedeutung.
• Der Parameter „LCID“, d. h. sprachspezifische Textwerte im
Read/Write, hat für die SIMATIC-Variablen keine Bedeutung.
• Die UpdateRate wird durch den Konfigurationsparameter „Kleinste
Update Rate“ als Vielfaches dieses Wertes festgelegt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 271
Die OPC-Custom-Schnittstelle für DataAccess

10.5.3 Schnittstelle IOPCSyncIO

Überblick Diese Schnittstelle bietet Methoden für synchrones Lesen und Schrei-
ben. Synchron bedeutet, daß der Client wartet bis die Lese- oder
Schreiboperation abgeschlossen ist und erst dann seine Ausführung
fortsetzt.

Verwendung Die Verwendung von synchronen Aufrufen wird dort empfohlen, wo der
Client das Ergebnis für die weitere Bearbeitung benötigt. Eine Blockie-
rung anderer Clients ist nicht gegeben, da der OPC-Server für
SIMATIC NET für jeden Client einen eigenen Thread startet.
Generell wird empfohlen, für die Bearbeitung von Variablenänderun-
gen das IData Interface (bzw. IAdviseSink auf der Client Seite) zu
verwenden. Diese Schnittstelle garantiert den höchstmöglichen Daten-
durchsatz und reduziert die tatsächlichen Aufrufe außerdem auf das
unbedingt erforderliche Maß.

Read ( dwSource, dwNumItems, phServer, ppItemValues, ppErrors )

Beschreibung:
Lesen der Werte, Statusinformationen oder der Zeitstempel eines oder
mehrerer Items einer Gruppe. Die Werte können aus dem Cache des
Servers oder direkt von der Hardware gelesen werden. Lesen aus dem
Cache ist jedoch nur möglich, wenn die Gruppe aktiviert ist.
Anmerkungen:
Der Aufruf wird im Server zeitüberwacht. Der zugehörige Konfigurati-
onsparameter ist „Read/Write Timeout“ (siehe Kapitel 7.4).

Write ( dwNumItems, phServer, pItemValues, ppErrors )

Beschreibung:
Schreiben von Werten für ein oder mehrere Items einer Gruppe an die
Hardware.
Anmerkungen:
Der Aufruf wird im Server zeitüberwacht. Der zugehörige Konfigurati-
onsparameter ist „Read/Write Timeout“ (siehe Kapitel 7.4).

Einführung OPC-Server für SIMATIC NET


272 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

10.5.4 Schnittstelle IOPCAsyncIO

Überblick Diese Schnittstelle der Klasse OPC-Group bietet Methoden für asyn-
chrones Lesen und Schreiben von Items. Asynchron bedeutet, daß der
Client eine Lese- oder Schreiboperation anstößt und seine Ausführung
fortsetzt. Asynchrone Operationen liefern eine Transaktions-ID. Wenn
der Server die Lese oder Schreiboperation abgeschlossen hat, wird der
Client durch eine Meldung an seine IAdviseSink Schnittstelle benach-
richtigt.

Cancel ( dwTransactionID )

Beschreibung:
Bricht einen ausstehenden Auftrag ab.

Read ( dwConnection, dwSource, dwNumItems, phServer, pTransactionID,


ppErrors )

Beschreibung:
Absetzen eines asynchronen Lesebefehls. Das Ergebnis wird an die
Schnittstelle IAdviseSink des Clients gesendet.

Anmerkungen:
Der Aufruf wird im Server zeitüberwacht. Der zugehörige Konfigura-
tionsparameter ist „Read/Write Timeout“ (siehe Kapitel 7.4). Bei
Abbruch der Zeitüberwachung erfolgt ein Callback mit dem Status
E_ABORT.

Refresh ( dwConnection, dwSource, pTransactionID )

Beschreibung:
Fordert für jedes aktive OPC-Item einen aktuellen Wert an.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 273
Die OPC-Custom-Schnittstelle für DataAccess

Write ( dwConnection, dwNumItems, phServer, pItemValues,


pTransactionID, ppErrors )

Beschreibung:
Absetzen eines asynchronen Schreibbefehls.

Anmerkungen:
Der Aufruf wird im Server zeitüberwacht. Der zugehörige Konfigura-
tionsparameter ist „Read/Write Timeout“ (siehe Kapitel 7.4). Bei
Abbruch der Zeitüberwachung erfolgt ein Callback mit
hrStatus=E_ABORT.

Einführung OPC-Server für SIMATIC NET


274 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

10.6 Schnittstelle IDataObject

Überblick Die Schnittstelle IDataObject ist die Standardschnittstelle von OLE zur
Datenübertragung. Sie enthält Methoden zum Aufbau einer Benach-
richtigungsverbindung zwischen dem Client und einer Server-Gruppe.

Beschreibung Möchte der Server einem Client eine Benachrichtigung schicken, so


Mechanismus muß der Client dem Server einen Ansprechpartner bieten. Dieser An-
sprechpartner ist die Schnittstelle IAdviseSink des Clients. Ein Server
benachrichtigt einen Client, indem er die Methode OnDataChange der
Schnittstelle IAdviseSink des Clients aufruft.

Darstellung Die folgende Abbildung zeigt, wie die Schnittstelle „IAdviseSink“ im


Mechanismus Client und „IDataObjekt“ im Server zusammenarbeiten.

Client Server
IDataObject::DAdvise

IAdviseSink IDataObject

IAdviseSink::OnDataChange

DAdvise ( pFmt, adv, pSnk, pConnection )

Beschreibung:
Baut eine Verbindung zwischen dem Server und dem Client auf.
Möchte ein Client eine Benachrichtigung empfangen, muß er mit die-
ser Methode eine Verbindung aufbauen. Er übergibt dabei dem Server
einen Zeiger auf seine IAdviseSink Schnittstelle.

DUnadvise ( Connection )

Beschreibung:
Abbau einer bestehenden Verbindung zwischen einem Client und ei-
nem Server.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 275
Die OPC-Custom-Schnittstelle für DataAccess

10.6.1 Schnittstelle IEnumOPCItemAttributes

Überblick Diese auf der Standardschnittstelle IEnum basierende Schnittstelle


liefert die Items einer Gruppe zurück. Die Schnittstelle wird nur durch
„IOPCItemMgt:CreateEnumerator“ geliefert. Sie ist nicht durch
QueryInterface erreichbar.

Clone ( ppEnumItemAttributes )

Beschreibung:
Erzeugt eine identische Kopie des Enumerator.

Next ( celt, ppItemArray, pceltFetched )

Beschreibung:
Holt nächstes OPC-Item der Gruppe.

Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt keine Engineering
Units. EUType und EUInfo sind daher nicht relevant.

Reset ( void )

Beschreibung:
Setzt die Aufzählung auf das erste Item der Gruppe zurück.

Skip ( celt )

Beschreibung:
Überspringt eine Anzahl von Items in der Auflistung.

Einführung OPC-Server für SIMATIC NET


276 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

10.6.2 Schnittstelle IAsyncIO2 (Version 2.0)

Überblick Diese Schnittstelle der Version 2.0 bietet Methoden für asynchrones
Lesen und Schreiben von Items. Asynchron bedeutet, daß der Client
eine Lese- oder Schreiboperation anstößt und seine Ausführung fort-
setzt. Die Version2 des Interfaces zur asynchronen Kommunikation
verwendet ConnectionPoints. Damit wird die Verarbeitung der überge-
benen Daten vereinfacht.

Read ( dwCount, phServer, dwTransactionID, pdwCancelID, ppErrors )

Beschreibung:
Absetzen eines asynchronen Lesebefehls. Das Ergebnis wird über
einen ConnectionPoint an den Client gesendet.

Anmerkungen:
Der Aufruf wird im Server zeitüberwacht. Bei Überschreiten der
eingestellten Zeit erfolgt eine Benachrichtigung mit dem Status
E_ABORT.

Write ( dwCount, phServer, pItemValues, dwTransactionID, pdwCancelID,


ppErrors )

Beschreibung:
Absetzen eines asynchronen Schreibbefehls. Die Benachrichtigung
über die Erledigung des Auftrags kommt über den angegebenen Con-
nection Point.

Anmerkungen:
Der Aufruf wird im Server zeitüberwacht. Bei Überschreiten der
eingestellten Zeit erfolgt eine Benachrichtigung mit dem Status
E_ABORT.

Cancel2 ( dwCancelID )

Beschreibung:
Bricht einen ausstehenden Auftrag ab.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 277
Die OPC-Custom-Schnittstelle für DataAccess

Refresh ( dwSource, dwTransactionID, pdwCancelID )

Beschreibung:
Fordert für jedes aktive OPC-Item einen aktuellen Wert an.

SetEnable ( bEnable )

Beschreibung:
Aktiviert die Benachrichtigung über Connection Points. Die durch die
Methode Refresh erzeugten Benachrichtigungen werden jedoch unab-
hängig von dieser Einstellungen gemeldet.

GetEnable ( pbEnable )

Beschreibung:
Liefert den aktuellen Wert des Flags für die Benachrichtigung über
ConnectionPoints.

Einführung OPC-Server für SIMATIC NET


278 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für DataAccess

10.6.3 Schnittstelle IConnectionPointContainer

Überblick Diese Schnittstelle ist eine COM-Standardschnittstelle zur Meldung


asynchroner Ereignisse über ConnectionPoints. Detaillierte Informatio-
nen über die Benutzung von Connection Points entnehmen Sie bitte
der Literatur zu OLE bzw.COM.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 279
Die OPC-Custom-Schnittstelle für DataAccess

Einführung OPC-Server für SIMATIC NET


280 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11 Die OPC-Automation-Schnittstelle für DataAccess

Dieses Kapitel erläutert, wie die OPC-Automation-Schnittstelle für Data Access benutzt
wird. Weiterhin listet es die Eigenschaften und Methoden der OPC-Automation-
Schnittstelle auf. Es ist keine ausführliche Schnittstellenbeschreibung, sondern weist auf
spezifische Ergänzungen und Bemerkungen für den OPC-Server von SIMATIC NET hin.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 281
Die OPC-Automation-Schnittstelle für DataAccess

11.1 Versionen der Automation-Schnittstelle

Einführung Die OPC-Automation Schnittstelle wurde von der OPC-Foundation in


der Version 1.0 spezifiziert. Diese Spezifikation zeigte jedoch noch
einige Unklarheiten und wurde nicht freigegeben. Vor allem mit der
Einführung von Visual Basic 5.0 wurden Schwächen in der Version 1.0
deutlich.

Neue Version Seit Anfang 1999 ist eine freigegebene Fassung der Spezifikation der
Automation-Schnittstelle mit der Versionsnummer 2.02 verfügbar
Die folgenden Beschreibungen beziehen sich auf die Version 2.02 der
Spezifikation für die OPC-Automationschnittstelle.

Einführung OPC-Server für SIMATIC NET


282 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.2 Erzeugung und Benutzung eines OLE-Objekts in Visual


Basic

Übersicht Visual Basic von Microsoft ist eine Entwicklungsumgebung, welche die
Automation-Schnittstelle zur einfachen Einbindung von OLE-Objekten
unterstützt. Im folgenden wird gezeigt, wie der OPC-Server über die
Automation-Schnittstelle 2.02 in Visual Basic benutzt wird. Es wird
mindestens die Version 5 von Visual Basic benötigt.

Vorgehensweise

Schritt Beschreibung
1 Deklarieren der Variablen

2 Verbinden mit einem OPC-Server

3 Erzeugen einer OPC-Group

4 Hinzufügen von OPC-Items

5 Synchrones Lesen

Vorbereitung Legen Sie ein neues Visual Basic Projekt an und aktivieren Sie im
Menü "Project - References" die Referenz für die Automation-
Schnittstelle 2.02 des OPC-Servers.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 283
Die OPC-Automation-Schnittstelle für DataAccess

Schritt 1: Eine Variable vom Typ Object verweist in Visual Basic bzw. in Visual
Deklarieren einer Basic for Applications auf ein OLE-Objekt. Die Anweisung DIM dekla-
Variablen vom Typ riert eine Objekt-Instanz.
Object
Beispiel

Dim ObjServer As OPCServer

Schritt 2: Erzeugen eines OPC-Server Objekts


Erzeugen und Auch Visual-Basic-Programme sind OPC-Clients. Um auf eine Pro-
Zuweisen des zeßvariable zugreifen zu können, muß der Client sich zuerst ein Ser-
Objekts ver-Objekt erzeugen und dann mit einem OPC-Server verbinden.

Beispiel
Der folgende Codeabschnitt zeigt, wie sich ein Visual Basic Client mit
dem OPC-Server für SIMATIC NET verbinden kann:

Set ObjServer = New OPCServer


ObjServer.Connect (”OPC.SimaticNET”)

Schritt 3: Im nächsten Schritt soll ein Gruppenobjekt zur Aufnahme von Prozeß-
Erzeugen einer variablen angelegt werden.
OPC-Group Zuerst wird das Gruppenobjekt deklariert. Ein Serverobjekt enthält ein
Collection-Objekt als Eigenschaft mit der Bezeichnung „OPCGroups“.
Eine Gruppe wird durch Aufruf der Methode Add des Collection-
Objekts erzeugt.

Beispiel
Die folgenden Zeilen zeigen, wie eine Gruppe in Visual Basic erzeugt
wird:

'Deklarationen

Dim GroupObj As OPCGroup


Dim GroupCollection As OPCGroups

Set GroupObj = ObjServer.OPCGroups.Add("MyGroup")

Einführung OPC-Server für SIMATIC NET


284 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

Schritt 4: In das erzeugte Gruppenobjekt sollen nun OPC-Items eingefügt wer-


Hinzufügen von den. Die Items repräsentieren die Verbindungen zu den Prozeßvaria-
OPC-Items blen, ihr Parameter ItemID legt fest, welche Variable angesprochen
wird. Die Syntax dieses Parameters kann Kapitel 5 entnommen wer-
den.

Die Methode AddItems erlaubt es, mehrere Items mit einem Aufruf in
eine Gruppe einzufügen. Deshalb sind die Übergabeparameter und die
Rückgabewerte eindimensionale Arrays mit identischer Größe. Die
Variable „lNumItems“ enthält die Anzahl der einzufügenden Items.

Bei einem Aufruf der Methode besetzt der Server die Arrays „lServer-
Handles“, „lErrors“ und „ItemsObj“ mit Werten. Das Array „IErrors“
enthält eine Statusinformation für jedes eingefügte Item, die Auskunft
gibt, ob es erfolgreich eingefügt wurde.

Beispiel
Das folgende Beispiel legt zwei Items in der zuvor erzeugten OPC-
Group „GrpObj“ an. Das erste Item repräsentiert eine DP-Variable, das
zweite Item eine FMS-Variable.

'Declaration
Dim ItemServerHandles() As Long
Const MAX_INDEX = 2
Const OPC_DS_CACHE = 1
Const OPC_DS_DEVICE = 2

Dim lNumItems As Long


Dim lClientHandles(MAX_INDEX) As Long
Dim perror() As Long

Dim szItemIDs(MAX_INDEX) As String


Dim AccPath(MAX_INDEX) As String
Dim ReqDataTypes(MAX_INDEX) As Integer

'Definition of ItemIDs
szItemIDs(1) = "FMS:[DEMO]101"
szItemIDs(2) = "DP:[DEMO]MyMotor"

AccPath(1) = ""
AccPath(2) = ""

' Set requested datatypes for the Items


ReqDataTypes(1) = vbVLong
ReqDataTypes(2) = vbVString

' Set Client handles


lClientHandles(1) = 1
lClientHandles(2) = 2

'Add Items to Group


GroupObj.OPCItems.AddItems MAX_INDEX, szItemIDs, _
lClientHandles, ItemServerHandles, perror, _
ReqDataTypes, AccPath

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 285
Die OPC-Automation-Schnittstelle für DataAccess

Schritt 5: Im letzten Schritt wird eine synchrone Leseoperation auf die Prozeßva-
Synchrones Lesen riablen einer Gruppe durchgeführt. Synchron bedeutet, daß der Server
erst nach Rückgabe der geforderten Ergebnisse über das Kommunika-
tionssystem die Kontrolle an das Visual Basic Programm zurückgibt.
Damit ist der Programmfluß um die Dauer der Kommunikation verzö-
gert. Die Konstante OPCDevice besagt, daß die Werte direkt vom
Gerät und nicht aus dem Zwischenspeicher (Cache) des OPC-Servers
gelesen werden sollen.

Beispiel
Wie der Befehl AddItems ist auch OPCRead eine Mengenoperation,
d. h. es kann auf mehrere Prozeßvariablen innerhalb einer Gruppe mit
einem Aufruf zugegriffen werden. Der Parameter „lNumItems“ spezifi-
ziert die Anzahl der zu lesenden Variablen. Die einzelnen Variablen
selbst werden in dem Array „lServerHandles“ durch das vom Server
zugeteilte Handle beschrieben.
Die Werte werden gemäß der im Parameter „ReqDataTypes" der Me-
thode „AddItems“ als Long und als String zurückgeliefert.

‘Definition der Variablen für OPCRead


'Out Parameter
Dim vValues() As Variant
Dim pErrors() as Long

' Synchronous read of 2 items


GroupObj.SyncRead OPC_DS_Device, _
2, _
ItemServerHandles, _
vValues, _
pErrors

Einführung OPC-Server für SIMATIC NET


286 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.3 Ergänzungen zur Schnittstellenbeschreibung für die OPC-


Automation-Schnittstelle

Einleitung Die ausführliche Schnittstellenbeschreibung der OPC-Schnittstellen ist


nicht Teil dieses Handbuchs. Sie liegt als englischsprachiges Original-
dokument der OPC-Foundation in Dateiform diesem Produkt bei. Sie
finden die Dokumente in dem Verzeichnis „DOC“ im Produktverzeich-
nis des OPC-Servers für SIMATIC NET.

Objektmodell für Das Objektmodell für die OPC-Automation-Schnittstelle nach Spezifi-


das Automation kation 2.0 weicht von dem in Kapitel 4.4 beschriebenen Modell ab: Für
Interface die Verwaltung der Objekte OPC-Group und OPC-Item sind eigene
Collection-Objekte vorgesehen. Die Collection-Objekte bieten Funktio-
nen zum Aufzählen der ihnen zugeordneten Objekte. Die Browsing-
Funktionen sind ebenfalls in einem separaten Objekt „OPC-Browser“
zusammengefaßt.

OPCServer

1:1 1:n

OPCGroups
(Collection) OPC-Browser

1:n

OPCGroup

1:1

OPCItems
(Collection)

1:n

OPCItem

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 287
Die OPC-Automation-Schnittstelle für DataAccess

Aufbau der Die folgende Ergänzung zur Schnittstellenbeschreibung listet die Ob-
Beschreibung jekte der Automation-Schnittstelle von OPC, deren Eigenschaften,
Methoden und Events auf, und weist auf die besonderen Eigenschaf-
ten des OPC-Servers für SIMATIC NET hin.

Hinweis:

Optionale Parameter müssen bei Automation-Schnittstellen als Variant


übergeben werden. In Visual Basic sollten die optionalen Parameter
jedoch direkt mit dem Zieltyp deklariert werden. Auf diese Weise wird
sichergestellt, daß der Variant den richtigen Datentyp enthält
Aus der OPC-Spezifikation können die Datentypen den Beschreibun-
gen der Methoden entnommen werden.

Beispiel:
Dim ReqDataTypes(MAX_INDEX) As Integer
ReqDataTypes(1) = vbVLong
ReqDataTypes(2) = vbVString

Beachten Sie, daß laut OPC-Spezifikation die Arryas stets mit dem
Index 1 beginnen. In Ihrem Programm müssen Sie dieses wie folgt (als
„General“) definieren:

Option Base 1 'ARRAYs are always Option Base 1


'(see SPEC Chapter 2.6)

Einführung OPC-Server für SIMATIC NET


288 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.4 Das Objekt „OPCServer“

Beschreibung Objekte der Klasse OPC-Server werden durch den Client erzeugt. Die
Eigenschaften eines OPC-Servers enthalten allgemeine Informationen
über den Server. Mit der Erzeugung eines OPC-Server Objekts wird
auch eine OPCGroup Collection als Eigenschaft des OPC-Server Ob-
jektes angelegt.

11.4.1 Eigenschaften von „OPCServer“

Eigenschaft Typ Kurzbeschreibung

StartTime Date Zeitpunkt, zu dem der Server gestartet wurde (in


UTC).
CurrentTime Date Die momentane Zeit (UTC), wie sie dem Server
vom System mitgeteilt wurde.
LastUpdate Date Der Zeitpunkt (UTC), an dem der Server den
Time letzten Update von Daten an den Client gesendet
hat.
MajorVersion Integer Die Hauptversionsnummer des Servers.

MinorVersion Integer Die untergeordnete Versionsnummer des Serv-


ers.
BuildNumber Integer Die Build-Nummer des Servers.

VendorInfo String Die Hersteller-Information.

ServerState Long Status des Servers.

LocaleID Long Code zur Festlegung der Landessprache für


Ausgabetexte des OPC-Servers
Bandwidth Long Bandbreite des Servers.

OPCGroups OPC Eine Collection von OPCGroup-Objekten


Groups
PublicGroup Variant Die Namen der von diesem Server angebotenen
Names Public Groups.
ServerName String Namen des verbundenen OPC-Servers

ServerNode String Rechnername des Knotens im Netzwerk, auf


dem der OPC-Server ausgeführt wird.
ClientName String Option, dem OPC-Server den Namen des Cli-
ents mitzuteilen. Hauptsächlich für Debugging
und Trace vorgesehen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 289
Die OPC-Automation-Schnittstelle für DataAccess

Anmerkungen:
• Der OPC-Server für SIMATIC NET liefert als VendorInfo: „SIMATIC
NET OPC-Server“
• Public Groups werden vom OPC-Server für SIMATIC NET nicht
unterstützt.
• Die Eigenschaft Bandwidth wird vom OPC-Server für SIMATIC
NET nicht unterstützt.

Einführung OPC-Server für SIMATIC NET


290 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.4.2 Methoden von „OPCServer“

GetOPCServers (Optional Node as Variant) As Variant

Beschreibung:
Liefert die Namen (ProgID’s) der registrierten OPC-Server auf dem
lokalen Rechner (ohne Argument) oder auf dem angegebenen Knoten.

Anmerkungen:
• Die ProgID für den OPC-Server für SIMATIC NET lautet:

OPC.SimaticNET

Connect (ProgID As String, Optional NodeName As String)

Beschreibung:
Aufbau einer Verknüpfung zu einem OPC-Server.

Anmerkungen:
• Die ProgID für den OPC-Server für SIMATIC NET lautet:

OPC.SimaticNET

Disconnect ()

Beschreibung:
Abbau der Verknüpfung zu einem OPC-Server.

Anmerkungen:
Der OPC-Server für SIMATIC NET baut nach dem Disconnect des
letzten OPC-Clients alle Kommunikationsverbindungen ab.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 291
Die OPC-Automation-Schnittstelle für DataAccess

CreateBrowser () As OPCBrowser

Beschreibung:
Erzeugt ein Objekt der Klasse OPCBrowser zur Untersuchung des
Adressraumes des Servers.

Anmerkungen:
Beachten Sie die Beschreibung des Objekts OPCBrowser in Kapitel
11.5.

GetErrorString (ErrorCode As Long) As String

Beschreibung:
Liefert für einen spezifischen Fehlercode die entsprechende Fehler-
meldung.

Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt deutsche und englische
Fehlertexte. Fehler des Windows-Betriebssystems werden in der In-
stallationssprache des Betriebssystems beschrieben.

QueryAvailableLocaleIDs
() As Variant

Beschreibung:
Liefert die vom Server verfügbaren Sprachcodes als Feld mit Long-
Werten.

Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt deutsche und englische
Fehlertexte. Fehler des Windows-Betriebssystems werden in der In-
stallationssprache des Betriebssystems beschrieben.

QueryAvailableProperties
ItemID As String, ByRef Count As Long, ByRef PropertyIDs() as Long, By-
Ref Descriptions() As String, ByRef DataTypes() As Integer

Einführung OPC-Server für SIMATIC NET


292 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

Beschreibung:
Liefert eine Liste von Eigenschaftscodes und die zugehörigen Be-
schreibungstexte für die Eigenschaften des angegebenen Items.

Anmerkungen:
Eigenschaften werden vom OPC-Server für SIMATIC NET unterstützt.

GetItemProperties (ItemID As String, Count As Long, ByRef PropertyIDs() as Long, ByRef Pro-
pertyValues() As Variant, ByRef Errors() As Long)

Beschreibung:
Liefert eine Liste mit den Werten für die angeforderten Eigenschaften.

Anmerkungen:
Eigenschaften werden vom OPC-Server für SIMATIC NET unterstützt.

LookupItemIDs (ItemID As String, Count As Long, PropertyIDs() as Long, ByRef NewI-


temIDs() As String, ByRef Errors () As Long)

Beschreibung:
Liefert eine Liste der den übergebenen PropertyIDs entsprechenden
ItemIDs. ItemIDs können für eine effizientere Datenerfassung in OPC-
Gruppen eingefügt werden.

Anmerkungen:
Der OPC-Server für SIMATIC NET liefert keine PropertyIDs, die als
ItemIDs dargestellt werden könnten.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 293
Die OPC-Automation-Schnittstelle für DataAccess

11.4.3 Ereignisse von „OPCServer“

ServerShutDown (Reason As String)

Beschreibung:
Dieses Ereignis wird ausgelöst, wenn der OPC-Server heruntergefah-
ren wird. Die verbundenen Clients haben die Möglichkeit, auf das Er-
eignis zu reagieren, indem sie beispielsweise Items und Gruppen frei-
geben.

Anmerkungen:
Der OPC-Server für SIMATIC NET löst dieses Ereignis aus, wenn im
Konfigurationsprogramm die Aufforderung zum Beenden gegeben wird
(Kap. 7.10 ).

Einführung OPC-Server für SIMATIC NET


294 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.5 Das Objekt „OPCBrowser“

Beschreibung Das Objekt OPCBrowser ist ein Collection-Objekt, mit dem der Na-
mensraum des OPC-Servers untersucht werden kann. Ein Objekt der
Klasse OPCBrowser muß durch die Methode CreateBrowser des Ob-
jekts OPCServer erzeugt werden. Es ist möglich, für einen Server
mehrere OPCBrowser-Objekte anzulegen.

11.5.1 Eigenschaften von „OPCBrowser“

Eigenschaft Typ Zugriff Kurzbeschreibung

Organisation Long Read-only Die Organisationsstruktur des


Namensraumes: hierarchisch
oder flach.
Filter String Read/Write Der für die Methoden ShowBran-
ches und ShowLeafs wirksame
Filter.
DataType Integer Read/Write Der verlangte Datentyp für die
Methode ShowLeafs. Der Default
dieser Eigenschaft ist vbEmpty.
AccessRights Long Read/Write Die verlangten Zugangsrechte für
die Methode ShowLeafs.
CurrentPosition String Read-only Aktuelle Position im Baum des
Adreßraumes. Der Wert ist „“ bei
Initialisierung in der Wurzel oder
wenn die Organisationsstruktur
flach ist.
Count Long Read-only Notwendige Eigenschaft für die
Collection, liefert Anzahl der
Einträge.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 295
Die OPC-Automation-Schnittstelle für DataAccess

Anmerkungen • Die Struktur des Adreßraumes des OPC-Servers für SIMATIC NET
ist hierarchisch aufgebaut.

• Die Regeln zur Erzeugung eines Filters lauten:


− Stern (*) jede Folge von Zeichen, auch
leere Strings
− Plus (+) jede Folge von Zeichen, minde-
stens jedoch ein Zeichen
− Fragezeichen (?) genau ein beliebiges Zeichen
− Eckige Klammer auf, zu ( [ ] ) genau ein Zeichen aus der an
gegebenen Menge
• um eines der Filterzeichen als normales Zeichen verwenden zu
können, muß ein inverser Schrägstrich (\) vorangestellt werden.

Einführung OPC-Server für SIMATIC NET


296 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.5.2 Methoden von „OPCBrowser"

Item (Key As Variant) As String

Beschreibung:
Liefert den Namen eines Eintrags, angegeben durch den Index „Key“.

ShowBranches ()

Beschreibung:
Trägt die Namen der Zweige der momentanen Browse-Position in die
Collection ein.

ShowLeafs (Optional Flat As Variant)

Beschreibung:
Trägt die Namen der Blätter der momentanen Browse-Position in die
Collection ein. Wenn der Parameter „Flat“ wahr ist, wird die Collection
mit allen Blättern des aktuellen und tieferer Zweige ausgehend von der
Browse-Position gefüllt. Der Default für Flat ist False.

MoveUp ()

Beschreibung:
Bewegt die aktuelle Position im Adreßraum eine Ebene höher.

MoveDown (Branch As String)

Beschreibung:
Bewegt die aktuelle Position im Adreßraum in den angegebenen Ast
(eine Ebene tiefer).

MoveToRoot ()

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 297
Die OPC-Automation-Schnittstelle für DataAccess

Beschreibung:
Bewegt die aktuelle Position im Adreßraum auf die Wurzel.

MoveTo (Branches() As String)

Beschreibung:
Bewegt die aktuelle Position im Adreßraum auf eine angegebene,
absolute Position. Die absolute Position wird als Feld von Zweignamen
ausgehend von der Wurzel spezifiziert.

GetItemID (Leaf As String) As String

Beschreibung:
Der Server konvertiert den Namen in eine ItemID, die an die Methode
"Add" von "OPCItems" übergeben werden kann. Die Erzeugung dieser
ID basiert auf der aktuellen Position des Browsers, erweitert um den
Knoten mit dem Namen, der in dem String "Leaf" enthalten ist. .

GetAccessPaths (ItemID As String) As Variant

Beschreibung:
Möglichkeit, den AccessPath einer ItemID zu ermitteln.

Anmerkungen:
Wird bei dem OPC-Server für SIMATIC NET nicht benötigt.

Einführung OPC-Server für SIMATIC NET


298 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.6 Das Collection-Objekt „OPCGroups“

Beschreibung Das Objekt OPCGroups ist ein Collection-Objekt zur Erzeugung und
Verwaltung von OPC-Gruppen. Die Default-Eigenschaften von OPC-
Gruppen legen Defaultwerte für die Erzeugung aller OPC-Gruppen
fest.

Public Groups werden vom OPC-Server für SIMATIC NET nicht unter-
stützt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 299
Die OPC-Automation-Schnittstelle für DataAccess

11.6.1 Eigenschaften von „OPCGroups“

Eigenschaft Typ Zugriff Kurzbeschreibung

Parent OPC- Read-only- Liefert eine Refe-


Server Read-only renz auf das zuge-
hörige OPC-Server
Objekt.
DefaultGroupIsActive Boolean Read/Write Gibt den Anfangs-
wert für die Eigen-
schaft „ActiveState“
neu generierter
OPCGroups vor.
Default: True.
DefaultGroupUpdateRate Long Read/Write Gibt den Anfangs-
wert für die Eigen-
schaft „update rate“
neu generierter
OPCGroups vor.
Default: 1000 Milli-
sekunden.
DefaultGroupDeadband Single Read/Write Gibt den Anfangs-
wert für die Eigen-
schaft „Deadband“
neu generierter
OPCGroups vor.
DefaultGroupLocaleID Long Read/Write Gibt den Anfangs-
wert für die Eigen-
schaft „locale ID“
neu generierter
OPCGroups vor.
DefaultGroupTimeBias Long Read/Write Gibt den Anfangs-
wert für die Eigen-
schaft „time bias“
neu generierter
OPCGroups vor.
Count Long Read-only Notwendige Eigen-
schaften für die
Collection, liefert
Anzahl der Einträge.

Anmerkungen: • Die Eigenschaft DefaultGroupTimeBias wird vom OPC-Server für •


SIMATIC NET nicht ausgewertet.
• DefaultGroupLocaleID hat für den OPC-Server für SIMATIC NET
keine Bedeutung.
• Die Eigenschaft DefaultGroupDeadband hat für den OPC-Server
für SIMATIC NET keine Bedeutung.

Einführung OPC-Server für SIMATIC NET


300 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.6.2 Methoden von „OPCGroups“

Item (Key As Variant) As OPCGroup

Beschreibung:
Liefert eine Referenz auf das indizierte Objekt der Collection.

Add (Optional Name As Variant) As OPCGroup

Beschreibung:
Erzeugen einer Gruppe im Server-Objekt.

Anmerkungen:
• Falls der Parameter Name leer ist oder nicht angegeben wird, ge-
neriert der OPC-Server einen Namen, der mit einem Unterstrich
beginnt (z. B. „_123456“). Benutzerdefinierte Namen sollten des-
halb nicht mit Unterstrich beginnen.

GetOPCGroup (Key As Variant) As OPCGroup

Beschreibung:
Liefert die Referenz auf eine durch den Namen oder das Server-
Handle bezeichnete OPC-Gruppe.

Remove (Key As Variant)

Beschreibung:
Löscht eine Gruppe im Server.

RemoveAll ()

Beschreibung:
Löscht alle Gruppen und Items des Servers.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 301
Die OPC-Automation-Schnittstelle für DataAccess

11.6.3 Ereignisse von „OPCGroups“

GlobalDataChange (TransactionID As Long, GroupHandle As Long, NumItems As Long, Client-


Handles() As Long, ItemValues() As Variant, Qualities() As Long,
TimeStamps() As Date)

Beschreibung:
Dieses Event vereinfacht die Bearbeitung von Ereignissen über alle
Gruppen der Collection hinweg, indem es über die Änderung des
Wertes und des Zustandes aller Items in allen Gruppen benachrichtigt.

Einführung OPC-Server für SIMATIC NET


302 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.7 Das Objekt „OPCGroup“

Beschreibung Die Klasse „OPC-Group“ verwaltet die einzelnen Prozeßvariablen, die


OPC-Items. Mit Hilfe dieser Gruppen-Objekte kann ein Client seman-
tisch sinnvolle Einheiten von OPC-Items bilden und mit diesen Opera-
tionen ausführen.

11.7.1 Eigenschaften von „OPCGroup“

Eigenschaft Typ Zugriff Kurzbeschreibung

Parent OPC Read-only- Liefert eine Referenz auf das


Server Read-only zugehörige OPC-Server Objekt.

Name String Read/Write Der Namen der Gruppe.

IsPublic Boolean Read-only Liefert „Wahr“, wenn diese


Gruppe eine Public Group ist,
ansonsten false.
IsActive Boolean Read/Write Active State der Gruppe.
Eine aktive Gruppe erzeugt Er-
eignisse für alle aktiven Items
der Gruppe.
IsSubscribed Boolean Read/Write Benachrichtigungsstatus der
Gruppe, gibt an, ob die Varia-
blen einer Gruppe überwacht
werden sollen.
ClientHandle Long Read/Write Ein vom Client vergebenes
Handle, das im Client-
Programm benutzt werden kann,
um ein Datum zu lokalisieren
(z.B. Zeile einer Tabelle)
ServerHandle Long Read-only Ein vom Server für die Gruppe
vergebenes, eindeutiges Handle.
Dieses Handle muß der Client
bei einer Reihe von Methoden,
welche die Gruppe beeinflussen,
übergeben. (z.B. Remove).
LocaleID Long Read/Write Festlegung der Sprach-ID für
vom Server gelieferte Strings
(z.B. Fehlertexte)
TimeBias Long Read/Write Liefert den Zeit-Offset, um den
Zeitstempel der Daten in die lo-
kale Zeit umzurechnen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 303
Die OPC-Automation-Schnittstelle für DataAccess

Eigenschaft Typ Zugriff Kurzbeschreibung

DeadBand Single Read/Write Angabe einer Bandbreite (in


Prozent), in der Werte-
änderungen nicht zu einer Be-
nachrichtigung führen.

UpdateRate Long Read/Write Die schnellste Rate, in der ein


Client über Änderungen der
Werte oder Zustände von
Items benachrichtigt wird.

OPCItems OPC Read-only Collections Objekt „OPCItems“


Items zur Verwaltung der Items der
Gruppe

Anmerkungen: • Die Eigenschaft TimeBias wird vom OPC-Server für SIMATIC NET
nicht ausgewertet.
• LocaleID hat für den OPC-Server für SIMATIC NET keine Bedeu-
tung.
• Die Eigenschaft DeadBand hat für den OPC-Server für
SIMATIC NET keine Bedeutung.
• Damit Wertänderungen der Items einer Gruppe über das entspre-
chende Ereignis gemeldet werden können, müssen die Eigen-
schaften „IsActive“ und „IsSubscribed“ auf „True“ gesetzt wer-
den.

Einführung OPC-Server für SIMATIC NET


304 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.7.2 Methoden von „OPCGroup“

SyncRead (Source As Integer, NumItems As Long, ServerHandles() As Long, ByRef


Values() As Variant, ByRef Errors() As Long, Optional ByRef Qualities As
Variant, Optional ByRef TimeStamps as Variant)

Beschreibung:
Synchrones Lesen der Werte, Statusinformationen oder der Zeitstem-
pel eines oder mehrerer Items einer Gruppe. Die Werte können aus
dem Cache des Servers oder direkt von der Hardware gelesen werden.
Lesen aus dem Cache ist jedoch nur möglich, wenn die Gruppe akti-
viert ist.
Anmerkungen:
Der Aufruf wird im Server zeitüberwacht. Die Zeitdauer wird durch
einen Konfigurationsparameter in der protokollspezifischen Konfigura-
tionsdatei festgelegt (Kap. 8).

SyncWrite (NumItems As Long, ServerHandles() As Long, Values() As Variant, ByRef


Errors() As Long)

Beschreibung:
Synchrones Schreiben von Werten für ein oder mehrere Items einer
Gruppe an die Hardware.
Anmerkungen:
Der Aufruf wird im Server zeitüberwacht. Die Zeitdauer wird durch
einen Konfigurationsparameter in der protokollspezifischen Konfigura-
tionsdatei festgelegt (Kap. 8).

AsyncRead ( NumItems As Long, ServerHandles() As Long, ByRef Errors() As Long,


TransactionID As Long, ByRef CancelID As Long)

Beschreibung:
Absetzen eines asynchronen Lesebefehls. Das Ergebnis wird mit dem
Event „AsyncReadComplete“ zurückgeliefert.
Anmerkungen:
Asynchrone Lesebefehle lesen immer direkt vom Gerät!
Der Aufruf wird im Server zeitüberwacht. Die Zeitdauer wird durch
einen Konfigurationsparameter in der protokollspezifischen Konfigura-
tionsdatei festgelegt (Kap. 8).

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 305
Die OPC-Automation-Schnittstelle für DataAccess

AsyncWrite (NumItems As Long, ServerHandles() As Long, Values() As Variant, ByRef


Errors() As Long, TransactionID As Long, ByRef CancelID As Long)

Beschreibung:
Absetzen eines asynchronen Schreibbefehls. Das Ergebnis wird mit
dem Event „AsyncWriteComplete“ zurückgeliefert.
Anmerkungen:
Der Aufruf wird im Server zeitüberwacht. Die Zeitdauer wird durch
einen Konfigurationsparameter in der protokollspezifischen Konfigura-
tionsdatei festgelegt (Kap. 8).

AsyncRefresh (Source As Integer, TransactionID As Long,ByRef CancelID As Long)

Beschreibung:
Anfordern eines aktuellen Wertes für jedes aktive OPC-Item. Die Er-
gebnisse werden durch das Event „DataChange“ zurückgeliefert.

AsyncCancel (TransactionID As Long)

Beschreibung:
Abbrechen eines ausstehenden asynchronen Auftrags.

Einführung OPC-Server für SIMATIC NET


306 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.7.3 Events von „OPCGroup“

Beschreibung Die OPC-Automation Schnittstelle liefert die Änderungen der Werte


aktiver Items und die Ergebnisse asynchroner Operationen mittels
Events zurück. Voraussetzung hierfür ist die Deklaration von OPC-
Groups WithEvents.

DataChange (TransactionID As Long, NumItems As Long, ClientHandles() As Long, Item-


Values() As Variant, Qualities() As Long, TimeStamps() As Date)

Beschreibung:
Das Event DataChange tritt ein, wenn festgestellt wird, daß ein aktives
Item einen geänderten Wert oder eine geänderte Quality hat. Die
Prüfung auf Werteänderung wird durch den Timer UpdateRate ange-
stoßen. Es werden nur für aktive Items innerhalb einer aktiven Gruppe
Ereignisse erzeugt.

AsyncReadComplete (TransactionID As Long, NumItems As Long, ClientHandles() As Long, Item-


Values() As Variant, Qualities() As Long, TimeStamps() As Date, Errors() As
Long)

Beschreibung:
Das Event AsyncReadComplete wird ausgelöst, wenn ein Leseauftrag
abgeschlossen ist.

AsyncWriteComplete (TransactionID As Long, NumItems As Long, ClientHandles() As Long, Er-


rors() As Long)

Beschreibung:
Das Event AsyncWriteComplete wird ausgelöst, wenn ein Schreibauf-
trag abgeschlossen ist.

AsyncCancelComplete (TransactionID As Long)

Beschreibung:
Das Event AsyncCancelComplete wird ausgelöst, wenn ein Cancel-
Auftrag abgeschlossen ist.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 307
Die OPC-Automation-Schnittstelle für DataAccess

11.8 Das Collection-Objekt „OPCItems“

Beschreibung Das Objekt OPCItems ist ein Collection-Objekt zur Erzeugung und
Verwaltung von OPC-Items. Die Default-Eigenschaften von OPCItems
legen Defaultwerte für die alle zu erzeugenden OPC-Items fest.

11.8.1 Eigenschaften von „OPCItems“

Eigenschaft Typ Zugriff Kurzbeschrei-


bung
Parent OPC Read Liefert eine Refe-
Group renz auf das zu-
gehörige OP-
CGroup Object
DefaultRequestedDataType Integer Read/Write Gibt den An-
fangswert für die
Eigenschaft „Re-
questedDataType“
neu hinzugefügter
Items vor. Der
Defaultwert ist
vbEmpty für den
kanonischen Da-
tentyp des Serv-
ers.
DefaultAccessPath String Read/Write Gibt den An-
fangswert für die
Eigenschaft „Ac-
cessPath“ neu
hinzugefügter
Items vor. Der
Defaultwert ist ein
leerer String.
DefaultIsActive Boolean Read/Write Gibt den An-
fangswert für die
Eigenschaft „Acti-
ve State“ neu hin-
zugefügter Items
vor.
Der Defaultwert ist
True.
Count Long Read-only Notwendige Ei-
genschaften für
die Collection,
liefert Anzahl der
Einträge.

Einführung OPC-Server für SIMATIC NET


308 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.8.2 Methoden von „OPCItems“

Item (ItemSpecifier As Variant) As OPCItem

Beschreibung:
Liefert eine Referenz auf das durch den Index ItemSpecifier beschrie-
bene Item der Collection.
(Die Methode „GetOPCItem“ liefert im Gegensatz dazu eine Referenz
auf das Serverhandle.)

GetOPCItem (ServerHandle As Long) As OPCItem

Beschreibung:
Liefert eine Referenz auf das durch das bei Add erzeugte Server-
handle.

AddItem (ItemID As String, ClientHandle As Long)

Beschreibung:
Fügt der Collection OPCItems einer Gruppe ein Item hinzu.

Anmerkungen:
• AddItem liefert Fehler über die Variable „Err“ bei „On Error“ zurück.
• Der Aufbau der ItemIDs für den OPC-Server für SIMATIC NET ist
in Kapitel 5 beschrieben.
• Es ist erlaubt, dasselbe OPC-Item mehrmals zur selben Gruppe
hinzuzufügen. In diesem Fall erhält trotzdem jedes dieser Items ein
eigenes Server Handle.
Die Server Handles der Items sind nur eindeutig innerhalb einer
Gruppe und nicht für alle Items aller Gruppen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 309
Die OPC-Automation-Schnittstelle für DataAccess

AddItems (Count As Long, ItemIDs() As String, ClientHandles() As Long, ByRef Ser-


verHandles() As Long, ByRef Errors() As Long, Optional RequestedDataTy-
pes As Variant, Optional AccessPaths As Variant)

Beschreibung:
Fügt der Collection OPCItems einer Gruppe mehrere Items hinzu.

Anmerkungen:
• AddItems liefert Fehler nur über das Feld „Errors“ zurück, die Feh-
lervariable „Err“ wird nicht gesetzt.
• Der Aufbau der ItemIDs für den OPC-Server für SIMATIC NET ist
in Kapitel 5 beschrieben.
• Es ist erlaubt, dasselbe OPC-Item mehrmals zur selben Gruppe
hinzuzufügen. In diesem Fall erhält trotzdem jedes dieser Items ein
eigenes Server Handle.
Die Server Handles der Items sind nur eindeutig innerhalb einer
Gruppe und nicht für alle Items aller Gruppen.

Remove (Count As Long, ServerHandles() As Long, ByRef Errors() As Long)

Beschreibung:
Löscht ein oder mehrere Items aus einer Gruppe.

Validate (Count As Long, ItemIDs() As String, ByRef Errors() As Long, Optional Re-
questedDataTypes As Variant, Optional AccessPaths As Variant)

Beschreibung:
Prüft ein oder mehrere OPC-Items auf Gültigkeit, d.h. ob es ohne
Fehler in eine Gruppe eingefügt werden könnte, und liefert Informatio-
nen wie den kanonischen Datentyp zurück.

Anmerkungen:
siehe AddItems

SetActive (Count As Long, ServerHandles() As Long, ActiveState As Boolean, ByRef


Errors() As Long)

Beschreibung:
Setzt den Aktiv-Status eines oder mehrerer Items in einer Gruppe.

Einführung OPC-Server für SIMATIC NET


310 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

SetClientHandles (Count As Long, ServerHandles() As Long, ClientHandles() As Long, ByRef


Errors() As Long)

Beschreibung:
Ändert das Client Handle eines oder mehrerer Items in einer Gruppe.

SetDataTypes (Count As Long, ServerHandles() As Long, RequestedDataTypes() As Long,


ByRef Errors() As Long)

Beschreibung:
Setzt den gewünschten Datentyp eines oder mehrerer Items in einer
Gruppe.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 311
Die OPC-Automation-Schnittstelle für DataAccess

11.9 Das Objekt „OPCItem“

Beschreibung Ein Objekt der Klasse OPC-Item repräsentiert eine Verbindung zu


einer Prozeßvariablen, zum Beispiel zum Eingabemodul einer spei-
cherprogrammierbaren Steuerung. Eine Prozeßvariable ist ein
schreibbares und/oder lesbares Datum der Prozeßperipherie, wie zum
Beispiel die Temperatur eines Kessels. Mit jeder Prozeßvariablen ist
ein Wert (Datentyp Variant), eine Quality und ein Zeitstempel verbun-
den.

Einführung OPC-Server für SIMATIC NET


312 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.9.1 Eigenschaften von „OPCItem“

Eigenschaft Typ Zugriff Kurzbeschreibung

Parent OPC Read-only Liefert eine Referenz auf das


Group übergeordnete OPCGroup
Object
ClientHandle Long Read/Write Ein vom Anwender frei defi-
nierbares Handle zur einfache-
ren Zuordnung der Prozeßva-
riablen in interne Datenstruktu-
ren des Clients.
ServerHandle Long Read-only Ein vom Server eindeutig dem
Item zugeordnetes Handle.
Dieses Handle wird bei einigen
Operation zur Identifikation ei-
nes Items benötigt.
AccessPath String Read-only Der Zugriffspfad des Items,
wie er in der Funktion Add
vorgegeben wurde.
AccessRights Long Read-only Liefert die Zugriffsrechte der
Variablen.
ItemID String Read-only Der eindeutige Namen des
Items, wie er in der Funktion
Add vorgegeben wurde.
IsActive Boolean Read/Write Legt fest, ob für dieses Item
Benachrichtigungsereignisse
generiert werden sollen.
RequestedData Integer Read/Write Der Datentyp, in dem der Wert
des Items geliefert werden
Type soll.
Value Variant Read-only Der zuletzt gültige Wert der
Variablen. (Default-Property
des Objekts OPCItem)
Quality Long Read-only Die Quality des zuletzt gelese-
nen Wertes. Die Quality macht
eine Aussage über die Gültig-
keit des Wertes der Variablen.
TimeStamp Date Read-only Der Zeitpunkt, zu dem der
letzte Wert erfaßt wurde.
CanonicalData Integer Read-only Der ursprüngliche Datentyp
Type des Items.
EUType Integer Read-only Bezeichnet den die Einheit des
gelieferten Wertes. Wenn kei-
ne Einheiten verfügbar sind, ist
der Wert stets „VT_EMPTY“.
EUInfo Variant Read-only Informationen über die Einheit
des Wertes.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 313
Die OPC-Automation-Schnittstelle für DataAccess

Anmerkungen:
Der OPC-Server für SIMATIC NET unterstützt keine Einheiten (Engi-
neering Units)

Einführung OPC-Server für SIMATIC NET


314 6GK1971-0BA00-0AA0
Die OPC-Automation-Schnittstelle für DataAccess

11.9.2 Methoden von „OPCItem“

Read (Source As Integer, Optional ByRef Value As Variant, Optional ByRef Quality
As Variant, Optional ByRef TimeStamp As Variant )

Beschreibung:
Liest synchron den Wert, die Quality und /oder den Zeitstempel dieser
Variablen.

Write (Value As Variant)

Beschreibung:
Setzt synchron den Wert dieser Variablen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 315
Die OPC-Custom-Schnittstelle für Alarms & Events

Einführung OPC-Server für SIMATIC NET


316 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für Alarms & Events

12 Die OPC-Custom-Schnittstelle für Alarms & Events

Dieses Kapitel listet die Schnittstellen und Methoden der OPC-Custom-Schnittstelle für
Alarms & Events auf. Es ist keine ausführliche Schnittstellenbeschreibung, sondern führt
SIMATICNET-spezifische Ergänzungen und Bemerkungen auf.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 317
Die OPC-Custom-Schnittstelle für Alarms & Events

12.1 Ergänzung der Schnittstellenbeschreibung für die OPC


Custom Schnittstelle für Alarms & Events

Einleitung Die ausführliche Schnittstellenbeschreibung der OPC-Schnittstellen ist


nicht Teil dieses Handbuchs. Sie liegt als englischsprachiges Original-
dokument der OPC-Foundation als Datei diesem Produkt bei. Sie fin-
den die Dokumente in dem Verzeichnis „DOC“ im Produktverzeichnis
des OPC-Servers für SIMATIC NET.

Benutzung in Die Verwendung der OPC Custom Schnittstelle für Alarms & Events-
C/C++ erfolgt analog zur Benutzung der Custom Schnittstelle für Data Access
(siehe Kap. 10.2). Es muß jedoch die ProgID für den OPC Alarm &
Events-Server verwendet werden:
OPC.SimaticNetAlarms

Beachten Sie besonders das Beispielprogramm zu OPC Alarms &


Events in dem Produktverzeichnis
"Samples\S7\Custom\AlrmEvnt\SimpleAE".

Aufbau der Die folgende Ergänzung zur Schnittstellenbeschreibung listet die Ob-
Beschreibung jekte von OPC, deren Schnittstellen, die in diesen Schnittstellen defi-
nierten Methoden auf und weist auf die besonderen Eigenschaften des
OPC-Servers für SIMATIC NET hin.

Übersicht der Objekt "OPC EventServer"


Objekte und
IOPCCommon
Schnittstellen
IOPCEventServer
IconnectionPointContainer

Objekt "OPC Event Subscription"


IOPCEventSubscriptionMgt
IconnectionPointContainer

Objekt "OPC Event Area Browser"*


IOPCEventAreaBrowser

*: von SIMATIC NET nicht unterstützt

Einführung OPC-Server für SIMATIC NET


318 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für Alarms & Events

12.2 Das Objekt "OPC Event Server"

Beschreibung Ein Client erzeugt ein Objekt der Klasse "OPC Event Server" und
wendet sich an dieses Objekt, um die Alarm&Event-Dienste in An-
spruch zu nehmen. Es bietet eine Management-Schnittstelle, über die
ein Meldeobjekt erzeugt, verschiedene Abfragen durchgeführt und
Ereignisse aktiviert werden können. Desweiteren kann der Client die
Landessprache von Ausgabetexten setzen und sich für den Empfang
von serverspezifischen Ereignissen anmelden.

ProgID Der Alarm&Event-Server für SIMATIC NET hat die ProgID


SIMATIC NET
OPC.SimaticNETAlarms

Darstellung Die nachfolgende Darstellung zeigt das Objekt „OPC-Server“ mit sei-
nen Schnittstellen.

IUnknown

IOPCEventServer
IOPCCommon
IConnectionPointContainer OPC Event
Server Objekt

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 319
Die OPC-Custom-Schnittstelle für Alarms & Events

12.2.1 Die Schnittstelle "IOPCEventServer"

Überblick Dieses ist die zentrale Schnittstelle zur Verwendung der Alarm&Event-
Funktionalität. Sie dient der Erzeugung der Subscription-Objekte, des
Area-Browsers, zur Untersuchung der Ereigniskategorien und zum
Management von Bedingungen.

GetStatus (OPCEVENTSERVERSTATUS ** ppEventServerStatus)

Beschreibung:
Liefert aktuelle Informationen zum Status des OPC-Servers. Der Sta-
tus wird als Struktur (siehe OPC Alarms & Events Spezifikation) zu-
rückgeliefert.

Anmerkungen:
• Der Client muß den für die Struktur und die szVendorInfo vom Ser-
ver angeforderten Speicher wieder freigeben.

CreateEventSubscription
(BOOL bActive, DWORD dwBufferTime, DWORD dwMaxSize,
OPCHANDLE hClientSubscription, REFIID riid, LPUNKNOWN * ppUnk,
DWORD * pdwRevisedBufferTime, DWORD * pdwRevisedMaxSize´)

Beschreibung:
Erstellt ein Meldeobjekt ("Abonnement") zur Benachrichtigung des
Clients und liefert die verlangte Schnittstelle zum Zugriff auf das Mel-
dungsobjekt zurück.

QueryAvailableFilters (DWORD * pdwFilterMask)

Beschreibung:
Liefert Informationen über die vom OPC Event Server unterstützten
Filtermöglichkeiten

Anmerkungen:
• Der OPC Event Server für SIMATIC NET unterstützt folgende
Filter:
OPC_FILTER_BY_EVENTS 0x01
OPC_FILTER_BY_CATEGORY 0x02
OPC_FILER_BY_SEVERITY 0x04
OPC_FILER_BY_SOURCE 0x16

Einführung OPC-Server für SIMATIC NET


320 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für Alarms & Events

QueryEventCategories (DWORD dwEventType, DWORD* pdwCount,


DWORD** ppdwEventCategories, LPWSTR** ppEventCategoryDescs )

Beschreibung:
Liefert die vom OPC-Event-Server angebotenen Ereigniskategorien.

Anmerkungen:
• Nur bei Angabe des Wertes OPC_SIMPLE_EVENT für den Para-
meter "dwEventType" liefert der OPC-Event-Server für SIMATIC
NET Ereigniskategorien.
• Der OPC Event Server für SIMATIC NET unterstützt folgende
Ereigniskategorien:
S7_PROCESS_SCAN 0x01
S7_PROCESS_ALARM 0x02

QueryConditionNames
(DWORD dwEventCategory, DWORD* pdwCount, LPWSTR**
ppszConditionNames)

Beschreibung:
Liefert die vom OPC-Event-Server für eine bestimmte Ereigniskatego-
rien angebotenen Bedingungen (Conditions).

Anmerkungen:
Bedingungen (Conditions) werden vom OPC-Event-Server für
SIMATIC NET nicht unterstützt.

QuerySubConditionNames
(LPWSTR szConditionName, DWORD* pdwCount, LPWSTR**
ppszSubConditionNames)

Beschreibung:
Liefert die vom OPC-Event-Server für bestimmte Ereigniskategorien
angebotenen Unterbedingungen (Subconditions).

Anmerkungen:
Unterbedingungen (Subconditions) werden vom OPC-Event-Server für
SIMATIC NET nicht unterstützt.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 321
Die OPC-Custom-Schnittstelle für Alarms & Events

QuerySourceConditions
(LPWSTR szSource, DWORD* pdwCount, LPWSTR** ppszCondi-
tionNames)

Beschreibung:
Liefert die vom OPC-Event-Server für eine bestimmte Ereignisquelle
(Source) angebotenen Bedingungen (Conditions).

Anmerkungen:
Bedingungen (Conditions) werden vom OPC-Event-Server für
SIMATIC NET nicht unterstützt.

QueryEventAttributes
(DWORD dwEventCategory, DWORD* pdwCount, DWORD**
ppdwAttrIDs, LPWSTR** ppszAttrDescs, VARTYPE** ppvtAttrTypes)

Beschreibung:
Liefert die vom OPC-Server für eine bestimmte Ereigniskategorien
angebotenen Attribute. Über Attribute werden Zusatzinformationen
(z.B. Begleitwerte) an den Client übermittelt.

Anmerkungen:
Die vom OPC-Event-Server für SIMATIC NET bereitgestellten Attri-
bute können Sie Kap. 6.2.2 entnehmen.

TranslateToItemIDs (LPWSTR szSource, DWORD dwEventCategory LPWSTR szCondi-


tionName, LPWSTR szSubconditionName, DWORD dwCount,
DWORD* pdwAssocAttrIDs, LPWSTR** ppszAttrItemIDs, LPWSTR**
ppszNodeNames, CLSID** ppCLSIDs )

Beschreibung:
Mit Hilfe dieser Funktion können die einem Ereignisattribut entspre-
chenden OPCItems zur Verwendung mit einem assoziierten OPC-
Data- Access-Server ermittelt werden.

Anmerkungen:
Die vom OPC-Event-Server für SIMATIC NET bereitgestellten Attri-
bute können nicht als ItemIDs zur Verwendung mit dem OPC-Data-
Access- Server für SIMATIC NET dargestellt werden.
TranslateToItemIDs wird vom OPC-Event-Server für SIMATIC NET
nicht unterstützt.

Einführung OPC-Server für SIMATIC NET


322 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für Alarms & Events

GetConditionState (LPWSTR szSource, LPWSTR szConditionName, DWORD dwNu-


mEventAttrs, DWORD* pdwAttributeIDs, OPCCONDITIONSTATE **
ppConditionState)

Beschreibung:
Liefert Informationen über den Zustand einer Bedingung einer Ereig-
nisquelle.

Anmerkungen:
Bedingungen (Conditions) werden vom OPC-Event-Server für
SIMATIC NET nicht unterstützt. Es wird E_NOTIMPL zurückgeliefert.

EnableConditionByArea
(DWORD dwNumAreas, LPWSTR* pszAreas)

Beschreibung:
Aktiviert alle Bedingungen für alle Ereignisquellen innerhalb der ange-
gebenen Area.

Anmerkungen:
Bedingungen (Conditions) werden vom OPC-Event-Server für
SIMATIC NET nicht unterstützt. Es wird E_NOTIMPL zurückgeliefert.

EnableConditionBySource
(DWORD dwNumSources, LPWSTR* pszSources)

Beschreibung:
Aktiviert alle Bedingungen für alle angegebenen Ereignisquellen.

Anmerkungen:
Bedingungen (Conditions) werden vom OPC-Event-Server für
SIMATIC NET nicht unterstützt. Es wird E_NOTIMPL zurückgeliefert.

DisableConditionByArea
(DWORD dwNumAreas, LPWSTR* pszAreas)

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 323
Die OPC-Custom-Schnittstelle für Alarms & Events

Beschreibung:
Deaktiviert alle Bedingungen für alle Ereignisquellen innerhalb der
angegebenen Area.

Anmerkungen:
Bedingungen (Conditions) werden vom OPC-Event-Server für
SIMATIC NET nicht unterstützt. Es wird E_NOTIMPL zurückgeliefert.

DisableConditionBySource
(DWORD dwNumSources, LPWSTR* pszSources)

Beschreibung:
Deaktiviert alle Bedingungen für alle angegebenen Ereignisquellen.

Anmerkungen:
Bedingungen (Conditions) werden vom OPC-Event-Server für
SIMATIC NET nicht unterstützt. Es wird E_NOTIMPL zurückgeliefert.

AckCondition (DWORD dwCount, LPWSTR szAcknowledgerID, LPWSTR szCom-


ment, LPWSTR* pszSource, LPWSTR* pszConditionName,
FILETIME* pftActiveTime, DWORD* pdwCookie, HRESULT
**ppErrors )

Beschreibung:
Übergabe einer Ereignisbestätigung an den Client. Es können nur be-
dingte Ereignisse bestätigt werden. Ein Ereignis wird durch die Ereig-
nisquelle, den Ereignisnamen, den Aktivierungszeitpunkt und eine
Zusatzinformation ("Cookie") identifiziert.

Anmerkungen:
Bedingungen (Conditions) werden vom OPC-Event-Server für
SIMATIC NET nicht unterstützt.

CreateAreaBrowser (REFIID riid, LPUNKNOWN* ppUnk)

Einführung OPC-Server für SIMATIC NET


324 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für Alarms & Events

Beschreibung:
Erstellt ein OPCEventAreaBrowser-Objekt zur Untersuchung des Pro-
zeßraumes.

Anmerkungen:
Areas und damit auch das Durchsuchen von Areas werden vom OPC-
Event-Server für SIMATIC NET nicht unterstützt. Es wird E_NOTIMPL
zurückgeliefert.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 325
Die OPC-Custom-Schnittstelle für Alarms & Events

12.3 Das Objekt "OPC Event Subscription"

Beschreibung Ein Objekt der Klasse "OPC Event Subscription" liefert Ereignismel-
dungen an den Client, der den Connection Point Container dieses Er-
eignisobjekts benutzt. Ein Client kann mehrere Objekte der Klasse
"OPC Event Subscription" benutzen. So könnte er für die verschieden
Objekte unterschiedliche Filter definieren.
Eine OPC Event Subscription ist im Prinzip ein "Abonnement für defi-
nierte Ereignisse".
Das Objekt "OPC Event Subscription" bietet Methoden zur Auswahl
der Meldungen,
Darstellung Die nachfolgende Darstellung zeigt das Objekt „OPC-Server“ mit sei-
nen Schnittstellen.

IUnknown

IOPCEventSubscriptionMgt
IConnectionPointContainer
OPC Event
Subscription
Objekt

Einführung OPC-Server für SIMATIC NET


326 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für Alarms & Events

12.3.1 Die Schnittstelle "IOPCEventSubscriptionMgt"

Überblick Dieses ist die zentrale Schnittstelle zur Verwaltung der Informationen
über ein bestimmtes "Ereignis-Abonnement". Über die Schnittstelle
können unter anderem die für den Client relevanten Ereignisse ausge-
wählt werden.

SetFilter (DWORD dwEventType, DWORD dwNumCategories, DWORD*


pdwEventCategories, DWORD dwLowSeverity, DWORD dwHighSe-
verity, DWORD dwNumAreas, LPWSTR* pszAreaList, DWORD
dwNumSources, LPWSTR* pszSourceList)

Beschreibung:
Stellt den Filter zur Auswahl bestimmter Ereignisse für dieses "Ereig-
nisabonnement" ein.

Anmerkungen:
Die Parameter zur Filterung haben für den OPC-Event-Server für
SIMATIC NET folgende Bedeutung:

Event Typ Es wird nur der Event Type


OPC_SIMPLE_EVENT unterstützt. Eine Filte-
rung ist nicht sinnvoll
Event Categories Mögliche Ereigniskategorien sind:
• S7_PROCESS_SCAN
• S7_PROCESS_ALARM

Severity Die Schwere der Meldung ist per default auf 600
für S7_PROCESS_ALARM bzw. auf 300 für
S7_PROCESS_SCAN festgelegt, kann jedoch
über die Konfigurationsdatei konfiguriert werden.
Areas Keine Unterstützung für Areas
Source Als Quelle kann eine Verbindungsinformation
angegeben werden. (siehe Kap. 6.2.1 )

GetFilter (DWORD* pdwEventType, DWORD* pdwNumCategories, DWORD**


ppdwEventCategories, DWORD* pdwLowSeverity, DWORD*
pdwHighSeverity, DWORD* pdwNumAreas, LPWSTR** ppszAreaList,
DWORD* pdwNumSources, LPWSTR** ppszSourceList )

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 327
Die OPC-Custom-Schnittstelle für Alarms & Events

Beschreibung:
Liefert die momentan benutzten Filter zur Auswahl bestimmter Ereig-
nisse für dieses "Ereignisabonnement" zurück.

Anmerkungen:
Die Parameter zur Filterung haben für den OPC-Event-Server für
SIMATIC NET die in der Beschreibung für die Methode "SetFilter"
angegebene Bedeutung.

SelectReturnedAttributes
(DWORD dwEventCategory, DWORD dwCount, DWORD* dwAttri-
buteIDs)

Beschreibung:
Legt die mit einer Ereignismeldung zu liefernden Attribute für eine
Ereigniskategorie fest.

Anmerkungen:
Die für den OPC Event Server für SIMATIC NET möglichen Attribute
sind in Kapitel 6.2.2 beschrieben.

GetReturnedAttributes
( DWORD dwEventCategory, DWORD * pdwCount, DWORD*
pdwAttributeIDs)

Beschreibung:
Gibt die Liste der mit einer Ereignismeldung zu liefernden Attribute für
eine Ereigniskategorie zurück.

Anmerkungen:
Die für den OPC-Event-Server für SIMATIC NET möglichen Attribute
sind in Kapitel 6.2.2 beschrieben.

Refresh (DWORD dwConnection )

Einführung OPC-Server für SIMATIC NET


328 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für Alarms & Events

Beschreibung:
Sendet alle aktiven und alle inaktiven, nicht bestätigten Bedingungs-
meldungen, die der aktuellen Filtereinstellung entsprechen, an den
Client.

Anmerkungen:
Da der OPC Event Server für SIMATIC NET nur einfache Ereignisse
(Simple Events) unterstützt, werden bei Refresh keine Ereignismel-
dungen gesendet.

CancelRefresh (DWORD dwConnection )

Beschreibung:
Unterbricht einen laufenden Refresh-Vorgang.

Anmerkungen:
Da der OPC-Event-Server für SIMATIC NET nur einfache Ereignisse
(Simple Events) unterstützt, werden bei Refresh keine Ereignismel-
dungen gesendet. Ein CancelRefresh hat damit auch keine Auswir-
kung.

GetState (BOOL * pbActive, DWORD * pdwBufferTime, DWORD * pdwMaxSi-


ze, OPCHANDLE * phClientSubscription)

Beschreibung:
Liefert den aktuellen Zustand der Event Subscription zurück.

SetState (BOOL * pbActive, DWORD * pdwBufferTime, DWORD * pdwMaxSi-


ze, OPCHANDLE hClientSubscription DWORD * pdwRevisedBuffer-
Time, DWORD * pdwRevisedMaxSize)

Beschreibung:
Ermöglicht die Einstellung verschiedener Eigenschaften einer Event
Subscription.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 329
Die OPC-Custom-Schnittstelle für Alarms & Events

12.4 Die Schnittstellen des Clients

Beschreibung Bei Verwendung von Connection Points zur Übermittlung von Ereig-
nissen an einen Client muß der Client ein COM Objekt mit den
Schnittstellen IUnknown und der aufrufspezifischen Schnittstelle (z.B.
IOPCEventSink) zum Empfang der Aufrufe bereitstellen. Bei der An-
meldung an einen Connection Point übergibt der Client einen Zeiger
auf die IUnknown Schnittstelle an den Server.

Darstellung Die nachfolgende Darstellung zeigt das vom Client zum Empfang von
Nachrichten zu realisierende Objekt mit seinen Schnittstellen.

IUnknown

IOPCEventSink
IOPCShutdown
Event Sink
Client Objekt

Einführung OPC-Server für SIMATIC NET


330 6GK1971-0BA00-0AA0
Die OPC-Custom-Schnittstelle für Alarms & Events

12.4.1 Die Schnittstelle "IOPCEventSink"

Überblick Dieses ist die zentrale Schnittstelle des Clients zum Empfang von
Nachrichten. Sie enthält eine Methode, die vom Server zur Übergabe
von Ereignissen aufgerufen wird.

OnEvent (OPCHANDLE hClientSubscription, BOOL bRefresh, BOOL bLa-


stRefresh, DWORD dwCount, ONEVENTSTRUCT* pEvents)

Beschreibung:
Übergibt eine oder mehrere Ereignismeldungen an den Client.

Anmerkungen:
Die Struktur "*pEvents" enthält ein oder mehrere Ereignisse. In folgen-
de Strukturelemente trägt der SIMATIC NET OPC-Event-Server spe-
zifische Werte ein:

SzSource Verbindungsinformation
Eine Umsetzung in eine ItemID zur Benutzung in
OPC Data Access über TranslateToItemID liefert
kein Ergebnis.
ftTime Entstehungszeitpunkt des Ereignisses in dem
Partnergerät. Der Zeitpunkt des Empfangs der
Nachricht im OPC Event Server ist in dem Attribut
"EVENT_ATTR_S7_PCTIME" abgelegt.
szMessage • SCAN<Meldungsnummer> oder
• ALARM<Meldungsnummer>
dwEventType OPC_SIMPLE_EVENT
dwEventCategory • S7_PROCESS_SCAN
• S7_PROCESS_ALARM
pEventAttributes Die Beschreibung der gelieferten Attribute finden
Sie in Kapitel 6.2.2.

Alle weiteren Strukturelemente sind nicht relevant!

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 331
Die OPC-Custom-Schnittstelle für Alarms & Events

12.4.2 Die Schnittstelle "IOPCShutdown"

Überblick Über diese Connection-Point basierte Aufrufschnittstelle kann der Ser-


ver seine Clients informieren, bevor er heruntergefahren wird oder sich
selbst beendet. In kritischen Situationen kann so der OPC-Server sei-
ne Clients benachrichtigen, damit sich diese z.B. korrekt beenden kön-
nen.

Die Schnittstelle enthält eine Methode:

ShutdownRequest (LPWSTR szReason)

Beschreibung:
Über diese Schnittstelle kann der Server seine Clients benachrichti-
gen, wenn der Server beendet wird.

Anmerkungen:
Die "Begründung" (Parameter szReason) kann über das Konfigurati-
onsprogramm für den OPC-Server gesetzt werden.

Einführung OPC-Server für SIMATIC NET


332 6GK1971-0BA00-0AA0
Wo Sie Hilfe bekommen

13 Wo Sie Hilfe bekommen

Das folgende Kapitel nennt Ansprechpartner von SIMATIC NET:


• Ansprechpartner für technische Fragen
• Ansprechpartner für Schulung von Produkten von SIMATIC NET

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 333
Wo Sie Hilfe bekommen

13.1 Hilfe bei technischen Fragen

SIMATIC Customer Support Hotline

Weltweit erreichbar zu jeder Tageszeit:

Nürnberg
Johnson City

Singapur

SIMATIC Basic Hotline

Nürnberg
SIMATIC BASIC-Hotline SIMATIC Premium-Hotline
(kostenpflichtig, nur mit SIMATIC Card)
Ortszeit:Mo bis Fr 8:00 bis 18:00 Uhr (CET) Ortszeit:Mo bis Fr 0:00 bis 24:00 Uhr (CET)
Telefon: +49 (911) -895-7000 Telefon: +49 (911) -895-7777
Fax: +49 (911) -895-7002 Fax: +49 (911) -895-7001
E-Mail: simatic.support@nbgm.siemens.de

Johnson City Singapur


SIMATIC BASIC-Hotline SIMATIC BASIC-Hotline
Ortszeit:Mo bis Fr 8:00 bis 17:00 Uhr Ortszeit: Mo bis Fr 8:30 bis 17:30 Uhr
Telefon: +1 423 461-2522 Telefon: +65 740-7000
Fax: +1 423 461-2231 Fax: +65 740-7376
E-Mail: simatic.hotline@sea.siemens.com E-Mail: simatic.hotline@sae.siemens.com.sg

Einführung OPC-Server für SIMATIC NET


334 6GK1971-0BA00-0AA0
Wo Sie Hilfe bekommen

SIMATIC Customer Support Online-Dienste

Das SIMATIC Customer Support bietet Ihnen über die Online-Dienste umfangrei-
che, zusätzliche Informationen zu den SIMATIC-Produkten:

1. Allgemeine, aktuelle Information erhalten Sie:

im Internet (http://www.ad.siemens.de/simatic)

über Fax-Polling

2. Aktuelle Produktinformation und Downloads, die beim Einsatz nützlich sein


können erhalten Sie:

im Internet (http://www.ad.siemens.de/support/html-00)

über das Bulletin Board System (BBS) der SIMATIC Customer Support Mailbox
in Nürnberg (Tel.: +49 (911) - 895-7100)

Verwenden Sie zur Anwahl der Mailbox ein Modem mit bis zu 28,8 kbit/s,
V.34 (Parameter: 8, N, 1, ANSI) oder ISDN (Parameter: x.75, 64 kbit/s)

SIMATIC Trainings-Center

Um Ihnen den Einstieg in das Automatisierungssystem SIMATIC S7 zu erleichtern,


bieten wir entsprechende Kurse an. Wenden Sie sich bitte an Ihr regionales Trai-
nings-Center oder an das zentrale Trainings-Center in D-90327 Nürnberg,
Tel. 0911-895-3154.

Autorisierung

Beachten Sie, daß Sie dieses Software-Produkt nur dann betreiben können, wenn
Sie im Besitz einer gültigen Autorisierung sind.

Das Produkt wird mit einer Schlüsseldiskette (Autorisierungsdiskette) ausgeliefert.

Hinweis
Sie können zu Test- oder Demonstrationszwecken das Software-Produkt auch
ohne Lizenz im Demo-Modus installieren, um sich die Funktionsweise vertraut zu
machen.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 335
Wo Sie Hilfe bekommen

Normen und Zulassungen

Die S7-300 erfüllt die Anforderungen und Kriterien der IEC 1131, Teil 2. Die
S7-300 erfüllt die Anforderungen zur CE-Kennzeichnung. Für die S7-300 liegen
die Zulassungen für CSA, UL und FM vor.

Reycling und Entsorgung

Die SIMATIC S7-300 ist auf Grund ihrer schadstoffarmen Ausrüstung recycling-
fähig.

Für ein umweltverträgliches Recycling und die Entsorgung Ihrer Alt-SIMATIC


wenden Sie sich an:

Siemens Aktiengesellschaft
Anlagenbau und Technische Dienstleistung
ATD ERC Essen Recyling/Remarketing
Fronhauser Str. 69
45 127 Essen

Telefon: 0201-816-1540 (Hotline)


Telefax: 0201-816-1506

Einführung OPC-Server für SIMATIC NET


336 6GK1971-0BA00-0AA0
Wo Sie Hilfe bekommen

13.2 Ansprechpartner für Schulung von SIMATIC NET

Kursanmeldung Siemens AG
Trainings-Center für Automatisierungstechnik
AUT 959 Kursbüro
Östliche Rheinbrückenstraße 50
76181 Karlsruhe

Telefon 0721 - 595 - 2917


vom Ausland +49 - 721 - 595 - 2917
Fax 0721 - 595 - 6987
vom Ausland +49 - 721 - 595 - 6987

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 337
Glossar

Einführung OPC-Server für SIMATIC NET


338 6GK1971-0BA00-0AA0
Glossar

14 Glossar

Applikation Bezeichnung für Anwenderprogramme

AS-Interface Aktor Sensor Interface - Leitung für den direkten Anschluß einfacher
binärer Sensoren und Aktoren (Übertragung geringer Informations-
mengen)

COM Component Object Model - Spezifikation der Firma Microsoft für


Windows-Objekte, Grundlage von OLE

DCOM Distributed COM - Erweiterung des COM-Standards, der die Verteilung


von COM-Objekten in einem Netzwerk ermöglicht.

DLL Dynamic Link Library - Sammlung von Funktionen, die mehreren Pro-
grammen zur Verfügung stehen, aber nur einmal in den Speicher ge-
laden werden (Windows/Windows-NT-Eigenschaft).

DP-Protokoll Protokoll für die Datenübertragung zu dezentraler Peripherie über ein


DP-Netz -> PROFIBUS

FMS Fieldbus Message Specification, -> PROFIBUS-Protokoll zur komfor-


tablen Kommunikation auf Basis der Ebene 7 des ISO/OSI Referenz-
modells

Industrial Ethernet Bussystem für den Industrieeinsatz auf Ethernet-Basis (früher


SINEC H1)

Netz Ein Netz besteht aus einem oder mehreren verknüpften Subnetzen mit
einer beliebigen Zahl von Teilnehmern. Es können mehrere Netze
nebeneinander bestehen.

OLE Object Linking and Embedding - Zentrales Architekturprinzip der


Windows-Versionen Windows 95, Windows NT sowie Basis der
Windows-Anwendungs-Software unter Windows 3.x

OPC OLE for Process Control - Industriestandard, der einen herstellerunab-


hängigen Zugang zu industriellen Kommunikationsnetzen auf Basis
von OLE definiert.

Einführung OPC-Server für SIMATIC NET


6GK1971-0BA00-0AA0 339
Glossar

OPC-Client Anwenderprogramm, das über die OPC-Schnittstelle einen OPC-


Server benutzt, um auf Prozeßdaten zuzugreifen.

OPC-Server Ein OPC-Server ist ein Produkt, das dem OPC-Client umfangreiche
Funktionen anbietet, um über Industrielle Netze zu kommunizieren.

PROFIBUS Process Field Bus - Europäische Feldbusnorm

SIMATIC Begriff für Produkte und Systeme der industriellen Automatisierung


von Siemens

SIMATIC NET Siemens-Geschäftszweig Industrielle Kommunikation für Netze und


Netzkomponenten

SPS Speicherprogrammierbare Steuerung - Schnittstelle zwischen Senso-


ren und Produktionsmaschinen, dient aber auch der Kommunikation
und dem Datentransport zwischen dem Bediener und dem gesamten
Ablauf innerhalb der Produktion.

SR Send/Receive, SIMATIC NET Protokoll zur einfachen, aber perfor-


manten Kommunikation auf Ebene 4 des ISO/OSI-Referenzmodells.

UTC Coordinated Universal Time - Koordinierte Weltzeit, die atomzeitliche


Universal Time (UT); seit 1967 weltweite Zeitangabe in Atomzeit statt
astronomischer Zeit.

VBA Visual Basic for Applications - Makro-Sprache verschiedener Büro-


applikationen der Firma Microsoft

Einführung OPC-Server für SIMATIC NET


340 6GK1971-0BA00-0AA0
Anhang A
SIMATIC COMPUTING
A SIMATIC Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
A.1 Erste Schritte mit Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
A.1.1 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
A.1.2 Erstellen eines Beispiel I/O Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
A.1.3 Verbindung des Third-Party Controls mit einem SIMATIC Data Control . A-9
A.1.4 Einsatz von Computing mit Microsoft Excel 97 . . . . . . . . . . . . . . . . . . . . . . A-12
A.2 Produktübersicht und Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-16
A.2.1 Zugreifen auf Prozeßdaten mittels ActiveX Controls . . . . . . . . . . . . . . . . . . A-16
A.3 Zugreifen auf Prozeßdaten mittels SIMATIC Data Control . . . . . . . . . . . . . A-17
A.3.1 Verbindung des SIMATIC Controls mit der Control Engine . . . . . . . . . . . . A-18
A.3.2 Konfigurieren der Data Control Verbindungseigenschaften . . . . . . . . . . . . A-19
A.3.3 Auswahl der Control Engine für das Data Control . . . . . . . . . . . . . . . . . . . . A-21
A.3.4 Verbindung zu einer spezifischen Control Engine über DCOM . . . . . . . . . A-23
A.3.5 Verbindung des ActiveX Controls mit der Control Engine . . . . . . . . . . . . . . A-25
A.3.6 Filtern der Eigenschaften eines ActiveX Controls . . . . . . . . . . . . . . . . . . . . A-28
A.3.7 Konfiguration von Ereignissen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-30
A.3.8 Erstellen einer Verbindungstabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-31
A.3.9 Beispielprogramm für die Erstellung einer Verbindungs- und
einer Eventtabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-32
A.3.10 Beispielprogramm zur Reaktion auf Events . . . . . . . . . . . . . . . . . . . . . . . . . A-34
A.3.11 Beispielprogramme für das Lesen und Schreiben von Daten . . . . . . . . . . A-39
A.3.12 Beispielprogramm für das Lesen und das Schreiben von Boolean Daten A-42
A.3.13 Eigenschaften, Methoden und Ereignisse des SIMATIC Controls . . . . . . A-43
A.4 Eigenschaften und Methoden der SIMATIC Controls . . . . . . . . . . . . . . . . . A-45
A.4.1 Eigenschaft “Activated” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-45
A.4.2 Eigenschaft “Alignment” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-45
A.4.3 Eigenschaft “Appearance” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-46
A.4.4 Eigenschaft “AutoConnect” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-47
A.4.5 Eigenschaft “AutoConnectTimeout“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .