WinCC Flex 2005 - Anzeige von Texten aus Textdatei

eYe

Level-1
Beiträge
759
Reaktionspunkte
80
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

ich möchte gerne in meiner Visu einige Texte variabel gestalten, damit der Kunde Sie je nach Anlage anpassen kann. Da er kein WinCC Flex 2005 besitzt müßten die Texte am besten anhand einer Excel oder Textdatei in die Visu übernommen werden. (Runtime ist Advanced und läuft auf XP Prof. Rechner)

Ist das möglich, hat sowas schonmal jemand gemacht? :)
 
Hallo,
das geht, nur mußt du dabei berücksichtigen, dass du diese Texte nur in angelegten Variablen ausgeben kannst. Diese Variablen wären dann allerdings interne Variablen und zählen somit nicht zu den Powertags ...

Als Quelle würde ich dann aber eine ASCII-Datei (Textdatei ohne Formatierungen etc.) nehmen. Das importieren von Daten aus einer Excel-Quelle kann u.U. langsam sein.

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist schonmal schön zu wissen das es geht :)

Die internen Variablen anzulegen stellt kein Problem dar, eine Excel file wäre schöner da diese Textlisten halt standardmäßig schon in Excel vorliegen.
Aber Ascii wäre auch kein Beinbruch.

Ich wäre ja schonmal begeistert wenn ich es überhaupt hinbekomme :)

In der Hilfe bin ich auf VB Code gestoßen um Textdatein zu lesen, ist das bei der Lösung auch so?
Leider habe ich nicht viel Ahnung davon und wäre begeistert wenn sich jemand die Mühe macht mir das Ganze mal näher zu bringen.

Die Visu ist halt eine Ganze Simple Seite auf der Zig LED's angezeigt werden und daneben steht der dazugehörige Text. Dieser muss nun halt aus der txt gelesen werden damit jeder einfach ändern kann.
 
In der Hilfe bin ich auf VB Code gestoßen um Textdatein zu lesen, ist das bei der Lösung auch so?
... wenn du den Beitrag von Volker in der FAQ meinst, dann ja.

Ich wäre ja schonmal begeistert wenn ich es überhaupt hinbekomme :)

Leider habe ich nicht viel Ahnung davon und wäre begeistert wenn sich jemand die Mühe macht mir das Ganze mal näher zu bringen.

Ich kann dir gerne dabei helfen, aber die Arbeit hast schon du ...

Die Visu ist halt eine Ganze Simple Seite auf der Zig LED's angezeigt werden und daneben steht der dazugehörige Text. Dieser muss nun halt aus der txt gelesen werden damit jeder einfach ändern kann.

In deinem beschriebenen Fall würde ich die internen Variablen jeweils beim Aufbauen der entsprechenden Bildschirmseite einlesen. An dieser Stelle verstehst du vielleicht auch, warum ich hier vom Prinzip her eine ASCII-Datei bevorzugen würde - das geht vom Zugriff einfach schneller ...

Gruß
LL
 
Hallo LarryLaffer,

habe heute mal wieder ein paar min Zeit und habe mir nun nochmal in ruhe den FAQ Beitrag von Volker durchgelesen.

Die Runtime läuft unter Windows XP und da du mir ja ASCI empfohlen hast gehe ich ma davon aus, dass folgender code zu verwenden ist?

Windows - Daten lesen ( FAQ )

Code:
Set fso = CreateObject("Scripting.FileSystemObject")
Set fs = CreateObject("WScript.Shell")
 
    Set TextFile = fso.openTextFile(datei, 1)
    x = 0
    do while textfile.atendofstream <> true
        x = x + 1
        name(x) = TextFile.readline
    loop
    textfile.close

Hierzu ein paar Anfängerfragen :(

1) Es fehlt die Deklarierung der Variablen? Also noch "Dim fso, fs, etc" einügen?
2) Wo gebe ich den Dateipfad und den Dateinamen an? (Name = datei.txt?)
3) Die einzelnen Zeilen werden in name(x) geschrieben, wie bekomme ich den Text von dort in meine internen String Variablen?

sry, habe leider mit SKripten kaum Erfahrungen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier sind einmal zwei Programmbeispiele für das Einlesen einer CSV-Datei und das Speichern der gelesenen Werte in WinCC flexible Runtime.

Im ersten Programmbeispiel besteht die CSV-Datei aus 4 Zeilen und 3 Spalten.

Datei_1.csv

Code:
Text 11;Text 12;Text 13
Text 21;Text 22;Text 23
Text 31;Text 32;Text 33
Text 41;Text 42;Text 43

VBScript Datei_1

Code:
' =========================================================
' Lesen einer CSV-Datei und speichern der gelesenen Werte
' =========================================================
 
' Konstanten deklarieren
 
Const ForReading = 1
 
Const Dateiname = "F:\Datei_1.csv"
 
' Variablen deklarieren
 
Dim FSO, Datei
 
Dim TextZeile, TextFeld, Zeile
 
' Objekt erzeugen
 
Set FSO = CreateObject("Scripting.FileSystemObject")
 
' Öffnen der Datei zum Lesen
 
Set Datei = FSO.OpenTextFile(Dateiname, ForReading, False)
 
Zeile = 1
 
' Datei bis zum Ende durchlaufen
 
While Not Datei.AtEndOfStream
 
    ' Lesen einer Zeile
 
    TextZeile = Datei.ReadLine
 
    ' Zeile an Semikolon trennen und die Werte in einem 
    ' Array speichern
 
    TextFeld = Split(TextZeile,";")
 
    ' Werte aus dem Array in Variablen speichern
 
    SmartTags("Text_" & Zeile & "1") = TextFeld(0)
 
    SmartTags("Text_" & Zeile & "2") = TextFeld(1)
 
    SmartTags("Text_" & Zeile & "3") = TextFeld(2)
 
    Zeile = Zeile + 1
 
Wend
 
' Schließen der Datei
 
Datei.Close

Datei_2.csv

Code:
Text 14;Text 15;Text 16
Text 24;Text 25;Text 26
Text 34;Text 35;Text 36
Text 44;Text 45;Text 46

VBScript Datei_2

Code:
' =========================================================
' Lesen einer CSV-Datei und speichern der gelesenen Werte
' =========================================================
 
' Konstanten deklarieren
 
Const ForReading = 1
 
Const Dateiname = "F:\Datei_2.csv"
 
' Variablen deklarieren
 
Dim FSO, Datei
 
Dim TextZeile, TextFeld, Zeile
 
' Objekt erzeugen
 
Set FSO = CreateObject("Scripting.FileSystemObject")
 
' Öffnen der Datei zum Lesen
 
Set Datei = FSO.OpenTextFile(Dateiname, ForReading, False)
 
Zeile = 1
 
' Datei bis zum Ende durchlaufen
 
While Not Datei.AtEndOfStream
 
    ' Lesen einer Zeile
 
    TextZeile = Datei.ReadLine
 
    ' Zeile an Semikolon trennen und die Werte in einem
    ' Array speichern
 
    TextFeld = Split(TextZeile,";")
 
    ' Werte aus dem Array in Variablen speichern
 
    SmartTags("Text_" & Zeile & "1") = TextFeld(0)
 
    SmartTags("Text_" & Zeile & "2") = TextFeld(1)
 
    SmartTags("Text_" & Zeile & "3") = TextFeld(2)
 
    Zeile = Zeile + 1
 
Wend
 
' Schließen der Datei
 
Datei.Close

Gruß Kai
 

Anhänge

  • RUNTIME_Startbild_1.jpg
    RUNTIME_Startbild_1.jpg
    576,3 KB · Aufrufe: 111
  • RUNTIME_Startbild_2.jpg
    RUNTIME_Startbild_2.jpg
    576,4 KB · Aufrufe: 61
  • RUNTIME_Startbild_3.jpg
    RUNTIME_Startbild_3.jpg
    576,2 KB · Aufrufe: 45
  • RUNTIME_Startbild_4.jpg
    RUNTIME_Startbild_4.jpg
    576,5 KB · Aufrufe: 39
  • RUNTIME_Startbild_5.jpg
    RUNTIME_Startbild_5.jpg
    576,6 KB · Aufrufe: 48
Zuletzt bearbeitet:
Und noch ein paar Bilder.

Gruß Kai
 

Anhänge

  • RUNTIME_Startbild_6.jpg
    RUNTIME_Startbild_6.jpg
    576,6 KB · Aufrufe: 35
  • RUNTIME_Startbild_7.jpg
    RUNTIME_Startbild_7.jpg
    573,7 KB · Aufrufe: 24
  • RUNTIME_Startbild_8.jpg
    RUNTIME_Startbild_8.jpg
    572,8 KB · Aufrufe: 27
  • RUNTIME_Variablen.jpg
    RUNTIME_Variablen.jpg
    416,4 KB · Aufrufe: 44
  • RUNTIME_Skripte_1.jpg
    RUNTIME_Skripte_1.jpg
    447 KB · Aufrufe: 47
Und noch ein paar Bilder.

Gruß Kai
 

