LabVIEWForum.de
Array in Datenbank speichern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Array in Datenbank speichern (/Thread-Array-in-Datenbank-speichern)



Array in Datenbank speichern - LVnewbie - 31.08.2011 23:35

Hallo,

ich beschäftige mich erst seid kurzem mit LabView u. weiss daher nicht wie ich meine Aufgabe realisieren soll:

ich habe eine C# DLL geschrieben die ein 1D Array ausgibt! Dieses Array möchte ich gerne nach Möglichkeit in eine Datenbank speichern!

Ist das möglich?,könnte mir jemand bei der Lösung des Problems helfen?

Wäre für jede Hilfe dankbar!

MfG


RE: Array in Datenbank speichern - LVnewbie - 01.09.2011 01:30

Update:
Mein C# Programm konvertiert ein Bild in 1D byte Array.

1. Kann ich in LabView einen C# Funktionsaufruf machen?
2. Kann ich in LabView eine C# DLL einbinden?
3. Kann ich das entstehende 1D Array anzeigen u. in einer Datenbank speichern?


RE: Array in Datenbank speichern - Shpik - 01.09.2011 06:49

Update:
Mein C# Programm konvertiert ein Bild in 1D byte Array.

1. Kann ich in LabView einen C# Funktionsaufruf machen?
2. Kann ich in LabView eine C# DLL einbinden?
3. Kann ich das entstehende 1D Array anzeigen u. in einer Datenbank speichern?

Antworten:

1) und 2)
z.B.
[attachment=35597]
[attachment=35598]
[attachment=35599]
Nur 'Calling Convention = C'.
3) Mit 'Database Connectivity Toolkit', z.B.
[attachment=35600]


RE: Array in Datenbank speichern - BeFu - 01.09.2011 06:57

(31.08.2011 23:35 )LVnewbie schrieb:  Hallo,

ich beschäftige mich erst seid kurzem mit LabView u. weiss daher nicht wie ich meine Aufgabe realisieren soll:

ich habe eine C# DLL geschrieben die ein 1D Array ausgibt! Dieses Array möchte ich gerne nach Möglichkeit in eine Datenbank speichern!

Ist das möglich?,könnte mir jemand bei der Lösung des Problems helfen?

Wäre für jede Hilfe dankbar!

MfG

Hallo LVnewbie,

gemäß Tutorial http://www.labviewforum.de/DLL-einbindung-t5504.html musst Du in LabVIEW ausreichend Speicherplatz für das 1D Array allokieren, das von der Funktion der C# DLL zurück gegeben wird. Auf diese DLL-Funktion greifst Du dann über den LabVIEW eigenen "Knoten zum Aufruf externer Bibliotheken" zu.

Wichtig ist, dass Du in LabVIEW den richtigen Daten-Typ wählst für das 1D-Array, das die Funktion aus der C# DLL liefert. Falls die Elementde vom 1D-Array der C# DLL Strukturen sind, muss Du dieses 1D - Struktur -Array in 1D-Arrays der Basis-Typen aufteilen, siehe http://www.labviewforum.de/DLL-einbindung-t5504.html.

Für weitere Hilfe postest Du am Besten mal die Deklaration Deiner C# DLL-Funktion, die das 1D-Array liefert und in welche Datenbank Du den Inhalt des 1D-Arrays (mit LabVIEW?) eintragen möchtest.

Grüße,

BeFu


RE: Array in Datenbank speichern - LVnewbie - 01.09.2011 16:58

Vielleicht lassen wir den Schritt mit dem speichern in der Datenbank erst mal komplett weg.

Ich glaube es ist besser, wenn man erst mal klein anfängt u. vielleicht das Byte Array was die DLL erzeugt von LV anzeigen lässt!

Deklaration meiner CSharp DLL: public static byte[] TestBmpImageToByteArray()

Bekomme den Fehler: Der Funktionsname konnte in der Bibliothek nicht gefunden werden. Mit einem Rechtsklick auf den Knoten "Aufruf externer Bibliotheken" und Auswahl von "Konfigurieren" können Sie den richtigen Funktionsnamen angeben.

Kann die Funktion "Knoten zum Aufruf externer Bibliotheken" denn wirklich auch eine CSharp DLL verwenden oder muss ich die DLL zwangsweise in C/C++ programmieren?

Vielen Dank für die tolle Hilfe!

MfG


RE: Array in Datenbank speichern - LVnewbie - 02.09.2011 20:57

Danke habe es hinbekommen!