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 

Mehrer Wertebereiche (0.02-0.01;0.01-0.9;..) und jeweils andere Inkrementation



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!

03.01.2008, 10:59
Beitrag #1

Schoaschi Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Sep 2007

7.1
-
kA


Oesterreich
Mehrer Wertebereiche (0.02-0.01;0.01-0.9;..) und jeweils andere Inkrementation
Hi

Ich hab mir jetzt mein Messprogramm zusammengestellt bräuchte da einen kleinen Tipp für die elegante Lösung des Problems.

In einer Schleife(mit Schieberegister) wird einen Wert(nennen wir die Variable halt VAR_FUNC) auf einen Funktionsgenerator ausgebe, dann von 2 anderen Messgeräten meine Daten geholt, und danach der Wert (VAR_FUNC) um 0.001 erhöht.
Das Problem ist, ich beginne mit meinem Wert bei 0.002, erhöhe dann immer um 0.001 und beende das ganze wenn ich bei 12.0 bin.
Wär ja alles nicht so schlimm... wenn meine Messung nicht 0.5s dauern würde ;-).. Also würd die gesamte Messung in meinem Fall so ca. 100min dauern.... und dass ist zu viel.. und ausserdem ist es zu genau.

Nunja... ich würd jetzt gern folgendes machen:

Im Bereich von 0.002 bis 0.020 würd ich gern immer um 0.001 erhöhen.
Von 0.020 bis 0.050 um 0.005
Von 0.050 bis 0.100 um 0.010
von 0.010 bis 0.500 um 0.050
von 0.500 bis 1.000 um 0.100
von 1.000 bis 5.000 um 0.500
und von 5.000 bis 12.00 um 1.000.

In C würd ich das ganze bei mir so aussehen:

if (VAR_FUNC>= 0.002 && VAR_FUNC<0.020)
VAR_FUNC = VAR_FUNC + 0.001;
if (VAR_FUNC>=0.02 && VAR_FUNC<0.05)
VAR_FUNC = VAR_FUNC + 0. 005;
........

Wie kann ich nun das gleiche elegant in LabVIEW programmieren?
Ich hab mir schon gedacht, die ganzen Bereiche über Vergleichsfunktionen und mit Gater aufzubauen... und danach über eine Case-Struktur die Abfrage zu machen und halt in dem jeweiligen Bereich die gewünschte Zahl addieren. Da tritt nur das problem auf, dass ich nicht weis wie ich von der boolschen ausgabe, zu einer Dezimalzahl komme,die ich dann für die Case-Struktur verwenden kann.
Wie löse ich das?

Ich glaub, dass müsste ja über die Funktion "Boolean Array to number" funktionieren... nur wie komme ich zu meinem Boolean Array?


mfg Schoasch

PS.: Ich werd mal meine gedanken zu einem Programm formen und danach posten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.01.2008, 13:06
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Mehrer Wertebereiche (0.02-0.01;0.01-0.9;..) und jeweils andere Inkrementation
Hilft Dir das.....?


Sonstige .vi  Zaehler.vi (Größe: 21,07 KB / Downloads: 257)
Lv80_img
   

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2008, 13:36
Beitrag #3

Schoaschi Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Sep 2007

7.1
-
kA


Oesterreich
Mehrer Wertebereiche (0.02-0.01;0.01-0.9;..) und jeweils andere Inkrementation
Besten Dank.

So ähnlich hab ich es auch programmiert. Funktioniert jetzt einwandfrei.

mfg SChoasch
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2008, 13:59
Beitrag #4

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


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Mehrer Wertebereiche (0.02-0.01;0.01-0.9;..) und jeweils andere Inkrementation
' schrieb:In C würd ich das ganze bei mir so aussehen:

if (VAR_FUNC>= 0.002 && VAR_FUNC<0.020)
VAR_FUNC = VAR_FUNC + 0.001;
if (VAR_FUNC>=0.02 && VAR_FUNC<0.05)
VAR_FUNC = VAR_FUNC + 0. 005;

