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

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

Thema: TwinCat3 - Auslesen einer CSV-Datei

  1. #11
    Registriert seit
    25.02.2015
    Beiträge
    35
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja, damit hast du Recht, ich habe den Teil, der das abfängt aber lediglich nicht mit kopiert. Im ganzen sieht es so aus:


    Code:
    IF Step = 0 THEN
    fbFileOpen( bExecute := FALSE ); 
    fbFileOpen(sNetId :='' , sPathname := 'ftp://192.168.xx.xxx/test.txt', nMode:= FOPEN_MODEAPPEND, bExecute := TRUE, tTimeOut := T#3S);
    bFileOpenBusy := fbFileOpen.bBusy;
    bFileOpenError := fbFileOpen.bError;
    nFileOpenErrId := fbFileOpen.nErrId;
    hFile := fbFileOpen.hFile;
    Step := 1;
    END_IF
    Es gibt ein Update. Die Dateien können auf der Steuerung abgelegt werden und via FTP erreicht werden. Ich habe den Pfad entsprechend verändert, jedoch ohne Effekt. Muss ich da etwas beachten?
    Geändert von MerlinBerlin (25.02.2015 um 16:50 Uhr)
    Zitieren Zitieren Edit  

  2. #12
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Kannst du nichtmal deinen ganzen Code hier posten? Dieses rumgerätsel um Bruchstücke herum bringt keinen weiter.
    Fragst du Busy, Error, hFile etc. auch noch im nächsten Schritt ab? Wenn nein, erklärt das warum sich die Zustände nicht mehr ändern.

    FB_FileOpen kommt schon mit Netzlaufwerken nicht klar, ich glaube da kaum das es da mit FTP Verbindungen besser aussieht.
    Sänd from mei Kombjudder mitse Dastadurr.

  3. #13
    Registriert seit
    25.02.2015
    Beiträge
    35
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe doch noch gar keine anderen Schritte. Da meine hFile immer noch 0 ist, halte ich das auch noch nicht für sinnvoll. Oder verstehe ich da was falsch?
    Gehe jetzt davon aus, dass die Variable erstmal gesetzt werden muss, damit ich da dann weiter mit arbeiten kann.

    Also ein ziemlich sicheres nein für FTP?

  4. #14
    Registriert seit
    21.10.2010
    Beiträge
    546
    Danke
    60
    Erhielt 42 Danke für 40 Beiträge

    Standard

    Hi

    "sPathName : Enthält den Pfad- und Dateinamen der zu öffnenden Datei. Hinweis: Der Pfad kann nur auf das lokale File System des Rechners zeigen! Das bedeutet, Netzwerkpfade können hier nicht angegeben werden!" so kurz aus dem Infosystem von Beckhoff.. http://infosys.beckhoff.com/index.ph...leopen.htm&id=

    Könnte doch noch was bedeuten.

    Gruss blimaa

  5. #15
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Zitat Zitat von MerlinBerlin Beitrag anzeigen
    Ich habe doch noch gar keine anderen Schritte. Da meine hFile immer noch 0 ist, halte ich das auch noch nicht für sinnvoll. Oder verstehe ich da was falsch?
    Gehe jetzt davon aus, dass die Variable erstmal gesetzt werden muss, damit ich da dann weiter mit arbeiten kann.

    Also ein ziemlich sicheres nein für FTP?
    Na da sind wir doch schon mal einen Schritt weiter.
    Wenn du keine anderen Schritte hast, wird auch dein fbFileOpen nicht mehr aufgerufen wenn Step = 1. Du musst ihn aber aufrufen damit er ausgeführt werden kann.
    FileOpen braucht mehrere Zyklen um eine Datei zu öffnen.

    Also nochmal von vorne. Schritt 1: fbFileOpen mit den Paramentern und einem TRUE auf bExecute ausführen um den Datei öffnen Vorgang zu starten. Dann in den nächsten Schritt springen.
    Das hast du schon gemacht.
    In Schritt 2 fbFileOpen weiter ausführen (mit bExecute = FALSE <== muss nicht sein aber schadet nicht) bis bBusy wieder False ist. Dann bekommst du deinen File Handler wenn alles glatt ging und die
    Datei geöffnet werden konnte oder eine Fehlermeldung wenn die Datei nicht geöffnet werden konnte.

    Zum Thema FTP gibt es von Beckhoff ein Supplement mit dem man einen FTP Client ins Programm einbinden kann. Allerdings ist dieses Supplement nicht kostenlos. LINK
    Sänd from mei Kombjudder mitse Dastadurr.

  6. #16
    Registriert seit
    25.02.2015
    Beiträge
    35
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank bis dahin erstmal.
    Da FTP scheinbar keine gute Idee war, habe ich jetzt einen USB-Stick in den Beckhoff CX9020 gesteckt, mit diversen Testdateien. Allerdings weiß ich nicht wie ich auf den Dateipfad der Dateien/ des Sticks komme. Wisst ihr das zufällig?
    Wenn ich das weiß, werde ich meinen Code anpassen, wie du gesagt hast.

    EDIT: Laut Forum kann man "\HardDisk2\" benutzen.

    Mein Code sieht also nun wie folgt aus:
    Code:
    IF Step = 0 THEN
        testCounterSchritt1 := 0;
        testCounterSchritt2 := 0;
    END_IF
    
    IF Step = 0 THEN
        fbFileOpen( bExecute := FALSE ); 
        fbFileOpen(sNetId :='' , sPathname := '\HardDisk2\test123.txt', nMode:= FOPEN_MODEAPPEND, bExecute := TRUE, tTimeOut := T#3S);
        bFileOpenBusy := fbFileOpen.bBusy;
        bFileOpenError := fbFileOpen.bError;
        nFileOpenErrId := fbFileOpen.nErrId;
        hFile := fbFileOpen.hFile;
        Step := 1;
        testCounterSchritt1 := testCounterSchritt1 + 1;
    END_IF
    
    
    IF fbFileOpen.bBusy AND Step = 1 THEN
        fbFileOpen(sNetId :='' , sPathname := '\HardDisk2\test123.txt', nMode:= FOPEN_MODEAPPEND, bExecute := FALSE, tTimeOut := T#3S);
        bFileOpenBusy := fbFileOpen.bBusy;
        bFileOpenError := fbFileOpen.bError;
        nFileOpenErrId := fbFileOpen.nErrId;
        hFile := fbFileOpen.hFile;
        testCounterSchritt2 := testCounterSchritt2 + 1;
    
    END_IF
    Die testCounter habe ich eingeführt um zu schauen, wie oft beide Schritte ablaufen. Der erste ist 1, der zweite 3 nach dem Aufruf.
    Ist das so korrekt?
    Es wird jetzt wieder der 070C-Fehler (Datei nicht gefunden) gesetzt und hFile bleibt 0. Da ich den FOPEN_MODEAPPEND benutze, sollte er doch aber eigentlich die Datei erstellen, sofern sie nicht existiert, oder nicht?



    EDIT 2.0:
    Okay, habe bei Hard Disk2 ein Leerzeichen vergessen Jetzt wird meine hFile initialisiert. Ich versuche mich mal an den nächsten Schritten. Vermutlich werde ich mich nochmal melden, wenn etwas nicht funktioniert.

    Vielen Dank nochmal
    Geändert von MerlinBerlin (26.02.2015 um 10:40 Uhr)
    Zitieren Zitieren Edit 2.0  

  7. #17
    Registriert seit
    25.02.2015
    Beiträge
    35
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Da bin ich wieder. Bin leider noch nicht wesentlich weiter gekommen. Ich möchte jetzt auf eine Spalte in einer Zeile zugreifen und den Wert speichern. (Geht im Wesentlichen um Zahlenwerte, aber das soll mal erst keine Rolle spielen). Habe jetzt folgenden Code geschrieben:

    Code:
    IF Step = 2 THEN
        fbFileGets(bExecute := FALSE);
        fbFileGets(sNetId := '', hFile := hFile, bExecute := TRUE, tTimeout := T#2S);
        Step := 3;
    END_IF
    
    IF (NOT fbFileGets.bBusy) AND Step = 3 THEN
        fbFileGets(bExecute := FALSE);
    END_IF
    Ich sehe, dass sLine gesetzt wurde und möchte nun die einzelnen Spalten der Zeilen in Variablen speichern. Wie geht das?

    Es gibt im InfoSys ein Beispiel, das ich aber leider nicht öffnen kann. (Die Konvertierung von TC2 zu TC3 scheint nicht zu klappen.) Würde mich auch schon freuen, wenn jemand das Beispiel hier (zumindest zum Teil) hier posten könnte.

    http://infosys.beckhoff.de/index.php...sample.htm&id=
    Geändert von MerlinBerlin (26.02.2015 um 14:56 Uhr)

  8. #18
    Registriert seit
    07.06.2007
    Beiträge
    143
    Danke
    2
    Erhielt 24 Danke für 24 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bitte Beitrag löschen

Ähnliche Themen

  1. Step 7 Spalte einer csv datei lesen
    Von kuti im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 05.03.2014, 22:54
  2. CSV Datei mit einer Wago Sps erstellen
    Von Newbie88 im Forum Sonstige Steuerungen
    Antworten: 14
    Letzter Beitrag: 03.11.2012, 23:09
  3. CSV Datei von MP377 USB Stick auslesen
    Von DJMetro im Forum HMI
    Antworten: 11
    Letzter Beitrag: 23.08.2010, 16:51
  4. Antworten: 4
    Letzter Beitrag: 12.10.2009, 11:27
  5. Antworten: 10
    Letzter Beitrag: 18.10.2007, 19:54

Stichworte

Lesezeichen

Berechtigungen

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