LabVIEWForum.de
MathScript richtig nutzen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW MathScript RT (/Forum-LabVIEW-MathScript-RT)
+---- Thema: MathScript richtig nutzen (/Thread-MathScript-richtig-nutzen)

Seiten: 1 2


RE: MathScript richtig nutzen - Heber - 15.11.2017 08:31

(13.11.2017 15:57 )GerdW schrieb:  Hallo Heber,

Zitat:Habe leider nur noch LV2012
Profil_ergaenzen

Zu deinem VI: ich habe momentan keine Lizenz für MathScript, bekomme aber die Fehlermeldung, dass "x" nicht definiert sei. Vielleicht solltest du irgendwo den Datentyp für x definieren?


Rechtsklick auf den Output kann ich das ja auswählen welcher Datentyp es sein soll? Ich kann hier allerdings kein double auswählen...


RE: MathScript richtig nutzen - Heber - 15.11.2017 12:26

Kennt denn niemand ein Beispiel, in dem eine Funktion aus einem MathScript aufgerufen wird.

Die Beispielprogramme in der Hilfe sind leider wenig aufschlussreich...


RE: MathScript richtig nutzen - Heber - 15.11.2017 16:27

Ich habe jetzt einfach anstatt der function (da es ja ungemein kompliziert zu sein scheint eine selbst sehr einfache Funktion aufzurufen) nur den Script der function ohne den Kopf und das end geschrieben.

function Myfunction [output1, ... ,outputn] = myfunction(input1, ..., inputm)

....

end

Es treten allerdings auch dann Fehler auf, zB das persistent in einem MathScript Knoten nicht benutzt werden kann.

Kennt niemand ein Beispiel in dem nicht einfach nur 2 Zahlen addiert werden (so wie bei den Beispielen von NI) sondern eins mit dem man was anfangen kann?

Gruß Heber.


RE: MathScript richtig nutzen - jg - 15.11.2017 19:03

(13.11.2017 15:52 )Heber schrieb:  Datei im Anhang


PS. Habe leider nur noch LV2012

Nach 5 min Hilfe lesen konnte ich dein Problem lösen:
http://zone.ni.com/reference/en-XX/help/373123C-01/lvtextmathmain/caveats_recommendations_ms_search_paths/

Also, wo hast du deine *.m abgelegt? Standardmäßig ist unter den LabVIEW Optionen unter Tools->Options->Mathscript nur das "LabVIEW Data" Verzeichnis in deinem Benutzer-Verzeichnis eingetragen

Sobald ich deine Funktion dort abgelegt habe, hat dein VI funktioniert.

Gruß, Jens

EDIT: Und in Zukunft nicht so drängeln...


RE: MathScript richtig nutzen - Heber - 16.11.2017 20:12

(15.11.2017 19:03 )jg schrieb:  
(13.11.2017 15:52 )Heber schrieb:  Datei im Anhang


PS. Habe leider nur noch LV2012

Nach 5 min Hilfe lesen konnte ich dein Problem lösen:
http://zone.ni.com/reference/en-XX/help/373123C-01/lvtextmathmain/caveats_recommendations_ms_search_paths/

Also, wo hast du deine *.m abgelegt? Standardmäßig ist unter den LabVIEW Optionen unter Tools->Options->Mathscript nur das "LabVIEW Data" Verzeichnis in deinem Benutzer-Verzeichnis eingetragen

Sobald ich deine Funktion dort abgelegt habe, hat dein VI funktioniert.

Gruß, Jens

EDIT: Und in Zukunft nicht so drängeln...

Hallo. Danke das hat tatsächlich geholfen. Nun habe ich ein gelbes Dreieck als Warnung, dass die Performance herabgesetzt ist.

Ich habe in der Hilfe nachgesehen und dort steht, dass bestimmte Schlüsselwörter das verursachen können. Ich nutze zB persistent, was auch eines dieser Schlüsselwörter ist. Persistent wird benutzt um bestimmte Variablen in der function zwischen zu speichern, so dass sie beim nächsten Aufruf dieser mit dem vorherigen Wert initialisiert sind.

Reicht es aus anstatt persistent die benötigten Variablen über ein Unit Dealy oder ein Transport Delay zurück zu führen?

Gruß Heber


RE: MathScript richtig nutzen - GerdW - 17.11.2017 07:47

Hallo Heber,

Zitat:Danke das hat tatsächlich geholfen.
Ist das nicht genau das, was ich dir vor (knapp) einem Monat schon mal gesagt hatte?

Zitat:Persistent wird benutzt um bestimmte Variablen in der function zwischen zu speichern, so dass sie beim nächsten Aufruf dieser mit dem vorherigen Wert initialisiert sind.
Sowas würde man in LabVIEW mit einem Schieberegister erledigen… Wink

Zitat:Reicht es aus anstatt persistent die benötigten Variablen über ein Unit Dealy oder ein Transport Delay zurück zu führen?
Probier es doch einfach aus: geht viel schneller als zu fragen!


RE: MathScript richtig nutzen - Heber - 18.11.2017 12:04

Zitat:
Zitat:Danke das hat tatsächlich geholfen.
Ist das nicht genau das, was ich dir vor (knapp) einem Monat schon mal gesagt hatte?

Das kann sein.

Zitat:
Zitat:Persistent wird benutzt um bestimmte Variablen in der function zwischen zu speichern, so dass sie beim nächsten Aufruf dieser mit dem vorherigen Wert initialisiert sind.
Sowas würde man in LabVIEW mit einem Schieberegister erledigen… Wink

Welche aber nach wie vor nicht bei einer Regel- und Simulationsschleife verwendet werden können. (Hatte ich schonmal erwähnt ;D)

Zitat:
Zitat:Reicht es aus anstatt persistent die benötigten Variablen über ein Unit Dealy oder ein Transport Delay zurück zu führen?
Probier es doch einfach aus: geht viel schneller als zu fragen!

Ja werde es ausgibig testen. Der Controller geht aber auf dem Zahnfleisch mit den Anforderungen. Naja ist ja schon nen älteres Modell^^