Programmstruktur für rekonfigurierbares Nutzerinterface - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Programmstruktur für rekonfigurierbares Nutzerinterface (/Thread-Programmstruktur-fuer-rekonfigurierbares-Nutzerinterface) |
Programmstruktur für rekonfigurierbares Nutzerinterface - chrissyPu - 17.10.2014 09:16 Liebes LabView-Forum, nach längerer Zeit komme ich jetzt mal wieder dazu, mit LabView zu programmieren. Und was ist da ein schönerer Einstieg, als hier einen Forumspost zu erstellen... Mein aktuelles Projekt ist die Erstellung einer rekonfigurierbaren haptischen Nutzerschnittstelle für einen Nutzertest. Der Nutzer drückt irgendwo drauf rum, davon bekomme ich von einem Sensor ein Signal und abhängig von dem Signal möchte ich verschiedene Aktoren ansteuern. Allerdings ist das Timing zwischen Sensor-Sampling und Aktor-Ansteuerung nicht dasselbe, ich kann also nur bedingt in Read - Verarbeitung - Write-Zyklen arbeiten (Zur weiteren Erklärung: Ein Aktor ist z.B. nur ein Stellglied, der über RS232 angesprochen wird, ein weiterer braucht eine Puls-Dauer-Modulation als Ansteuerung, die aber möglichst zeitlich genauer definierbar sein soll als die Abtastrate des Sensors) etc. Ein bisschen UI für den Leitung des Nutzertests wäre nett... Angedachte Hardware ist eine NI USB-6343 wg. mobilem Einsatz, zur Not hätte ich aber auch noch ein cRIO verfügbar. Nun zu meiner Frage: Welche Programmstruktur nehme ich dafür am besten? Meine aktuelle Idee wäre, eine Producer-Consumer-Struktur zu nutzen, Daten werden vom Sensor produziert und per Notifier (damit immer nur der letzte aktuelle Wert verfügbar ist) an die Consumer (d.h. die verschiedenen Aktoren) weitergegeben. Hierarchisch übergeordnet ist noch eine Schleife, die die GUI mit Event-Struktur übernimmt und mit dem Producer-Consumer-Part per Queue(s) kommuniziert um z.B. Konfigurationsdaten für die Aktoren zu ändern (OK, vielleicht auch Variablen, je nach Performance-Anforderung). Hat jemand schon mal sowas ähnliches gemacht und kann mir was dazu sagen, ob das funktionieren könnte? Danke Euch schonmal im Voraus, viele Grüße, chrissyPu |