zuruck zur Themenseite

Artikel und Hintergründe zum Thema

Codesys

Roland Wagner | Meinrad Happacher,

Drei Richtige!

OPC UA gilt als „der“ Kommunikationsstandard im Industrie 4.0-Zeitalter. Viele Automatisierer fragen sich jedoch: Wie aufwendig wird das für mich? Am Beispiel der Anwendung von OPC UA Server, Client und PubSub auf Codesys-kompatiblen Plattformen wird diese Frage beantwortet.

© Codesys

In der Automatisierungswelt ist Codesys als IEC-61131-3-Plattform bekannt und etabliert. Hunderte von unterschiedlichen Industriesteuerungen werden mit dem Tool beziehungsweise dessen Derivaten projektiert. Eine wichtige Rolle spielen dabei die umfangreichen Kommunikationseigenschaften der Software, die es z.B. ermöglichen, erstellte SPS-Applikationen auf ein Gerät zu laden, im Online-Betrieb zu debuggen, E/A-Daten per Feldbus oder über proprietäre Protokolle zu lesen und zu schreiben. Auch der sichere Datenaustausch mit anderen Geräten oder Einheiten per OPC UA ist ein essentielles Feature der Plattform.

OPC UA Server – Applikationsdaten veröffentlichen

Bild 1: Daten lassen sich per Symbolkonfiguration über den OPC UA Server veröffentlichen.

© Codesys

Das ursprüngliche Ziel von OPC und OPC UA ist es, Steuerungsdaten anderen Teilnehmern zugänglich zu machen. Dies geschieht über einen entsprechenden Server, entweder als Zusatzsoftware zu einer Steuerung oder – im Fall von Codesys-kompatiblen Steuerungen – integriert im SPS-Laufzeitsystem. Will ein Anwender die aktuellen SPS-Werte anderen Geräten bekanntmachen, so fügt er im Codesys-Projekt das Objekt ‚Symbolkonfiguration‘ ein und legt fest, welche Variablen veröffentlicht werden sollen. Die Veröffentlichung kann objektweise, in Datenstrukturen oder einzeln erfolgen. Bei Bedarf lassen sich die Daten in verschiedenen Symbolgruppen strukturieren und Zugriffsrechte einzelner Variablen oder kompletter Gruppen feingranular festlegen. Für eine abgesicherte Kommunikation ist zusätzlich ein gültiges X.509-Zertifikat auf der Steuerung erforderlich. Es kann entweder von einer Zertifizierungsstelle ausgestellt und auf die Steuerung importiert, oder aber direkt im Gerät selbst angelegt werden.

Anzeige

Bild 2: Aus Informationsmodellen im XML-Format werden im Codesys Development instanziierbare Datenstrukturen.

© Codesys

Das ist aber nur die halbe Miete. Damit auf der Gegenseite die veröffentlichten Daten auch richtig eingesetzt und genutzt werden können, muss man wissen, was sie bedeuten. Unter dem Dach der OPC Foundation haben sich in den vergangenen Jahren zahlreiche Unternehmen aus unterschiedlichen Branchen getroffen und gemeinsam einheitliche Informationsmodelle für den Datenaustausch definiert. In den XML-Dateien der OPC UA Companion Specifications werden die Datenstrukturen mit Kontextangaben versehen, so dass sich die übermittelten Daten sofort richtig interpretieren und verwenden lassen. Bilaterale Absprachen sind damit unnötig. Im Codesys-Projekt lassen sich solche Informationsmodelle recht komfortabel verwenden: Die XML-Dateien werden zunächst in ein Repository, eine Art Datenbank in der Entwicklungsoberfläche, importiert. Über das Objekt ‚Kommunikationsverwalter‘ kann der Anwender diese Informationsmodelle ins Projekt einfügen und dabei frei entscheiden, welche der verfügbaren Datenstrukturen oder -typen genutzt werden sollen. Per Knopfdruck erzeugt er IEC-61131-3-Funktionsbausteine und instanziiert diese entweder manuell oder automatisch per Befehl. Derart erzeugte Variablen lassen sich im SPS-Code wie bisher verwenden und über den OPC UA Server veröffentlichen. Enthält ein Informationsmodell OPC UA-Methoden, so kann der Anwender deren Funktion im generierten Baustein selbst auskodieren. Verbundene OPC UA Clients können diese Methoden und damit Funktionen des Servers aufrufen – sozusagen „auf Zuruf“. Diese dynamische Nutzbarkeit von Informationsmodellen für ganz unterschiedliche Industrie- und Anwendungsbereiche macht es Applikationsentwicklern sehr leicht, flexibel auf veränderte Aufgabenstellungen zu reagieren beziehungsweise einmal erstellten Code wiederzuverwenden.

OPC UA Client – verschiedene Anwendungsfälle

Bild 3: Im Datenquellenverwalter ermöglicht der OPC UA Client das Einfügen und Nutzen der SPS-Daten einer angebundenen Steuerung.

© Codesys

Der Client ist die Gegenstelle zum Server: Er durchsucht die bereitgestellten Datenstrukturen und ermöglicht deren Nutzung. Früher wie heute werden Maschinen und Anlagen anhand der SPS-Daten per Client visualisiert. Mit der in Codesys integrierten Visualisierung erstellen Anwender parallel zur Entwicklung der SPS-Applikation – oder auch vollständig unabhängig davon – passende Bedienoberflächen im Entwicklungssystem. Nahezu alle Anwender nutzen solche Visualisierungen zur Bedienung von Maschineneinheiten, Anlagen oder als komfortables Tool für Debugging oder Inbetriebnahme der Applikation auf kompatiblen Steuerungen. Durch die Integration eines OPC UA Clients in die Visualisierungs-Runtime unter Windows und Linux lassen sich solche Bedienoberflächen zur Visualisierung beliebiger Steuerungen mit OPC UA Servern nutzen. Dazu verbindet der Anwender der Visualisierung den Datenquellenverwalter im Projekt mit der Server-URL des OPC UA Servers auf der Steuerung. Der Client zeigt die veröffentlichten Daten an und ermöglicht eine Darstellung beziehungsweise Animation.

Bild 4: Komfortabler Datenaustausch durch paarweise Nutzung von OPC UA Server und Client.

© Codesys

Zusätzlich zum ursprünglichen Anwendungsfall der Visualisierung ist die OPC UA-Kommunikation per Server-Client für einen Datenaustausch zwischen Geräten geeignet. Dazu lässt sich der Datenquellenverwalter in Codesys in der gleichen Weise auch in „normale“ SPS-Applikationen einbinden. Ist die Verbindung vom Client zu einer Steuerung mit OPC UA Server aufgebaut, so stehen dessen Variablen im Entwicklungssystem genauso bereit, als wenn sie lokal im Projekt deklariert worden wären – und das unabhängig vom Hersteller der angebundenen Steuerung. Für einen standardisierten Datenaustausch ist es daher empfehlenswert, OPC UA Server und Client-Funktionalität paarweise auf geeigneten Steuerungen zu implementieren.

Der Datenquellenverwalter stützt sich bei der Nutzung automatisch auf einer Bibliothek ab, deren Bausteine genauso direkt aufgerufen und genutzt werden können, um die Client-Anbindung innerhalb der Applikation zu realisieren. Erfahrene Entwickler von SPS-Applikationen erhalten dadurch weitere Freiheitsgrade bei der Implementierung ihrer Logikfunktionen.

OPC UA PubSub – für die Echtzeitkommunikation

Bild 5: Der Aufruf der PubSub-Kommunikationsbausteine für Writer und Reader.

© Codesys

So komfortabel die Client-Server-Kommunikation auch ist – sie hat einen Haken: Insbesondere der Server hat einen beträchtlichen Bedarf an CPU-Leistung und Speicher. Für die meisten der mittlerweile „sehr ordentlich motorisierten“ Industriesteuerungen mit Windows oder Linux als Betriebssystem ist das kein Problem. Soll ein Datenaustausch aber mit kostengünstigen Feldgeräten realisiert werden, ist dieses Protokoll nicht mehr geeignet. Um dem abzuhelfen, hat die OPC Foundation mit PubSub eine schlanke Alternative definiert, die eine Kommunikation über unterschiedliche Protokolle ermöglicht: Codesys-Anwender verwenden zur Kommunikation einfach eine verfügbare Bibliothek. Zum Senden und Empfangen von Nachrichten werden die objektorientiert angelegten Bausteine zyklisch innerhalb der SPS-Applikation aufgerufen. Derzeit erfolgt der Datenaustausch auf Basis von UDP (User Datagram Protocol). Jedoch ist die Bibliothek so angelegt, dass sich zeitsynchronisierte Kommunikationsprotokolle jederzeit ergänzen lassen. Die künftige Implementierung eines echtzeitfähigen OPC UA-basierten Feldbussystems ist somit vorbereitet. Damit eignet sich OPC UA PubSub nicht nur als Alternative für die Kommunikation zwischen weniger performanten Geräten, sondern zukünftig auch zum Datenaustausch zwischen Steuerungen in Echtzeit über Protokolle wie etwa TSN oder sogar mit Cloud-Systemen.

Der Autor: Roland Wagner ist Head of Product Marketing der Codesys Group.

© Codesys

Codesys-Anwender können also die für ihre Applikation am besten geeignete OPC-Variante verwenden. Möglich ist das aufgrund der nahtlosen Integration in das IEC-61131-3-Entwicklungssystem. Eingebundene Daten stehen nach einer einfachen Konfiguration genauso bereit, als wären sie in der lokalen Steuerung deklariert worden. Ob OPC UA Server, OPC UA Client, OPC UA PubSub oder alle drei Varianten gleichzeitig auf einem kompatiblen Gerät.

  • Xing Icon
  • LinkedIn Icon
Anzeige
zurück zur Themenseite
Anzeige

Das könnte Sie auch interessieren

Anzeige

Codesys

Das aktuelle Update!

Die tägliche Arbeit beschleunigen und Anwender der Codesys-Plattform fit machen für die technologischen Neuerungen in der Automation: Diese Motive standen im Vordergrund bei der Entwicklung des jetzt veröffentlichen Updates des Codesys-Pakets.

mehr...
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Jetzt Newsletter abonnieren