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!

12.10.2010, 01:42 (Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2011 22:57 von riske.)
Beitrag #1

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 Leute

Ich hab hier ein Temperatur-Messgerät vor mir. Und das soll mir jede Sekunde anzeigen, was für eine Temperatur gerade herrscht. Das klappt soweit.
Jetzt möchte ich aber noch, dass mir das Programm alle aufgenommenen Werte des 1.Kanals (Variable: CH1-Wert) in ein Array speichert und zwar nur dann, wenn der START Knopf gedrückt ist (so dass ich die Werte nach der Messung auswerten kann).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.10.2010, 02:33
Beitrag #2

riske Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Sep 2010

9.0 und 8.6.1
2010
en


Deutschland
Temperaturwerte bedingt abspeichern
Achja... die Analyse des Arrays soll außerhalb der Event-Struktur erfolgen, da die Werte noch mit Variablen verrechnet werden, die aus einer Event-Struktur kommen, die parallel zu der hier ausgeführt wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.10.2010, 08:12
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Temperaturwerte bedingt abspeichern
Hallo riske,

der konsequente Einsatz von lokalen Variablen ist schon beeindruckend:)Und natürlich auch noch Sequenzen, wo eine FOR-Loop hingehört... Ironie

Schon mal über dein Einsatz von Shiftregistern nachgedacht? Um Werte von einer Iteration/einem Case in den nächsten weiterzuleiten?
So könntest du Messwerte in einem SR sammeln, wenn der Start-Knopf gedrückt ist. Wenn der Knopf zurückgesetzt wird, werden die gesammelten Werte gespeicheert und das SR wieder gelöscht...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.10.2010, 13:03 (Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2011 22:58 von riske.)
Beitrag #4

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,

Du bist also auch der Meinung, dass lokale Variablen Mist sind. Ich hab sie eingesetzt, weil die Meinungen im Forum ja weit auseinandergehen... deshalb weiß ich halt auch nicht, was korrekter ist. Ich versuche es dennoch mal zu ändern
Und warum sind Sequenzen schlecht? Soll ich da jetzt alle in FOR-Loops umändern oder nur einen Teil?

' schrieb:So könntest du Messwerte in einem SR sammeln, wenn der Start-Knopf gedrückt ist. Wenn der Knopf zurückgesetzt wird, werden die gesammelten Werte gespeicheert und das SR wieder gelöscht...
Das versteh ich nicht so wirklich... Könntest Du mir das mal bitte näher erläutern?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.10.2010, 13:27
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Temperaturwerte bedingt abspeichern
Hallo riske,

anbei ein Beispiel inLv85_img.

Zu den FOR-Loops: du rufst in den stacked sequences jeweils 4 Geräte/Kanäle auf. Diese Aufrufe könnte/sollte man in einer Schleife erledigen: der einzige Parameter, der sich ändert, ist schließlich der Kanalcount (=Iterationszähler)...


Angehängte Datei(en)
Sonstige .vi  BuildArray.vi (Größe: 16,08 KB / Downloads: 160)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.10.2010, 03:02
Beitrag #6

riske Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Sep 2010

9.0 und 8.6.1
2010
en


Deutschland
Temperaturwerte bedingt abspeichern
OK... hab das Programm jetzt noch mal komplett verändert... sieht jetzt wesentlich übersichtlicher aus. Ein paar lokale Variablen musste ich aber lassen (mir ist da nichts eingefallen, wie ich das anders lösen könnte).
Lv86_img
Sonstige .vi  Picotech_PT104___Event_Case_v4.vi (Größe: 35,86 KB / Downloads: 176)

Das mit dem START-Knopf hab ich aber noch nicht integriert.
In Deinem Beispiel-Programm befindet sich das Werte-erzeugende Element außerhalb der Event-Schleife. Bei mir ist sie aber innerhalb. Und ich weiß echt nicht, wie ich da innerhalb der Schleife mit Shift-Registern arbeiten soll, weil ich ja den Shift-Registern für jeden Event-Case einen Wert zuordnen muss.
Und wie gesagt... das Programm soll auch Werte ausgeben (aber nicht abspeichern), wenn der START-Knopf nicht gedrückt ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.10.2010, 08:01
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Temperaturwerte bedingt abspeichern
Hallo riske,

anbei eine etwas überarbeitete Version (Lv86_img). Wenn man Arrays für die diversen Ein-/Ausgaben verwendet, wird's noch viel übersichtlicherSmile

Bei den 2 SR für die Handles bin ich mir nicht sicher, ob man das nicht mit einem SR erledigen könnte, da ich die DLL nicht kenne. Höchstwahrscheinlich wird aber immer das gleiche Handle weitergereicht, da darüber der Zugriff aufs Gerät verwaltet wird...


