Schwerpunkte

Codesys

Neues vom Profiler

07. Dezember 2020, 10:09 Uhr   |  Meinrad Happacher

Neues vom Profiler
© iStockphoto, South Agency

Ob regelmäßig, prophylaktisch oder sporadisch bei Bedarf ­ausgeführt: Untersucht man die Laufzeit seines IEC-61131-3-­Projektes mit einem Profiler als Zusatztool, so ist der Aufwand dafür minimal, der Nutzen aber beträchtlich. Ein Plädoyer für diese Kategorie der Software-Tools.

Wer bei einem ‚Profiler‘ an Krimis denkt, ist auf der richtigen Spur: Solche Fallanalytiker suchen anhand von verfügbaren Fakten gezielt nach möglichen Mustern, um (Kriminal-)Fälle aufzuklären. In der Informatik sind Profiler ebenfalls zu finden. Gemeint sind Hilfswerkzeuge für die Programmierung. Vergleichbar zur Polizeiarbeit analysieren diese Werkzeuge die Fakten, konkret das Laufzeitverhalten von Software. Das Ziel: Aufdecken von Problembereichen, die zur Verlangsamung der Abarbeitung führen, Optimierung des Quellcodes durch strukturelle und algorithmische Verbesserungen sowie letztlich eine beschleunigte Code-Ausführung

„Ich messe erst, wenn Probleme auftreten!“ Viele SPS-Programmierer denken so. Treten keine Probleme auf, dann haben sie alles richtig gemacht. Schließlich kostet das prophylaktische Messen des Laufzeitverhaltens wertvolle Engineeringzeit, wenn es mit Bordmitteln durchgeführt wird: Dazu gilt es manuell im Quellcode vor dem Start und nach dem Ende des zu messenden Applikationsteils Zeitstempel zu setzen und deren Differenz zu berechnen. Vergleichbar zur Funktion LTIME im IEC-61131-3-Tool Codesys bieten die meisten SPS-Programmiertools eine hochauflösende Timerfunktion, um die Echtzeituhr der Steuerung mit µs- oder sogar ns-Auflösung auszulesen. Eine einfache Subtraktion und ein wenig zusätzlicher Programmcode, schon lassen sich Laufzeit sowie statistische Auswertungen der ausgeführten Routine ermitteln.

Wann sind Laufzeitmessungen erforderlich?

Mit der Profiler- Konfiguration legt der Anwender den Fokus der Laufzeitmessung fest.
© Codesys

Mit der Profiler-Konfiguration legt der Anwender den Fokus der Laufzeitmessung fest.

Generell sind Laufzeitmessungen nur erforderlich, wenn Probleme auftreten. Solche Probleme können sich dadurch bemerkbar machen, dass die reale Zykluszeit der SPS-Applikation und damit die Reaktionszeit auf ein Ereignis während des Projektverlaufs sprunghaft ansteigt. Grund dafür kann eine oft ausgeführte Schleife sein, die unnötige Abfragen enthält oder auf asynchrone Ereignisse wartet. Oder der Applikateur merkt, dass die ursprünglich vorgesehene Steuerung für das Projekt zu leistungsschwach ist, weil hinzugekommene Optionen deren Leistungsreserven aufgebraucht haben. Dann ist schnelle Reaktion gefragt.

Mit Laufzeitmessungen auf dem Zielsystem kommt der Programmierer den Ursachen auf die Spur: Er nimmt sich nach und nach verdächtige Programmbausteine vor und versucht die Ursache einzugrenzen. Hat er sie gefunden, dann muss er sie beseitigen. Je nach Ursache kann er Code optimieren, Applikationsteile auslagern oder sogar eine leistungsstärkere Steuerung verbauen. Tritt ein derartiger Zwischenfall kurz vor der Inbetriebnahme, währenddessen oder sogar erst im Produktivbetrieb einer Maschine oder Anlage auf, dann ist das für jeden Applikationsprogrammierer ein Super-GAU. Wären potenzielle Ursachen rechtzeitig identifiziert worden, dann wäre ein Notfalleinsatz jetzt gar nicht nötig. Zumindest ließen sich erforderliche Maßnahmen mit Bedacht treffen.

Ob vorab oder in einer Akut-Situation, die beschriebene Methode durch manuelle ‚Injektion‘ von zusätzlichem Code für die Messung ist in jedem Fall lästig, insbesondere dann, wenn der Code an mehreren Stellen im Projekt untergebracht werden muss. Schließlich muss der Code nach der Messung auch wieder entfernt werden, denn für den Betrieb ist er nicht mehr nötig. Er verbraucht ja einen Teil der verfügbaren Leistung.

Seite 1 von 4

1. Neues vom Profiler
2. Automatische Instrumentierung durch Zusatztools
3. Sampling und Code-Abdeckung
4. Die Anwendung

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen

Das könnte Sie auch interessieren

Die Autowaschanlage an der Cloud
Von Datenanalyse bis OPC UA PubSub

Verwandte Artikel

3S - Smart Software Solutions GmbH

SPS