LabVIEWForum.de
Werte zu einer Variable addieren (Schleife) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Werte zu einer Variable addieren (Schleife) (/Thread-Werte-zu-einer-Variable-addieren-Schleife)

Seiten: 1 2


Werte zu einer Variable addieren (Schleife) - Legoview - 09.11.2009 17:17

Hallo,
ich bin LabVIEW Neuling und möchte mit dem LabVIEW NXT Toolkit einen Roboter programmieren. Dabei denke ich das ich mit Variablen arbeiten muss.

Im Prinzip geht es nur darum in einer endlos Schleife den Wert eines Sensors zu messen und diesen in einer Variable zu speichern. Beim nächsten Umlauf der Schleife soll der neue Wert des Sensors zu dem altem Messwert in der Variable dazu addiert werden. Die Variable muss am Anfang des ersten Schleifenumlaufs den Wert Null haben.
Also in einer Programmiersprache sähe das so aus:

Gesamt=0
Endlossschleife
{
Gesamt=Gesamt+Messwert
}

Wie kann ich das in LabVIEW umsetzen? Vielleicht gibt es ja auch andere Möglichkeiten als Variablen zu nutzen. Wäre sehr dankbar für ein paar Hinweise.


Gruss Legoview


Werte zu einer Variable addieren (Schleife) - SeBa - 09.11.2009 17:22

Hallo,

hab hier kein LV zur Hand, daher "nur" die schriftliche Anweisung:

*While-Schleife
*Schieberegister, vorinitialisiert mit 0
*Inkrement

Fertig.

MfG SeBa


Werte zu einer Variable addieren (Schleife) - Y-P - 09.11.2009 18:05

Hier ein Bsp.:

[attachment=22343]
Lv85_img

Gruß Markus


Werte zu einer Variable addieren (Schleife) - Legoview - 09.11.2009 19:53

Danke für eure Antworten.

Das Beispiel von Y-P hat mir sehr weitergeholfen.


RE: Werte zu einer Variable addieren (Schleife) - Fredy Dilker - 25.02.2014 12:44

Servus!

Kann ich das nicht auch einfach mit einem Formelknoten machen!?
Also ich miene so:

Eingang formelknoten: messwert
Ausgang formelknoten: gesamt

gesamt += messwert;

Und das Ganze dann in eine while-, oder forschleife gepackt!

Geht das?? Oder merkt sich die gesamt-Variable nicht den vorherigen Wert!?

Grüße, und vielen Dank schonmal!

Fredy


RE: Werte zu einer Variable addieren (Schleife) - Kiesch - 25.02.2014 13:34

Warum sollte er sich das merken?

Labview ist keine textbasierte Programmiersprache und vor allem nur "leicht" variablenbasiert. Viel stärker kommt das Konzept des Datenflusses zum Zuge. Das einzige was sich (neben Bedienelementen und Anzeigeelementen) also deine Daten "merkt" ist ein Draht. Und durch den fließen sie zu den nächsten "Verbrauchern". Entsprechend muss man auch Labview explizit mitteilen wenn man ein "merken" von Werten wünscht. Zum Beispiel wie oben angesprochen durch Schieberegister an der Schleife.

Das Verhalten was du ansprichst zeigen btw. uninitialisierte Schieberegister in LV. Google dazu einfach mal nach FGV (Funktionale Globale Variable). Da wird genau das genutzt. Und das wäre auch die einzige Stelle an der mir sowas auf Anhieb bekannt wäre.

tldr: Das Konzept von Labview basiert nicht auf Variablen und entsprechend Verhält sich auch kaum was in LV wirklich genau wie eine Variable.

Gruß Kiesch


RE: Werte zu einer Variable addieren (Schleife) - Lucki - 25.02.2014 13:53

(25.02.2014 12:44 )Fredy Dilker schrieb:  Kann ich das nicht auch einfach mit einem Formelknoten machen!?
Kann man, aber was daran einfacher sein soll erschließt sich mir nicht. Erklär Du es! Hier der Vergleich:
[attachment=48657]
Schieberegister sind in Deinem Fall nicht zwingend erforderlich, aber sehr zu empfehlen. Bei Verwendung von lokalen Variablen besteht neben anderen Nachteilen die Gefahr, dass Labview den Code in anderer Reihenfolge abarbeitet als der Anfänger denkt. Hier im einfachen Beispile allerdings nicht. (Der Anfänger denkt z.B, wenn eine frei stehende loklale Variable ganz rechts oder ganz unten im Code platziert ist, dass sie dann auch ganz zuletzt gelesen oder beschrieben wird - falsch!)
[attachment=48658]


RE: Werte zu einer Variable addieren (Schleife) - jg - 25.02.2014 14:10

@Lucki: Nur die C-Syntax s += x anstatt s=s+x

Gruß, Jens


RE: Werte zu einer Variable addieren (Schleife) - Lucki - 25.02.2014 14:21

(25.02.2014 14:10 )jg schrieb:  @Lucki: Nur die C-Syntax s += x anstatt s=s+x
Danke, werde ich mir merken. Als Hardcore-Labviewer verwende ich Fomelknoten höchst selten, und hinzu kommt noch, dass ich außer Basic und Turbo-Pascal etwas anderes nicht ordentlich gelernt habe...


RE: Werte zu einer Variable addieren (Schleife) - Fredy Dilker - 26.02.2014 15:43

[/quote]Kann man, aber was daran einfacher sein soll erschließt sich mir nicht. Erklär Du es! Hier der Vergleich:

@Lucki: Ja ok! Ich kann es auch nicht erklären... ;-) Ist schon schön einfach Angel_not
Bei mir ist es eben gebau anders herum... LabVIEW-Neuling, aber C-geübt. Big Grin
Aber trozdem danke für das Beispiel!
Meine Frage war nur deshalb, weil ich genau so etwas machen muss. Ich hab nen vorhandenen Code, und den muss ich möglichst unumständlich in LabVIEW implementieren. Da hab ich gedacht, ich könnte den Code via Formelknoten in das Program einfügen...
Könnte mir vieleicht nochmal jemand weiter helfen wie ich das am einfachsten machen kann!?
Ich hab schon überlegt das mit hilfe von DLL´s zu versuchen. Aber irgendwie fehlt mir noch dr richtige Ansatz...
Merci schonmal für die Mühe!

Fredy