12.07.2017, 08:08
Beitrag #1
|
|
|
12.07.2017, 08:21
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2017 08:27 von GerdW.)
Beitrag #2
|
GerdW
______________
Beiträge: 17.481
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Unterschied zw. Formelknoten und Formel VI
Hallo Hansi,
Zitat:leider funktioniert das nicht so wie ich mir es vorstelle.
Ich weiß ja nicht, was du dir "vorstellst". Aber ich weiß, was die LabVIEW-Hilfe zum Thema sagt…
Zitat:Gibt es dafür einen anderen Syntax oder sind darin if-else Anweisungen nicht vorgesehen?
Ja, siehe LabVIEW-Hilfe…
Vereinfacht ausgedrückt:
- FormulaParsing macht Mathematik in der Art von y=f(x)
- FormulaNode macht eine C-ähnliche Syntax inkl. Logikoperationen
P.S.:
Oder mal für ältere LV-Versionen speichern…
P.P.S.:
- FormulaParsing unterstützt die MAX()-Funktion: output := MAX(a-b, b-a)…
- Alternativ gilt auch output := abs(a-b)…
|
|
|
12.07.2017, 09:04
Beitrag #3
|
hansi9990
LVF-Gelegenheitsschreiber
Beiträge: 180
Registriert seit: Mar 2015
2019
2014
DE
96xxx
Deutschland
|
RE: Unterschied zw. Formelknoten und Formel VI
Auf jeden Fall habe ich mir das so nicht vorgestellt
Dei Hilfe ist etwas undurchsichtig, hier steht nichts davon das if Anweisungen nicht erlaubt sind andererseits steht aber hier
http://zone.ni.com/reference/en-XX/help/..._formnode/
das die von dir vorgeschlagenen Funktionen "atan2, max, min, mod, pow, rem und sizeOfDim sind ungültig."
|
|
|
12.07.2017, 09:17
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2017 09:20 von GerdW.)
Beitrag #4
|
GerdW
______________
Beiträge: 17.481
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Unterschied zw. Formelknoten und Formel VI
Hallo Hansi,
Zitat:Dei Hilfe ist etwas undurchsichtig
Im oben verlinkten Hilfe-Artikel einfach den Link im letzten Satz beachten.
Da steht, was FormulaParse kennt:
Zitat:Refer to Formula Node and Expression Node Functions for functions you can use with Formula Parsing VIs.
(Nach genauerem Lesen ist max(a,b) evtl. nicht im FormulaParse erlaubt, es werden "binary functions" ausgenommen. Aber dafür ist abs(x) nicht binär…)
Zitat:hier steht nichts davon das if Anweisungen nicht erlaubt
Wenn etwas nicht ausdrücklich als "erlaubt" gekennzeichnet ist, heißt das nicht, das es nicht "nicht erlaubt" ist…
|
|
|
12.07.2017, 12:35
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2017 12:36 von hansi9990.)
Beitrag #5
|
hansi9990
LVF-Gelegenheitsschreiber
Beiträge: 180
Registriert seit: Mar 2015
2019
2014
DE
96xxx
Deutschland
|
RE: Unterschied zw. Formelknoten und Formel VI
Das ist doch der Link den ich geteilt hatte [url= http://zone.ni.com/reference/en-XX/help/..._formnode/] http://zone.ni.com/reference/en-XX/help/..._formnode/[/url]
und da steht doch:
The parser in the Mathematics VIs supports all elements that Formula Nodes support with the following exceptions:
Variables—Only a, a0, ..., a9, ... z, z0, ..., z9, are valid.
Logical, conditional, inequality, equality—?:,, &&, !=, ==, <, >, <=, and >= are not valid.
Functions—atan2, max, min, mod, pow, rem, and sizeOfDim are not valid. You can use these functions in a Formula Node or use their corresponding LabVIEW functions.
Wenn da steht, das die gleichen Elemente wie im Forlemknoten unterstützt werden, ausgenommen der angeführten Elemente, woher soll man denn jetzt wissen das if nicht unterstütz wird?
|
|
|
12.07.2017, 12:50
(Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2017 12:58 von GerdW.)
Beitrag #6
|
GerdW
______________
Beiträge: 17.481
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Unterschied zw. Formelknoten und Formel VI
Hallo Hansi,
wenn du meinem Link oben folgst und dort dann auf den Link im letzten Satz klickst, landest du hier!
Dort steht keine IF-Funktion…
Ich probiere es nochmal so:
Der Formelparser ist zum Parsen (mehr oder weniger komplexer) mathematischer Formeln der Art y=f(x) da. Ich kenne keine mathematische Formel, die einem IF oder WHILE oder CASE entspricht.
Der Formelknoten verarbeitet eine C-ähnliche Syntax, dort sind durchaus Befehle zur Programmflusssteuerung (eben IF, WHILE, CASE, etc.) erlaubt…
|
|
|
18.07.2017, 13:57
(Dieser Beitrag wurde zuletzt bearbeitet: 18.07.2017 14:12 von Lucki.)
Beitrag #7
|
|
|
01.10.2017, 12:34
(Dieser Beitrag wurde zuletzt bearbeitet: 01.10.2017 12:34 von hansi9990.)
Beitrag #8
|
hansi9990
LVF-Gelegenheitsschreiber
Beiträge: 180
Registriert seit: Mar 2015
2019
2014
DE
96xxx
Deutschland
|
RE: Unterschied zw. Formelknoten und Formel VI
Zwar schon etwas her aber ich Antworte trotzdem mal
Nee das Funktioniert eben nicht,
angenommen a=2 und b=1, dann kommt am Formelknoten 1 raus (was es ja auch machen soll) und an den Formel vi's zwei mal -1 (falsch),
wenn a=1 und b=2 dann kommt am Formelknoten wieder 1 raus und an den Formel vi's auch zwei mal 1
Ergo die if then else Anweisungen in den Formel vi's haben keine Funktion, lediglich das o=a-b wird ausgeführt.
Und nochmal zur Beschreibung, hier Formelknotensyntax steht eindeutig das if then else Anweisungen in Formelknoten zulässig sind, hier Differences between the Parser in the Mathematics VIs and the Formula Node stehen eindeutig die Unterschiede bzw. die Ausschließungen (The parser in the Mathematics VIs supports all elements that Formula Nodes support with the following exceptions: ) und die "if then elses..." Anweisungen werden hier nicht ausgeschlossen, wenn also die "if then else..." Anweisungen in Formelknoten erlaubt sind und in den Unterschieden nicht ausgeschlossen werden woher soll man dann wissen das diese in den Parser VI nicht zulässig sind, ergo die Hilfe ist nicht vollständig oder undurchsichtig.
|
|
|
| |