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!
diesmal habe ich eine Frage bezüglich LV-Scripting (LV 2015)
Ich habe ein LV übergeordnetes Hauptsystem, dass LV über ActiveX steuern soll. Dabei soll es nur eine Schnittsetlle zwischen den beiden Programmen geben (ein "kommunikations vi"). Diesem VI werden Informationen zur Verfügung gestellt wie die Auswahl des Messgerätes, Auswahl der Datenanalyse,... Anhand dieser Informationen werden dann entsprechende sub-vi´s ausgewählt un verschaltet. Bis dahin sehe ich kein Problem und hab das anhand eines sehr einfachen Beispieles per scripting umgesetzt. Jetzt komme ich aber an einem Punkt nicht weiter:
Durch das Scripting wird ja ein neues VI erzeugt. Wie schaffe ich es, dieses VI nun automatisch zu speichern, um anschließend das VI auch automatisch wieder auszuführen? (Bei der Ausführung sehe ich wenig schwierigkeiten) aber am abspeichern scheitert es, um dann auf das gespeicherte vi zuzugreifen.
Ich hoffe ich konnte es einigermaßen erklären worauf ich hinaus will.
Bei Fragen stehe ich natürlich gerne zur Verfügung, es kann nur sein, dass es etwas dauert bis ich zurückschreiben kann.
So was habe ich gesucht, aber bisher nicht gefunden. Mein Fehler war, dass ich den Methodenknoten auf der falschen Ebene aufgerufen habe und mir das speichern:Insturment somit nie zur Auswahl stand...
Ich kann die Methode jetzt zwar Aufrufen, wird aber mit Fehler 8 gestoppt...
Fehler 8 bei Methodenknoten in Scripting_VI_Change.vi
Mögliche Ursachen:
LabVIEW: Dateiberechtigungsfehler. Sie haben nicht die erforderlichen Zugriffsrechte für die Datei.
=========================
NI-488: DMA-Hardwarefehler festgestellt.
Methodenname: Speichern:Instrument
Ich werde heute selbst noch ein wenig suchen und wenn ich bis morgen nicht erfolgreich bin, mein Beispielprogramm mal hochladen.
sorry dass ich mich erst so spät wieder melde, aber heute gings nicht früher...
Ja ich habe nen gültigen Pfad drin und bin mittlerweile auch vom Netztlaufwerk mal auf ein Lokales Verzeichnis umgestiegen, der Fehler bleibt jedoch der selbe.
Ich habe den Methodenknoten (Speichern:Instrument) inzwischen auch an verscheidenen Ebenen ausprobiert, auch das erfolglos.
Und auch sonst habe ich versucht alle laufenden Referenzen zu schließen, bevor ich das VI speichern will...
Für weitere Tipps bin ich sehr dankbar
Im Anhang ist jetzt mal meine aktuelle Datei, nur leider durch das probieren nicht mehr ganz so schön... ich bitte darüber hinweg zu sehen Die Datein ist in LB 2015 SP1 entstanden.
P.S.: Es ist IMHO kein guter Stil, einen Dateinamen-Pfad mit String-Funktionen zusammenzubauen. Dafür gibt es entsprechende VIs unter der Palette der File-VIs.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Ich muss mir in LV echt noch angewöhnen das ganze besser zu lesen und verstehen...
Ich dachte, dass ich nur den Ordner angeben muss und er sich den Namen über mein Eingabefeld "VI-Name" holt...
Zu deinem zweiten Punkt muss ich mir erst nochmal mein Programm anschauen um es zu verstehen. Ich weiß, dass mein Fehlerhandling gerade noch ziemlich bescheiden aussieht, aber dass ich mit nem Fehler in die Safe Node rein bin ist mir bisher noch nicht aufgefallen. Bei der Vi_Refnum dachte ich eigentlich, dass ich mit dem Eigenschaftsknoten "ÜbergeordnetesVI" wieder in der richtigen Ref bin...
Dass mit dem Datenfluss hatte ich sogar schon mal richtig, nur hat auch das nicht zum erfolg geführt.
Wahrscheinlich war es einfach das Ergebnis unsauberer Programmierung - bin in der LV Welt nocht nicht so ganz zuhause
Ich muss mir in LV echt noch angewöhnen das ganze besser zu lesen und verstehen...
Ich dachte, dass ich nur den Ordner angeben muss und er sich den Namen über mein Eingabefeld "VI-Name" holt...
Zu deinem zweiten Punkt muss ich mir erst nochmal mein Programm anschauen um es zu verstehen. Ich weiß, dass mein Fehlerhandling gerade noch ziemlich bescheiden aussieht, aber dass ich mit nem Fehler in die Safe Node rein bin ist mir bisher noch nicht aufgefallen. Bei der Vi_Refnum dachte ich eigentlich, dass ich mit dem Eigenschaftsknoten "ÜbergeordnetesVI" wieder in der richtigen Ref bin...
Wenn halt aus dem OpenNode, was du verwendet hast, nicht schon ein Fehler rausgekommen wäre. Somit gab es auch kein übergeordnetes VI...
Sieht man ja auch daran, dass das Verknüpfen mit dem Connector Pane (ich nehme an, das wollest du machen?!) nicht funktioniert hat. Such einmal im NI Example Finder, da ist ein Beispiel, wie das richtig geht.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Also ich hab das Programm nochmal neu aufgesetzt, versucht auf alle Tips zu achten und siehe da es funktioniert
Allerdings weiß ich nicht genau, was du mit dem "Verknüpfen mit dem connector Pane" meinst, ich habe daran jetzt nichts geändert und trotzdem funktioniert es... Habe mir auch die Beispiele angeschaut und eigentlich keinen Unterscheid gefunden.
Im Anhang ist noch einmal mein aktuelles Beispiel, falls noch einmal jemand danach sucht. Und wenn es hierfür noch verbesserungsvorschläge gibt, bin ich für alles offen
(02.03.2017 09:25 )Andi88 schrieb: Also ich hab das Programm nochmal neu aufgesetzt, versucht auf alle Tips zu achten und siehe da es funktioniert
Allerdings weiß ich nicht genau, was du mit dem "Verknüpfen mit dem connector Pane" meinst, ich habe daran jetzt nichts geändert und trotzdem funktioniert es... Habe mir auch die Beispiele angeschaut und eigentlich keinen Unterscheid gefunden.
Das Problem ist, das dein VI zwecks der fest codierten Pfade mit deinem Usernamen nur auf deinem Rechner ausführbar ist. Ich habe deshalb nicht verstanden, dass du ein SubVI in dein VI einsetzt und gedacht, dass du deine beiden Numerics mit dem ConnectorPane des erzeugten VI verbinden wolltest.
(02.03.2017 09:25 )Andi88 schrieb: Im Anhang ist noch einmal mein aktuelles Beispiel, falls noch einmal jemand danach sucht. Und wenn es hierfür noch verbesserungsvorschläge gibt, bin ich für alles offen
Pfad VIs wie z.B. Build Path verwenden!
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!