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 

Initialisieren nach abspeichern in Excel



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!

12.02.2011, 14:35
Beitrag #1

JackBlack Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Sep 2010

Studenten Version 8.5 und LV2009
2010
de_en

74xxx
Deutschland
Initialisieren nach abspeichern in Excel
Hallo zusammen


Da Excel ein sehr prozessorlastiges schreiben mit sich bring, sind wir zu dem Entschluss gekommen entweder in Excel zu schreiben oder
Daten aufzunehmen bzw. auszuwerten (entspricht auch eher dem EVA Prinzip). In dieser Zeit wird die Anlage vermutlich ausgeschalten.

Nun haben wir unser ne begonnenes Programm mal im Anhang hochgeladen. Die Funktionen der einzelnen Programmteile sind kommentiert, so das
ich im Beitrag auf eine große Erklärung verzichte.

Kurz und knapp: Das Programm "befüllt" ein Array. Wenn dieses gefüllt ist kann mittels "Speichern" das Array komplett in Excel
geschrieben werden.

Nachdem alle Werte in Excel geschrieben sind wollen wir das Array wieder neu Initialisiert
ohne aber dabei die While Schleife zu verlassen.

Als Initialisierung haben wir uns einen String (OK) vorgestellt.


Wir haben uns mit der "Array Initialisieren" Funktion auseinander gesetzt, wissen aber nicht wie wir diese für unseren Zweck verwenden
können.

Falles jemand uns einen Tipp geben könnte dies zu realisieren oder uns auf einem Fehler im Code aufmerksam macht wären wir sehr dankbar!


MfG JackBlack


Angehängte Datei(en)
2009 .rar  2011_02_10_Array_Excel_rev10.rar (Größe: 55,16 KB / Downloads: 183)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.02.2011, 07:50
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
RE: Initialisieren nach abspeichern in Excel
Schleift einfach Euer Array durch die Case-Struktur, in der Ihr speichert, mit durch und setzt es da in dem Speicher-Case, nachdem Ihr in Excel gespeichert habt, per leerer Konstante zurück.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2011, 19:56 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2011 19:56 von JackBlack.)
Beitrag #3

JackBlack Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Sep 2010

Studenten Version 8.5 und LV2009
2010
de_en

74xxx
Deutschland
RE: Initialisieren nach abspeichern in Excel
Hallo zusammen

Wir haben nun mal eine Lösung gefunden die uns zufriedenstellt, ich hoffe es passt so weit alles.

Hab se wieder mit hochgeladen.

Wenn jemand noch was findet was wir verbessern müssen, wir sind für jede Anregung dankbar

MfG JackBlack


Angehängte Datei(en)
2009 .rar  Array_Excel_rev11.rar (Größe: 53,61 KB / Downloads: 178)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2011, 20:17 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2011 21:50 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Initialisieren nach abspeichern in Excel
Hallo Jack,

- die Sequenzstruktur ist unnötig und könnte entfernt werden
- das RS-FF ist unnötig und könnte entfernt werden (der Case gibt nach dem Durchlauf immer den Selektorwert aus, dieser muss also nicht durchgeführt werden!)
- die diversen Zähler verwenden momentan DBL, sollten aber auch mit I32 (vielleicht sogar besser) funktionieren
- ArraySize und nachfolgende IndexArray sind unnötig, da ihr die FOR-Schleife sowieso per AutoIndexing abarbeitet
- von-rechts-nach-links-Verdrahtung äh von-links-nach-rechts natürlich ist wünschenswert... (wozu gibt es die Aufräumfunktion?)

