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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Anfängerfrag Dateien lesen/schreiben

  1. #1
    Registriert seit
    23.03.2009
    Beiträge
    31
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    habe ein Problem und kann es leider nur umschreiben, da der Herr der das Problem tatsächlich hat sich zu fein ist, selbst zu fragen (Toll Ein Anderer Machts), mir aber nach drei Wochen langsam der Geduldsfaden reißt ;-D

    Haben einen FB programmiert, der ein String aus einem Eingabefenster in eine Textdatei scheibt, aktiviert durch einen Button. Orientiert haben wir uns an dem Beispiel des Copy-FB aus dem Beckhoff Infosys.
    Setzen wir einen Breakpoint und gehen alles Step-by-Step durch, so klappt dies auch, im Normalbetrieb jedoch wird soweit ich weiß entweder nichts gemacht oder der Text zig mal eingetragen.

    Mehr weiß ich leider auch nicht, hoffe ihr könnt uns trotzdem helfen!

    MfG
    Zitieren Zitieren Anfängerfrag Dateien lesen/schreiben  

  2. #2
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Kannst du euren Code bzw. euer Programm posten?? Dann können wir den anschauen und euch sagen, was ihr falsch macht.
    Jetzt aus dem Stehgreif zu erahnen, was da falsch läuft, ist eher schwierig.
    A programmer is just a tool which converts caffeine into code.

  3. #3
    kunse ist offline Benutzer
    Themenstarter
    Registriert seit
    23.03.2009
    Beiträge
    31
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    FUNCTION_BLOCK FBInhaltInDatei
    VAR_INPUT
    srcNetId :T_AmsNetId;
    srcFileName :T_MaxString;
    bExecute :BOOL;
    tAdsTimeOut :TIME;
    END_VAR
    VAR_OUTPUT
    bBusy :BOOL;
    bError :BOOL;
    nErrId :UDINT;
    END_VAR
    VAR
    fbFileOpen :FB_FileOpen;
    fbFilePuts :FB_FilePuts;
    fbFileClose :FB_FileClose;
    hsrcFile :UINT;
    step :INT;
    END_VAR



    IF NOT bBusy THEN
    bBusy:=TRUE;
    bError:=FALSE;
    nErrId:=0;
    hSrcFile:=0;
    step:=1;
    END_IF

    CASE step OF
    0:
    ;

    1: fbFileOpen(bExecute:=FALSE); (*Datei öffnen*)
    fbFileOpen( sNetID:='',
    sPathName:='d:\Test.txt' ,
    nMode:=FOPEN_MODEAPPEND OR FOPEN_MODETEXT,
    ePath := PATH_GENERIC,
    tTimeout := t#20s,
    bExecute := TRUE);
    step:=step + 1;
    fbFileOpen(bExecute := FALSE);

    2:
    IF (NOT fbFileOpen.bBusy) THEN

    IF fbFileOpen.bError THEN
    nErrId:=fbFileOpen.nErrId;
    bError:=TRUE;

    ELSE
    hSrcFile := fbFileOpen.hFile;
    step:=step + 1;

    END_IF
    END_IF

    3:
    fbFilePuts(bExecute := FALSE); (*Inhalt holen*)
    fbFilePuts( sNetId:= '',
    hFile:=hSrcFile,
    sLine := g_sInhalt,
    bExecute := TRUE,
    tTimeout := t#20s);
    step:=step + 1;
    fbFilePuts(bExecute := FALSE);
    4: IF (NOT fbFilePuts.bBusy) THEN
    IF fbFilePuts.bError THEN
    nErrId:=fbFilePuts.nErrId;
    bError:=TRUE;
    ELSE
    step:=step + 1;
    END_IF
    END_IF
    5: fbFileClose(bExecute:=FALSE);
    fbFileClose( sNetId:= '',
    hFile:=hSrcFile,
    bExecute := TRUE,
    tTimeout := t#20s
    );
    fbFileClose(bExecute := FALSE);
    bBusy:=FALSE;
    step:=0;
    g_bSpeichern:=FALSE;

    END_CASE

  4. #4
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Bevor du in deinen Steps 2 und 4 den Wert der bBusy Variablen auslesen kannst, musst du den Baustein aktualisieren. Du musst fbFileOpen() bzw. fbFilePuts() einbauen.
    A programmer is just a tool which converts caffeine into code.

  5. Folgender Benutzer sagt Danke zu Cerberus für den nützlichen Beitrag:

    kunse (14.07.2011)

  6. #5
    kunse ist offline Benutzer
    Themenstarter
    Registriert seit
    23.03.2009
    Beiträge
    31
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Werd's weiterleiten. Danke!

  7. #6
    kunse ist offline Benutzer
    Themenstarter
    Registriert seit
    23.03.2009
    Beiträge
    31
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hat funktioniert. Wunderbar!

  8. #7
    kunse ist offline Benutzer
    Themenstarter
    Registriert seit
    23.03.2009
    Beiträge
    31
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hoffe, der Beitrag erweckt nochmal kurz zum Leben ;-D
    Gibt es eine Möglichkeit, nach einem Eintrag einen Zeilenumbruch in der Textdatei zu erzwingen? Sollte dann folgendermaßen aussehen:

    Eintrag 1
    Eintrag 2
    .
    .
    .
    Eintrag n

    Mfg Kunse

  9. #8
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Einfach einen String mit '$n' schreiben.
    A programmer is just a tool which converts caffeine into code.

  10. #9
    kunse ist offline Benutzer
    Themenstarter
    Registriert seit
    23.03.2009
    Beiträge
    31
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Kommt einem bekannt vor ;-D DANKE!

  11. #10
    kunse ist offline Benutzer
    Themenstarter
    Registriert seit
    23.03.2009
    Beiträge
    31
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Haben nun das Problem, dass der Speichervorgang recht lange dauert. Wenn man nicht mehrere Sekunden wartet, werden nicht alle Einträge gespeichert. Wer eine Idee, woran das liegen könnte? Haben in unserem Testprogramm nur den fb, muss also dara liegen

    Mfg

Ähnliche Themen

  1. Dateien auf USB Speichermedium schreiben/lesen
    Von Martin86 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 29.04.2011, 13:05
  2. Zustände eines DB´s aus Siemens Dateien lesen
    Von Bensen83 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 03.09.2010, 08:03
  3. s5d-Dateien mit eigenem VB-Programm lesen
    Von TurboTaube im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 01.08.2009, 17:34
  4. Dateien mit S7-300 auf Server schreiben/lesen
    Von maweri im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 21.12.2007, 08:48
  5. S5 Dateien nur lesen
    Von Anonymous im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 04.01.2005, 08:21

Lesezeichen

Berechtigungen

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