Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Textdatei mit Script einlesen

  1. #1
    Registriert seit
    17.11.2015
    Beiträge
    20
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen und schönen Abend,
    ich möchte eine Textdatei die 20 Werte in 20 Zeilen ohne Trennzeichen stehen hat mit einem Script einlesen.
    Mit Scripte hab ich keine Erfahrung, kann mir jemand helfen?

    Folgendes habe ich versucht:
    Textdatei C:\test.txt erstellt die 2 Werte untereinander stehen hat
    Unter WinCC zwei EAFelder erstellt (Daten1 + Daten2) und mit einer "InternenVariable" vom Typ "Int" belegt
    Eine Schaltfläche erstellt und mit "Drücken" das Skrip verknüpft

    so und jetzt fehlt mir noch das Script, hat jemand ein Beispiel vielleicht?

    Bin über jede Hilfe dankbar

    DANKE
    Martin
    Zitieren Zitieren Textdatei mit Script einlesen  

  2. #2
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  3. #3
    idefixsps ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.11.2015
    Beiträge
    20
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke, hab ich mir bereits angesehen aber mir fehlt das wesentliche um zu verstehen wie ich das mache und wie der Code dafür aussieht...

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    ... naja ... mehr als einen Beispielcode für dein Vorhaben liefern können wir kaum tun.
    Es gibt zu den einzelnen Befehlen auch noch WinCCFlexibel-Hilfe - immer vorausgesetzt das du mit dieser Visu arbeitest. Ansonsten gibt es natürlich auch noch von Microsoft (z.B. innerhalb von Excel) die VB-Script-Hilfe.

    Wie soll es deiner Meinung nach nun weiter gehen ...?

    Gruß
    Larry

  5. #5
    idefixsps ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.11.2015
    Beiträge
    20
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Larry,
    vielen Dank für deine Antwort. Leider kenne ich mich mit Scripte gar nicht aus und deshalb auch meine "blöden" Fragen.
    Kann mir jemand bitte mit dem Code behilflich sein der genau meine "Problemstellung" löst?

    Folgendes habe ich vorbereitet:
    1. Textdatei C:\test.txt erstellt die 2 Werte untereinander stehen hat
    2. unter WinCC zwei EAFelder erstellt (Daten1 + Daten2) und mit einer "InternenVariable" vom Typ "Int" belegt
    3. eine Schaltfläche erstellt und mit "Drücken" das Skrip verknüpft
    4.....

    BIN UM JEDE HILFE DANKBAR

  6. #6
    Registriert seit
    13.12.2011
    Beiträge
    1.420
    Danke
    147
    Erhielt 161 Danke für 152 Beiträge

    Standard

    Hallo Martin,
    bitte fühle Dich nicht auf den Schlips getreten, aber auch ich habe keine Ahnung von Scripten und habe noch nie mit WinCC gearbeitet, aber das Beispiel in dem von Larry angegebenen Link ist eigentlich recht einfach zu verstehen.

    1. Variablen definieren
    2. Dateiobjekt erzeugen
    3. Variable setzen (1 dürfte lesen bedeuten für open)
    4. Datei öffnen (Hier müsstest Du Deinen Pfad und Deine Datei eintragen)
    5. Jeweils eine Zeile lesen und einer Variable zuordnen
    6. Datei/Dateiobjekt schließen

    FERTIG

    Nachtrag: Obiges gilt für WinCE, selbiges für Windows folgt noch
    Geändert von oliver.tonn (29.02.2016 um 16:51 Uhr)

  7. Folgender Benutzer sagt Danke zu oliver.tonn für den nützlichen Beitrag:

    idefixsps (29.02.2016)

  8. #7
    idefixsps ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.11.2015
    Beiträge
    20
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Oliver,
    danke für deine Antwort.
    Habe jetzt folgendes Probiert, funktioniert aber nicht...

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fs = CreateObject("WScript.Shell")

    Set TextFile = fso.openTextFile("C:\test.txt", 1)
    x = 0
    Do While textfile.atendofstream <> True
    x = x + 1
    name("EA-Feld_5") = TextFile.readline
    name("EA-Feld_13") = TextFile.readline
    Loop
    textfile.close

    Wo sage ich in diesem Script, welche Zeile in welches Feld geschrieben wird?

  9. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Hallo,

    in der in Beitrag #2 verlinkten FAQ gibt es das Skript SettingsIniLaden()
    Das ist dafür gedacht um benannte Werte aus einer Textdatei auszulesen, welche so aufgebaut ist:
    Zitat Zitat von Aufbau Textdatei
    Daten1 = 1234
    Daten2 = 5678
    Name=Wert
    Das Skript SettingsIniLaden() kannst Du als Vorlage für Dein Skript verwenden.
    Ich kürze es Dir mal auf das Wesentlichste
    - Datei öffnen
    - Wert 1 auslesen
    - Wert 2 auslesen
    - Datei schließen

    Du müßtest noch Fehlerreaktionen dazu programmieren, falls Datei-öffnen fehlschlägt oder nicht genug Zeilen lang oder

    Werte nicht zulässig oder ...

    Code:
    Const ForReading = 1
    Dim fso, f, infile
    
    infile = "C:\test.txt"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    If Not fso.FileExists(infile) Then 'Datei ist nicht vorhanden --> Fehlermeldung
        ShowSystemAlarm "Datei '" & infile & "' nicht gefunden."
        Exit Sub
    
    Else 'Datei ist vorhanden --> Werte lesen
        Set f = fso.OpenTextFile(infile, ForReading, False)
    
        SmartTags("Daten1") = f.ReadLine
    
        SmartTags("Daten2") = f.ReadLine
    
        f.Close
    End If
    Tip: mache Dir ein Meldefenster in die Vorlage und eine Meldeanzeige für Meldeereignisse der Meldeklasse System in ein Bild, damit Du die zu erwartenden Fehlermeldungen sehen und lesen kannst.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #9
    idefixsps ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.11.2015
    Beiträge
    20
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Daumen hoch

    Hallo Harald,
    danke für deine Hilfe.

    Wo und wie kann ich die gelesenen Werte dann in eine Variable schreiben und anzeigen lassen?

    Das Script führe ich mit "klicken" einer Schaltfläche aus. Beim Generieren zeigt es schon mal keinen Fehler mehr an......
    Geändert von idefixsps (29.02.2016 um 17:41 Uhr)

  11. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Code:
        SmartTags("Daten1") = f.ReadLine  ' liest die erste Dateizeile in die Variable "Daten1"
    
        SmartTags("Daten2") = f.ReadLine  ' liest die zweite Dateizeile in die Variable "Daten2"
    Die Variablen "Daten1" und "Daten2" sind jeweils die Prozessvariable der zwei EA-Felder.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 11.12.2013, 15:19
  2. Textdatei auslesen mit TwinCAT
    Von merlin im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 07.06.2010, 10:27
  3. Textdatei in Datenbaustein einer S7 einlesen
    Von Ekkehard im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 04.02.2010, 10:46
  4. WinCC 6x Textdatei öffnen mit VBS
    Von tarzipan7 im Forum HMI
    Antworten: 1
    Letzter Beitrag: 16.10.2007, 08:56
  5. WinCC: mit VB bzw. C# eine textdatei ausdrucken
    Von dellamorte-dellamore im Forum HMI
    Antworten: 2
    Letzter Beitrag: 28.02.2006, 19:50

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •