IEC 61131-3 oder Hochsprache: Verschiedene Entwicklungsstränge Entweder oder oder sowohl als auch? - wirautomatisierer

IEC 61131-3 oder Hochsprache: Verschiedene Entwicklungsstränge

Entweder oder oder sowohl als auch?

Anzeige
In der Automatisierungstechnik haben sich zwei Ansätze zur Programmierung etabliert, die kaum unterschiedlicher sein können: Programmierung nach IEC 61131-3 sowie Programmierung in Hochsprache. Zwar wachsen beide Welten immer weiter zusammen, aber für eine vollständige Integration gibt es noch zahlreiche Herausforderungen.

Dipl.-Ing. Robert Wilmes ist Mitarbeiter der Business Unit Automation Systems bei Phoenix Contact GmbH & Co. KG in Blomberg (www.phoenixcontact.com)

In der IT-Welt wie auch in der Automatisierungstechnik kam die Hochsprache mit der Rechenmaschine auf den Plan. Schon früh sind aus der Hardware-nahen und Stack-orientierten Assembler-Programmierung zahlreiche Programmiersprachen hervorgegangen. Nicht alle so entstandenen Hochsprachen konnten sich etablieren, und Fortran oder Pascal kennt heute kaum noch jemand. Die neueren Ansätze heißen C++, C#, Visual Basic, Delphi oder Java. Hier hat es im Laufe der Zeit unterschiedliche Trends gegeben: Objektorientierung, Client-Server-Technologie, Service-orientierte Technologie sind nur einige.
Entwicklungsprozess durch Endanwender geprägt
Die auf der Basis von IEC 61131-3 definierten Sprachen blicken auf eine andere Geschichte zurück. Erste Rechner-gestützte Automatisierungs-Systeme hatten die Aufgabe einer einfachen Bit-orientierten Verknüpfung. Neben der Hardware-nahen Assembler-Programmierung erfolgte bei Systemen amerikanischer Anbieter die Programmierung – wie bei der Hochsprache – über einen Kontaktplan, den jeder Elektroniker lesen kann. Damit waren bereits die ersten beiden Sprachen AWL (Anweisungsliste) und KOP (Kontaktplan) definiert. Für Abläufe mit verschiedenen Zuständen kam die grafische Ablaufsprache (AS) hinzu. Für komplexere Vorgänge wie Regelungen kamen noch die grafische Funktionsbausteinsprache (FBS) sowie eine Hochsprache nach dem Muster von Pascal hinzu – der Strukturierte Text (ST).
Dabei definiert die Sprache auch viele Funktionen, die über eine einfache Bit-Verknüpfung hinausgehen – Timer-Bausteine gehören ebenso zum Standardumfang wie trigonometrische Funktionen. Auch eine einfache Form der Objekt-Orientierung mit Instanzen sowie globalen und lokalen Variablen ist definiert. Außerdem gibt es Ressourcen, Tasks, Programme und Funktionen. Dieser Entwicklungsprozess wurde maßgeblich durch den Endanwender geprägt. Oberstes Ziel dabei war die Kompatibilität der Applikationen, Wildwuchs unter den Herstellern der Steuerungen sollte verhindert werden.
Bei der IEC 61131 handelt es sich um eine reine Automatisierungsnorm, die aus vielen Ansätzen das Beste nutzen will. Davon sollte auch der Anwender profitieren, der nicht über spezifische Programmier-Kenntnisse verfügt. Die Hochsprache ist dagegen anspruchsvoller und flexibler. Prinzipiell kann jede Aufgabe mit jedem der beiden Ansätze gelöst werden. Wie praktikabel und effizient die Lösung dann aber wird, hängt vom Programmierer und der zu lösenden Aufgabe ab. Denn beide Ansätze weisen deutliche Vor- und Nachteile auf.
Funktionsbausteine reduzieren Komplexität
Bei der SPS-Programmierung hat sich die IEC 61131-3 durchgesetzt. Die installierte Basis der Steuerungen ist groß, und geschulte Programmierer sind genügend vorhanden. Diese Methode liegt dem Automatisierer oft näher – auch dem Techniker und Maschinenbediener. Zum Datenaustausch mit anderen Systemen wie Feldgeräte oder Leitsysteme haben sich fertige Funktionsbausteine etabliert, die die Komplexität erheblich reduzieren. Mit dem Strukturierten Text können auch Arrays und Strukturen auf einfache Weise integriert werden. Ein einfacher EA-Zugriff über EA-Adressen oder in zeitgemäßen Systemen über Signalnamen ist spezifiziert. Der Datenaustausch mit Leit- und Visualisierungssystemen erfolgt meistens über OPC-Server, die auf die SPS abgestimmt sind. Damit kann eine beliebige Visualisierung eingesetzt werden. Alle Informationen müssen aber über diese Schnittstelle abgebildet werden.
Dagegen bietet die Hochsprachen-Programmierung eine hohe Flexibilität – besonders bei der Programmierung von Kommunikationsfunktionen über TCP/IP und bei komplexen Regelungsaufgaben. Allerdings muss sich der Hochsprachen-Programmierer um Treiber, Kommunikation und Betriebssystem-Eigenschaften selbst kümmern. Dazu ist mehr Know-How erforderlich. Von Vorteil ist, dass auf ein weites Spektrum an Sourcen und Beispielprogrammen zurückgegriffen werden kann. Bei Spezialfunktionen ist man nicht auf den IEC-Funktionsumfang beschränkt. Objektorientierung, Pointer, Strukturen und Arrays gehören hier zum Standard.
Was bringt die Zukunft?
Beide Ansätze dienen dem selben Zweck: eine Aufgabe schneller, besser und kostengünstiger zu erledigen. In der Automatisierungstechnik wandert immer mehr Intelligenz ins Feld. Die Steuerungsplattformen werden leistungsfähiger, sodass dort immer mehr Funktionen abgearbeitet werden können. Datenbankzugriffe und andere Kommunikationswege nehmen damit an Bedeutung zu.
Auch künftig wird es Bereiche geben, für die IEC 61131-3 gut ausgerichtet ist – in diese Bereiche wird die Hochsprache nicht so leicht eindringen können. Auf der anderen Seite gibt es Applikationen, die aus systembedingten Gründen besser in Hochsprache gelöst werden: Flexibilität, Leistungsfähigkeit, Schutz von Know-how sind die Hauptgründe.
So spricht einiges dafür, dass beide Welten zusammenwachsen können und werden, und dass das Beste aus beiden Ansätzen gemeinsam für eine Anwendung genutzt werden kann. Die IEC 61131-3 übernimmt die feldnahe Maschinenkontrolle, die Hochsprache übernimmt Datenaufbereitung, Verdichtung und Kopplung zu Leitsystemen und Datenbanken. Prozesse, die zur Zeit außerhalb der Steuerung – zum Beispiel auf einem Anlagen-PC – realisiert werden, wandern dann in die Steuerung.
Dennoch existieren heute zahlreiche Herausforderungen im Hinblick auf die Integration von Hochsprache oder IEC 61131-3: Die Einbindung von C-Funktionen in die IEC 61131-3 ist heute Stand der Technik – umgekehrt gilt das noch nicht. IEC 61131 nutzt OPC als Lösung zur Datenankopplung – Hochsprachen-Programmierer müssen das selbst lösen. Ein OPC-Server für beide Welten wäre hier sinnvoll. EA-Zugriffe sind bei der IEC 61131-3 festgelegt. Bei der Hochsprache gibt es nur herstellerspezifische Treiber-Schnittstellen. Künftig muss auf EA-Daten über Echtzeit-Ethernet wie Profinet und Feldbussysteme wie Interbus von beiden Seiten gleichzeitig zugegriffen werden können.
Die Synchronisation beider Prozesse sowie ein effizienter Datenaustausch ist nicht spezifiziert. Beide Programm-Teile müssen hier besser gekoppelt werden. Für die Programmierung in IEC 61131-3 und Hochsprache werden zwei verschiedene Werkzeuge benötigt. Programm-Download und Fehlersuche (Debugger) sollten aus einer Hand kommen.
Hohes Innovationspotenzial
Der Prozess in Richtung gegenseitige Integration ist in vollem Gange. Die Hardware-Plattformen sind vorhanden, und Betriebssysteme wie Windows CE, für die es IEC 61131-Laufzeitsysteme und Hochsprachen-Compiler gibt, drängen massiv in die Steuerungswelt. OPC setzt mit OPC UA (Unified Architecture) eine neue und flexible Spezifikation, die direkt auf der Steuerung laufen kann. In dieser beschriebenen durchgängigen Kombination – Hochsprache und IEC 61131-3 – liegt ein hohes Innovationspotenzial.
eA 466

