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 

Startwert eines kontinuierlichen Signals setzen



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!

27.11.2013, 09:16
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.425
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
Hallo redhand,

Pseudocode

Zitat:mein Signal kommt aber in einem Array, welches durch die For-Schleife dann autoindiziert wird
Das ist in deinem Beispiel-VI aber anders...

Zitat:Problem: Ist die innere Schleife beendet, startet sie im nächsten Durchlauf wieder bei 0, sprich "x-y" wird immer 0
Jedoch muss auf der anderen Seite die innere Schleife beendet werden, das der nächste Messwert überhaupt kommt
Mögliche Lösungen:
- Messwert schon außerhalb deiner inneren Loop korrigieren...
- andere Vergleichsbedingung nutzen, z.B. ein uninitialisiertes Schieberegister mit einem boolschen Flag
- das Schieberegister an der äußeren Loop andocken...
Ich würde das so lösen, dass die Offsetkorrektur schon im "Gerätetreiber" erledigt wird: es gibt ein VI, welches die Messwerte vom Gerät liest und schon grundlegende Dinge wie Skalierung und Offsetkorrektur vornimmt und dann den "echten" Messwert an die Verarbeitung weiterleitet...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.11.2013, 10:05
Beitrag #12

redhand Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 112
Registriert seit: Sep 2013

2013
2013
DE


Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
(27.11.2013 09:16 )GerdW schrieb:  Das ist in deinem Beispiel-VI aber anders...
An Stelle dessen hab ich die Zufallszahl stehen lassen. Im eigentlichen VI kommt vorher noch ein Teil, der hier aber nicht wichtig ist. Hier nochmal ein Bild

(27.11.2013 09:16 )GerdW schrieb:  Ich würde das so lösen, dass die Offsetkorrektur schon im "Gerätetreiber" erledigt wird: es gibt ein VI, welches die Messwerte vom Gerät liest und schon grundlegende Dinge wie Skalierung und Offsetkorrektur vornimmt und dann den "echten" Messwert an die Verarbeitung weiterleitet...
- andere Vergleichsbedingung nutzen, z.B. ein uninitialisiertes Schieberegister mit einem boolschen Flag
Wie heißt das VI und wie erstelle ich ein solches uninitialisiertes Schieberegister?

(27.11.2013 09:16 )GerdW schrieb:  - das Schieberegister an der äußeren Loop andocken...

Die Idee hatte ich auch und im Beispiel mit der Zufallszahl funktioniert es auch problemlos.
Komisch ist in meinem eigentlichen VI, wo ich die Funktion benötige, dass es nur manchmal funktioniert. Ich habe noch einen "Testwert" eingesetzt (siehe im VI) bevor das Nullsetzen erfolgt. Meistens ist aber der Testwert dann gleich wie der Ausgabewert (im VI Kanal1).

-anbei das eigentliche komplette VI mit Schieberegister an der äußeren Loop.

Vielen Dank für die Mühe!
redhand


Angehängte Datei(en) Thumbnail(s)
   

11.0 .vi  Wegmessung.vi (Größe: 26,3 KB / Downloads: 102)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.11.2013, 10:08
Beitrag #13

GerdW Offline
______________
LVF-Team

Beiträge: 17.425
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
Hallo redhand,

die FOR-Loop im Bild läuft nur genau einmal durch, da kannst du dir die Case-Struktur auch sparen...

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

redhand Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 112
Registriert seit: Sep 2013

2013
2013
DE


Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
(27.11.2013 10:08 )GerdW schrieb:  Hallo redhand,

die FOR-Loop im Bild läuft nur genau einmal durch, da kannst du dir die Case-Struktur auch sparen...
Das stimmt natürlichBlink

Wenn ich den Schleifenzählwert auf zb 100000 setze funktioniert es.
Wobei mich ein kleiner Fehler noch irritiert.
Und zwar: Starte ich das Programm zeigt der Wert "Kanal1" den absoluten Wert der Verschiebung an. Verschiebe ich nichts, logischerweise null. Verschiebe ich den Wegaufnehmer zeigt "Kanal1" beispielsweise 100. Stoppe ich jetzt das Programm und starte es wieder wird immernoch 100 angezeigt. Erst nach einigen Neustarts geht es wieder das der erste Wert auch 0 anzeigt.
Woran kann das liegen?
Ich denke das mit dem Schleifenzählwert habe ich in dem Zusammenhang noch nicht ganz verstanden. Was spielt es für meine Werte für eine Rolle ob ich 10000 eingebe oder 500? Construction
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.11.2013, 10:39 (Dieser Beitrag wurde zuletzt bearbeitet: 27.11.2013 10:41 von GerdW.)
Beitrag #15

GerdW Offline
______________
LVF-Team

Beiträge: 17.425
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
Hallo redhand,

Zitat:Wenn ich den Schleifenzählwert auf zb 100000 setze funktioniert es.
AUTOINDEXING RULEZ!
Lass die Konstante ganz weg...

Zitat:Woran kann das liegen?
KA
Check das mal mit Highlight-Debugging/Breakpoints/Sonden!

P.S.: x*488/1000 = x*0.488...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2013, 11:24
Beitrag #16

redhand Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 112
Registriert seit: Sep 2013

2013
2013
DE


Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
Hallo,

noch eine Frage zum selben VI (anbei nochmal ein aktuelles Bild)
Ich möchte die Werte über "Write to spreadsheet" auslesen und zwar jede halbe Sekunde 1 Wert.
Egal wo ich das VI "Warten" einsetze kommen keine aktuellen Werte mehr bei "Kanal1" (siehe Bild) an.

Bestimmt ist es ein Schleifenproblem, ich versteh nur nicht wo genau :/

Gruß redhand


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2013, 11:29
Beitrag #17

GerdW Offline
______________
LVF-Team

Beiträge: 17.425
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
Hallo redhand,

leider kann man anhand des Bildes nichts beurteilen, da man keinerlei Werte kennt noch die Anzahl der Werte bekannt ist.

Was siehst du beim (Highlight-)Debugging?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2013, 11:46 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2013 12:12 von redhand.)
Beitrag #18

redhand Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 112
Registriert seit: Sep 2013

2013
2013
DE


Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
(02.12.2013 11:29 )GerdW schrieb:  leider kann man anhand des Bildes nichts beurteilen, da man keinerlei Werte kennt noch die Anzahl der Werte bekannt ist.

Was siehst du beim (Highlight-)Debugging?

Anbei mal das gesamte VI.
Ich sehe je nachdem wo das "Warten" VI sitzt einfach wie die 500ms abgewartet werden, dann läuft alles normal weiter.
Die Werte stimmen insofern nicht, das wenn der Wegmesssensor verschoben wird keine aktuellen Werte kommen.
Außerdem kommen dann einfach quer durcheinandergewürfelte Werte.


Angehängte Datei(en)
11.0 .vi  Wegmessung via UART.vi (Größe: 26,31 KB / Downloads: 85)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2013, 12:51
Beitrag #19

GerdW Offline
______________
LVF-Team

Beiträge: 17.425
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
Hallo redhand,

leider enthält dein VI keine Messwerte, sodass man immer noch nichts debuggen kann.

Wieviele Werte stehen im Array "Wegmesswert"? Wie oft läuft die FOR-Loop durch? Wird Case1 überhaupt ausgeführt?
Was hast du im Highlight-Debugging gesehen und herausbekommen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2013, 14:55
Beitrag #20

redhand Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 112
Registriert seit: Sep 2013

2013
2013
DE


Deutschland
RE: Startwert eines kontinuierlichen Signals setzen
(02.12.2013 12:51 )GerdW schrieb:  leider enthält dein VI keine Messwerte, sodass man immer noch nichts debuggen kann.

Wieviele Werte stehen im Array "Wegmesswert"? Wie oft läuft die FOR-Loop durch? Wird Case1 überhaupt ausgeführt?
Was hast du im Highlight-Debugging gesehen und herausbekommen?
-Im Array "Wegmesswert" steht 1 Wert
-Die For-Loop läuft so lange wie die While-Schleife
-Ja, Case1 wird ausgeführt und liefert korrekte Werte

Dieses VI ist Teil eines GesamtVIs.
Ich habe das Problem jetzt mit lokalen Variablen gelöst.
Also es funktioniert zumindest mal. Sind lokale Variablen allgemein eine gute Möglichkeit um mit Werten zu hantieren?

Grüße
redhand
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
  Ring Eigenschaft innerhalb eines Arrays setzen Marcy 6 7.333 27.08.2014 22:07
Letzter Beitrag: Lucki
  Regelung eines TTL-Signals in Abhängigkeit eines bestimmten Drucks dommel 5 5.589 14.12.2011 14:22
Letzter Beitrag: jg
  Dialogbox Startwert editieren Götz 2 3.686 16.11.2011 12:01
Letzter Beitrag: Götz
  Startwert Array / Array "leeren" DaveTV 2 7.612 28.07.2011 16:26
Letzter Beitrag: DaveTV
  Erstellen eines zeitverzögerten Signals Slamdunker23 9 6.737 09.06.2011 08:12
Letzter Beitrag: Slamdunker23
  Erzeugung eines Signals aus Messwerten in einer Datei bhopke 4 5.095 19.10.2010 12:19
Letzter Beitrag: bhopke

Gehe zu: