Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 47324

WinCC VB-Skript: Archive suchen, Statusauswerten und kopieren - Problem

$
0
0
Hallo liebe Member,

kaum mit VB-Skript programmieren angefange, schon das nächste Problem. :confused:
Es geht darum, dass ich auf ein Stick über den USB Port die Archive der Runtime kopieren möchte, nur leider klappt das nicht.
Ich frage zu erst ab ob der Stick eingesteckt ist und das funktioniert auch, denn den Ordner in den die Archive sollen wird gefunden oder erstellt.

Bei folgenden Code werden die Archive nicht kopiert, obwohl die Archivierung gestoppt und die Archive geschlossen werden:
Code:

If usb_store_found And usb_folder_found Then
    'Create object for filehandling
    Set fs_store = CreateObject("FileCtl.FileSystem")
   
    result = fs_store.Dir("\" & store_path & "\" & store_folder & "\" & "*values*" & "." & store_f_end)
   
    'Archive stoppen und schliessen
    If result = "" Then
        ShowSystemAlarm("Kein Archiv ''values''" & " gefunden!")
    Else
        For index_archive = 0 To 100        '1
            result = fs_store.Dir()
            If result = "" Then
                Exit For
            Else
                StopLogging hmiDataLog, "values-XYZ"
                CloseAllLogs             
                Exit For
            End If
        Next
    End If
    Set fs_store = Nothing   

    'Archive suchen und kopieren ------------------------------------------------------------------------
    result = fs_store.Dir("\" & store_path & "\" & store_folder & "\" & "*values*" & "." & store_f_end)
   
    If result = "" Then
        ShowSystemAlarm("Keine Dateien vorhanden!")
    Else
        ShowSystemAlarm("Datenübertragung auf USB-Speicher gestartet!")
        source_file = "\" & store_path & result
        target_file = "\\" & usb_path & "\" & usb_folder & "\" & result
        fs_store.FileCopy source_file, target_file
        fs_store.SetAttr  source_file, 0
        ShowSystemAlarm("Erstes Archiv ''" & result & "'' gefunden und kopiert!")
        For index = 1 To 100
            result = fs_store.Dir()
            If result = "" Then
                index = index - 1
                Exit For
            Else
                source_file = "\" & store_path & result
                target_file = "\" & usb_path & "\" & usb_folder & "\" & result
                fs_store.FileCopy source_file, target_file
                fs_store.SetAttr  source_file, 0
                           
                ShowSystemAlarm("Weiteres Archiv ''" & result & "'' gefunden und kopiert!")
            End If
        Next
        ShowSystemAlarm(index & " Dateien erfolgreich übertragen!")
    End If
   
   
    'Archive öffnen und starten -------------------------------------------------------------------------
    OpenAllLogs
    StartLogging hmiDataLog, "values-XYZ"
    ShowSystemAlarm("Alle Archive geöffnet und gestartet.")
   
End If

Weiß jemand, wie ich die Archive auswerten kann ob die von der Runtime geöffnet/geschlossen sind bzw. ob die Runtime darauf zugreift?
Und sieht jemand den Fehler in meinem geposteten Code oder weiß Rat/Tipps?

Grüße SPS-EK

Viewing all articles
Browse latest Browse all 47324