SQL+Excel-Anbindung

File I/O und Datenbanken
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение Eugen Graf »

Probiere mal dieses VI. Es soll zumindest funktionieren. Und beschreibe ganz genau welche Daten und wie im Report abgespeichert werden sollen.
Вложения
Excel-v2.2.vi
(25 КБ) 262 скачивания
Аватара пользователя
learny
adviser
adviser
Сообщения: 207
Зарегистрирован: 23 окт 2008, 17:54
Версия LabVIEW: 8.5
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение learny »

eg писал(а):Probiere mal dieses VI. Es soll zumindest funktionieren. Und beschreibe ganz genau welche Daten und wie im Report abgespeichert werden sollen.
mache ich! mache ich! :thank:
vielen vielen dank eg...Funktioniert super!

Wenn ich (übermorgen) dieses VI als ein Sub_VI einsetzen möchte, muss ich nur den Cluster als Anschluss setzen, oder?
أهلا و سهلا بالمستخدمين العرب
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение Eugen Graf »

Du kannst dieses VI nicht als SubVI einsetzen, weil es dort eine While-Schleife gibt, die nur von hand beendet werden kann. Wo willst du es als SubVI einsetzen? Wie sieht dein HauptVI aus? Was genau muss dieses SubVI dann machen?
Аватара пользователя
learny
adviser
adviser
Сообщения: 207
Зарегистрирован: 23 окт 2008, 17:54
Версия LabVIEW: 8.5
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение learny »

Die Daten-Erfassung soll später im Dauerbetrieb sein (zumindest Tagsüber).
Diese Daten werden in der Haupt_VI erfasst werden (fertig und ok)
Die Daten sollen in eine SQL-Datenbank geschrieben werden (fertig) und in eine Excel-Tabelle gespeichert werden.

Also beim beenden des Haupt-VI, beenden sich alle Sub_VIs.

Diese Excel-Sub_VI soll die Daten aus dem Cluster als Eingang nutzen, und in die Excel-Tabelle schreiben.
Вложения
Haupt.PNG
أهلا و سهلا بالمستخدمين العرب
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение Eugen Graf »

Du musst dann also entweder dieses SubVI parallel zum HauptVI laufen lassen oder dieses SubVI ohne innere While-Schleife direkt im HauptVI einsetzen.

Im ersten Fall musst du die Messdaten irgendwie vom HauptVI in dieses SubVI übertrage. Das ist aber nicht so einfach wie man denkt. Dazu brauchst du eine Queue oder Notifier.

Im zweiten Fall musst du entweder aus diesem SubVI mehrere SubVIs machen oder eine Funktionale Globale Variable machen.

Ich würde vorschlagen, du machst aus diesem SubVI drei SubVIs. Ein zum Initialisieren, eins zum reinschreiben und eins zum Schliessen des Reports.
Аватара пользователя
learny
adviser
adviser
Сообщения: 207
Зарегистрирован: 23 окт 2008, 17:54
Версия LabVIEW: 8.5
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение learny »

eg писал(а):Du musst dann also entweder dieses SubVI parallel zum HauptVI laufen lassen oder dieses SubVI ohne innere While-Schleife direkt im HauptVI einsetzen.

Im ersten Fall musst du die Messdaten irgendwie vom HauptVI in dieses SubVI übertrage. Das ist aber nicht so einfach wie man denkt. Dazu brauchst du eine Queue oder Notifier.

Im zweiten Fall musst du entweder aus diesem SubVI mehrere SubVIs machen oder eine Funktionale Globale Variable machen.

Ich würde vorschlagen, du machst aus diesem SubVI drei SubVIs. Ein zum Initialisieren, eins zum reinschreiben und eins zum Schliessen des Reports.
Mit einer Schleife über alles: Also sowohl über alle SubVIs als auch über meine Datenerfassungs-VI - würde es nicht funktionieren?

Meine HauptVI+SQL+Email sind eigentlich alle fertig, ich wollte nur noch eine Excel_SubVI machen, um dann später alles in einer Schleife zu setzen (Abfrage alle 30 min + Daten-weiterbearbeitung).
Hatte ich einen Denkfehler?
أهلا و سهلا بالمستخدمين العرب
Аватара пользователя
learny
adviser
adviser
Сообщения: 207
Зарегистрирован: 23 окт 2008, 17:54
Версия LabVIEW: 8.5
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение learny »

Mich hat die Sache den ganzen Nachmittag beschäftigt :crazy:
ich glaube, in deinem letzten Post steckt schon die Antwort auf meine Frage..

die anderen SubVIs (SQL) können ruhig in der großen Schleife sein, da sie selber keine schleifen beinhalten, die manuell gestoppt werden müssen.

Ich werde es am Donnerstag mit den mehreren SubVIs ausprobieren (Initialisieren, reinschreiben und zum Schliessen des Reports). Nur das Reinschreiben wird sich in der großen Schleife befinden.

Gruß
أهلا و سهلا بالمستخدمين العرب
Аватара пользователя
learny
adviser
adviser
Сообщения: 207
Зарегистрирован: 23 окт 2008, 17:54
Версия LabVIEW: 8.5
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение learny »

Guten Tag,

ich bin gerade dabei deinen Vorschlag, aus dem Haupt Excel_Write_VI, drei SubVIs zu erstellen - zu folgen. (Initialisieren, Schreiben und Schliessen des Reports.), . Dürfte die Teilung wie folgt aussehen?:
rlwe50.jpg.gif
Das mittlere VI ohne die innere Schleife.

Wenn ja, stoße ich schon beim erstellen des ersten SubVI auf das erste Problem: als Ausgangsanschlüsse, bräuchte ich "report out" und "error out", die zum weiterleiten später notwendig sind. Welche Elemente sollte ich daran schließen, um sie als Anschlüsse definieren zu können? Oder gehe ich da ganz falsch vor?
أهلا و سهلا بالمستخدمين العرب
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение Eugen Graf »

Ne, alles ok. Um die Ausgänge zu machen - einfach auf den Anschluss rechtsklicken und Create->Indicator auswählen.
So kannst du auch Controls und Konstanten erstellen, das wird sicherlich dein Leben einfacher machen :wink:

P.S. die innere Schleife muss natürlich weg!
jg69

Professionalism
developer
developer
Сообщения: 265
Зарегистрирован: 14 окт 2008, 00:09
Награды: 1
Версия LabVIEW: 8.x, 20x

Re: SQL+Excel-Anbindung

Сообщение jg69 »

2 Möglichkeiten:

1. Rechtsklick auf die Verdrahtung -> Create -> Indicator, und es wird dir das passende Control im FP erzeugt. Fertig.
2. Das, was du jetzt rot markiert hast, im BD mit der Maus markieren, dann im Pulldown-Menü "Edit" den Punkt "Create SubVI" auswählen. Noch schneller fertig.

Gruß, Jens

EDIT: Eugen war schneller.... :D
Аватара пользователя
learny
adviser
adviser
Сообщения: 207
Зарегистрирован: 23 окт 2008, 17:54
Версия LabVIEW: 8.5
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение learny »

eg писал(а):Ne, alles ok. Um die Ausgänge zu machen - einfach auf den Anschluss rechtsklicken und Create->Indicator auswählen.
So kannst du auch Controls und Konstanten erstellen, das wird sicherlich dein Leben einfacher machen :wink:

P.S. die innere Schleife muss natürlich weg!
Danke jg, und eg!

Also das mit dem "rechtsklicken und Create->Indicator auswählen" Ist auf jeden Fall "DER" Tip des Jahres für mich!! :D Ich war schon dabei durch "Try&Error" heraus zu finden, welcher Indikator-Typ dazu passt - ohne Erfolg natürlich. :super:

So sieht mein Zwischenergebnis aus. (Dieses VI, die alle drei enthält ist nur zum Testen auf Funktionalität-Ich gehe lieber langsam vor)
Изображение

Die Schleife scheint zu funktionieren beim schreiben. Ich habe nur bemerkt, dass die erstellte Tabelle keine neuen Zeilen einfügt. Ich kann die einzelnen leider nicht getrennt laufen lassen zum ausprobieren um den Fehler zu lokalisieren. Woran könnte es liegen?
أهلا و سهلا بالمستخدمين العرب
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение Eugen Graf »

Ja, du solltest den Iterator auch als Eingang definieren, sonst werden die alten Daten immer an selben Platz mit den neuen überschrieben.
Аватара пользователя
learny
adviser
adviser
Сообщения: 207
Зарегистрирован: 23 окт 2008, 17:54
Версия LabVIEW: 8.5
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение learny »

eg писал(а):Ja, du solltest den Iterator auch als Eingang definieren, sonst werden die alten Daten immer an selben Platz mit den neuen überschrieben.
Natürlich...Jetzt geht's.. Danke eg! (Resultat im ersten Bild)

Diese WriteSub_VI schreibt die Daten aus einem Array. Und die Messdaten in der HauptVI kommen aber aus einem Cluster. Ich habe versucht "Cluster to Array" zu verwenden, aber hierzu kommt ein Datentypenfehler bei der Umwandlung.

Was könnte ich an dem Eingangs-Array ändern, so dass die Daten aus dem Cluster gelesen werden können?
Вложения
XLS_SUBVI.gif
XLS_SUBVI.gif (5.89 КБ) 8299 просмотров
cluster.PNG
cluster.PNG (2.39 КБ) 8299 просмотров
أهلا و سهلا بالمستخدمين العرب
jg69

Professionalism
developer
developer
Сообщения: 265
Зарегистрирован: 14 окт 2008, 00:09
Награды: 1
Версия LabVIEW: 8.x, 20x

Re: SQL+Excel-Anbindung

Сообщение jg69 »

Logisch, dass Cluster To Array nicht geht.
Wie soll aus einem Cluster, der aus verschiedenen Datentypen (String + Double) ein Array werden, dass per Definition immer denselben Datentyp enthalten muss?

Lösung: Cluster Unbundle, und das ganze zu Fuss machen, die Zahlen wandelst du in Strings, und setzt dann alles zu einem Array of Strings zusammen.

Gruß, Jens
Аватара пользователя
learny
adviser
adviser
Сообщения: 207
Зарегистрирован: 23 окт 2008, 17:54
Версия LabVIEW: 8.5
Контактная информация:

Re: SQL+Excel-Anbindung

Сообщение learny »

jg69 писал(а):Logisch, dass Cluster To Array nicht geht.
Wie soll aus einem Cluster, der aus verschiedenen Datentypen (String + Double) ein Array werden, dass per Definition immer denselben Datentyp enthalten muss?

Lösung: Cluster Unbundle, und das ganze zu Fuss machen, die Zahlen wandelst du in Strings, und setzt dann alles zu einem Array of Strings zusammen.

Gruß, Jens
Danke Jens,
Das stimmt allerdings :think: . Und nur durch solche Fälle, merke ich die Lösung fürs nächste mal.

Zu der Lösung: Was meinst du mit "das ganze zu Fuss machen" (nach dem Unbundle)
أهلا و سهلا بالمستخدمين العرب
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Datenspeicherung»