22
Frei verwendbar OPC UA-Methoden für den SIMATIC S7-1500 OPC UA-Server S7-1500 / OPC UA Methoden / Programmierhilfe https://support.industry.siemens.com/cs/ww/de/view/109756885 Siemens Industry Online Support

OPC UA-Methoden für den SIMATIC S7-1500 OPC UA-Server€¦ · 2 Engineering OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 6 G 8 d 2 Engineering 2.1 Erstellung der OPC

  • Upload
    others

  • View
    80

  • Download
    0

Embed Size (px)

Citation preview

Frei verwendbar

OPC UA-Methoden für den SIMATIC S7-1500 OPC UA-Server

S7-1500 / OPC UA Methoden / Programmierhilfe

https://support.industry.siemens.com/cs/ww/de/view/109756885

Siemens Industry Online Support

Rechtliche Hinweise

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 2

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Rechtliche Hinweise Nutzung der Anwendungsbeispiele

In den Anwendungsbeispielen wird die Lösung von Automatisierungsaufgaben im Zusammen-spiel mehrerer Komponenten in Form von Text, Grafiken und/oder Software-Bausteinen beispielhaft dargestellt. Die Anwendungsbeispiele sind ein kostenloser Service der Siemens AG und/oder einer Tochtergesellschaft der Siemens AG („Siemens“). Sie sind unverbindlich und erheben keinen Anspruch auf Vollständigkeit und Funktionsfähigkeit hinsichtlich Konfiguration und Ausstattung. Die Anwendungsbeispiele stellen keine kundenspezifischen Lösungen dar, sondern bieten lediglich Hilfestellung bei typischen Aufgabenstellungen. Sie sind selbst für den sachgemäßen und sicheren Betrieb der Produkte innerhalb der geltenden Vorschriften verantwortlich und müssen dazu die Funktion des jeweiligen Anwendungsbeispiels überprüfen und auf Ihre Anlage individuell anpassen. Sie erhalten von Siemens das nicht ausschließliche, nicht unterlizenzierbare und nicht übertragbare Recht, die Anwendungsbeispiele durch fachlich geschultes Personal zu nutzen. Jede Änderung an den Anwendungsbeispielen erfolgt auf Ihre Verantwortung. Die Weitergabe an Dritte oder Vervielfältigung der Anwendungsbeispiele oder von Auszügen daraus ist nur in Kombination mit Ihren eigenen Produkten gestattet. Die Anwendungsbeispiele unterliegen nicht zwingend den üblichen Tests und Qualitätsprüfungen eines kostenpflichtigen Produkts, können Funktions- und Leistungsmängel enthalten und mit Fehlern behaftet sein. Sie sind verpflichtet, die Nutzung so zu gestalten, dass eventuelle Fehlfunktionen nicht zu Sachschäden oder der Verletzung von Personen führen.

Haftungsausschluss Siemens schließt seine Haftung, gleich aus welchem Rechtsgrund, insbesondere für die Verwendbarkeit, Verfügbarkeit, Vollständigkeit und Mangelfreiheit der Anwendungsbeispiele, sowie dazugehöriger Hinweise, Projektierungs- und Leistungsdaten und dadurch verursachte Schäden aus. Dies gilt nicht, soweit Siemens zwingend haftet, z.B. nach dem Produkthaftungs-gesetz, in Fällen des Vorsatzes, der groben Fahrlässigkeit, wegen der schuldhaften Verletzung des Lebens, des Körpers oder der Gesundheit, bei Nichteinhaltung einer übernommenen Garantie, wegen des arglistigen Verschweigens eines Mangels oder wegen der schuldhaften Verletzung wesentlicher Vertragspflichten. Der Schadensersatzanspruch für die Verletzung wesentlicher Vertragspflichten ist jedoch auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz oder grobe Fahrlässigkeit vorliegen oder wegen der Verletzung des Lebens, des Körpers oder der Gesundheit gehaftet wird. Eine Änderung der Beweislast zu Ihrem Nachteil ist mit den vorstehenden Regelungen nicht verbunden. Von in diesem Zusammen-hang bestehenden oder entstehenden Ansprüchen Dritter stellen Sie Siemens frei, soweit Siemens nicht gesetzlich zwingend haftet. Durch Nutzung der Anwendungsbeispiele erkennen Sie an, dass Siemens über die beschriebene Haftungsregelung hinaus nicht für etwaige Schäden haftbar gemacht werden kann.

Weitere Hinweise Siemens behält sich das Recht vor, Änderungen an den Anwendungsbeispielen jederzeit ohne Ankündigung durchzuführen. Bei Abweichungen zwischen den Vorschlägen in den Anwendungs-beispielen und anderen Siemens Publikationen, wie z. B. Katalogen, hat der Inhalt der anderen Dokumentation Vorrang. Ergänzend gelten die Siemens Nutzungsbedingungen (https://support.industry.siemens.com).

Securityhinweise Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen. Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Der Kunde ist dafür verantwortlich, unbefugten Zugriff auf seine Anlagen, Systeme, Maschinen und Netzwerke zu verhindern. Systeme, Maschinen und Komponenten sollten nur mit dem Unternehmensnetzwerk oder dem Internet verbunden werden, wenn und soweit dies notwendig ist und entsprechende Schutzmaßnahmen (z.B. Nutzung von Firewalls und Netzwerk-segmentierung) ergriffen wurden. Zusätzlich sollten die Empfehlungen von Siemens zu entsprechenden Schutzmaßnahmen beachtet werden. Weiterführende Informationen über Industrial Security finden Sie unter: https://www.siemens.com/industrialsecurity.

Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch sicherer zu machen. Siemens empfiehlt ausdrücklich, Aktualisierungen durchzuführen, sobald die entsprechenden Updates zur Verfügung stehen und immer nur die aktuellen Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr unterstützter Versionen kann das Risiko von Cyber-Bedrohungen erhöhen.

Um stets über Produkt-Updates informiert zu sein, abonnieren Sie den Siemens Industrial Security RSS Feed unter: https://www.siemens.com/industrialsecurity.

Inhaltsverzeichnis

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 3

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Inhaltsverzeichnis Rechtliche Hinweise .................................................................................................... 2

1 Einführung .......................................................................................................... 4

1.1 Überblick............................................................................................... 4 1.2 Funktionsweise ..................................................................................... 5 1.3 Verwendete Komponenten ................................................................... 5

2 Engineering ........................................................................................................ 6

2.1 Erstellung der OPC UA-Methoden ....................................................... 6 2.1.1 Erläuterung der Systemfunktionsbausteine ......................................... 6 2.1.2 Vorbereitung ......................................................................................... 8 2.1.3 Erstellung des Grundgerüsts ................................................................ 8 2.1.4 Programmierung der Funktionalität .................................................... 11 2.1.5 Aufruf im Anwenderprogramm ........................................................... 13 2.2 Erläuterungen zum Beispielprojekt. ................................................... 14 2.2.1 Aufrufhierarchie .................................................................................. 14 2.2.2 Inbetriebnahme des Beispielprojekts ................................................. 15 2.2.3 Bedienung des Beispielprojekts ......................................................... 16

3 Wissenswertes ................................................................................................. 20

3.1 Zugelassene Datentypen als Schnittstellenparameter ....................... 20 3.2 OPC UA Status-Codes ....................................................................... 20

4 Anhang.............................................................................................................. 21

4.1 Service und Support ........................................................................... 21 4.2 Links und Literatur .............................................................................. 22 4.3 Änderungsdokumentation .................................................................. 22

1 Einführung

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 4

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

1 Einführung

1.1 Überblick

Zur standardisierten, herstellerübergreifenden und plattformunabhängigen Kommunikation eines S7-Steuerungssystems bietet Siemens Ihnen das Kommunikationsprotokoll OPC UA an.

Ab der Firmware-Version V2.5 und ab TIA Portal V15 kann das Steuerungssystem SIMATIC S7-1500 über seinen integrierten OPC UA-Server auch OPC UA-Methoden für die Clients anbieten. Durch diese Funktionsergänzung haben Sie nicht nur die Möglichkeit OPC UA-Variablen der Steuerung zu lesen oder zu schreiben, Sie können jetzt zusätzlich komplexe Funktionsabläufe per OPC UA starten. Dies ermöglicht Ihnen eine nahezu vollständige M2M-Kommunikation per OPC UA, zur Vernetzung von Anlagen oder zur Steuerung von Anlagen aus einer ERP/MES-Ebene heraus.

In diesem Anwendungsbeispiel erläutern wir Ihnen, wie Sie einen S7-Funktionsbaustein programmieren, damit er als OPC UA-Methode auf dem Server einer S7-1500 aufgerufen werden kann.

Abbildung 1-1 Prinzipschema

OPC UA-Client OPC UA-Server

S7-1500

OPC UA-Methodenaufruf

OPC UA-Methode

S7-Funktionsbaustein

1 Einführung

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 5

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

1.2 Funktionsweise

Aus der Sicht eines PLC-Programmierers sind OPC UA-Methoden auf einer SIMATIC S7-Steuerung lediglich herkömmliche S7-Funktionsbausteine. Zusätzlich zum normalen Programm-Code müssen Sie im S7-Funktionsbaustein zwei Systemfunktionsbausteine aufrufen, um die OPC UA-Funktionalität zu implementieren. Die Programmlogik innerhalb des S7-Funktionsbaustein wird im Vergleich zu normalen Funktionsbausteinen dadurch nicht eingeschränkt.

Wenn Sie einen S7-Funkionsbaustein korrekt angelegt und programmiert haben, dann erscheint die Methode im OPC UA-Adressraum des OPC UA-Servers der S7-1500 und kann von einem OPC UA-Client aufgerufen werden.

Das mit diesem Anwendungsbeispiel mitgelieferte Beispielprojekt enthält für Sie vier vollständig programmierte OPC UA-Methoden:

"OpcMethodAllowedDataTypes"

"OpcMethodBubbleSort"

"OpcMethodSetPlcTime"

"OpcMethodStateMachine"

Sie können die Methoden erweitern oder als Vorlage für Ihre eigene Implementierung verwenden.

1.3 Verwendete Komponenten

Dieses Anwendungsbeispiel wurde mit folgenden Hard- und Softwarekomponenten erstellt:

Tabelle 1-1

Komponente Anzahl Artikelnummer Hinweis

SIMATIC S7-1500 CPU 1513-1 PN

1 6ES7 513-1AL01-0AB0 Ab Firmware V2.5

STEP 7 Professional 1 6ES7822-1AA05-0YA5 Ab TIA Portal V15

Dieses Anwendungsbeispiel besteht aus folgenden Komponenten:

Tabelle 1-2

Komponente Dateiname Hinweis

Dokumentation 109756885_OpcUa_ServerMethods_DOC_ V10_de.pdf

Dieses Dokument.

Beispielprojekt 109756885_OpcUa_ServerMethods_PROJ_ V10.zip

TIA Portal-Projekt.

OPC UA Status-Codes

109756885_OpcUa_ServerMethods_XML_ V10.zip

Status-Codes zum Import in TIA Portal.

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 6

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2 Engineering

2.1 Erstellung der OPC UA-Methoden

In diesem Kapitel erläutern wir Ihnen die Vorgehensweise und Grundlage zur Erstellung einer OPC UA-Methode. Als zentraler Bestandteil einer OPC UA-Methode dienen die Systemfunktionsbausteine "OPC_UA_ServerMethodPre" und "OPC_UA_ServerMethodPost", welche die OPC UA-Methode implementieren.

2.1.1 Erläuterung der Systemfunktionsbausteine

Die Erstellung von OPC UA-Methoden setzt den Aufruf der Systemfunktionsbausteine "OPC_UA_ServerMethodPre" und "OPC_UA_ServerMethodPost" voraus. Rufen Sie diese Systemfunktionen in einem S7-Funktionsbaustein auf, um die Funktionalität des S7-Funktionsbausteins als OPC UA-Methode zu realisieren. Sie finden die Systemfunktionsbausteine in der Anweisungsliste des TIA Portal unter "Kommunikation > OPC UA > OPC UA-Server" ("Communication > OPC UA > OPC UA server").

Funktionsablauf

Beim Aufruf einer OPC UA-Methode werden die Eingabeparameter an die Systemfunktion "OPC_UA_ServerMethodPre" übergeben. Die Systemfunktion stellt Ihnen diese dann im Anwenderprogramm bereit. Zusätzlich wird Ihnen durch einen Schnittstellenparameter am Funktionsbaustein signalisiert, dass die Methode von einem OPC UA-Client aufgerufen wurde. Führen Sie Ihren individuellen Funktions-Code aus, nachdem der Parameter gesetzt wird.

Nach der Abarbeitung des Funktions-Codes müssen Sie der Systemfunktion "OPC_UA_ServerMethodPost" die Ausgabeparameter und den Status-Code übergeben und zusätzlich einen Schnittstellenparameter setzen, um der Funktion zu signalisieren, dass der Code ausgeführt wurde. Diese Systemfunktion übermittelt anschließend die Ausgabeparameter und den Status-Code an den OPC UA-Client.

Abbildung 2-1 Funktionsablauf

OPC UA-AdressraumS7-Funktionsbaustein

OPC_UA_ServerMethodPre

OPC_UA_ServerMethodPost

Individueller

Funktions-CodeOPC UA-Methode

Übergabe des Status-Codes

und der Ausgabeparameter

Übergabe der

Eingabeparameter

Aufruf

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 7

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Schnittstellenbeschreibung der Systemfunktionsbausteine

Die nachfolgende Abbildung und Tabelle erläutert die Schnittstelle der Systemfunktion "OPC_UA_ServerMethodPre":

Tabelle 2-1

Name Datentyp Beschreibung

UAMethod_ InParameters

Variant Eingabeparameter der Methode; Wird vom Client übergeben

Done Bool True, wenn die Systemfunktion erfolgreich aufgerufen wurde

Busy Bool True, wenn die Systemfunktion in Bearbeitung ist

Error Bool True, wenn eine Fehler beim Aufruf der Systemfunktion aufgetreten ist

Status DWord Ursache für den Fehler, siehe TIA-Hilfe ("F1")

UAMethod_Called Bool True, wenn die Methode durch einen Client aufgerufen wurde

Die nachfolgende Abbildung und Tabelle erläutert die Schnittstelle der Systemfunktion "OPC_UA_ServerMethodPost":

Tabelle 2-2

Name Datentyp Beschreibung

UAMethod_Result DWord OPC UA-Status-Code; Wird dem Client übergeben

UAMethod_Finished Bool Auf True setzten, wenn Funktions-Code fertig abgearbeitet ist; Die Methode wird hiermit beendet.

UAMethod_Out Parameters

Variant Ausgabeparameter der Methode; Wird an den Client übergeben

Done Bool True, wenn die Systemfunktion erfolgreich aufgerufen wurde

Busy Bool True, wenn die Systemfunktion in Bearbeitung ist

Error Bool True, wenn eine Fehler beim Aufruf der Systemfunktion aufgetreten ist

Status Status Ursache für den Fehler, siehe TIA-Hilfe ("F1")

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 8

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.1.2 Vorbereitung

Sie müssen folgende Vorbereitungen treffen, um eine funktionsfähige OPC UA-Methode für eine SIMATIC S7-1500 zu erstellen:

Erstellen Sie ein STEP 7 V15-Projekt.

Projektieren Sie eine SIMATIC S7-1500 mit Firmware 2.5 oder höher.

Aktivieren Sie den OPC UA-Server der S7-1500, damit die Methoden per OPC UA erreichbar sind. Eine Anleitung hierzu finden Sie im Anhang unter \4\.

Legen Sie einen Baustein vom Typ "Funktionsbaustein" ("Function block") an. Die im Baustein verwendete Programmiersprache ist unerheblich. In diesem Beispiel wird die Skriptsprache "SCL" verwendet.

(Optional) Importieren Sie die mit diesem Beitrag mitgelieferte XML-Datei "OpcUaMethodStatusCodes.xml", um standardisierte OPC UA-Status-Codes zu verwenden. Eine Anleitung hierzu finden Sie im Kapitel 3.2 OPC UA Status-Codes.

2.1.3 Erstellung des Grundgerüsts

Um OPC UA-Methoden zu erstellen, erstellen Sie jeweils ein Grundgerüst im Baustein, das obligatorisch für die Funktion der Methode ist. Führen Sie die Schritte 1 bis 4 der folgenden Anleitung für jede OPC UA-Methode durch. Befolgen Sie die Schritte 5 bis 8 nur, wenn Ihre Methode Ein- bzw. Ausgabeparameter benötigt. Gehen Sie folgendermaßen vor:

1. Öffnen Sie den im Vorfeld erstellten Funktionsbaustein.

2. Rufen Sie im Baustein die Funktion "OPC_UA_ServerMethodPre" auf. Achten Sie hierbei darauf, dass die Funktion als "Multi-Instanz" ("Multi instance") erstellt wird.

Hinweis Der Name der Multi-Instanz muss "OPC_UA_ServerMethodPre_Instance" lauten, damit die Methode im Adressraum erstellt wird.

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 9

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

3. Rufen Sie im Baustein die Funktion "OPC_UA_ServerMethodPost" unter der Pre-Funktion auf. Achten Sie hierbei darauf, dass die Funktion als "Multi-Instanz" ("Multi instance") erstellt wird.

Hinweis Der Name der Multi-Instanz muss "OPC_UA_ServerMethodPost_Instance" lauten, damit die Methode im Adressraum erstellt wird.

4. Vergeben Sie den Bausteinschnittstellen der Pre- und Post-Funktion geeignete Variablen. Wir empfehlen Ihnen, die Variablen im statischen Bereich des Bausteins zu definieren, damit diese im Betrieb zu Diagnosezwecken beobachtet werden können. Informationen zu den Bausteinschnittstellen finden Sie in Kapitel 2.1.1 Erläuterung der Systemfunktionsbausteine.

5. Um Eingabeparameter für die OPC UA-Methode zu definieren, legen Sie im statischen Bereich des Bausteins eine Variable mit dem Namen "UAMethod_InParameters" vom Datentyp "Struct" oder UDT an. Innerhalb der Struktur definieren Sie die einzelnen Übergabeparameter (Beispiel: "myInt1" und "myInt2" vom Datentyp "Int").

Hinweis Der Name der Variable muss "UAMethod_InParameters" lauten, damit die Eingabeparameter der Methode angezeigt werden.

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 10

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

6. Weisen Sie die Variable "UAMethod_InParameters" der Bausteinschnittstelle "UAMethod_InParameters" der Pre-Funktion zu.

7. Um Ausgabeparameter für die OPC UA-Methode zu definieren, legen Sie im statischen Bereich des Bausteins eine Variable mit dem Namen "UAMethod_OutParameters" vom Datentyp "Struct" oder UDT an. Innerhalb der Struktur definieren Sie die einzelnen Übergabeparameter (Beispiel: "myIntResult" vom Datentyp "DInt").

Hinweis Der Name der Variable muss "UAMethod_OutParameters" lauten, damit die Ausgabeparameter der Methode angezeigt werden.

8. Weisen Sie die Variable "UAMethod_OutParameters" der Bausteinschnittstelle "UAMethod_OutParameters" der Post-Funktion zu.

9. Stellen Sie sicher, dass die Kontrollkästchen "Erreichbar aus HMI/OPC UA" ("Accessible from HMI/OPC UA") in der Deklaration der Pre- und Post-Funktion sowie der Ein- und Ausgabeparameter gesetzt sind.

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 11

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.1.4 Programmierung der Funktionalität

Die folgende Anleitung erläutert die grundlegende Vorgehensweise, um die Funktion der OPC UA-Methode zu programmieren:

1. Erstellen Sie ein Grundgerüst wie in Kapitel 2.1.3 Erstellung des Grundgerüsts beschrieben.

2. Erstellen Sie eine IF-Abfrage auf die Variable der Schnittstelle "UAMethod_Called" der Pre-Funktion. Soll die Funktion mehrere Zyklen lange durchlaufen werden, definieren Sie die Variable als "Static". Ist die Abarbeitung in nur eine Zyklus möglich, definieren Sie die Variable als "Temp". Programmieren Sie die Funktionalität der Methode innerhalb dieser IF-Schleife, damit der Code nur dann ausgeführt wird, wenn die Methode von einem Client aufgerufen wird.

3. Programmieren Sie die Funktionalität. In diesem Beispiel werden die zwei Eingabeparameter "myInt1" und "myInt2" addiert und das Ergebnis dem Ausgebeparameter "myIntResult" zugewiesen.

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 12

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Hinweis Sie können für die Funktionalität die Ein- und Ausgabeschnittstelle des Funktionsbausteins benutzen, um mit dem restlichen Anwenderprogramm zu interagieren.

4. Setzen Sie die Schnittstellenvariable "UAMethod_Finished" der Post-Funktion auf "True", wenn Ihr Funktions-Code beendet ist. Definieren Sie hierfür eine "Temp"-Variable. Übergeben Sie der Schnittstellenvariable "UAMethod_Result" zusätzlich einen geeigneten Status-Code. Beachten Sie hierzu das Kapitel 3.2 OPC UA Status-Codes. (Falls Sie die Varialbe "UAMethod_Called" als "Static" definiert haben, setzen Sie diese zurück.)

5. Sie haben Ihre OPC UA-Methode erstellt. Rufen Sie den Funktionsbaustein im Anwenderprogramm auf, damit die Methode im OPC UA-Adressraum Ihrer SIMATIC S7-1500 erscheint. Beachten Sie hierzu die Erläuterungen in Kapitel 2.1.5 Aufruf im Anwenderprogramm.

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 13

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.1.5 Aufruf im Anwenderprogramm

Um die OPC UA-Funktionalität eines dafür erstellten S7-Funktionsbausteins zu implementieren, rufen Sie den Baustein im Anwenderprogramm auf. Rufen Sie den Baustein in einem zyklischen OB ("Program cycle") oder einem zyklischen Interrupt-OB ("Cyclic interrupt") auf.

Alternativ haben Sie die Möglichkeit den Baustein in einem übergeordneten Funktionsbaustein aufzurufen. Den übergeordneten Funktionsbaustein selbst müssen Sie jedoch auch in einer der beiden zulässigen OB-Typen aufrufen.

Die folgende Abbildung zeigt Ihnen beispielhaft den Aufruf von S7-Funktionsbausteinen im OB1 ("Main"). Die Einzel-Instanzen der Bausteine implementieren die OPC UA-Methoden.

Abbildung 2-2

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 14

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.2 Erläuterungen zum Beispielprojekt.

In diesem Kapitel erläutern wir Ihnen das mitgelieferte Beispielprojekt.

2.2.1 Aufrufhierarchie

Die Nachfolgende Abbildung zeigt Ihnen die Aufrufhierarchie der Bausteine des Beispielprojekts:

Abbildung 2-3

InstanzdatenbausteineS7-FunktionsbausteineOB1-Zyklus

MainOpcMethod

AllowedDataTypes

InstOpc

MethodAllow

edDataTypes

OpcMethod

BubbleSort

OpcMethod

SetPlcTime

OpcMethodState

Machine

InstOpcMethod

BubbleSort

InstOpcMethodSet

PlcTime

InstOpcMethodState

Machine

Alle S7-Funktionsbausteine werden direkt im OB1-Zyklus des Anwenderprogramms aufgerufen. Die Instanzdatenbausteine der einzelnen Funktionsbausteine implementieren hierbei die OPC UA-Methoden.

Die folgenden Methoden können in diesem Beispiel von einem OPC UA-Client aufgerufen werden:

"OpcMethodAllowedDataTypes": Diese Methode enthält alle zulässigen Datentypen als Eingangsparameter der Methode. Bei der Ausführung werden die übergebenen Werte als Ausgangsparameter der Methode bereitgestellt.

"OpcMethodBubbleSort": Diese Methode bietet als Eingangsparameter eine Array vom Typ "Int" an. Die übergebenen Werte werden nach Wertgröße sortiert und das Ergebnis wird als Ausgabeparameter bereitgestellt.

"OpcMethodSetPlcTime": Über diese Methode können Sie die PLC-Zeit setzen.

"OpcMethodStateMachine" Diese Methode enthält eine Schrittkette, die beim Aufruf der Methode gestartet wird. Die Methode besitzt keine Ein- bzw. Ausgabeparameter. Während die Schrittkette abgearbeitet wird, erhalten Sie eine negative Rückmeldung bei erneutem Aufruf.

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 15

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.2.2 Inbetriebnahme des Beispielprojekts

Um das Beispielprojekt in Betrieb zu nehmen, gehen Sie folgendermaßen vor:

1. Laden Sie das Projekt "109756885_OpcUa_ServerMethods_PROJ_V10.zip" auf Ihre Festplatte. Den Download finden Sie auf der HTML-Seite dieses Beitrags (\2\).

2. Entpacken Sie das ZIP-Archiv an einem beliebigen Speicherort.

3. Navigieren Sie im entpackten Archiv zum Ordner "OpcUaServerMethods". In diesem Ordner befindet sich das TIA Portal-Projekt.

4. Öffnen Sie das Projekt mit einem Doppelklick auf die Datei "OpcUaServerMethods.ap15".

5. Markieren Sie die CPU in der Projektnavigation und klicken Sie auf "Laden in Gerät" ("Donwload to device").

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 16

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

2.2.3 Bedienung des Beispielprojekts

Um die OPC UA-Methoden des Beispielprojekts zu testen, können Sie jeden OPC UA-Client verwenden, der die Methodenfunktionalität beherrscht. In diesem Beispiel wird das Tool "UaExpert" von Unified Automation verwendet. Den kostenlosen Download finden Sie im Anhang (\5\).

Verbindung zum Server aufbauen

Verbinden Sie UaExpert zunächst mit dem Server der PLC:

1. Starten Sie das Tool "UaExpert".

2. Klicken Sie auf die Schaltlfäche "Add server".

3. Unter "Custom Discovery" doppelklicken Sie auf "Double click to Add Server"

4. Tragen Sie die IP-Adresse der PLC ins Textfeld des erscheinenden Dialogs ein und bestätigen Sie anschließend mit "OK".

5. Wählen Sie einen Endpunkt (in diesem Beispiel "None") aus und bestätigen Sie anschließend mit "OK".

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 17

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

6. Markieren Sie den ausgewählten Endpoint in der Projektnavigation und klicken Sie auf die Schaltfläche "Connect Server".

7. Bestätigen Sie das Zertifikat der PLC. Aktivieren Sie hierzu das Kontrollkästchen "Accept the server certificate temporarily for this session" und bestätigen Sie mit "Continue". Alternativ können Sie das Zertifikat dauerhaft akzeptieren, indem Sie auf die Schaltfläche "Trust Server Certificate" klicken.

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 18

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

Methoden aufrufen

Nachdem Sie eine Verbindung zum Server der PLC aufgebaut haben, können Sie die im Vorfeld erstellten Methoden aufrufen:

1. Navigieren Sie im Bereich "Address Space" zu "Root > Objects > DeviceSet > SamplePlcOpcUaMethods > DataBlockInstance". Innerhalb der Objekte der Bausteininstanzen finden Sie die im Vorfeld erstellten OPC UA-Methoden.

2. Rechtsklicken Sie auf eine Methode "Method" (z. B. innerhalb der Instanz von "InstOpcMethodSetPlcTime") und klicken Sie anschließend auf "Call…".

2 Engineering

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 19

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

3. Tragen Sie im erscheinenden Dialog einen Eingabeparameter der Methode ein (Im Beispiel: Die PLC-Zeit) und klicken Sie anschließend auf "Call", um die Methode auszuführen.

4. Nach der erfolgreichen Ausführung der Methode erhalten Sie einen Hinweis im Dialog. Bei einer fehlerhaften Ausführung wird Ihnen dort der Fehler-Code angezeigt. Wenn die Methode Ausgabeparameter besitzt, werden diese ebenfalls im Dialog angezeigt.

3 Wissenswertes

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 20

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

3 Wissenswertes In diesem Kapitel geben wir Ihnen wissenswerte Informationen bezüglich der Implementierung von OPC UA-Methoden auf einer S7-PLC.

3.1 Zugelassene Datentypen als Schnittstellenparameter

Sie können folgende PLC-Datentypen als Ein- und Ausgabeparameter ("UAMethod_InParameters" und "UAMethod_OutParameters") Ihrer OPC UA-Methoden definieren:

Tabelle 3-1

Zugelassene Datentypen

Bool ULint

SInt (auch für Byte) Real

Int (auch für Word) LReal

DInt (auch für DWord) LDT

LInt WString

USInt Struct/Array

UInt OPC_UA_NodeId

UDint OPC_UA_QualifiedName

Hinweis Sie können maximal 20 Ein- und Ausgabeparameter deklarieren. Eine Struktur oder ein Array wird hierbei als nur ein Parameter interpretiert.

3.2 OPC UA Status-Codes

Die OPC Foundation hat für OPC UA eine Vielzahl an Status-Codes definiert. Wir empfehlen Ihnen diese Status-Codes für die im TIA Portal erstellten OPC UA-Methoden zu verwenden.

In diesem Anwendungsbeispiel liefern wir Ihnen eine XML-Datei mit den wichtigsten Status-Codes. Gehen Sie folgendermaßen vor, um die Datei im TIA Portal zu importieren:

1. Laden Sie das Archiv "109756885_OpcUa_ServerMethods_XML_V10.zip" auf Ihre Festplatte. Den Download finden Sie auf der HTML-Seite dieses Beitrags (\2\).

2. Entpacken Sie das ZIP-Archiv an einem beliebigen Speicherort.

3. Öffnen Sie ihr TIA Portal-Projekt und erstellen Sie eine ("Variablentabelle") ("tag table").

4. Klicken Sie auf die Schaltfläche "Importieren" ("Import") im Arbeitsbereich.

5. Navigieren Sie im erscheinenden Dialog zum Speicherort des entpackten Archivs und wählen Sie die Datei "OpcUaStatusCodes.xml". Aktivieren Sie das Kontrollkästchen "Konstanten" ("Constants") und bestätigen Sie mit "OK".

4 Anhang

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 21

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

4 Anhang

4.1 Service und Support

Industry Online Support

Sie haben Fragen oder brauchen Unterstützung?

Über den Industry Online Support greifen Sie rund um die Uhr auf das gesamte Service und Support Know-how sowie auf unsere Dienstleistungen zu.

Der Industry Online Support ist die zentrale Adresse für Informationen zu unseren Produkten, Lösungen und Services.

Produktinformationen, Handbücher, Downloads, FAQs und Anwendungsbeispiele – alle Informationen sind mit wenigen Mausklicks erreichbar: https://support.industry.siemens.com

Technical Support

Der Technical Support von Siemens Industry unterstützt Sie schnell und kompetent bei allen technischen Anfragen mit einer Vielzahl maßgeschneiderter Angebote – von der Basisunterstützung bis hin zu individuellen Supportverträgen.

Anfragen an den Technical Support stellen Sie per Web-Formular: www.siemens.de/industry/supportrequest

SITRAIN – Training for Industry

Mit unseren weltweit verfügbaren Trainings für unsere Produkte und Lösungen unterstützen wir Sie praxisnah, mit innovativen Lernmethoden und mit einem kundenspezifisch abgestimmten Konzept.

Mehr zu den angebotenen Trainings und Kursen sowie deren Standorte und Termine erfahren Sie unter: www.siemens.de/sitrain

Serviceangebot

Unser Serviceangebot umfasst folgendes:

Plant Data Services

Ersatzteilservices

Reparaturservices

Vor-Ort und Instandhaltungsservices

Retrofit- und Modernisierungsservices

Serviceprogramme und Verträge

Ausführliche Informationen zu unserem Serviceangebot finden Sie im Servicekatalog: https://support.industry.siemens.com/cs/sc

Industry Online Support App

Mit der App "Siemens Industry Online Support" erhalten Sie auch unterwegs die optimale Unterstützung. Die App ist für Apple iOS, Android und Windows Phone verfügbar: https://support.industry.siemens.com/cs/ww/de/sc/2067

4 Anhang

OPC UA Server Methods Beitrags-ID: 109756885, V1.0, 05/2018 22

S

iem

en

s A

G 2

01

8 A

ll ri

gh

ts r

ese

rve

d

4.2 Links und Literatur

Tabelle 4-1

Nr. Thema

\1\ Siemens Industry Online Support

https://support.industry.siemens.com

\2\ Link auf die Beitragsseite des Anwendungsbeispiels

https://support.industry.siemens.com/cs/ww/de/view/109756885

\3\ SIMATIC S7-1500, ET 200MP, ET 200SP, ET 200AL, ET 200pro Kommunikation https://support.industry.siemens.com/cs/ww/de/view/59192925

\4\ OPC UA .NET Client für den SIMATIC S7-1500 OPC UA Server https://support.industry.siemens.com/cs/ww/de/view/109737901

\5\ Link zum Download des Tools UaExpert https://www.unified-automation.com/products/development-tools/uaexpert.html

4.3 Änderungsdokumentation

Tabelle 4-2

Version Datum Änderung

V1.0 05/2018 Erste Ausgabe