Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


OPC Allgemein

Definition OPC

OPC steht für "OLE for Process Control" und bezeichnet eine Initiative zur Standardisierung des Datenaustausches in der Automatisierung.

Beckhoff ist Mitglied der OPC-Foundation. (Weiter Information über OPC erhalten Sie unter www.opcfoundation.org)

OPC-Schnittstelle

Bislang waren Applikationen, z.B. Bedien- und Beobachtungs-Software, an die unterschiedlichen Zugriffsverfahren der jeweiligen Steuerungshersteller gebunden.
OPC ist die Spezifikation einer einheitlichen und herstellerunabhängigen Software-Schnittstelle. Diese eröffnet die Möglichkeit auf Prozessdaten beliebiger Hersteller in einheitlicher Art und Weise zuzugreifen.

OPC-Server

Ein OPC-Server ist eine Software-Komponente, welche anderen Applikationen eine spezifizierte OPC-Schnittstelle bietet.


Lizensierung

TwinCAT OPC Server: Lizenzierung

Lizenzierung

TwinCAT-OPC ist ohne Registrierungsschlüssel als Evaluierungsversion kostenlos nutzbar. Für eine weitergehende Verwendung ist eine Registrierung erforderlich. Über diese Registrierung erwirbt man eine Lizenz zur Nutzung der Software.

Registrierungs-Anleitung

Während der Installation

Bei der Installation von TwinCAT-OPC kann der Registrierungs-Schlüssel (z.B. K123-4567-8901) in das entsprechende Feld des Setup-Programms eingetragen werden. Die zeitliche Begrenzung der Evaluierungsversion ist somit aufgehoben.

Ist zum Zeitpunkt der Installation kein Schlüssel verfügbar, so geben Sie als Schlüssel bitte "DEMO" ein. Die zeitlich begrenzte TwinCAT-OPC-Evaluierungsversion wird installiert.

Nachträgliche Registrierung einer Evaluierungsversion

Starten Sie den TwinCAT-OPC-Server und wählen Sie im Hauptmenü "Help->About TwinCAT OPC". Durch Eintrag einer gültigen Registriernummer im entsprechenden Feld wird die zeitliche Begrenzung der Evaluierungsversion aufgehoben.


Übersicht

  • OPC Spezifikation 1.0a und 2.0
  • Freie Auswahl der TwinCAT Geräte (ADS-Devices): PLC / IO / NC / CAM / ...
  • Zugriff via TwinCAT PLC / TwinCAT I/O bzw. BusController auf alle von TwinCAT unterstützten Feldbusse (Lightbus / Profibus DP / Interbus-S / CANopen / DeviceNet / ...)
  • Zugriff auf TwinCAT-Variablen per Adresse / per Name / per generischem ADS-IndexGroup und IndexOffset
  • Optimierter Datenzugriff vom OPC-Server auf TwinCAT-Variablen (minimaler Zyklus 10ms)
  • Simulationsmodus (Sinus, Rampe, Random, None) für Variablen
    (z.B. für Test einer OPC-Client/Server Kommunikation ohne Zugriff auf physikalisches I/O)
  • Einfache Konfiguration per Datei-Import, alternativ bzw. ergänzend manuell
  • Monitoring der Variablen im OPC-Server

Eigenschaften Evaluierungsversion

Bei der Evaluierungsversion handelt es sich um eine zeitlich begrenzte Vollversion. Nach jedem Neustart des OPC-Servers werden ca. 4 Millionen Zugriffe auf die TwinCAT-ADS-Geräte (z.B. TwinCAT SPS / TwinCAT NC / TwinCAT IO...) ausgeführt. Anschließend schaltet der OPC-Server auf seinen internen Simulationsmodus um. Dadurch werden die Prozesswerte simuliert, es findet kein Zugriff mehr auf die ADS-Geräte statt.

Die zeitliche Begrenzung der Evaluierungsversion kann durch Erwerb einer TwinCAT-OPC Software-Lizenz mit der Eingabe eines gültigen Registrierungsschlüssel aufgehoben werden.

Integration in das TwinCAT System

Der OPC-Server wurde als "User-Mode-Applikation" implementiert. Dieser stellt via ADS die Verbindung zum TwinCAT System her und bietet OPC-Clients das spezifizierte OPC-DataAccess-Interface an.

