Sie sind auf Seite 1von 21

CoDeSys OPC-Server V2.

0
Installation und Benutzung

Dokument Version 1.7


tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 1 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

INHALT

1 ÜBERSICHT ÜBER OPC 3

2 INSTALLATION DES CODESYS OPC-SERVERS 6


2.1 Benötigte Dateien 6
2.2 Installation und Registrierung 6

3 BENUTZUNG DES CODESYS OPC-SERVERS 8


3.1 CoDeSys Programmiersystem: Erzeugen der Datenobjekte für ein Projekt 8
3.2 Info, welche Symboleinträge aktuell zu bearbeiten sind und Konfiguration des OPC-
Servers mit OPCconfig.exe 9
3.2.1 Menü 'Datei' 9
3.2.2 Menü 'Bearbeiten' 10
3.2.3 Single-PLC - Konfiguration 11
3.2.4 Multi-PLC-Konfiguration 14
3.2.5 Registry-Einträge (Beispiel) 14
3.3 Start von CoDeSysOPC.exe 15

4 VERBINDUNG ZU OPC-SERVER AUF ANDEREM RECHNER / DCOMCNFG.EXE 16

5 SERVICE PACKS FÜR WINDOWS 95 / WINDOWS 98 16

6 BEISPIEL EINER INI-DATEI FÜR DIE OPC-SERVER KONFIGURATION 17

7 FEHLERDIAGNOSE 19
7.1 Mittel zur Fehlerdiagnose 19
7.2 Kurz-Checkliste 19
7.3 Bestimmte Fehlerfälle 20

ÄNDERUNGSHISTORIE 21
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 2 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

1 Übersicht über OPC

OPC1 ist eine standardisierte Schnittstelle zum Zugriff auf Prozessdaten. Sie basiert auf dem
Microsoft Standard COM/DCOM2 und wurde für die Bedürfnisse der Datenzugriffs in der
Automatisierung erweitert. Dort wird sie vorwiegend zum Lesen und Schreiben von Werten aus der
Steuerung verwendet. OPC-Clients sind typischerweise Visualisierungen, Programme zur
Betriebsdatenerfassung etc. OPC-Server werden typischerweise für SPS-Systeme und Feldbuskarten
zur Verfügung gestellt.
Der OPC-Server ist keine passive Unterprogrammbibliothek, sondern ein ausführbares Programm,
das bei einem Verbindungsaufbau zwischen Client und Steuerung gestartet wird. Deshalb kann er
den Client benachrichtigen, wenn sich ein Variablenwert oder -status geändert hat.
Aufgrund der Eigenschaften von DCOM kann auch auf einen OPC-Server zugegriffen werden, der auf
einem anderen Rechner läuft. Ebenfalls ist es möglich, dass über OPC mehr als nur ein Client
gleichzeitig auf die Datenquelle zugreift. Ein weiterer Vorteil, den OPC durch den Einsatz von COM
gewinnt, ist die Verwendbarkeit von verschiedenen Sprachen (C++, Visual Basic, Delphi, Java).
Demgegenüber steht allerdings ein deutlich höherer Ressourcenverbrauch (Speicher und CPU-Zeit).

Bitte beachten: Der CoDeSys OPC-Server V2.0 ist in der Lage, mit allen CoDeSys-programmierbaren
Steuerungen zu kommunizieren. Er erfüllt die Forderungen des OPC Standards V2.0.

Architektur des CoDeSys OPC-Servers V2.0:

CoDeSys Visualisierung 1 Visualisierung 2


Programmier
system
OPC-Client OPC-Client

COM / DCOM

Item-Liste,
CoDeSys aus
Symboldatei
OPC-Server
erzeugt

TCP/IP oder Shared Memory

Symboldatei
für Projekte Gateway
auf PLC 1
und/oder
PLC 2

gleichzeitige
TCP/IP, Serial, Pipe etc. Verbindung
zu mehreren
Steuerungen möglich

PLC 1 PLC 2
tech_doc_d.dot, / V1.0

Der CoDeSys OPC-Server stützt sich auf den CoDeSys Gateway Server (Gateway) ab

1
OPC = OLE for Process Control; OLE = Object Linking and Embedding
Für weitere Informationen siehe auch www.opcfoundation.org und www.opc_europe.org
2
COM = Component Object Model (Basis für OLE); DCOM = Distributed Component Object Model

 3S - Smart Software Solutions GmbH Seite 3 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

Bitte beachten: Die Symboldatei ist die Grundlage für den Datenaustausch über den CoDeSys
OPC-Server:

Wird aus dem CoDeSys Programmiersystem ein Projekt auf die Steuerung geladen, kann gleichzeitig
eine Symboldatei (*.sym oder *.sdb) erzeugt und im Gateway bzw. ggfs. auf der Steuerung abgelegt
werden. Die Symboldatei enthält so genannte „Items“. Ein Item (Datenobjekt) entspricht exakt einer
Variablen im Steuerungsprogramm. Über diese Items können die Variablenwerte auf der Steuerung
angesprochen werden. (Mehr Informationen zur Symboldatei siehe in Dokument symbolfile_d.pdf !)
Der OPC-Server fordert den Inhalt der Symboldatei vom Gateway an und erstellt daraus eine Item-
Liste. Da der Inhalt der Item-Liste dadurch festgelegt wird, welche Variablen in der Steuerung zur
Verfügung stehen, kann sie nicht vom OPC-Clients beeinflusst werden. Der OPC-Server liest jeweils
die für ein Projekt zuletzt über den Gateway-Kanal geladene Symboldatei. Items verschiedener
Projekte, also verschiedene Steuerungsprogramme, können gleichzeitig angesprochen werden, wenn
die Symboldateien über denselben Gateway-Kanal erzeugt wurden.
Die Item-Liste im OPC-Server wird in festlegbaren Zeitintervallen mit den Werten aus der (den)
Steuerung(en) aktualisiert. Lesen und Schreiben der Variablenwerte über diese Cache-Liste bringt
gegenüber dem direkten Zugriff auf die Steuerung den Vorteil der schnellen Zugriffszeiten (max. ca.
1ms pro Item).
Ein Erfahrungswert für die vom OPC gut zu bewältigende Menge beim Übernehmen in die
Item-Liste: ca. 15 000 Items, Symbolfile ca. 1.5 MB. Die Auslastung beim Lesen und
Schreiben der Variablenwerte hängt natürlich davon ab, wie viele der Items auf 'aktiv' gesetzt
sind und damit beim Aktualisieren der Werte berücksichtigt werden müssen.

