|
Warum wird das FP nicht refreshed?
Hallo Gemeinde,
ich hab schon wiedermal ein Problem. Diesmal mit dem Refreshen des FPs.
Folgender Programmaufbau:
In einem SubVI, das in einem SubPanel ausgeführt wird, laufen zwei While-Schleifen. Eine im Raster von 50ms, die andere mit 95ms. Die erste Schleife ließt Daten aus Meldern aus und zeigt sie mittels des Anzeigeelementes am FP an. Es sind mehrere Melder, die nicht alle in einem Durchlauf gelesen werden, sondern in einer Statemachine. In der zweiten Schleife werden zwei Melder eingelesen. Jeweils nur ein Bit dieser Daten wird durch das Property Value angezeigt. Außerdem gibt es ein Event-Case mit einem Timeout, der im Raster von 100ms läuft. Hier wird auch ein Melder ausgelesen und dessen Daten mittels des Anzeigeelementes am FP angezeigt.
Das SubPanel befindet sind in einem SubVI, das im Hintergrund weiterläuft. In diesem SubVI läuft lediglich eine Event-Seqeuenz. Läuft das SubVI als standalone, laufen hier alle SubVIs, die so zum Datensamplen notwendig sind, parallel.
Dieses SubVI wird vom MainVI in einem Event-Case aufgerufen. Im MainVI laufen alle SubVIs, die so zum Datensamplen notwendig sind, parallel.
Jetzt das Problem:
Lass ich das SubVI im SubPanel als Standalone laufen, wird das FP richtig refreshed. Lass ich das SubVI mit dem besagten SubVI im SubPanel laufen, wird das FP auch richtig refrehed. Lass ich allerdings das MainVI laufen und klick mich bis zum besagten SubVI, dann wird das FP nicht mehr refreshed.
Das BD des SubVIs, dessen FP nicht refrehed wird, läuft richtig. Mach ich eine Sonde direkt vor das Anzeigeelement, steht in der Sonde der richtige Wert drinnen - nur am FP eben nicht. Dumm nur, dass die beiden Propertys Value am FP zu sehen sind.
Weiß einer Rat?
Dieses Verfahren mit den verschachtelten SubVIs und den parallelen While-Schleifen wende ich schon immer an. Die Prozessauslastung liegt bei 6%
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|