Noch immer ist es so, dass das objektorientierte Programmieren (OOP) im Bereich der Automatisierungstechnik eher ein Schattendasein führt. Es zeichnet sich jedoch ab, dass sich dies ändern wird. Der Automatisierungsexperte Sigmatek setzt bereits seit 1999 auf diese Technologie. Das Unternehmen ist damit nach eigenen Angaben der erste Systemanbieter der Steuerungstechnik am Markt, der OOP eingeführt hatte. Das Engineeringtool bei Sigmatek heißt Lasal und beinhaltet folgende Funktionalitäten: – Objektorientiertes Programmieren mit grafischer Darstellung und Client-Server-Kommunikation – Visualisierung – Motion Control – Standard- und benutzerdefinierte Bibliotheken – Programmierung der logischen Verknüpfungen der Safety-Komponenten – Funktionen für Service und Wartung Nicht jede dieser Funktionalitäten ist unter einer Oberfläche zu finden. Allerdings gibt es jeweils logische Verbindungen im Hintergrund, die dem Anwender den Eindruck eines durchgängigen Toolsets vermitteln. Lasal unterstützt alle Produkte von Sigmatek wie CPUs, Terminals und Industrie-PCs. Auch ein Wechsel von einer Plattform zur nächsten ist möglich, ohne dass das Programm neu geschrieben werden muss. Es muss lediglich die Onlineverbindung eingestellt werden. Lasal ermöglicht das Erstellen von USB Bootsticks, um Steuerungen ohne die Entwicklungsumgebung updaten zu können. Die Programmieroberfläche Die Programmieroberfläche von Lasal setzt sich aus den Elementen Menüleiste, Werkzeug-Symbolleiste, Meldefenster, Eigenschaftenfenster, Projektbaum und der Arbeitsfläche zusammen. Insgesamt kommt die Oberfläche sehr klassisch daher und findet sich in ähnlicher Form bei vielen Windows-Entwicklungstools so wieder. Dies hat den Vorteil, dass sich der Anwender schnell wiederfindet, wenn er bereits mit ähnlichen Tools gearbeitet hat. Bezüglich der Usability wurde darauf geachtet, dass der Anwender möglichst wenig tippen muss. Lasal erstellt den Code für die Deklarationen von Klassen, Variablen, Schnittstellen usw. automatisch im Hintergrund. Dem Anwender bleibt nur mehr die Implementierung der Methoden. Im Projektbaum werden alle Klassen und Dateien, die zum Projekt gehören, angezeigt. Neue Dateien, Globale Typen, Klassen, Libraries und Netzwerke lassen sich dort erstellen, verändern und löschen. Der Nutzer hat folgende Ansicht, wenn er mit Lasal arbeitet: – Anzeige der veränderten Eigenschaften des aktuellen Elements im Eigenschaftenfenster – Ausgabe aller Benutzerinformationen (Info-, Warn-, und Fehlermeldungen) – Netzwerk- und Sourcecodeeditor – Baumdarstellung aller Projektelemente Mit dem Macro-Manager lassen sich externe Programme einbinden und ausführen. Mittels Matlab-Simulink Import können C-Files, die über Matlab-Simulink erstellt wurden, eingebunden werden. Eine automatische Code-Ergänzung für Schlüsselwörter, Konstanten, Variablen, Methoden und Funktionsparameter erleichtert die Eingabe. Einfacher nicht komplizierter In der Automatisierungstechnik hat sich der Eindruck verfestigt, dass die objektorientierte Programmierung alles nur noch komplizierter macht. In der Praxis bestätigt sich jedoch genau das Gegenteil. Gerade die Automatisierungstechnik ist ein Paradebeispiel für einfaches, objektorientiertes Design, da reale Komponenten abgebildet werden müssen und sich somit die Klassen nahezu von selbst definieren. Im Wesentlichen ist es die Umstellung auf ein neues Programmierparadigma, welche den Eindruck der Komplexität hervorruft. Zudem ist es bis jetzt nur selten gelungen, das objektorientierte Programmieren verständlich und nachvollziehbar zu erklären. Viel zu häufig werden Begriffe wie Klassen, Aggregation, Vererbung und Instanzen dazu verwendet, um die eigene Kompetenz zum Ausdruck zu bringen. Hier nimmt Lasal dem Anwender die Scheu, weil in der Entwicklungsumgebung die Klassen über die Oberfläche modelliert werden. Der Entwickler wird mit der komplexeren Syntax der OOP nicht konfrontiert. Vorteile der objektorientierten Programmierung In der Praxis bietet OOP eine ganze Reihe von Vorteilen gegenüber der klassischen SPS-Programmierung und der klassischen prozeduralen Hochsprachenprogrammierung. In Bezug auf die Art und Weise, wie bei Sigmatek OOP eingesetzt wird, ergeben sich folgende Vorteile für den Anwender: – Wiederverwendbarkeit des Quellcodes – Lesbarkeit des Programmcodes – Sicherheit – Erhöhte Qualität des Programmcodes – Drastische Vereinfachung bei Änderungen über verschiedene Maschinen hinweg – Vereinfachtes Arbeiten in Teams – Abbildung von realen Maschinenkomponenten durch Objekte Objektorientiert und vernetzt Im Rahmen dieses Beitrages ist es nicht möglich, objektorientierte Programmierung in Gänze zu erklären. Aus diesem Grund werden nur einige Merkmale erläutert, die im Zusammenhang mit der Programmierung mit Lasal wichtig sind. Ein Programm besteht aus Objekten. Also aus selbstständigen Teilen, die für bestimmte Aufgaben zuständig sind. Jedes Objekt enthält Informationen, die eine Aussage über seinen augenblicklichen Zustand machen. Diese Informationen, oder auch Daten, werden Variablen genannt. Die Aufgaben und Aktionen eines Objektes werden durch Funktionen dargestellt, die man bei der OOP als Methode bezeichnet. Eine Klasse ist eine abstrakte Beschreibung eines Anlagenteils mit allen Schnittstellen, Daten und Methoden und bildet so etwas wie die Basis für Objekte. Objekte können als verschiedene Exemplare einer Klasse bezeichnet werden und haben einen Zustand, ein Verhalten und eine Identität (Bild 3). Objekte werden unterschieden nach ihrem internen Aufbau, den nach außen sichtbaren Eigenschaften und ihrer Funktionalität nach außen. Bei Lasal werden die Klassen und Objekte grafisch dargestellt und in Netzwerke eingebunden. Der innere Aufbau wird mit einer der zur Verfügung stehenden Programmiersprachen programmiert. Der Programmfluss entsteht dann durch die Vernetzung unterschiedlichster Objekte auf Basis der nach außen sichtbaren Eigenschaften und Funktionalitäten. Aus mehreren Klassen lässt sich eine komplexe Klasse (Aggregation) erstellen, die eingebettete Objekte enthält (Bild 2). Grafische Programmierung Die Basis für die Programmierung mit Lasal ist eine grafische Programmierung mit Netzwerken. Bereits erstellte Klassen werden ganz einfach aus dem Projektbaum des Klassen-Fensters (Klassen Bibliothek) per Drag&Drop in ein grafisches Objektnetzwerk fallengelassen, und schon ist ein neues Objekt entstanden. Zur Verfügung stehende Sprachen Die Erstellung der Applikation kann in Structured Text, Kontaktplan, Anweisungsliste, jeweils nach IEC 61131-3 Norm, in einer zur Laufzeit interpretierten Ablaufsprache und in C erfolgen. Dabei können die Sprachen innerhalb eines Projekts beliebig gemischt werden. Debugging Für die Programmanalyse und Fehlersuche bietet Lasal eine Vielzahl an Debugging-Funktionen: – Online Diagnose im Netzwerk: Aktueller Status der einzelnen Objekte ersichtlich, Wertänderungen direkt im Netzwerk möglich, Absetzen von ganzen Befehlsketten mit Parametern, erste Diagnose ohne Konfrontation mit Code – Breakpoints: Standard Breakpoints, Bedingte Breakpoints, Datenbreakpoints – Durchlaufzähler: Zähler in Statuszeile bei Abarbeitung jener Codezeile, auf der der Cursor steht. Projekt wird dabei nicht angehalten. – Watch-Window: Anzeige von beliebigen Variablen, gesamten Objekten per Selektion bis hin zu den Prozessorregistern. – Callstack: Anzeige des Verlaufs der aufgerufenen Funktionen wenn die Steuerung im Breakpoint steht sowie Codeanzeige auf Assemblerebene. – Trace-Fenster: Im Anwenderprogramm können mittels der Funktion \’Trace\‘ Text und Variablenwerte an die Entwicklungsumgebung geschickt werden. – Data Analyzer: Echtzeit Datenaufzeichnung, Samplerate bis zu 50µs möglich, Messlinien (horizontal, vertikal) inklusive Messwerte, Starttrigger, Stoptrigger, frei skalierbare Kurven und Zoom, Import-, Exportfunktionen – Taskmanagement: Anzeige aller zyklischen Tasks (Realtime, Cyclic, Background), Messungen von Tasklaufzeit (aktuell und maximal), Deaktivieren/Aktivieren/Ändern der Zykluszeit von Tasks zur Laufzeit – TaskTrace: Aufzeichnung der Taskwechsel des Multitaskingsystems in Echtzeit, welcher Task hat den niederprioren Task unterbrochen usw. Die ist nur ein Teil der für das Debugging zur Verfügung stehenden Möglichkeiten. Daneben stehen noch sogenannte \’Advanced Debug Tools\‘ zur Verfügung. Bibliotheken Sigmatek bietet eine Reihe von Standard-Bibliotheken wie Klassen für Hardwarezugriffe, Systemzugriffe, Druckerklassen und Visualisierungsklassen. Daneben stehen auch vorgefertigte Anwendungsklassen wie z.B. PID-Regler, Datenlogger und eine komplette Motion Library zur Verfügung, die dazu beitragen, die Programmierzeiten zu verkürzen. Anwender können beliebige eigene Bibliotheken erstellen, um Klassen und Netzwerke für eine Wiederverwendung abzulegen. Client-Server-Kommunikation Wie in einem Netzwerk funktioniert die Kommunikation zwischen Client und Server bei Lasal über einen Request/Respose-Mechanismus (Frage/Antwort). Der Client fordert einen Dienst an, der vom verbundenen Server zur Verfügung gestellt bzw. bearbeitet wird. Die Kommunikation erfolgt über verschiedene Arten von Kanälen: untypisierte Kanäle zum einfachen Datenaustausch sowie zum Absetzen von Kommandos sowie Objektkanäle, mit denen Methoden der referenzierten Klasse aufgerufen werden können (Bild 4 und 5). Multitasking Das Betriebssystem von Sigmatek unterstützt und nutzt sowohl präemptive Tasks (der Betriebssystemkern steuert die Abarbeitung der einzelnen Prozesse und hält jeden Prozess nach einer bestimmten Abarbeitungszeit zu Gunsten anderer Prozesse an) als auch kooperative Tasks (die Rechenleistung wird nacheinander an die Prozesse verteilt). Visualisierung und Steuerungsprogramm können so auf einem Prozessor laufen. Dabei handelt es sich um ein mehrschichtiges Multitasking-System. Das System stellt drei Taskklassen zur Verfügung: – Echtzeit Task – Zyklischer Task – Background Task Das Betriebssystem behält die Kontrolle über die abzuarbeitenden Aufgaben (präemptives Multitasking), innerhalb einer Taskpriorität wird kooperatives Multitasking angewendet. Scripting mit Python Mithilfe von Scripting können in Lasal diverse Abläufe für das Projektmanagement erstellt werden. So können z.B. mithilfe einer Scriptsprache Projekte erstellt und angepasst werden. Dies ist z.B. interessant, wenn es darum geht, ein Basisprogramm auf verschiedene Maschinen gleicher Bauart zu implementieren. Für eine bestimmte Baureihe einer Maschine gibt es ein einziges Basisprojekt. Von diesem können dann automatisch verschiedene Varianten für die kundenspezifischen Maschinen derselben Baureihe abgeleitet werden. Lasal stellt hierfür diverse Befehle der verbreiteten Scriptsprache Python zur Verfügung (Bild 6). Objektorientierung gehört die Zukunft Sigmatek kann durchaus als Pionier der objektorientierten Programmierung bezeichnet werden und bietet dazu ein rundes und bewährtes System. Wie im Prinzip bei allen Steuerungsanbietern gibt es noch Optimierungspotenzial im Bereich der Usability und Integration der Tools. Objektorientiertes Programmieren ist für die Automatisierungstechnik bestens geeignet. Dies zeigt das Beispiel von Sigmatek sehr deutlich. Lasal ist somit für all jene Maschinenbauer interessant, die der zunehmenden Komplexität ihrer Maschinen durch eine leistungsfähige Programmierung entgegen wirken wollen.
Natürlich objektorientiert
-
Erfolgreiches Omlox-Plugfest
Auf dem Omlox-Plugfest prüften 21 Experten aus neun Unternehmen zwölf verschiedene Omlox-Komponenten, darunter UWB-Infrastruktur, Ortungstags, ergänzende Positionierungstechnologien, Omlox-Hubs und industrielle Softwareanwendungen.
-
Energy-Monitoring für nachhaltige Umgebungen
Plug&Play-Energieüberwachung
Facility-Management-Systeme (FMS) ermöglichen die Echtzeitmessung/-überwachung des Energieverbrauchs für die Kostenoptimierung. Sie unterstützen erweiterte Diagnosen und ermöglichen schnelle Reaktionen auf Änderungen und betriebliche Anforderungen. Aber: Bestehende FMS-Lösungen sind nicht…
-
Philip Harting verstärkt VDMA-Hauptvorstand
Der VDMA hat Philip Harting in den Hauptvorstand aufgenommen.
-
Schwere Industriesteckverbinder bei der Montage und Inbetriebnahme
Schneller verbunden, schneller produktiv
Mit welchen Herausforderungen sieht sich der Maschinen und Anlagenbau konfrontiert und welchen Beitrag können Steckverbinder bei der Lösung leisten? Einfache, standardisierte und möglichst automatisierbare Verbindungsprozesse werden zum entscheidenden…
-
Antriebstechnik
Hybridleitungen reduzieren Aufwand, Kosten und Störanfälligkeit
Antriebssysteme sollen heute kompakt, leistungsfähig und zuverlässig sein. Gleichzeitig steigen die Anforderungen an Verkabelung, Montage und Betriebssicherheit. Hybridleitungen bündeln Energie- und Datenübertragung in einem Kabel, reduzieren den Aufwand…
-
DataTec verzeichnet 9% mehr Aufträge
DataTec hat das Geschäftsjahr 2025/2026 in einem angespannten wirtschaftlichen Umfeld erfolgreich abgeschlossen.
-
NIS-2 in fünf Schritten strukturiert und pragmatisch umsetzen
So gelingt das Setup
Cyberangriffe auf industrielle Systeme sind längst keine Ausnahme mehr. Produktionsanlagen, Steuerungen und vernetzte…
-
Design, Produktsuche und Beschaffung auf einer Plattform
Nachschlagewerk für Automatisierer
Wer als Maschinen- oder Anlagenbauer schnell die richtigen Komponenten finden, Schaltpläne skizzieren und…
-
Elektroexporte wachsen etwas langsamer
Mit Warenlieferungen im Wert von 20,7Mrd.€ verzeichnete die deutsche Elektro- und Digitalindustrie auch…
-
Virtuelle SPS: Reif für die Praxis?
Lange galt die virtuelle SPS als Zukunftsvision. Inzwischen sehen viele Hersteller sie als…
-
IIoT und Cloud-Visualisierung
Sensordaten sicher erfassen und weltweit visualisieren
Edge Computing und Cloud-Technologien verändern den Umgang mit Produktionsdaten. Maschinen- und Sensordaten lassen…
-
Interview auf dem Eplan Next26
Wie KI, Daten und Plattformen die Elektrokonstruktion verändern
Auf dem Event Eplan Next26 in München standen die Zukunft des Engineerings, künstliche…
-
Stromversorgung außerhalb des Schaltschranks
Netzteilreihe mit Schutzart IP67
Mit der neuen Netzteilreihe S8NR bringt Omron robuste Netzteile mit Schutzart IP67 auf…
-
Prof. Dr.-Ing. Volker Stich ins VDI-Präsidium gewählt
Prof. Dr.-Ing. Volker Stich wurde mit Wirkung zum 1. Juli in das Präsidium…
-
Intelligentes Transportsystem sorgt für mehr Flexibilität beim Labeling
Digitaldruck in sechs Freiheitsgraden
Herkömmliche Druckverfahren mit Kunststoff- und Papieretiketten sind mit langen Rüstzeiten, häufigen manuellen Eingriffen…
-
Ansatz für nachhaltige Produktentwicklung
Neue Kategorie der Weltdarstellung
Die 3D Univ+rses sind eine neue Kategorie der Weltdarstellung, entwickelt von Dassault Systèmes.…
-
Hochmanövrierfähige Fahrzeugplattform mit Hebeeinrichtung
Omnidirektional
Weiterentwicklungen in der Handhabungs- und Montagetechnik steigern den Grad der automatisierten Produktion. Effiziente…
-
Schwarz Digits eröffnet neuen Campus
Schwarz Digits, die IT- und Digitalsparte der Schwarz Gruppe, hat ihren neuen Campus…
-
Update-Management für vernetzte Maschinen
Aus Pflicht wird Potenzial
Vernetzte Maschinen müssen über ihren gesamten Lebenszyklus hinweg aktualisiert werden und Hersteller müssen…
-
Geräteschutz und digitale Transparenz verbinden
IIoT-Framework
Mit dem IIoT-Framework Caparoc erweitert Phoenix Contact die Kommunikationsmöglichkeiten des gleichnamigen Geräteschutzschalter-Systems um…
-
Für den Maschinen- und Anlagenbau
Robuste Wellschläuche
In der automatisierten Fertigung müssen Kabelschutzschläuche von Maschinen, Bearbeitungszentren und CNC-Anlagen vielfach hohe…
-
Für effizienteres Kabelmanagement Mehrfachdurchführungen
Mit den robusten Kabeldurchführungen der Serie MCE Pro und dem modularen System MCE…
-
Cybus beruft Stefan Schwab zum Co-CEO
Cybus hat Stefan Schwab mit Wirkung zum 1. Juli zum Co-CEO berufen.
-
Spatenstich für Hummel-Werkserweiterung
Mit einem symbolischen Spatenstich hat Hummel das offizielle Startsignal für die geplante Werkserweiterung…
-
Mit 3 Metern Reichweite
Kompakte Ultraschallsensoren
Mit den Ultraschallsensoren U1KM in Miniaturbauform erweitert Wenglor sein Portfolio um eine Lösung…
das könnte sie auch interessieren
-
-
-
Edge, Cloud und Cybersecurity in der Praxis
IIoT im Realitätscheck: Warum Vernetzung heute anders gedacht wird als 2020
-
Funktionale Sicherheit
SIL3 auf dem Touchscreen: Wie sichere HMIs die Bedienung neu denken
