Voraussetzungen

  • Microsoft Windows NT 4 / Windows 2000
  • TwinCAT v2.6 (oder höher)

Bitte verwenden Sie aktuelle Service-Packs.

Lieferumfang

Die Installationsversion umfast

  • TwinCAT OPC Server
  • Dokumentation
  • OPC-Test-Client (für lokalen Zugriff auf OPC-Server)


Simulationsmodus

Der TwinCAT-OPC Server kann Prozesswerte eigenständig und somit ohne direkten Zugriff auf z.B. die TwinCAT-SPS simulieren.
Die Installation von TwinCAT ist somit für einen Test zwischen einem OPC-Client und dem TwinCAT-OPC-Server nicht zwingend erforderlich.

Simulationsmodus aktivieren

Aktivieren Sie in dem Dialog "Device-Eigenschaften" die Option "Simulate I/O".
Sämtliche Tags, die unter diesem Device angeordnet sind werden nun vom OPC-Server simuliert.

Simulationsmodus für Tag selektieren

Für jeden einzelnen Tag kann im Dialog "Tag-Eigenschaften" zwischen den Simulationsmodi "Sinus", "Rampe", "Random" und "None" gewählt werden.
Defaulteinstellung ist "None".

Konfiguration sichern

Sichern Sie diese Konfiguration über "Datei" ->"Sichern" bzw. "Datei" ->"Sichern Als…". Der OPC-Server behält somit diese Konfiguration bei dem nächsten Start bei.


Übersicht

Ein OPC-Server stellt eine standardisierte Schnittstelle zur Verarbeitung von Prozessdaten dar. Die im TwinCAT-System zur Verfügung stehenden Prozessdaten müssen daher dem OPC-Server bekannt sein, bzw. zur Zeit per Konfiguration bekannt gegeben werden.
Für eine übersichtliche Darstellung dieses sogenannten hierarchischen Prozessraumes wird dieser in "Devices", "Groups" und "Tags" eingestuft. Der OPC-Client kann durch diese Darstellung browsen und dies zur eigentlichen Konfiguration des Servers nutzen. Der TwinCAT-OPC-Server unterstützt die optionale OPC-Schnittstelle des Browsers.

Hinweis:
Diese hierarchische Darstellung ist nicht zu verwechseln mit der zur Laufzeit existierenden Konfiguration des OPC-Servers. Die Laufzeit-Konfiguration des OPC-Server, d.h. das Anlegen von Groups, der Festlegung der Refreshzeit, das Hinzufügen der Tags etc., erfolgt dynamisch durch den OPC-Client.

Definition Device

Ein Device stellt ein TwinCAT-ADS-Gerät (z.B. ein SPS-Laufzeitsystem) dar, welches eindeutig durch die <AdsAmsServerNetID> und <AdsAmsPortID> gekennzeichnet ist.
Weitere Informationen zum TwinCAT-Geräte Konzept entnehmen Sie der allgemeinen TwinCAT-ADS Dokumentation.

Definition Group

Ein Device kann eine beliebige Anzahl von "Groups" beinhalten, dient also als Container für Groups.
Groups dienen der übersichtlicheren, semantisch sinnvollen Zusammenfassung von Tags oder weiteren unterlagerten Groups.

Definition Tag

Ein Tag stellt die unterste Ebene im hierarchischen Prozessraum dar und repräsentiert eine Verbindung zu einer Prozessvariablen. Diese ist ein lesbares und/oder schreibbares Datum, z.B. "Soll-Temperatur Kessel".
Ein oder mehrere Tags sind einer Group zugeordnet.

Konfiguration

  • Datenübernahme aus TwinCAT PLC: Konfiguration per Variablenimport aus der TwinCAT-PLC-Control
  • Manuelle Konfiguration: Alternativ bzw. ergänzende Möglichkeit zur manuellen Konfiguration


Datenübernahme aus TwinCAT PLC

Allgemein

Die manuelle Konfiguration des OPC-Servers führt bei einer wachsenden Anzahl von Datenpunkte zu einem zunehmenden Aufwand. Erleichterung bietet der Variablen-Import aus der TwinCAT-SPS. Dazu wird in der IEC1131 Programmierumgebung zunächst eine Variablen-Exportdatei erstellt, die anschließend im OPC-Server importiert werden kann. Im folgenden werden die Schritte detailliert erläutert.

