INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Temperaturwerte bedingt abspeichern



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

14.10.2010, 08:31
Beitrag #11

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Temperaturwerte bedingt abspeichern
' schrieb:Ich hätte aber noch ein paar Fragen:
1.) Warum hast Du beim Property Node (Value Signaling) den Error Out mit dem Case Selector verbunden?
Datenfluss! Somit ist sichergestellt, dass die Value-Signaling-PropertyNode VOR der Case-Struktur ausgeführt wird.
' schrieb:3.) Gibt es einen Unterschied zwischen Property Node (Value) und Lokale Variable?
Was Schü geschrieben hat, ist nicht ganz korrekt.
PropertyNode Value und lokale Variable sind im Prinzip identisch. Allerdings wird eine PropertyNode immer im UserInterface-Thread ausgeführt und erzeugt somit beim Schreiben zwingend ein Bildschirm-Update.
Zusätzlich gibt es bei noch die PropertyNode "Value (Signaling)". Das Schreiben dieser PropertyNode erzeugt zusätzlich noch ein Event.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.10.2010, 14:58
Beitrag #12

riske Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Sep 2010

9.0 und 8.6.1
2010
en


Deutschland
Temperaturwerte bedingt abspeichern
Danke für alle Antworten!

Ich sollte die Sequenzierung per Dataflow also immer den Sequenz-Strukturen bevorzugen... gut zu wissen.

' schrieb:Punkt 2:
- Dann den Knopf im Event zurücksetzen und nicht schon vor der While-Schleife...
- Unterschied Property/Local: die lokale Variable erzeugt eine Datenkopie im Speicher, die PropertyNode erzwingt einen Thread-Wechsel und ist deshalb wesentlich langsamer...
Ich hab das außerhalb der While-Schleife gesetzt, weil der Knopf ja nur einmal am Anfang zurückgesetzt werden soll. Bei den darauf folgenden Aktionen passiert das ja schon automatisch (Option: Switch until released). Aber sollte man es dann nicht mit einer lokalen Variable zurücksetzen, wenn dies schneller geht?

' schrieb:- Punkt 5: Genauso wie du die Einzelwerte im Event Start/Stopp ausliest, kannst du sie auch nach Verlassen der Schleife am SR-Ausgang auswerten. Ich habe da mal nur einen ArrayIndicator hingepackt.
Schleife soll ja nicht verlassen werden. Das Programm soll weiterhin aktiv sein.
Der Ablauf sollte so aussehen:
- START-Knopf drücken
- beide Event-Schleifen nehmen Messwerte auf
- wenn Messung beendet ist, gibt Event-Schleife #1 (Schallmessung) den Befehl an #2 (Temperaturmessung) die Messung auch zu beenden (das klappt soweit)
- Messergebnisse in Text-Datei speichern (dies sollte meiner Meinung nach in Event-Schleife #2 erfolgen... also müssen die Schall-Ergebnisse aus #1 herauskopiert werden)
Ich möchte also gerne mal exemplatisch sehen, wie man die Werte "T mittel", "T Stdabw", "T max" und "T min" aus der Event-Schleife kopiert ohne die Schleife zu verlassen. Müsste man hier mit lokalen Variablen arbeiten?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.10.2010, 15:02 (Dieser Beitrag wurde zuletzt bearbeitet: 14.10.2010 15:02 von GerdW.)
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Temperaturwerte bedingt abspeichern
Hallo riske,

- lokale Variable ist der PropertyNode vorzuziehen, wenn es nur um das Setzen eines Wertes geht.

- 2 Eventstrukturen in einem VI sind mit Vorsicht zu genießen - lies dir die (recht ausführliche) Kontexthilfe durch!

- Ja, man könnte eine lokale Variable zum Weiterreichen der Werte nutzen (ich würde gleich ein Array statt der Einzelwerte weiterreichen). Wenn man aber alle Events in einer Schleife abarbeitet, bräuchte man auch diese lokale Variable nicht...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.10.2010, 00:55 (Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2011 23:06 von riske.)
Beitrag #14

riske Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Sep 2010

9.0 und 8.6.1
2010
en


Deutschland
Temperaturwerte bedingt abspeichern
Heyho,

also alles in eine Event-Schleife zu packen, funktioniert nicht. Der A/D-Wandler aus der Event-Schleife #1 bleibt solange in einem Event bis er alle Messwerte aufgezeichnet hat. Dadurch wird die Temperatur-Messung geblockt, weil die Schleife nicht jede 1000ms angestoßen werden kann.

Das Programm funktioniert mit zwei Event-Schleifen, dennoch will ich die Schleife #1 noch ein wenig verändern/verschönern. Hier stoße ich auf ein neues Problem:
Bisher erfolgte die Messung immer im Timeout-Event. Da die Messung aber immer mit Aktivierung des START/STOPP-Knopfes initiiert werden soll, möchte ich die Messung im START/STOPP-Event auslösen. Jedoch reagiert das Programm während der Messung nicht mehr (oder reagiert falsch) auf die Deaktivierung des START/STOPP- und BEENDEN-Knopfes.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.10.2010, 10:33 (Dieser Beitrag wurde zuletzt bearbeitet: 16.10.2010 10:33 von GerdW.)
Beitrag #15

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Temperaturwerte bedingt abspeichern
Hallo riske,

ich empfehle dringend das komplette Durchlesen der Kontexthilfe zur Eventstruktur!

- nach Möglichkeit nur eine Event-Struktur pro VI
- die Abarbeitung von Events sollte immer schnell erfolgen (siehe nachfolgender Punkt)
- während der Event-Abarbeitung ist das UI standardmäßig blockiert (Häkchen bei den Event-Einstellungen ganz unten im Dialog)

Das was du machen willst, ist mit einer Producer-Consumer-Struktur wesentlich besser implementiert. Deine Eventstruktur agiert dabei als Producer von Kommandos, die dann vom Consumer abgearbeitet werden. (Evtl. auch 2 Consumer für 2 Geräte...)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2010, 02:32 (Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2011 23:05 von riske.)
Beitrag #16

riske Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Sep 2010

9.0 und 8.6.1
2010
en


Deutschland
Temperaturwerte bedingt abspeichern
Hey Gerd Smile

Ich hab mir alles durchgelesen. In der Hilfe steht aber nur, dass man zwei Event-Strukturen in einer While-Schleife vermeiden sollte. Meinen Aufbau habe ich aber so gewählt, dass ich für jede Event-Struktur eine While-Schleife habe. Das Programm läuft, deshalb würde ich meinen Aufbau jetzt erst einmal so lassen wollen.
Was ist denn der Vorteil von der Consumer-Producer-Struktur für meinen Fall bzw. was kann bei meiner Variante schief gehen? Bisher habe ich nur gelesen, dass man damit Vorgänge synchronisieren kann... aber das mach ich ja bereits auch 0_o

Gerade hab ich noch ein neues Problem entdeckt. Hardware-bedingt kann es vorkommen, dass die innere While-Schleife, die sich in der Event-Schleife #1 befindet, nur alle 2 Sekunden neu ausgeführt wird. Komischerweise wird die komplette Event-Schleife #2 dann auch nur alle 2 Sekunden aktualisiert, so dass dadurch nur alle 2 Sekunden Temperaturwerte ausgelesen werden.
Was kann hierfür der Grund sein? Eigentlich sollten die Eventschleifen unabh. voneinander laufen. Im Task-Manager ist der CPU-Kern #1 zu 90% ausgelastet und Kern #2 zu 20% (falls die Info hilft) .

Zitat:Ja, man könnte eine lokale Variable zum Weiterreichen der Werte nutzen (ich würde gleich ein Array statt der Einzelwerte weiterreichen)
Warum empfiehlst du das? Ist es resourcensparender das Array mit "Array To Spreadsheet String" wieder zu zerlegen als alle einzelnen Werte mit "Number To Fractional String" umzuwandeln?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.10.2010, 14:05 (Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2010 14:05 von GerdW.)
Beitrag #17

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Temperaturwerte bedingt abspeichern
Hallo riske,

Zitat:Komischerweise wird die komplette Event-Schleife #2 dann
Tja, was soll ich sagen? Nur eine Eventstruktur pro VI? Ohne einen Blick ins VI kann man aber auch nur raten. Außerdem: Events sollten immer schnell abgearbeitet werden - d.h. keine lang laufenden WhileLoops innerhalb der Eventstruktur.

Zitat:Was ist denn der Vorteil von der Consumer-Producer-Struktur
Beide oben genannten Punkte kann man mit einer Producer-Consumer-Struktur leicht erfüllen...

Zitat:alle einzelnen Werte mit "Number To Fractional String" umzuwandeln?
Erstens kann NumberToString auch mit Arrays umgehen, zweitens könntest du deine ganzen Number2String-Geschichten auch bequemer mit FormatIntoString erledigen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Samplingkanäle bedingt in Queues Electribe 3 3.765 02.01.2012 14:38
Letzter Beitrag: eb
  SubVI bedingt einbinden? Benjamin Fuchs 10 8.655 18.10.2007 16:04
Letzter Beitrag: Y-P

Gehe zu: