Messmodul für Schwingungsmesstechnik (C#, WPF, TwinCAT 3)

Für unseren Kunden entwickelten wir Software zur mehrkanaligen Messung von Schwingungen. Die Schwingungsmessung (24 Bit je Kanal, max. 50 kSamples/s) wird auf beliebig vielen Kanälen unter Verwendung von IEPE-Sensoren durchgeführt. Dies geschieht in der TwinCAT 3 Echtzeit.

Die Steuerung der Messung erfolgt über ein Softwaremodul (C# und WPF), welches entweder standalone betrieben oder in externe Applikationen eingebunden werden kann. Wesentlich hierbei war die Erweiterbarkeit, weswegen ein Plugin-System erlaubt, später zusätzliche "Workspaces", beispielsweise für die Fourier-Analyse der aufgezeichneten Daten, zur Laufzeit einbinden zu können. Auf die gleiche Weise ist auch der Datenimport und -export für verschiedenste Formate (z.B. CSV, XML, etc.) flexibel erweiterbar. Die Software erlaubt eine einfache, dynamische Konfiguration der verwendeten Sensoren. Diese umfasst aktuell den Bias-Strom, jedoch sind auch weitere Parameter wie z.B. Vorfilterung der Messwerte, Kalibrierungsoffsets o.ä. einfach integrierbar.

Im Rahmen des Projektes wurde ein Workspace zur Anzeige der Messwerte entwickelt. Die Herausforderung bestand hierbei in der anzuzeigenden Datenmenge bei Messungen vieler Kanäle mit hoher Samplingrate. Es sollte dabei kein kommerzielles Graphing-Modul zum Einsatz kommen aber dennoch ein flüssiges Scrollen möglich sein. Erreicht wurde dies durch die Implementierung eines eigenen Graph-Controls unter Verwendung von OpenGL. So können relevante Teile der Kurvendarstellung auf die GPU ausgelagert und so die nötige Performance erreicht werden.

Zusätzlich ist eine Fernsteuerung der Messung aus anderen Programmen heraus möglich. Hier wurde auf gRPC gesetzt um eine derartige Integration schnell, einfach und plattformunabhängig implementieren zu können.

Messsoftware mit Beispieldaten
Messsoftware mit Beispieldaten