LabVIEWForum.de
Programmieren im Formelknoten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Programmieren im Formelknoten (/Thread-Programmieren-im-Formelknoten)



Programmieren im Formelknoten - DrHoas - 20.12.2007 15:34

Hallo,

kann mir jemand ein VI posten, aus dem ich die Syntax für die Programmierung im Formelknoten ablesen/abspicken/lernen kann? Vor Allem eine While-Schleife wäre mir wichtig. Die Hilfe finde ich zu dem Thema nicht sehr gelungen.

Danke.

Philipp


Programmieren im Formelknoten - Y-P - 24.12.2007 09:25

Hallo,

das hier ist ein Beispiel aus dem LabVIEW-Example-Finder. Was genau hinter der Berechnung steckt blicke ich nicht. Jedenfalls wird das Volumen berechnet.
Wenn Du (oder auch jemand anders) den Code genau verstanden hast (hat), dann kannst Du (er) ihn gerne posten. Mir ist die Verschachtelung der Schleifen und die Sytax (While(0), While(1)) suspekt. Irgendwie werden aber wohl die Schleifen so lange erhöht, bis der Eingangswert erreicht ist, aber wo dann multipliziert wird, weiß ich nicht.Big Grin

[attachment=10461]
Lv80_img

Gruß Markus


Programmieren im Formelknoten - rolfk - 24.12.2007 10:06

' schrieb:Hallo,

das hier ist ein Beispiel aus dem LabVIEW-Example-Finder. Was genau hinter der Berechnung steckt blicke ich nicht. Jedenfalls wird das Volumen berechnet.
Wenn Du (oder auch jemand anders) den Code genau verstanden hast (hat), dann kannst Du (er) ihn gerne posten. Mir ist die Verschachtelung der Schleifen und die Sytax (While(0), While(1)) suspekt. Irgendwie werden aber wohl die Schleifen so lange erhöht, bis der Eingangswert erreicht ist, aber wo dann multipliziert wird, weiß ich nicht.Big Grin

Der Formelknoten in neueren LabVIEW Versionen folgt im Wesentlichen der C Syntax. Ganz früher war das wesentlich eingeschränkter. Viele Dinge von C können auch im Formelknoten mit ein paar signifikanten Einschränkungen wie etwa keine Pointer, die aber auch die höhere Schule von C sind.

Rolf Kalbermatter


Programmieren im Formelknoten - Y-P - 24.12.2007 11:00

Ich weiß, das ist jetzt Offtopic, aber könntest Du kurz erklären was da in dem Formelknoten (in meinem Bsp. von Beitrag 2) vor sich geht?
Mit C habe ich schon ewig nichts mehr zu tun gehabt (und damals nur Grundlagen).
Rein interessehalber würde mich aber die Programmierung in dem Knoten doch interessieren. Unsure

Gruß Markus


Programmieren im Formelknoten - rolfk - 26.12.2007 16:23

' schrieb:Ich weiß, das ist jetzt Offtopic, aber könntest Du kurz erklären was da in dem Formelknoten (in meinem Bsp. von Beitrag 2) vor sich geht?
Mit C habe ich schon ewig nichts mehr zu tun gehabt (und damals nur Grundlagen).
Rein interessehalber würde mich aber die Programmierung in dem Knoten doch interessieren. Unsure

Gruß Markus

Im wesentlichen sind es drei ineinander verschachtelte Schlaufen um das Volumen eines"Kubuses mit den Dimensionen x, y, und z zu berechnen. Im Prinzip macht diese Routine nichts anderes dann:

vol = 0;

for (i=0; i < x; i)
{
for (j=0; j < y; j)
{
for (k=0; k < z; k)
{
vol = vol + 1;
}
}
}

und noch einfacher:

vol = x * y * z;

while (1) ist eigentlich nichts anderes als "solange bis 1 nicht mehr 1 ist", was natürlich nie passiert,
aber mit dem break; wird die Schlaufe irgendwann doch abgebrochen.

Warum so kompliziert dann?

So wie das aussieht kommt das direkt aus dem Testframework von LabVIEW. Jede Nacht wird auf mehreren Servern automatisch eine neue Version von LabVIEW kompiliert aus den letzten Quellcodebestandteilen aus dem Quellcodecontrolsystem. Dieses LabVIEW wird dann auf eine umfangreiche Bibliothek von VIs losgelassen, die mittels eines Testframworks geladen und ausgeführt werden. Alle diese VIs geben eine Boolean zurück der Success oder Failure angibt. Alle Fehler werden gelogt und am morgen erhalten die Entwickler eine Liste von Fehlern die aufgetreten sind. Dann können sie gleich schauen, was sie am Tag zuvor vermurkst haben.

Dieses Beispiel verwendet nicht so oft benützte Schreib- und Benützungsweisenvon Schlaufen. Normalerweise werden die Abbruchbedingungen von Schlaufen in der Schalufenbedingung festgelegt, aber man kann eine Schlaufe auch voreitig mit einem break; abbrechen.

Rolf Kalbermatter


Programmieren im Formelknoten - Y-P - 26.12.2007 18:56

Danke für die Info. Das muss ich mir jetzt mal in Ruhe anschauen. Big Grin

Gruß Markus


Programmieren im Formelknoten - Lucki - 27.12.2007 13:56

' schrieb:Warum so kompliziert dann?
So wie das aussieht kommt das direkt aus dem Testframework von LabVIEW.

Das ist die offensichtliche Erklärung, warum diese ganz einfache Sache auf maximal umständliche Art programmiert wird.

[attachment=10472]

Habe das mal in LV umgesetzt. Wenn es nur darum ginge, die Einheits-Volumenwürfel auszuzählen, dann würde man es wie im Bild ganz unten mit 3 einfachen for-Schleifen machen. Die verschachtelten Schleifen darüber sollen den Formelknoten implementieren. Sie bewirken genau dasselbe, mit dem Unterschied, daß die Abbruchbedingung in jeder Schleife anders und immer möglichst kompliziert formuliert sind.

Lv85_img


Programmieren im Formelknoten - rolfk - 29.12.2007 11:18

' schrieb:Das ist die offensichtliche Erklärung, warum diese ganz einfache Sache auf maximal umständliche Art programmiert wird.

[attachment=37495:Calculate.png]

Habe das mal in LV umgesetzt. Wenn es nur darum ginge, die Einheits-Volumenwürfel auszuzählen, dann würde man es wie im Bild ganz unten mit 3 einfachen for-Schleifen machen. Die verschachtelten Schleifen darüber sollen den Formelknoten implementieren. Sie bewirken genau dasselbe, mit dem Unterschied, daß die Abbruchbedingung in jeder Schleife anders und immer möglichst kompliziert formuliert sind.

Es ist nicht so sehr die Abbruchbedingung die hier wohl getested werden soll. Eher der Umstand das die richtigen Schleifen mit break verlassen werden (immer nur die jeweils Innerste), sowie die etwas ungebräuchliche Schreibweise der FOR Schlaufe, da der Bedingungsoperator leer ist.

Also einfach ein Test dass der eingebaute C Parser korrekten Code für diese Dinge produziert.

Rolf Kalbermatter


RE: Programmieren im Formelknoten - Traktor - 26.06.2021 22:29

In LV2012 konnte ich noch im Formelknoten einfach
y=y+1;
programmieren, so wie in C, PASCA VC, VB. u.s.w
in LV2020 funktioniert das nicht mehr!!!
Wer weiß warum???


RE: Programmieren im Formelknoten - Martin.Henz - 26.06.2021 23:22

Hallo Traktor,

warum sollte ein "y=y+1;" in LabVIEW 2020 nicht mehr funktionieren?
(ziemlich unvorstellbar)
Wenn du das so in den Raum stellst, dann schiebe bitte noch ein Beispiel hinterher.