Entwicklung eines modularen Quelltextgenerators für Kommunikationsabläufe in Feldbussystemen

  • Michael Hinterberger

Studienabschlussarbeit: Masterarbeit

Abstract

Zur Steuerung von Anlagenkomponenten werden in der Automatisierungsindustrie Feldbusse eingesetzt. Obwohl die Kommunikationsabläufe immer den gleichen Mustern folgen, werden besonders bei neuen Projekten gleiche oder ähnliche Funktionen häufig
neu implementiert. Dies führt zu erhöhtem Zeit- und Kostenaufwand und erschwert die
Fehleranalyse, insbesondere bei inkonsistenten Log-Nachrichten.
Als Abhilfe wird in dieser Arbeit ein modularer Quelltextgenerator entwickelt, der
Quelltext für die Feldbuskommunikation erstellt. Die Menge an Quelltext, die manuell
erstellt werden muss, soll minimiert werden. Zuerst wird theoretisch auf automatische
Quelltexterzeugung eingegangen. Aufgrund der spezifischen Anforderungen an den generierten Quelltext und der Möglichkeit, einen einfachen Quelltextgenerator zu verwenden,
wird auf den Einsatz von Machine Learning (ML) verzichtet.
Nach der Beschreibung des Kommunikationsprotokolls werden einige Anforderungen
gestellt. Unter anderem soll das Format der Eingabeinformationen für den Quelltextgenerator, die Metadaten über die zu übertragenden Informationen beinhalten, austauschbar sein, da sich der unterliegende Feldbus zwischen Anwendungen ändern kann.
In der Arbeit wird in Form von einer Excel-Datei eine erste Version der Eingabeinformationen für den Quelltextgenerator vorgestellt. Außerdem werden die Dateien und die
Schnittstelle zu den Client-Projekten gezeigt, die der Quelltextgenerator erzeugen soll.
Für die Metadaten der zu übertragenden Informationen, die für die Quelltexterzeugung
notwendig sind, wird eine Zwischendarstellung in einem fixen Format aufgebaut.
Danach wird die Implementierung des Quelltextgenerators beschrieben. Der erste
Teil des Quelltextgenerators verwandelt die Excel-Eingabeinformationen in die Zwischendarstellung und kann ausgetauscht werden, um andere Eingabeformate zu unterstützen. Die eigentliche Quelltexterzeugung findet im zweiten Teil des Quelltextgenerators statt und verwendet Vorlagen für die Zielsprache. In der Arbeit werden Vorlagen
für die Sprache C++ erstellt. Es wird die Implementierung einer unterstützenden C++-
Bibliothek beschrieben, in der wiederkehrende Funktionen aus dem generierten Quelltext gesammelt sind. Durch den Austausch der Vorlagen kann Quelltext für weitere
Programmiersprachen erstellt werden.
Zum Schluss werden der implementierte Quelltextgenerator und der generierte C++-
Quelltext getestet. Dafür wird aus einer Excel-Datei, die für den Test erstellt wurde,
der Quelltext generiert und in ein Testprojekt eingebunden. Es werden Daten übertragen und Fehlerzustände erzeugt. Die Analyse der Testergebnisse bestätigt die korrekte Funktion des Generators. Das Ergebnis zeigt, dass der Quelltextgenerator alle
definierten Anforderungen erfüllt und den manuellen Aufwand bei der Erstellung des
Buszugriffsquelltexts erheblich reduziert.
Datum der Bewilligung2024
OriginalspracheDeutsch (Österreich)
Betreuer/-inFranz Leopold Wiesinger (Betreuer*in)

Zitieren

'