@Forum-Admins: Wo ist das Strike-Flag geblieben?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.02.2011, 20:26 (Dieser Beitrag wurde zuletzt bearbeitet: 15.02.2011 20:26 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Initialisieren nach abspeichern in Excel
(15.02.2011 20:17 )GerdW schrieb:  - von-rechts-nach-links-Verdrahtung ist wünschenswert... (wozu gibt es die Aufräumfunktion?)
Also ich versuche ja von links nach rechts zu verdrahten Wink

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
22.02.2011, 19:55
Beitrag #6

JackBlack Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Sep 2010

Studenten Version 8.5 und LV2009
2010
de_en

74xxx
Deutschland
RE: Initialisieren nach abspeichern in Excel
Hallo zusammen,

Danke für die Tipps für die Array in Excel Abspeicherung.


Zu einem neuen Problem: Bei unserem Programm wird der erste Datensatz im Array
nicht erfasst (siehe Spalte B in Excel kein fortlaufend Zählerstand).

Woran könnte dies liegen?

Sind für jede Hilfe Dankbar!!

MFG JackBlack


Angehängte Datei(en)
2009 .rar  2011_02_15_Stufe_Array_rev1.rar (Größe: 215,71 KB / Downloads: 169)

Rechtschreibfehler sind Eigentum des Verfassers
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.03.2011, 17:36
Beitrag #7

JackBlack Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Sep 2010

Studenten Version 8.5 und LV2009
2010
de_en

74xxx
Deutschland
RE: Initialisieren nach abspeichern in Excel
Hallo zusammen,

Wärend des Abspeicherungsprozesses arbeitet das Programm die Befehle in der für die Abspeicherung zuständigen For Schleife ab.

Parallel hierzu bleibt die Anlage im Betrieb. Die Schaltspielzahlen werden nun nicht mehr richtig erfasst, da wir in der Schleife sind.

Somit beginnen wir den nächsten Erfassungszyklus zwar mit einen fortlaufenden Zählerstand, dieser ist aber nicht gleich dem realen Schaltspielzahl.

Können wir wärend des Abspeicherprozesses (Ablauf der For-Schleife) einen Zähler parallel zählen lassen??

MFG JackBlack

Rechtschreibfehler sind Eigentum des Verfassers
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.03.2011, 20:49 (Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2011 20:51 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Initialisieren nach abspeichern in Excel
Hi JackBlack,

Zitat:Können wir wärend des Abspeicherprozesses (Ablauf der For-Schleife) einen Zähler parallel zählen lassen??
Ja, natürlich...

Aber nicht mit deiner jetzigen Programmstruktur. Schau dir doch mal in den Examples die Beispiele zu Producer-Consumer-Strukturen an. Damit kann man eben die Producer und Consumer in jeweils eigene Schleifen packen, die dann (nahezu) unabhängig voneinander ablaufen! Dann kann man auch einen Zähler parallel laufen lassen...

P.S.: Dein letztes Attachment ist leider nicht lauffähig, es fehlt mindestens ein subVI (SetCellValue). Von daher kann man deine Fehlerbeschreibung nicht so recht nachvollziehen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.03.2011, 21:54
Beitrag #9

JackBlack Offline
LVF-Grünschnabel
*


Beiträge: 33
Registriert seit: Sep 2010

Studenten Version 8.5 und LV2009
2010
de_en

74xxx
Deutschland
RE: Initialisieren nach abspeichern in Excel
Hallo Zusammen

erst mal sorry dass wir das Sub vi vergessen haben. Hier haben wir nochmals ein funktionierendes Vi hochgeladen.
Das Problem mit dem fehlerhaften Wert besteht leider immer noch.

das von GerdW genannt vi haben wir nicht im Example Finder gefunden. (Wird es anders bezeichnet?)

im zweite vi das wir hochgeladen haben befindet sich nun eine Duplizierung des "1 Taster 2 stufen" auf 8 Taster mit 2 stufen. Da wir einen Testlauf mit unserem Programm starten wollte um zu sehen wie weit wir noch vom Ziel entfernt sind. Dazu muss ich gleich folgendes sagen, die Darstellung des Codes ist nicht sonderlich gut, dies bitte ich zu entschuldigen. würde mich freuen einen tipp zu bekommen dies übersichtlicher zu gestalten.

nun zur eigentlichen frage:

wenn die Array Größe bei allen erstellten Arrays größer wird als 50 dann verlangsamt sich das Programm enorm und wir bekommen keine vernünftigen Messwerte mehr.

das habe wir erst richtig bemerkt als wir das 8 Taster 2 stufen vi mit der Simulation getestet haben.

die CPU Auslastung steigt auch bis auf 80% an. wir gehen davon aus das LabVIEW bei dieser Auslastung quasi versucht durch die Verlangsamung des Programmablaufes, diese Einschränkung zu kompensieren.

wenn uns jemand sagen kann ob wir richtig mit der Vermutung liegen, und wie wir unser Vorhaben trotzdem umsetzten können, dem sind wir zu großem Dank verpflichtet!

MfG JackBlack


Angehängte Datei(en)
2009 .rar  2011_02_22_Projektarbeit_1Taster_2_Stufe.rar (Größe: 216,68 KB / Downloads: 163)

2009 .rar  2011_03_03_Projektarbeit_8Taster_2_Stufen.rar (Größe: 260,98 KB / Downloads: 152)

Rechtschreibfehler sind Eigentum des Verfassers
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.03.2011, 22:26 (Dieser Beitrag wurde zuletzt bearbeitet: 03.03.2011 22:49 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Initialisieren nach abspeichern in Excel
Hallo JackBlack,

Zitat:das LabVIEW bei dieser Auslastung quasi versucht durch die Verlangsamung des Programmablaufes, diese Einschränkung zu kompensieren. ... wenn uns jemand sagen kann ob wir richtig mit der Vermutung liegen
Wie bitte? Das glaubt ihr doch wohl hoffentlich nicht wirklich? Ihr habt da etwas mit Ursache und Wirkung verwechselt. Vielleicht mal wieder Matrix2 schauen Smile
LabVIEW kompensiert da überhaupt nichts: wenn euer Programm langsam läuft, dann wegen ineffizienter Programmierung!

Producer-Consumer:    

Zitat:verlangsamt sich das Programm enorm
Was erwartet ihr bei 8 parallel laufenden Prozessen, die man aufgrund der BD-Größe nicht wirklich debuggen kann?
Schon mal gehört, dass man gleiche Abläufe in subVI packen kann und in einer Schleife aufrufen kann?
Etliche eurer "Puffer-Zähler" ließen sich mit einem Q&R wesentlich effizienter erreichen...
Und ständig in 8 verschiedene Excel-Sheets zu schreiben wird auch nicht zu "effizientem" (und "schnellstmöglichen") Programmablauf beitragen! (Noch dazu, wenn man wirklich jedes einzelne Arrayelement einzeln zu Excel überträgt...)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  speichern nach Excel von while loop Steffen595 13 12.333 17.05.2017 23:09
Letzter Beitrag: Steffen595
  Excel datei abspeichern cuber1 14 17.224 21.03.2012 10:27
Letzter Beitrag: cuber1
  Daten nach Excel speichern (Win7) + LV2010 Peter Schulze 4 6.043 06.09.2011 06:09
Letzter Beitrag: Peter Schulze
  über ViSA Read nach Excel übertragen McAllister 10 8.408 06.04.2011 19:59
Letzter Beitrag: McAllister
  Messwerte in Excel abspeichern fendt939vario 7 14.689 16.02.2011 15:42
Letzter Beitrag: GerdW
  mehrere Resultate abspeichern nach einzelnen Messungen knapper 4 4.715 12.02.2009 10:50
Letzter Beitrag: LauraS

Gehe zu: