CODESYS OPC Server V3

Transcription

CODESYS OPC Server V3
CODESYS OPC Server V3
Installation und Benutzung
Version: 15.0
Template: templ_tecdoc_de_V1.0.docx
Dateiname: CODESYS_OPC_Server_V3_Benutzerhandbuch.docx
© 3S-Smart Software Solutions GmbH
INHALT
Template: templ_tecdoc_de_V1.0.docx
Seite
1
Übersicht über OPC
4
2
Übersicht CODESYS OPC Server V3
5
2.1
2.2
CODESYS Gateway V3
CODESYS Gateway V2.3
6
8
3
Installation des CODESYS OPC Servers V3
9
3.1
Installation und Registrierung
9
4
Benutzung des CODESYS OPC Servers V3
11
5
Konfiguration der Symbole im Programmiersystem
13
5.1
5.2
V3-Interface
V2.3-Interface
13
14
6
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
17
6.1
6.1.1
6.1.2
6.2
6.2.1
6.2.2
6.2.3
6.2.4
6.2.5
6.2.6
6.3
6.3.1
6.3.2
6.4
6.5
6.6
Aufrufen von OPCConfig.exe
Standardaufruf
Eine bestimmte INI-Datei öffnen
Menü-Befehle
File
Edit
?
Settings for OPC Server
Settings for <PLC>
Settings for connection to <PLC>
Simulation Interface
SIMULATION3
SIMULATION
Sonderfall „GATEWAY“
Redundant Group
OPCConfig-Konfiguration mit OPCConfig.ini
17
17
17
18
18
19
19
19
20
21
23
23
25
26
26
27
7
Konfiguration mit „OPCServer.ini“
29
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.7.1
7.7.2
7.8
Konfiguration des CODESYS OPCServers V3 unter [Server]
Konfiguration der Verbindung zu den Steuerungen
Beispiel einer INI-Datei für das V3-Interface
Beispiel einer INI-Datei für das V2.3-Interface
Konfiguration von ‚Redundant Group’
Information zum geänderten Logfilter
Konfiguration der Simulation
SIMULATION3
SIMULATION
Ändern von Verzeichnis und Name von INI- und LOG-Datei
29
30
31
31
33
35
35
35
36
36
© 3S-Smart Software Solutions GmbH
8
Verbindung zu OPC-Servern auf anderen Rechnern mittels
DCOMCNFG.EXE
38
9
Fehlerdiagnose
39
9.1
9.2
9.3
Mittel zur Fehlerdiagnose
Kurz-Checkliste
Fehlerfälle
39
39
40
Template: templ_tecdoc_de_V1.0.docx
Änderungshistorie
© 3S-Smart Software Solutions GmbH
41
CODESYS Inspiring Automation Solutions
1
4/42
CODESYS OPC Server V3
Übersicht über OPC
Übersicht über OPC
1
OPC ist eine standardisierte Schnittstelle zum Zugriff auf Prozessdaten. Sie basiert auf dem Microsoft
2
Standard COM/DCOM und wurde für die Bedürfnisse des 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 ein ausführbares Programm, das bei einem Verbindungsaufbau zwischen Client und
Steuerung automatisch gestartet wird. Deshalb kann der OPC-Server den Client benachrichtigen, wenn sich ein
Variablenwert oder –status geändert hat.
Der OPC-Server bietet alle Variablen (im OPC Items genannt) an, die in der Steuerung verfügbar sind (Item
Pool oder Address Space). Verwaltet werden diese Items in einem Data Cache. Dies ermöglicht einen
schnellen Zugriff auf die Item-Werte. Der direkte, nicht gecachte Zugriff auf die Items der Steuerung ist ebenfalls
möglich.
Zusätzlich kann die Alarm- und Event-Information von Items als weiterer Datentyp betrachtet werden. Zu
diesem Zweck werden Items mit digital- und Grenzwertalarmen und Ereignissen verbunden. Dafür ist dringend
empfohlen, das AeConfiguration-Tool zu verwenden. Das Tool befindet sich im Programm-Verzeichnis von
CODESYS. Für eine ordnungsgemäße Verwendung ist die ebenfalls mitgelieferte Beschreibung
AeConfigurator_UserGuide hilfreich.
Die Items im OPC-Server können in so genannten Groups - Private und (nur für V2.3) Public – organisiert
werden.
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 im Falle von V2.3 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!
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).
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
CODESYS Inspiring Automation Solutions
2
5/42
CODESYS OPC Server V3
Übersicht CODESYS OPC Server V3
Übersicht CODESYS OPC Server V3
Der CODESYS OPC Server V3 basiert auf dem PLCHandler von 3S-Smart Software Solutions GmbH . Dieses
Kommunikationsmodul ermöglicht eine direkte Kommunikation zu allen CODESYS programmierbaren
Steuerungen.
Der CODESYS OPC Server V3 unterstützt dabei folgende OPC-Spezifikationen:






OPC Common Definitions and Interfaces Version 1.0
Data Access Custom Interface Standard Version 1.0
Data Access Custom Interface Standard Version 2.05A
Data Access Custom Interface Standard Version 3.0
Data Access Automation Interface Standard Version 2.0
Alarms and Events Custom Interface Version 1.10
Weitere Informationen zu „Alarms and Events“ sind in AeConfigurator_UserGuide.pdf zu finden.
Weiterhin wird das hierarchische Browsen (Auslesen der Variablen, die in der Steuerung verfügbar sind) der
Items unterstützt.
Die Kommunikation zwischen dem OPC-Server und der Steuerung kann auf verschiedene Arten erfolgen:






Gateway V3
Gateway V2.3
ARTI
ARTI3
SIMULATION
SIMULATION3
Die Entscheidung, welches Interface zur Kommunikation verwendet werden soll, hängt von der verwendeten
Steuerung ab und muss für die jeweilige Steuerung über die INI-Datei des OPC Servers (über den Parameter
„Interfacetype“) konfiguriert werden. Mit Hilfe des Tools OPCConfig kann die INI-Datei komfortabel erzeugt
werden. Siehe Kap.6 „CODESYS OPC-Server Konfiguration mit OPCConfig“.
Der OPC-Server ist in der Lage, gleichzeitig mit V3- und V2.3-Steuerungen zu kommunizieren.
Außerdem kann eine fehlende Steuerung simuliert werden. Dann wird, statt auf den Symbolvorrat der
Steuerung zuzugreifen, eine Symboldatei mit Symbolvorrat dem OPC-Server zur Verfügung gestellt. (XMLDatei oder SDB-Datei).
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
2.1
6/42
CODESYS OPC Server V3
Übersicht CODESYS OPC Server V3
CODESYS Gateway V3
Grundsätzlich wird eine Symbol-/Itemliste im Programmiersystem erzeugt. In Symbolkonfiguration können
Variablen für die Symbolliste ausgewählt werden. Diese Liste wird gemäß den Eintragungen in der
Gerätebeschreibungsdatei entweder implizit oder als getrennte Kindapplikation übertragen. Danach kann der
OPC-Server unabhängig von der Übertragungsmethode die Symbole browsen. Außerdem wird ein Symbolfile
mit Erweiterung XML im Projektverzeichnis abgelegt. Steht dem Entwickler der Visualisierung (OPC-Client)
keine SPS zur Verfügung, kann diese Datei zu Simulationszwecken verwendet werden.
Die XML-Datei ist nach folgender Syntax benannt
<Project name>.<Device name>.<Application name>.xml
Die Kommunikation zwischen dem OPC-Server und einer CODESYS-V3-Steuerung erfolgt immer über den
Gateway-V3-Server. Dieser ist im Unterschied zum Gateway-V2.3-Server jedoch nicht mehr an das WindowsBetriebsystem gebunden, und kann sich an einer beliebigen Stelle im Steuerungsnetzwerk – Embedded
Steuerungen sind davon ausgenommen – befinden.
In der folgenden Abbildung wird ein möglicher Aufbau eines V3 Steuerungsnetzwerkes gezeigt:
PLC-V3-1 zeigt eine so genannte Stand-Alone-Applikation. Bei dieser Steuerung wird die Applikation sowie die
Symbolinformation, hierauf gehen wir später ein, mit auf der Steuerung abgelegt. Anfragen bezüglich der
Symbolinformation, der Werte und der Statusinformation werden von der Steuerung selbst übernommen.
Etwas komplexer wird es, wenn man sich den Steuerungsverbund, gebildet aus den Steuerungen PLC V3 2
und PLC V3 3, ansieht.
Es wird angenommen, bei der Steuerung PLC-V3-3 handelt es sich um eine Embedded-Steuerung, z.B. ein
kleiner intelligenter Buskoppler, der aufgrund der eingeschränkten Ressourcen nicht in der Lage ist die
Symbolinformation zu speichern. Die Werte der Embedded-Steuerung sollen aber dennoch dem OPC-Client
zugänglich gemacht werden.
Die Steuerung PLC-V3-2 implementiert zu diesem Zweck den Data-Server, über den die Steuerung PLC-V3-3
ihren Item-Pool „PLC V3 3.Application“ zur Verfügung stellt.
Der Gesamt-Item-Pool, bestehend aus „Application“ und „PLC3.Application“, kann dann über die
Symbolkonfiguration dem OPC-Server zur Verfügung gestellt werden.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
7/42
CODESYS OPC Server V3
Übersicht CODESYS OPC Server V3
Anfragen bezüglich der Symbol- und Statusinformation, die die Steuerung PLC3 betreffen, werden direkt von
der Steuerung PLC V3 2 beantwortet. Die Daten werden über den Data-Server zyklisch von der Steuerung
PLC3 gelesen und dann zum OPC-Server bzw. OPC-Client übertragen.
Aus den in der Symbolkonfiguration definierten Variablen wird eine Symbolliste erstellt. Diese wird
normalerweise beim Download der Steuerungs-Applikation implizit auf die Steuerung übertragen. Die Steuerung
kann aber auch so konfiguriert werden, dass eine separate Kind-Applikation mit der Symbolinformation auf die
Steuerung übertragen wird. Diese wird dann separat behandelt.
Die Syntax der Symbol-Applikation lautet in diesem Fall:
<Application name>.__Symbols
Wurde die Symbolkonfiguration beispielsweise für die Applikation Application definiert, so wird beim Laden der
Applikation gleichzeitig die Symbolinformation als Application.__Symbols auf die Steuerung geladen:
Die Symbolapplikation muss als „normale“ Applikation angesehen werden, auch hinsichtlich der maximalen
Anzahl an Applikationen auf einer Steuerung.
Gleichzeitig mit dem Download der Applikation wird die Symbolliste in eine Symboldatei (XML-Format)
exportiert und im Projektverzeichnis abgelegt.
Die XML-Datei wird nach folgender Syntax benannt:
<Project name>.<Device name>.<Application name>.xml
Steht dem Entwickler der Visualisierung (OPC-Client) keine Steuerung zur Verfügung, so kann eine
Symboldatei zur Simulation verwendet werden.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
2.2
8/42
CODESYS OPC Server V3
Übersicht CODESYS OPC Server V3
CODESYS Gateway V2.3
Bitte beachten: Die Symboldatei
Gateway V2.3.
ist
die
Grundlage
für
den
Datenaustausch
über
den
CODESYS
Wird aus dem Programmiersystem CODESYS V2.3 ein Projekt auf die Steuerung geladen, kann gleichzeitig
eine Symboldatei (*.sym oder *.sdb) erzeugt und im Gateway oder auf der Steuerung abgelegt werden. Die
Symboldatei enthält die sogenannten „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-Client 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.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
3
9/42
CODESYS OPC Server V3
Installation des CODESYS OPC Servers V3
Installation des CODESYS OPC Servers V3
Der CODESYS OPC Server V3 wird als Setup ausgeliefert. Alle für die OPC-Kommunikation benötigten Dateien
werden installiert und der OPC-Server automatisch als COM-Server registriert.
Hinweis:
3.1
Um den CODESYS OPC Server V3 auf einem Windows Vista System zu verwenden, wird dringend empfohlen,
den OPC-Client im Windows XP SP2 Kompatibilitätsmodus und mit erweiterten Administratorrechten zu starten,
um eine laufende Aktualisierung der Werte zu erhalten.
Installation und Registrierung
Darüber hinaus besteht die Möglichkeit den OPC-Server manuell entweder als COM-Server oder als Service zu
registrieren bzw. zu deinstallieren.
13 Gleichzeitige Installation und Registrierung
Mit dem Befehl
WinCODESYSOPC /RegServer
wird der Server als COM-Server registriert. Dabei wird als Pfad immer die aktuelle Position der
WinCODESYSOPC.exe benutzt. Der Aufruf darf also nur von einem lokalen Pfad aus erfolgen.
2. Registrierung als Service
Mit dem Befehl
WinCODESYSOPC /Service
wird die WinCODESYSOPC.exe als Systemdienst installiert. Einmal gestartet bleibt der Dienst gestartet, bis
das System beendet wird. Die Kommunikation zu den konfigurierten PLCs bleibt aufrechterhalten. Auch hier
wird der Dienst in der aktuellen Position installiert.
3. Deinstallieren des OPC-Servers
Mit dem Befehl
WinCODESYSOPC /UnRegServer
werden alle Einträge des OPC Servers aus der Registrierung gelöscht. Die installierten Dateien werden nicht
entfernt.
Einstellungen in der Registrierung sind zu finden unter: “Computer\HKEY_LOCAL_MACHINE\SOFTWARE\3SSmart Software Solutions GmbH\CODESYSOPC”.
Einträge sind “AEConfigPath”, “INIFileName” und LOGFileName”. Die Werte von INIFileName und
LOGFileName können auch Namen und Pfad zusammen enthalten.
Der Name der INI-Datei ist “OPCServer.ini” sein. Siehe dazu auch Kapitel 7.8 “Ändern von Verzeichnis und
Name von INI- und LOG-Datei”.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
Hinweis:
10/42
CODESYS OPC Server V3
Installation des CODESYS OPC Servers V3
Wenn eine Label-Version von CODESYS verwendet wird, ist zu beachten, dass nicht nur der Produktname (in
der Abbildung oben CODESYSOPC) geändert wurde, sondern dass auch der Herstellername (in der Abbildung
oben “3S-Smart Software Solutions GmbH”) und dessen untergeordnete Einträge angepasst worden sind.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
4
11/42
CODESYS OPC Server V3
Benutzung des CODESYS OPC Servers V3
Benutzung des CODESYS OPC Servers V3
Um eine Kommunikation von PLC über OPC-Server bis zum OPC-Client zu erhalten, sind folgende Schritte
notwendig:
1. Die Applikation auf der Steuerung enthält Symbole (also Items) mittels Symbolkonfiguration. Siehe Kap.
5 „Konfiguration der Symbole im Programmiersystem“.
2. Mittels OPCServer.ini erhält der OPC-Server alle notwendigen Einstellungen zum Verbindungsaufbau.
Name und Pfad der OPC-Server ini-Datei ist “OPCServer.ini” im Installationsverzeichnis.
Wie diese Standardeinstellung geändert warden kann, ist in Kap. 7.8 “Ändern von Verzeichnis und
Name von Konfigurations- und LOG-Datei” beschrieben.
Zum Erzeugen der INI-Datei siehe Kap.6 „CODESYS OPC-Server Konfiguration mit OPCConfig“.
3. Der gewünschte OPC-Client kann nach Anwahl von Server CODESYS.OPC.DA die konfigurierten
Symbole browsen.
Nach der Installation des OPC-Servers ist dieser beim OPC-Client (z.B. Visualisierung) in der Auswahllist der
Server zu finden. Der Name des OPC-Servers lautet CODESYS.OPC.DA.
Sobald ein Client eine Verbindung aufbaut, wird der OPC-Server vom Betriebssystem automatisch gestartet. Im
Taskmanager erscheint der Prozess „WinCODESYSOPC.exe“. Sind alle Verbindungen zum OPC-Server
beendet, wird automatisch der OPC-Server beendet.
Der OPC-Server erscheint nicht als Icon in der Taskleiste sondern wird als Prozess im Windows Task Manager
aufgeführt.
Für jede konfigurierte Steuerung generiert der CODESYS OPC Server V3 die Statusvariablen __CommState
und __CommStateOK. __CommState kann von einem OPC Client ausgewertet werden und folgende Zustände
einnehmen:
STATE_TERMINATE
= -1
STATE_PLC_NOT_CONNECTED = 0
STATE_PLC_CONNECTED = 1
STATE_NO_SYMBOLS = 2
STATE_SYMBOLS_LOADED = 3
STATE_RUNNING = 4
STATE_DISCONNECT = 5
STATE_NO_CONFIGURATION = 6
Bei __CommStateOK handelt es sich um eine boolsche Variable, die im Zustand TRUE anzeigt, dass der
OPC-Server kommunizieren kann. Aus dem Präfix der Variablen kann man den Namen der zugehörigen
Steuerung entnehmen. Ist die Variable im Zustand FALSE, ist momentan keine Kommunikation möglich. Dies
ist zum Beispiel während eines Downloads der Fall.
In redundanten Gruppen wird für jede Steuerung in der Gruppe die Statusvariablen generiert. Um diese
unterscheiden zu können werden die Namen entsprechend folgender Syntax erzeugt:
__CommStateOK<PLCName>
__CommState<PLCName>
Beispiel:
OPCServer.ini:
[RedGroup:0]
Name=MyGroup
NumPLCs=2
DefaultPLC=0
PLCName0=SPWinV3
PLCName1=SPWinV3R
Daraus ergeben sich folgende Status-Variablen:
__CommStateOKSPWinV3
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
__CommStateSPWinV3
__CommStateOKSPWinV3R
__CommStateSPWinV3R
© 3S-Smart Software Solutions GmbH
12/42
CODESYS OPC Server V3
Benutzung des CODESYS OPC Servers V3
CODESYS Inspiring Automation Solutions
5
5.1
13/42
CODESYS OPC Server V3
Konfiguration der Symbole im Programmiersystem
Konfiguration der Symbole im Programmiersystem
V3-Interface
Schritt 1: Symbolkonfiguration hinzufügen
Selektieren Sie das Applikation-Objekt im Gerätebaum und fügen Sie die Symbolkonfiguration ein (Projekt ->
Objekt hinzufügen -> Symbolkonfiguration).
Schritt 2: Symbole konfigurieren
Durch einen Doppelklick auf die Symbolkonfiguration wird der oben angezeigte Dialog geöffnet. Um den gerade
verfügbaren Variablen-Pool zu erhalten, klicken Sie zunächst auf die Aktualisieren-Schaltfläche. Im linken Teil
des Editor-Fensters werden dann alle in der Applikation zur Verfügung stehenden Variablen angezeigt. Dabei
werden nur diejenigen Variablen angezeigt, auf die in der Applikation lesend oder schreibend zugegriffen wird.
Um nun eine im linken Baum ausgewählte Variable oder einen Knoten im rechten Baum hinzuzufügen,
verwenden Sie die Einzelpfeil-Schaltfläche > zwischen den beiden Fenstern.
Das Zugriffsrecht für ein ausgewähltes Item kann im rechten Fenster verändert werden, indem mit der Maus auf
das Symbol in der Spalte Zugriffsrechte geklickt wird. Jeder Mausklick schaltet zum nächsten der folgenden
möglichen Symbole und dem dadurch repräsentierten Recht weiter:
read+write (Schreib- und Lesezugriff),
write-only (nur Schreibzugriff),
read-only (nur Lesezugriff).
Hinweis:
Bei Arrays und Strukturen werden sowohl die Sammeleinträge als auch deren Einzelkomponenten implizit
generiert.
Wenn die Symbolkonfiguration im Online-Modus geändert wird, kann die geänderte Applikation mit Hilfe der
Schaltfläche Download auf die Steuerung geladen werden.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
14/42
CODESYS OPC Server V3
Konfiguration der Symbole im Programmiersystem
Schritt 3: Einloggen
Hinweil:
Anweisungen zur Konfiguration der SPS anhand der Gerätebeschreibungsdatei, die das Verhalten der
Symbolkonfiguration betreffen, kann man im Dokument “CODESYSControlV3_Manual.pdf” Kapitel “6.5.4.1
Symbol Configuration” finden.
Mit Kommandieren von Login wird die Applikation übersetzt und geladen.
Ist die Steuerung so konfiguriert, dass die Symbole innerhalb der Applikation (Standardmethode)
herruntergeladen werden, passiert folgendes:
Die Applikation mit der impliziten Symbolinformation wird erzeugt und auf die SPS geladen. Die Symboldatei
wird zusätzlich im Projektverzeichnis geladen.
Ist die Steuerung so konfiguriert, dass die Symbole sich in einer eigenen Kindapplikation befinden, passiert
folgendes
Die Namenssyntax der Symbolapplikation lautet:
<Applicationsname>.__Symbols
Die Applikation wird mit der Kindapplikation erzeugt und auf die SPS geladen. Zusätzlich wird die
Symboldatei im Projektverzeichnis gespeichert.
Die Symbolapplikation muss als normale Applikation betrachtet werden, die auch zählt, wenn man die
maximale Anzahl der Applikationen auf einer Steuerung berechnet.
5.2
V2.3-Interface
Schritt 1: Symboleinträge erzeugen anwählen
Damit das Symbolfile bei jedem Übersetzen automatisch generiert wird, muss zunächst die Option
Symboleinträge erzeugen (Projekt -> Optionen -> Symbolkonfiguration) aktiviert werden.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
15/42
CODESYS OPC Server V3
Konfiguration der Symbole im Programmiersystem
Schritt 2: Symbolfile konfigurieren
Im Dialog Objektattribute setzen (Projekt -> Optionen -> Symbolkonfiguration -> Symbolfile konfigurieren )
können im Strukturbaum des Projekts die Objekte/Variablen markiert werden, für die die Symboloptionen
gesetzt werden sollen.
Die Mehrfachselektion von Objekten ist möglich (Taste <Umschalt> + <Strg>). Wird, wie im Dialog gezeigt, das
Objekt OPC_Variablen markiert, so gelten die dort vorgenommenen Einstellungen für alle Kindobjekte.
Folgende Optionen werden unterstützt:





Hinweis:
Variablen des Objekts ausgeben: Die Variable wird in das Symbolfile ausgegeben.
Sammeleinträge ausgeben: Für Strukturen und Arrays wird ein Eintrag zum Zugriff auf die
Gesamtvariable erzeugt. Voraussetzung: Die Option Variablen des Objekts ausgeben ist
aktiviert.
Strukturkomponenten ausgeben: Bei der Verwendung von Strukturen wird für jedes Element ein
eigener Symboleintrag erzeugt. Voraussetzung: Die Option Variablen des Objekts ausgeben
ist aktiviert.
Feldkomponenten ausgeben: Bei der Verwendung von Arrays wird für jedes Element ein
eigener Symboleintrag erzeugt. Voraussetzung: Die Option Variablen des Objekts ausgeben ist
aktiviert.
Schreibzugriff: Die Variablen des Objektes dürfen vom OPC-Server verändert werden.
Diese Version des OPC-Servers kann nur auf Items von Basistypen zugreifen. Deshalb muss für jedes Objekt
‚Strukturkomponenten ausgeben’ und ‚Feldkomponenten ausgeben’ aktiv sein.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
Hinweis:
16/42
CODESYS OPC Server V3
Konfiguration der Symbole im Programmiersystem
Es wird empfohlen, nur die wirklich benötigten Variablen/Objekte für den OPC-Zugriff zur Verfügung zu
stellen.
Schritt 3: Übersetzen
Beim Übersetzen des Projekts wird das Symbolfile (*.sdb) erzeugt und im Projektverzeichnis abgelegt.
Schritt 4: Einloggen
Wird das Projekt mit Online -> Einloggen zur Steuerung übertragen, so kann das Symbolfile ebenfalls mit zur
Steuerung übertragen werden. Dazu muss in den Zielsystemeinstellungen die Option Symboldatei senden
aktiviert werden.
Hinweis:
Hinweis:
Es wird empfohlen das Symbolfile auf der Steuerung abzulegen.
Damit ist gewährleistet, dass der OPC-Server immer Zugriff auf die Symbole hat. Auch dann, wenn der
Download der Symboldatei über einen anderen als den vom OPC-Server verwendeten Gateway-Server erfolgte.
Handelt es sich bei der verwendeten Steuerung um eine Embedded-Steuerung, so ist die Übertragung des
Symbolfiles nicht möglich. Bitte informieren Sie sich gegebenenfalls bei Ihrem Steuerungshersteller. In diesem
Fall ist eine Verbindung mit dem OPC-Server nur über das Gateway, über das auch der Programmdownload
erfolgte möglich. Das Symbolfile wird dann beim Gateway abgelegt.
Schritt 5: Konfiguration des OPC-Servers
Die Konfiguration des OPC-Servers kann über das Werkzeug OPCConfig erfolgen und in der Datei OPC.ini
gespeichert werden. Siehe hierzu Kap. 6.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
6
17/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
Für die Verbindung zwischen OPC-Client und den Steuerung(en) (PLC) sind Konfigurationseinstellungen in der
Datei OPCServer.ini definiert.
Man beachte, dass der Default-Pfad der INI-Datei vom verwendeten Betriebssystem abhängt. Die Datei ist in
den Vorgängerversionen von Windows-Vista im Installationsverzeichnis des OPC-Servers zu finden
(standardmäßig unter „C:\Program Files\3S CODESYS\CODESYS OPC Server V3“). Bei allen nachfolgenden
Windows-Betriebssystemen liegt die Datei standardmäßig unter „C:\ProgramData\CODESYSOPC“
Man beachte auch, dass der OPC-Server eine Datei erwartet, wie sie in der Registry definiert ist. Das heißt,
dass standardmäßig der Name der INI-Datei „C:\ProgramData\CODESYSOPC\OPCServer.ini“ lautet. Wie diese
Standarddefinition geändert werden kann ist in Kap. 7.8 „Ändern von Verzeichnis und Name von Konfigurationsund LOG-Datei“ beschrieben. Nur diese Datei wird vom CODESYS OPC-Server für das Aufbauen einer
Verbindung verwendet. Dateien mit anderen Namen werden ignoriert.
“OPCServer.ini” kann zwar direkt editiert werden, aber es ist viel komfortabler, sie mit dem Konfigurations-Tool
OPCConfig zu bearbeiten, welches im Installationsverzeichnis liegt (standardmäßig hier: „C:\Program Files\3S
CODESYS\CODESYS OPC Server V3“).
6.1
Aufrufen von OPCConfig.exe
6.1.1
Standardaufruf
Der Aufruf von OPCConfig.exe öffnet das Tool ‘OPCConfig’ mit der registrierten INI-Datei.
6.1.2
Eine bestimmte INI-Datei öffnen
OPCConfig kann mit einem Kommandozeilenparameter aufgerufen werden, um eine bestimmte ini-Datei zu
öffnen. Wenn der Name der ini-Datei nicht im gleichen Verzeichnis wie OPCConfig.exe zu finden ist, muss das
Tool mit dem vollen Pfad im Argument <file name> aufgerufen werden.
Syntax:
“<path of OPCConfig>\OPCConfig.exe” /open <file name>
Beispiel:
Der folgende Befehl öffnet die Datei “MySpecialConf.ini”:
“C:\Program Files\3S CODESYS\CODESYS OPC Server V3\OPCConfig.exe” /open
MyOPCServer.ini
Hinweis:
Der OPC-Server verwendet eine spezielle Datei nicht für das Aufbauen der Verbindung, wenn diese nicht
registriert und deswegen nicht die aktive INI-Datei ist.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
6.2
18/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
Menü-Befehle
6.2.1
File
Dieses Menü bietet Befehle zum Laden und Speichern der Konfigurationsdateien in und aus dem
Konfigurations-Tool:
Befehl
Beschreibung
Open <Ctrl>+<O>
Zur Bearbeitung einer bereits erstellten Konfiguration. Der
Standarddialog zum Öffnen einer Datei erscheint, wo Sie eine
bereits existierende INI-Konfigurationsdatei auswählen können.
Der Filter wird automatisch auf „OPCConfig-Files *.ini“ gesetzt.
Die in der Datei beschriebene Konfiguration wird in den
Konfigurator geladen
New <Ctrl>+<N>
Zum Erstellen einer neuen Konfiguration. Wenn bereits eine
Konfiguration geöffnet ist, wird gefragt, ob diese vor dem
Schließen gespeichert werden soll. Danach werden die
Standardeinstellungen angezeigt, wie nach dem Start des Tools.
Save <Ctrl>+<S>
Speichert die aktuelle Konfiguration in die gerade geladene INIDatei. Achtung, die Änderungen an einer Konfiguration werden
nicht wirksam, wenn die INI-Datei nicht die aktive ist.
Save as
Speichert die aktuelle Konfiguration in eine Datei, die im
Standarddialog zum Speichern einer Datei angegeben werden
kann. Achtung, die Änderungen an einer Konfiguration werden
erst wirksam, wenn sie in die entsprechende Konfigurationsdatei
gespeichert wurden.
<n> recently opened ini-files
Liste der INI-Dateien, die seit dem letzten Starten des
OPCConfig bearbeitet wurden. Daraus kann eine beliebige
ausgewählt werden, um sie erneut in das Tool zu laden.
Exit
Das OPCConfig-Tool wird beendet. Wenn Änderungen an der
gerade geladenen Konfiguration noch nicht gespeichert wurden,
wird jetzt gefragt, ob das getan werden soll.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
6.2.2
19/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
Edit
Dieses Menü bietet Befehle zum Bearbeiten des Konfigurationsbaums im linken Teil des Konfigurators.
Befehl
Beschreibung
New Redundancygroup
<Ctrl>+<G>
Eine Redundant Group wird unterhalb des Server-Eintrags
eingehängt. Wenn bereits PLCs oder Redundant-Groups im Baum
vorhanden sind, wird die neue Redundant-Group am Ende
angehängt. Standardmäßig erhält der neue Eintrag den Namen
„Redundant<n>“, wobei n zur fortlaufenden Nummerierung dient,
die mit 1 beginnt. Zum Umbenennen des Eintrags muss er im
Baum markiert und Befehl Edit/Rename PLC gewählt werden,
oder er muss über einen Mausklick auf den Eintrag editierbar
gemacht werden.
Append PLC <Ctrl>+<O>
Ein PLC Eintrag wird unterhalb von Server eingefügt. Eine neue
Steuerung (PLC) wird immer am Ende des bestehenden Baums
angehängt. Standardmäßig wird ein neuer Eintrag PLC<n>
genannt, wobei n zur fortlaufenden Nummerierung dient, die mit 1
beginnt. Zum Umbenennen des Eintrags muss er im Baum
markiert und Befehl Edit/Rename PLC gewählt werden, oder er
muss über einen Mausklick auf den Eintrag editierbar gemacht
werden.
Delete PLC <Ctrl>+<D>
Der gerade ausgewählte PLC-Eintrag wird aus dem Baum
gelöscht.
Rename PLC <Ctrl>+<R>
Der gerade ausgewählte PLC-Eintrag kann umbenannt werden.
Reset PLC <Ctrl>+<Z>
Noch nicht verfügbar!
Die Einstellungen für den gerade ausgewählten PLC-Eintrag
werden auf die Standardwerte, die in den PLC Default Setting’
definiert sind, zurückgesetzt.
6.2.3
?
Dieser Befehl öffnet eine Meldungsbox mit Informationen zu Version, Copyright und Hersteller des
Konfigurationswerkzeugs.
6.2.4
Settings for OPC Server
Dieser Dialog erscheint, wenn der oberste Eintrag Server im Konfigurationsbaum ausgewählt is. Er enthält die
folgenden Einstellungen:
-
Update Rate (ms): Standardeinstellung: 200
Aktualisierungsrate des OPC-Servers in Millisekunden. Dies ist die Zykluszeit, gemäß der alle
Variablenwerte von der Steuerung gelesen werden. Die Daten werden in den Cash geschrieben, mit
dem der Client gemäß einer separat definierten Aktualisierungsrate kommuniziert. Hinweis: Mit der
Statusinformation stellt der Server auch den Parameter Bandwidth Usage bereit, der das Verhältnis
der aktuellen Aktualisierungsrate zur konfigurierten in Prozent angibt.
-
Sync Init : Standardeinstellung: nicht aktiviert
Ist diese Option aktiviert, wird die eine synchrone Verbindung initialisiert.
-
Writes produce data change calls: siehe Kap. 7.1, Eintrag „ReadCyclesAfterWrite“:
-
Use Colon as PLC-name separator: siehe Kap. 7.1, Eintrag „UseColonAsPlcDivider“
-
Suppress callbacks on add/remove: siehe Kap. 7.1, Eintrag „GroupUpdateBehaviour“
Logging
-
Enable Logging (Defaultevents): Defaulteinstellung: nicht aktiviert
Wenn die Option aktiviert ist, werden Aktionen und Fehler auf dem OPC-Server in eine LOG-Datei
geschrieben. Die Datei wird im Installationsverzeichnis unter dem Namen OPCServer.log gespeichert.
Nach einem Beenden des OPC-Servers kann die LOG-Datei ausgewertet werden. Die Meldungen
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
20/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
mehrerer OPC-Sitzungen werden solange in die selbe LOG-Datei geschrieben bis die Datei eine Größe
von 1 MB erreicht. Dann wird dem LOG-Dateinamen das aktuelle Datum hinzugefügt
(OPCServer<date>.log, z.B. OPCServer12.10.2008.log) und die Datei so abgelegt. Für weitere
Aufzeichnungen wird dann eine neue LOG-Datei angelegt.
-
Log Additional Events: Standardeinstellung: nicht aktiviert
Ist diese Option aktiviert werden zusätzliche Ereignisse in die LOG-Datei geschrieben.
-
Add Debug Events (slow): Standardeinstellung: nicht aktiviert
Ist diese Option aktiviert werden Debug-Ereignisse Ereignisse in die LOG-Datei geschrieben.
6.2.5
Settings for <PLC>
Dieser Dialog erscheint, wenn ein <PLC>-Eintrag im Konfigurationsbaum ausgewählt ist.
-
Interface:
Name der Schnittstelle, die für die Kommunikation zwischen Programmiersystem und Steuerung
verwendet wird. Die Auswahlliste enthält die folgenden Schnittstellentypen: ARTI, GATEWAY,
SIMULATION (für CODESYS V2.3 Projekte), GATEWAY3 und SIMULATION3 (für CODESYS V3
Projekte). Zu den SIMULATION und SIMULATION3 Schnittstellen siehe Kap. 6.3.
-
Project name:
Hier steht der Name des Symbolfiles, das im Fall der Simulation angezogen werden soll. Wird kein Pfad
angegeben, so wird die Datei im OPC-Server-Verzeichnis erwartet. Der Dateiname folgt in CODESYS
V3 folgender Syntax:
<Projektname>.<Device>.<Applikation>.xml
In CODESYS V2.3
<Projektname>.sdb
Hinweis:
Dieser Eintrag wird verwendet, wenn gleichzeitig auch Interface SIMULATION, SIMULATION3 oder
verwendet wird.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
21/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
-
Timeout (ms): Standardeinstellung: 10000
Wenn innerhalb dieser Zeitspanne in Millisekunden der OPC-Server von der Steuerung keine
Rückmeldung auf einen gesendeten Dienst erhalten hat, beendet er sich automatisch.
-
Number of Tries: Standardeinstellung: 3
Anzahl der Versuche, die der Gateway Kommunikationstreiber macht, um einen Datenblock korrekt zu
übertragen. Sobald der letzte Versuch fehlgeschlagen ist, wird eine Kommunikationsfehlermeldung
erzeugt. (Dieser Eintrag ist nur für Treiber relevant, die eine Kommunikation über Blocks unterstützen,
Level 2).
-
Buffer Size (Byte): Standardeinstellung: 0
Größe des Kommunikationspuffers auf dem Zielgerät; wenn der Eintrag “0” ist, wird der Treiber nach
dieser Größenangabe abgesucht. Wenn er sie nicht liefert, wird angenommen, dass der Puffer
unbegrenzt groß ist.
-
Wait Time (s): Standardeinstellung: 10
Zeitspanne in Sekunden, die der OPC-Server wartet bis die Steuerung bereit ist (wichtig während des
automatischen Starts der Steuerung)
-
Reconnect Time (s): Standardeinstellung: 15
Zeitintervall, in dem der OPC-Server wiederholt versucht, sich mit der Steuerung über den Gateway
wieder zu verbinden.
-
Active: Standardeinstellung: aktiviert:
Nur wenn diese Option aktiviert ist, wird die Steuerung vom OPC-Server beachtet.
-
Motorola Byteorder: Standardeinstellung: nicht aktiviert
Hier wird die Motorola Byte Order aktiviert. (Dies ist bei PLCs mit 68K, 8051 und Power PC notwendig!).
Diese Einstellung muss mit der, die in den Kommunikationseinstellungen des Geräts gesetzt ist,
übereinstimmen.
-
No Login-Service: Standardeinstellung: nicht aktiviert
Diese Option muss für bestimmte Zielsysteme aktiviert werden, die das Senden eines Login-Dienstes
verlangen.
-
Logging: Optionen für die Aufzeichnung von Ereignissen in einer LOG-Datei, siehe Kap. 6.2.4.
Standardmäßig ist die Aufzeichnung der Standardereignisse aktiviert (Enable logging (Defaultevents):
Verbindungsaufbau und –abbau)). Die Aufzeichnung von zusätzlichen (Log Additional Events) und von
Debugging-Ereignissen (Add Debug Events (slow!) ) kann zur Fehleranalyse explizit aktiviert werden.
Achtung, in den beiden letzteren Fällen wird die Systemauslastung stark erhöht.
6.2.6
Settings for connection to <PLC>
Dieser Dialog erscheint, wenn der Eintrag Connection unterhalb einer <PLC> im Konfigurationsbaum
ausgewählt ist.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
22/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
Hier müssen die Kommunikationseinstellungen, so wie sie für die Applikation im CODESYS V3 Projekt definiert
sind, eingetragen sein. Falls keine Kommunikationseinstellungen gesetzt sind, beendet sich der OPC-Server mit
Status STATE_TERMINATE. In diesem Fall können im zugehörigen log-File, in dem alle Abläufe des OPCServers aufgelistet sind, die aufgezeichneten Fehlversuche des Verbindungsaufbaus gefunden werden.
Um die Kommunikationseinstellungen einzugeben bzw. bestehende Einträge zu ändern, wird über Schaltfläche
Edit der Dialog CODESYS address of PLC geöffnet:
Hier sind die IP-Adresse (IP-Address) und der Port für den Gateway anzugeben, sowie zur Erkennung der
Steuerung entweder Name oder Adresse (PLC name (recommended) or address) derselben, oder Adresse und
Port des Tcp/Ip Blocktreibers (Use Tcp/blockdriver); jeweils müssen die Einstellungen hier denen entsprechen,
die im Dialog Kommunikationseinstellungen im Geräte-Editor in CODESYS für das betreffende CODESYSProjekt definiert sind! Nach Schließen mit OK werden die Einstellungen im Hauptdialog angezeigt.
In einem CODESYS-V2.3-Projekt werden im Dialog Kommunikationsparameter die gültigen Einstellungen
vorgenommen. Über die in Baumstruktur angezeigten Kanäle kann der für die Steuerung gültige ausgewählt
werden.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
23/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
Erweiterte Einstellmöglichkeiten erhält man über die Schaltfläche Expert, die den Dialog Additional generic
parameters öffnet:
Diese Einstellungen sind im Programmierhandbuch zum PLC-Handler beschrieben; bei Bedarf kann ein Wert
nach einem Mausklick in Spalte „Value“ editiert werden.
6.3
Simulation Interface
Wenn die im CODESYS-Projekt konfigurierte Steuerung (Gerät) nicht verfügbar ist, kann der OPC-Server auch
im Simulationsmodus arbeiten. Dazu wird nur die aus dem CODESYS-Projekt erzeugte Symboldatei
<NameProjekt>.<NameApplication>.xml benötigt. Die Symbole, die in diese Datei exportiert wurden, können
vom OPC-Server verwendet werden, allerdings sind im Simulationsmodus ihre Werte nicht ansprechbar.
Für die Simulation mit einem V3-Projekt muss der Interface-Typ “SIMULATION3” eingestellt werden, für die
Simulation mit einem V2.3-Projekt “SIMULATION”.
6.3.1
SIMULATION3
In der OPC-Server-INI-Datei wird der Simulationszugriff konfiguriert, indem das Interface SIMULATION3
angewählt wird und unter Project name der Name der Symboldatei angegeben wird. Ist in einem CODESYSV3–Projekts eine Symbolkonfiguration vorhanden, dann wird die zugehörige Symboldatei bei einem Build
automatisch generiert und mit der Namenserweiterung XML beim Projekt abgespeichert. Wird die Datei ins
OPC-Server-Verzeichnis verschoben, ist hier nur der Dateiname anzugeben. Aber sie kann an einen beliebigen
Speicherort kopiert werden, dann ist in Project name auch der Pfad anzugeben.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
24/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
Dialog mit Konfiguration eines simulierten Zugriffs auf den Symbolvorrat von SimulatedControlWinV3:
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
6.3.2
25/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
SIMULATION
In der OPC-Server-INI-Datei wird der Simulationszugriff für Gateway V2.3-Verbindungen konfiguriert, indem das
Interface SIMULATION angewählt wird und unter Project name der Name der Symboldatei angegeben wird. Die
Symboldatei wird automatisch bei einem Build-Befehl eines CODESYS-V2.3–Projekts generiert, wenn unter
‚Optionen->Symbolkonfiguration’ entsprechende Angaben gesetzt sind. Die Symboldatei wird im gleichen
Verzeichnis wie die Projektdatei abgelegt und hat die Namenserweiterung SDB. Wird die Datei im OPC-ServerVerzeichnis abgelegt, ist hier keine Pfadangabe notwendig. Sie kann aber auch an einen beliebigen Ort kopiert
werden, dann ist unter Project name auch das Verzeichnis anzugeben.
Dialog mit Konfiguration eines simulierten Zugriffs auf den Symbolvorrat von SimulatedPLCWinNT:
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
6.4
26/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
Sonderfall „GATEWAY“
In der CODESYS-V2.3-Umgebung ist es möglich eine Verbindung nur bis zum Gateway V2.3 aufzubauen,
wenn folgendes erfüllt ist:
-
Auf der Steuerung kann kein Symbol-File gespeichert werden.
-
Das aktuell laufende Projekt ist namentlich nicht bekannt.
-
Das Symbol-File ist auch beim Gateway gespeichert.
Es steht dann die beim Gateway abgelegte Symbolinformation dem OPC-Client zur Verfügung. Folgende
Einstellungen sind in der OPC-Server.ini Datei vorzunehmen:
6.5
Redundant Group
Eine ‚Redundant Group’ (auch: „redundancy group“) kann aufgesetzt werden um sicher zu stellen, dass der
OPC-Server auch dann Werte der gewünschten Variablen (Items) erhält, wenn die Kommunikation zur
ursprünglich gewünschten Steuerung nicht funktioniert und dann von einer parallel betriebenen Steuerung
übernommen wird. Die Gruppe definiert dazu Verbindungen zu zwei Steuerungen, die die gleichen
Symbolvorrat (Items) bereitstellen. Über eine „Master-Variable“ wird festgelegt, von welcher Steuerung der
Gruppe primär gelesen wird.
Die dafür nötigen Einträge in der OPC-Server-INI-Datei werden folgendermaßen mit dem Werkzeug
OPCConfig.exe erzeugt:
Befehl Edit/New Redundancy Group öffnet den folgenden Dialog zum Konfigurieren einer Redundant Group:
Alle aktuell im Konfigurationsbaum enthaltenen Steuerungen werden im Fenster Available PLCs aufgelistet. Um
eine davon der Redundant Group hinzuzufügen, muss sie hier ausgewählt und über die Pfeiltaste dem Fenster
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
27/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
PLCs in this group hinzugefügt werden. Achtung, alle der Gruppe angehörenden Steuerungen müssen einen
identischen Satz an Variablen (Items) bereitstellen. Es können maximal zwei Steuerungen ausgewählt werden.
Default PLC: Hier kann die Steuerung angegeben werden, von der der OPC-Server die Werte lesen soll, wenn
über Master Variable keine eindeutige Master-Steuerung ermittelt werden kann.
Select PLC in group to set Master Variable: Wählen Sie eine Steuerung im Fenster PLCs in this group aus und
geben Sie dann eine boolsche Variable an, die in der Applikation verwendet wird und die als Master Variable für
diese Steuerung gelten soll. Der OPC-Server prüft die Master-Variable jeder Steuerung innerhalb der Gruppe
und liest dann die Werte von derjenigen Steuerung, deren Master-Variable TRUE liefert. Wenn die MasterVariablen keine eindeutige Auskunft geben, wird automatisch von der in „Default PLC“ angegebene Steuerung
gelesen. Werte können nur geschrieben werden, wenn mindestens in einer Steuerung die Master-Variable
gesetzt ist.
Der Name der Master-Variable folgt in CODESYS V3 folgender Syntax:
<Applicationsname>.<POUname>.<Variablenname>
Der Name der Master-Variable in CODESYS V2.3 enthält keinen Applikationsnamen und bei globalen Variablen
auch keinen POU-Namen:
<POUname>.<Variablenname>
oder
.<NameGlobaleVariable>
Hinweis:
Ohne deklarierte Master-Variable arbeitet der CODESYS OPC Server V3 nicht. Das Fehlen der Master-Variable
wird in der LOG-Datei dokumentiert.
Life-Counter-Variable (all PLCs in group): Mit dieser Variable kann jede Steuerung abfragen, ob der OPCServer noch aktiv ist. Sie muss dazu in jeder Steuerung der Gruppe definiert sein und die Life-Counter-Variable
muss vom Typ DWORD sein.
Der Name des Life-Counters folgt in CODESYS V3 folgender Syntax:
<Application>.<POU>.<Variable>.
Namen von Variablen in CODESYS V2.3 enthalten keinen Applikationsnamen und bei globalen Variablen auch
keinen POU-Namen. Somit ist die Syntax wie folgt definiert:
<POUname>.<Variablenname>
oder
.<NameGlobaleVariable>
6.6
OPCConfig-Konfiguration mit OPCConfig.ini
Um das Verhalten des Tools OPCConfig festzulegen, ist es möglich eine INI-Datei „OPCConfig.ini“ im
Arbeitsverzeichnis des Tools abzulegen. Unter Sektion [Config] können Hersteller und Produktnamen
eingetragen werden. Unter Sektion [PLCDefaults] können Standardeinstellungen für die Verbindung zur
Steuerung festgelegt werden, die das Tool verwendet, wenn eine neue Steuerung hinzugefügt wird. Die INIDatei wird bei jedem Start von OPCConfig neu eingelesen.
Beispiel:
[Config]
vendor=3S-Smart Software Solutions GmbH
product=CODESYSOPCDA and CODESYSOPCAE
inifilevalue=<Name des Registrywerts, mit dem OPCServer-Inifile-Pfad>
[PLCDefaults]
interface=GATEWAY
active=1
motorola=1
nologin=0
timeout=12
tries=5
buffersize=5000
reconnecttime=13
v3gatewayport=1217
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
28/42
CODESYS OPC Server V3
CODESYS OPC-Server Konfiguration mit OPCConfig.exe
v3gateway=localhost
v3address=0000
Eintrag
Beschreibung
[Config]
vendor=3S-Smart Software
Solutions GmbH
Hersteller
product=CODESYSOPCDA and
CODESYSOPCAE
Produktname
[PLCDefaults]
interface=GATEWAY
Standardschnittstelle
active=1
motorola=1
nologin=0
timeout=12
tries=5
buffersize=5000
reconnecttime=13
v3gatewayport=1217
v3gateway=localhost
v3address=0000
© 3S-Smart Software Solutions GmbH
Standard-Verbindungseinstelllung zu einer Steuerung über Gateway3.
Wird verwendet, wenn eine Steuerung über Gateway V3 hinzugefügt
wird.
CODESYS Inspiring Automation Solutions
7
29/42
CODESYS OPC Server V3
Konfiguration mit „OPCServer.ini“
Konfiguration mit „OPCServer.ini“
Die INI-Datei der OPC-Server-Konfiguration (OPCServer.ini) muss in den Vorgängerversionen von Windows
Vista im Installationsverzeichnis des OPC-Servers abgelegt werden (standardmäßig unter „C:\Program Files\3S
CODESYS\CODESYS OPC Server V3“). Bei allen Windows-Vista nachfolgenden Windows-Betriebssystemen
ist die Datei standardmäßig unter „C:\ProgramData\CODESYSOPC“ abzulegen.
Hier wird unter der Sektion [Server] der OPC Server konfiguriert, und unter den Sektionen [PLC:<PLC-Name>]
die Verbindung zu der genannten Steuerung spezifiziert.
7.1
Konfiguration des CODESYS OPCServers V3 unter [Server]
Einstellungen, die nur für den OPC-Server von Bedeutung sind, erscheinen unter der Sektion [Server] in der
Datei „OPCServer.ini“. Die hier aufgelisteten Einträge können teilweise über das Tool OPCConfig angewählt
werden. Siehe Kap. 6.2.4 Settings for OPC Server.
Eintrag
Wert (Beispiel)
Bedeutung
Notwendig
PLCs
=1
Anzahl der Steuerungen
Ja
PLCx
=[<PLC-Name>]
Dieser Variablen wird der Namen einer
Steuerung zugewiesen, das x steht
dabei für den Index von 0 bis Anzahl
der Steuerungen -1.
Ja
logevents
=1
Einschalten des Log-Mechanismus.
Ja
logfilter
=63
Filter für die Logdatei.
Nein
memloginterval
=1
Gibt ein Intervall in Sekunden an, in
dem Logeinträge zum
Speicherverbrauch erzeugt werden. Ist
hier 1 angegeben, wird jede Sekunde
ein Logeintrag erzeugt. Der Eintrag
wird nur verwendet, wenn in ‚logfilter’
die Logeinträge zum
Speicherverbrauch aktiviert sind.
Nein
ReadCyclesAfterWrite
=2
Nach jedem geschriebenen Item
sendet der OPC-Server einen Callback
an den Client. Früher konnte es im Fall
von sich schnell ändernden Werten
dazu kommen, dass nicht für jede
Änderung ein Callback gesendet und
somit der Wert im Client nicht
aktualisiert wurde. Um in jedem Fall
eine Aktualisierung zu gewährleisten,
kann die Einstellung
„ReadCyclesAfterWrite“ verwendet
werden. Sie gibt die Anzahl von LeseZyklen nach dem letzten Schreiben an,
nach denen die Werte im Client auf
jeden Fall aktualisiert werden sollen,
auch wenn sie sich nicht geändert
haben. (Standard: Callback wird nach
2 Lesezyklen erzeugt; eine andere
gewünschte Zyklusanzahl muss
händisch in die ini-Datei eingetragen
werden)
Nein
UseColonAsPlcDivider
=1
Hier kann ein Wert spezifiziert werden.
Sofern dieser nicht gleich 0 ist, wird
der erste „.“ (z.B. der punkt nach dem
SPS-Namen) durch einen Doppelpunkt
Nein
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
Eintrag
Wert (Beispiel)
30/42
CODESYS OPC Server V3
Konfiguration mit „OPCServer.ini“
Bedeutung
Notwendig
ersetzt.
Updaterate
=200
Aktualisierungsrate in Millisekunden
Ja
GroupUpdateBehaviour
=1
In diesem Fall werden Data-changedCallbacks (Rückruffunktion bei
Datenänderungen) für das
aktivierte/deaktivierte Item erzeugt.
Ist der Eintrag auf 0, dann werden
Rückruffunktionen für alle Items in der
Gruppe erzeugt, immer wenn ein (oder
mehrere) Item(s) innerhalb der Gruppe
aktiviert oder deaktiviert werden
Nein
Die folgende Tabelle listet die möglichen Optionen für den Logfilter auf. Wenn mehrere Einträge aktiviert
werden sollen, sind diese zu addieren und das Ergebnis unter ‚logfilter’ einzutragen.
logfilter
Beschreibung
15 (16#0000000F)
Erzeugen von Standard-Log-Einträgen.
32 (16#00000020)
Erzeugen von zusätzlichen Einträgen.
48 (16#00000030)
Erzeugen von Debug-Einträgen.
512 (16#00000200)
Erzeugen von Log-Einträgen über den Speicherverbrauch. Der Eintrag wird
in jeder „memloginterval“ Sekunde erstellt.
7.2
Konfiguration der Verbindung zu den Steuerungen
Unter der Sektionen [PLC:<PLC-Name>] werden die Verbindungseinstellungen für die zugehörigen Steuerung
definiert. Diese Information wird an den unterlagerten PLCHandler weitergereicht. Alle Einstellungen, auch die
speziellen, sind im Detail im Programmierhandbuch für den PLCHandler beschrieben.
Teilweise können die Einträge über das Tool OPCConfig angewählt werden. Siehe Kap. 6.2.6 „Settings for
connection to <PLC>“.
Wichtigster Eintrag hier ist die Adresse der Steuerung. Dabei hängt es vom Interface-Typ ab, welche Einträge
zu setzen sind.
Beispiel für Interface GATEWAY3:
gateway=Tcp/Ip
CODESYS Gateway V3 Einstellungen
gatewayaddress=localhost
IP-Adresse
gatewayport=1217
Port
Device=TCP/IP
CODESYS Control V3 Einstellungen
parameters=2
Parameter um IP-Adresse und Port zu setzen
parameter0=Address
value0=050C
Hier ist die ‚Node Address’ der Steuerung anzugeben,
wie sie (im Gateway-Dialog) in CODESYS V3 definiert
ist.
parameter1=Port
value1=11740
© 3S-Smart Software Solutions GmbH
Hier ist die Portadresse anzugeben.
CODESYS Inspiring Automation Solutions
7.3
31/42
CODESYS OPC Server V3
Konfiguration mit „OPCServer.ini“
Beispiel einer INI-Datei für das V3-Interface
Eintrag
Bedeutung
[Server]
Einstellungen für OPC Server
PLCs=1
Verbindung zu einer Steuerung ist vorgesehen
PLC0=PLC1
Name der ersten Steuerung: PLC1
logevents=1
Einschalten des Log-Mechanismus.
Logfilter=15
Erzeugen von Standard-Log-Einträgen
ReadCyclesAfterWrite=2
Damit wird nach jedem Write-Auftrag des Clients nach
dem Schreiben eines Wertes für diesen Wert ein
Callback ausgelöst, um dem Client unbedingt nach 2
Updatezyklen nochmals den aktuelle Wert zu
übergeben. Für schnell ändernde Werte erforderlich.
UseColonAsPlcDivider
Hier kann ein Wert spezifiziert werden. Sofern dieser
nicht gleich 0 ist, wird der erste „.“ (z.B. der punkt nach
dem SPS-Namen) durch einen Doppelpunkt ersetzt.
Updaterate=200
Aktualisierungsrate in Millisekunden
[PLC:PLC1]
Einstellungen für PLC1
interfacetype=GATEWAY3
Damit wird über das GATEWAY3 eine Verbindung mit
der Steuerung aufgebaut.
Active=1
Aktiv
timeout=2000
Zeitüberschreitung
tries=3
Anzahl Versuche
project=OPC.Device.Application.x
ml
Name und Pfad des erzeugten Symbolfiles, das im Fall
einer Simulation angezogen wird. Ist kein Pfad
angegeben wird das File im OPC-Server Verzeichnis
erwartet.
reconnecttime=5
Zeit für Wiederaufbau der Verbindung
waittime=10
Wartezeit
gateway=Tcp/Ip
Einstellungen für die Verbindung zu PLC_A (
Verbindung Client zu lokalem Gateway über TCP/IP )
gatewayaddress=localhost
gatewayport=1217
Device=TCP/IP
parameters=1
parameter0=Address
value0=050C
7.4
Parameter für Verbindung zum Zielrechner, wo
Steuerung PLC1 läuft (Dialog
Kommunikationsparameter im Tool OPCConfig)
Bei dem unter „value0“ einzutragenden Wert handelt es
sich um die CODESYS Node Address, und sie muss
identisch sein zu der Knotenadresse, wie sie im
Programmiersystem definiert ist.
Beispiel einer INI-Datei für das V2.3-Interface
Eintrag
Bedeutung
[Server]
Einstellungen für OPC Server
PLCs=2
Verbindung zu zwei Steuerungen ist vorgesehen
PLC0=PLC_A
Name der ersten Steuerung: PLC_A
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
32/42
CODESYS OPC Server V3
Konfiguration mit „OPCServer.ini“
Eintrag
Bedeutung
PLC1=PLC_B
Name der zweiten Steuerung: PLC_B
logevents=1
Einschalten des Log-Mechanismus.
Logfilter=16#ffffffcf
Aktivieren aller Fehler und Infos, keine Details.
ReadCyclesAfterWrite=2
Siehe hierzu bitte die Beschreibung in Kap.7.1
UseColonAsPlcDivider
Hier kann ein Wert spezifiziert werden. Sofern dieser
nicht gleich 0 ist, wird der erste „.“ (z.B. der punkt nach
dem SPS-Namen) durch einen Doppelpunkt ersetzt.
Updaterate=200
Aktualsierungsrate in Millisekunden
[PLC:PLC_A]
Einstellungen für PLC_A
active=1
Aktiv
interfacetype=GATEWAY
Damit wird über das GATEWAY eine Verbindung mit der
Steuerung aufgebaut.
Motorola=0
Motorola Byteorder
nologin=1
Login Service
timeout=2000
Zeitüberschreitung
tries=3
Anzahl Versuche
waittime=10
Wartezeit
reconnecttime=5
Zeit für Wiederaufbau der Verbindung
buffersize=0
Puffergröße: 0 heißt die Puffergröße wird aus der
Steuerung ermittelt.
Project=OPC.sdb
Name und Pfad des Symbolfiles, das im Fall einer
Simulation angezogen wird. Ist kein Pfad angegeben
wird das File im OPC-Server Verzeichnis erwartet.
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
parameters=3
Parameter für Verbindung zum Zielrechner, wo
Steuerung PLC_A läuft (Dialog
Kommunikationsparameter
parameter0=Address
value0=127.0.2.1
parameter1=Port
value1=1200
parameter2=Motorola byteorder
value2=No
Parameter3=TargetID
Value3=0
© 3S-Smart Software Solutions GmbH
Target ID der Steuerung, die zum Routen bei einem
„routenden“ Kommunikationstreiber dient, mit der sich
der OPC-Server hier verbinden soll.
CODESYS Inspiring Automation Solutions
33/42
CODESYS OPC Server V3
Konfiguration mit „OPCServer.ini“
Eintrag
Bedeutung
Parameter4=SymbolFilePath
Optionaler Eintrag, mit dem der PLCHandler bestimmt,
wo das zuletzt geladene Symbolfile gespeichert werden
kann. Es wird dann zuerst diese Datei untersucht und
anhand der Projekt-ID entschieden, ob das Symbolfile
neu übertragen werden muss. Siehe 6.2.5,
Experteneinstellungen.
[PLC:PLC_B]
Analog zu obigem Abschnitt.
7.5
Konfiguration von ‚Redundant Group’
Will man Steuerungen zu einer redundanten Gruppe zusammenfügen, ist dies bis zu zwei Steuerungen
komfortabel über das Tool OPCConfig möglich. Will man die redundante Gruppe erweitern, kann man dies mit
entsprechenden Einträgen in OPCServer.ini für bis zu fünf Steuerungen definieren, indem man die Einträge
manuell editiert.
Zur Laufzeit werden alle Steuerungen parallel betrieben und alle sind in der Lage die Werte der Symbole an den
Client zu liefert. Tatsächlich wird vom Client dort ausgelesen, wo die Master-Variable TRUE ist. Ist dies über die
Master-Variable nicht eindeutig möglich, wird aus der Default-PLC ausgelesen. Bei Ausfall der Steuerung, aus
der gerade ausgelesen wird, also wenn die Qualität eines Items hier auf BAD geht, wird von der nächstbesten
Steuerung ausgelesen. Dies ist solange möglich, wie es Steuerungen gibt, deren Symbole mit Qualität GOOD
gesendet werden. Über die Life-Counter-Variable ist kontrollierbar, ob der OPC-Server überhaupt arbeitet.
Alle gewünschten Steuerungen sind wie gehabt zu konfigurieren, indem die Anzahl und die Namen der
Steuerungen in der Sektion [Server] festgelegt werden und in der Sektion [PLC:<PLCName>] die zugehörige
Verbindung konfiguriert wird. Bei redundanten Gruppen wird die Sektion [Redundancy] benötigt, in der die
Anzahl der redundanten Gruppen festzulegen ist und dann für jede Gruppe die zugehörige Sektion
[RedGroup:x]. Hier werden der Gruppenname, die Anzahl der Steuerungen, die Default-Steuerung, alle
Steuerungsnamen, die Mastervariablen und der Name der Life-Counter-Variable festgelegt. Bis zu fünf
Steuerungen können zu einer redundanten Gruppe zusammenfasst werden.
Konfigurationsbeispiel einer INI-Datei mit redundanten Gruppen:
Eintrag
Bedeutung
[Server]
PLCs=5
PLC0=ControlWinV3
PLC1=controlWinV3R0
PLC2=controlWinV3R1
PLC3=controlWinV3R2
PLC4=controlWinV3R3
[PLC:ControlWinV3]
interfacetype=GATEWAY3
active=1
logfilter=15
logevents=1
timeout=10000
tries=3
waittime=15
© 3S-Smart Software Solutions GmbH
In dieser Sektion wird die Verbindung
spezifiziert.
CODESYS Inspiring Automation Solutions
Eintrag
34/42
CODESYS OPC Server V3
Konfiguration mit „OPCServer.ini“
Bedeutung
reconnecttime=60
gateway=Tcp/Ip
gatewayaddress=localhost
gatewayport=1217
parameters=1
parameter0=Address
value0=ABCD
Hier ist die ‚Node Address’ der Steuerung
anzugeben, wie sie (im Gateway-Dialog) in
CODESYS V3 definiert ist.
[PLC:ControlWinV3R0]
In dieser Sektion wird die Verbindung
spezifiziert.
interfacetype=GATEWAY3
active=1
logfilter=15
logevents=1
timeout=10000
tries=3
waittime=15
reconnecttime=60
gateway=Tcp/Ip
gatewayaddress=localhost
gatewayport=1217
parameters=1
parameter0=Address
value0=ABCE
Hier ist die ‚Node Address’ der Steuerung
anzugeben, wie sie (im Gateway-Dialog) in
CODESYS V3 definiert ist.
…
Hier sind die Sektionen für die weiteren
Steuerungen einzutragen.
[Redundancy]
Alle Steuerungen der redundanten Gruppe
müssen über einen identischen Symbolvorrat
verfügen!
NumOfGroups=1
Anzahl der redundanten Gruppen
[RedGroup:0]
Name=RedundantGroup
Name der redundanten Gruppe
NumPLCs=5
Anzahl der Steuerungen in der Gruppe
DefaultPLC=0
Default-PLC ist Steuerung PLCName0
PLCName0=ControlWinV3
Name von PLCName0
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
35/42
CODESYS OPC Server V3
Konfiguration mit „OPCServer.ini“
Eintrag
Bedeutung
PLCName1=ControlWinV3R0
Name von PLCName1
PLCName2=ControlWinV3R1
Name von PLCName2
PLCName3=ControlWinV3R2
Name von PLCName3
PLCName4=ControlWinV3R3
Name von PLCName4
VarMaster0=Application.PLC_PRG.bMaster
Mastervariable der Steuerung PLCName0
VarMaster1=Application.PLC_PRG.bMaster0
Mastervariable der Steuerung PLCName1
VarMaster2=Application.PLC_PRG.bMaster1
Mastervariable der Steuerung PLCName2
VarMaster3=Application.PLC_PRG.bMaster2
Mastervariable der Steuerung PLCName3
VarMaster4=Application.PLC_PRG.bMaster3
Mastervariable der Steuerung PLCName4
LifeCounter=Application.GVL.OPCalive
Life-Counter-Variable des OPC-Servers
7.6
Information zum geänderten Logfilter
Die Werte des INI-File-Eintrags ´logfilter=´ im INI-File, die vor CODESYS OPC Server V 3.4 erzeugt werden,
müssen für nachfolgende Versionen korrigiert werden.
Gültige Werte vor V3.4
Gültige Werte ab V3.4
Beschreibung
10 (16#0000000A)
15 (16#0000000F)
Erzeugen von Standard-Log-Einträgen
-47 (16#ffffffd1)
47 (16#0000002F)
Erzeugen von Standard-Log-Einträgen und
zusätzlichen Einträgen
-1 (16#ffffffff)
63 (16#0000003F)
Erzeugen von Standard-Log-Einträgen, von
zusätzlichen Einträgen und Debug-Einträgen
7.7
Konfiguration der Simulation
Ist keine Steuerung mit laufender Applikation vorhanden, kann die daraus resultierende fehlende Verbindung
von PLC zu OPC-Server durch einen statischen Zugriff auf eine Datei, die alle Symbolinformationen enthält,
ersetzt werden. Siehe Kap. 6.3 „Simulation Interface“.
7.7.1
SIMULATION3
Handelt es sich um eine Gateway-V3-Verbindung, die ersetzt werden soll, muss unter der Sektion
[<PLCName>] der Interfacetyp SIMULATION3 und unter project das Verzeichnis und Name der Symboldatei
angegeben werden. Das Verzeichnis muss nicht angegeben werden, wenn die Datei im gleichen Verzeichnis
wie OPCServer.ini liegt.
Eintrag
Bedeutung
[PLC:SimulatedControlWinV3]
interfacetype=SIMULATION3
project=OneSymbol.Device.Application.x
ml
Name der Symboldatei (mit
Namenserweiterung XML) und eventueller
Pfadangabe.
Diese Einstellungen können auch mit dem Werkzeug OPCConfig.exe vorgenommen werden. Siehe dazu
Kap.6.3.1 „SIMULATION3“.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
7.7.2
36/42
CODESYS OPC Server V3
Konfiguration mit „OPCServer.ini“
SIMULATION
Handelt es sich um eine Gateway-V2.3-Verbindung, die ersetzt werden soll, muss unter der Sektion
[<PLCName>] der Interfacetyp SIMULATION und unter ‚project’ das Verzeichnis und Name der V2.3Symboldatei angegeben werden. In V2.3 ist die Symboldatei in einem anderen Format abgelegt und hat die
Erweiterung SDB. Das Verzeichnis muss nicht angegeben werden, wenn die Datei im gleichen Verzeichnis wie
OPCServer.ini liegt.
Eintrag
Bedeutung
[PLC:SimulatedPLCWinNT]
interfacetype=SIMULATION
project=MyV23Project.sdb
Name der Symboldatei (mit Namenserweiterung SDB) und
eventueller Pfadangabe.
Diese Einstellungen können auch mit dem Werkzeug OPCConfig.exe vorgenommen werden. Siehe dazu Kap.
6.3.2 SIMULATION.“.
7.8
Ändern von Verzeichnis und Name von INI- und LOG-Datei
Besteht der Wunsch nach speziellem Verzeichnis und Name der INI- und LOG-Dateien müssen die
zugehörigen Einträge in der Windows-Registrierungsdatenbank geändert werden. Die Datenbank kann mit
regedit.exe geöffnet werden. Die Einträge befinden sich unter [HKEY_LOCAL_MACHINE\SOFTWARE\3SSmart Software Solutions GmbH\CODESYSOPC]. Unter dem Namen „INIFileName“ ist Verzeichnis und Name
der OPC-Server-Konfigurationsdatei gespeichert und unter dem Namen „LOGFileName“ ist Verzeichnis und
Name der LOG-Datei gespeichert. Über den Befehl Neu im Kontextmenü des Registrierungs-Editors können die
Werte geändert werden.
Falls der Eintrag LOGFileName ungültig ist, erfolgt ein Eintrag im Windows Event Logger.
Beispiel eines Fehlereintrags im Windows Event Viewer:
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
© 3S-Smart Software Solutions GmbH
37/42
CODESYS OPC Server V3
Konfiguration mit „OPCServer.ini“
CODESYS Inspiring Automation Solutions
8
38/42
CODESYS OPC Server V3
Verbindung zu OPC-Servern auf anderen Rechnern mittels DCOMCNFG.EXE
Verbindung zu OPC-Servern auf anderen Rechnern mittels DCOMCNFG.EXE
Diese Einstellung muss nur vorgenommen werden, wenn der OPC-Client keine Remote-Verbindung zu einem
OPC-Server konfigurieren kann!
Über die im Systemverzeichnis liegende DCOMCNFG.EXE kann konfiguriert werden, dass ein OPC-Server
beim Verbindungsaufbau auf einem Remote-PC gestartet wird. Nach Öffnen der Datei erscheint der Dialog
Komponentendienste. Unter Konsolenstamm->Computer->Arbeitsplatz->DCOM-Konfiguration werden die
Dienste aufgelistet. Mit Selektion von CODESYSOPCDA und dem im Kontextmenü zu findenden Befehl
Eigenschaften öffnet sich der zugehörige Dialog. Dort kann im Reiter Ort mit Anwahl der Option Anwendungen
auf folgendem Computer ausführen der gewünschte Remote-PC eingetragen werden.
Hinweis: Voraussetzung für eine solche Verbindung ist, dass auch auf dem lokalen Rechner ein OPC-Server läuft!
Windows 7, 64Bit:
Wird das Betriebssystem Windows 7 64Bit verwendet, dann ist die oben beschriebene Vorgehensweise nicht
möglich, da dann in DCOMCNFG kein Komponentendienst eingetragen ist. Mit Aufruf des Tools MMC
comexp.msc / 32 kann aber dort der Dienst eingetragen werden und somit eine Remote-Verbindung zu einem
OPC-Server aufgebaut werden.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
9
39/42
CODESYS OPC Server V3
Fehlerdiagnose
Fehlerdiagnose
9.1
Mittel zur Fehlerdiagnose
1. LOG-Datei des OPC Servers.
2. Anderen (Test-)Client verwenden, um das Fehlerverhalten ev. zu reproduzieren.
3. V2.3 Interface:Gateway Inspector mit Trace- und Logging-Funktionalität (bei tiefer gehenden
Kommunikationsproblemen).
9.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:
WinCODESYSOPC /Install (Installation + Registrierung) bzw.
WinCODESYSOPC /RegServer (nur Registrierung)
3) Projektvorbereitung bzw. Einstellungen im CODESYS-Programmiersystem OK?
V3 Interface:
-
Symbole erzeugt?
-
Projekt gespeichert, übersetzt, Download durchgeführt?
V2.3 Interface:
-
Projekt Optionen: ‚Symbolfile erzeugen’ angewählt?
-
Kommunikationsparameter: gewählter Gateway-Kanal OK?
-
Projekt gespeichert, übersetzt, Download durchgeführt?
4) Überprüfen der Verbindung und Server-Einstellungen: OPCConfig.exe:
-
Verbindung: (Eintrag muss dem gültigen, in den CODESYS-Kommunikationsparametern eingestellten
Gateway-Kanal entsprechen). Falls keine Kommunikationseinstellungen gesetzt sind, beendet sich der
OPC-Server mit Status STATE_TERMINATE.
-
übliche Server-Einstellungen: Motorola Byteorder: no (Achtung bei 68K, 8051, PowerPC; betrifft nur
V2.3),
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 (betrifft nur V2.3)?
-
Speichern: Neue Konfiguration wird beim Neuaufbau einer Verbindung zum OPC Server
wirksam.
5) Überprüfen, ob Symboleinträge zur Verfügung stehen:
DiagnosticOPCClient.exe:
Der 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 Private-Groups
klicken, Dialog mit OK bestätigen, mit rechter Maustaste auf entstehenden Gruppeneintrag Add all items
klicken, alle erzeugten Symbole (Variablen) sollten erscheinen.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
9.3
40/42
CODESYS OPC Server V3
Fehlerdiagnose
Fehlerfälle
Fehlerfall: Keine Verbindung zur Steuerung (Status NO_CONFIG)
Zu prüfen:
-
Läuft die Steuerung?
-
Sind die Verbindungseinstellungen in OPCServer.ini OK?:
-
Ist das Kommunikationsprotokoll für die Steuerung gültig?
-
Ist die Steuerung auf dem eingestelltem Kommunikationskanal verfügbar? (Ev. mit „ping“ über TCP/IP
testen)
-
Ist das Kabel zur Steuerung OK?
-
Falls ein Remote-Gateway verwendet wird, ist dieser gestartet?
Fehlerfall: OPC Server ist verbunden, findet aber keine/falsche Laufzeitsysteme
Ist eine Verbindung zum OPC-Server hergestellt, aber die Laufzeitsysteme werden nicht in der in der
Initiallisierungsdatei definierten Weise aufgelistet, dann ist zu kontrollieren, ob die INI-Datei sich im korrekten
Verzeichnis befindet und den korrekten Namen (“OPCServer.ini”) hat.
Fehlerfall: Keine Symbole verfügbar (Status NO_CONFIG):
Zu prüfen:
V3 Interface:
-
Wurden die Symbole generiert? Diese müssen in der Datei
<Projektname>.<Gerätename>.<Applikationsname>.xml aufgelistet sein.
V2.3 Interface:
-
Ist im CODESYS Programmiersystem in Projekt->Optionen die Option Symbolkonfiguration aktiviert und
sind Variablen dafür ausgewählt (eventuell 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 aufgetreten, während der OPC-Server läuft.
-
Kommunikationsfehler während Download eines neuen Programms auf die Steuerung aufgetreten
-
Group oder Item inaktiv
Hinweis:
• Der CODESYS OPC Server beendet sich automatisch, wenn alle Clients die Verbindung zu ihm
beendet haben.
• Im Task-Manager erscheint der OPC-Server als Prozess.
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
41/42
CODESYS OPC Server V3
Änderungshistorie
Änderungshistorie
Version
Beschreibung
Bearbeiter
Datum
0.1
Erstellung
AF
25.07.2007
0.2
Formale Ergänzungen
MN
14.07.2007
0.3
V3 Interface hinzugefügt
FHu
22.02.2008
0.4
Formale Überarbeitung
MN
12.03.2008
0.5
Review und Überarbeitung zusammen mit dem Entwickler
FH
14.03.2008
1.0
Freigabe
MN
19.03.2008
2.0
keine Änderung, nur Abgleich mit englischer Versionsnummer
SE
10.11.2008
2.1
Neuer INI Eintrag in Kapitel 8.1, 8.2 gemäß #34035
SE
10.11.2008
2.2
Kap. 5.3: Konfiguration mit OPCconfig.exe (#36416), Redundanz
(#35412)
MN
26.02.2009
2.3
Update aufgrund Weiterentwicklung
AS
11.03.2009
2.4
Review
AF
19.03.2009
3.0
Freigabe nach formalem Review
MN
26.03.2009
3.1
Default: max. 2 PLCs in Red.Group. (#37777)
MN
04.05.2009
3.2
Kap. 4: __CommState eingefügt
AS
02.06.2009
3.3
Kap. 4: Erweiterung um __CommStateOK
AS
25.06.2009
3.4
Kap. 5.3.9: Erweiterung zu Master Variable und Life-Counter, vgl
CDS-11597 und CDS 11565
AS
14.07.2009
3.5
Kap. 5.3.9: __CommState* in redundant group
AS
16.07.2009
3.5
Review für CDS-10886
AF
16.07.2009
4.0
Freigabe nach formalem Review
MN
17.07.2009
4.1
cds-10891, Kap. 5.3.6, Kap. 7.2: Beschreibung des Eintrags im
Log-File bei fehlenden Kommunikationseinstellungen
AS
14.12.2009
4.2
Review cds-10891: OK
AF
17.12.2009
5.0
Freigabe
MN
17.12.2009
5.1
cds-8502, Kap. 1, Kap. 2: Hinweis auf den AeConfigurator
AS
21.05.2010
5.2
Review CDS-8502: OK
JK
21.05.2010
6.0
Release
MN
22.07.2010
6.1
cds-17312, Kap.5.3.9, vollständiger Pfad bei Variablen notwendig,
unterschiedliche Angabe in V2.3 und V3 bei Master- und LifeCounter-Variablen
AS
07.10.2010
6.2
Review CDS-17312
AF
8.10.2010
7.0
Release
MN
8.10.2010
7.1
cds-18209: Kap 2: UA-Spezifikationen eingefügt,
Kap 8 und Kap 6: neuer Ablageort OPCServer.ini,
Kap 5 „Konfiguration des OPC-Servers“ umbenannt in
Konfiguration der Symbole im PS“,
Kap 5.3 hochgestuft auf Kap. 6 „OPC-Server-Konfiguration (mit
OPCconfig)“,
Kap 9.5: neue Einträge für Logfilter angegeben,
Kap 7.1, 7.2, 7.7 neu.
Kapitelnummerierung wurde angepasst!
AS
13.12.2010
© 3S-Smart Software Solutions GmbH
CODESYS Inspiring Automation Solutions
42/42
CODESYS OPC Server V3
Änderungshistorie
Version
Beschreibung
Bearbeiter
Datum
Kap 8: Aktualisiert, Windows 7 64bit Ausnahme beschrieben.
7.2
cds-17999: Kap. 7.8 “Ändern von Verzeichnis und Name von INIund LOG-Datei”
AS
16.12.2010
7.3
cds-18016: Kap. 7.2: Hinweis auf Kommunikationsadresse
AS
16.12.2010
7.4
cds-20097: Kap. 7.5: Konfiguration von ‚Redundant Group’
AS
21.12.2010
7.5
Review
FH
11.01.20101
7.6
Review, eingepflegt von AS (auch „Sonderfall GATEWAY“)
AS
17.01.2011
7.7
Review
AF
18.01.2011
8.0
Freigabe nach formalem Review
MN
20.01.2011
8.1
Umbenennung “CoDeSys OPC Server 3” nach “CoDeSys OPC
Server V3”
AS
14.03.2011
8.2
cds-21665: Kap. 7.1: ‘GroupUpdateBehaviour’
AS
14.03.2011
8.3
cds-20216: Kap. 7.1: ‘memloginterval’, Tabelle für ‚logfilter’
AS
15.03.2011
8.4
Review
FH
17.03.2011
8.5
CDS-21351
AS
21.03.2011
8.6
Review
AF
24.03.2011
9.0
Freigabe nach formalem Review
AS
24.03.2011
9.1
CDS-22178: Kap. 5.1 V3-Interface
AS
09.05.2011
9.2
Review
IH/AS
09.05.2011
9.3
CDS-20317, CDS-19935: Kap. 6.1 “Aufrufen von OPCConfig.exe”
AS
27.05.2011
9.4
CDS-19447: CH.7.8 extended.
AS
31.05.2011
9.4
Review
AF
07.06.2011
10.0
Freigabe nach formalem Review
MN
13.07.2011
10.2
Review CDS-24801
AF
23.08.2011
11.0
Freigabe nach formalem Review
MN
24.08.2011
11.1
Aktualisierung Kap. 6.2.4 (CDS-23649)
MN
01.09.2011
11.2
Überarbeitung Kap. 6.2.2, 6.2.4, 6.2.6, 7.1, 7.4; Löschen v. 6.2.7
(in Absprache mit AF/FHa)
MN
02.09.2011
11.2
Review
AF
09.09.2011
12.0
Freigabe nach formalem Review
MN
10.09.2011
12.1
CDS-24580: Kap.3.1 Installation und Registrierung, Kap. 9.3
Fehlerfälle
AS
02.12.2011
12.2
Review
AF
05.12.2011
13.0
Freigabe nach formalem Review
AS
05.12.2011
13.1
Umbenennen von CoDeSys --> CODESYS
MaH
26.11.2012
14.0
Freigabe nach formalem Review
MaH
18.11.2012
15.0
Anpassen auf neue Vorlage templ_tecdoc_en_V1.0.docx
MaH
29.01.2013
© 3S-Smart Software Solutions GmbH