Fachverlag x-technik
search
 

Schließen


Um Klassen effizienter entwickeln

: Sigmatek


In Zeiten kürzer werdender Entwicklungszeiten ist Effizienz nicht nur in der fertigen Automatisierungslösung gefragt, sondern ein entscheidender Wettbewerbsvorteil bereits in der Softwareentwicklung...

5893
...Diese – und dazu die Möglichkeit, durch modularen Aufbau der Automatisierungssoftware einmal entwickelte Lösungen mit wenig Aufwand kundenindividuell anzupassen, wird mit objektorientierter statt sequenzieller Programmierung erreicht. Mit LASAL bietet Sigmatek eine Entwicklungsumgebung, die auf Basis von Softwareklassen von der Projektierung bis zur Detailprogrammierung komfortabel und effizient alle Ebenen des Entwicklungsprozesses einschließt.

Entwickler von Maschinen und Anlagen - und damit von Automatisierungslösungen - stehen unter enormen Innovationsdruck. Immer kürzer werdende Entscheidungszeiträume für Großinvestitionen machen die Time to Market, also das Erreichen der Entwicklungsziele in kurzer Zeit, zum entscheidenden Kriterium für Erfolg oder Misserfolg. Zudem werden auch Serienmaschinen zunehmend individueller, sodass man in der Branche von „Stückzahl 1“ spricht.

Um diesen Anforderungen zu genügen, geht die Entwicklung zwei Wege: Zum einen werden Maschinen und Anlagen modular aufgebaut, um wie bei einem Baukastensystem durch Weglassen oder Austausch von Komponenten rasch ein den jeweiligen Anforderungen optimal angepasstes Ergebnis zu erzielen, zum anderen wird eine möglichst große Durchgängigkeit der Lösung ohne Systembruch von der Projektierung der Gesamtanlage bis hinunter in die kleinste Komponente angestrebt. Nur so können Kompatibilitätsprobleme der einzelnen Baugruppen untereinander vermieden und das Ergebnis als Gesamtwerk bereits während der Entwicklung überprüft werden. Das gilt für die mechanische Entwicklung aber auch und in besonderem Maß für die Entwicklung der Steuerungs- und
Automatisierungssoftware.

Modularität als Prinzip

Während in anderen Branchen der Softwareentwicklung bereits vor etwa 15 Jahren eine Abkehr von strikt sequenzieller Programmierung erfolgte, prägte im naturgemäß konservativeren Maschinen- und Anlagenbau noch bis vor kurzem die klassische SPS-Programmierung das Denken vieler Steuerungsentwickler. Das ändert sich, seit objektorientierte Programmierung auch in die Steuerungstechnik Einzug hält.

Als erster Anbieter in diesem Bereich hat Sigmatek bereits vor einigen Jahren mit der Projektierungssoftware LASAL die objektorientierte Programmierung mit grafischer Darstellung der Codeblöcke und modularem Aufbau in die Steuerungstechnik übertragen. Nun stellte der Automatisierungssystemhersteller aus Lamprechtshausen bei Salzburg die zweite Version von LASAL CLASS vor, die mit noch größerer Übersichtlichkeit und Durchgängigkeit zur weiteren Effizienzsteigerung in der Softwareentwicklung beiträgt und zudem die Verarbeitungsgeschwindigkeit maximiert.

Grundprinzip des Projektierungs- und Softwareentwicklungstools ist eine durchgängige Modularität der einzelnen Programmblöcke von der untersten Ebene der einzelnen Funktion bis hinauf zum Gesamtprojekt. Dieses entsteht durch hierarchische Gruppierung und Verbindung von Programmobjekten wie in einem Baukastensystem. Das sorgt für Übersichtlichkeit und zwingt zu strukturierter Software-Entwicklung. Der gefürchtete „Spaghetti-Code“ kann gar nicht entstehen, dennoch ist eine hohe Performance im fertigen System gewährleistet.

Objekte, Klassen, Bibliotheken, Clients und Server

Zunächst ein paar Begriffsbestimmungen für diejenigen, die mit der Sprache der objektorientierten Programmierung noch nicht so vertraut sind:

Klassen sind fertige, in sich abgeschlossene (gekapselte) Programmbausteine oder Vorlagen, deren innerer Programmcode eine bestimmte Funktionalität repräsentiert. Zwecks besserer Übersichtlichkeit und Wiederverwendbarkeit in unterschiedlichen Projekten oder Systemteilen werden Klassen in sogenannten Klassenbibliotheken verwaltet. Selbstverständlich sind in LASAL bereits vom Hersteller aus umfangreiche Bibliotheken mit gängigen Funktionsklassen enthalten.

Beim Aufbau eigener Klassen herrscht eine große Freizügigkeit bezüglich der Programmierung. Structured Text (ST) kann ebenso verwendet werden wie Anweisungsliste (AWL), Kontaktplan (KOP) nach IEC 61131-3 oder direkte Programmierung in ANSI-C.

Objekte sind Bausteine, die vom Softwareentwickler durch individuelle Parametrierung und durch Verbindung von und zu anderen Objekten mit einem eigenständigen Verhalten versehen wurden. Objekte entstehen aber nicht nur durch Parametrierung und Verbindung von Klassen, sondern auch durch Zusammenfassung mehrerer Objekte und/oder Klassen zu größeren Blöcken. Dabei können die Klasseneigenschaften jedes Objekts „vererbt“ werden. So kann jede hierarchische Programmebene die Eigenschaften der untersten Ebene nutzen, aber auch verändern.

Sind komplexe Objekte oder Klassen mit ihren enthaltenen Klassen fertig gestellt und in sich getestet, genügt es, nur die Gesamtobjekte mit den relevanten Schnittstellen nach außen zu betrachten. Auf diese Weise können hoch komplexe Programmstrukturen modelliert und programmiert werden, ohne in das Innere der bewährten Komponenten eingreifen zu müssen. Das ist besonders dann hilfreich, wenn Techniker zur Inbetriebnahme und Einstellung einer Anlage verwendete
Objekte parametrieren und verknüpfen, nicht aber deren inneres Verhalten verändern sollen.

Die Kommunikation der einzelnen Softwarebausteine untereinander erfolgt nach dem Prinzip von Client und Server. Dabei fordert der Client als aktiver Teil der Kommunikation vom Server Information an, die dieser passiv zur Verfügung stellt. Diese Methode ist dafür verantwortlich, dass im Vergleich zu konventionellen Systemen CPU-Leistung eingespart werden kann. Das deshalb, weil Bausteine event-getriggert arbeiten können, also nur dann, wenn sie durch ein äußeres Ereignis wie das Schreiben eines Sollwerts durch die Visualisierung angestoßen werden, während sie dazwischen „schlafen“ und keine Leistung verbrauchen.

Top-Down Entwicklung

Die eigentliche Mächtigkeit von LASAL CLASS liegt in der Möglichkeit, die Projektentwicklung „von oben nach unten“ zu betreiben. Damit ist der Projektleiter in der Lage, die gesamte Automatisierungslösung zu projektieren und damit wesentliche Teile der Systementwicklung im selben Zug durchzuführen, auch wenn noch nicht alle später benötigten Programmteile existieren. Zum Vorteil, dass nicht in der Softwareentwicklung die Projektierungsabsicht später zeitaufwändig nachvollzogen werden muss, kommt die frühzeitige Überprüfbarkeit der Gesamtfunktionalität.

Praktisch geschieht das durch Erstellung einer Baumstruktur, in die vorhandene oder vorerst leere, aber definierte Klassen eingehängt werden. Die von LASAL selbstständig aus der Struktur abgeleitete Klassendefinition ist die Vorgabe für die einzelnen Entwickler, die anschließend die leeren Blöcke mit Funktion füllen. Hilfreich ist dabei auch die Reichhaltigkeit der mitgelieferten Bibliotheken, die Klassen für Betriebssystemfunktionen, Hardwarezugriffe und Standardklassen wie PID-Regler oder Data Logger gebrauchsfertig zur Verfügung stellen. Noch nicht fertig gestellte Systemteile können mit LARS, einem windows-basierten Simulationstool, simuliert werden. So muss mit Tests fertig gestellter Softwarekomponenten
nicht auf das Vorhandensein sämtlicher Teile gewartet werden, was die Entwicklungszeit weiter verkürzt.

Aus fertigen Bausteinen können mit LASAL CLASS vollautomatisch Projekte erstellt oder Anwendungen parametriert werden. Dazu bedient sich die Software der standardisierten Scriptsprache Python. Mittels verhältnismäßig einfacher Scripts können so auf Knopfdruck abgestimmte Softwareversionen für unterschiedliche Ausstattungsvarianten oder Ausprägungen für kundenspezifisch angepasste Serienmaschinen entstehen, ohne dafür einerseits die Softwareentwicklung selbst zu bemühen oder andererseits ein Risiko bei der Funktion eingehen zu müssen.

Wichtig ist in jeder Softwareentwicklung, auch bei objektorientierter Programmierung, die Möglichkeit, die fertigen Programme zu analysieren, Fehler zu suchen und zu beseitigen. Für eine zügige Entwicklung muss dieser Vorgang auf allen Ebenen der Softwareerstellung wiederholt werden, von der einfachen Funktion bis zum komplexen, parallelisierten Zusammenspiel großer Blöcke im Gesamtsystem. LASAL CLASS stellt dem Entwickler zu diesem Zweck eine Reihe von Tools zur Verfügung, vom Online-Debugger über PlcTraceview Aufzeichnungsmöglichkeiten für das Taskverhalten. Auch ein Oszilloskop ist ebenso Teil des Entwicklungspaketes wie die Analyse des Zeitverhaltens im Multitasking.

Durchgängigkeit bringt Einsparungspotenzial

Die Entwicklungsumgebung LASAL deckt mit ihren Einzelpaketen alle Aspekte der Automatisierung ab. Neben LASAL CLASS steht mit dem LASAL SCREEN Editor ein Werkzeug für die effiziente Erstellung der Visualisierung zur Verfügung. Das im letzten Heft vorgestellte LASAL MOTION vereinfacht mit seinem modularen Aufbau die Softwareentwicklung rund um die Antriebstechnik. Fernwartung, Software-Updates und Datenaustausch werden mit den LASAL SERVICE Tools (Remote Manager, OPC-Server, Webserverver etc.) realisiert.

Einsparungspotenziale ergeben sich aus der Einsatzfähigkeit
von LASAL auf allen Zielplattformen der Sigmatek-Produktpalette, die auch einen Wechsel der Plattform ohne Softwareänderung zulässt. Der wirkliche Vorteil liegt aber in der Verwendung einer einzigen Entwicklungsumgebung für sämtliche Projektphasen, im Prinzip von der Pflichtenhefterstellung über die Detailprogrammierung, über die Inbetriebnahme hinaus bis zur Softwarewartung. Für alle Projektphasen eine Software mit Klasse.


Zum Firmenprofil >>


Bericht in folgenden Kategorien:
PID-Regler, Projektierung, Tools und Software

QR code

Special Automation aus der Cloud

cloud.JPG Immer mehr Teile der industriellen Automatisierung sollen in die Cloud verlegt werden. Nicht nur die in rapide steigenden Mengen generierten Daten, sondern neben Auswerte-, Überwachungs- und Kontrollmechanismen auch Steuerungs-, Regelungs- und sogar Safety-Algorithmen. Wozu eigentlich? Was lässt sich vernünftig in die Cloud verlegen? Was sollte man dabei beachten? Und was ist das überhaupt, die Cloud?
mehr lesen >>

Im Gespräch

/xtredimg/2018/Automation/Ausgabe220/15098/web/Prof_Dr._Markus_Glueck.jpgGreifer reagiert situationsabhängig
Dank intelligenter Sensorik handelt der Co-act Greifer JL1 von Schunk umsichtig und wohlüberlegt: Die aktuell vorherrschenden Situations-, Umgebungs- und Einsatzbedingungen werden über mehrere „Sinne“ aufgenommen, bewertet und kommuniziert. Wie dies im Detail funktioniert und was Schunk mit dem JL1 sonst noch so alles in naher Zukunft vor hat, erfragte x-technik AUTOMATION bei Prof. Dr.-Ing. Markus Glück, Geschäftsführer Forschung & Entwicklung bei der Schunk GmbH & Co. KG. Das Gespräch führte Sandra Winter, x-technik
Interview lesen >>

Newsletter abonnieren