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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: WinCCflexible - In Text Datei schreiben

  1. #1
    Registriert seit
    08.10.2007
    Beiträge
    125
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo

    da CreateObject("excel.sheet") nicht funktioniert in WinCCflex 2007, muss ich wohl einen anderen Weg suchen um Daten aus WinCC flex in eine "excel"-Datei zu speichern.
    Eine Möglichkeit wäre die Daten getrennt mit ";" in eine leere Datei zu speichern ( also csv Datei).
    Wie geht sowas mit Visaul basic ?
    Geändert von Fluffi (07.02.2008 um 10:43 Uhr)
    Zitieren Zitieren WinCCflexible - In Text bzw. CSV Datei schreiben ?  

  2. #2
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    findest du in der FAQ
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    ... das benutzt aber auch die Funktion "CreateObject" ...

    Aber das Beispiel in der FAQ von Volker ist schön gemacht ...

  4. #4
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    du hast recht.
    ich dachte es läge speziell am objekt excel.application.
    dem ist aber nur bedingt so. es liegt wohl am crateobjekt.

    Set fso = CreateObject("Scripting.FileSystemObject") scheint zunächst auch abzustürzen. hat bei mir jetzt 2 minuten gedauert bis es bei flex weiterging. ist aber nicht abgestürzt.

    das ist für mich mehr als tragisch. fast schon der supergau. ich muss in kürze was an einem op277 ändern wo ich auf diese art wichtige prozessdaten schreibe. wenn das mal gut geht.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  5. #5
    Fluffi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.10.2007
    Beiträge
    125
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    also bei mir stürzt es zum glück nicht ab.

    aber eines muss ich noch wissen :
    wie kann ich festlegen dass die datei immer von oben überschrieben wird und nicht bei nächsten mal die neu reingeschriebenen Daten unten an die alten angefügt werden , bzw wie kann ich eine datei löschen um so ein problem zu vermeiden?

  6. #6
    Fluffi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.10.2007
    Beiträge
    125
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    kann mir keiner helfen?
    so sieht der code aus:

    ################################
    Dim datei,fso,fs,textfile1,

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

    datei="C:\test.csv"


    If Not fso.FileExists (datei) Then

    Set textfile1 = fso.CreateTextFile(datei, True,True)
    textfile1.WriteLine ...usw
    textfile1.Close
    End If


    If fso.FileExists (datei) Then
    Set textfile1 = fso.OpenTextFile(datei, True,True)
    textfile1.WriteLine usw...
    textfile1.Close
    End If

    ##########

    wenn die datei nicht existiert wird sie erstellt und beschrieben
    wenn die datei existiert passiert jedoch garnichts ,sie wird nicht mal überschrieben.
    was ich möchte ist :
    egal ob die datei existiert oder nicht , möchte ich sie anlegen und überschreiben
    Geändert von Fluffi (07.02.2008 um 14:15 Uhr)

  7. #7
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    kommt auf den dateimodus an.

    fso.createtextfile erzeugt eine datei true wird die datei überschrieben.
    fso.opentextfile öffne eine datei entweder zum lesen oder zum anhängen.

    schau dir die vbscript sprachdokumentation zu diesen befehlen an.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    hier mal ein Beispiel zum "Scripting.FileSystemObject"
    Das sollte dir auf jeden Fall weiterhelfen ...

    Code:
    Dim fs , f , i , Verzeichnis , Ziel , Datei , Werte_String_1 , Werte_String_2
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
     
    ...
     
    ' Ziel-Verzeichnis schon vorhanden ?
    ' ... wenn nein, dann erst erzeugen ...
    Set fs = CreateObject("Scripting.FileSystemObject")
    If Not fs.FolderExists (Verzeichnis) Then
       fs.CreateFolder (Verzeichnis)
    EndIf
    ' Ziel-Datei schon vorhanden ?
    ' ... wenn nein, dann erst erzeugen ...
    If Not fs.FileExists (Ziel) Then
       Set f = fs.OpenTextFile(Ziel , ForWriting, true)
       f.WriteLine "Messdaten Anlage 198"
    Else
       Set f = fs.OpenTextFile(Ziel , ForAppending)
    End If
     
    ...
     
    f.Close 

  9. #9
    Fluffi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.10.2007
    Beiträge
    125
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Echt vielen Danke euch beiden . Das bringt micht schon wieder sehr viel weiter

  10. #10
    Fluffi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.10.2007
    Beiträge
    125
    Danke
    13
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    wie kann ich eigentlich einen Wert aus einer csv datei einlesen und in variablen speichern

    ich hab das mal so gemacht (gemäß dem beispiel hier) :
    zuerst liesst das skript jeden wert der in einer zeile steht in name(x)
    x steht für zeilennummer.
    und am ende geb ich eine entsprechende zeile zu einer bestimmten SPSvariablen .
    Warum klappt das nicht?
    TempRestore.csv existiert natürlich und hat pro zeile ein paar zahlen.


    Dim fso,fs,datum,zeit,datei,textfile2,x,name

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

    datei = "C:\TempRestore.csv"

    Set textfile2 = fso.OpenTextFile(datei, 1)
    x = 0

    Do While textfile2.AtEndOfStream <> True
    x = x + 1
    name(x) = textfile2.ReadLine

    Loop


    SmartTags("SPSvar1") = name(1)
    SmartTags("SPSvar2") = name(2)
    ...usw


    textfile2.Close

Ähnliche Themen

  1. Antworten: 15
    Letzter Beitrag: 04.04.2011, 12:18
  2. Antworten: 8
    Letzter Beitrag: 15.02.2011, 09:05
  3. Antworten: 3
    Letzter Beitrag: 31.10.2008, 07:34
  4. Textausgabe auf TD (Text in Variable schreiben)
    Von Anonymous im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 17.07.2007, 19:32
  5. Antworten: 0
    Letzter Beitrag: 12.01.2007, 23:33

Lesezeichen

Berechtigungen

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