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 

Datenerfassung über C++ in LabVIEW exportieren



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!

16.08.2007, 12:48
Beitrag #11

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Datenerfassung über C++ in LabVIEW exportieren
Mglw. leichtOfftopic, 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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.08.2007, 13:26
Beitrag #12

IchSelbst Offline
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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2007, 14:16
Beitrag #13

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Datenerfassung über C++ in LabVIEW exportieren
' schrieb:"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.
Richtig. Dafür existiert ein Programm. 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. Ich kanns mir auch anzeigen lassen, aber ich finde hierfür LabVIEW besser geeignet da die Graphen mehr möglichkeiten der weiterverarbeitung haben. Also das C-Skript tut das was es soll. Bilder grabben und in einen Puffer schreiben. Diesen Puffer brauche ich jetzt in LabVIEW genauer, ich muss es einem Graphen in LabVIEW übergeben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2007, 14:26 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2007 14:27 von jg.)
Beitrag #14

jg Offline
CLA & CLED
LVF-Team

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.08.2007, 15:12 (Dieser Beitrag wurde zuletzt bearbeitet: 16.08.2007 15:13 von IchSelbst.)
Beitrag #15

IchSelbst Offline
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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2007, 08:49
Beitrag #16

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Datenerfassung über C++ in LabVIEW exportieren
' schrieb:Jetzt! Lach!

Der steckt in LabVIEW seit Version 2.5 damals aber nur für CINs erreichbar. Aber seit minimal 5.0 kann man den per DLL Aufrufknoten direkt erreichen. Habe ich auf den LabVIEW Foren und Info-LabVIEW wiederholt in den letzten 6 oder 7 Jahren oder so haarfein erklärt, bevor jemand bei NI scheinbar dachte, dass man das auch mal in einem Beispiel dokumentieren könnte.

Rolf Kalbermatter

Zitat stammt von dem Link den Jens G gepostet hat. Danke dafür schonmal.

Ich versuche dieses VI nachzubilden aber ohne Erfolg. rolfk schrieb, dass es das auch für CIN's gibt. Wie heisst dieser Block? Vieleicht komme ich damit hin?!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.08.2007, 09:59
Beitrag #17

IchSelbst Offline
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).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2007, 10:43
Beitrag #18

abrissbirne Offline
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>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.08.2007, 10:27
Beitrag #19

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Datenerfassung über C++ in LabVIEW exportieren
Ok Leute, ich habs dann doch hinbekommen. Wollte nur noch das Ergebnis posten, falls jemand ähnliches machen möchte.

<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
/* CIN source file */

#include "extcode.h"
#include <windows.h>

UseDefaultCINInit
UseDefaultCINDispose
UseDefaultCINAbort
UseDefaultCINLoad
UseDefaultCINUnload
UseDefaultCINSave

/* Typedefs */

typedef struct {
int32 dimSize;
float64 Numeric[1];
} TD1;
typedef TD1 **TD1Hdl;

MgErr CINRun(TD1Hdl Array);

MgErr CINRun(TD1Hdl Array)
{
int32 i;
float64 *ArrayElementp;
MgErr err = noErr;
int32 AnzahlElemente;

int32 Zahlen[] = {1,2,3,4,5};

AnzahlElemente = 5;

(*Array)->dimSize = 5;
ArrayElementp = (*Array)->Numeric;
*ArrayElementp = 0;

for(i = 0; i < AnzahlElemente; i++)
{
*ArrayElementp = Zahlen[i];
ArrayElementp++;
}

return err;
}
</div>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.08.2007, 11:15
Beitrag #20

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Datenerfassung über C++ in LabVIEW exportieren
' schrieb:Es wird natürlich kein so einfaches Array bleiben. Das war nur mal ein Test um herauszufinden wie ich das Array anpacken muss um es ins richtige Format zu bringen. Hab noch nie mit DLL-Knoten gearbeitet. Bei uns wird eigentlich ausschließlich mit CIN's gearbeitet. Das funtkioniert auch bestens. Mein Problem besteht eigentlich nur aus der Umwandlung (Typecast).

Ich könnte mal versuchen ein Array im Frontpanel anzulegen welches ich unsichtbar mache. Aber ob das die schönste Lösung ist?

Ein Typecast wird nicht genügen. Dazu sind die Formate zu unterschiedlich respektive weiss C++ zu wenig über LabVIEW Datentypen. Du musst das C++ Array wohl schon eigenhändig ins LabVIEW Array kopieren. Ist aber ja keine so grosse Sache. In C müsstest Du das ohnehin tun.

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
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Pumpe in LabVIEW über Sytem Exec an und ausschalten lazfather 8 8.758 30.10.2014 10:14
Letzter Beitrag: jg
  Fortran-Programm über Labview starten jh1988 10 12.400 22.04.2013 19:28
Letzter Beitrag: rolfk
  VI mit DLL exportieren potter68 7 7.772 17.04.2013 14:44
Letzter Beitrag: potter68
  Textuelle Ausgabe über DLL in LabView Textbox/Output Effemfour 6 8.128 24.11.2010 13:46
Letzter Beitrag: rolfk
  Ansteuerung von xPC-Target über eingebundenes Simulinkmodell in LabVIEW AndreasT81 1 6.424 30.10.2010 08:02
Letzter Beitrag: Y-P
  Blockdiagramm exportieren dhaehn 3 4.768 20.05.2008 14:07
Letzter Beitrag: thomas.sandrisser

Gehe zu: