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 auslesen zum ansteuern eines K8061 Boards



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!

22.08.2006, 00:52
Beitrag #1

JollyJumper Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2006

8.5
2006
DE-DEUTSCH

37120
Deutschland
dll auslesen zum ansteuern eines K8061 Boards
Hallo alle miteinander.

Ich denke ich werde euch mit meiner Frage etwas langweilen aber es ist für mich extrem wichtig, stecke mitten in meiner Abschlussarbeit zum Automatisierungs Techniker und steh nun echt auf dem Schlauch.

Ich habe mir vor einigen Wochen von Velleman das Board K8061 gekauft und wollte mit dessen Hilfe nun meine Steuerung aufbauen. Nur jetzt häng ich schon ganz am Anfang. Um das Board zum laufen zu bekommen muss ich eine K8061.dll auslesen mit Hilfe eines "Aufruf exterener Bibliotheken". Nur jedes mal wenn ich die .dll im Pfad eingebe erscheint "In einem Knoten der zum Aufruf exterer Bibliotheken aufgerufen wurde, ist ein schwerer Ausnahmefehler aufgetreten.....". Und ich muss ganz ehrlich sagen, ich hab keine Ahnung mehr was ich dagegen tun soll. Kann es evtl. sein das die .dll nicht kompatibel ist. Ich muss zugeben in diesem Punkt habe ich auch nicht wirklich viel Ahnung.
Kann mir da irgendwer helfen.

Ich weiß auch gar nicht so genau was ich als Parameter oder Typ eingeben muss. Die Funktionsnamen kann ich auswählen wenn ich den Pfad der K8061.dll eingebe. ( SetDigitalChannel,SetAllOutputs etc.)

Da ich im ander Thread gelesen hatte das nach dem Funktionsprototyp gefragt wurde hab ich ihn mal mit gepostet. void SetDigitalChannel(long Channel);

Falls einer nach der .dll schauen will die findet man unter: K8061.dll sie befindet sich im Archiv unter //K8061 extended USB interface/DIAG8061/k8061.dll

Ich wäre euch super super mega dankbar wenn ihr mir helfen könntet, kann kaum noch schlafen das wurmt mich richtigSmile

MfG Simon
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2006, 07:35 (Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2006 07:40 von Lucki.)
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
dll auslesen zum ansteuern eines K8061 Boards
' schrieb:Ich weiß auch gar nicht so genau was ich als Parameter oder Typ eingeben muss. Die Funktionsnamen kann ich auswählen wenn ich den Pfad der K8061.dll eingebe. ( SetDigitalChannel,SetAllOutputs etc.)
Hierin liegt genau Dein Problem: Der geringste Fehler bei der Parameterübergabe führt zum Absturz, und wenn Du das nicht genau weißt, ist der Absturz unvermeidlich. Also ohne Funktionsbeschreibung bist Du aufgeschmissen, aber Du hast sie ja vorliegen.
Typbeschreibung z.B: Longinteger = vorzeichenbehaftetes 32 bit Integer in LabVIEW
Du solltest für jede Funktion, die Du brauchst, ein VI anlegen, welches Du dann als Sub-VI verwendest. Die Sunmme dieser VIs kannst Du dann als "LabVIEW-Treiber für K8061" bezeichnen.
Ich habe Dir mal ein solches VI gemacht, die Untersuchung dieses VIs hilft Dir bestimmt weiter. Du mußt es natürlich ändern, der Pfad muß auf die DLL auf Deiner Festplatte zeigen. Zu empfehlen ist evtl. noch ein Fehlerstrang durch jedes VI.


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  ReadAnalogChannel.vi (Größe: 7,39 KB / Downloads: 539)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2006, 08:04 (Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2006 08:07 von rosenkranz.)
Beitrag #3

rosenkranz Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jun 2006

7.00
2005
kA


Deutschland
dll auslesen zum ansteuern eines K8061 Boards
hello Big Grin,

ich denke, bei jedem Gerät,das solche dll library zur verfügung stellt, gibt es auch die DLL Anleitung dazu.
Da kannst Du sehen was für parameter Du brauchst und wie die Sytanx aussieht.

ich habe vor 1 Monat mit dem externen DLL library von USB Oscilloscop angefangen. Allerdings muss ich auch zugeben dass es am Anfang net so einfach zu verstehen ist. Ich hatt auch vorher keine Ahnung wie man das machen muss Big Grin, aber nach 1-2 mal probieren, wirst Du schon merken, dass es leicht ist.

Wichtig ist dass Du die Syntax kennst :
z.B. bei mir wars :
word GetFuncGenMaxAmplitude (double *dAmplitude);

beim LV musst du die Call Library Functions node erstellen.
Danach double klick auf die node und die wichtige daten eingeben wie z.b. wo die DLL datei ist, was fuer eine funktion (GetFuncGenMaxAmplitude), und die parametername und typ eingeben (double , dAmplitude, Array data pointer)
UND GUCK bitte ob die Calling Convention mit C oder stdcall(WINAPI) ist. Dies könnt die Ursache von deinem Fehler

ich hoffe, dass das Dir bissel helfen kann Big Grin

mfg,
Marc
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2006, 14:32
Beitrag #4

JollyJumper Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2006

8.5
2006
DE-DEUTSCH

37120
Deutschland
dll auslesen zum ansteuern eines K8061 Boards
Hi,
erstmal danke für alles. Nur hab da ein Problem hab mir grad mal die VI heruntergeladen die du für mich gemacht hattest, kann sie aber nicht öffnen da sie mit der Version 8.0.2 erstellt wurde.
Kannst du die vieleicht nochmal in ein 7.0 Format speichern wenn das geht.

Wäre super nett.Smile
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2006, 15:41
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
dll auslesen zum ansteuern eines K8061 Boards
Abspeichern von 8 auf 7 geht nicht, ich mußte es also neu erstellen...


Angehängte Datei(en)
Sonstige .vi  ReadAnalogChannel7.vi (Größe: 12,9 KB / Downloads: 428)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2006, 23:41
Beitrag #6

JollyJumper Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Aug 2006

8.5
2006
DE-DEUTSCH

37120
Deutschland
dll auslesen zum ansteuern eines K8061 Boards
SUPER hat alles wunderbar geklappt konnte alle VI´s schreiben, nur hätte es heut dann eher nicht mehr anklemmen sollen, einmal nicht aufgepasst da hab ich + mit Masse vertauscht und hinüber war der IC des Boardes.Sad

Aber egal hab noch einen passenden gefunden.


Also nochmal danke für die super Unterstützung, ist echt TOP das Board, nur zu empfehlen !!!



OfftopicOfftopic Offtopic Offtopic
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.09.2006, 13:03
Beitrag #7

Wiggi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 99
Registriert seit: Aug 2006

7.1
2005
kA


Deutschland
dll auslesen zum ansteuern eines K8061 Boards
<div align="left">
' schrieb:Wichtig ist dass Du die Syntax kennst :
z.B. bei mir wars :
word GetFuncGenMaxAmplitude (double *dAmplitude);

Schönen Dank schonmal für den tip..

Ich habe nun allerdings doch noch eine Frage dazu...

In meinem "Handbuch" steht





Set Strobe Time (LKIF_SetStrobeTime)


--------------------------------------------------------------------------------


BOOL WINAPI LKIF_SetStorobeTime(OUT LKIF_STOROBETIME *StorobeTime);

Description Sets the strobe time.

Parameter StorobeTime Sets the strobe time.
typedef enum {
LKIF_STOROBETIME_2MS, // 2ms
LKIF_STOROBETIME_5MS, // 5ms
LKIF_STOROBETIME_10MS, // 10ms
LKIF_STOROBETIME_20MS, // 20ms
} LKIF_STOROBETIME;



Returned Value TRUE Completes without errors
FALSE Completes with errors
</div>

Mein Problem hierbei ..

Wie soll ich den Eingang deklarieren und was soll ich reibschreiben ?