PRAXIS PLUS
Ein Beispiel für eine Hardware-Familie, die entweder mit IEC 61131-3 oder in Hochsprache programmiert werden kann, sind die Control Panels von Phoenix Contact. Der Prozessor aus der Xscale-Familie und das Betriebssystem Windows CE 5.0 sind identisch. Die berührungssensitiven 10-Zoll-TFT-Bildschirme sind ebenfalls gleich. Das CP 310 ETH wird mit der IEC 61131-3 kompatiblen Programmierumgebung PC Worx programmiert und kann EA-Daten über Interbus austauschen. Eine Visualisierung ist ebenfalls bereits vorhanden. Bei dieser Variante sind – wie bei einer handelsüblichen SPS – noch Schlüsselschalter und Fronttasten vorhanden. Auf dem CP 310 HLC ETH IB dagegen können beliebige Hochsprachen-Programme ablaufen, die mit Microsoft Visual Studio Professional 2005 kompiliert wurden. Hier können EA-Daten über Ethernet und Interbus eingebunden werden. Die IEC 61131-3-Variante dient einem Anwenderkreis, der eine abgestimmte Einheit aus Hardware und Software sucht, um sich möglichst wenig mit der Technologie auseinander zu setzen. Die Hochsprachen-Variante richtet sich an Kunden, die ihr Know-how möglichst flexibel auf eine langfristig verfügbare Steuerungsplattform bringen wollen.