Der OPC-Server unterstützt eine Gruppierung der Daten. Dabei unterscheidet man zwischen
"öffentlichen Gruppen" (public groups), die vom OPC-Server zur Verfügung gestellt werden können
und "privaten Gruppen" (private groups), die sich ein Client zusammenstellen kann.
Wenn die entsprechende Option in der Konfiguration aktiviert ist, gruppiert der OPC-Server die Items,
also Variablen eines Projekts bausteinweise. Pro Baustein wird dann eine 'public group' erstellt.
Die 'private groups' können im Client nach Belieben aus einzelnen Items zusammengestellt werden,
sie haben zunächst keinen Einfluss auf die Gruppierungen im OPC-Server, können jedoch bei Bedarf
zu 'public groups' gemacht werden. Private groups bieten sich beispielsweise an, um bestimmte
Variablengruppen mit einem einzigen Kommando aktiv bzw. inaktiv setzen zu können, je nachdem ob
auf sie zugegriffen werden soll oder nicht.
Gruppierte Daten sollten vom OPC-Server konsistent, d.h. alle Variablen zu einem Zeitpunkt, gelesen
werden. Zu beachten ist, dass dies bei Zielsystemen mit begrenzten Kommunikationspuffern nicht
immer möglich ist !

Bitte beachten: Es ist möglich, einen OPC-Server auf einem anderen Rechner im Netzwerk anzusprechen,
wenn auch auf dem lokalen Rechner ein OPC-Server läuft.

Neu gegenüber CoDeSys OPC-Server V1.0:


- Eine Aktualisierung der Symbolliste ist möglich, ohne dass ein Client gestoppt werden muss.
- Eine Multi-PLC-Konfiguration ist möglich: Verbindung vom Client zu mehreren Steuerungen
gleichzeitig.
- Export und Import der OPC-Konfiguration ist möglich (Textdatei *.ini).

"Offline Laden" der Symbole bei Verwendung der aktuellen Versionen von OPC-Server (ab
tech_doc_d.dot, / V1.0

V2.3.8.4) und Gateway-Server (ab V2.3.3.3):


Bisher: Wenn beim Starten des OPC-Clients die entsprechende Steuerung nicht lief bzw. keine
Verbindung hergestellt werden konnte, konnten auch keine Symbolinformationen angezeigt werden,
obwohl ja meist aus einer früheren Kommunikation mit der Steuerung bereits eine Symboldatei im
lokalen Upload-Verzeichnis (siehe CoDeSys Optionen, Verzeichnisse) oder im Gateway-Upload-
Verzeichnis vorlag.

 3S - Smart Software Solutions GmbH Seite 4 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

Jetzt: Nun ist es so, dass in diesem Fall nach einem solchen Symbolfile gesucht wird, zunächst im
Upload-Verzeichnis und wenn da nichts gefunden wird, im Gateway Upload-Verzeichnis, und die
entsprechenden Symbole dann zumindest angezeigt werden ("Offline Laden"), wenn auch natürlich
mit "Quality: Bad". Dies funktioniert allerdings derzeit nur, wenn in der OPC-Konfiguration (siehe Kap.
3.2) der entsprechende Projektname angegeben ist !
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 5 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

2 Installation des CoDeSys OPC-Servers

2.1 Benötigte Dateien


1. Gateway-Dateien:
Gateway.exe, GClient.dll, GUtil.dll, GDrvBase.dll, GDrvStd.dll und GSymbol.dll
Für den OPC-Server 2.0 ist der Gateway SP10 bzw. höher erforderlich !
Die Gateway-Dateien müssen sich in einem Verzeichnis befinden, welches über den eingestellten
Pfad erreicht werden kann, etwa unter WINNT/system32 (Windows NT) oder unter
windows/system (Windows 95):
Nach dem ersten Start des Gateway wird in der Registry der Pfad für das Verzeichnis 'Gateway
Files' eingerichtet (Default: C:\WINNT\Gateway Files). In dieses Verzeichnis werden beim
Verbindungsaufbau zur Steuerung die vorher von CoDeSys erzeugten und im Projektverzeichnis
abgelegten Symboldateien kopiert: je nach Gateway-Version handelt es sich dabei um die
Symboldateien *.sym oder deren binäre Version (*.sdb). Letztere kann vom OPC-Server schneller
gelesen werden.
2. OPC-Server-Dateien: für Setup und Betrieb
Diese können in ein beliebiges Verzeichnis gestellt werden, wobei die DLLs und OPCenum.exe in
einem Unterverzeichnis REDIST liegen müssen:
- CoDeSysOPC.EXE (OPC-Server)
- OPCCommonSetup.EXE (Setup für untenstehende Dateien)
Unterverzeichnis REDIST (Standard OPC 2.0 Dateien):
- OPCPROXY.DLL
- OPCCOMN_PS.DLL
- CALLRPROXY.DLL
- OCSDAAuto.DLL
- OCSSpy_PS.DLL
- OPCenum.EXE
3. OPCConfig.exe: Konfigurationswerkzeug
Einstellen/Überprüfen der Kommunikationsparameter bzw. Server-Einstellungen (Registry-
Einträge)
4. DCOMCNFG.EXE (C:\WinNT\System32): Verwendung zum Herstellen einer Verbindung zu
einem OPC-Server, der auf einem anderen Rechner installiert ist (siehe Kapitel 4)

2.2 Installation und Registrierung


1. Gleichzeitige Installation und Registrierung
Mit dem Befehl
"CoDeSysOPC /Install“ (u.U. EXE-Pfad angeben)
im Dialog 'Ausführen' wird ein Setup (OPCCommonSetup.exe) gestartet, das die Installation der OPC-
Dateien durchführt. Danach registriert sich der OPC-Servers automatisch. Über den Erfolg der
tech_doc_d.dot, / V1.0

Registrierung wird eine Meldung ausgegeben.

2. Registrierung bei bereits erfolgter Installation


Mit dem Befehl
„CoDeSysOPC /RegServer“ (u.U. EXE-Pfad angeben)
 3S - Smart Software Solutions GmbH Seite 6 von 21
OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

wird ausschließlich die Registrierung des OPC-Servers veranlasst. Die Installation der erforderlichen
Dateien muss vorher bereits erfolgt sein. Über den Erfolg der Registrierung wird eine Meldung
ausgegeben. Diese Möglichkeit der separierten Registrierung ist wichtig für Updates oder Setup-
Erstellung.
(zu Registry-Einträgen siehe weiterhin 3.2.5)

3. Deinstallieren des OPC-Servers


Die Registrierung des OPC-Servers erfolgt mit dem Befehl CoDeSysOPC /UnRegServer oder
CoDeSysOPC /DeInstall. Die Einträge in der Registry werden daraufhin gelöscht. Die installierten
Dateien werden allerdings nicht entfernt !
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 7 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

3 Benutzung des CoDeSys OPC-Servers

Nach der Installation des OPC-Servers sollte dieser vom OPC-Client (z.B. Visualisierung) zur Auswahl
angeboten werden.
Um aus dem CoDeSys Programmiersystem dem OPC-Server Datenobjekte eines Projekts zur
Verfügung zu stellen und einen Verbindungsaufbau über OPC zu erreichen, führen Sie nachfolgende
Schritte 3.1 bis 3.3 durch:

3.1 CoDeSys Programmiersystem: Erzeugen der Datenobjekte für ein Projekt


Schritt 1: 'Projekt' 'Optionen' 'Symbolkonfiguration': 'Symboleinträge erzeugen' anwählen:
Der Gateway stützt sich nicht auf ein Projektfile, sondern auf ein Symbolfile gleichen Namens mit der
Erweiterung „.sym“ bzw. „.sdb“ (binär), das die Symboleinträge für die Projektvariablen enthält (siehe
2.1, Dateien). Damit dieses Symbolfile automatisch bei jedem Übersetzen erzeugt wird, muss
'Symboleinträge erzeugen' aktiviert sein.
Schritt 2: Konfigurieren des Symbolfiles:
Im Dialog 'Objektattribute setzen' (dorthin gelangen Sie über 'Optionen\Symbolkonfiguration\
Symbolfile konfigurieren' ) können im Strukturbaum des Projekts die Bausteine markiert werden, für
die die Symboloptionen gesetzt werden sollen.
Folgende Optionen werden unterstützt:
ƒ 'Variablen des Objekts ausgeben': Die Variablen des gewählten Objektes werden ins Symbolfile
ausgegeben.
ƒ 'Sammeleinträge ausgeben': Für Strukturen und Arrays des Objektes werden Einträge zum
Zugriff auf die Gesamtvariablen erzeugt. Voraussetzung: 'Variablen des Objekts ausgeben'
aktiviert.
ƒ 'Strukturkomponenten ausgeben': Für Strukturen des Objektes wird für jede
Variablenkomponente ein eigener Eintrag erzeugt. Voraussetzung: 'Variablen des Objekts
ausgeben' aktiviert.
ƒ 'Feldkomponenten ausgeben': Für Arrays des Objektes wird für jede Variablenkomponente ein
eigener Eintrag erzeugt. Voraussetzung: 'Variablen des Objekts ausgeben' aktiviert.
ƒ 'Schreibzugriff': Die Variablen des Objektes dürfen vom OPC-Server verändert werden.

Schritt 3: Einstellen der Kommunikationsparameter im Projekt:


Im Dialog 'Online' 'Kommunikationsparameter' wird der Kanal des verwendeten Gateways eingestellt.
(zur Gateway-Konfiguration siehe auch CoDeSys Handbuch). Diese Einstellung muß mit der
übereinstimmen, die im OPC-Server konfiguriert ist. Der OPC-Server startet automatisch mit der
zuletzt benutzten Verbindungseinstellung (in der Registry eingetragen), diese kann in OPCconfig.exe
überprüft/verändert werden. Zur OPC-Konfiguration siehe Kapitel 3.
! für Multi-PLC-Konfiguration: Soll über den OPC-Server auf die Variablenwerte aus mehreren
Steuerungen zugegriffen werden, müssen die jeweiligen Projekte über denselben Gateway-Kanal auf
diese Steuerungen geladen werden. D.h., für jedes Projekt wird für den Download in den
Kommunikationsparametern bei 'Gateway' die gleiche Verbindung eingestellt und beim Eintragen des
Gateway-Kanals zur Steuerung (unter 'Neu') die Adresse der Zielsteuerung eingetragen.
tech_doc_d.dot, / V1.0

Schritt 4, optional: Projekt speichern -> Kommunikationsparameter werden mit Projekt gespeichert,
(nach dem Einloggen auch im Gateway)

 3S - Smart Software Solutions GmbH Seite 8 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

Schritt 5: Erzeugen des Symbolfiles und Übertragung an den Gateway durch 'Online' 'Einloggen' ->
'Laden'
Beim Übersetzen des Projekts wird das Symbolfile erzeugt und im Projektverzeichnis abgelegt, beim
Projekt-Download ('Online' 'Einloggen' -> 'Laden') wird es zusätzlich mit den aktuellen Einstellungen in
den Gateway geladen (Verzeichnis 'Gateway Files').
Zu beachten: Die Anzahl der Symbole sollte nicht größer als ca. 15 000 sein (entspricht einer Größe
der Symboldatei *.sym von ca. 1.5 MB)
Die Schreibweise der Variablen in der Symboldatei ist dieselbe wie im Watchfenster.
Also z.B.
PLC_PRG.A
PLC_PRG.Struktur.XU4]
.GlobVar1
Auf direkte Adressen kann nicht zugegriffen werden.

3.2 Info, welche Symboleinträge aktuell zu bearbeiten sind und


Konfiguration des OPC-Servers mit OPCconfig.exe
Da ein OPC-Server Daten verschiedener Clients bedient, muss klar sein, die Symboleinträge welchen
Projekts aktuell zu übertragen sind. Im OPC-Standard gibt es keine Schnittstelle zur Übertragung
dieser Information. Deshalb wird die Projektkennung bei jedem Projekt-Download in der Registry
hinterlegt (Einträge siehe unten). Der OPC-Server liest diese Kennung und sucht nach der
Symboldatei mit der gleich lautenden.
Ö Führen Sie unmittelbar vor Einsatz des OPC-Servers einen Download des gewünschten Projekts
auf die jeweilige Zielsteuerung durch.
Ö Werden im Projekt Variablen hinzugefügt oder gelöscht, kann ein aktualisierter Stand der Itemliste
durch einen erneuten Download (mit aktivierter Option 'Symboleinträge erzeugen) erzeugt
werden, ohne dass sich OPC-Client und –Server beenden müssen. Der Client erhält
beispielsweise dann beim Zugriffsversuch auf eine gelöschte Variable eine entsprechende
Meldung.
Ö Beachten Sie, dass ein eventuell vorliegendes Bootprojekt nicht mehr mit einem geänderten und
neu herunter geladenen Projekt übereinstimmt !

Starten Sie den Konfigurator OPCConfig.exe zur Konfiguration des OPC-Servers und damit der
Bearbeitung der entsprechenden Registry-Einträge (siehe 3.2.5).
! Wichtig ist in erster Linie die Konfiguration des vom OPC-Server verwendeten
Kommunikationskanals, der mit dem im CoDeSys Projekt verwendeten übereinstimmen muss.

Im nachfolgenden werden die Befehle der Menüs 'Datei' und 'Bearbeiten' sowie die speziellen Dialoge
zur Single-PLC- und Multi PLC-Konfiguration beschrieben.
Hinweis: Beachten Sie die Möglichkeit, eine gewünschte Konfiguration auch über Kommandozeile in
den Konfigurator zu laden. Sehen Sie hierzu die Beschreibung von ‚Datei’ ‚Importieren’ in Kapitel
3.2.1.

3.2.1 Menü 'Datei'


tech_doc_d.dot, / V1.0

'Öffnen' Dieser Befehl öffnet die zuletzt mit 'Datei' 'Speichern' gespeicherte
Konfiguration.
'Speichern' Ist die Konfiguration von Server, PLC(s), Verbindung(en)
abgeschlossen, muss sie über diesen Befehl gespeichert werden, um
gültig zu werden.

 3S - Smart Software Solutions GmbH Seite 9 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

'Neu' Dieser Befehl öffnet eine neu zu erstellende Konfiguration. Das heißt,
die Dialoge enthalten die Standardeingaben bzw. leere Eingabefelder.
'Exportieren' Die aktuelle Konfiguration kann über diesen Befehl in eine Textdatei
'Importieren exportiert werden. Hierzu erscheint der Standard-Dialog 'Datei
speichern unter' und ermöglicht die Eingabe eines Dateinamens, wobei
automatisch die Standard-Erweiterung ".ini" vergeben wird. Die ini-Datei
enthält die Konfigurationsparameter und kann editiert und mit dem
Befehl 'Datei' 'Import' wieder importiert werden. Zum Import werden im
Standard-Dialog 'Datei öffnen' die vorliegenden ini-Dateien angeboten.
Siehe ein Beispiel einer ini-Datei in Kapitel 6.

Hinweis: Import einer Konfigurationsdatei über Kommandozeile:


Ab Version 2.3.6.0 des OPC-Servers kann über die folgende
Kommandozeile eine Konfigurations-ini-Datei in den Konfigurator
importiert werden, die zuvor durch Export erstellt wurde:

OPCConfig.exe /auto <Export-File.ini>

Der Konfigurator wird durch diesen Befehl automatisch geöffnet, die


angegebene ini-Datei wird eingelesen, gespeichert und der Konfigurator
danach wieder geschlossen.

3.2.2 Menü 'Bearbeiten'


Abhängig davon, ob im Konfigurationsbaum 'Server', 'PLC' oder 'Verbindung' markiert ist bzw. ob eine
Single-PLC oder Multi-PLC-Konfiguration vorgenommen wird, stehen folgende Befehle zur Verfügung:

'PLC anhängen' Multi-PLC, Einstellungen für den OPC-Server:


Eine weitere Steuerung wird in die Konfiguration eingefügt,
siehe 3.2.4
'PLC umbenennen' Multi-PLC, Einstellungen für den OPC-Server:
Eine in der Konfiguration eingefügte Steuerung wird umbenannt,
siehe 3.2.4
'PLC löschen' Multi-PLC, Einstellungen für den OPC-Server:
Eine in der Konfiguration eingefügte Steuerung wird wieder gelöscht,
siehe 3.2.4
'PLC zurücksetzen' Single-PLC und Multi-PLC, Einstellungen für PLC:
Die unter 'Bearbeiten' 'PLC Voreinstellungen' gesetzten
Konfigurationsparameter werden aus der Registry geladen
'PLC Voreinstellungen' immer verfügbar:
Der Dialog 'Default Settings' öffnet, in dem selbstdefinierte Werte für die
PLC-Konfigurationseinstellungen eingetragen werden können. Der
Dialog entspricht dem der 'Einstellungen für die PLC' (siehe 3.2.3). Die
hier eingestellten Werte werden nach Bestätigen des Dialogs mit OK in
der Registry gespeichert. Sie können mit dem Befehl 'Bearbeiten' 'PLC
zurücksetzen' für eine im Konfigurationsbaum markierte PLC wieder
geladen werden.
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 10 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

3.2.3 Single-PLC - Konfiguration


Nach Start des Programms erscheint als Standardeinstellung folgender Dialog:

Per Default ist eine Single-PLC-Konfiguration vor eingestellt, d.h. es ist nur 1 Steuerung an den
Server angebunden (zu Multi-PLC siehe 3.2.4). Für die Single-PLC-Konfiguration gelten folgende
Einstellungsmöglichkeiten:
Im linken Teil des Fensters werden Server, Steuerung (PLC) und Verbindung als per Mausklick
anwählbare Einträge in einer Baumstruktur dargestellt. Im rechten Teil erscheint der Dialog zur
Konfiguration des im Baum markierten Eintrags. Das Menü 'Bearbeiten' wird für die Single-PLC-
Konfiguration nicht benötigt.
Ist im Konfigurationsbaum der oberste Eintrag 'Server' markiert, können im rechten Fensterteil
folgende Einstellungen für den Server vorgenommen werden:
- Update Rate (ms): Default: 200
Basis Updaterate in Millisekunden des OPC-Servers = Zykluszeit, mit der alle Itemwerte neu
aus der Steuerung gelesen werden. (diese Werte werden in den Cash geschrieben, mit dem
der Client mit separat definierter Update Rate kommuniziert). Anmerkung: Der Server liefert in
seiner Statusinformation den Parameter ‚Bandwidth Usage’, der das Verhältnis der tatsächlich
benötigten zur hier konfigurierten Update Rate in Prozent angibt.
- Public Groups: Default: aktiviert (Haken)
Der OPC-Server legt für jeden IEC-Baustein sowie für die globalen Variablen eine Public
Group an.
- Sync Init: Default: aktiviert (Haken)
Synchrone Initialisierung: Der OPC-Server reagiert beim Starten erst, wenn die
Symbolkonfiguration geladen wurde.
- Log Events: Default: aktiviert (Haken)
Die am OPC-Server erfolgten Aktionen und auftretenden Fehler werden protokolliert und in
einer Log-Datei gespeichert. Die Datei wird im Projektverzeichnis angelegt und erhält den
Namen OPCServer.log. Nach Beendigung des OPC-Servers kann die Log-Datei eingesehen
werden. Die Meldungen mehrerer OPC-Sitzungen werden in einer Log-Datei
aneinandergereiht, bis die Datei die Größe von 1MB erreicht hat. Danach wird die Datei mit
dem aktuellen Datum im Namen versehen und gespeichert (OPCServer<Datum>.log, z.B.
OPCServer12.10.2002.log) und eine neue mit Namen OPCServer.log angelegt.

Ist im Konfigurationsbaum der unter 'Server' eingerückte Eintrag 'PLC' markiert, können im rechten
tech_doc_d.dot, / V1.0

Fensterteil folgende Einstellungen für die Steuerung vorgenommen werden:

 3S - Smart Software Solutions GmbH Seite 11 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

- Projektname: Name des geladenen Projekts. Dieser Eintrag ist nicht zwingend nötig für den
Single-PLC Betrieb, außer ein "Offline Laden" der Symbole soll möglich sein (siehe Kap. 1,
Bemerkung am Ende des Kapitels).
- Kommunikations-Timeout (s): 3
Erhält der OPC-Server nach dieser Zeitspanne von der Steuerung keine Antwort auf einen
gesendeten Dienst, beendet er sich.
- Anzahl Versuche:
Anzahl der Versuche des Gateway-Kommunikationstreibers, einen Block korrekt zu
übertragen. Sobald auch der letzte Versuch fehlgeschlagen ist, wird ein
Kommunikationsfehler erzeugt. (nur relevant für Treiber, die blockende Kommunikation
unterstützen, Level 2).
- Puffer-Größe (Byte): 0
Größe des Kommunikationspuffers auf Zielsystem; ist 0 angegeben, wird versucht, diese
Information vom Gerätetreiber zu erhalten, ist dort nichts angegeben, wird davon
ausgegangen, dass der Puffer unbegrenzt ist
- Wartezeit (s): 60
Zeit in Sekunden die der OPC-Server wartet, bis die Steuerung bereit ist (wichtig bei Autostart
der Steuerung)
- Reconnecttime (s): 5
Zeitintervall, in dem der OPC-Server wiederholt versucht, nach einem
Kommunikationsabbruch die Verbindung zur Steuerung über den Gateway erneut
aufzubauen.
tech_doc_d.dot, / V1.0

- Aktiv: nicht verfügbar ( nur im Multi PLC Betrieb verfügbar )


- Motorola Byteorder: nicht aktiviert
Das Zielsystem des Projekts verwendet nicht die Motorola Byteorder (v.a. beachten bei 68K,
8051, Power PC !).

 3S - Smart Software Solutions GmbH Seite 12 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

- Kein Login Dienst: aktiviert


Diese Option ist für bestimmte Zielsysteme zu aktivieren, bei denen es nötig ist, einen Login-
Dienst zu senden.
Ist der Eintrag 'Verbindung' markiert, können im rechten Fensterteil die Einstellungen für die
Verbindung zur PLC definiert werden.

Liegt bereits eine Konfiguration vor, ist diese in den Angaben hinter 'Gateway' und 'Gerät' sowie in der
Tabelle wiedergegeben. Ist die Verbindung zum Gateway nicht "lokal", erscheinen zusätzlich über der
Tabelle die Angaben zu 'Adresse' und 'Port' des Zielrechners. Die Einstellungen müssen denen, die in
CoDeSys unter 'Online' 'Kommunikationsparameter' für das entsprechende Projekt vorgenommen
wurden, entsprechen.
Sind noch keine Einstellungen eingegeben bzw. sollen die vorhandenen verändert werden, wird über
die Schaltfläche Bearbeiten der Dialog Kommunikationsparameter geöffnet. Dieser ist identisch mit
dem in CoDeSys unter Online verfügbaren. Zur Bedienung sehen Sie Kapitel 3.1, Schritt 3 bzw. das
Benutzerhandbuch zu CoDeSys.
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 13 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

3.2.4 Multi-PLC-Konfiguration
Sollen mehrere Steuerungen konfiguriert werden, muss die Option 'Single-PLC' im Menü Datei
deaktiviert werden.
Im linken Fensterteil erscheint dann zunächst nur der Eintrag 'Server'. Die gewünschten Steuerungen
werden über den Befehl 'Bearbeiten' 'PLC anhängen' eingefügt und können dann wie bereits für die
Single-PLC-Konfiguration beschrieben einzeln definiert werden.
Die Unterschiede zur Single-PLC-Konfiguration:
- Folgende Befehle des Menüs Bearbeiten stehen zusätzlich für die aktuell im Konfigurationsbaum
markierte PLC zur Verfügung:

'PLC anhängen' Ein neuer Eintrag 'PLC' wird eingefügt. Eine zusätzliche PLCs wird
immer unterhalb der markierten angehängt. Als Bezeichnung wird
automatisch "PLC<n>" vergeben, wobei n mit 1 beginnend hoch gezählt
wird.
'PLC löschen' Der Eintrag wird wieder aus der Gesamtkonfiguration entfernt.
'PLC Umbenennen' Für jede PLC kann ein selbst definierter Name vergeben werden. Dazu
wird der Eintrag PLC selektiert und der Befehl 'Bearbeiten' 'PLC
Umbenennen' gewählt. Daraufhin öffnet ein Editierfeld, in dem ein
Name eingegeben werden kann.

- Im Dialog 'Einstellungen für PLC' muss hinter Projektname der Name des Projekts eingegeben
werden, das über den Gateway auf diese Steuerung geladen wurde
- Im Dialog 'Einstellungen für PLC' kann die über Ein- und Ausschalten der Option Aktiv definiert
werden, ob die Steuerung vom OPC-Server berücksichtigt werden soll oder nicht
- Beachten Sie: Der OPC Server unterstützt die Kommunikation mit mehreren Gateways erst
ab Version 2.3.8.2 !

3.2.5 Registry-Einträge (Beispiel)

Einträge aus Dialog 'Einstellungen für den OPC Server' im OPC-Konfigurator:


[HKEY_CURRENT_USER\SOFTWARE\3S-Smart Software Solutions GmbH\CoDeSys OPC\Config]
* entspricht den im OPC-Konfigurator im Dialog 'Einstellungen für den OPC Server' gesetzten Werten
(siehe Kap. 3.2.3) *
"Check config"="yes"
"LogEvents"="yes"
"Multi"="no"
"Updaterate"="0x0000012c (300)"
"Wait for target"="0x0000000a (10)"
"Sync startup"="yes"
"Public groups"="yes"
"Reconnect Interval"="0x00000005 (5)"
"Notify on quality change"="yes"
tech_doc_d.dot, / V1.0

[HKEY_LOCAL_MACHINE\SOFTWARE\3S-Smart Software Solutions GmbH\CoDeSys


OPC\PLCDefaults] * entspricht den unter 'Bearbeiten' 'PLC Voreinstellungen' im OPC-Konfigurator
eingetragenen Werten (siehe Kap. 3.2.2) *
"Motorola"="false"

 3S - Smart Software Solutions GmbH Seite 14 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

"Timeout"="2000"
"Tries"="4"
"Waittime"="10"
"Reconnecttime"=5"
"Nologin"="true"
"Buffersize"="1"
"Activ"="true"

[HKEY_CURRENT_USER\Software\3S-Smart Software Solutions GmbH\CoDeSys


OPC\Connections]
* entspricht den im Dialog 'Einstellungen für PLC' im OPC-Konfigurator gesetzten Werten (siehe Kap.
3.2.3 und 3.2.4) *
"Project0"=hex (Aktuelle Kommunikationsparameter für den OPC-Server mit Projektkennung)
"Motorola0"="No"
"Timeout0"="0x000007d0 (2000)"
"Tries0"="0x00000003 (3)"
"NoLogin0"="No"
"Buffersize"="0x00000000 (0)"

3.3 Start von CoDeSysOPC.exe


Der OPC-Server (+ Gateway-Server) wird vom Betriebssystem automatisch gestartet, sobald ein
Client eine Verbindung aufbaut. Er muss nicht explizit gestartet werden. Wurde ein OPC-Server
bereits manuell gestartet, verbindet sich der Client automatisch mit dem laufenden Server.
Der Server beendet sich automatisch wieder, sobald alle Clients die Verbindung zu ihm beendet
haben.
Solange der OPC-Server läuft, erscheint folgendes Symbol rechts unten in der Statusleiste des
Bildschirms:
Über einen Klick mit der rechten Maustaste auf das Symbol erhält man über 'About' Information zur
Version des OPC-Servers.

Start im Testmodus:

Die Verbindung zwischen OPC-Server und Client kann auch getestet werden, wenn keine Anbindung
zu einer Steuerung vorliegt. Der OPC-Server muss dazu explizit mit dem Befehl
CoDeSysOPC.exe /TestMode
gestartet werden. Er läuft daraufhin im Testmodus und erzeugt automatisch eine Reihe von Test-
Items, mit Hilfe derer die Kommunikation zum Client getestet werden kann.
Auch im Simulationsmodus erscheint das OPC-Symbol in der Statusleiste.
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 15 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

4 Verbindung zu OPC-Server auf anderem Rechner / DCOMCNFG.EXE

Über das im Systemverzeichnis liegende DCOMCNFG.EXE kann eine Verbindung zu einem OPC-
Server auf einem anderen Rechner aufgebaut werden. Stellen Sie hierzu im Registerblatt
'Anwendungen' 'OPC-Server for CoDeSys..' ein und geben unter 'Eigenschaften' 'Standort'
'Anwendung auf folgendem Computer ausführen' den gewünschten Rechner eintragen.
Voraussetzung für eine solche Verbindung ist, dass auch auf dem lokalen Rechner ein OPC-Server
läuft.

5 Service Packs für Windows 95 / Windows 98

Um die aktuelle OPC- und Gateway-Versionen auf Windows 95 oder 98 zu betreiben, müssen
folgende Service Packs installiert sein.
DCOM98CFG.EXE
DCOM98.EXE
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 16 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

6 Beispiel einer ini-Datei für die OPC-Server Konfiguration

Die ini-Datei der OPC-Server Konfiguration kann über Export aus der OPCConfig.exe als Textdatei
angelegt, editiert und in wieder in OPCConfig importiert werden.
Sehen Sie hier ein Beispiel der Einträge für die entsprechenden in OPCConfig einstellbaren
Parameter:

Eintrag Bedeutung
[Server] Einstellungen für OPC-Server
updaterate=200 Update Rate
publicgroups=0 Public Groups
syncinit=1 Sync Init
PLCs=2 Verbindung zu zwei Steuerungen ist vorgesehen
PLC0=PLC_A Name der ersten Steuerung: PLC_A
PLC1=PLC_B Name der zweiten Steuerung: PLC_B

[PLC:PLC_A] Einstellungen für PLC_A


active=1 Aktiv
motorola=0 Motorola Byteorder
nologin=1 Login Service
timeout=2000 Timeout
tries=3 Anzahl Versuche
waittime=10 Wartezeit
reconnecttime=5 Reconnecttime
buffersize=3 Puffergröße
project=opc1.pro Projektname
gateway=Tcp/Ip Einstellungen für die Verbindung zu PLC_A ( Verbindung Client
zu lokalem Gateway über TCP/IP )
gatewayaddress=localhost
gatewayport=1210
device=Tcp/Ip Parameter für Verbindung zum Zielrechner, wo Steuerung PLC1
läuft (Dialog Kommunikationsparameter)
parameters=3
parameter0=Address
value0=127.0.2.1
parameter1=Port
value1=1200
parameter2=Motorola byteorder
value2=No
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 17 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

Eintrag Bedeutung
[PLC:PLC_B] Einstellungen für PLC_B
active=1 siehe oben
motorola=0
nologin=0
timeout=2000
tries=3
waittime=10
reconnecttime=5
buffersize=0
project=opc_test_s.pro
gateway=Tcp/Ip Verbindung zu Gateway auf lokalem Rechner über TCP/IP (muß
der bereits für PLC_A verwendeten entsprechen !)
gatewayaddress=localhost
gatewayport=1210
device=Tcp/Ip Parameter für Verbindung zum Zielrechner, wo Steuerung PLC2
läuft
parameters=3
parameter0=Address
value0=Sabine
parameter1=Port
value1=1200
parameter2=Motorola byteorder
value2=No
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 18 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

7 Fehlerdiagnose

7.1 Mittel zur Fehlerdiagnose


1. Log-Datei des OPC-Servers
2. Anderen (Test-)Client verwenden, um das Fehlerverhalten ev. zu reproduzieren
3. Gateway Inspector mit Trace- und Logging-Funktionalität (bei tiefergehenden
Kommunikationsproblemen)

7.2 Kurz-Checkliste
Prinzipiell zu prüfen:
1. Steuerung läuft ?, Gateway installiert, läuft ? Symbol in Taskleiste rechts unten aktiv ?
2. Installation und Registrierung OPC-Server ok ?
erfolgt automatisch durch Ausführen: „CoDeSysOPC /Install“ (Installation + Registrierung) bzw.
„CoDeSysOPC /RegServer“ (nur Registrierung)
3. Projektvorbereitung bzw. Einstellungen im CoDeSys Programmiersystem ok ?
- Projekt Optionen: 'Symbolfile erzeugen' angewählt ?
- Kommunikationsparameter: gewählter Gateway-Kanal ok ?
- Projekt gespeichert, übersetzt, Download durchgeführt ?
4. Falls OPC auf anderem Rechner benützt werden soll (nur möglich, wenn auch lokal der OPC-
Server läuft und man auf dem anderen Rechner nicht in zusätzlich in das CoDeSys-Projekt
eingeloggt ist):
Über DCOMCNFG.EXE (liegt im Systemverzeichnis) Verbindung zum anderen Rechner
herstellen:
- in 'Anwendungen' OPC-Server auswählen
- unter 'Eigenschaften' 'Standort' 'Anwendung auf folgendem Computer ausführen' gewünschten
Rechner eintragen
5. Überprüfen der Verbindung und Server-Einstellungen: OPCConfig.exe:
- Verbindung: (Eintrag muss dem gültigen, in den CoDeSys Kommunikationsparametern
eingestellten Gateway Kanal entsprechen)
- übliche Server-Einstellungen: Motorola Byteorder: no (Achtung bei 68K, 8051, PowerPC), Public
Groups anlegen, Synchrone Initialisierung, Notification bei Quality-Änderung, Update Rate
200ms, Wartezeit Zielsystem 60s, Reconnect-Interval 5s, Kommunikations-Timeout 3s,
Puffergröße: 0 oder für Zielsystem passend ?
- Speichern -> neue Konfiguration wird beim Neuaufbau einer Verbindung zum OPC-Server
wirksam
6. Überprüfen, ob Symboleinträge zur Verfügung stehen: DiagnosticOPCClient.exe (dieser
Diagnose-Client ist nicht Bestandteil der Installation, kann jedoch auf Anfrage zur Verfügung
gestellt werden)
Verbindung herstellen (Connect OPC-Server) -> mit rechter Maustaste im rechten Fenster auf
tech_doc_d.dot, / V1.0

Private Groups klicken, Dialog mit OK bestätigen, mit rechter Maustaste auf entstehenden
Gruppeneintrag klicken -> Add all items -> alle erzeugten Symboleinträge (Variablen) sollten
erscheinen

 3S - Smart Software Solutions GmbH Seite 19 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

7.3 Bestimmte Fehlerfälle


Fehlerfall: Keine Verbindung zur Steuerung (Status NO_CONFIG)
Zu prüfen:
- Steuerung läuft ?
- Verbindungseinstellungen in OPC-Konfiguration (OPCconfig.exe) ok?:
- gültiges Kommunikationsprotokoll für die Steuerung ?
- Steuerung auf eingestelltem Kommunikationskanal verfügbar ? (ev. mit „ping“ über TCP/IP
testen)
- Kabel zur Steuerung ok ?
- Falls remote-Gateway verwendet wird, ist dieser gestartet ?

Fehlerfall: Keine Symbole verfügbar (Status NO_CONFIG):


Zu prüfen:
- Ist im CoDeSys Programmiersystem in Projekt/Optionen die Option „Symbolkonfiguration“ aktiviert
und sind Variablen dafür ausgewählt ? (ev. *.sym-Datei überprüfen)
- Ist im Gateway-Files Verzeichnis oder auf der Steuerung eine Symboldatei (*.sdb) verfügbar ?
- Stimmt die Projekt-ID des Projekts im Programmiersystem mit der der Symboldatei überein? (Ev.
wurde vor einem Neustart der Steuerung ein erneuter Download durchgeführt, ohne auch ein
neues Bootprojekt zu erzeugen)

Fehlerfall: Items Quality „BAD“


mögliche Ursachen:
- Kommunikationsfehler zur Steuerung während der OPC-Server läuft
- Kommunikationsfehler während Download eines neuen Programms auf die Steuerung
- Group oder Item inaktiv

Bitte beachten:

• Der OPC-Server beendet sich automatisch, wenn alle Clients die Verbindung zu ihm
beendet haben.

• Im Task Manager erscheint der OPC-Server als Prozess


tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 20 von 21


OPC_20_how_to_use_D.doc
CoDeSys OPC-Server V2.0

Änderungshistorie

Version Beschreibung Bearbeiter Datum


V1.0 Erstellung AH, MN 20.12.00
V1.1 Änderung: Multi-PLC Konfiguration nicht nur über TCP/IP, AH, MN 04.10.02
sondern auch local möglich
V1.2 Änderung: Kap. 3.2.3: "Anzahl Versuche" Erklärung AH, MN 28.11.02
korrigiert
V1.3 Änderung: Kap. 7: Punkt 5: "OPCConfig.exe", Punkt 6: AH, MN 25.03.04
DiagnosticClient auf Anfrage erhältlich
V1.4 Erweiterung: Kap. 1: Hinweis auf "Offline Laden" der AH, MN 05.10.04
Symboldatei und auf Doku zu Symboldatei; Kap. 3.2.3:
Hinweis bei 'Projektname'
V1.5 Erweiterung und Freigabe: Bandwidth usage, Kap. 3.2.3; MN 22.02.05
Erst ab OPC V2.3.8.2 multi-Gateway fähig -> Kap.3.2.4
letzter Punkt geändert
formal: Anpassung an neue Dokumentvorlage
V1.6 Erweiterung Kap. 3.2 und 3.2.1 (Konfigurationsdatei über MN 15.07.2005
Kommandozeile importieren)
V1.6 Review OK AH 10.08.2005
V1.6 Freigabe (OPC V2.3.9.1) MN 10.08.2005
V1.7 Erweiterung bzgl. Fehlerdiagnose (OPC V2.3.9.2), Kap.7 MN 21.11.2005
V1.7 Freigabe (OPC V2.3.9.2, mit CoDeSys V2.3.6.0) MN 31.01.2006
tech_doc_d.dot, / V1.0

 3S - Smart Software Solutions GmbH Seite 21 von 21


OPC_20_how_to_use_D.doc