Autor Thema: csv-Datei in Array einlesen - Welche Baustein?  (Gelesen 9227 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Vaninger

  • Newbie
  • *
  • Beiträge: 36
    • Profil anzeigen
csv-Datei in Array einlesen - Welche Baustein?
« am: 18. November 2012, 18:46:24 »
Hallo liebes Oscat Forum,

ich wollte mal nachfragen, ob es von Oscat bereits einen Baustein für folgende Aufgabenstellung gibt. Ich würde gerne mittels Baustein ein Rezept aus einer Access Datenbank in meine Phoenix SPS einlesen und diese Daten dann hier weiterverarbeiten (z. B. in ein Array schreiben). Mit diesen Daten (hauptsächlich Zeiten und Temperaturen) soll dann ein Rezept abgefahren werden.
Da das Einlesen von Access Dateien eher schwierig sein wird, könnte man die unterschiedlichen Rezepte ja in eine csv-Datei speichern und aus dieser auslesen...

Beispielhafter Aufbau:
Name; Temp_E; Temp 1; Zeit 1; Temp 2; Zeit 2; Temp 3; Zeit 3 usw. -> Header
Rezept 1; 65,0; 63,0; 15; 70,0; 60; 72,0; 10; 76,0; 5 usw. -> Daten

Vielleicht hat jemand einen Tipp für mich...

Danke und schöne Grüße
Daniel 

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: csv-Datei in Array einlesen - Welche Baustein?
« Antwort #1 am: 18. November 2012, 19:07:52 »
hallo

der baustein CSV_PARSER_FILE kann eine Datei im CSV-Format auswerten und die Werte können dann natürlich auch in ein array abgelegt werden.

Als kleine hilfe gibt es ein Demoprogramm in der gruppe DEMO mit dem namen CSV_PARSER_FILE_DEMO

das demoprogramm liest die csv datei im anhang in ein array ein !



[gelöscht durch Administrator]

Offline Vaninger

  • Newbie
  • *
  • Beiträge: 36
    • Profil anzeigen
Re: csv-Datei in Array einlesen - Welche Baustein?
« Antwort #2 am: 19. November 2012, 12:33:18 »
Hallo Peewit,

vielen Dank für deine Antwort. Habe mir den Baustein und das Demo gestern mal angeschaut, so richtig verstehen tue ich ihn aber noch nicht. Wie kann ich denn eigentlich die Demo in PCWorx ausführen?

Hast du eventuell noch ein weiteres Beispiel? Mit dem Baustein DLOG_STORE_FILE_CSV könnte ich dann auch Werte in eine csv Datei speichern, die ich dann später wieder auslese, oder?

Vielen Dank für die Antwort.

Schöne Grüße
Daniel

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: csv-Datei in Array einlesen - Welche Baustein?
« Antwort #3 am: 19. November 2012, 14:32:11 »
hallo

da du den baustein deinen bedüfnissen anpassen musst, solltest du die network.lib als projekt öffnen und den Baustein CSV_PARSER_FILE_DEMO im ordner demo exportieren, und in dein eigenes projekt importieren

der baustein benutzt eine neue datenstruktur die du auch umbenennen und anpassen solltest

TYPE
  csv_parser_demo_col : ARRAY [1..4] OF REAL;
  csv_parser_demo     : ARRAY [1..2] OF csv_parser_demo_col;
END_TYPE

duzu passend gibt im demo programm die variablen

line_cnt   (Wert 2)         <-- anzahl der zeilen
col_cnt   (WErt 4)                   <- anzahl der spalten

die du auch deinen anforderungen entsprechend anpassen solltest
      
DLOG_STORE_FILE_CSV ist ansich gedacht um fortlaufend daten zu schreiben
man könnte es dafür vergewaltigen, aber das wäre eher unpassend, und mit kanonen auf spatzen schiessen