Und warum machst du es nicht? Du kannst diesen Code im Formelknoten einfügen und evtl. noch ein bisschen anpassen...und dann brauchst du die relativ aufwendige Programmierung in "G" (LabVIEW) mit der Case-Struktur nicht...

Das wär m. E. mal ne sinnvolle Anwendung des Formelknotens...wenn man den Code eh schon "hat"

Gruß
Achim

"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
03.01.2008, 14:24 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2008 12:31 von jg.)
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Mehrer Wertebereiche (0.02-0.01;0.01-0.9;..) und jeweils andere Inkrementation
Also wenn ihr mich fragt: ich würde hier überhaupt nichts programmieren. Insgesamt handelt es sich hier um lächerliche 36 Werte, und die kann man alle in eine Arraykonstante schreiben (deren Werte ich vorher mit einem kleinen Hilfsprogramm erzeugt habe)

Lv71_img


Angehängte Datei(en)
Sonstige .vi  Konstante.vi (Größe: 6,27 KB / Downloads: 250)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2008, 14:36 (Dieser Beitrag wurde zuletzt bearbeitet: 03.01.2008 14:37 von Grobi.)
Beitrag #6

Grobi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 220
Registriert seit: Jan 2007

2013
2006
kA

26725
Deutschland
Mehrer Wertebereiche (0.02-0.01;0.01-0.9;..) und jeweils andere Inkrementation
Kann man nicht in die Case-Struktur die Wertebereiche direkt reinschreiben?
Ja steinigt mich, ich weiß selber dass ich planlos bin Flop
Ich hab glaub ich nen Fehler drin im Bereich oder irgendein Komma ist falsch,
aber so als Grundgedanke mein ich nur..


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.01.2008, 16:54 (Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2008 12:31 von jg.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Mehrer Wertebereiche (0.02-0.01;0.01-0.9;..) und jeweils andere Inkrementation
' schrieb:Kann man nicht in die Case-Struktur die Wertebereiche direkt reinschreiben?
Ja steinigt mich, ich weiß selber dass ich planlos bin Flop
Das ist doch wohl nur Rethorik, insgeheim weiß Du doch selbst, daß Dein eigener Ansatz das beste Programm in diesem Threat ist! Ich habs mal so gemacht, daß es funktioniert. Allerdings, wie ich schon sagte, würde ich diese Programm nur als einmalig zu verwendendes Hilfsprogramm verwenden, um alle Werte in ein Array reinzuschreiben. Das wird dann im Hauptprogramm als Array-Konstante benutzt, durch Indexierung steht Dir dann jeder Wert zur Verfügung.

Lv71_img


Angehängte Datei(en)
Sonstige .vi  Inkrement.vi (Größe: 26,12 KB / Downloads: 236)
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
  Datei über Drag & Drop in andere Anwendung (kein LabVIEW) verschieben ahebauer 2 3.640 29.03.2017 08:41
Letzter Beitrag: ahebauer
Question Cluster nach Namen aufschlüsseln und aus den Namen jeweils eine Messdatei erzeugen Michael26 11 10.276 29.01.2015 09:40
Letzter Beitrag: GerdW
  Nachrichten-Queues, Exit wird nicht an andere Schleifen weitergereicht dali4u 4 6.179 28.10.2014 11:48
Letzter Beitrag: jg
  C Code an andere yc volker1967 4 4.552 14.01.2014 09:07
Letzter Beitrag: rolfk
  andere VIs als Prozesse in einer Schleife starten ceos 3 4.514 09.08.2011 09:42
Letzter Beitrag: ceos
  Projekt für Schule mehrer Signale einfügen in Graphen christian1117 10 9.114 17.02.2010 09:40
Letzter Beitrag: BsaiboT

Gehe zu: