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
-
Security
Cyber-Sicherheit wird zum integralen Bestandteil der Maschinenkonzepte
Ab 2027 wird Cyber-Sicherheit verpflichtend: Maschinenhersteller müssen umfassende Security-Maßnahmen wie Security-by-Design und Update-Strategien integrieren. Phoenix Contact unterstützt praxisnah.
-
Bis 250mm Zeichenhöhe
Die fehlerunanfällige, widerstandsfähige Konstruktion und die einfache Bedienung sind die großen Vorteile der industriellen Großanzeigen der Serie S302.
-
Sensor für robuste Absolutpositionierung
Präzision im Heavy-Duty-Modus: Weg-Codier-System mit IO-Link
Wo automatisierte Laufkatzen und Hafenkräne tonnenschwere Lasten bewegen, benötigt die Steuerung absolute Positionsgeber für Positions- und Geschwindigkeitsdaten. Raue Umgebungsbedingungen dürfen die Zuverlässigkeit der Sensorik nicht beeinträchtigen. In solchen…
-
Zertifizierung nach IEC62443-4-1/2
Sicherheitssteuerung
Im November erhielt die Sicherheitssteuerung Flexi Compact von Sick vom Tüv Süd die Zertifizierung nach IEC62443-4-1/2.
-
Elektroexporte im September: Bester Monat im Jahresverlauf
Die Exporte der deutschen Elektro- und Digitalindustrie sind im September um 9,6% gegenüber Vorjahr auf 22,2Mrd.€ gestiegen.
-
Komponenten für energieoptimierte Maschinenkonzepte
Effizient antreiben, intelligent bremsen
Der Auftritt von KEB Automation auf der SPS steht ganz im Zeichen der…
-
Stahlketten sichern Performance von Umreifungsanlagen
Gut verpackt
Wer seine Produkte in die ganze Welt verschickt, muss sicher sein können, dass…
-
Kabelmanagement-Lösung
Kabeldurchführungsplatte für extreme Außenbedingungen
Mit der KEL-DPU-OD bringt Icotek eine Kabeldurchführungsplatte auf den Markt, die speziell für…
-
Auftragsbestand im Verarbeitenden Gewerbe im September: +0,6% zum Vormonat
Der reale (preisbereinigte) Auftragsbestand im Verarbeitenden Gewerbe ist nach vorläufigen Ergebnissen des Statistischen…
-
Märkte für elektronische Komponenten und Baugruppen wachsen zweistellig
Die globalen Märkte für elektronische Komponenten und Baugruppen verzeichnen ein starkes Wachstum.
-
Werkzeugmaschinenbestellungen haben Talsohle erreicht
Im dritten Quartal sank der Auftragseingang in der deutschen Werkzeugmaschinenindustrie um 5%.
-
Ginzinger und Limes Security
Whitepaper zeigt praxisnahen Weg zum Cyber Resilience Act
Ginzinger Electronic Systems und Limes Security haben ein gemeinsames Whitepaper zum Cyber Resilience…
-
Sicher und vollständig kalibrieren: detaillierte Checkliste von DataTec
Checkliste für sichere und vollständige Messgeräte-Kalibrierung
Messgeräte entsprechen ab Werk nur für begrenzte Zeit ihren Spezifikationen – meist ein…
-
Panduit stellt besonders kurzen, geschirmten Keystone-RJ45-Jack vor
Keystone-Buchse: kompakt und kurz
Panduit erweitert sein Portfolio um kompakte Cat-6/Cat-6A-Keystone-Module, die sich einfach in Standard-Keystone-Aufnahmen vieler…
-
OPC UA für die Feldebene
Aktueller Status und Ausblick
OPC UA FX (Field eXchange) ist ein zentraler Bestandteil der Weiterentwicklung von OPC…
-
Inverse modulare Kabeldurchführungen mit geteiltem Rahmen
Flexible Kabeldurchführung
Mit KDSI-SR-G erweitert Conta-Clip sein modulares Kabeldurchführungssystem um einen zweigeteilten Rahmen, der die…
-
Sichere Fernwartung – leicht gemacht
Keine Chance für Cyber-Brechstangen
Online-Kriminelle haben die OT für sich entdeckt – das zeigen u.a. rasant steigende…
-
Neue Not-Halt-Baureihe
Robuste Not-Halt-Schalter mit M12-Anschluss
Mit Quartex Connect bringt Schlegel eine neue Not-Halt-Baureihe für 22,3mm-Bohrungen auf den Markt…
-
Weidmüller Stripax – jetzt auf der Conrad Sourcing Platform
Schnell, einfach und präzise abisolieren
Weidmüller bringt die neue Generation der Stripax-Abisolierzange auf den Markt.
-
TKD Kabel erweitert Produktfinder zum Kundenportal
Schneller zum Kabel, das passt
TKD Kabel hat seinen Online-Produktfinder zu einem kundenorientierten Portal ausgebaut, das den Zugang…
-
VDMA-Studie
Mehr als die Hälfte der Maschinen- und Anlagenbauer setzt auf OPC UA
Laut aktueller Interoperabilitätsstudie des VDMA sehen 84% der Unternehmen einen konkreten Bedarf an…
-
Energieverbrauch der Industrie um 1,9% gestiegen
Die deutsche Industrie hat im Jahr 2024 insgesamt 3.343 Petajoule Energie verbraucht.
-
Time Sensitive Networking
TSN-Layer-3-Switch für präzise Echtzeitkommunikation
Mit dem TSN-6325-8T4S4X präsentiert Spectra einen Managed Industrial Ethernet Switch, der für zeitkritische…
-
Für Motion-Control-Anwendungen
BiSS-Master-Chip mit SPI und RS-422-Transceiver
Mit iC-MBE stellt iC-Haus einen SPI-zu-BiSS-Master-Konverter vor, der die Integration der offenen BiSS-…
-
Industrielle Bildverarbeitung
Neues Deep-Learning-Feature in Halcon 25.11
MVTec erweitert seine Machine-Vision-Software Halcon 25.11 um das neue Deep-Learning-Feature Continual Learning.
das könnte sie auch interessieren
-
Multivariable und energieeffiziente Steuerung
Multivariabel und energieeffizient
-
Sensoren, Ladekabel und Cybersicherheits-Zertifizierung
Zertifizierte, sichere Entwicklungsprozesse
-
OPC UA als Enabler für Data Spaces und KI
Semantische Standards
-
Multilevel-Technologie vermeidet LC-Filter und senkt Energiekosten
Drei Level für weniger Verluste

















