0
Installation und Benutzung
INHALT
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
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.
COM / DCOM
Item-Liste,
CoDeSys aus
Symboldatei
OPC-Server
erzeugt
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
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.
"Offline Laden" der Symbole bei Verwendung der aktuellen Versionen von OPC-Server (ab
tech_doc_d.dot, / V1.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
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)
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:
Schritt 4, optional: Projekt speichern -> Kommunikationsparameter werden mit Projekt gespeichert,
(nach dem Einloggen auch im Gateway)
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.
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.
'Ö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.
'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.
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
- 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
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
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 !
"Timeout"="2000"
"Tries"="4"
"Waittime"="10"
"Reconnecttime"=5"
"Nologin"="true"
"Buffersize"="1"
"Activ"="true"
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
Ü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.
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
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
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
7 Fehlerdiagnose
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
Bitte beachten:
• Der OPC-Server beendet sich automatisch, wenn alle Clients die Verbindung zu ihm
beendet haben.
Änderungshistorie