1. Schritt: Export aus TwinCAT PLC

TwinCAT 2.6:

Wählen Sie in der TwinCAT-PLC Entwicklungsumgebung "Projekt"->"Export" und wählen Sie mit der Maus die Bereiche aus, die Sie exportieren möchten. (z.B. POU's und globale Variablen). Anschließend können die Variablen unter einem frei wählbaren Dateinamen als *.EXP gespeichert werden.

TwinCAT 2.7:

Als bessere Alternative zu der oben beschriebenen Erstellung einer *.EXP Datei kann unter TwinCAT 2.7 auch eine Symbol-Datei erstellt werden:

Wählen Sie in der TwinCAT-PLC Entwicklungsumgebung "Projekt" ->"Optionen" ->"Symbolkonfiguration". Aktivieren Sie dort "Symboleinträge erzeugen" und wählen Sie unter "Symbolfile konfigurieren.." mit der Maus die Bereiche aus, die Sie exportieren möchten. (z.B. POU's und globale Variablen).

In dem SPS-Projektverzeichnis liegt nach dem Kompilieren des SPS Projektes nun eine Symboldatei mit der Endung "<Projektname>.sym" vor.

HINWEIS:

  • Bei jedem Kompilieren des SPS-Projektes wird die *.SYM Datei automatisch erneuert.
  • Der OPC-Server importiert auch Struktur- und Array-Elemente aus SYM-Dateien

2. Schritt: Import in TwinCAT OPC Server

Die zu importierenden Daten werden einem Device zugeordnet. (Ist noch kein Device im OPC-Server angelegt, muss zunächst über "Einfügen" ->"Neues Device" ein TwinCAT-ADS-Gerät erzeugt werden.)
Wählen Sie nun mit der Maus ein Device aus, welches die SPS-Variablen übernehmen soll. Anschließend betätigen Sie "File" ->"Import EXP…" und wählen die TwinCAT PLC-Export-Datei bzw. die TwinCAT-PLC-Symbol-Datei aus. (Vorteil Symboldatei: Der OPC-Server importiert auch Struktur- und Array-Elemente).

3. Schritt: Konfiguration speichern

Speichern Sie die somit übernommen Daten als OPC-Server Konfiguration ab. Wählen Sie dazu "Datei" ->"Sichern Als…". Der OPC-Server behält diese Konfiguration des Prozessraumes auch bei weiteren Starts.


Manuelle Konfiguration

Device einfügen

Um im OPC-Server ein weiteres ADS-Device hinzuzufügen, betätigen Sie "Einfügen" ->"Neues Device…".

Device Einstellungen

Name:

Der Devicename ist frei wählbar. (Er sollte jedoch keine Leerzeichen enthalten, einige OPC-Clients verweigern dann das Tag-Browsing im Server.)

Simulate I/O:

Weitere Angaben zur Option "Simulate I/O" entnehmen Sie dem Kapitel "Simulationsmodus".

Device Type / AMS Adresse:

Es wird eine Verbindung zum AMS-Port des ausgewählten Zielsystems aufgebaut.

AMS Port:

Wählen Sie als Kommunikationspartner ein ADS-Gerät aus, z.B. "801" für das erste SPS Laufzeit-System. Neben den aufgelisteten Vorschlägen kann die AMS-Port-Nummer auch frei eingegeben werden.

AMS-Port | Beschreibung
301 | TwinCAT-I/O Task
500 | TwinCAT-NC
800 | BusController
801 | TwinCAT-PLC RunTime 1
811 | TwinCAT-PLC RunTime 2
831 | TwinCAT-PLC RunTime 3
841 | TwinCAT-PLC RunTime 4

Durch das Hinzufügen wird das neue Device in der Baumdarstellung integriert.

Um die Einstellungen für ein Device nachträglich zu modifizieren, wählen Sie mit der Maus ein Device und dort im Popup-Menü "Eigenschaften..." aus.
(Alternativ gelangen Sie im Hauptmenü über "Bearbeiten" ->"Eigenschaften" in den Dialog "Device-Eigenschaften".)

Group anfügen

Wählen Sie zunächst das Device aus, in dem Sie eine "Group" anlegen möchten. Im Popup-Menü selektieren Sie "Neue Gruppe...".
(Alternativ betätigen Sie im Hauptmenü "Einfügen" ->"Neue Gruppe")

Nachdem Sie der Group einen frei wählbaren Namen (z.B. "Machine_Config" ) eingetragen haben, ist die neue Group in der Baumdarstellung integriert.

Um den Namen einer Group nachträglich zu modifizieren, führen Sie mit der Maus einen Doppelklick auf den Group-Eintrag in der Baumdarstellung aus.

Tag einfügen

Wählen Sie zunächst die Group aus, in der Sie ein "Tag" anlegen möchten. Im Popup-Menü selektieren Sie "Neues Tag...".
(Alternativ betätigen Sie im Hauptmenü "Einfügen" ->"Neues Tag".)

Tag Einstellungen

Name:

Tragen Sie einen frei wählbaren Namen (z.B. "Temperatur") für diesen Tag ein.

Beschreibung:

Optional können Sie eine Beschreibung für diesen Prozesspunkt angeben.

Zugriffstyp:

Access by adress: (Physical Inputs) - %I
Access by adress: (Physical Outputs) - %Q
Access by adress: (memory Range) - %M

Der Zugriff des OPC-Servers auf die Variable erfolgt per Adresse auf die Prozessabbilder. (z.B. für PLC, BusController)
Optimierung: Intern ist eine Device-Zugriffsoptimierung in Form einer Blockbildung implementiert.

Access by name

Der Zugriff erfolgt über den Variablennamen.
Optimierung: Nicht implementierbar, es erfolgt jeweils ein separater Zugriff auf das ADS-Device.

Access by generic ADS IndexGroup / IndexOffset

Der Zugriff erfolgt über IndexGroup / IndexOffset.
Optimierung: Nicht implementierbar, es erfolgt jeweils ein separater Zugriff auf das ADS-Device.

Datentyp:

Festlegung des Datentyps

Länge in Bytes:

Die Bytelänge ist abhängig vom gewählten Datentyp und kann nur bei der Auswahl "STRING" vorgegeben werden.

R/W Rechte:

Legt die Zugriffsrechte (nur lesend / schreib- und lesend ) fest.
Defaulteinstellung ist "Schreib- und Lese"-Rechte.

Simulationssignal:

Auswahl des Simulationsmodus (Sinus, Rampe, Random, None) für diese Prozessvariable. Die Einstellung wird nur berücksichtigt, wenn der Simulationsmodus aktiviert wurde.
Defaulteinstellung ist "None".

Zugriff per Adresse:

Byte Offset im angewählten Prozessbereich (Eingang / Ausgang / Merker).
Bit Offset (nur möglich bei BOOL-Datentyp).

Zugriff per Name:

Der Name, der TwinCAT-Variablen, setzt sich (bei der PLC) aus dem POU-Namen und der SPS-Variablen zusammen, die adressiert werden soll. (z.B. für die Funktion ‚Func1' die Variable 'TempVar1' ergibt dies "Func1.TempVar1") Beim Zugriff auf globale Variablen (in der PLC) entfällt der POU-Name, dafür muss ein "." (Punkt) als Prefix vorangestellt werden.
Groß- und Kleinbuchstaben werden nicht unterschieden.

Hinweis zur SPS:
Achten Sie beim PLC-Control darauf, dass unter Projekt / Optionen / TwinCAT der ‚Symbol-Download' aktiviert ist. (siehe Handbuch PLC Control)

Hinweis zur NC:
Im System-Manager muss bei jeder Achse der Symbol-Download aktiviert werden. Dieses können Sie bei dem Konfigurations-Dialog der Achse unter ‚Allgemein' festlegen. Das Feld "Symbole erzeugen" muss gekennzeichnet sein. (Siehe Handbuch System Manager.)

Zugriff per ADS (generisches IndexGroup / IndexOffset):

Durch die Vorgabe der Parameter "IndexGroup" und "IndexOffset" erfolgt ein generischer Zugriff auf ADS-Geräte. Die Eingabe kann als Dezimal- oder Hexzahl erfolgen.
Gültige Parameter entnehmen Sie den jeweiligen ADS-Device-Dokumentationen.


Netzwerk via Client Protokoll

Visualisierungs-Systeme bieten teilweise ein eigenes Protokoll zur Überbrückung des Netzwerkes an. Dazu wird ein OPC-Client des Visualisierungs-Anbieters mit auf dem TwinCAT-Steuerungs-PC installiert.

Der Datenfluss erfolgt somit wie folgt:

Performance-Vorteil

Der wesentliche Vorteil dieser Konfiguration besteht darin, dass das Netzwerk wesentlich weniger ausgelastet ist, da dort nur die veränderten Prozesswerte ausgetauscht werden: Der OPC-Server prüft zyklisch den gesamten Prozess, gibt an den OPC-Client jedoch nur die Veränderungen im Prozess weiter.


Netzwerk via TwinCAT ADS

Der TwinCAT-OPC-Server führt die Kommunikation mit den TwinCAT-Komponenten (SPS-Laufzeitsysteme, BusKlemmen Controller etc.) über TwinCAT-ADS durch. Da diese Dienste auch im Netzwerk zur Verfügung stehen, kann der TwinCAT-OPC-Server auch mit im Netzwerk vorhandenen TwinCAT-Komponenten kommunizieren.

Die für eine ADS-Kommunikation über Netzwerk erforderlichen Einstellungen entnehmen Sie bitte der ADS Referenz.

Einstellungen im OPC-Server

Ein ADS-Kommunikationspartner wird prinzipiell durch zwei Parameter festgelegt: Der sog. "AdsAmsNetId" (z.B. 1.2.3.4.5.6") und der "PortId" (z.B. 801 für das erste SPS-Laufzeitsystem).

Sollen per ADS mit z.B. dem ersten SPS-Laufzeitsystem auf einem weiteren PC Daten ausgetauscht werden, so muss im OPC-Server unter den "Device-Einstellungen" die AdsAmsNetId des Ziel-PCs und "801" als PortId eingetragen werden.

Hinweis

Wenn möglich, sollte aus Performancegründen die Option "Netzwerk via Client" - Protokoll gewählt werden.


Netzwerk via DCOM

Falls Sie einen Datenaustausch zwischen einem OPC-Client und dem TwinCAT-OPC Server über Netzwerk via DCOM ermöglichen wollen (müssen), muss diese DCOM-Zugriffsart zuvor konfiguriert sein.

Der Datenfluss stellt sich dann wie folgt dar:

In den folgenden Schritten werden die notwendigen Einstellungen für den PC beschrieben, auf dem der TwinCAT-OPC-Server installiert ist.
(Für den PC, auf dem der OPC-Client installiert ist, übernehmen Sie den Schritt 1. )

Voraussetzung

Es wird vorausgesetzt, dass sämtliche PC's, welche via DCOM eine OPC-Client/Server Verbindung aufnehmen sollen, bereits für den Netzwerkbetrieb eingerichtet sind (d.h. konfigurierte Netzwerkkarte mit TCP/IP-Protokoll).

Schritt 1

Über "Start"->"Ausführen…" starten Sie "DCOMcnfg" und wählen den Dialog "Default Einstellungen"

  • Aktivieren Sie "Enable Distributed COM on this computer"
  • Wählen Sie "None" bei "Default Authentication Level"
  • Wählen Sie "Anonymous" bei "Default Impersonation Level"

Schritt 2

Wählen Sie den Dialog „Applications" und anschließend den Eintrag „TwinCAT OPC" in der Liste aus. Per Doppelklick oder über „Einstellungen" gelangen Sie in einen weiteren Dialog.

Schritt 3

Wählen Sie den Dialog „Location" und aktivieren Sie dort „Run application on this computer"

Schritt 4

Wählen Sie den Dialog „Security"

  • Aktivieren Sie "Use custom access permissions" und wählen „Jeder"
  • Aktivieren Sie „Use custom configuration permissions" und wählen für „Jeder" den Zugriff „Full control"
  • Aktivieren Sie „Use custom launch permissions" und wählen Sie „Jeder"


Frequently Asked Questions

FAQ 001: Prozesswerte von Variablen werden beim Monitoring als Fragezeichen dargestellt

FAQ 002: Liste der Feldbusse, die vom OPC-Server unterstützt werden

FAQ 003: Test zwischen OPC-Client und TwinCAT-OPC-Server

FAQ 004: Implementation eines OPC-Clients / Zugriff aus Microsoft-Office auf OPC-Server

FAQ 005: Weitere Informationsmöglichkeiten zu OPC

FAQ 006: OPC-Client bekommt keine Variablen beim Browsen durch den Namespace des OPC-Servers

FAQ 007: Datenaustausch zwischen OPC-Servern

Frage 1:

Im OPC-Server können per Monitoring die aktuellen Prozesswerte der OPC-Tags beobachtet werden. Teilweise werden jedoch nur Fragezeichen anstand der Prozesswerte dargestellt. Was bedeutet das?

A: Die als Prozesswert mit Fragezeichen dargestellten Tags werden aktuell von keinem OPC-Client angefordert. Der OPC-Server führt in diesem Fall keine Kommunikation mit dem Ziel-Device (z.B. SPS-Laufzeitsystem) aus und kann keinen gültigen Prozesswert darstellen.

Frage 2:

Auf welche Feldbus-Systeme kann der TwinCAT-OPC-Server zugreifen?

A: Der OPC-Server führt einen Datenaustausch mit z.B. Variablen auf SPS-Laufzeit-Systemen der TwinCAT-PLC, TwinCAT-I/O, TwinCAT NC etc. oder auf BusControllern BCxxxx durch. Diese Variablen werden mit Hilfe des TwinCAT-System-Managers auf die diversen I/O Punkte der Feldbusse gemappt. Sämtliche Feldbus-Systeme, die vom System-Manager unterstützt werden, sind somit via TwinCAT-OPC erreichbar.

Frage 3:

Wie kann der Datenaustausch zwischen dem TwinCAT-OPC-Server mit einem Third-Party-OPC-Client getestet werden?

A: Für einen Test ist die Installation der kostenlosen TwinCAT-OPC-Evaluierungsversion ausreichend. Diese gestattet bei jedem Start 4 Millionen Datenzugriffe des OPC-Servers auf die SPS und schaltet anschließend in den Simulationsmodus des OPC-Servers um. Ab diesem Zeitpunkt findet kein Zugriff auf das physikalische I/O statt, die Variablen können jedoch vom OPC-Server eigenständig in verschiedenen Simulationsmodi (Rampe / Random / Sinus / None ) generiert werden. Nach einem Neustart des OPC-Servers können wiederum 4 Millionen Zugriffe erfolgen.

Testprogramm:

Mit der Installation des OPC-Servers wird ein SPS-Testprogramm (incl. entsprechender OPC-Server Konfigurationsdatei) ausgeliefert, welches einen guten Test der Datentypen und der Performance erlaubt. Neben ca. 2500 BOOL-Variablen sind von vielen weiteren Datentypen (Byte, signed integer, unsigned integer, signed long, unsigned long, real, double, string ) jeweils 2 Variablen definiert. Sämtliche Variablen verändern zyklisch ihren Wert.

Neben der Untersuchung der Datentypen und der Performance sollten auch optionale Schnittstellen wie z.B. das Tag-Browsen getestet werden.

Frage 4:

Wie wird ein OPC-Client implementiert? Kann man aus einer Microsoft Office Anwendung (z.B. Access / Excel etc.) auf den OPC-Server zugreifen ?

A: Diverse Firmen bieten Schulungen und Toolkits zur OPC-Server/Client Entwicklung an, Beckhoff bietet kein Toolkit an. Aus z.B. Office-Anwendungen kann per VBA-Programmierung mit Hilfe der "opcda.dll" über das Automation-Interface mit OPC-Server kommuniziert werden.

Frage 5:

Wo sind weitere Informationen zu OPC erhältlich?

A: Einige Firmen bieten Seminare rund um das Thema OPC an. Neben der OPC-Foundation http://www.opcfoundation.org/ bietet auch die "OPC Programmers' connection" http://www.opc.dial.pipex.com/index.shtml weitere Informationen wie Dokumentation, Demo-Quellcode etc..

Frage 6:

Bei dem Browsen durch den sog. Namespace des OPC-Servers bekommt der OPC-Client keine Daten?

A: Prüfen Sie, ob der OPC-Server konfiguriert wurde: Startet der OPC-Server ohne Konfiguration, so führen Sie zunächst die Konfiguration durch. Der OPC-Server startet mit der zuletzt gesicherten Konfiguration.

Ist der OPC-Server jedoch konfiguriert, so kann das Scheitern des Browsen an einer "Unverträglichkeit" zwischen OPC-Server und Client liegen: Ältere OPC-Clients unterstützen nur das "Flache-Browsen" während der TwinCAT-OPC-Server nur das "Hierarchische-Browse" (Standard) unterstützt.

Frage 7:

Wie erfolgt ein Datenaustausch zwischen zwei (oder mehreren) OPC-Servern?

A: Eine Kommunikation wird ausschließlich zwischen OPC-Client und OPC-Server durchgeführt. Ein direkter Austausch von Daten unter OPC-Servern untereinander ist somit nicht möglich. Abhilfe liefert nur ein OPC-Client der den Datenfluss zwischen den OPC-Servern übernimmt (Bridge-Funktionalität).


VB OPC-Beispiel

¡¡
TwinCAT OPC Server: OPC mit VB

Beispiel VB als OPC-Client

Allgemein

Das Demo enthält folgende Dateien:

  • SPS Projektdatei: opctest.pro
  • SPS Exportdatei: opctest.sym
  • VB Demo: simple.frm und simple.vbp

¡¡

-> Demodateien entpacken

¡¡

Kochbuch:

1.) Bitte starten Sie das TwinCAT PLC-Control und laden Sie das Projekt opctest.pro in das erste SPS-Laufzeitsystem.

2.) Starten Sie den TwinCAT-OPC-Server, laden sie die Datei opctest.tcf und sichern Sie diese Datei als aktuelle Konfigurationsdatei. Der Server startet nun immer mit dieser Konfiguration.

3.) Laden Sie das VB Projekt. Stelle Sie sicher, dass die AUTODA.DLL (OPC-Wrapper für Automation-Schnittstelle) unter "Projekt->Referenzen" eingetragen ist.

¡¡

¡¡


OPC mit LabVIEW

¡¡
TwinCAT OPC Server: OPC mit LabVIEW

Übersicht

LabVIEW

Das grafische Programmiersystem LabVIEW von National Instruments unterst¨¹tzt das Erstellen von Anwendungen ohne das aufwendige Schreiben von Programmtext. Programmiert wird durch Auswählen, Einfügen und Verbinden von grafischen Symbolen, zu sogenannten Blockdiagrammen, mit Hilfe der Maus. LabVIEW -Programme heißen Virtuelle Instrumente, abgekürzt VI.

Weitergehende Informationen zur Benutzung und Programmierung finden Sie in den LabVIEW-Handbüchern.

LabVIEW-VI’s als OPC-Clients

LabVIEW VI’s (ab der Version 5.1) können als OPC-Clients benutzt werden, um mit einem OPC-Server zu kommunizieren. Ermöglicht wird dies aber nur durch eine DataSocket -Schicht, d.h. der gesamte Zugriff, also das Lesen und Schreiben eines OPC-Server’s erfolgt über solche DataSockets-Knoten; diese können im Blockdiagramm eines VI’s leicht in der Funktionspalette unter Kommunkation/DataSocket gefunden und eingebunden werden.


LabVIEW OPC-Beispiel

¡¡
TwinCAT OPC Server: OPC mit LabVIEW

Beispiel-VI als OPC-Client

Allgemein

Das Beispiel-VI LvOpcClient kann ohne Vorbereitung aufgerufen und gestartet werden. Nach dem Start des VI z.B. mit ‘Strg+r' wird der Benutzer per Dialog mit Tree-Control aufgefordert ein OPC-Item per Doppelklick auszuwählen; eines zum Lesen und eines zum Schreiben.

Im aktuellen Beispiel soll ein OPC-Item vom Typ BYTE gelesen werden, und ein OPC-Item vom Typ BOOL geschrieben werden. Wenn man andere Datentypen lesen oder schreiben möchte, so muss man den Datentyp des Indicators ‘Item ID Wert' bzw. des Controls ‘Item ID neuen Wert geben? auf den gewünschten Typ einstellen.

LabVIEW Datentypen | TwinCAT PLC Datentypen
Byte | SINT
Word | INT
Long | DINT
uByte | USINT
uWord | UINT
uLong | UDINT
SglPrec | REAL
Boolean | BOOL

Sofort nach dem Auswählen der OPC-Items beginnt das VI mit dem Lesen des OPC-Items. Das Schreiben wird mittels Betätigen des Buttons ‘Wert schreiben' ausgelöst.

Weitergehende Informationen wie der TwinCAT OPC-Server zuvor konfiguriert werden muss, lesen sie unter Konfiguration.

Das Front Panel

Das Blockdiagramm