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

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

Thema: Script erzeugt keine Datei

  1. #1
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, habe ein script geschrieben, welches mit daten von meiner Anlage mitloggen soll. Es funktioniert auch super, wenn ich die WINCC felx runtime auf meinem Notebook laufen lasse. Auf dem Rechner, wo sie jedoch in wirklichkeit läuft, wird lediglich einverzeichnis erstellt. Eine datei wird nicht erzeugt.

    Hatte jemand schon mal so ein problem? Habe adminrechte und die dateianzeige steht auf alle dateien anzeigen.
    Zitieren Zitieren Script erzeugt keine Datei  

  2. #2
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Bitte deine Code postieren.
    Jesper M. Pedersen

  3. #3
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hier mein Quellcode

    Code:
    Dim fso, fs, datum, zeit, datei, datei_1, textfile1, Sollwerte
    
    Sollwerte = SmartTags("Status_Allgemein\Freigabe_Schritt")
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fs = CreateObject("WScript.Shell")
    
    If Not fso.FolderExists("C:\SPSLogbook") Then fso.CreateFolder("C:\SPSLogbook")
        
    
    datei = "C:\SPSLogbook\SPS_Logdaten_vom_" & Date & ".txt"
    datei_1 = "C:\SPSLogbook\SPS_Logdaten_vom_" & Date - 365 & ".txt"
    
    If Not fso.FileExists (datei) Then
        If fso.FileExists (datei_1) Then
            fso.DeleteFile(datei_1)
        End If
        Set textfile1 = fso.CreateTextFile(datei, True)
        textfile1.WriteLine "SPS Logdaten vom " & Date 
        textfile1.WriteLine "Folgende Variablen werden in dem Logfile gesichert:"
        textfile1.WriteLine "Werte X1 ; Werte Z1 ; Werte Z2 ; Werte Z3 ; Werte Z4 ;"
        textfile1.WriteLine 
        textfile1.Close
    End If
    
    If fso.FileExists (datei) Then
        Set textfile1 = fso.OpenTextFile(datei, 8)
        If Sollwerte Then
        textfile1.WriteLine Time&"; SETPOS X1:;        "& SmartTags("Achse_X1\Daten.Achse_X1.Status.Sollposition")&";"_
        & "    SETPOS Z1:;        " & SmartTags("Achse_Z1\Daten.Achse_Z1.Status.Sollposition")&";"_ 
        & "    SETPOS Z2:;        " & SmartTags("Achse_Z2\Daten.Achse_Z2.Status.Sollposition")&";"_ 
        & "    SETPOS Z3:;        " & SmartTags("Achse_Z3\Daten.Achse_Z3.Status.Sollposition")&";"_ 
        & "    SETPOS Z4:;        " & SmartTags("Achse_Z4\Daten.Achse_Z4.Status.Sollposition")&";"
        textfile1.WriteLine Time&"; Luftkissen außen:;    "    & SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Sichtbarkeit_Button.S_B_Luftkissen_aussen")&";"_
        & "    Luftkissen innen:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Sichtbarkeit_Button.S_B_Luftkissen_innen")&";"_
        & "    Werkst. gelöst:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Werkstueck_loesen")&";"_
        & "    Werkst. gespannt:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Werkstueck_spannen")&";"_
        & "    Zentrierung unten:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentrierung_ab")&";"
        textfile1.WriteLine Time&"; Zentrierung1 gelöst:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentriervor1_loesen")&";"_
        & "    Zentrierung1 gespannt:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentriervor1_spanne")&";"_
        & "    Zentrierung2 gelöst:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentriervor2_loesen")&";"_
        & "    Zentrierung2 gespannt:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentriervor2_spanne")&";"_
        & "    Zentrierung oben:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentrierung_auf")&";"
        textfile1.WriteLine
        textfile1.Close
        Else
        textfile1.WriteLine Time&"; ACTPOS X1:;        "& SmartTags("Achse_X1\Daten.Achse_X1.Status.Istposition")&";"_
        & "    ACTPOS Z1:;        "& SmartTags("Achse_Z1\Daten.Achse_Z1.Status.Istposition")&";"_ 
        & "    ACTPOS Z2:;        "& SmartTags("Achse_Z2\Daten.Achse_Z2.Status.Istposition")&";"_ 
        & "    ACTPOS Z3:;        "& SmartTags("Achse_Z3\Daten.Achse_Z3.Status.Istposition")&";"_ 
        & "    ACTPOS Z4:;        "& SmartTags("Achse_Z4\Daten.Achse_Z4.Status.Istposition")&";"    
        textfile1.WriteLine Time&"; Luftkissen außen:;    "    & SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Sichtbarkeit_Button.S_B_Luftkissen_aussen")&";"_
        & "    Luftkissen innen:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Sichtbarkeit_Button.S_B_Luftkissen_innen")&";"_
        & "    Werkst. gelöst:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Werkstueck_loesen")&";"_
        & "    Werkst. gespannt:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Werkstueck_spannen")&";"_
        & "    Zentrierung unten:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentrierung_ab")&";"
        textfile1.WriteLine Time&"; Zentrierung1 gelöst:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentriervor1_loesen")&";"_
        & "    Zentrierung1 gespannt:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentriervor1_spanne")&";"_
        & "    Zentrierung2 gelöst:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentriervor2_loesen")&";"_
        & "    Zentrierung2 gespannt:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentriervor2_spanne")&";"_
        & "    Zentrierung oben:;    "& SmartTags("Status_Allgemein\Daten.Status_Allgemein.Status_Allgemein.Status_Endlagen.Endl_Zentrierung_auf")&";"
        textfile1.WriteLine
        textfile1.Close    
        End If
    End If
    Zitieren Zitieren Hier der Code  

  4. #4
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Ich glaube es fehlt ein OpenAsTextStream in deine Code.

    Hier ist ein Beispiel wie ich ein Datei erzeugt:
    Code:
    Set fso = CreateObject("Scripting.FileSystemObject")
     
    [mehr code ... ...]
     
    If Not fso.FileExists(SmartTags("strALARMLOG_WriteFileName")) Then
      fso.CreateTextFile SmartTags("strALARMLOG_WriteFileName")
      Set f = fso.GetFile(SmartTags("strALARMLOG_WriteFileName"))
      Set ts = f.OpenAsTextStream(8, -2)
      ts.WriteLine strHeader
      ts.WriteLine strFullLine
      ts.Close
     Else
      Set f = fso.GetFile(SmartTags("strALARMLOG_WriteFileName"))
      Set ts = f.OpenAsTextStream(8, -2)
      ts.WriteLine strFullLine
      ts.Close
    End If
    Es fehlt auch On Error Resume Next mit dazugehöriger Fehlerauswertung in deiner Code.
    Jesper M. Pedersen

  5. #5
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Ich habe jetzt auch statt dem create folgende zeile:

    Set textfile1 = fso.OpenTextFile(datei, 8,True)


    aber er erstellt einfach die Datei nicht. finde es nur Komisch, dass er es auf der Runtime, welche auf dem Laptop läuft macht. also kann doch der quellcode nicht falsch sein, oder?
    Zitieren Zitieren :-(  

  6. #6
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Das ist Deine Methode:
    Code:
    Set textfile1 = fso.CreateTextFile(datei, True)
    Das ist meine Methode:
    Code:
    fso.CreateTextFile(datei, True)
    Set f = fso.GetFile(datei)
    Set textfile1 = f.OpenAsTextStream(8, -2)
    Ich kann nicht erklären warum dein Code lauft auf ein PC und nicht auf ein andere PC.
    Mein Code Beispiel habe ich am laufen auf sehr vielen PC's.
    Jesper M. Pedersen

  7. #7
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Das funktioniert bei mir auch nicht.
    Und auch wenn ich die datei nicht öffnen würde. müsste sie doch nach dem Create da sein. oder? echt komisch.

    scheiß siemens.
    Zitieren Zitieren geht auch nicht  

  8. #8
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Zitat Zitat von JesperMP Beitrag anzeigen
    Es fehlt auch On Error Resume Next mit dazugehöriger Fehlerauswertung in deiner Code.
    füllzeichen.
    Jesper M. Pedersen

  9. #9
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    OK, das ist ja nur ne Fehlerauswertung, wenn nichts erzeugt wird, oder? aber es wird ja nichts erzeugt, das kann ja daran nicht schuld sein. oder liege ich da falsch?
    Zitieren Zitieren Ok  

  10. #10
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.622
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    On Error Resume Next mit Fehlerauswertung gibt dir ein Fehler nummer und ein Erklärung was schief geht.
    Grundsätslich soll man IMMER On Error Resume Next und Fehlerwauswertung programmieren. Besonders beim zugriff auf äussere Objekte, wie Dateien, Ordnern, Netzwerklaufwerke usw.
    Jesper M. Pedersen

Ähnliche Themen

  1. XML Datei Festo importiert dennoch keine Box erkannt
    Von blackhack im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 05.11.2013, 20:25
  2. feststellen, ob datei geöffnet unter visual basic script
    Von mertens2 im Forum Hochsprachen - OPC
    Antworten: 6
    Letzter Beitrag: 30.03.2011, 10:57
  3. Antworten: 8
    Letzter Beitrag: 24.03.2010, 10:42
  4. Keine Simotion GSD Datei
    Von Bensen83 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 28.09.2009, 07:25
  5. Keine GSD Datei!!
    Von klauserl im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.01.2008, 19:26

Lesezeichen

Berechtigungen

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