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 

vi aus DLL erstellen



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!

11.01.2013, 14:26
Beitrag #1

leon_lab Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jan 2013

9.0
2013
DE



vi aus DLL erstellen
Hallo zusammen,

ich bin blutiger Anfänger was LabView betrifft und hab startschwierigkeiten. Ich hoffe ihr wollt mir als Neuling helfen. Vielen Dank Smile

Ich hab ein Projekt bekommen bei dem es schon eine *.lvlib gibt und in dieser sind bereits schon einige Funktionen einer DLL.

Ich muss jetzt eine weitere Funktion der DLL dieser lib hinzufügen.

Ich bin folgendermaßen vorgangen:

1. *lvlib geöffnet, hinzufügen -> neu -> .vi hinzufügen
2. Konnektivität -> Bibliotheken -> Knoten zum Aufruf externen Bibliotheken
3. DLL ausgewählt, Funktion aus der Liste ausgewählt, WinAPI ausgewählt.
4. Parameter eingegeben die die Funktion verlangt.
5. Gespeichert.

Problem NR1:
Das von mir erstellte .Vi wird nicht unter "Eigene Bibliotheken" angezeigt, die anderen aber schon.

Problem NR2:
Wenn ich über "VI auswählen" das neue .vi einfüge wird es angzeigt, ich kann es per doppelklick öffnen, aber ich kann das nicht mit den anderen Elemente Verbinden. Was mach ich denn falsch? Muss ich irgendwo noch etwas einstellen?


Ich hab noch etwas anderes im Internet gefunden und zwar über Werkzeuge->Importieren->DLL. Wenn ich dass mache erstellt er mir aber eine neue .lvlib. Wenn ich da dann das .vi der alten hinzufügen will er die neue.lvlib auch einbinden. Hier kann ich dann die Parameter verbinden. Was mach ich denn nur falsch? Tu schon 3 Tage mit so etwas einfachen rum.
Ich hoffe ihr könnt mir helfen Smile

Vielen Dank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.01.2013, 14:32 (Dieser Beitrag wurde zuletzt bearbeitet: 11.01.2013 14:33 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: vi aus DLL erstellen
Hallo Leon,

vor dem Umgang mit DLLs aus LabVIEW heraus ist es hilfreich, sich erstmal Grundlagen wie das Einstellen der Connectoren eines VIs anzueignen...

Schon mal die Kurse von NI (s. Link in der Signatur) durchgearbeitet?

Zitat:5. Gespeichert.
Und wo?

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

leon_lab Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jan 2013

9.0
2013
DE



RE: vi aus DLL erstellen
Danke für deine Antwort,

ich hab das Buch Einführung in LabView 4 Auflag vom Hanser Verlag hier und hab das ein bisschen gemacht.
Wie man Steuerelemente verbindet weiß ich eigentlich. Nur sind da keine Connectoren. Wie man eben Funktionen aus einer DLL erstellt habe ich auch aus dem Buch nur leider sind bei mir keine Connectoren.



Das Vi hab ich im gleichen Ordner gespeichert wo die bereits Vorhandenen Vi´s liegen. Und dann noch die Bibliothek selbst unterm gleichen Namen gespeichert.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.01.2013, 14:54
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: vi aus DLL erstellen
Hallo Leon,

bitte Grundlagen durcharbeiten: Connector Pane

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.01.2013, 20:42
Beitrag #5

leon_lab Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jan 2013

9.0
2013
DE



RE: vi aus DLL erstellen
Bin ich jetzt blöd? Ich habe das alles so gemacht, ich lese jetzt aber nicht raus wieso ich bei meiner selbst erstellten vi keine Connectors habe. Obwohl ich die doch im Vi so erstellt habe...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.01.2013, 20:47
Beitrag #6

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: vi aus DLL erstellen
(11.01.2013 14:40 )leon_lab schrieb:  Wie man Steuerelemente verbindet weiß ich eigentlich. Nur sind da keine Connectoren. Wie man eben Funktionen aus einer DLL erstellt habe ich auch aus dem Buch nur leider sind bei mir keine Connectoren.


Hallo leon_lab,

Dieser Antwort entliest man, dass du noch keine Connectoren erstellt hast.

Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.01.2013, 00:28
Beitrag #7

leon_lab Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jan 2013

9.0
2013
DE



RE: vi aus DLL erstellen
Ok, dann hab ich den Link nicht richtig verstanden... aber Danke jetzt weiß ich bescheid, ich werde es am Montag gleich probieren.

Ich hätte da noch eine Frage.

Ich muss ein Aray mit 16 Integer werte der Funktion übergeben. Wie sieht dass denn in Lab-View aus. Ich find da nichts im Internet.

Den genauen Funktionsrumpf hab ich nicht 100% im Kopf aber ich versuch ihn schnell hinzuschreiben (wenns unklar ist werde ich ihn am Montag genau kopieren)


long * funktionsname(long * handle, long * array);

Also ein array ist ja eigentlich immer ein Pointer. Wenn ich jetzt das Vi erstelle, ziehe ich dann in das Frontpannel ein Array und pack dann in dieses Array so ein Integer Steuerelement 16 mal. Cluster sind glaub für Strukturen wie ich das verstanden habe?

Vielen lieben Dank für eure Hilfe.
Jetzt stehe ich nicht mehr ganz so im Dunkeln Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.01.2013, 00:41
Beitrag #8

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: vi aus DLL erstellen
(13.01.2013 00:28 )leon_lab schrieb:  Wenn ich jetzt das Vi erstelle, ziehe ich dann in das Frontpannel ein Array und pack dann in dieses Array so ein Integer Steuerelement 16 mal.

Hallo leon_lab,

das kannst ja mal versuchenSmile

Du erstellst das Array so, wie du es beschrieben hast, nur nicht 16 mal reinziehen - einmal reicht. Wieviele Werte du dann später in dieses Array schreibst, wenn du es der DLL übergibst, hängt dann vom Aufruf-VI der DLL ab. Wenn du saagst, es müssen 16 sein, dann musst du 16 reinschreiben.

Ob man einer DLL einen Cluster übergeben kann, weiß ich gar nicht - würde mich auch mal interessieren, ich denke mal: eher nicht.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.01.2013, 11:39
Beitrag #9

leon_lab Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jan 2013

9.0
2013
DE



RE: vi aus DLL erstellen
Mach ich dass dan später im Blockdiagramm wenn ich die Vi zusammen baue oder?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.01.2013, 08:25
Beitrag #10

leon_lab Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Jan 2013

9.0
2013
DE



RE: vi aus DLL erstellen
Also der Funktionsheader ist folgendermaßen:

long funktion(void *handle, unsigned int *data);

Das handle wurde in den anderen Beispielen als "Numerisches Element" - vorzeichenloser 32-Bit Interger und wird als Wert übergeben, das habe ich hier auch so gemacht.

Bei dem usigned int *data bin ich mir jetzt einfach nicht sicher wie man das richtig macht.

Ich hab folgendes eingestellt:
Typ: Array
Datentyp: vorzeichenloser 16-Bit Integer
Dim: 1
Arry-Format: Array-Datenzeiger.

Dann hab ich in das Frontpanel ein Array gezogen und hier einen U16 Integer Wert rein und das dann mit dem Connector der DLL verbunden. Ist das so richtig?

VIELEN LIEBEN DANK FÜR EURE HILFE Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: