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 

DLL in LabVIEW einbinden



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!

21.02.2008, 11:53 (Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2008 11:57 von rolfk.)
Beitrag #11

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL in LabVIEW einbinden
' schrieb:ja, ein alter Studiumkollege hat mir auf die Reihe geholfen.. bzw. mir das mal erklärt..

Wenn mans mal geschnallt hat ist das gar nicht so übel...

Danke auf alle Fälle..

Also die Zeiten wo ich Pascal kannte sind schon 20 Jahre her. Also in Detail helfen kann ich Dir hier nicht! Im Prinzip schaut es alles extrem trivial aus und wenn Du daran schon scheiterst scheint mir wird es prinzipiel schlecht aussehen.

Was Du wissen willst im Zusammenhang mit einer Erstellung für LabVIEW sind folgende Dinge aus den Pascal Files

function Compress_Open : Smallint; stdcall; external 'compress.dll';
function Compress_Close : Smallint; stdcall; external 'compress.dll';

function Compress_Setup : Smallint; stdcall; external 'compress.dll';
function Compress_Set(bar:extended) : Smallint; stdcall; external 'compress.dll';

Alles in der compress.dll. Liefern alle Smallint zurück, was immer das ist in Pascal. Könnte 16 Bit int sein, aber dann hoffe ich mal dass es keine 16 Bit DLL ist. Die könntest Du nämlich nur mit LabVIEW für Windows 3.1 (letzte verfügbare Version war glaub ich LabVIEW 5) gebrauchen.

Alle gerauchen Standard Call calling convention und alle ausser der letzten sind Funktionen ohne Parameter. Der extended Parameter ist auch wieder sowas. Könnte ein extended float sein aber vielleicht meint Pascal da etwas ganz anderes damit.

Dann noch dies:

function GMH_OpenCom (port:word): Smallint; stdcall; external 'GMH3X32.DLL';
function GMH_CloseCom:Smallint; stdcall; external 'GMH3X32.DLL';
function GMH_Transmit (adr, code:Smallint; var priority: smallint; var float_dat: double; var int_dat: longint):Smallint;

Dasselbe aber nun für GMH3X32.DLL. Wieder smallint als return Wert. Der word Parameter für die erste Funtion ist wohl ein 16 Bit unsigned aber das ist auch wieder eine grobe Vermutung. Dann kommt noch Transmit mit zwei smallint by value, einem smallint passed as pointer, einem double float passed as pointer, und einem longint passed as pointer.
Auch hier wieder Standard Calling convention.

Also mal irgendwo in Pascalland raussuchen was smallint, longint, word und extended sind und dann loslegen.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.02.2008, 11:55 (Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2008 11:56 von rolfk.)
Beitrag #12

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL in LabVIEW einbinden
' schrieb:In der Compress-DLL wird ein Parameter mit Typ extended übertragen. Diesen Typ kennt LV nicht.

LabVIEW kennt den Extended Float! Könnte sein dass das damit gemeint ist, aber braucht nicht. Der LabVIEW Typ Extended entspricht dem 10 Byte Extended floating point Format wie es durch die Intel MMU benützt wird.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2008, 13:23
Beitrag #13

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DLL in LabVIEW einbinden
' schrieb:Der LabVIEW Typ Extended entspricht dem 10 Byte Extended floating point Format wie es durch die Intel MMU benützt wird.
Was? Das gibt es in LV 7.1.1? Da muss ich doch sofort (heute abend) kucken. Das wäre mir entgangen.

In Pascal in extended ein 80Bit-Float (also 10 Byte). SmallInt ist in Pascal (Delphi) ein I16 - im Gegensatz zu C++, wo small ein I8 ist. Das hab ich in meinem Tutorial tabellerisch zusammengefasst.

Im übrigen: Wer seine Druckvorgabe mit einer Genauigkeit von extended macht - naja.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2008, 17:04
Beitrag #14

verflixxt Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Jan 2008

8.6
2007
de

87463
Deutschland
DLL in LabVIEW einbinden
' schrieb:Im übrigen: Wer seine Druckvorgabe mit einer Genauigkeit von extended macht - naja.


Die Genauigkeit wäre nicht schlecht da ich das Programm zur Kalibrierung von Druckverteilungsplatten (Biomechanik) benützen möchte.

Hab jetzt statt extended double und es funktioniert auch...bzw. meine Genauigkeit liegt bei 1kg bei einem Druck von 8 bar auf 0,49m²

Öhm, ich glaub das ist gar nicht so schlecht...


Komisch...jetzt auf einmal klappt das ganze wie von alleine...Reporte erstellen, usw...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2008, 17:26
Beitrag #15

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DLL in LabVIEW einbinden
' schrieb:Die Genauigkeit wäre nicht schlecht da ich das Programm zur Kalibrierung von Druckverteilungsplatten (Biomechanik) benützen möchte.
18 Stellen Genauigkeit (bei Extended)? Die 15 bei double scheinen mir noch zuviel.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2008, 21:11
Beitrag #16

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
DLL in LabVIEW einbinden
' schrieb:LabVIEW kennt den Extended Float! Könnte sein dass das damit gemeint ist, aber braucht nicht. Der LabVIEW Typ Extended entspricht dem 10 Byte Extended floating point Format wie es durch die Intel MMU benützt wird.
Der DLL-Knoten unterstützt kein Extended.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  C++ Dll in Labview einbinden galilio 12 20.517 08.03.2014 01:56
Letzter Beitrag: rolfk
  LabView DLL in C# einbinden beginner85 2 7.985 27.04.2012 19:48
Letzter Beitrag: rolfk
  C-dll einbinden: LabVIEW hängt eug 16 18.225 27.12.2010 02:34
Letzter Beitrag: eug
  c# DLL in LabVIEW einbinden TSC 3 12.531 07.10.2008 08:13
Letzter Beitrag: TSC
  Visual Basic DLL in LabVIEW einbinden jacket12 2 9.221 10.06.2008 09:54
Letzter Beitrag: jacket12
  Unrar.dll in LabVIEW einbinden xtro 1 4.591 13.02.2008 09:34
Letzter Beitrag: rolfk

Gehe zu: