OPC UA-Methoden für den SIMATIC S7-1500 OPC UA-Server€¦ · 2 Engineering OPC UA Server Methods...
Transcript of OPC UA-Methoden für den SIMATIC S7-1500 OPC UA-Server€¦ · 2 Engineering OPC UA Server Methods...
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