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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: File Handling, Datein Schreiben/Lesen/ Kopieren TWINCAT2

  1. #11
    Registriert seit
    28.03.2014
    Ort
    Schweiz
    Beiträge
    112
    Danke
    34
    Erhielt 15 Danke für 12 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Event kannst du etwas mit MEMCPY anfangen: MEMCPY(ADR(destination), ADR(source), sizeof(source))

    http://infosys.beckhoff.com/index.ph...memcpy.htm&id=

  2. #12
    Hendrik ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.12.2013
    Ort
    Bremen
    Beiträge
    165
    Danke
    13
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Hey wie meinst du das?

    Wird damit das komplette Verzeichnis plus Unterverzeichnisse Kopiert? oder Muss ich noch etwas beachten?

  3. #13
    Registriert seit
    29.09.2006
    Beiträge
    368
    Danke
    0
    Erhielt 41 Danke für 38 Beiträge

    Standard

    ??? Memcopy hat wohl eher nichts mit Verzeichnissen zu tun, warum die Funktion wohl "Mem" heißt?!

  4. #14
    Registriert seit
    28.03.2014
    Ort
    Schweiz
    Beiträge
    112
    Danke
    34
    Erhielt 15 Danke für 12 Beiträge

    Standard

    Mein Fehler, bitte Entschuldige. Ich habs etwas zu schnell überlesen.

  5. #15
    Hendrik ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.12.2013
    Ort
    Bremen
    Beiträge
    165
    Danke
    13
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Moin,

    Ich habe gerade ein Problem mit der Umsetztung der Fb_EnumFindFileList

    bekomme immer den ADS_Error 1803
    Code:
    FUNCTION_BLOCK FB_DateinFinden
    VAR_INPUT
        VerzeichnisNamen: ARRAY [0..31] OF STRING; (*Unterverzeichnis auflistung*)
        FreigabeFileFind: BOOL;
    END_VAR
    VAR_OUTPUT
        nErrID: UDINT;
        nFindFiles      : UDINT;
    END_VAR
    VAR
        PathName: STRING;
        FindCase : INT;
        VerzeichnissZeiger : INT;
    
        FB_EnumFindFileList1: FB_EnumFindFileList;
        b_EXECUT: BOOL;
        cbFindList : UDINT;
        pFindList       : ARRAY [1..10] OF ST_FindFileEntry;
        bError: BOOL;
    END_VAR
    Code:
    IF FreigabeFileFind THEN
        b_EXECUT:= TRUE;
    
        CASE FindCase OF
        
        0:
            IF FB_EnumFindFileList1.bEOE = TRUE THEN
                VerzeichnissZeiger := VerzeichnissZeiger + 1;
            END_IF
        
            PathName := VerzeichnisNamen[VerzeichnissZeiger];
            PathName := CONCAT (PathName, '\*.csv');
            FindCase := 5;
        
        5:
            FB_EnumFindFileList1.bExecute := FALSE;
                IF b_EXECUT THEN
                    FB_EnumFindFileList1.bExecute := TRUE;
                    FindCase:= 10;
                END_IF
        10:
            FB_EnumFindFileList1.bExecute := FALSE;
        
                    IF NOT FB_EnumFindFileList1.bBusy THEN
                        IF FB_EnumFindFileList1.bError THEN
                            nErrID := FB_EnumFindFileList1.nErrId;
                            bError := TRUE;
                            FindCase := 50;
                        ELSE
                            FindCase := 15;
                        END_IF
                    END_IF
    
        END_CASE
    
    FB_EnumFindFileList1(
        sPathName:= PathName ,
        eCmd:= eEnumCmd_First,
        pFindList:= ADR (pFindList),
        cbFindList:= SIZEOF (cbFindList) ,
        tTimeout:= t#5s,
        nFindFiles=> nFindFiles);
    
    END_IF
    Vll kann mir hier jemand kurz helfen?

    Danke und beste Grüße aus dem Norden =)
    Hendrik

  6. #16
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    755
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Code:
    cbFindList:=SIZEOF(cbFindList),
    Hier musst Du die Grösse von pFindList angeben.
    Ausserdem musst Du nach dem ersten Aufruf eCmd auf den Wert eENumCmd_Next setzen.

  7. Folgender Benutzer sagt Danke zu StructuredTrash für den nützlichen Beitrag:

    Hendrik (15.12.2014)

  8. #17
    Hendrik ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.12.2013
    Ort
    Bremen
    Beiträge
    165
    Danke
    13
    Erhielt 15 Danke für 15 Beiträge

    Standard

    Hey Danke StructruedTrash

    ich habe da mal eine weitere Frage. Da ich den Ganzen Aufwand zum Daten kopieren machen.

    Ich habe ein Verzeichnis mit Unterordnern Maximal 31.
    Hier drin wiederrum sind bis zu 43200 Datein wenn jemand schnell ist :P

    jetzt muss ich ja eine Liste der Zu kopierenden Datein erstellen. Was denkst du ist besser bei dieser Anzahl an möglichen DateinNamen
    ein Array ist zu klein also besser auf dem Flash als z.b. csv speicher und für kopieren wieder auslesen?
    oder abschnittsweise ein Array wieder beschreiben und löschen wenn der Kopiervorgang abgeschlossen ist?

    Vielen Dank im Vorraus!

    Hendrik

  9. #18
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    755
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das kann ich so nicht beantworten. Hängt von Deinen RAM-/Flash-Speicherreserven ab, vielleicht auch davon, ob Du berücksichtigen musst, dass der Rechner beim Kopieren möglicherweise ausgeschaltet wird.
    Eine weitere Möglichkeit wäre noch, nach dem Finden einer Datei diese sofort zu kopieren.

Ähnliche Themen

  1. Bytes in ein .txt-File schreiben
    Von FinalMistery im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 25.11.2011, 08:26
  2. MP277 AuditTrail-File kopieren
    Von Schnick und Schnack im Forum HMI
    Antworten: 4
    Letzter Beitrag: 10.02.2011, 08:46
  3. Daten in DB schreiben /aus DB lesen/ kopieren
    Von Heizerfraktion im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 28.03.2010, 23:36
  4. XML File aus SPS schreiben
    Von Benny L. im Forum Programmierstrategien
    Antworten: 2
    Letzter Beitrag: 21.08.2008, 08:11
  5. Datenbaustein auf externes Datei-File schreiben
    Von Joe.Baer im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 30.05.2005, 15:13

Lesezeichen

Berechtigungen

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