TIA Daten auf USB-Stick speichern

Königswelle

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich setze eine CPU1511 und ein PC, auf dem WinCC RT installiert ist, ein.
Aufgabe ist, Daten die in der CPU abliegen auf ein USB-Stick in eine csv-Datei zu
kopieren.
Ich habe zwei Lösungsansätze, allerdings fehlen mir bei beiden noch der letzte Schritt
damit es funktioniert.

1. Ansatz: Die Daten werden als csv-Datei auf dem Webserver der CPU abgelegt.
Hier habe ich das Problem, dass ich nicht die Datei kopieren kann.

2. Ansatz: Ich erstelle eine Datei auf dem USB-Stick mit einem Script über WinCC.
Hier habe ich das Problem, dass ich nicht die Daten in die Datei schreiben kann. Der Grund
ist, dass ich die Daten von der SPS nach WinCC in einem Array übertrage.
(damit ich Powertags einspare).

Ich hoffe Ihr habt eine Idee und könnt mir weiterhelfen.

Gruß
 
3. Ansatz: die CPU1511 sendet die Daten an einen FTP-Server, den Du z.B. auf dem WinCC PC betreibst.
FTP-Client Kommunikation mit S7-1200/1500

4. Ansatz: die CPU1511 sendet die Daten an einen TCP-Fileserver, den Du z.B. auf dem WinCC PC betreibst
TCP-Fileserver für S7-Controller

zu 2.: Um die Daten sicher mit der PC RT aus der SPS zu lesen, kannst Du eh' nicht die normalen HMI-Variablen nehmen, sondern müsstest (Array of) Rezepturen verwenden.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
vielen Dank für die Hilfe.
Ich habe mittlerweile eine andere Lösung gefunden.
Erstelle aus WinCC eine Datei direkt auf dem USB-Stick, sortiere vorher die zuschreibenden Variablen und
schreibe sie in die Datei.
VG
 
- Wie bekommst Du die Werte aus der SPS/CPU ins WinCC RT? Als Rezeptur mit Handshake (Lesebestätigung/Fertigmeldung)? Hast Du kontrolliert, ob in der Datei auf dem USB-Stick die aktuellen Werte stehen?
Hintergrund: wenn die Variable nicht gerade verwendet wird (z.B. im aktuellen Bild), dann aktualisiert die WinCC RT den Wert der Variable nicht. Wenn man den momentan in der Variable enthaltenen Wert in die Datei schreibt, dann kann das ein sehr alter oder noch nie eingelesener Wert sein. NACH dem Lese-Zugriff auf die Variable aktualisiert WinCC die Variable, doch das ist dann zu spät für die Datei.

- Wodurch unterscheidet sich Deine jetzige "andere" Lösung von Deinem "2. Ansatz"?
- Was meinst Du mit Variablen "sortieren"? Wozu ist das gut?

Harald
 
Es handelt sich tatsächlich um den Ansatz 2.
Die Daten werden über "normale" Variablen in einem Arrayfeld übertragen. Ich arbeite nicht mit einer Rezeptur.
Die Werte werden nur auf Anforderung in die Datei geschrieben. Die Datei kann man in Excel einlesen.
textExcel.jpg

Es ist ziemlich mühsam die Befehl write/read richtig zu nutzen. Ich finde in keinem Handbuch Informationen über
die Befehle. Hast Du ein entsprechendes Handbuch?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du es mit einem VBS-Script machst brauchst eigentlich nur deine Datei öffnen und entweder 1 Lesen, 2 Schreiben oder 8 Anhängen. So geht's zumindest bei den Comfort-Panels.

f.open "DeinDateipfad und Name", 8 // 1 Lesen, 2 Schreiben, 8 Anhängen
f.LinePrint("Inhalt Zeile 1")
f.LinePrint("Inhalt Zeile 2")
 
schau mal in die FAQ Protool/WinCCflex/TIA Daten lesen / schreiben mit VB-Script
und suche mal mit der Forumssuche nach "csv schreiben" und "GetDataRecordTagsFromPLC"
PS: Hast Du auch WinCC flexible 2008? Da ist eine komplette VBS-Hilfe dabei.

warum bekommt man die Daten nicht sicher aktualisiert in eine Datei geschrieben?
Gefühlt jeden zweiten Monat kommt diese Frage, ich habe sie schon unzählige Male beantwortet bzw. auf das Problem hingewiesen. Deshalb der Tip zur Forumssuche nach GetDataRecordTagsFromPLC.

Kurzfassung: wenn die Variablen, deren Werte in eine Datei geschreiben werden sollen, nicht in jedem Bild verwendet werden oder auf "zyklisch fortlaufend Aktualisieren" eingestellt sind, oder wenn gar die Variablennamen erst in einem Skript zusammengebastelt werden, dann weiß die WinCC RT nichts von der Verwendung der Variablen und aktualisiert die Variablen nicht und man bekommt Nullen oder uralte Werte in die Dateien geschrieben. Man muß die Variablenwerte kurz vor dem wegschreiben sicher ins HMI einlesen, am besten mit Handshake und Fertigmeldung - das geht mit GetDataRecordTagsFromPLC

Schau Dir mal dieses Thema an: Prozessdaten einer CPU 317 auf Speicherkarte eines TP277 6'' speichern
besonders ab Beitrag #12

Harald
 
Zuletzt bearbeitet:
Zurück
Oben