16.08.2007, 12:48
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Datenerfassung über C++ in LabVIEW exportieren
Mglw. leicht , aber ich wollte noch mal auf den folgenden Thread mit dem LabVIEW-MoveBlock Befehl hinweisen. Vielleicht nützt euch das?
http://www.LabVIEWforum.de/index.php?showtopic=5281
MfG, 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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
16.08.2007, 13:26
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Datenerfassung über C++ in LabVIEW exportieren
' schrieb:Ich möchte lediglich Bilder die ich von einer Kamera grabbe in LabVIEW darstellen.
Ein Bild schüttelst du doch bestimmt nicht aus dem Ärmel und fängst es mit einer Tüte auf. ;)Ich gehe mal davon aus, der Kamera-Hersteller liefert eine DLL (!) die man ansprechen kann, um ein Bild aufnehmen zu lassen und um es dannach abzuholen. Möglicherweise kannst du diese DLL direkt in LV einbinden - was schon vor dir mancher gemacht hat. Möglicherweise hast du aber auch ein C-Programm geschrieben, das selbst die Kamera bedienen kann. Auch das wäre kein Problem. Dieses Programm kannst du - auch wenn es eine eigene Oberfläche hat - als DLL auslegen. Dann kannst du in dieses Programm eine LV-Kompatible Schnittstelle implementieren.
Zitat:Ich dachte es wäre das einfachste die Bilder in ein C-Puffer zu schreiben und dann einfach LabVIEW übergeben. Wenn das so nicht funktioniert, geht es dann irgendwie anders?
"In einen C-Puffer schreiben" klingt für mich jetzt so, als ob du genau hierfür ein eigenen Programm geschrieben hast. Das würdest du dann aber auch als DLL hinbekommen.
[*grübel* *grübel*]Jetzt muss ich mir doch tatsächlich mal das mit dem CIN ankucken.[*grübel* *grübel*]
Noch ein Versuch:
Schon mal an ActiveX gedacht? Ich mach zwar sowas nicht, aber vielleicht geht das bei dir ja besser als DLL.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
16.08.2007, 14:26
(Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2007 14:27 von jg.)
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Datenerfassung über C++ in LabVIEW exportieren
Dann war mein letzter Beitrag doch nicht so Offtopic.
Nochmal, guckst du hier:
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=24665
MfG, 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!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
16.08.2007, 15:12
(Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2007 15:13 von IchSelbst.)
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Datenerfassung über C++ in LabVIEW exportieren
' schrieb:Hierfür verwende ich eine Bibliothek von Matrox (MIL) die mir sowas erleichtert. Darin sind Funktionen integriert die mir Bilder grabben und die Daten in einen Puffer schreiben.
Bestimmt kann man diese Bibliothek auch in LV benutzen. (Wie das geht, weis ich aber nicht. Ich kenne ja die Bibliothek nicht.)
Nachtrag:
Hast du dir wenigstens mal die Linsks angekuckt und mal nachgelesen, wie das mit DLL's gehen würde?
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
17.08.2007, 09:59
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Datenerfassung über C++ in LabVIEW exportieren
' schrieb:Ich versuche dieses VI nachzubilden
Welches VI willst du nachbilden? Das mit dem Move-Befehl? Das kannst du nicht nachbilden. Den Move-Befehl musst du herunterladen (siehe Link weiter oben in jenem Link), entsprechend beschalten und ausführen.
Im übrigen:
Der Move-Befehl ist dazu da, Unzulänglichkeiten einer Programmiersprache - ob LV, Delphi oder C++ - zu umgehen. Eigenlich soll man sowas gar nicht benutzen.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
17.08.2007, 10:43
|
abrissbirne
LVF-Stammgast
Beiträge: 480
Registriert seit: Aug 2007
LV2009, LV2010
2007
EN
66123
Deutschland
|
Datenerfassung über C++ in LabVIEW exportieren
' schrieb:Welches VI willst du nachbilden? Das mit dem Move-Befehl? Das kannst du nicht nachbilden. Den Move-Befehl musst du herunterladen (siehe Link weiter oben in jenem Link), entsprechend beschalten und ausführen.
Im übrigen:
Der Move-Befehl ist dazu da, Unzulänglichkeiten einer Programmiersprache - ob LV, Delphi oder C++ - zu umgehen. Eigenlich soll man sowas gar nicht benutzen.
Ok, hab was schönes für CIN's gefunden gefunden. Using a CIN to Create an Array of Strings in LabVIEW
Ich möchte aber keine Strings in ein Array laden. Wo finde ich denn die makros für Zahlen? Hier mal mein Code:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
/* CIN source file */
#include "extcode.h"
/* stubs for advanced CIN functions */
/* Typedefs */
/* TD1 is an array of handles to LV strings */
typedef struct {
int32 dimSize;
int32 Numeric[1];
} TD1;
typedef TD1 **TD1Hdl;
MgErr CINRun(TD1Hdl Array);
MgErr CINRun(TD1Hdl Array)
{
#define ARRAYSIZE 6
MgErr err;
int32 i;
int *values[ARRAYSIZE] = {3,0,0,7,8,1};
err = SetCINArraySize((UHandle)Array, 0, ARRAYSIZE);
if (err) goto out;
(*Array)->dimSize=ARRAYSIZE;
for(i=0; i<ARRAYSIZE; i++)
{
MoveBlock(values[i], (*Array)->Numeric[1], 6);
}
return noErr;
out:
return err;
}</div>
Bekomme folgende Warnungen:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
Array.c(22): warning C4047: 'initializing' : 'int *' differs in levels of indirection from 'int'
Array.c(32): warning C4022: 'MoveBlock' : pointer mismatch for actual parameter 2</div>
|
|
|
22.08.2007, 10:27
|
|
|
24.08.2007, 11:15
|
|
|
| |