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 

LabView und Mathematica Link for LabView



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!

05.02.2013, 14:37
Beitrag #1

Salia80 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Feb 2013

8.5
2012
DE



LabView und Mathematica Link for LabView
Hallo!

Im Rahmen eines Wägeexperiments nehmen wir alle 2s verschiedene Messwerte auf, unter Verwendung eines LV-Programms. Bisher konnte LV all unsere Probleme lösen, aber jetzt scheinen wir ein wenig an die Grenzen des Programms zu stoßen.
Es geht um folgendes Problem:Zur Ermittlung des Auftriebs aus den Messwerten "Druck" und "Temperatur" soll zu jedem Wertepaar eine Lösung der sog. Virialgleichung ermittelt werden und dann gleich in die Datei geschrieben werden (damit wir das nicht im Nachhinein "per Hand" machen müssen -was bei tausenden Werten auch nahezu unmöglich wäre). Die Virialgleichung ist in unserem Fall ein Polynom 4. Ordnung und die jeweiligen Koeffizienten hängen in nicht ganz trivialer Weise von der Temperatur ab.
Abgesehen davon, dass es ein recht großer Aufwand wäre, diese Gleichung in LV einzuprogrammieren (im Formelknoten verliert man vor lauter Klammern schnell den Überblick), scheint mir das Lösen einer solchen Gleichung doch ein wenig zu "hoch" für LV zu sein. Nicht, dass ich glaubte, es schaffe dies generell nicht. Aber für Programme wie Maxima oder Mathematica sind solche Formeln ein Klacks, ohne allzuviel Programmieraufwand.

Daher war meine Idee, dass LV und Mathematica Hand in Hand vielleicht mein Problem lösen könnten. Dazu fand ich den "Mathematica Link for LabView", eine Art Zusatzprogramm, das wohl LV und Mathematica kommunizieren/interagieren lässt.

Meine Frage wäre: Hat irgendjemand Erfahrungen mit diesem Programm? Insbesondere wäre interessant zu wissen, ob diese Kommunikation während der Messung so einfach möglich ist oder ob z.B. die Übermittlung der Daten, Berechnung der entsprechenden Werte durch Mathematica und dann anschließende Rückübermittlung bereits so viel Zeit in Anspruch nehmen würde, dass mir das Messprogramm Probleme bereiten würde, wenn ich ein Messintervall von 2s habe.

Es ist mir übrigens deswegen wichtig mehr über diese Möglichkeit zu erfahren, weil wir dann erst Mathematica samt Zusatzprogramm kaufen müssten (wir benutzen im Moment Maxima), sollte es sich als nützlich erweisen.

So, ich hoffe, ich konnte einigermaßen verständlich machen, auf was ich hinaus will. Ich bin noch nicht besonders fortgeschritten in LV oder anderen Programmiersprachen und kann mich deswegen nicht so "fachlich gekonnt" ausdrücken 8-)

Vielen Dank für jeden Tipp oder Erfahrungsbericht, den Ihr für mich habt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
05.02.2013, 16:03
Beitrag #2

swatski Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 51
Registriert seit: Jul 2011

2010, 2012
2010
DE_EN


Deutschland
RE: LabView und Mathematica Link for LabView
Hallo Salia,

komplizierte Formeln kannst du mit Formula Node oder dem Express VI Formula bearbeiten.
Du kannst mehrere Eingänge definieren, deine Formel angeben und am ende kommt dein Ergebniss raus.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2013, 10:16
Beitrag #3

Salia80 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Feb 2013

8.5
2012
DE



RE: LabView und Mathematica Link for LabView
Nach einer kurzen Recherche im Internet bin ich leider über den wenig erfreulichen Umstand gestolpert, dass das angesprochene Linkprogramm wohl schon recht alt ist (weswegen vermutlich auch die Antworten ausblieben) und nur mit ebenso alten Versionen von LabView (maximal 8.0.1) und Mathematica (max. 7) funktionert. Gut, die alte LV-Version haben wir noch im Institut, aber Mathematica samt Link-Programm müssten wir dann erst anschaffen. Ärgerlich, wenn man dafür eine Uralt-Version kaufen muss (ist ja nicht gerade billig).

Hat jemand von Euch Erfahrung damit, wie man per C-Programmierung eine Kommunikation zwischen LV und Mathematica herstellen kann? Laut unseres Software-Anbieters geht das prinzipiell.

Bzw. weiß jemand, ob man LV nicht eventuell doch dazu bringen könnte, komplizierte Gleichung zu LÖSEN (nicht nur einsetzen und ausrechnen -> LV soll eine Gleichung 4. Ordnung, nämlich D(T)*x^4 + C(T)*x^3 + B(T)*x^2 + A *x - p/(R*T) = 0 lösen, wobei die Messwerte T (Temperatur) und p (Druck) jedes Mal eingesetzt, die Koeffizienten ausgerechnet und die Gleichung dann nach x gelöst werden soll. Hinter den Koeffizienten verstecken sich wiederum von T abhängige, nicht ganz unkomplizierte Formeln und x ist in unserem Fall die Gasdichte, die für jedes Wertepaar berechnet werden muss. Per Hand geht das bei mehreren tausend Messwerten nicht mehr.)

Ich kann durchaus (Sub)VIs schreiben, die die Koeffizienten berechnen. Aber beim Thema "Lösen einer Gleichung höherer Ordnung" muss ich passen. Und die Suche hier im Forum hat eigentlich nur ergeben, dass davon abgeraten wird, eine solche Mathematik mit LV zu betreiben, da es ja passende Software wie Mathematica gibt. Nur nützt mir das hier nichts.

Nun gut, vielleicht kann mir ja doch noch jemand weiterhelfen. Und sei es nur mit einem Tipp, wo ich so etwas programmieren lassen kann (dann am besten in einer PN, nicht dass es noch Ärger wegen Werbung oder so etwas gibt).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2013, 10:49
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: LabView und Mathematica Link for LabView
Hallo Salia,

Zitat: LV soll eine Gleichung 4. Ordnung, nämlich D(T)*x^4 + C(T)*x^3 + B(T)*x^2 + A *x - p/(R*T) = 0 lösen, wobei die Messwerte T (Temperatur) und p (Druck) jedes Mal eingesetzt, die Koeffizienten ausgerechnet und die Gleichung dann nach x gelöst werden soll. Hinter den Koeffizienten verstecken sich wiederum von T abhängige, nicht ganz unkomplizierte Formeln und x ist in unserem Fall die Gasdichte, die für jedes Wertepaar berechnet werden muss.
- Die Koeffizienten A-D musst du sowieso irgendwo berechnen, anscheinend ist das aber eine feste Formel -> die kann man in einem subVI abbilden.
- p und T sind Messwerte, R bekannt und A-D nach Rechnung ebenfalls
- Du hast jetzt also die Formel dx^4+cx^3+bx^2+ax+n=0 und in der Mathematikpalette die Funktion "Nullstellen eines Polynoms berechnen": was brauchst du mehr?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2013, 13:58
Beitrag #5

Salia80 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Feb 2013

8.5
2012
DE



RE: LabView und Mathematica Link for LabView
Hm, auf die letzte Frage bezogen, müsste ich wahrscheinlich antworten: Mehr Ahnung von LabView?!?

Den Weg mit "Nullstellen eines Polynoms berechnen" wollte ich ursprünglich auch gehen bzw. habe diverse Ansätze unternommen, LabView ein vernünftiges Resultat zu entlocken.

Solange ich feste Koeffizienten per Hand in das zugehörige Array eingebe (z.B. 1, 2, 3, 4), berechnet mir das VI auch brav die richtigen Lösungen. Bei dem Versuch, das Array mit "In Array einfügen" und den zugehörigen SubVIs (die die jeweiligen Koeffizienten berechnen, wenn auch derzeit noch nicht ganz richtig - *seufz* Fehlersuche bei komplizierten Formeln macht Spaaaaß :-P) zu füllen und die Nullstellen berechnen zu lassen, bin ich dann stecken geblieben. Ich tue mir außerdem schwer, den Term p/(RT) zu integrieren bzw. bin mir nicht sicher, wie das Polynom tatsächlich aussieht, das LV aufstellt. Beginnt die Indizierung i bei 0 oder bei 1? Im VI steht ja die Summenformel "*Summe über* a_i*x^i". Kann man das irgendwo nachschauen?

Gut, ich werde mich jetzt erst einmal mit den Fehlern in den SubVIs beschäftigen. Morgen hab ich vielleicht wieder einen klareren Kopf und seh, was in meinem VI nicht passt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.02.2013, 14:13 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2013 14:18 von GerdW.)
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: LabView und Mathematica Link for LabView
Hallo Salia,

Zitat:Bei dem Versuch, das Array mit "In Array einfügen"
Das hört sich schon so grausam an Big Grin
"In Array einfügen" ist garantiert nicht die richtige Funktion, ein Element an der richtigen Stelle abzulegen. Entweder du erstellst dein Parameter-Array mit BuildArray oder nutzt ReplaceArraySubset, um Werte kontrolliert zu ersetzen...

Zitat: Ich tue mir außerdem schwer, den Term p/(RT) zu integrieren bzw. bin mir nicht sicher, wie das Polynom tatsächlich aussieht, das LV aufstellt. Beginnt die Indizierung i bei 0 oder bei 1?
Der Term ist wohl p0. Und die Indizierung beginnt (wie in jeder ordentlichen Programmiersprache!) bei 0...

Die Nullstellensuche erwartet ein Array P(x) mit den Polynomkoeffizienten - in aufsteigender Reihenfolge p0, p1,...,p4!
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.02.2013, 14:40
Beitrag #7

Salia80 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Feb 2013

8.5
2012
DE



RE: LabView und Mathematica Link for LabView
Okay, danke schön :-)

Dann versuch ich das Ganze doch mal mit "Build Array". Mal schauen, wie gut es klappt. Hab bisher noch nie wirklich mit Arrays gearbeitet, deswegen gleicht diese Geschichte an manchen Stellen wohl einem (für einen Profi sicher grausam anmutenden) Trial and Error.
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
  LabVIEW 7.1 vi Code in LabVIEW 2015 öffnen Muri 9 6.824 01.03.2017 13:02
Letzter Beitrag: Muri
  Speicherauslastung von LabView, mit LabView auslesen Adiboing 1 6.436 08.03.2011 16:05
Letzter Beitrag: NWOmason
  Labview 8.2 und LAbview 2010 auf einem PC Hachiko 1 3.259 19.11.2010 13:01
Letzter Beitrag: RMR
  Kommunikation mit Profibusadapter IBH Link S7 ++ markus.h 1 5.071 10.06.2010 11:14
Letzter Beitrag: picard2002
  Daten per Queue von LabVIEW DLL an LabVIEW exe astraios 1 5.651 06.06.2008 07:19
Letzter Beitrag: rolfk
  LabVIEW.lib was not called from a LabVIEW process stimpy 5 5.035 22.05.2007 08:13
Letzter Beitrag: IchSelbst

Gehe zu: