WinCC Texte aus csv-Datei über ein Script einlesen

MP61267

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.
Ich habe keine Erfahrungen mit VB Scripten. Das gleich vorne weg.

Wir haben ein Übersichtsbild für jede E/A-Karte unserer PLC.
Das Bild ist wie eine Tabelle aufgebaut.
Die erste Spalte enthält die Nummer des Ein- oder Ausgangs (z.B.: "E0.0")
Die zweite Spalte zeigt den Zustand des Ein- oder Ausgangs dar.
Die dritte Spalte zeigt den symbolischen Namen des Ein-. oder Ausgangs (z.B.: "F171")
Die vierte Spalte zeigt den Kommentar zu diesem Ein- oder Ausgang (z.B.: "Sicherung Steckdosen")
In jedem Bild werden 16 Ein- / Ausgänge dargestellt.

Die Texte für die Spalten 1, 3 und 4 sollen jetzt aus einer CSV-Datei eingelesen werden.
Hierzu habe ich die insgesamt 48 Felder mit internen HMI-Variablen hinterlegt.

Jetzt habe ich durch Suchen im Netz bei Siemens das angehängte Beispiel-Projekt für Scripte gefunden.
Hier wollte ich mich des "Read-Data" bedienen.
Das Script habe ich aus dem Beispiel-Projekt in mein Projekt übernommen und den Pfad, wie auch das Trennzeichen angepasst.
Das Script wird mit Anwahl des Bildes durch klicken der Bildanwahltaste ausgeführt. (zumindest habe ich es so parametriert...)

Starte ich unser Projekt in der RT bleiben die 48 Textfelder leer :-(

Hoffe mir kann jemand mit Rat und Tat zur Seite stehen...
Vielen Dank schonmal
Gruß Mirco
 

Anhänge

  • scripte_readwritefile.zip
    2,2 KB · Aufrufe: 15
Hast du dir die Beschreibung der Funktionen denn mal durchgelesen, die du da kopiert hast?

Die zum Einlesen erwarten den Aufbau einer Zeile nach dem Format:
Tagname;TagWert

Das heißt, in der ersten Spalte steht der Name der Variable in WinCC, in der zweiten der Wert. Hast du z.B. eine Integer Variable, dann könnte dort

Messwert1;1234

stehen. Dann würde eine vorhandene WinCC Variable namens "Messwert1" mit dem Wert 1234 beschrieben.

Das ist was die Funktion jetzt macht.

Das kannst du so direkt für deine Anwendung nicht verwenden. Wie hast du denn deine internen Variablen bezeichnet?
Entweder du behältst die bestehenden Funktionen, d.h. das zweispaltige Format, bei, dann musst du immer in Spalte 1 den Variablennamen einsetzen, und in Spalte 2 den Wert.

Beispielweise:
Eingang001_Nummer;E0.0
Eingang001_Zustand;0
Eingang001_Symbol;F171
Eingang001_Kommentar;Sicherung Steckdosen

Oder du baust die Funktion so um, dass sie der Spaltennummer eine entsprechend feste Kennung zuweist. Z.B. in Spalte 1 der Variablen-Basisname ("Eingang001"), Spalte 2 der Wert für Nummer, Spalte 3 für Zustand usw.
Die Datentypen deiner internen Variablen müssen natürlich mit denen in er CSV-Datei zusammenpassen.
 
Zurück
Oben