IEC 61131-3

Laufzeitmessung von SPS-Projekten

Seite: 2/2

Anbieter zum Thema

Anwendung des Codesys Profiler

Ist der Codesys Profiler als Add-on-Komponente im Codesys Development System installiert, so kann eine detaillierte Zeitmessung initiiert und für jedes IEC 61131-3-Applikationsobjekt ausgeführt werden. Dazu konfiguriert der Anwender das Tool und aktiviert die Messung .

Das aktivierte Add-on generiert bei der Übersetzung des IEC 61131-3 Applikationscodes implizit zusätzlichen Maschinencode und überträgt ihn mit dem Login auf das Test-Zielsystem. Die Messergebnisse können zur Ausführungszeit des Codes mehrfach zu beliebigen Zeitpunkten vom Test-Zielsystem angefordert, geladen und direkt in der Entwicklungsumgebung angezeigt werden. Die Messungen werden dort dem Applikationscode zugeordnet und können anhand der Zeit-Informationen einzelner Objekte in Form einer Liste, eines Ablauf- oder Aufrufbaums analysiert werden.

Erkennt besonders lang laufende Programmbausteine

Anhand der vorliegenden Daten kann der Applikationsentwickler sehr leicht identifizieren, welche Bausteine wesentlich zur Gesamtlaufzeit der Applikation beitragen. Wie in den Abbildungen ersichtlich, stehen ihm dazu verschiedene Ansichten zur Verfügung um die Situation aus verschiedenen Richtungen zu erfassen. Anhand von farblich hervorgehobenen Schwellwerten für den Anteil einzelner Bausteine an der Gesamtlaufzeit der Applikation, kann er besonders lange laufende Programmbausteine sofort erkennen. Besonders wertvoll ist zudem die Anzeige der Aufrufhäufigkeit einzelner Bausteine, mit der Applikationsentwickler deren Relevanz für die Gesamtlaufzeit gewichten können. Direkt vom Profiler heraus kann er per Mausklick in verdächtige Bausteine springen, um den programmierten Quellcode zu analysieren und ggf. zu optimieren. Ist die Laufzeitanalyse abgeschlossen, so kann der Profiler wieder mit einem Mausklick deaktiviert werden. Auf das Zielsystem wird dann nur noch der eigentliche, mittlerweile optimierte Applikationscode geladen und ausgeführt.

Es bietet sich an alle Ergebnisse der Laufzeitanalyse zu speichern um die ermittelten Werte zu Vergleichszwecken zur Verfügung zu haben. Der Verlauf der Ergebnisse sollte ebenfalls regelmäßig betrachtet werden. Somit ist frühzeitig die Veränderung der Laufzeit über die Entwicklungsdauer erkennbar, um abzuschätzen ob die prognostizierten Taskzeiten am Ende der Entwicklung eingehalten werden können.

Code-Optimierung und dann?

Wurde die Laufzeit der Applikation analysiert und der Code optimiert, so steht der Applikateur vor der Frage: Wie kann er nachweisen, dass die Funktion der Applikation noch dem Stand vor der Optimierung entspricht?

Letztlich sind neuerliche Systemtests fast unumgänglich. Ideal ist es, wenn solche Tests automatisiert durchgeführt werden können. Für solche Fälle steht ein weiteres Zusatztool zur Testautomation zur Verfügung. Zudem kann der Applikationsentwickler sein SPS-Projekt bei Bedarf bausteinweise in der Versionsverwaltung Subversion ablegen und darüber hinaus den Code anhand von umfangreichen Regelsätzen analysieren lassen. Diese statische Codeanalyse ist eine weitere Möglichkeit, um Komplexität frühzeitig zu erkennen und ergänzt die Task-Analyse einer Laufzeitmessung optimal. Somit stehen mit der Codesys Professional Developer Edition alle genannten Hilfsmittel zur methodischen Applikationsentwicklung zur Verfügung.

Wie für den Profiler gilt für alle diese Tools: Je früher im Entwicklungsprozess der Applikateur die methodische Unterstützung anwendet, umso mehr wird er davon profitieren.

Das Fazit

Mit geeigneten Tools lässt sich methodisch die Qualität von IEC 61131-3-Applikationen für die Automatisierungstechnik verbessern – bei reduziertem Aufwand. Dabei ist die Laufzeitanalyse durch einen Profiler ein wichtiger Baustein, um potentielle Probleme durch Überlastungen der eingesetzten Steuerungen frühzeitig zu erkennen und zu vermeiden. Von diesem Vorgehen profitieren nicht nur die Softwareentwicklung sondern auch alle darauf folgenden Aktivitäten.

* *Michael Schwarz, Produkt Marketing,3S-Smart Software Solutions

(ID:43205151)