Vielen Dank schonmal im vorraus...
Bernd
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.09.2006, 14:02
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
dll auslesen zum ansteuern eines K8061 Boards
<div align="left">Hallo, Bernd,

eine enum-Variable wird wie in LabVIEW üblicherweise intern als Integerzahl dargestellt. Ich würde es mal mit dem Übergabe-Dateityp Integer (16bit) versuchen, Werte beginnen wahrscheinlich bei 0 aufwärtszählend.

MfG, Jens</div>

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.09.2006, 10:27 (Dieser Beitrag wurde zuletzt bearbeitet: 14.09.2006 10:32 von Wiggi.)
Beitrag #9

Wiggi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 99
Registriert seit: Aug 2006

7.1
2005
kA


Deutschland
dll auslesen zum ansteuern eines K8061 Boards
' schrieb:<div align="left">Hallo, Bernd,

eine enum-Variable wird wie in LabVIEW üblicherweise intern als Integerzahl dargestellt. Ich würde es mal mit dem Übergabe-Dateityp Integer (16bit) versuchen, Werte beginnen wahrscheinlich bei 0 aufwärtszählend.

MfG, Jens</div>


Vielen Dank für den Tip..

der war schonmal richitg.

Eigendlich hatte ich den Ergeiz den rest selber hn zu bekommen..
aber leider weigert sich mein Regler mir Werte auszugeben. Werte auf ihn schreiben geht komplett



In der hilfe Datei steht folgendes :

Measurement Value Output (LKIF_GetCalcData)


--------------------------------------------------------------------------------


BOOL WINAPI LKIF_GetCalcData(OUT LKIF_FLOATVALUE *CalcData1,OUT LKIF_FLOATVALUE *CalcData2);

Description Returns the measurement value.

Parameter CalcData1 Measurement value for OUT1. Values are specified for the following structures.
CalcData2 Measurement value for OUT2. Values are specified for the following structures.
typedef enum {
LKIF_FLOATRESULT_VALID, // valid data
LKIF_FLOATRESULT_RANGEOVER_N, // over range at negative (-) side
LKIF_FLOATRESULT_WAITING, // comparator result
} LKIF_FLOATRESULT;


typedef struct {
LKIF_FLOATRESULT FloatResult; // valid or invalid data.
float Value; // measurement value during LKIF_FLOATRESULT_VALID.
Any other times will return an invalid value.
} LKIF_FLOATVALUE;



Bisher mache ich einen Externen Biblioteksaufruf mit dem Befehl "LKIF_GetCalcData" mit zwei Ausgangsvariablen (8-Byte double). Die Daten sind aber nicht lesbar.

Jemand vielleicht eine Idee was ich falsch mache ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.09.2006, 18:25
Beitrag #10

Wiggi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 99
Registriert seit: Aug 2006

7.1
2005
kA


Deutschland
dll auslesen zum ansteuern eines K8061 Boards
Habs rausgefunden..

Der stern ist ein Pointer ...
da war mein Fehler..

Einfach nur den ersten Ausgang frei lassen und 2 weitere Ausgänge als Pointer ausgeben..

Dann klappts
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Auslesen einzelner Elemente eines Arrays weschi 5 22.905 27.08.2013 18:58
Letzter Beitrag: Trinitatis
  Anzahl der Elemente eines Arrays auslesen LanceHardwood 2 7.886 01.02.2012 16:48
Letzter Beitrag: LanceHardwood
  Einzigartige IDs der Controls eines VI-Frontpanels vorhanden?! Wenn ja: wie auslesen? Sascha_ 15 10.935 22.08.2011 22:32
Letzter Beitrag: jg
  Wert eines Ringes auslesen devilsdoormat 3 5.080 15.10.2010 22:17
Letzter Beitrag: Lucki
  Ändern/Auslesen von Bedienelementen eines Hauptprogramms mittels eines Unterprogramms aptiva 7 7.202 11.10.2010 09:59
Letzter Beitrag: aptiva
  Betätigung eines Numeric Control in einem Cluster auslesen? SayAnything 9 6.152 08.04.2009 08:29
Letzter Beitrag: SayAnything

Gehe zu: