Hallo alöwe,
erst mal die trivialen Dinge:
- Wenn die selbe Konstante mehrfach benutzt wird: durch einen Draht ersetzen! ("NI_ChannelName", leerer String->Variant)
- Wenn eine Operation mehrfach durchgeführt wird: durch eine Schleife und ein Array ersetzen! (MinMax-Bestimmung, ChannelName lesen)
- Wozu zwei Schieberegister für eine Operation, die nur eines erfordert?
- Wozu eine Case-Struktur, in der in beiden Cases dieselbe lokale Variable gesetzt wird?
Das VI läuft mit deinem VI in Millisekunden durch - und wäre ohne Wartezeit wahrscheinlich sehr viel schneller fertig…
Wenn du das auch noch "hübsch" programmieren willst, dann verzichtest du auf ExpressVIs…