LabVIEWForum.de
MathScript in eine LV.exe laden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: MathScript in eine LV.exe laden (/Thread-MathScript-in-eine-LV-exe-laden)

Seiten: 1 2


MathScript in eine LV.exe laden - toda4506 - 23.08.2011 14:14

Hallo zusammen,

ich habe eine *.exe Datei vorliegen, die mit LabView erstellt wurde. Dieses Programm steuert die Kommunikation mit verschiedenen Sensoren. Das heißt, es werden Sensorwerte aufgenommen, verarbeitet, abgespeichert und dargestellt. Diese Sensordaten sollen in verschiedenen Algorithmen verarbeitet werden. Ist es möglich, diese Alogorithmen, oder sagen wir einfacher mathematischen Funktionen, die extern über diverse Skripteditoren oder Matlab oder ähnlichem bearbeitet worden sind, einfach in so eine *.exe Datei hineinzuladen, ohne, dass man in das LabView Programm eingreifen muss? Also es soll dann während der Laufzeit einer Exe Datei eine mathematische Funktion geladen und ausgeführt werden.

Viele Grüße

TD


RE: MathScript in eine LV.exe laden - Y-P - 23.08.2011 15:57

Nö. Das kannst Du nicht in eine EXE hineinladen. Du musst Dein VI öffnen, Deine Algorithmen einbinden und dann die EXE neu erstellen.
Wie soll man einer EXE denn beibringen, wann sie was auszuführen hat? Das legst Du in Deinem VI fest.
Ein einfacher Vergleich: Du schaust Dir mit "Notepad" einen Text an und hast einen schönen Algorithmus um Bilder zu bearbeiten. Den kannst Du dann auch nicht einfach so in Notepad einfügen. Den müssen die Entwickler von Microsoft implementieren und dann ein neues "Notepad" erstellen.

Gruß Markus


RE: MathScript in eine LV.exe laden - gottfried - 23.08.2011 16:15

Na wenn das m-File vorhanden ist .... kann man es doch editieren

Gottfried


RE: MathScript in eine LV.exe laden - rolfk - 24.08.2011 07:00

Hallo Gottfried,

Das funktioniert meiner Meinung aber nicht. MathScript ist eine Implementation innerhalb von LabVIEW (ok nicht wirklich in LabVIEW selbst aber vollständig in LabVIEW geintegriert) einer Matlab ähnlichen Umgebung. Das m-Script wird dabei zur Editierzeit festgelegt, getestet und gedebugged und ist nicht einfach so zu ersetzen. Kommt noch hinzu dass Du nicht einfach ein beliebiges m-Script nehmen und in MathScript ausführen kannst. MathScript versucht Matlab kompatibel zu sein aber erreicht das lange nicht überall und wird es auch nie 100% sein.

Die andere Alternative, der Matlab Scriptknoten, ist ähnlich limitiert. Hier wird zwar über Active-X Matlab selber angesprochen um das m-File auszuführen, (weshalb dann auch Matlab auf der Maschine installiert sein muss), aber das m-Script wird wiederum zur Editierzeit festgelegt.

Wenn es unbedingt Matlab sein soll, müsste man über eine API Schnittstelle von Matlab, zur Laufzeit neue Scripts an diese Applikation schicken können. Wenn es etwas anderes sein darf gibt es etliche Möglichkeiten. Einen Formulaparser/Evaluator in LabVIEW selbst implementieren ähnlich wie in der Mathematics->Scripts and Formula->Formula Parser in LabVIEW verfügbar. Oder beispielsweise LabPython benützen um Python als Scripting Engine in LabVIEW zu integrieren. Oder LuaVIEW um eine komplete Lua Umgebung innerhalb von LabVIEW zur Verfügung zu haben.


RE: MathScript in eine LV.exe laden - Y-P - 24.08.2011 08:04

In der EXE ist doch noch gar nichts eingebunden. Blink
Er will doch nachträglich erst Matlab-Skripte einbinden. Wenn in der Software kein Skript aufgerufen wird, kann auch kein anderes eingebunden werden. Blink

Gruß Markus

(23.08.2011 14:14 )toda4506 schrieb:  Diese Sensordaten sollen in verschiedenen Algorithmen verarbeitet werden.



RE: MathScript in eine LV.exe laden - jg - 24.08.2011 08:27

(23.08.2011 14:14 )toda4506 schrieb:  Ist es möglich, diese Alogorithmen, oder sagen wir einfacher mathematischen Funktionen, die extern über diverse Skripteditoren oder Matlab oder ähnlichem bearbeitet worden sind, einfach in so eine *.exe Datei hineinzuladen, ohne, dass man in das LabView Programm eingreifen muss?
Noch mal zur Klarstellung, da es ein wenig untergeht:
Zitat:Wenn es etwas anderes sein darf gibt es etliche Möglichkeiten. Einen Formulaparser/Evaluator in LabVIEW selbst implementieren ähnlich wie in der Mathematics->Scripts and Formulsa->Formula Parser in LabVIEW verfügbar
Also, es IST etwas in LV verfügbar.

Gruß, Jens


RE: MathScript in eine LV.exe laden - Y-P - 24.08.2011 08:45

Ja, das ist alles in LabVIEW möglich, aber um das zu implementieren muss man das VI ändern und kann es nicht irgendwie nachträglich mit irgendeiner EXE, die weiß ich was macht, verkutteln.

Gruß Markus


RE: MathScript in eine LV.exe laden - jg - 24.08.2011 08:53

Doch, Markus, der Formelparser funktioniert auch in einer Exe!!!
Und damit es klar wird, wir reden über VIs aus dieser Palette:
[attachment=35435]
Gruß, Jens


RE: MathScript in eine LV.exe laden - rolfk - 24.08.2011 08:54

(24.08.2011 08:45 )Y-P schrieb:  Ja, das ist alles in LabVIEW möglich, aber um das zu implementieren muss man das VI ändern und kann es nicht irgendwie nachträglich mit irgendeiner EXE, die weiß ich was macht, verkutteln.

Gruß Markus

Der angesprochene Formula Parser kann algebraische Formeln parsen und evaluieren. Diese Formeln können zur Laufzeit durch den Benützer verändert werden. Dasselbe gilt auch für die Integration von Python mittles LabPython und Lua mittels LuaVIEW.

Der Formula Parser ist allerdings limitiert da er nur die einfacheren Grundrechenoperationen und eine Anzahl Funktionen unterstützt. Auch verlangt er Formeln mit ganz bestimmten Variablennamen, ist deshalb nicht so einfach für unbedarfte Benützer.


RE: MathScript in eine LV.exe laden - Y-P - 24.08.2011 09:03

Schon klar, aber dazu muss das VI in seiner EXE verbaut sein!!!
Er kann nicht einen Schalter auf eine LED geben, eine EXE daraus machen und dann Formeln einbinden wollen.
Wie ich ihn verstanden habe, hat er eine EXE, die irgendwelche Signale erfasst (die VIs dazu hat er, so wie ich es verstanden habe, nicht). Die erfassten Signale sollen nun ausgewertet werden. Dazu will er in seine schon vorhandene EXE (die nur Daten erfasst) die Matlab-Berechnungen,.... einbinden. Und das geht doch nicht, oder stehe ich total auf dem Schlauch??? Blink

Gruß Markus

(24.08.2011 08:53 )jg schrieb:  Doch, Markus, der Formelparser funktioniert auch in einer Exe!!!
Und damit es klar wird, wir reden über VIs aus dieser Palette:

Gruß, Jens