TIA WinCC Runtime V13 Skript .csv spaltenweise speichern

Gelee

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle,

Bin bisher immer stiller Teilhaber dieses Forums gewesen und hab mir auch den ein oder anderen Lösungsweg hier abgeschaut ;)
Jetz hab ich folgendes Problem:

Es geht darum eine Rezeptverwaltung über eine .csv Datei zu realisieren!
aufbau der .csv:
Zeile1 - Rezeptname
Zeile2 ...x - Rezeptwerte

Rezeptauswahl funktioniert über eine dynamische Textliste (Integer-Werte), welche mittel VBS Skript die Rezeptnamen ausliest! Funktioniert auch, genauso wie Rezept aus Datei laden (in interne Runtime Variablen, diese werden dann mittels neuem Skript in die SPS Sollwerte kopiert oder ggfs. herausgezogen in die int.Variablen zum speichern)!
Aber ich hab jetzt schon Stunden damit verbracht, eine Möglichkeit zu finden, diese Spaltenweise in die .csv zu kopieren. Wäre dankbar für Hilfe!
 
Zuletzt bearbeitet:
Hallo,
ich weiß jetzt nicht, ob ich dich richtig verstanden habe ...

Eine CSV-Datei (oder jede beliebige andere Text-Datei - kann auch XML sein) ist eine Datei, die IMMER gesamt gelesen und gesamt geschrieben werden möchte.
Wenn du also nur einen einzelnen Eintrag in dieser Datei ändern möchtest so geht das nur, in dem du die die ganze Datei in deinen Speicher lädst, den jeweiligen Wert änderst und dann alles wieder speicherst.
Das lässt sich natürlich variieren ...
Hast du z.B. in jeder Zeile der Datei nur einen Wert drin stehen und du weißt welchen Zeilenwert du ändersn möchtest, so kannst du das auch mit einer Art Umkopieren machen. Du öffnest dir deine Quell-Datei zum Lesen und eine Hilfsdatei, die es bis dahin idealerweise noch nicht gab, zum Schreiben. Nun liest du aus der Quelldatei die Zeilen, die du unverändert bleiben lassen möchtest und schreibt deren Inhalt 1:1 in die Zieldatei. Bist du bei der Zeile angekommen, deren Inhalt du ändern möchtest, so liest du die aus der Quelldatei, manipulierst deren Inhalt und schreibst dann das in die Zieldatei. Nun machst du mit ggf. noch folgenden Zeilen weiter bis zum Datei-Ende (Quell-Datei). Nun schließt du bei Dateien, löscht die Quelldatei und benennst die Hilfsdatei auf den Namen der Quelldatei um.

Kontest du mir folgen ...?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi LL,
Das klingt erstmal logisch und das war auch mein letzter Gedanke dazu...
Die Fragen, die sich mir jetzt stellen:
Wie aufwändig wird das Skript für so etwas (bin da auch relativ unerfahren)?
Wie hoch fällt dabei der Rechenaufwand für das lesen und schreiben von 50 Spalten mal 30 Zeilen aus!?

Da man ja nun im Zuge von anderen Projekten schon komische Sachen erlebt hat mit Skripting...
 
... das sehe ich nicht als Problematisch an ... (solange du dieses Script nicht zyklisch jede Sekunde ausführen willst).

Was ich hier nur noch nicht erkennen kann ist, wie du identifizieren wilst, in welche Zeile / Spalte du nun deinen Wert hereinpacken willst.
Das eigentliche Script jedenfalls (wenn das obige klar ist) können wir dann hier gemeinsam voran bringen ...

Gruß
Larry
 
Zurück
Oben