Ein Beispiel für eine Hardware-Familie, die entweder mit IEC 61131-3 oder in Hochsprache programmiert werden kann, sind die Control Panels von Phoenix Contact. Der Prozessor aus der Xscale-Familie und das Betriebssystem Windows CE 5.0 sind identisch. Die berührungssensitiven 10-Zoll-TFT-Bildschirme sind ebenfalls gleich. Das CP 310 ETH wird mit der IEC 61131-3 kompatiblen Programmierumgebung PC Worx programmiert und kann EA-Daten über Interbus austauschen. Eine Visualisierung ist ebenfalls bereits vorhanden. Bei dieser Variante sind – wie bei einer handelsüblichen SPS – noch Schlüsselschalter und Fronttasten vorhanden. Auf dem CP 310 HLC ETH IB dagegen können beliebige Hochsprachen-Programme ablaufen, die mit Microsoft Visual Studio Professional 2005 kompiliert wurden. Hier können EA-Daten über Ethernet und Interbus eingebunden werden.
Zu den Hochsprachen, die bevorzugt in der Automation zum Einsatz kommen, gehören C++, C#, Visual Basic oder auch Delphi und Java. Bei C++ eignet sich bereits ein einfacher PC unter Windows als Entwicklungsumgebung; die Hochsprache ist außerdem portabel und lässt sich auch auf andere Betriebssysteme wie Unix oder Linux übertragen. Grundlagen zur Thematik bietet das Fachbuch „Informatik für Ingenieure und Naturwissenschaftler Band 1: Grundlagen Programmieren mit C/C++ sowie großes C/C++-Praktikum“. Demnächst erscheinen soll außerdem „Das Umsteigerbuch: C# für C++-Programmierer, Vorsprung nutzen, erfolgreich programmieren mit C# unter .net“.

eA-INFO-TIPP
Zu den Hochsprachen, die bevorzugt in der Automation zum Einsatz kommen, gehören C++, C#, Visual Basic oder auch Delphi und Java. Bei C++ eignet sich bereits ein einfacher PC unter Windows als Entwicklungsumgebung; die Hochsprache ist außerdem portabel und lässt sich auch auf andere Betriebssysteme wie Unix oder Linux übertragen. Grundlagen zur Thematik bietet das Fachbuch „Informatik für Ingenieure und Naturwissenschaftler Band 1: Grundlagen Programmieren mit C/C++ sowie großes C/C++-Praktikum“. Demnächst erscheinen soll außerdem „Das Umsteigerbuch: C# für C++-Programmierer, Vorsprung nutzen, erfolgreich programmieren mit C# unter .net“:
Anzeige

Video aktuell

VX25 - Michael Schell, Hauptabteilungsleiter Produktmanagement bei Rittal, stellt das neue Großschranksystem vor.

Aktuelle Ausgabe

Newsletter

Unsere Dosis Wissensvorsprung für Sie. Jetzt kostenlos abonnieren!

Webinare & Webcasts

Technisches Wissen aus erster Hand

Automation Award

Videos

Hier finden Sie alle aktuellen Videos

Alle Whitepaper

Hier finden Sie alle Whitepaper unserer Industrieseiten

Anzeige

Industrie.de Infoservice

Vielen Dank für Ihre Bestellung!
Sie erhalten in Kürze eine Bestätigung per E-Mail.
Von Ihnen ausgesucht:
Weitere Informationen gewünscht?
Einfach neue Dokumente auswählen
und zuletzt Adresse eingeben.
Wie funktioniert der Industrie.de Infoservice?
Zur Hilfeseite »
Ihre Adresse:














Die Konradin Verlag Robert Kohlhammer GmbH erhebt, verarbeitet und nutzt die Daten, die der Nutzer bei der Registrierung zum Industrie.de Infoservice freiwillig zur Verfügung stellt, zum Zwecke der Erfüllung dieses Nutzungsverhältnisses. Der Nutzer erhält damit Zugang zu den Dokumenten des Industrie.de Infoservice.
AGB
datenschutz-online@konradin.de