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

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

Thema: Variablen als String in csv- oder txt-Datei schreiben/speichern CoDeSys V3.5

  1. #1
    Registriert seit
    24.03.2014
    Beiträge
    37
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    wie kann man Variablen als String in ein logfile speichern? Ich habe schon mehrere Versuche mit der SysFile.lib unternommen, jedoch ohne Erfolg.


    Grüße
    Malcolm
    Zitieren Zitieren Variablen als String in csv- oder txt-Datei schreiben/speichern CoDeSys V3.5  

  2. #2
    Registriert seit
    01.06.2007
    Beiträge
    56
    Danke
    0
    Erhielt 20 Danke für 20 Beiträge

    Standard

    Hallo Malcolm

    Dann Beschreibmal dein Problem mit SysFile.lib. Was hast du bisher versucht ?
    Um Eine Datei zu erzeugen ist das auf jeden fall der richtige Weg.
    Es kann sein das es auch einen Herstellerbezogenen Lib. für das Filhändling gibt.
    Welche Steuerung hast Du ?

    MfG Jochen

  3. Folgender Benutzer sagt Danke zu J Schohaus für den nützlichen Beitrag:

    Malcolm (25.03.2014)

  4. #3
    Registriert seit
    24.03.2014
    Beiträge
    37
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Jochen,

    bisher habe ich verschiedene Beispiele aus anderen Foren versucht. Jedoch habe ich das Problem, dass diese sich scheinbar auf ältere CoDeSys-Versionen beziehen.

    Hier z.B.:

    writeFile:= SysFileWrite(FileHandle, ADR(CurrentString), LEN(CurrentString), bla );

    weiß ich nicht, was ich für "bla" einsetzten soll. Für meine Steuerung gibt es leider keine Lib für das Filehandling.

    Grüße
    Malcolm

  5. #4
    Registriert seit
    01.06.2007
    Beiträge
    56
    Danke
    0
    Erhielt 20 Danke für 20 Beiträge

    Standard

    Der letzte Parameter ist pResult ein Pointer auf eine Variable wo das Ergebnis dieser Funktion geschrieben wird.
    Die Variable ist vom Type "SysTypes.RTS_IEC_RESULT" .
    Bevor du etwas in die Datei Schreiben kannst muss die Dateien natürlich auch noch geöffnet werden "SysFileOpen"

    Für ein etwas einfacheres Handling von Dateien schau dir die "CAA File" Lib an.
    FILE.Open
    FILE.Write
    FILE.Close

  6. Folgender Benutzer sagt Danke zu J Schohaus für den nützlichen Beitrag:

    Malcolm (25.03.2014)

  7. #5
    Registriert seit
    24.03.2014
    Beiträge
    37
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja natürlich öffne ich zuerst die Datei, was meiner Meinung nach auch funktioniert. Nur schreibt er nichts in die Datei..

  8. #6
    lothar Gast

    Standard

    Hallo,
    hFileOpen := SysFile.SysFileOpen(..... gibt ja ein Filehandle zurück. Dieses soll später, nach dem Close, auch wieder geschlossen werden: hFileOpen := 0;
    Würde man z.B. fälschlicherweise zyklisch ein SysFile.SysFileOpen(... machen, gehen womöglich die Ressourcen aus und es geht erst mal nicht mehr.
    Um welches System handelt es sich denn?

    Gruss
    Lothar

  9. Folgender Benutzer sagt Danke zu lothar für den nützlichen Beitrag:

    Malcolm (25.03.2014)

  10. #7
    Registriert seit
    24.03.2014
    Beiträge
    37
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok, hab gerade herausgefunden dass man für die älteren Beispiele die SysFile23.lib benötigt.

    @Lothar: Wie würde denn ein ganzes Bsp zum Schreiben einer Variable aussehen? Mein Programm schreibt einfach nichts..

    Grüße
    Malcolm

  11. #8
    Registriert seit
    24.03.2014
    Beiträge
    37
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hab das Problem gefunden mit den Beispielen für die ältere Versionen, man muss die SysFile23.lib verwenden..

    @Lothar: Wie würde den ein ganzes Bsp für das Schreiben einer Variablen aussehen?

    Grüße
    Malcolm

  12. #9
    lothar Gast

    Standard

    Hallo,

    anbei das Demo.
    Einfach den Deklarationsteil und dann den ganzen Codeteil reinkopieren.
    Tricky ist immer die Angabe von Pfad/Dateiname: das ist seeeehr systemspezifisch: da musst Du schauen, wie bei Deinem System die richtige Syntax ist!
    Das Beispiel
    strFileName : STRING:= '/mnt/jogi.csv'; (*Pfadangabe ggf. anpassen*)
    gilt für eine Boschrexroth-MTX und benennt die Datei jogi.csv im Verzeichnis mnt. Du siehst schon an der Unix-mässigen Syntax die Systemeigenheiten.
    Interessant auch bei CF-Cards: da ist die Syntax für die Pfade meist auch sehr spezifisch!

    Gruss
    Lothar




    Demo gelöscht
    Geändert von lothar (16.04.2014 um 10:06 Uhr)

  13. Folgender Benutzer sagt Danke zu lothar für den nützlichen Beitrag:

    Malcolm (26.03.2014)

  14. #10
    Registriert seit
    24.03.2014
    Beiträge
    37
    Danke
    21
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok, jetzt funktioniert alles. Danke!


    Wie kann ich es umsetzen, anstatt z.B. "66 8,182097 TRUE" etwa "DT#2014-3-26-14:48:56.174 Info TRUE" auszugeben; Also DATE_AND_TIME anstatt Byte ?


    Gruß
    Malcolm

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 29.11.2013, 19:36
  2. CodeSys V3 Werte in CSV Datei Schreiben,Hilfe!
    Von Nitro-Haiza im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 19.09.2012, 11:17
  3. String in eine .txt schreiben/öffnen
    Von Conroe im Forum Programmierstrategien
    Antworten: 8
    Letzter Beitrag: 05.12.2011, 17:21
  4. SPS Variablen in csv Datei schreiben
    Von Ghingha im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 06.10.2008, 11:55
  5. Antworten: 5
    Letzter Beitrag: 17.01.2008, 14:23

Lesezeichen

Berechtigungen

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