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 

Dieses Thema hat akzeptierte Lösungen:

Instantaner Wert zu instantanem Zeit



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!

23.07.2013, 16:02 (Dieser Beitrag wurde zuletzt bearbeitet: 23.07.2013 16:03 von Q62.)
Beitrag #1

Q62 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2012
2013
DE


Sonstige
Instantaner Wert zu instantanem Zeit
Einen schönen guten Tag,
Ich habe die Aufgabe eine Software für eine Messdatenerfassung für Strom,Spannung und Leistungen herzustellen. Das ganze soll in einer.dat Datei abgespeichert und folgenderweise versehen werden(Ist nur ein Beispiel):

Titel blabla
Date_Time 1.1.1904

Zeit/s P1/W P2/W
0.000 0.12 xx
0.011 0.36 xx
0.025 0.21 xx .... usw.


Das klappt alles auch soweit und so gut ,bloß habe ich das Problem , dass die Sekunden von 0,000 s beim nächsten Wert(Durchlauf) auf 0,1 s springt ,obwohl ein Messintervall 100 ms betragen und ich hier eine Netzfrequenz von 50 Hz messen soll. Brauche hilfe bin am verzweifeln und für Express-VI hater habe ich auch das spreadsheet zum speichern genommen. Wäre sehr erfreut auf Antworten und bedanke mich im Vorraus. Im Anhang stelle ich euch die LV-Datei und txt Datei zur verfügung.


Angehängte Datei(en)
0.0 .txt  2013-07-23_0003__.txt (Größe: 19,56 KB / Downloads: 342)

11.0 .vi  Test zur Speicherung für Asciidatei mit Messintervall LV.vi (Größe: 95,38 KB / Downloads: 218)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.07.2013, 17:50
Beitrag #2

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Instantaner Wert zu instantanem Zeit
Zitat:Das klappt alles auch soweit und so gut ,bloß habe ich das Problem , dass die Sekunden von 0,000 s beim nächsten Wert(Durchlauf) auf 0,1 s springt ,obwohl ein Messintervall 100 ms betragen

Hallo Q62,

mache ich einen Denkfehlr, oder sind 100ms nicht genau 0,1s?


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.07.2013, 20:59 (Dieser Beitrag wurde zuletzt bearbeitet: 23.07.2013 21:01 von Q62.)
Beitrag #3

Q62 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2012
2013
DE


Sonstige
RE: Instantaner Wert zu instantanem Zeit
(23.07.2013 17:50 )Trinitatis schrieb:  
Zitat:Das klappt alles auch soweit und so gut ,bloß habe ich das Problem , dass die Sekunden von 0,000 s beim nächsten Wert(Durchlauf) auf 0,1 s springt ,obwohl ein Messintervall 100 ms betragen

Hallo Q62,

mache ich einen Denkfehlr, oder sind 100ms nicht genau 0,1s?


Gruß, Marko

Hi Marko,
danke erst einmal das du dich meldest. Richtig 100ms sind 0,1 s , bei 50 Hz hast du 20 ms für eine Periode.
Das heisst wenn mein Messintervall von 0 bis 100 ms sein soll, passen 5 Perioden in den Messintervall.
Nun aber zurück zum Messen: Wenn ich z.b. ein Signal derart messe habe ich nichts von dem instantanem Wert in dem Messintervall .
Ich überspringe quasi das Messintervall und habe nichts von dem instantanen Wert und deshalb will ich "schneller" die Zeit messen und nicht langsam
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.07.2013, 21:54
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Instantaner Wert zu instantanem Zeit
(23.07.2013 20:59 )Q62 schrieb:  Hi Marko,
danke erst einmal das du dich meldest. Richtig 100ms sind 0,1 s , bei 50 Hz hast du 20 ms für eine Periode.
Das heisst wenn mein Messintervall von 0 bis 100 ms sein soll, passen 5 Perioden in den Messintervall.
Nun aber zurück zum Messen: Wenn ich z.b. ein Signal derart messe habe ich nichts von dem instantanem Wert in dem Messintervall .
Ich überspringe quasi das Messintervall und habe nichts von dem instantanen Wert und deshalb will ich "schneller" die Zeit messen und nicht langsam
Bahn

Aber kehren wir zurück zu deinem VI und besprechen/kritisieren einige Merkwürdigkeiten.

1) Zum Erstellen von Pfaden solltest du Build Path und Strip Path verwenden. Durch einen String als "Verzeichnis"-Start (das Control "Pfad") ist das VI nicht mehr einfach konvertierbar auf andere Dateisysteme, bei denen z.B. ein / anstatt \ verwendet wird.

2) Was erhoffst du dir mit der Mess-While Schleife zu erreichen? Wozu verwendest du "Delete From Array", hier langt auch "Index Array". Weshalb 2x dieselbe Spannung per "Delete From Array" herausholen? Wieso gibst du nur den allerletzten Messdurchlauf an das Speicher-VI außerhalb der While-Schleife weiter? Was erhoffst du durch das "Zeit-Array" (soll heißen das Array, dass du per Schieberegister zusammenbaust) zu erreichen?

Zusammenfassend: Laut deiner Aussage funzt (fast) alles. Ich möchte das stark bezweifeln. Zumindest funktioniert es sicher nicht so, wie du dir vielleicht vorstellst, dass es funktionieren sollte. Blink

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
24.07.2013, 05:48
Beitrag #5

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
RE: Instantaner Wert zu instantanem Zeit
(23.07.2013 20:59 )Q62 schrieb:  Nun aber zurück zum Messen: Wenn ich z.b. ein Signal derart messe habe ich nichts von dem instantanem Wert in dem Messintervall .
Ich überspringe quasi das Messintervall und habe nichts von dem instantanen Wert und deshalb will ich "schneller" die Zeit messen und nicht langsam

Du bastelst dir einen Zeitstempel...das ist vollkommen überflüssig. Verwende mal den "Waveform Data type", da ist der Zeitstempel (von der Hardware!) automatisch mit dabei. Dazu gibts jede Menge Beispiele im Example Finder.

Und dann ist der Zeitstempel auch absolut äquidistant, weil sich der DAQmx-Treiber bzw. die Karte darum kümmert! Und dann kriegst du auch mehr Messwerte innerhalb von 100ms, nämlich soviele wie du per Abtastrate (meinetwegen auch per DAQ-Assi) einstellst!

A.

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2013, 07:46 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2013 07:50 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Instantaner Wert zu instantanem Zeit
Hallo,

noch ein weiteres Problem:
Du baust in deiner Messschleife ein 2D-Array zusammen mit 3 Spalten: einmal "relative Zeit", zweimal Spannungswerte. Du bekommst 1000 Samples vom DAQ-Assi für die beiden Spannungen geliefert - und "klebst" da einfach eine Zeitspalte davor, die überhaupt nichts mit den Zeitpunkten der Samples zu tun hat...

Daraus resultieren gleich zwei Fehler: die von dir beobachteten 0,1s-Intervalle an der Zeitspalte und zweitens die vielen Nullen ab Mitte 15% der Zeitspalte...

P.S.: Ich finde es immer wieder toll, wie Leute riesige ConcatString (mit vielen Zusatzfunktionen) aufbauen, statt nur ein einziges gut selbstdokumentierendes FormatIntoString zu verwenden... Hmm

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.07.2013, 09:54
Beitrag #7

Q62 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2012
2013
DE


Sonstige
RE: Instantaner Wert zu instantanem Zeit
(23.07.2013 21:54 )jg schrieb:  
(23.07.2013 20:59 )Q62 schrieb:  Hi Marko,
danke erst einmal das du dich meldest. Richtig 100ms sind 0,1 s , bei 50 Hz hast du 20 ms für eine Periode.
Das heisst wenn mein Messintervall von 0 bis 100 ms sein soll, passen 5 Perioden in den Messintervall.
Nun aber zurück zum Messen: Wenn ich z.b. ein Signal derart messe habe ich nichts von dem instantanem Wert in dem Messintervall .
Ich überspringe quasi das Messintervall und habe nichts von dem instantanen Wert und deshalb will ich "schneller" die Zeit messen und nicht langsam
Bahn

Aber kehren wir zurück zu deinem VI und besprechen/kritisieren einige Merkwürdigkeiten.

1) Zum Erstellen von Pfaden solltest du Build Path und Strip Path verwenden. Durch einen String als "Verzeichnis"-Start (das Control "Pfad") ist das VI nicht mehr einfach konvertierbar auf andere Dateisysteme, bei denen z.B. ein / anstatt \ verwendet wird.

2) Was erhoffst du dir mit der Mess-While Schleife zu erreichen? Wozu verwendest du "Delete From Array", hier langt auch "Index Array". Weshalb 2x dieselbe Spannung per "Delete From Array" herausholen? Wieso gibst du nur den allerletzten Messdurchlauf an das Speicher-VI außerhalb der While-Schleife weiter? Was erhoffst du durch das "Zeit-Array" (soll heißen das Array, dass du per Schieberegister zusammenbaust) zu erreichen?

Zusammenfassend: Laut deiner Aussage funzt (fast) alles. Ich möchte das stark bezweifeln. Zumindest funktioniert es sicher nicht so, wie du dir vielleicht vorstellst, dass es funktionieren sollte. Blink

Gruß, Jens
Erstmals danke Jens das du auf meinen Beitrag eingegangen bist ,

1) die Stringkonvertierung habe ich nun mit Build Path ersetzt
2)"Was erhoffst du dir mit der Mess-While Schleife zu erreichen?" Sie dient sie dazu ,dass das zu jedem instantanen Wert eine instantane Zeit zugeordnet wird um daaraus ein Array zu basteln.
"Wozu verwendest du "Delete From Array", hier langt auch "Index Array"" weil ich anfangs nichts anderes gefunden hab

"Weshalb 2x dieselbe Spannung per "Delete From Array" herausholen?" Das wird vom Funktionsgenerator als Test erzeugt ,habe jetzt einfach mal 2mal die selbe Spannung genommen(spielt ja auch keine Rolle).

"Wieso gibst du nur den allerletzten Messdurchlauf an das Speicher-VI außerhalb der While-Schleife weiter?" Weil ich durch den allerletzten Messdurchlauf den allerletzten instantanen Spannung ein Wert zuweise.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2013, 10:14 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2013 10:18 von Q62.)
Beitrag #8

Q62 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2012
2013
DE


Sonstige
RE: Instantaner Wert zu instantanem Zeit
(24.07.2013 07:46 )GerdW schrieb:  Hallo,

noch ein weiteres Problem:
Du baust in deiner Messschleife ein 2D-Array zusammen mit 3 Spalten: einmal "relative Zeit", zweimal Spannungswerte. Du bekommst 1000 Samples vom DAQ-Assi für die beiden Spannungen geliefert - und "klebst" da einfach eine Zeitspalte davor, die überhaupt nichts mit den Zeitpunkten der Samples zu tun hat...

Daraus resultieren gleich zwei Fehler: die von dir beobachteten 0,1s-Intervalle an der Zeitspalte und zweitens die vielen Nullen ab Mitte 15% der Zeitspalte...

P.S.: Ich finde es immer wieder toll, wie Leute riesige ConcatString (mit vielen Zusatzfunktionen) aufbauen, statt nur ein einziges gut selbstdokumentierendes FormatIntoString zu verwenden... Hmm

Danke erst einmal für deine Antwort,
""klebst" da einfach eine Zeitspalte davor, die überhaupt nichts mit den Zeitpunkten der Samples zu tun hat..." Habe ich aber schon erklärt deswegen frage ich gibt es da nicht eine andere Möglichkeit. Das habe ich ja gemacht um zu zeigen wo ich hilfe brauche .

"zweitens die vielen Nullen ab Mitte 15% der Zeitspalte..."
das hast du richtig erkannt Smile

Sad gibt es da kein besseren Timer?
(24.07.2013 05:48 )Achim schrieb:  
(23.07.2013 20:59 )Q62 schrieb:  Nun aber zurück zum Messen: Wenn ich z.b. ein Signal derart messe habe ich nichts von dem instantanem Wert in dem Messintervall .
Ich überspringe quasi das Messintervall und habe nichts von dem instantanen Wert und deshalb will ich "schneller" die Zeit messen und nicht langsam

Du bastelst dir einen Zeitstempel...das ist vollkommen überflüssig. Verwende mal den "Waveform Data type", da ist der Zeitstempel (von der Hardware!) automatisch mit dabei. Dazu gibts jede Menge Beispiele im Example Finder.

Und dann ist der Zeitstempel auch absolut äquidistant, weil sich der DAQmx-Treiber bzw. die Karte darum kümmert! Und dann kriegst du auch mehr Messwerte innerhalb von 100ms, nämlich soviele wie du per Abtastrate (meinetwegen auch per DAQ-Assi) einstellst!

A.

Danke A.,
http://digital.ni.com/public.nsf/allkb/B...DF00363B10

Wenn du das meinst, habe ich getestet funktioniert nicht.
Wenn du was anderes meinst , bitte über so ein ähnlichen Link posten , damit ich weiss welcher es ist .
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2013, 10:17 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2013 10:19 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Instantaner Wert zu instantanem Zeit
Hallo Q62,

siehe Beitrag #5...

Zitat:Wenn du das meinst, habe ich getestet funktioniert nicht.
Ja, das meinte Achim. Wenn es nicht funktioniert, dann ist irgendwas in deinem VI nicht in Ordnung.
Außerdem ist "funktioniert nicht" keine wirklich gute Fehlerbeschreibung...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2013, 10:42
Beitrag #10

Q62 Offline
LVF-Grünschnabel
*


Beiträge: 22
Registriert seit: May 2013

2012
2013
DE


Sonstige
RE: Instantaner Wert zu instantanem Zeit
Beitrag #5

hab es versucht ,gibt mir aber auch komische Werte aus. Beispiel: Bei 0,001 s hat er den Wert xyz und dann wird aber beim nächsten Durchlauf ein anderer Wert der gleichen Zeit erzeugt. Außerdem entstehen weiter Nullen, wie schon GerdW darauf angesprochen. Also wenn ich stopp z.b. drücke, sollen alle Zeitwerte des Digitaloszilloskopes schon in der .Dat reingeschrieben werden


Angehängte Datei(en)
11.0 .vi  Test zur Speicherung für Asciidatei mit Messintervall LV.vi (Größe: 96,57 KB / Downloads: 211)

0.0 .dat   2013-07-24_0001__.dat (Größe: 19,55 KB / Downloads: 182)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: