Datenübernahme aus TwinCAT PLC
Wie bereits erwähnt, bietet der OPC-Server einem Client die Möglichkeit zur Erfassung von Prozesswerten aus ADS-Geräten und somit zum Beispiel auch aus der TwinCAT PLC.
Der folgende Abschnitt gibt Ihnen jedoch zunächst einen Überblick über zwei mögliche Zugriffsmodi auf Symbole in der PLC.
Allgemeines
Zur Konfiguration des OPC-Servers und des Zugriffs auf SPS-Variablen stehen serverseitig zwei Optionen zur Verfügung. Beide Optionen lassen sich bequem über den OPC-Configurator einstellen, mehr dazu jedoch weiter unten in Schritt 2.
- AutoCfg "7" : Alle SPS Variablen sind über OPC verfügbar.
Hinweis: Der Namensraum des OPC-Servers kann aufgrund der Anzahl der SPS Variablen, Strukturen, Arrays etc., bei dieser Einstellung möglicherweise sehr groß werden. Für kleinere SPS-Projekte könnte dies durchaus gut funktionieren, allerdings empfehlen wir eine kleine Liste der SPS Variablen zu laden, welche über den OPC-Client benötigt werden, vgl. AutoCfg "8". - AutoCfg "8" : Eine Untermenge an SPS Variablen steht über OPC zur Verfügung.
Eine Auswahl der SPS-Symbole kann durch eine Markierung direkt im SPS-Programm vorgenommen werden: Instanz, Struktur, oder Teilnehmer-Variable einer Struktur. Wir empfehlen die Verwendung dieser Option.
Bei Benutzung von AutoCfg "8", müssen die folgenden Schritte durchgeführt werden, um SPS-Variablen über OPC verfügbar zu machen:
- Schritt 1: Konfiguration von Variablen in der PLC
- Schritt 2: Konfiguration des OPC-Servers (einmaliger Vorgang)
Bei Benutzung von AutoCfg "7" entfällt Schritt 1 und Sie können direkt mit Schritt 2 fortfahren.
Schritt 1: Konfiguration von Variablen in der PLC
Damit eine SPS-Variable über OPC erreichbar ist, muß diese dafür freigegeben werden, was über eine Markierung mittels eines Kommentars an der entsprechenden Stelle (Instanz, Struktur, Variable) im SPS-Programmcode erfolgt. Am Besten macht man sich dies an zwei Beispielen deutlich:
Beispiel 1:
In diesem Beispiel werden die SPS-Variablen bMemFlag1, bMemFlag2, bMemAlarm2 und iReadOnly für OPC freigegeben. Die SPS Variable "bMemAlarm"1 soll hierbei nicht über OPC zur Verfügung stehen. Das SPS-Programm würde dann wie folgt aussehen:
bMemFlag1 AT%MX10.0 : BOOL; (*~ (OPC:1:available for OPC Clients) *)
bMemFlag2 AT%MX10.1 : BOOL; (*~ (OPC:1:available for OPC Clients) *)
bMemAlarm1 AT%MX10.2 : BOOL;
bMemAlarm2 AT%MX10.3 : BOOL; (*~ (OPC:1:available for OPC Clients) *)
iReadOnly : INT; (*~ (OPC:1:available for OPC Clients)
(OPC_PROP[0005]:1:available for OPC Clients but ReadOnly) *)
Der Kommentar OPC_PROP[0005]:1 bewirkt, dassdie Variable nicht über OPC schreibbar ist und nur gelesen werden kann.
Beispiel 2:
In diesem Beispiel sollen die beiden Instanzen fbTest1 und fbTest2 des Funktionsbausteins FB_BLOCK1 über OPC zur Verfügung stehen. Wird eine ganze Instanz freigegeben, so werden auch alle darin enthaltenen Symbole über OPC zur Verfügung stehen. Das SPS-Programm könnte beispielsweise wie folgt aussehen:
Die Instanz "fbTest1" würde für OPC freigegeben, wodurch auch alle darin enthaltenen Symbole automatisch über OPC zur Verfügung stehen, z.B. fbTest.ni1, fbTest.ni2, ... . Die Instanz "fbTest2" ist nicht für OPC markiert, allerdings wurden im Funktionsblock die drei darin enthaltenen Variablen ni1, no1 und nx1 markiert. Diese stehen somit in allen Instanzen über OPC zur Verfügung.
Nachdem das SPS-Projekt kompiliert wurde, befindet sich im Projektverzeichnis eine TPY-Datei, welche im folgenden Schritt 2 eingebunden werden muß, damit der OPC-Server Zugriff auf die SPS-Variablen erhält.
Hinweis: Bei Änderungen am SPS-Programm und erneutem Kompilieren, ändert sich auch die TPY-Datei und muß entsprechend neu eingebunden werden.
Schritt 2: Konfiguration des OPC-Servers (einmaliger Vorgang)
Im zweiten Schritt müssen Sie den TwinCAT OPC-Server konfigurieren. Diese Konfiguration erfolgt einmalig und muss bei späteren Änderungen am SPS-Projekt nicht erneut durchgeführt werden.
Starten Sie den TwinCAT OPC-Configurator: "Start - All Programs - TwinCAT System - TwinCAT OPC - TwinCAT OPC Configurator"
Zunächst müssen Sie ein neues "Device" anlegen, welches Ihrer SPS-Laufzeit entspricht. Sie können auch eines der Beispiel-Devices ändern, welche bereits in der Standard-Konfiguration enthalten sind. Selektieren Sie den Knoten "I/O Devices", öffnen Sie das Menü "Bearbeiten" und wählen Sie "Neu".
Der Name des Geräts kann beliebig sein, darf jedoch keine Sonderzeichen enthalten. Wir empfehlen eine Benennung nach dem Muster "PLCx", wobei x zum Beispiel die erste Laufzeitumgebung angibt, also "PLC1". Klicken Sie anschliessend auf "OK".
Das neue Device wurde hinzugefügt und Sie können es nun entsprechend Ihrer Systemumgebung konfigurieren.
Die folgende Tabelle gibt einen Überblick über alle konfigurierbaren Einstellungen. Als [optional] markierte Parameter müssen nicht definiert werden bzw. können auf der Standard-Einstellung belassen werden.
Parameter |
Beschreibung |
---|---|
Name |
Name des Devices, zum Beispiel "PLC1". Das Device ist über diesen Namen vom OPC-Client ansprechbar. |
Description [optional] |
Eine optionale Beschreibung des Geräts. |
AutoCfg |
7 : Alle SPS-Variablen sind über OPC verfügbar. 8 : Selektion von SPS-Variablen über SPS-Kommentare. |
AutoCfgSymFile |
Pfad zur TPY-Datei, welche sich standardmäßig im PLC-Projektverzeichnis befindet. |
AdsPort |
ADS-Portnummer des Geräts, zum Beispiel "851" für die PLC. |
AdsNetId [optional] |
Adresse des ADS-Geräts. DIe Standard-Einstellung "0.0.0.0.0.0.0" kommuniziert mit dem lokalen System. |
AdsTimeout [optional] |
Timeout für die ADS-Verbindung zum Gerät in [ms]. Falls das ADS-Gerät nicht in diesem Zeitraum antwortet, gibt der OPC-Server "BAD_QUALITY" an den OPC-Client zurück. |
AdsTimeSuspend [optional] |
Suspend Zeit für das ADS-Gerät in [ms], die der OPC-Server mit dem nächsten Request wartet, falls die ADS-Verbindung abbricht. |
Disable [optional] |
Deaktiviert das Gerät. |
Speichern Sie die Konfiguration über das Menü "File" - "Save As". Nachdem die Konfiguration gespeichert wurde, fragt der OPC-Konfigurator, ob Sie diese Konfiguration als Startkonfiguration des OPC-Server aktivieren wollen.
Die Konfiguration wird dann beim nächsten Neustart des OPC-Servers automatisch aktiviert.
Einstellungen übernehmen Wenn Sie eine Konfiguration aktiviert haben und der OPC-Server die Einstellungen scheinbar nicht übernommen hat, stellen Sie bitte sicher, dass der OPC-Server einmal gestoppt und gestartet wurde. |