4
Fertigungs- & Maschinenautomation E21124Zsh Hofer Seite MF Heft 11/2012 Oft herrscht bei SPS-Programmieren noch Skepsis in Bezug auf objekt- orientierte Programmierung. Das ist auch kein Wunder, betreten sie damit doch quasi Neuland, da sie es gewohnt sind in Merkern, Bits und Bytes zu denken. Allerdings wünschen es sich immer mehr Auftraggeber die „Quasi- Hochsprache“ SCL anzuwenden. Viele kommen aus dem IT-Umfeld und können diese besser nachvollziehen. Zudem sprechen die zunehmenden Anforderungen der spezifizierten Nor- men für die verschiedensten Anwen- dungsbereiche der OOP, wie die Norm zum Thema funktionale Sicherheit im Maschinenbereich, die DIN EN 62061 (VDE 0113-50) [1]. Objektorientierte Motivationsebenen Dementsprechend tauchen die Fra- gen auf, ob man „Objektorientiertes Programmieren“ erlernen kann und wie sich eine Programmiersprache nach IEC 61131-3 [2] respektive DIN EN 61499-1 praktisch objektorientiert angewendet lässt? Dafür muss man sich zunächst klar machen, dass ob- jektorientiertes Denken nicht unbe- dingt eine Programmiersprache, son- dern eher das nötige Wissen über ob- jektorientiertes Design (OOD) und objektorientierte Programmierung (OOP) voraussetzt. Beispielhaft wird im Beiblatt 1 der DIN EN 61499-1 über die traditionel- len Ereignisfunktionsbausteine hinaus die textuelle Syntax als Empfehlung festgelegt und die objektorientierte Entwicklung in mehrfacher Form deut- lich hervorgehoben. Dementsprechend kann die berechtigte Anwendung für das OOD den verteilten Systemen und deren Systemintegration zugeordnet werden. OOP soll dafür sorgen, dass die Komponenten des Programms hohe Zuverlässigkeit und Wartbarkeit sowie die Wiederverwendung durch die Im- plementierung garantieren. Ein SPS- Programmierer wird demnach wohl 2 Objektorientiert programmieren mit dem TIA Portal Eine SPS ist prädestiniert, einen qualitativ hohen Standard zu garantieren, und wird deshalb häufig im Umfeld der Prozessindustrie sowie grundsätzlich dort eingesetzt, wo die Vielfältigkeit und Komplexibilität technischer Systeme existieren. Da der Ruf nach einer modernen, nachvoll- ziehbaren Software immer lauter wird, ist die Forderung nach einer objektorientierten Programmierung (OPP) auch bei einer SPS nicht ungewöhnlich. Im IT-Bereich hat sich das Konzept bereits millionenfach bewährt. Höchste Eisenbahn also, dies auch in der SPS-Welt nachzuholen. Johannes Hofer Bild 1. Der Funktionsbaustein bildet als Multiinstanz die Basis der Beziehungen zwischen Objekten

Objektorientiert programmieren mit dem TIA · PDF fileFertigungs- & Maschinenautomation 4 E21124Zsh Hofer Seite MF Heft 11/2012 • mehr in Richtung OOP marschieren und die Objekte

Embed Size (px)

Citation preview

Page 1: Objektorientiert programmieren mit dem TIA · PDF fileFertigungs- & Maschinenautomation 4 E21124Zsh Hofer Seite MF Heft 11/2012 • mehr in Richtung OOP marschieren und die Objekte

Fertigungs- & Maschinenautomation Fertigungs- & Maschinenautomation

E21124Zsh Hofer Seite MF

Heft 11/2012 •

Oft herrscht bei SPS-Programmieren noch Skepsis in Bezug auf objekt-orientierte Programmierung. Das ist auch kein Wunder, betreten sie damit doch quasi Neuland, da sie es gewohnt sind in Merkern, Bits und Bytes zu denken. Allerdings wünschen es sich immer mehr Auftraggeber die „Quasi-Hochsprache“ SCL anzuwenden. Viele kommen aus dem IT-Umfeld und können diese besser nachvollziehen. Zudem sprechen die zunehmenden Anforderungen der spezifizierten Nor-

men für die verschiedensten Anwen-dungsbereiche der OOP, wie die Norm zum Thema funktionale Sicherheit im Maschinenbereich, die DIN EN 62061 (VDE 0113-50) [1].

Objektorientierte Motivationsebenen

Dementsprechend tauchen die Fra-gen auf, ob man „Objektorientiertes Programmieren“ erlernen kann und wie sich eine Programmiersprache nach IEC 61131-3 [2] respektive DIN

EN 61499-1 praktisch objektorientiert angewendet lässt? Dafür muss man sich zunächst klar machen, dass ob-jektorientiertes Denken nicht unbe-dingt eine Programmiersprache, son-dern eher das nötige Wissen über ob-jektorientiertes Design (OOD) und objektorientierte Programmierung (OOP) voraussetzt.

Beispielhaft wird im Beiblatt 1 der DIN EN 61499-1 über die traditionel-len Ereignisfunktionsbausteine hinaus die textuelle Syntax als Empfehlung festgelegt und die objektorientierte Entwicklung in mehrfacher Form deut-lich hervorgehoben. Dementsprechend kann die berechtigte Anwendung für das OOD den verteilten Systemen und deren Systemintegration zugeordnet werden. OOP soll dafür sorgen, dass die Komponenten des Programms hohe Zuverlässigkeit und Wartbarkeit sowie die Wiederverwendung durch die Im-plementierung garantieren. Ein SPS-Programmierer wird demnach wohl

2

Objektorientiert programmieren mit dem TIA Portal

Eine SPS ist prädestiniert, einen qualitativ hohen Standard zu garantieren, und wird deshalb häufig im Umfeld der Prozessindustrie sowie grundsätzlich dort eingesetzt, wo die Vielfältigkeit und Komplexibilität technischer Systeme existieren. Da der Ruf nach einer modernen, nachvoll­ziehbaren Software immer lauter wird, ist die Forderung nach einer objektorientierten Programmierung (OPP) auch bei einer SPS nicht ungewöhnlich. Im IT­Bereich hat sich das Konzept bereits millionenfach bewährt. Höchste Eisenbahn also, dies auch in der SPS­Welt nachzuholen.

Johannes Hofer

Bild 1. Der Funktionsbaustein bildet als Multiinstanz die Basis der Beziehungen zwischen Objekten

Page 2: Objektorientiert programmieren mit dem TIA · PDF fileFertigungs- & Maschinenautomation 4 E21124Zsh Hofer Seite MF Heft 11/2012 • mehr in Richtung OOP marschieren und die Objekte

Fertigungs- & Maschinenautomation Fertigungs- & Maschinenautomation

3

E21124Zsh Hofer Seite MF

• Heft 11/2012

Page 3: Objektorientiert programmieren mit dem TIA · PDF fileFertigungs- & Maschinenautomation 4 E21124Zsh Hofer Seite MF Heft 11/2012 • mehr in Richtung OOP marschieren und die Objekte

Fertigungs- & Maschinenautomation

4

E21124Zsh Hofer Seite MF

Heft 11/2012 •

mehr in Richtung OOP marschieren und die Objekte erlernen müssen, welche sowohl die Schnittstellen in-nerhalb des Programms als auch die Kommunikation der Systeme model-lieren.

Das TIA Portal als FrameworkDie Grundlagen für ein Anwender-

programm nach den Vorgaben aus dem OOD und der OOP zu erstellen, erfordert ein Softwarewerkzeug mit den Fähigkeiten, wie es das TIA Portal von Siemens [4] bietet. Schließlich sind die Anwendung der Bibliotheken, die Erstellung von FC- und FB-Kompo-nenten (Bild 1) sowie die Möglichkeit Daten zu kapseln und die Beziehun-

gen der so entstehenden Objekte letzt-endlich mit PLCSIM zu testen, gege-ben. Durch die Anwendung der textu-ellen Syntax SCL ist der Umgang mit den Datentypen und deren Deklara-tionen besonders elegant. Mit den ANY-Pointer ist das Objekt, beispiels-weise durch die Sicht auf Daten, ent-sprechend anpassbar. Sogar eine dy-namische Speicherverwaltung ist so möglich, obwohl dies nur den Hoch-sprachen wie C++ zugedacht war [5].

Auch schwierige Themen, wie die Polymorphie werden im TIA Portal un-ter Anwendung der Ableitung objekt-orientiert betrachtet und erfolgreich angewendet, obwohl ihre Anwendung in der SPS-Welt so gut wie nicht be-kannt war. Die gewohnte prozedurale Programmierung aus der Vorgänger-version des Simatic- Managers lässt sich durch den neuen Editor, Schritt für Schritt vom Anwender gesteu-ert, in die moderne, objektorientierte Implementierung transferieren. Der SPS-Programmierer wird so von tra-ditionellen Stil sanft übergeleitet, was es ihm erleichtert die neuen Techniken zu erlernen und anzuwenden.

UML für SPS­ProgrammiererUm den normgerechten Standards

und Systemen gerecht zu werden, müssen engagierte SPS-Techniker nur einen begrenzten Teil der umfangrei-chen Möglichkeiten zum OOD und der OOP erlernen. Ein einfach zu erler-nendes Designwerkzeug, wie Enter-prise Architekt (EA), ist ausreichend, um Diagramme lesen und verstehen zu können (Bild 2). Schließlich ist es das Ziel, die gestellten Aufgaben durch die Umsetzung von strukturier-tem Text (ST) in die grafische Model-lierungssprache Unified Modeling Language (UML) mit dem TIA Portal erfolgreich zu gestalten und – ganz wichtig – zu dokumentieren. Schließ-lich ist eine nicht geplante Software später ein Zufallsprodukt, welches so den heutigen Stand der Technik nicht mehr erfüllt.

Trotzdem entstehen immer noch viele Missverständnisse, wenn man das Thema UML mit Entwicklern aus der SPS-Welt diskutiert. Viele denken immer noch, dass eine graphische Programmierung mit einer SPS nicht möglich sei. Die Normen zeigen aller-

Bild 2. Ein UML-Designwerkzeug, wie Enterprise Architekt, hilft dabei, das Lesen und das Verstehen von existierenden Diagrammen zu erlernen

Johannes Hofer ist als Senior Consultant bei einem Softwarehaus

in Landau tätig.

E-Mail: [email protected]

Page 4: Objektorientiert programmieren mit dem TIA · PDF fileFertigungs- & Maschinenautomation 4 E21124Zsh Hofer Seite MF Heft 11/2012 • mehr in Richtung OOP marschieren und die Objekte

Fertigungs- & Maschinenautomation

5

E21124Zsh Hofer Seite MF

• Heft 11/2012

dings Lösungen auf und geben Empfehlungen, um neue und moderne Wege zu entdecken und anzuwenden, sodass auch der SPS-Programmierer OOP mit Hochsprachen als positive Alternative empfindet. Allerdings muss ein Ent-wickler bei der Umsetzung noch sehr viel selbst erstellen, da die Compiler/Editoren noch nicht alle objektorientiert umwandeln können. Aber auch diese Herausforderung der neuen SPS-Welt werden die Programmierer meistern können.

Literatur[1] DIN EN 62061 (VDE 0113-50):2005-10 Sicherheit von Maschinen –

Funktionale Sicherheit sicherheitsbezogener elektrischer, elektroni-scher und programmierbarer elek tronischer Steuerungssysteme. Berlin · Offenbach: VDE VERLAG

[2] IEC 61131-3:2003-01 Programmable con trollers – Part 3: Program-ming languages. Genf/Schweiz: Bureau Central de la Comission Electrotechnique Internationale

[3] DIN EN 61499-1:2006-06 Funktionsbausteine für industrielle Leit-systeme – Teil 1: Architektur. Berlin: Beuth

[4] Siemens AG, München: www.siemens.de[5] Hofer, J.: SCL und OOP mit dem TIA Portal V11 – Ein Leitfaden für

eine objektorientierte Arbeitsweise. Berlin · Offenbach: VDE VERLAG, 2012 (ISBN 978-3-8007-3436-8)

n

Mit dem Engineering-Frame-work TIA Portal von Siemens lassen sich alle Planungs- und Produktionsprozesse für aufga-benorientierte Anwendungen von einem einzigen Bildschirm aus gestalten. Es ermöglicht beispielsweise die prozedurale Programmierung mit Step 7 V11. Dieser Stil wird in der Praxis bis heute noch weltweit angewendet, obwohl mittlerweile auch bei

vielen SPS-Programmierern der Wunsch nach einer objekt-orientierten Programmierung (OOP) besteht.

Das Buch „SCL und OOP mit dem TIA Portal V11“ zeigt, wie man Funktionsbausteine unter den Paradigmen der OOP implementieren kann. Weitere Themen sind andere Merkmale der Datenkapselung, Interface-Vererbung und Polymorphie.

Nach einem Schnelleinstieg in das TIA Portal und das UML-Framework Enterprise Architect, werden dem Leser schrittweise die Sprachelemente zu SCL (Structured Control Language) vorgestellt und für die Anwendung der OOP ver-traut gemacht. Grundlagen zur Programmierung werden in den Kapiteln erklärt und erfordern nur die Kenntnisse der allgemeinen Programmierung in AWL oder FUP/KOP. Zum einfachen Verständnis werden gezielt zahlreiche Beispiele getestet und erläutert.

Hofer, J.: SCL und OOP mit dem TIA Portal V11 – Ein Leit-faden für eine objektorientierte Arbeitsweise. Berlin · Offen-bach: VDE VERLAG, 2012 (ISBN 978­3­8007­3436­8)

Leitfaden zum objektorientierten Arbeiten