LabVIEWForum.de - Daten erfassen und Zeit synchronisieren

LabVIEWForum.de

Normale Version: Daten erfassen und Zeit synchronisieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
(08.09.2020 13:17 )Olli_11845 schrieb: [ -> ]Die 14 Modbus Register kann ich nicht ändern. Aber die idee alles in ein Excel File zu schreiben ist gut.
Doch, das kannst du ändern, weil eine ganze Reihe von Registern direkt aufeinander folgen. Die kannst du mit einem einzelnen Kommando auch mehrere Holding Register auf einmal schreiben, wenn sie direkt aufeinander folgen, hier mal als Anregung die Umsetzung für 5 deiner Register mit einer anderen Modbus-API, deine habe ich gerade nicht installiert:
[attachment=61246]

Bei den ganzen "Coils" könnte man überlegen, ob man die nur bei Wechsel 1x schreibt, das langt auch.

Dann habe ich noch einer weitere Kritik: Mehreren Controls dasselbe Label zu verpassen ist ganz schlechter Programmierstil. Wenn du im Frontpanel eine andere Beschriftung brauchst, dann zeige dort die "Caption" anstelle des Labels an. Ein Label sollte eindeutig sein, das entspricht in einer textbasiertem Programmiersprache dem Variablennamen.

Gruß, Jens
(08.09.2020 13:36 )GerdW schrieb: [ -> ]Da sich die diese CSV-Datei (hoffentlich) nicht andauernd ändern, würde es doch sicherlich ausreichen, sie ein einziges mal vor der Schleife zu lesen!?
Und da du ja auch nur eine Spalte daraus benötigst, kann man diese auch noch vor der Schleife indizieren!
Und da du in der Schleife auch noch "i" benutzt, um die Zeile zu indizieren, könnte man dann sogar mit einer autoindizieren Schleife alle Elemente dieser Spalte abarbeiten!

Vor allem aber erst einmal aufräumen. Geschätzte 16 FullHD-Screens sind einfach zu viel für ein Blockdiagramm!

Die Frage ist wie ich das mache, dass es nur einmal am Anfang gelesen wird?


Und ich versuche jetzt erstmal rauszufinden wie ich das ganze in eine CSV antatt in eine Excel bekomme. Gibts da einen einfachen schnellen Tipp?
(08.09.2020 16:06 )jg schrieb: [ -> ]
(08.09.2020 13:17 )Olli_11845 schrieb: [ -> ]Die 14 Modbus Register kann ich nicht ändern. Aber die idee alles in ein Excel File zu schreiben ist gut.
Doch, das kannst du ändern, weil eine ganze Reihe von Registern direkt aufeinander folgen. Die kannst du mit einem einzelnen Kommando auch mehrere Holding Register auf einmal schreiben, wenn sie direkt aufeinander folgen, hier mal als Anregung die Umsetzung für 5 deiner Register mit einer anderen Modbus-API, deine habe ich gerade nicht installiert:

Gruß, Jens

Ich kann es deswegen nicht ändern, weil mir die Datei so gegeben wurde. Ich darf darin Dinge zu Erfassung meiner Daten ändern. Aber an die Stellen, welche später die Anlage regeln darf ich nicht dran.

Ich versuche gerade die Daten in eine CSV statt eine xlsc zu schreiben. Oder wenn es sein muss auch eine txt. Geht das mit "Write Delimited Spreadsheet VI" oder was würdet ihr empfehlen?
Hallo Olli,

Zitat:Ich versuche gerade die Daten in eine CSV statt eine xlsc zu schreiben. Oder wenn es sein muss auch eine txt. Geht das mit "Write Delimited Spreadsheet VI" oder was würdet ihr empfehlen?
Eine CSV-Datei ist eine Textdatei - nur mit einem Comma als Separator zwischen den Values…
Nimm also WriteDelimitedSpreadsheet!
Dazu alle Daten einfach in ein 1D-Array packen und dieses als neue Zeile in die Datei schreiben.

(Noch besser wird es, wenn du die Datei vor der Schleife öffnest, in der Schleife nur die Kombi ArrayToSpreadsheetString+WriteTextFile verwendest und nach der Schleife dann CloseFile…)

Zitat:Die Frage ist wie ich das mache, dass es nur einmal am Anfang gelesen wird?
THINK DATAFLOW!
Wie oben schon geschrieben: "vor der Schleife"…

Zitat:Die Simulation läuft langsamer ab. 1 Sekunde in der Simulation entspricht 3,3 Sekunden in der Realtät oder so ähnlich.
Das liegt sehr wahrscheinlich an diesen ganzen "Write Measurement Data"-ExpressVIs, die alle irgendwelche Excel-Dateien beschreiben sollen.
Das ist so ungefähr das langsamste ExpressVI, welches du auch gleich noch mehrfach in der Schleife nutzt…
Seiten: 1 2
Referenz-URLs