Erschienen am: 29.01.2015, Ausgabe SPS-MAGAZIN 1+2 2015

Einstieg in die Hochsprachenprogrammierung - Teil 1

Einstieg in Strukturierter Text

Neue Aufgaben erfordern manchmal auch neue Werkzeuge. Die Datenaufbereitung, Datenverarbeitung und Datenpräsentation rücken verstärkt in das Aufgabenfeld von SPSen. Die Anweisungsliste (AWL) als Programmiersprache, die seit vielen Jahrzehnten ein gutes Werkzeug für viele automatisierte Abläufe gewesen ist, wird zunehmen von Strukturiertem Text abgelöst. Dieser erste Artikel unserer dreiteiligen Artikelreihe zeigt, wo ST überall eingesetzt wird und welche Veränderungen sich dadurch ergeben könnten. Die nächsten Beiträge erläutern den Einstieg in ST für SPS-Programmierer.


Bild 1: Beispiel für eine Steuerung mit Linux, im ST programmierbar.
Bild: Logi.cals Econ_100 von IXXAT

Die Bedeutung des Strukturierten Textes geht weit über einen Ersatz für die bisherige Anweisungsliste (AWL) hinaus und wird ebenso in Embedded-Lösungen angewendet. Aber auch Universal-Steuerungen (Standard- und Fail-Safe-Steuerungen in einer Plattform) nutzen den ST (auch als SCL oder STL bezeichnet) um flexible und leistungsfähige Lösungen zu realisieren. Die Hintergründe, Möglichkeiten und Anwendungen der Zukunft beschreibt dieser Artikel.

ST als Alternative zu AWL

Bisher war bei vielen Anwendungen die Anweisungsliste (AWL oder IL) der Standard zur Programmierung von Automatisierungsaufgaben. Diese Programmiersprache war Ende der 70ger Jahre entstanden und entwickelte sich bei den verschiedenen Herstellern in unterschiedlichen Dialekten angepasst auf die jeweilige Prozessorarchitektur. Nun bestehen die Aufgaben eines Steuerungssystems jedoch verstärkt in der Datenaufbereitung, Datenverarbeitung und Datenpräsentation, dieser Trend wird nochmals mit der Industrie 4.0-Thematik verstärkt. Bereits seit vielen Jahren bieten die wichtigsten Anbieter der Automatisierungstechnik den Strukturierten Text als Alternative zur Anweisungsliste (AWL) an. Dennoch hat sich die AWL sehr lange gehalten, da zahlreiche, erfahrene Programmierer der Automatisierungstechnik ein großes Wissen besitzen, um mit den unterschiedlichen Befehlen von AWL hardwarenah die unterschiedlichen Anforderungen abzudecken. Der Veränderungsprozess ist ähnlich wie in der klassischen Datenverarbeitung: Weg vom Assembler, hin zu Sprachen wie Fortran, C, Pascal oder Phyton (in der Embedded-Welt). Endgültig vorgegeben hat das Unternehmen Siemens diesen Weg als Marktführer in Europa mit der S7 1200. Diese Steuerung bietet SCL (ausgerichtet an ST), aber nicht mehr die AWL.

Bezeichnung IDE

Man kann Programmiersprachen nicht ohne die Entwicklungsumgebungen betrachten. Erst durch diese Werkzeuge mit ihren Editoren, Compilern und Inbetriebnahme-Werkzeugen wird die Verwendung einer Programmiersprache auf einer Steuerungsumgebung ermöglicht. Zahlreiche Steuerungsanbieter bauen auf das Codesys der Firma 3S in Kempten, das TIA Portal ist zwischenzeitlich der Standard für die Produkte des Unternehmens Siemens, Multiprog bzw. PCWorx werden von KW-Software angeboten und sind damit auch die Basis aller Phoenix Contact-Steuerungen. Doch diese Tools sind mehr als eine Programmierumgebung, denn sie ermöglichen neben der Programmierung der Steuerungen, die Identifikation und Definition der Netzwerke, Festlegung der Visualisierungen, Definition von projektübergreifenden Variablenstrukturen u.v.m. Diese Werkzeuge werden je nach Hersteller als Portal, Suite, Studio usw. genannt. Herstellerübergreifend bietet sich der Begriff IDE (Integrated Development Environment) an.

Begriffe SCL, ST, STL

Für den Strukturierten Text verwenden einige Hersteller unterschiedliche Bezeichnungen. Dahinter steht oft die Notwendigkeit Sonderentwicklungen und Ergänzungen realisieren zu können und nicht zu sehr von der Norm eingeengt zu werden. Das betrifft Siemens, hier wurde der Begriff SCL (Structured Control Language) verwendet und Pilz mit dem Begriff STL (Structured Text Language). Siemens hat sich stark an der Norm ausgerichtet, andererseits besteht immer die Notwendigkeit der Migrationsfähigkeit (eine Stärke der Automationslösungen des Unternehmens). Um die Durchgängigkeit innerhalb der Steuerungsgenerationen zu erhalten, wurden Anpassungen des ST vorgenommen, die durch den speziellen Namen abgedeckt sind. Pilz hatte das Problem, dass im Fail-Safe-Bereich einige Erweiterungen und einige Einschränkungen zwingend notwendig sind (LVL-Problematik), so dass eine begriffliche Abgrenzung notwendig ist. Die Abgrenzung wird durch STL deutlich. Im Unternehmen Pilz spricht man dafür von einer ST-Steuerung (Standard-Steuerung) und einem FS-Teil (Fail-Safe-Teil). Die Begriffe sind zu berücksichtigen, um Missverständnisse zu vermeiden.

Anwendung in der Automation

Einer der Hauptmotoren zur Umstellung auf den Strukturierten Text ist die S7 1200 von Siemens. Die Steuerung besitzt den Kontaktplan, Funktionsplan und SCL (entsprechend ST) als textbasierte Programmiersprache, die Anweisungsliste ist nicht mehr vorhanden. Gleichzeitig hat diese Steuerung für europäische Steuerungshersteller ein außergewöhnlich günstiges Preis-/Leistungsverhältnis. Sie dürfte im Bereich preissensibler Maschinen und Anlagen in der Kombination mit dem SCL kostengünstige und international wettbewerbsfähige Lösungen ermöglichen.

In der Embedded-Welt

Die drei wichtigen Anbieter von Entwicklungssystemen zur Automatisierungstechnik (3S mit Codesys, KW-Software mit Multiprog bzw. PC Worx und Logi.cals mit logi.CAD3) bieten Laufzeitsysteme (RunTime-Systeme, kurz RTS) für den Raspberry PI und damit im erweiterten Sinne für die gesamte Embedded-Steuerungswelt. Damit, dass eine Standard-SPS-Sprache, in die sich jeder C-Programmierer schnell hineinfindet, werden die Industriesteuerungen und Embedded-Steuerungen immer stärker verschmelzen.

In der Safe-Technology

Das Unternehmen Pilz/Ostfildern war ein Pionier in der Anwendung des ST (genauer: STL) in der Programmierung von sicherheitsrelevanten Aufgaben. Nun kann der Anwender bei jeder Aufgabe, in jeder Steuerungsumgebung (FS oder ST) selber entscheiden, ob der Funktionsplan oder der STL (Structured Text Language) angewendet wird. Das Steuerungskonzept PSS 4000 basiert auf einer Universal-Steuerung, d.h. es können nicht nur FailSafe-Aufgaben gelöst werden, sondern auch Standardprogramme werden auf der gleichen Steuerungsplattform, in dem gleichen Projektierungstool (PAS PilzAutomationSuite) beschrieben, abgearbeitet und in Betrieb genommen.

BASIC, C

Sondersteuerungen und Spezialentwicklungen, sowie auch Embedded-Lösungen werden in der Regel mit Textbasierten- oder Skript-Sprachen programmiert. Zu diesen Sondersteuerungen gehören spezielle, kostengünstige Positioniersteuerungen, Regelungen und allgemein Spezialsteuerungen, die mit einer Standard-SPS nicht abgedeckt werden können, oder bei denen der Markt aus Preisgründen ein fertiges Automatisierungssystem nicht zulässt. Teilweise sind Technologieunternehmen auch nicht bereit durch eine SPS ihr Know-How zugänglich zu machen. Hier werden C, BASIC, oder spezielle Dialekte (Phyton u.v.m.) eingesetzt. Wenn aber der Strukturierte Text auf entsprechenden Hardwareplattformen angewendet werden kann, entsteht eine neue Situation. Dann ist davon auszugehen, dass dennoch viele Spezialentwickler diese Möglichkeit im Hinblick auf eine Standardisierung nutzen werden.

Anforderungen an die Ausbildung

Eine neue Programmiersprache durchgängig in der Industrie zu installieren ist eine große Herausforderung an die Ausbildungseinrichtungen, die Hersteller von Steuerungen, wie auch die innerbetrieblichen Schulungseinrichtungen der Anwender. Sie betrifft nicht nur junge Einsteiger an den Hochschulen und Fachhochschulen sondern auch die erfahrenen Programmierer, die sich über Jahrzehnte mit der AWL ein umfangreiches Wissen erarbeitet haben, verbunden mit Anerkennung und Respekt in ihrem Unternehmen. Diese Mitarbeiter für diese neue Form der Programmierung zu gewinnen und ihre umfangreichen Erfahrungen weiter zu nutzen, wird eine wichtige Aufgabe in den technischen Abteilungen eines Unternehmens sein.

C-Control

Zur Ausbildung und Einarbeitung in das Thema 'Textbasierte Programmierung' (oder 'Skript- Programmierung') stehen am Markt sehr günstige Hardwareansätze zur Verfügung. Ein Beispiel von conrad elektronic/Hirschau ist das C-Control. Der spätere Übergang zu einem Industriegerät mit dem Strukturierten Text ist dann naheliegend.

ST (SCL, STL) kontra KOP, FUP oder SFC?

Mit dem 'Strukturierten Text' werden die grafischen Programmiersprachen nicht überflüssig und sie werden auch nicht ersetzt. Hier sollte immer noch der Satz der Ingenieurausbildung gelten: Die Sprache des Technikers ist die Zeichnung. Um eine Boolsche-Verknüpfung zu spezifizieren und durch Inbetriebnahme-Personal zu testen eignet sich hervorragend der Kontaktplan, zur Anwendung eines selbstgeschriebenen Funktionsbausteins (in ST, SCL oder STL) bietet sich der Funktionsplan an und um eine fachübergreifende Beschreibung eines funktionalen Ablaufes zu spezifizieren eignet sich ausgezeichnet die Ablaufsprache (SFC).

Zusammenfassung

Die Bedeutung des Strukturierten Textes geht über einen zeitgemäßen Ansatz zur Beschreibung von SPS-Programmen hinaus. Es bietet sich zukünftig eine Möglichkeit mit der gleichen Programmiersprache und der gleichen IDE eine Standard-SPS, ein Embedd-System wie auch ein FS-System zu programmieren. Damit vereinheitlichen sich die Softwarewerkzeuge, die Ausbildung und unterschiedliche Systeme (Standard-, Fail Safe-, Embedded-Systeme oder Universal-Steuerung) verschmelzen.