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!
kann mir jemand helfen:
Ich habe eine Case-Struktur: Bei False werden Messwerte von einem Array in eine neues Excel File gespeichert. Das funktioniert.
Bei True sollen die Messwerte an eine bestehende Exceltabelle angehängt werden, ohne dass die vorherigen Werte überschrieben werden (also direkt eine Zeile unter den alten Messwerten, sollen die neuen Werte gespeichert werden). Ich hab jetzt schon einiges ausprobiert, aber die alten Werte werden entweder immer überschrieben oder irgendetwas anderes läuft schief.
Würde mich freuen, wenn mir jemand weiterhelfen könnte.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
RE: Tabelle in bestehendem Excel File erweitern
Lies im Notfall doch einfach Deine Excel-Tabelle aus (per ActiveX), hänge an die Daten Deine neuen Daten an und schreibe wieder alles in Excel zurück.
Es sollte aber auch mit irgendeiner "Append" Funktion mit den VIs funktionieren. Hab' gerade aber keine Zeit selbst nachzuschauen.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Ich hab erst ordentlich geschimpft und vom Leder gezogen, dann tief Luft geholt und alles gelöscht. Ich fass mich dann einfach kurz:
Das RTG erstellt eine xls Datei, du benutzt ein VI zu Einlesen von TEXT Dateien im ASCII Format. Passt net.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
02.09.2013, 19:32 (Dieser Beitrag wurde zuletzt bearbeitet: 02.09.2013 19:37 von TR61.)
ich habe so ein ähnliches Problem. Mein Programm soll am ende als SubVI für mein Technikerprojekt dienen und die Funktion sollte so sein: Wenn einer der Schalter (in der mainVI sind es LED´s) betätige wird, wird am ende in meiner Tabelle der Fehler mit Datum etc. angezeigt. Soweit so gut, aber mein Problem ist einfach dass die Werte nicht aufgelistet werden. Sprich die Fehlerfälle sollen aufgelistet werden, dass wenn das Programm z.B. 3 Wochen am stück läuft dass ich immer scrollen und schauen kann welche Fehler sind vor 2 Wochen mal aufgetaucht oder vor 2 Monaten. Der teil mit dem "in Excel schreiben" ist im Augenblick noch optional aber wird wahrscheinlich am ende verlangt.
Meine LV Kenntnisse sind recht wenig da ich seit neuem damit arbeite und im Forum habe ich das eine und das andere schon gefunden gehabt aber doch nicht so das was ich bräuchte.
Über Hilfe und evtl. Verbesserungsvorschläge würde ich mich sehr freuen.
MfG TR
LV: 2013 Evaluierungsversion + RGT
02.09.2013, 20:23 (Dieser Beitrag wurde zuletzt bearbeitet: 02.09.2013 20:40 von GerdW.)
ich habe mir nur kurz das Bild angeschaut: Race-Conditions noch und nöcher...
THINK DATAFLOW!
- LabVIEW arbeitet nicht mit Variablen!
- LabVIEW speichert Daten in Drähten!
- Was versprichst du dir davon, einem Wert in eine lokale Variable ("hidden") zu schreiben und dann (?) einen Vergleich mit eben diesem Control durchzuführen? RACE-CONDITION!
- Was versprichst du dir davon, in 4 Case-Strukturen jedesmal eine neue Tabelle zu erstellen und in eine lokale Variable der Tabellenanzeige zu schreiben? RACE-CONDITION! (Nebenbei überschreibst du so immer wieder die Tabelle - wo willst du hier die alten Werte speichern?)
- Wozu die Wartezeit in diesem Bild?
Gehe bitte die Einstiegskurse zu LabVIEW durch. Schau dir die mitgelieferten Beispiele an!
Verzichte auf (lokale) Variablen! Verwende Schieberegister!
ich habe mal die Race-Conditions entfernt und versucht, etwas Übersichtlichkeit reinzubringen.
Das VI arbeitet nun allerdings tatsächlich als Sub-VI, weshalb es auch ein Eingangs- und Ausgangsarray hat.
Du musst also im Main dafür sorgen, dass die akkumulierte Tabelle wieder dem Eingang zugeführt wird.
ich habe mal die Race-Conditions entfernt und versucht, etwas Übersichtlichkeit reinzubringen.
Das VI arbeitet nun allerdings tatsächlich als Sub-VI, weshalb es auch ein Eingangs- und Ausgangsarray hat.
Du musst also im Main dafür sorgen, dass die akkumulierte Tabelle wieder dem Eingang zugeführt wird.
Gruß, Marko
Hallo Marko,
vielen dank für deine mühe so spät am Abend. Dein Programm erfüllt sein zweck voll und ganz, noch bin ich damit beschäftigt dass das Programm nur während einer positiven flanke von meinen Fehlersensoren reagiert und auch nur den einen Jeweiligen angesprochen Sensor auflistet, weil sonst die Tabelle unnötig nur mit Datum und Zeit ohne Fehlerquelle aufgefüllt wird bzw. einer Fehlerquelle zig mal in einer Sekunde aufgelistet wird. Dieses Problem werde ich durch experimentieren (hoffentlich) selber gelöst bekommen "learning by doing" dementsprechend werde ich auch dein Programm genauer unter die Lupe nehmen, muss am ende es ja auch verstehen
@GerdW
Hallo GerdW
mit der variablen "hidden" hatte ich eine positive flanken Auswertung realisiert (hier im Forum gefunden), weil aus irgendeinem Grund bei mir der "Boolescher Wechsel"- Baustein nicht so richtig funktioniert hatte. Der Timer war für ein Test vorher um den Impuls zu verlängern. Das mit den Case habe ich mir schon gedacht, dass das so nichts ist. Zum Thema "Race-Condition" wurde ich jetzt das erste mal damit konfrontiert, habe mir auch einiges durchgelesen zu dem Thema und versuche nachgebaut die es veranschaulichen. Danke, dass du mich darauf aufmerksam gemacht hast, es wird auch als Futter für meine Doku bzw. Vortrag diene.
(03.09.2013 16:05 )TR61 schrieb: ...mit der variablen "hidden" hatte ich eine positive flanken Auswertung realisiert ...
Hallo TR,
nur nochmal zum Verständnis:
Das Problem im angehängten Bild ist, dass du nicht vorhersagen kannst, ob zuerst in die lok. Var. boolesch geschrieben wird, oder ob zuerst aus dem Control Boolesch gelesen wird. Deshalb ist das Ergebnis des Vergleichs nicht vorhersehbar und damit unbrauchbar.