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

Ergebnis 1 bis 7 von 7

Thema: WinCC 6.2 erkennen, das eine neue Datei in einem Verzeichnis vorhanden ist

  1. #1
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.135
    Danke
    224
    Erhielt 127 Danke für 85 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo.

    Wie kann ich in WinCC 6.2 per C-Script erkennen, das eine neue Datei in
    einem bestimmten Verzeichnis vorhanden ist.
    Diese dann auslesen, und im Anschluss dann löschen?

    Danke
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN
    Zitieren Zitieren WinCC 6.2 erkennen, das eine neue Datei in einem Verzeichnis vorhanden ist  

  2. #2
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.135
    Danke
    224
    Erhielt 127 Danke für 85 Beiträge

    Standard

    Keiner eine Idee oder so?
    Ich hab zwar ein Script, das eine Datei überprüft, aber ich muss den Namen
    der Datei wissen.
    Mein Problem ist, das sich der Name aber immer ändert.
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

  3. #3
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Vorgefertigte Funktionen gibt es so weit ich weiß dafür nicht.
    Ich würde ein Skript zyklisch aufrufen und das Verzeichnis "auslesen". Also die Dateinamen und das Änderungsdatum speichern. Beim nächsten Zyklus werden die gespeicherten Daten mit den tatsächlichen Dateien verglichen und gegebenenfalls wird dein Skript zum überprüfen der Datei ausgeführt. Meine Kentnisse in Ansi-C sind leider nicht so toll, aber für die Dateibehandlung unter VB-Script findest du in der FAQ Hilfestellung.

    http://sps-forum.de/showthread.php?t=15348

  4. #4
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.135
    Danke
    224
    Erhielt 127 Danke für 85 Beiträge

    Standard

    Die Liste ist ein wenig zu schwer zu erstellen, da die Anzahl der Dateien bis zu 4.000 steigen kann, leider.
    Deswegen wollte ich die neuste Version einfach nur erkennen.
    Das Programm, das mir dieses Verzeichnis vollmüllt kann man leider nicht
    ändern.

    Gibs keinen Befehl in C-Script oder in VBS, mit dem man ggf das Datum einer
    Datei erfassen kann?
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

  5. #5
    Registriert seit
    04.07.2007
    Beiträge
    147
    Danke
    6
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Aus der WinCC Hilfe:
    Code:
    Function ShowFileAccessInfo(filespec)
     
    Dim fso, f, s  
    Set fso = CreateObject ("Scripting.FileSystemObject")
    Set f = fso.GetFile(filespec)  
    s = UCase(filespec) & "<BR>"  
    s = s & "Created: " & f.DateCreated & "<BR>"  
    s = s & "Last Accessed: " & f.DateLastAccessed & "<BR>"  
    s = s & "Last Modified: " & f.DateLastModified 
    ShowFileAccessInfo = s
     
    End Function

  6. #6
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.135
    Danke
    224
    Erhielt 127 Danke für 85 Beiträge

    Standard

    Das sieht noch einem WinCC Flex-Script aus.
    Muss ich mal austesten, ob das auch so lauffähig auf WinCC 6.2 ist.

    Bzw. ich such mal in der Hilfe nach diesem Punkt.
    Danke
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

  7. #7
    Krumnix ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.11.2004
    Ort
    Schweiz
    Beiträge
    1.135
    Danke
    224
    Erhielt 127 Danke für 85 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    So, ich habs nun selbst hinbekommen. Hier eine kleine Anleitung dazu.
    Ggf. kann man das ja in die FAQ stellen oder so @Admin?!

    FAQ

    Frage: Wie kann ich in WinCC erkennen, ob eine neue Datei in einem Ordner auftaucht?

    Antwort: Die Vorgehensweise wird anhand der VB-Script-Sprache gelöst.
    Zuerst eine neue Aktion erstellen. Die Trigger-Zeit einstellen, wie oft oder
    schnell in dem Ordner nach der neuen Datei gesucht werden soll.
    Ich hab hier mal 1s als Trigger gewählt.

    Dann folgenden Code in dieses Script kopieren:
    Code:
    Option Explicit
    Function action
    'Erkennung einer Datei in einem Ordner
      Dim fso, Pfad, Ordner, dateiliste, d, s
      Pfad = "c:\blablabla"   'Pfadname zur XML-Datei definieren
      Set fso = CreateObject("Scripting.FileSystemObject")  'Instanz auf FileSystem erzeugen und in fso schreiben
      Set Ordner = fso.GetFolder(Pfad)       'Instanz auf Ordner mit Pfadangabe erzeugen
      Set dateiliste = Ordner.Files        'Alle Dateien im Ordner in eine Liste schreiben
      
      For Each d In dateiliste
        s = d.name            'Letzte Datei in Liste finden und Pfadangabe ins System übergeben
      Next
      If  Len(s) > 0 Then          'Wenn neue Datei im System ist, auslesen
       Dim objTag
       Set objTag = HMIRuntime.Tags("Text-Variable in der der Name der erkannten Datei steht")
     objTag.Read
     objTag.Value = Pfad & s
     objTag.Write
     
      End If
    End Function
    Das Ganze dann noch anpassen und aktiveren. Man kann in den letzen If-Abfrage
    dann auch weitere Scripte aufrufen, die dann mit der erkannten Datei
    was anfangen und diese dann löschen.
    Kommt Zeit.... Kommt Rat.... In der Tat.
    Gartenlampe mit Windenergie anstelle von Solar? Bei Interesse -> PN

Ähnliche Themen

  1. Datei-Pfad durchsuchen auf eine Datei
    Von DjDonJuan im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 13.10.2011, 14:51
  2. datei löschen, wenn zuviele vorhanden
    Von Bensen83 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 21.03.2010, 09:58
  3. Erkennen ob eine Variable verlinkt ist.
    Von Haubentaucher im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 01.02.2009, 18:17
  4. Antworten: 150
    Letzter Beitrag: 22.04.2008, 05:33
  5. Antworten: 6
    Letzter Beitrag: 18.07.2005, 08:43

Lesezeichen

Berechtigungen

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