Server installieren und starten

Bevor der OPC Client gestartet werden kann, muss sichergestellt sein, dass:

  • jeder verwendete Server lokal installiert und registriert (für den Fall, dass er lokal gestartet wird) oder
  • remote installiert und remote registriert ist (für den Fall, dass er remote gestartet wird).

Bei Verwendung eines Remote Servers müssen zusätzlich noch die DCOM Security settings korrekt eingestellt sein (siehe DCOM Einstellungen für Remote Server).

WARNUNG: Beachten Sie, dass die DCOM-Einstellungen durch die Änderungen im Microsoft Windows XP Service Pack 2 beeinflusst wurden. Wenn das Service Pack 2 mit den Default-Einstellungen installiert ist, funktioniert die OPC-Kommunikation über DCOM nicht. Um OPC über DCOM zu verwenden, müssen die OPC-Clients und Server zu der "Exception"(Ausnahme)-Liste der Windows Fire Wall hinzugefügt werden. Auch die Sicherheits-Einstellungen vom DCOM wurden erweitert und die Default-Dialoge für die Starts- und Zugriffsrechte wurden modifiziert. So kann der Benutzer Grenzen für die Rechte (die für die Applikationen, die DCOM verwenden, gesetzt wurden) konfigurieren. Zusätzlich kann für Benutzer, welche in den Starts- und Zugriffsrechten definiert wurden, explizit Lokale- und abgesetzte Zugriffsrechte definiert werden. (Quelle: White paper: "Using OPC via DCOM with Microsoft Windows XP Service Pack 2 Version 1.10" /Karl-Heinz Deiretsbacher, Siemens AG, Jim Luth, ICONICS, Inc.,OPC Foundation Technical Director, Rashesh Mody, Invensys/Wonderware, OPC Foundation Chief Architect Kurt T Haus, Advosol Inc. Bei der Verwendung vom Service Pack 2, lesen Sie das vorher erwähnte Dokument).

Das Registrieren sollte automatisch bei der Installation des Servers erfolgen. Ist das nicht der Fall, dann kann der Server mit

Server.exe /RegServer

registriert werden, wenn es sich um einen lokalen Server (.exe) handelt. Falls es sich um einen inproc Server handelt (.dll), kann der Server mit

RegSvr32 Server.dll

registriert werden.

Die in der Konfigurationsdatei Config über ihre ProgID festgelegten Server werden dann vom Client beim Hochfahren automatisch gestartet. Falls der Server lokal gestartet werden soll, wird zuerst versucht den Server "inproc", also als .dll zu starten. Erst wenn das keinen Erfolg hat, versucht der Client den Server local, also in einem eigenen Prozess zu starten.

Soll der Server remote gestartet werden, muss ein Pfad zu dem Remote Host angegeben werden (siehe Konfigurationsdatei).

Solange zumindest ein Server gestartet werden kann, fährt auch der Client hoch. Sollte keiner der angegebenen Server gestartet werden können, wird der Start des Client abgebrochen.

Sind auf einem Rechner von einem Server sowohl die .exe Version (local) als auch die .dll Version (inproc) installiert und durch einen Eintrag in die Registry registriert, dann wird immer die inproc Version gestartet (aus Performancegründen). Ist das unerwünscht, so muss die inprocVersion, also die dll unregistriert werden (mittels RegSvr32 Server.dll /u).

Falls der Server in einer local Version bereits läuft (z.B. weil er konfiguriert wurde, oder weil sich bereits ein anderer Client zu ihm verbunden hat) so wird kein neuer Server gestartet, sondern der Client nimmt Verbindung mit dem bereits laufenden Server auf.

ProgID einiger Server

Server ProgID
Moeller SPS Typ: PS4 "Moeller.S40-OPC-DataAccess.2"
Simatic NET "OPC.simaticNET"
Schneider OFS "Schneider-Aut.OFS.2"