SPS-Program­mie­rung

Appli­ka­tions- und Frame­work­ent­wick­lung nach IEC 61131–3

iTE SI - SPS-Programmierung - Wolfram Schäfer

„Vor zwanzig Jahren habe ich unser Unter­nehmen gegründet, um anspruchs­volle Software mit Hochspra­chen und durch­dachter Archi­tektur für komplexe, varian­ten­reiche Maschinen und Anlagen zu entwi­ckeln. Im Maschi­nenbau wird diese Anfor­de­rung an die Flexi­bi­lität bei gleich­zei­tiger Wirtschaft­lich­keit durch die Modula­ri­sie­rung gelöst. In der Software­ent­wick­lung wenden wir genau das gleiche Prinzip an, um wirtschaft­lich flexibel und schnell quali­tativ hochwer­tige Software­lö­sungen zu erstellen. Die Prinzi­pien der objekt­ori­en­tierten Program­mie­rung (OOP) sind dafür beson­ders gut geeignet.

Seit über zwölf Jahren setzen wir deshalb die Prinzi­pien der OOP, der Conti­nuous Integra­tion (CI) und des Conti­nuous Deploy­ments (CD) in der Program­mie­rung von speicher­pro­gram­mier­baren Steue­rungen (SPS) sehr erfolg­reich ein. Damit entstehen mecha­tro­ni­sche Systeme, die die Vorteile der SPS mit denen aus der Hochspra­chen­ent­wick­lung kombi­nieren. Durch die Schaf­fung von Frame­works können wir viel schneller und agiler Appli­ka­tionen für unter­schied­liche Maschinen und Baureihen reali­sieren. Damit entsteht Software, die hinsicht­lich der nicht-funktio­nalen Quali­täts­kri­te­rien und den Anfor­de­rungen durch Indus­trie 4.0 gerecht wird. Die Software ist erwei­terbar, wartbar und vor allem wieder­ver­wendbar. Mittel­fristig zahlt sich dieses Vorgehen im Maschi­nenbau mit modularen Maschi­nen­kon­zepten immer aus.

Wir unter­stützen Sie bei der Erstel­lung solcher Frame­works und bei der Reali­sie­rung konkreter Appli­ka­tionen für Ihre Maschinen und Anlagen mit SPS. Dabei ist TwinCat3 von Beckhoff als sehr offenes und software­ge­trie­benes System unsere erste Präfe­renz.“

Wolfram Schäfer

Heraus­for­de­rungen bei der SPS Program­mie­rung – nicht erst durch Indus­trie 4.0

Die speicher­pro­gram­mier­bare Steue­rung (SPS, bzw. PLC, englisch Programm­able Logic Controller) wird in der Automa­ti­sie­rungs­technik für Steue­rungs- und Regelungs­auf­gaben überall dort einge­setzt, wo Prozesse automa­ti­siert werden. Sie stellt eine offene und univer­selle Automa­ti­sie­rungs­lö­sung für nahezu alle Branchen und Anwen­dungen dar: Maschi­nenbau, Holzbe­ar­bei­tungs­ma­schinen, Verpa­ckungs­ma­schinen, Blech­be­ar­bei­tung, Werkzeug­ma­schinen, Anlagenbau, Monta­ge­au­to­ma­tion, Gebäude- und Förder­technik bis zu Verkehrs­leit­sys­temen.

Die Heraus­for­de­rung beim Einsatz dieser Maschinen ergibt sich durch die Verän­de­rung der etablierten Rahmen­be­din­gungen, die sich immer dynami­scher entwi­ckeln. Indus­trie 4.0 ist dabei ein zentraler Produk­ti­vi­täts­treiber mit dem Ziel, indivi­du­elle, varian­ten­reiche und auf Kunden­wunsch gefer­tigte Produkte bis zur Losgröße 1 zu Kosten wie in einer Massen­pro­duk­tion herstellen zu können.

 

Dafür müssen die klassi­sche Produk­ti­ons­technik und die Infor­ma­tions- und Kommu­ni­ka­ti­ons­tech­no­logie viel enger mitein­ander vernetzt werden als bisher. Anbieter müssen ihre Maschinen zu anderen Anlagen und Infor­ma­ti­ons­sys­temen „öffnen“, Prozess­in­for­ma­tionen zur Verfü­gung stellen bzw. verar­beiten können. Dadurch entsteht eine ungeheure Dynamik. Ebenso geraten Ferti­gungs­un­ter­nehmen unter Druck, ihre Produk­ti­vität weiter zu steigern, um keine Kosten­nach­teile zu haben. Das sind ungewohnte Heraus­for­de­rungen, aber vor allem große Chancen für jene, die das erkannt haben und aktiv werden.

Wir können Ihnen aufzeigen, wie das bei Maschinen und Anlagen mit SPS geht und Sie bei der Umset­zung unter­stützen!

Einschrän­kungen bei der „klassi­schen“ Program­mie­rung von SPS Steue­rungen

In nahezu allen etablierten Einsatz­be­rei­chen von speicher­pro­gram­mier­baren Steue­rungen (SPS) spielt die Flexi­bi­lität beim Aufbau einer modularen System­s­truktur eine wichtige Rolle: bei der Auswahl der Steue­rung selbst und der Baugruppen, von der Sensorik über die Aktorik bis hin zur Antriebs­technik. Diese Flexi­bi­lität wird immer mehr auch über den gesamten Produkt­le­bens­zy­klus einer Maschine bzw. Anlage bzw. für alle im Produkt­pro­gramm befind­liche Typen inner­halb von Baureihen gefor­dert. Die Einsatz­sze­na­rien (z. B. herzu­stel­lende Produkte, Absatz­mengen, Produkt­va­ria­tionen) und Anfor­de­rungen (z. B. techni­sche, logis­ti­sche und sicher­heits-/recht­liche) ändern sich in immer kürzeren Zeiträumen.

 

Die modulare Hardware- und System­s­truktur der SPSen bietet für diese Anfor­de­rungen eine gute Grund­lage. Doch was ist mit der Software? In der klassi­schen Form der Program­mie­rung von SPS Steue­rungen wird häufig das Haupt­au­gen­merk auf die Erfül­lung funktio­naler Anfor­de­rungen gelegt. Das ist richtig und wichtig, aber eigent­lich selbst­ver­ständ­lich. Die oftmals auch als nicht­funk­tio­nale Anfor­de­rungen bezeich­neten Quali­täts­kri­te­rien Wartbar­keit, Erwei­ter­bar­keit und dadurch auch Wieder­ver­wend­bar­keit werden bei der „klassi­schen“ Program­mie­rung oftmals vernach­läs­sigt.

 

Typische Probleme, wenn nicht-funktio­nale Anfor­de­rungen außer Acht gelassen werden:

Lösungs­stra­tegie: Erfül­lung von „nicht-funktio­nalen Anfor­de­rungen“

Anwendung des agilen Vorgehensmodells SCRUM

Strukturiertes und Tool-gestütztes Vorgehen bei der Softwareentwicklung

In der täglichen Arbeit haben sich folgende Methoden und Werkzeuge bewährt:

Konti­nu­ier­liche und automa­ti­sierte Prüfung des erstellten bzw. geänderten Source-Codes:

  • Ständige Verfüg­bar­keit eines ausführ­baren Systems
  • Frühzei­tiges Erkennen zur Lösung von Problemen bei der Integra­tion
  • Steige­rung der Effizienz bei der Software­ent­wick­lung
  • Durch­füh­rung von automa­ti­sierten Tests (Unit-/ Regres­sions-Tests)

Stati­sche Code-Analyse: Methode zur Bewer­tung des Source-Codes nach formalen Quali­täts­kri­te­rien

  • Erkennen von Fehlern bereits vor dem Testlauf
  • Verbes­se­rung der „Güte“ des Source-Codes
  • Erleich­te­rung der Wartbar­keit und Wieder­ver­wend­bar­keit von Programmen

Code-Review ist die effizi­en­teste Methode, um die Software­qua­lität nachhaltig zu steigern. Die ständige Analyse des Source-Codes ermög­licht dem Entwickler eine itera­tive Optimie­rung.
Review des Source-Codes nach dem „Vier-Augen-Prinzip“ durch andere Entwickler

  • Berück­sich­ti­gung & Steige­rung nicht-funktio­naler Quali­täts­merk­male
  • Effizi­ente Möglich­keit zur Einbin­dung von Kompe­tenzen anderer Entwickler
  • Erzie­lung einer wartbaren und erwei­ter­baren Software

