LabVIEWForum.de - BabyLIN-Adapter / keine EXE-Erstellung möglich

LabVIEWForum.de

Normale Version: BabyLIN-Adapter / keine EXE-Erstellung möglich
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich benutze den BabyLIN-LIN-Adapter von der Firma Lipowsky. Dazu habe ich eine LV-Applikation unter Labview2010 gebastelt unter Verwendung von mitgelieferten VIs/DLL. Dies funktioniert unter der Entwicklungsumgebung auch problemlos: Adapter öffnen, Daten kontinuerlich holen, darstellen, ggf. loggen, Adapter bei Beendigung der Applikation schliessen.

Nun wollte ich daraus mit dem Application Builder eine EXE erstellen. Die Erstellung funktioniert problemlos, nur das Ergebnis zeigt nicht die erwartete Funktionalität, scheinbar keine Kommunikation zum LIN-Adapter. Auch lässt sich die Applikation nicht über den STOP-Button schliessen.

Was muss ich wie im Application Builder einstellen damit das funktioniert ?
Ich habe meine Startup-VI, ein zusätzliches VI (welches ich immer "include") und unter Dependencies die BabyLIN.lvlib, die vi.lib und die BabyLIN.dll, diese sind "included if referenced".

Wie kann ich rausbekommen was schief läuft ? Das build log file sagt, daß alles ok sei, dies betrifft aber nur den Build-Vorgang.

Danke für Hinweise !

Gruß,
Armin
Hallo Armin,

Zitat:Wie kann ich rausbekommen was schief läuft ?
Error-Cluster auswerten - und zwar alle!
Danke für die schnelle Antwort.

Ich habe mir natürlich den Fehlerausgang des ersten BabyLIN-VIs (Open) angesehen von der Entwicklungsumgebung aus (da steht 0 drin für OK) und von meiner verunglückten EXE aus (da steht -100007 drin für "unable to open a file").

Das an sich hilft mir aber nicht weiter. Sicher ist es eine Build-Option die verhindert daß irgendein erwartetes File meines Projektes nicht da ist wo es im EXE erwartet wird und deshalb der Adapter nicht "geöffnet" werden kann.
Hallo Armin,

nun ja: vielleicht versucht ja auch der Treiber des LIN-Adapters irgendeine Datei (INI- oä) nachzuladen und findet sie nicht. Was sagt denn das Handbuch zu dieser LINOpen-Funktion? Irgendwo sollten die Fehlermeldungen ja auch erläutert sein...
Hallo Gerd,

die Doku der Fehler zum LIN-Adapter ist leider nur als rudimentär zu bezeichnen. Ich stehe mit dem Hersteller bereits in Kontakt.

Was mir jedoch noch aufgefallen ist, allerdings im VI welches hinter dem open-VI kommt: Dort wird ein Pfadstring auf eine Datei benötigt. Ich benutze die "Current VI's Path Function". Aus der Entwicklungsumgebung heraus ist der Pfad in Ordnung, im Fall meiner verunglückten EXE ist im Pfad an letzter Stelle der Name der erzeugten EXE zu finden, also in Summe kein Pfad als Ergebnis, sondern die Position meiner erzeugten EXE. Das kann dann natürlich nicht gehen. Wie kann ich das für beide Fälle in Ordnung bringen ?

Danke für die Geduld.
Hallo Armin,

dies könntest du auch durch Googeln schnell herausfinden, ist nämlich eine der häufigsten Fragen zu LabVIEW:
in der EXE musst du einmal mehr StripPath anwenden, um den Pfad zu erhalten. Ob EXE, erfährst du per PropertyNode "Application"...
Hallo Gerd,

ich habe den Google-Hinweis verstanden, nur leider hatte ich zunächst in der falschen Richtung (Application Builder) gesucht.

Mit korrekt zurechtgestutztem Pfad (sowohl für Entwicklung als auch für EXE) mit der PropertyNode Application.Kind wird die Datei gefunden und es klappt in beiden Fällen. Nur verstehe ich nach wie vor nicht den Einfluss auf das Open-VI des LIN-Adapters. Zunächst bin ich aber zufrieden.

Eigentlich bin ich Embedded-Programmierer, da tue ich mich viel leichter. Bei Labview verstehe ich oft nicht was wie gerade abgearbeitet wird. Was passiert sequentiell, was parallel und wie kann man synchronisieren. Da werde ich wohl noch einiges Lehrgeld bezahlen müssen.

Vielen Dank nochmal für die Hilfe und Geduld !

Gruß,
Armin
Hallo Armin,

hast du den Link in meiner Signatur bemerkt? Smile

Zitat:Was passiert sequentiell, was parallel und wie kann man synchronisieren.
Es gilt: Alles, was nicht durch Datenfluss verbunden ist, wird parallel abgearbeitet...
Hallo ArminD,

konntest Du bereits über BabyLIN ein schedule der ldf-Datei starten und Frames überwachen? Oder hast Du nur die mitgelieferten VIs genutzt, um z.B. einen Signalwert auszulesen?
Referenz-URLs