Anhänge

  • RUNTIME_Skripte_2.jpg
    RUNTIME_Skripte_2.jpg
    447,7 KB · Aufrufe: 36
  • RUNTIME_Runtime_1.jpg
    RUNTIME_Runtime_1.jpg
    125 KB · Aufrufe: 33
  • RUNTIME_Runtime_2.jpg
    RUNTIME_Runtime_2.jpg
    125,2 KB · Aufrufe: 33
  • CSV_Datei_1.jpg
    CSV_Datei_1.jpg
    83 KB · Aufrufe: 43
  • CSV_Datei_2.jpg
    CSV_Datei_2.jpg
    83 KB · Aufrufe: 23
Zuviel Werbung?
-> Hier kostenlos registrieren
Im zweiten Programmbeispiel besteht die CSV-Datei aus 4 Zeilen und 1 Spalte.

Datei_3.csv

Code:
Text 51
Text 61
Text 71
Text 81

VBScript Datei_3

Code:
' =========================================================
' Lesen einer CSV-Datei und speichern der gelesenen Werte
' =========================================================
 
' Konstanten deklarieren
 
Const ForReading = 1
 
Const Dateiname = "F:\Datei_3.csv"
 
' Variablen deklarieren
 
Dim FSO, Datei
 
Dim TextZeile, Zeile
 
' Objekt erzeugen
 
Set FSO = CreateObject("Scripting.FileSystemObject")
 
' Öffnen der Datei zum Lesen
 
Set Datei = FSO.OpenTextFile(Dateiname, ForReading, False)
 
Zeile = 5
 
' Datei bis zum Ende durchlaufen
 
While Not Datei.AtEndOfStream
 
    ' Lesen einer Zeile
 
    TextZeile = Datei.ReadLine
 
    ' Wert aus der Zeile in einer Variablen speichern
 
    SmartTags("Text_" & Zeile & "1") = TextZeile
 
    Zeile = Zeile + 1
 
Wend
 
' Schließen der Datei
 
Datei.Close

Datei_4.csv

Code:
Text 52
Text 62
Text 72
Text 82

VBScript Datei_4

Code:
' =========================================================
' Lesen einer CSV-Datei und speichern der gelesenen Werte
' =========================================================
 
' Konstanten deklarieren
 
Const ForReading = 1
 
Const Dateiname = "F:\Datei_4.csv"
 
' Variablen deklarieren
 
Dim FSO, Datei
 
Dim TextZeile, Zeile
 
' Objekt erzeugen
 
Set FSO = CreateObject("Scripting.FileSystemObject")
 
' Öffnen der Datei zum Lesen
 
Set Datei = FSO.OpenTextFile(Dateiname, ForReading, False)
 
Zeile = 5
 
' Datei bis zum Ende durchlaufen
 
While Not Datei.AtEndOfStream
 
    ' Lesen einer Zeile
 
    TextZeile = Datei.ReadLine
 
    ' Wert aus der Zeile in einer Variablen speichern
 
    SmartTags("Text_" & Zeile & "1") = TextZeile
 
    Zeile = Zeile + 1
 
Wend
 
' Schließen der Datei
 
Datei.Close

Gruß Kai
 

Anhänge

  • RUNTIME_Startbild_1.jpg
    RUNTIME_Startbild_1.jpg
    581 KB · Aufrufe: 22
  • RUNTIME_Startbild_2.jpg
    RUNTIME_Startbild_2.jpg
    580,9 KB · Aufrufe: 14
  • RUNTIME_Startbild_3.jpg
    RUNTIME_Startbild_3.jpg
    576,8 KB · Aufrufe: 13
  • RUNTIME_Startbild_4.jpg
    RUNTIME_Startbild_4.jpg
    576,7 KB · Aufrufe: 16
  • RUNTIME_Variablen.jpg
    RUNTIME_Variablen.jpg
    409,7 KB · Aufrufe: 24
Zuletzt bearbeitet:
Und noch ein paar Bilder.

Gruß Kai
 

Anhänge

  • RUNTIME_Skripte_1.jpg
    RUNTIME_Skripte_1.jpg
    444,4 KB · Aufrufe: 16
  • RUNTIME_Skripte_2.jpg
    RUNTIME_Skripte_2.jpg
    446,6 KB · Aufrufe: 14
  • RUNTIME_Runtime_1.jpg
    RUNTIME_Runtime_1.jpg
    115,1 KB · Aufrufe: 17
  • RUNTIME_Runtime_2.jpg
    RUNTIME_Runtime_2.jpg
    115,4 KB · Aufrufe: 14
Und noch ein paar Bilder.

Gruß Kai
 

Anhänge

  • CSV_Datei_3.jpg
    CSV_Datei_3.jpg
    74,9 KB · Aufrufe: 26
  • CSV_Datei_4.jpg
    CSV_Datei_4.jpg
    74,9 KB · Aufrufe: 14
Zurück
Oben