Programmtechnische Anbindung der Funk-Messtaster

Ein zentraler Bestandteil der Softwareentwicklung ist die programmtechnische Anbindung der Funk-Messtaster an das entwickelte Messprogramm. Ziel dieses Programmteils ist es, die Messwerte der Sensoren drahtlos zu empfangen, auszulesen und für die weitere Verarbeitung innerhalb der Software bereitzustellen.

Die Messtaster übertragen ihre Messwerte über Funk an eine PC-Funkstation vom Typ ISM-USB, die über eine USB-Schnittstelle mit dem Computer verbunden ist. Diese Funkstation dient als Empfänger der Messdaten und stellt die Verbindung zwischen den Funkmodulen und der Messsoftware auf dem PC her.

Eine Funkstation kann mehrere Funkmodule gleichzeitig verwalten. Die einzelnen Messtaster werden über eine eindeutige Moduladresse identifiziert, sodass mehrere Sensoren parallel betrieben und ihre Messwerte eindeutig zugeordnet werden können.


Konfiguration der Funkmodule

Vor der Verwendung der Messtaster müssen die Funkmodule zunächst konfiguriert werden. Diese Konfiguration erfolgte mithilfe der Hersteller-Software IBR SimKey, mit der verschiedene Parameter der Funkmodule eingestellt und getestet werden können.

Zu den wichtigsten Konfigurationsparametern gehören:

  • Moduladresse – eindeutige Identifikation jedes Messtasters

  • Station-ID: gemeinsame Kennung von Sender und Empfänger für die Funkverbindung

  • RF-Datenrate: Übertragungsgeschwindigkeit der Funkverbindung

  • Permanentmode: automatische Übertragung von Messwerten bei Änderung des Messwertes

Im Projekt wurde der Permanentmode eingesetzt. In diesem Betriebsmodus sendet das Funkmodul automatisch Messwerte an den PC, sobald sich der Messwert verändert. Zusätzlich kann ein Zeitintervall festgelegt werden, nach dem auch ohne Änderung ein Messwert übertragen wird. Dadurch kann überprüft werden, ob die Funkverbindung weiterhin aktiv ist.

Nach erfolgreicher Konfiguration und Überprüfung der Funkverbindung konnten die Messtaster in die entwickelte Messsoftware integriert werden.


Einbindung der Hersteller-DLL

Für die Kommunikation zwischen Software und Funkstation stellt der Hersteller eine Programmierschnittstelle in Form einer Dynamic Link Library (DLL) bereit. Diese Bibliothek ist Bestandteil des IBR Device Development Kits (DDK) und ermöglicht externen Programmen den Zugriff auf die angeschlossene Messhardware.

Die Einbindung dieser Schnittstelle erfolgte innerhalb eines Python-Programms. Die DLL wurde in der Entwicklungsumgebung Visual Studio Code in das Projekt integriert. Da Python keine direkte Unterstützung für DLL-Bibliotheken besitzt, erfolgt der Zugriff über das Modul ctypes, welches Funktionen aus externen Bibliotheken aufrufen kann.

Nach dem Laden der DLL wird zunächst eine Verbindung zur Funkstation aufgebaut. Dabei wird eine zuvor erstellte DDK-Konfigurationsdatei eingelesen, welche die Einstellungen der Funkstation sowie der verbundenen Messtaster enthält. Diese Datei ermöglicht dem Programm den Zugriff auf die konfigurierte Hardware.

Über die Funktionen der DLL können anschließend verschiedene Informationen abgefragt werden, beispielsweise:

  • erkannte Funkmodule

  • aktuelle Messwerte der Sensoren

  • Statusinformationen der Geräte

Um die Hardwarekommunikation übersichtlich zu gestalten, wurde ein eigenes Python-Modul entwickelt, das die Kommunikation mit der DLL übernimmt. Dieses Modul empfängt die Messwerte der Funkmesstaster und stellt sie für die weitere Verarbeitung im Programm bereit.


Auslesen und Verarbeitung der Messdaten

Nach erfolgreicher Einbindung der DLL können die Messwerte der Funkmesstaster vom Programm empfangen und weiterverarbeitet werden. Die Funkstation überträgt kontinuierlich die Messdaten der verbundenen Sensoren an den Computer.

Jeder Messtaster besitzt eine eindeutige Moduladresse. Diese Adresse wird zusammen mit dem Messwert übertragen, sodass das Programm erkennen kann, von welchem Sensor der jeweilige Messwert stammt. Dadurch können mehrere Messtaster gleichzeitig betrieben und ihre Daten getrennt ausgewertet werden.

Zur Umsetzung wurde ein eigenes Python-Modul entwickelt, das die Kommunikation mit der DLL übernimmt und die empfangenen Messwerte für andere Programmteile bereitstellt. Dieses Modul bildet die zentrale Schnittstelle zwischen der Messhardware und der Software.

Die Projektstruktur wurde so aufgebaut, dass die einzelnen Programmteile klar voneinander getrennt sind:

Vendor / ibr / DLL
Enthält die vom Hersteller bereitgestellten DLL-Dateien und Bibliotheken zur Hardwarekommunikation.

ibr_multireader.py
Zentrales Modul zur Kommunikation mit der DLL und zum Auslesen der Messwerte der Funkmesstaster.

demo_terminal.py
Testprogramm zur Ausgabe der empfangenen Messwerte im Terminal zur schnellen Funktionsprüfung.

demo_tk_gui.py
Einfache grafische Testoberfläche zur Darstellung der aktuellen Sensorwerte.

Durch diese Struktur konnte die Hardwarekommunikation klar von der grafischen Benutzeroberfläche getrennt werden. Dadurch wird die spätere Integration der Messwerte in die endgültige Benutzeroberfläche deutlich erleichtert.