Angehängte Datei(en)
Sonstige .vi  Picotech_PT104___Event_Case_v4.vi (Größe: 25,47 KB / Downloads: 148)

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

riske Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: Sep 2010

9.0 und 8.6.1
2010
en


Deutschland
Temperaturwerte bedingt abspeichern
Coole Sache...

Deine Version hat nicht funktioniert... da war irgendein Fehler mit den "handles". Hab es überarbeitet und noch weiter vereinfacht (man kann die "handles" mit einem Shift Register abarbeiten).

Rausgekommen ist das hier:
Lv09_img2
Sonstige .vi  Picotech_PT104___Event_Case_5_.vi (Größe: 47,19 KB / Downloads: 196)


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?
2.) Bei Deinem Programm steht der "Update Settings"-Knopf immer auf ON. Ich hab das mal mit einem Property Node (Value) wieder zurückgesetzt. Ist das so richtig?
3.) Gibt es einen Unterschied zwischen Property Node (Value) und Lokale Variable?
4.) Kann man die x-Achse des Waveform-Charts irgendwie reseten oder müsste man stattdessen den XY-Graph verwenden?
5.) Wie holt man die Werte "T mittel", "T Stdabw", "T max" und "T min" aus der Event-Schleife? Ich möchte die Werte in eine Datei schreiben sobald die Messung fertig ist. In die Datei sollen auch noch Werte einer anderen Event-Schleife (läuft parallel dazu) geschrieben werden. Deshalb bin ich der Meinung dass man das Schreiben der Datei außerhalb der Event-Schleifen erledigen müsste.
6.) Gibts sonst noch irgendwelche Verbesserungsvorschläge?Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.10.2010, 07:27
Beitrag #9

Schü Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 68
Registriert seit: Sep 2010

2010 Student, 2010, 2012 SP1
2010
DE_EN

08427
Deutschland
Temperaturwerte bedingt abspeichern
Hallo auch =),

ich versuch mal ein paar Fragen zu beantworten und hoffe es hilftWink

1. vermutlich soll der ErrorOut noch mit dem "Display Message to User" im False-Case verbunden werden?
2. überspringe ich gekonnt
3. da hilft schon mal die Kontexthilfe
Property Node:
Zitat:Legt den Wert des Bedienelements fest und erzeugt ein Ereignis des Types "Wertänderung" - Hinweis: Schreiben
Globale Variable:
Zitat:Mit lokalen Variablen können Werte an Bedient- oder Anzeigeelemente übergeben oder von Bedien- und Anzeigeelementen empfangen werden
gilt also mit dem Property Node erzeugst du gleichzeitig noch eine Wertveränderung
4. ich versteh nicht ganz wie du das meinst, da das Programm nicht bei mir läuft, aber wenn die x-Achse "hochzählt", dann könnte man das doch über den
Eigenschaftsknoten "X-Achse > Bereich > Min/Max" wieder zurücksetzen? (Oder bin ich hier auf dem Holzweg?)
5. und 6. überspringe ich nochmal gekonnt (hab kein LV2009 und kann das letze VI nich öffnen)

hoffe es hat geholfen, ansonsten sag ich mal: "Der Wille, Gutes zu tun, zählt":D

Liebe Grüße Schü
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.10.2010, 08:23 (Dieser Beitrag wurde zuletzt bearbeitet: 14.10.2010 08:34 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Temperaturwerte bedingt abspeichern
Hallo riske,

anbei dein VI, ganz leicht verändert... lv2009

- PropertyNode per ErrorCluster verbinden: Dadurch wird die Case-Struktur erst nach der PropertyNode ausgeführt. Sequenzierung per Dataflow...
- Punkt 2: Ich setze "Update" per "Value signal", um eine Abarbeitung des Update-Events zu erzwingen: du willst ja schließlich dein USB-Gerät nach dem Start mit den richtigen Einstellungen versehen! 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...
- Punkt 4: Ein Chart hat eine Historienlänge. Mehr Werte merkt er sich nicht - und die X-Achse passt sich immer den Werten im Historienspeicher an... Für alles andere Graphen verwenden...
- 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.
- Punkt 6: IndexArray kann man auf mehrere Ausgänge erweitern und fängt automatisch bei Index 0 an zu indizieren - siehe VI. Bedienelemente, die man per ValueChange-Event ausliest, sollten sich im Eventcase befinden: dies ist besonders wichtig bei Latched-Buttons, da diese sonst nicht zurückgesetzt werden!


Angehängte Datei(en)
Sonstige .vi  Picotech_PT104___Event_Case_5_.vi (Größe: 35,42 KB / Downloads: 141)

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.766 02.01.2012 14:38
Letzter Beitrag: eb
  SubVI bedingt einbinden? Benjamin Fuchs 10 8.669 18.10.2007 16:04
Letzter Beitrag: Y-P

Gehe zu: