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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: Skript Error

  1. #1
    Registriert seit
    26.11.2011
    Beiträge
    139
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe folgende Skripte im Panel aufgeladen, danach bekomme ich die folgende Meldungen :

    1. The System cannot Find the path specified.
    2. Error#424 Objekt erforderlich
    3. Error#429 Active X-Komponenten kann kein Objekt erstellen.

    Code:
    -----------------------------Daten schreiben---------------------------------------------------------------
    Dim ts,f,fs,Filename
    On Error Resume Next
    Filename = "\Storage Card MMC\Daten.csv"
    
    Set fs=CreateObject("filectl.filesystem")
    If Not fs.FileExists(Filename) Then   
      
    fs.CreateTextFile Filename
      
      Set f = fs.GetFile(Filename)
      
      Set ts = f.OpenAsTextStream(8, -2)
      
      ts.WriteLine "Datum;"&"Uhrzeit;"&"Temperatur 1[°C];"&"Temperatur 2[°C];"&"Temperatur 3[°C]"
      
      If SmartTags ("DB-Allgemein.Daten_Schreiben"  ) = True Then 
      
      ts.WriteLine CStr(Date) & ";" & CStr(Time) & ";" & SmartTags("Temp.Var1")&";" & SmartTags("Temp.Var2")&";" & SmartTags("Temp.Var3")      
      ts.Close            
      ts.Close      
      ts.Close
      
    End If
     
    Else
      
      Set f = fs.GetFile(Filename)
     
      Set ts = f.OpenAsTextStream(8, -2)
      
      If SmartTags ("Schreiben_Start"  ) = True Then 
      
      ts.WriteLine CStr(Date) & ";" & CStr(Time) & ";" & SmartTags("Temp.Var1")&";" & SmartTags("Temp.Var2")&";" & SmartTags("Temp.Var3")       
     
      ts.Close
      
     End If
    End If
    If Err.Number <> 0 Then
     ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
            Err.Clear 
            
            Exit Sub
    End If
    Code:
    ---------------------------------Daten kopieren------------------------------------------------
    Dim f,fs
    On Error Resume Next
     Set f=CreateObject("Filectl.file")
     Set fs=CreateObject("filectl.filesystem")
    
    If Err.Number<> 0 Then
     ShowSystemAlarm "error #" & CStr(Err.Number) & " " & Err.Description
     Err.Clear
     Exit Sub
    End If
    fs.Filecopy "\Storage Card MMC\Daten.csv"," \\PC_XX\Daten"
    If Err.Number<> 0 Then
     ShowSystemAlarm "error #" & CStr(Err.Number) & " " & Err.Description
     Err.Clear
     Exit Sub
    End If
    Set fs=Nothing
    ShowSystemAlarm "Done"
     
    (**** PC_XX : Rechner im Netzwerk)
    Was habe ich da schief gemacht ?

    (**der Panel ist ein MP377 12" Touch)
    Zitieren Zitieren Skript Error  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Zitat Zitat von ka1978 Beitrag anzeigen
    Code:
    fs.CreateTextFile Filename
      
      Set f = fs.GetFile(Filename)
      
      Set ts = f.OpenAsTextStream(8, -2)
    Zumindest diese "Set" sind falsch ...
    Hilfreich für die Fehlersuche wäre gewesen, wenn Du auch die Zeilennummern aus den Fehlermeldungen mit angegeben hättest.

    Schau Dir mal diesen FAQ an und besonders die VBScript_WinCE.pdf sowie dieses Kopier-Beispiel.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    ka1978 (22.10.2013)

  4. #3
    ka1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.11.2011
    Beiträge
    139
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich habe den Beispiel angeschaut, ich habe könnte nicht an meine anfordernung anpassen, da ich noch nicht so fit bin, was VB_Skripte betrifft.

    ich habe hier im Forum was gefunden, und an meine Aufgabe angepasst, leider habe ich kein Panel vor mir um das zu testen.

    kann mir vieleicht jemand helfen, ob die Code so richtig angepasst oder nicht?

    hier sind die Skripte eingefügt:
    Code:
    -----Skript1: Daten_schreiben-----
    
    Dim f,fs,Datei,Datum
    
    On Error Resume Next
    
    Set f=CreateObject("filectl.file")
    Set fs=CreateObject("filectl.filesystem")
    
    Datei = "\Storage Card MMC\Prozess\Werte.csv"
    
    Datum= "20"&Right(Date,2)&"."&Mid(Date,4,2)&"."&Left(Date,2)
    
      If    fs.dir("\"&Datei)="" Then
    	f.open Datei,2
    	f.LinePrint "Prozesswerte"
            f.LinePrint"Datum;"&"Uhrzeit;"&"Wert1[°C];"&"Wert2[°C];"&"Wert3[°C]
           
      End If  
    
      If SmartTags ("Schreiben_Start"  ) = True Then	
         f.open Datei,8 
         f.LinePrint"Datum;"&"Uhrzeit;"&"Wert1[°C];"&"Wert2[°C];"&"Wert3[°C]" 
         f.Close 
     
     End If
    -------------------------------------------------------------------------
    ------------------------------------------------------------------------- 
    
    -----Skript2: Daten_Kopieren-------
    
    'Das Script kopiert die gespeicherten Archive auf einen PC im Netzwerk
    
    On Error Resume Next
    
    Dim f,fs,t_net_path,t_root_path
    
    t_net_path="\\DC-WWS\Prozess"
    t_root_path="\Storage Card MMC\Prozess"
    
     Set f=CreateObject("Filectl.file")
     Set fs=CreateObject("filectl.filesystem")
     
     If fs.dir(t_net_path)<> "" Then
    	fs.kill t_net_path&"\Werte.csv"
        fs.Filecopy t_root_path &"\Werte.csv",t_net_path&"\Werte.csv"
     
    End If
    
     
     'Nach dem Kopiervorgang Daten auf MMC löschen     
      ------------------------------------------
    
    fs.Kill ("\Storage Card MMC\Werte.csv")

  5. #4
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.862
    Danke
    78
    Erhielt 805 Danke für 548 Beiträge

    Standard

    so sollte das ungefähr passen. nicht getestet
    Zitat Zitat von ka1978 Beitrag anzeigen
    Code:
    -----Skript1: Daten_schreiben-----
    
    Dim f,fs,Datei,Datum
    
    On Error Resume Next
    
    Set f=CreateObject("filectl.file")
    Set fs=CreateObject("filectl.filesystem")
    
    Datei = "\Storage Card MMC\Prozess\Werte.csv"
    
    Datum= "20"&Right(Date,2)&"."&Mid(Date,4,2)&"."&Left(Date,2)
    
      If    fs.dir("Datei)="" Then
    	f.open Datei,2
    	f.LinePrint "Prozesswerte"
            f.LinePrint"Datum;"&"Uhrzeit;"&"Wert1[°C];"&"Wert2[°C];"&"Wert3[°C]
       
      End If  
    f.close
      If SmartTags ("Schreiben_Start"  ) = True Then	
         f.open Datei,8 
         f.LinePrint CStr(Date) & ";" & CStr(Time) & ";" & SmartTags("Temp.Var1")&";" & SmartTags("Temp.Var2")&";" & SmartTags("Temp.Var3") 
         f.Close 
     
     End If
    -------------------------------------------------------------------------
    ------------------------------------------------------------------------- 
    
    -----Skript2: Daten_Kopieren-------
    
    'Das Script kopiert die gespeicherten Archive auf einen PC im Netzwerk
    
    On Error Resume Next
    
    Dim f,fs,t_net_path,t_root_path
    
    t_net_path="\\DC-WWS\Prozess"
    t_root_path="\Storage Card MMC\Prozess"
    
     Set f=CreateObject("Filectl.file")
     Set fs=CreateObject("filectl.filesystem")
     
    
     	fs.kill t_net_path&"\Werte.csv"
    'ist die datei nicht vorhanden wird der fehler durch das on error resume next abgefangen
     
       fs.Filecopy t_root_path &"\Werte.csv",t_net_path&"\Werte.csv"
     
    End If
    
     
     'Nach dem Kopiervorgang Daten auf MMC löschen     
      ------------------------------------------
    
    fs.Kill ("\Storage Card MMC\Prozess\Werte.csv")
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  6. Folgender Benutzer sagt Danke zu volker für den nützlichen Beitrag:

    ka1978 (23.10.2013)

  7. #5
    ka1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.11.2011
    Beiträge
    139
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich konnte momentan leider den Code nicht testen,da ich kein Panel zur verfügung habe.Vielleicht werde ich morgen die möglichkeit haben, um vor ort beim

    Kunden zu testen.

    ich habe die Code angepasst, damit ich in meinem Rechner laufen lasse, und es hat geklappt :

    Code 1 : Daten schreiben:
    Code:
    ---------------------------------
    --------Skript1 : Daten schreiben-----
    ----------------------------------
    
    Dim fs,fso,datei,datum,TextFile1
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fs = CreateObject("Wscript.Shell")
    
    '------Verzeichnis erstellen--------------
     
    If Not fso.FolderExists("C:\Storage Card MMC\Prozess") Then fso.CreateFolder("C:\Storage Card MMC\Prozess")
    
    '-------------Daten schreiben-----
    
    datei="C:\Storage Card MMC\Prozess\Werte.csv"
    datum="20"&Right(Date,2)&"."&Mid(Date,4,2)&"."&Left(Date,2)
     
    If Not fso.FileExists (datei)  Then
        Set TextFile1=fso.CreateTextFile(datei,True)
        TextFile1.WriteLine "Datum" & ";" & "Zeit" & ";" & "AKtuel_wert[°C]"
        TextFile1.WriteLine 
     
     TextFile1.Close      
     
    End If
    
    
    If SmartTags ("SCript_Start"  ) = True Then    
         
       If fso.FileExists (datei) Then
       Set TextFile1=fso.OpenTextFile(datei,8)       
       TextFile1.WriteLine datum&";"&Time&";"&SmartTags("Paramter.Aktuel_wert")
    
       End If
       TextFile1.Close
       
    End If
    Code 2: Daten kopieren

    Code:
    -----------------------------------   
    --------Skript2 : Daten Kopieren----
    ------------------------------------
    
    'Das Script kopiert die gespeicherten Archive auf den PC
    
    On Error Resume Next
    Dim f,fs,fso,t_net_path,t_root_path
    
    t_net_path= "C:\Ordne1\"
    t_root_path="C:\Storage Card MMC\Prozess\"
    
     Set fso = CreateObject("Scripting.FileSystemObject")
     If fso.FileExists(t_net_path)<>"" Then
        fso.DeleteFile t_net_path&"\Werte.csv"
    
    fso.CopyFile t_root_path&"\Werte.csv",t_net_path&"\werte.csv"
    
    If Err.Number<> 0 Then
        ShowSystemAlarm "error #" & CStr(Err.Number) & " " & Err.Description
        Err.Clear
        Exit Sub
    End If
    
    End If
    
    Set fs=Nothing
    
    ShowSystemAlarm "Done"
    Code 3aten in MMC löschen

    Code:
    --------------------------------
    ------Skript3 : Daten löschen---
    --------------------------------
    
    Dim  fs,t_root_path
    
    t_root_path="C:\Storage Card MMC\Prozess\"
    
     Set fs=CreateObject("filectl.filesystem")
     
    '--------Daten auf MMC löschen----------     
    
    fs.Kill t_root_path&"\Werte.csv"
    Geändert von ka1978 (24.10.2013 um 12:39 Uhr)

  8. #6
    ka1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.11.2011
    Beiträge
    139
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich habe erstamal die Skript 3 aten löschen im Panel getestet, aber leider ohne erfolg. ich bekomme den folgenden Fehlermeldung: Fehler Active x-komponenten
    kann kein Objekt erstellen : 'File Ctl.Filesystem " in Skript <Daten loeschen> in zeile 7.
    Code:
    ------Skript3: Daten auf MMC löschen------------- 
    
    Dim fs,t_root_path
    
    t_root_path="\Storage Card MMC\Prozess\"
    
     Set fs=CreateObject("filectl.filesystem")                 
        
    '-------Daten auf MMC löschen----
    
    fs.Kill t_root_path&"\Werte.csv"

  9. #7
    ka1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.11.2011
    Beiträge
    139
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich habe auch den unteren Code (Daten schreiben) getestet. es funktionier aber es wird nur Eimal Kopfzeile und Messungen für Erste minute registriert und nicht

    weiter ? liegt es etwa an die f.close

    Code:
    -----Skript1: Daten_schreiben-----
    
    Dim f,fs,Datei,Datum
    
    On Error Resume Next
    
    Set f=CreateObject("filectl.file")
    Set fs=CreateObject("filectl.filesystem")
    
    if fs.dir("Storage
    
    Datei = "\Storage Card MMC\Prozess\Werte.csv"
    
    Datum= "20"&Right(Date,2)&"."&Mid(Date,4,2)&"."&Left(Date,2)
    
      If    fs.dir("Datei)="" Then
    	f.open Datei,2
    	f.LinePrint "Prozesswerte"
            f.LinePrint"Datum;"&"Uhrzeit;"&"Wert1[°C];"&"Wert2[°C];"&"Wert3[°C]
            f.close
    
      End If
      
    
     
     If SmartTags ("Schreiben_Start"  ) = True Then	
         f.open Datei,8 
         f.LinePrint CStr(Date) & ";" & CStr(Time) & ";" & SmartTags("Temp.Var1")&";" & SmartTags("Temp.Var2")&";" & SmartTags("Temp.Var3") 
         f.Close 
     
     End If

  10. #8
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.862
    Danke
    78
    Erhielt 805 Danke für 548 Beiträge

    Standard

    1.
    deine datei ist falsch

    t_root_path="\Storage Card MMC\Prozess\"
    + fs.Kill t_root_path&"\Werte.csv"
    ergibt als pfad/datei \Storage Card MMC\Prozess\\Werte.csv"
    als ein backslash zu viel

    2.
    f.close ist schon korrekt.
    bei nächsten aufruf wird die datei ja wieder geöffnet.
    entweder wird dein script nicht wieder aufgerufen oder die variable SmartTags ("Schreiben_Start" ) ist nicht true.

    warum überhaupt im script die abfrage dieser var. wenn das script aufgerufen wird soll doch protokolliert werden.
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  11. Folgender Benutzer sagt Danke zu volker für den nützlichen Beitrag:

    ka1978 (24.10.2013)

  12. #9
    ka1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.11.2011
    Beiträge
    139
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    Die variable ("Schreiben_Start" ) war true. Der Skript <Daten schreiben> wird jede minute aufgerufen, aber die Messungen werden eingetragen wenn die Anlage

    in Betrieb (Schreiben_Start ist True).

  13. #10
    ka1978 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.11.2011
    Beiträge
    139
    Danke
    26
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    liegt es et was an der Verzeichnis erstellung ?

    Code:
    -----Skript1: Daten_schreiben-----
    
    Dim f,fs,Datei,Datum
    
    On Error Resume Next
    
    Set f=CreateObject("filectl.file")
    Set fs=CreateObject("filectl.filesystem")
    
    '---------Verzeichnis erstellen--------------------
    
    If fs.dir("Storage Card MMC\Prozess")="" Then fs.mkdir("Storage Card MMC\Prozess")
    
    
    Datei = "\Storage Card MMC\Prozess\Werte.csv"
    
    Datum= "20"&Right(Date,2)&"."&Mid(Date,4,2)&"."&Left(Date,2)
    
      If    fs.dir("Datei)="" Then
        f.open Datei,2
        f.LinePrint "Prozesswerte"
            f.LinePrint"Datum;"&"Uhrzeit;"&"Wert1[°C];"&"Wert2[°C];"&"Wert3[°C]
            f.close
    
      End If
      
    
     
     If SmartTags ("Schreiben_Start"  ) = True Then    
         f.open Datei,8 
         f.LinePrint CStr(Date) & ";" & CStr(Time) & ";" & SmartTags("Temp.Var1")&";" & SmartTags("Temp.Var2")&";" & SmartTags("Temp.Var3") 
         f.Close 
     
     End If
    Geändert von ka1978 (24.10.2013 um 16:01 Uhr)

Ähnliche Themen

  1. TwinCat Error
    Von hüttla1989 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 20.05.2012, 00:33
  2. ERROR in OP 27
    Von Rici im Forum HMI
    Antworten: 1
    Letzter Beitrag: 29.02.2012, 19:42
  3. Antworten: 3
    Letzter Beitrag: 08.09.2011, 00:22
  4. AG Receive Error
    Von Deep Blue im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 08.03.2011, 10:03
  5. OP 37 ''44 Transfer error #8''
    Von crazygerman im Forum HMI
    Antworten: 4
    Letzter Beitrag: 29.07.2008, 21:13

Lesezeichen

Berechtigungen

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