Effek­tive Unter­stüt­zung einer verteilten, dezen­tralen Arbeits­weise

  • Unabhän­giges Arbeiten an gleicher Software­ver­sion möglich
  • Software­ent­wick­lung und
  • Anpas­sung auch an externen Stand­orten (z. B. vor Ort beim Kunden)
  • Spätere Versio­nie­rung der Änderungen und Tool-gestützte Zusam­men­füh­rung im zentralen Reposi­tory

Vorteile durch die Erfül­lung nicht-funktio­naler Anfor­de­rungen

Wartbar­keit

Möglich­keit der leichten Anpas­sung der Software ohne großen Aufwand an geänderte Spezi­fi­ka­tionen

Erwei­ter­bar­keit

Möglich­keit der leichten Ergän­zung der Software an erweiterte/ neue Anfor­de­rungen (z. B. Funktionen, Maschinen-/ Steue­rungs­um­ge­bung)

Wieder­ver­wend­bar­keit

Verwen­dung von Softwarebau­steinen für mehrere Maschinen/ Baureihen, Anlagen bzw. Projekte

Refac­to­ring

Struk­tur­ver­bes­se­rung von Quell­texten unter Beibe­hal­tung des bishe­rigen Programm­ver­hal­tens

Restruk­tu­rie­rung

Anpas­sung der Software bzw. von Modulen an neue Techno­lo­gien

Objekt­ori­en­tierte Program­mie­rung (OOP): Perfekt für speicher­pro­gram­mier­bare Steue­rungen (SPS)

Die OOP hat ihren Ursprung in der Hochspra­chen­ent­wick­lung. Bei der OOP werden zusam­men­ge­hö­rige Daten sowie die auf sie anwend­baren Opera­tionen in Objekten zusam­men­ge­fasst. Anstelle der Abfolge von Befehlen werden vorrangig die Defini­tion der Objekte sowie ihrer Inter­ak­tionen behan­delt. Und genau durch dieses Merkmal ergeben sich zentrale Vorteile bei der Erstel­lung, Verwen­dung und Pflege modularer Softwarebau­steine für SPS.

Frame­work: Eine effizi­ente Methode bei der objekt­ori­en­tierten Program­mie­rung

Das Frame­work ist ein Program­mier­ge­rüst, das insbe­son­dere bei der OOP verwendet wird. Es stellt selbst kein fertiges Programm dar, sondern bildet für den Software­ent­wickler einen vorpro­gram­mierten Rahmen, inner­halb dessen die Anwen­dungen erstellt werden. Einzelne Funktionen, Elemente und Bausteine sind bereits im Frame­work enthalten und müssen deshalb nicht immer wieder neu program­miert werden. Bei der Programm­ent­wick­lung für SPS ergeben sich daraus mittel- bis langfristig unschätz­bare Vorteile. Ein verbrei­tetes Frame­work in der Micro­soft Welt ist beispiels­weise das „.NET Frame­work“, das Entwick­lungs­werk­zeuge, Schnitt­stellen und Klassen­bi­blio­theken enthält.

Schon ab einer Wieder­ver­wen­dungs­rate von 3 lohnt sich auch für die SPS Program­mie­rung die Entwick­lung eines eigenen firmen- bzw. domänen­spe­zi­fi­schen Frame­works um darauf aufbauend varian­ten­reiche Appli­ka­tionen reali­sieren zu können.

Frame­works bieten große Vorteile bei der Software­ent­wick­lung:

Program­mie­rung der SPS nach IEC 61131–3

Die Norm IEC 61131–3 (auch DIN EN 61131–3) ist ein inter­na­tio­naler Standard für Program­mier­spra­chen von speicher­pro­gram­mier­baren Steue­rungen. Ihr haupt­säch­li­ches Ziel besteht in der Standar­di­sie­rung der Program­mie­rung der Steue­rungs­soft­ware für SPSen. Dabei sollen Program­mier­spra­chen herstel­ler­un­ab­hängig in einem einheit­li­chen Organi­sa­ti­ons­kon­zept (POE – Programm-Organi­sa­ti­ons­ein­heiten) mit der Pflicht zur Varia­blen­de­kla­ra­tion unter Verwen­dung von elemen­taren und abgelei­teten Daten­typen angewendet werden.

Zur Erstel­lung der Steue­rungs­pro­gramme für SPS stehen fünf Program­mier­spra­chen zur Verfü­gung

Weitere Merkmale aus der Norm IEC 61131–3 sind: anbie­ter­un­ab­hän­giger Program­mier­stan­dard, PLCopen-Zerti­fi­zie­rung, portable/ wieder­ver­wend­bare Software, Daten­kap­se­lung durch benut­zer­de­fi­nierte Daten­typen.

Weitver­brei­tete Entwick­lungs­um­ge­bungen für speicher­pro­gram­mier­bare Steue­rungen

Exkurs: Entwick­lungs­um­ge­bung TwinCAT3 von Beckhoff

TwinCAT3 (TwinCAT – The Windows Control and Automa­tion Techno­logy) ist eine komplette Entwick­lungs­um­ge­bung für Steue­rungen und Bausteine von Beckhoff. Es ermög­licht dem SPS-Program­mierer einen einfa­chen Einstieg in die mächtigen Sprach­mittel der IEC 61131–3. Die Benut­zung der Editoren und der Debug­ging-Funktionen hat die ausge­reiften Entwick­lungs­um­ge­bungen höherer Program­mier­spra­chen zum Vorbild. Beckhoff bietet damit ein sehr offenes und software­ge­trie­benes System an.

TwinCAT3 unter­stützt alle in der IEC 61131–3 beschrie­benen Sprachen. Es gibt zwei textu­elle Sprachen und drei grafi­sche Sprachen:
Textu­elle Sprachen: Anwei­sungs­liste (AWL), Struk­tu­rierter Text (ST)
Grafi­sche Sprachen: Funkti­ons­plan (FUP), Kontakt­plan (KOP), Freigra­fi­scher Funkti­ons­pla­neditor (CFC), Ablauf­sprache (AS)

TwinCAT3 bietet auch die Möglich­keit der Verwen­dung der leistungs­starken Program­mier­sprache C++: objekt­ori­en­tierte Program­mier­sprache, Echtzeit-Fähig­keit.

Unsere Empfeh­lung: Aus jahre­langer Erfah­rung präfe­riert iT Enginee­ring Software Innova­tions bei speicher­pro­gram­mier­baren Steue­rungen (SPS) die Systeme von Beckhoff.

Was bei der Software­ent­wick­lung für speicher­pro­gram­mierte Steue­rungen (SPS) zu beachten ist

Die virtu­elle Inbetrieb­nahme (VIBN) – damit errei­chen Sie mit Ihrer SPS das nächste Level.

 

Laptop zeigt virtuelles Modell einer Maschine als Symbol für virtuelle Inbetriebnahme

Unser Angebot

Wir unter­stützen Sie bei allen Ihren Projekten der Program­mie­rung für speicher­pro­gram­mier­bare Steue­rungen (SPS). Dabei bringen wir unsere gesamte, jahrzehn­te­lange Erfah­rung aus der Software­ent­wick­lung im Hochspra­chen­be­reich mit dem objekt­ori­en­tierten Ansatz (OOP) ein. Wir können für Sie profes­sio­nelle Frame­works entwi­ckeln und warten sowie anspruchs­volle Appli­ka­tionen nach IEC 61131–3 program­mieren. Dafür bieten wir Ihnen Know-how, Kapazität und Erfah­rungen aus den unter­schied­lichsten Anwen­dungen und Branchen. Dadurch profi­tieren Sie auch im Bereich von SPS-Anwen­dungen durch Wartbar­keit, Erwei­ter­bar­keit und Wieder­ver­wend­bar­keit. Damit sind Sie mit profes­sio­nellen Lösungen optimal für die Heraus­for­de­rungen durch Indus­trie 4.0 aufge­stellt, um indivi­duell, flexibel und agil auf neue Entwick­lungen und Trends reagieren zu können.

Scroll to Top

Das ist ein Test

Unser Partner xy...