Autor Thema: Max Stringlänge und wie kann ich lange Texte in eine Datei schreiben  (Gelesen 12548 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Juergen Maier

  • Newbie
  • *
  • Beiträge: 14
    • Profil anzeigen
Hallo,
ich möchte lange Texte in eine Datei schreiben. Leider ist die Länge meiner Variable begrenzt.
Ich definiere meine Variable zum bsp. => sMeineVariable: STRING(800);
Diese Variable übergebe ich dann meiner Funktion (SysFileWrite).
Wenn ich jetzt aber einen sehr langen Text habe > 800 Zeichen schreibt er nicht alle Zeichen
in die Datei. Wie kann ich diesen langen Text am besten in meine Datei schreiben.
Vielleicht hat jemand eine gute Idee.

Kann mir jemand sagen wie viele Zeichen ich max. in eine Stringvariable speichern kann ?
 
CoDeSys V2.3.9.25 RTE

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
warum hast du denn überhaupt so einen langen text ?
was machst du denn damit



in der oscat_network gibt es einen fileserver
dieser nutzt intern einen 4000 byte grossen zwischenbuffer
den string kannst du wenn notwendig auch in mehreren teilen in den buffer kopieren (string_to_buffer)
und dann schreiben


Offline Juergen Maier

  • Newbie
  • *
  • Beiträge: 14
    • Profil anzeigen
Eigentlich möchte ich nur eine Datei schreiben mit "viel" Text.
Die Datei hat folgenden Aufbau. Das Beispiel ist jetzt für eine Spannstelle (Injektor).
In meiner Datei die ich erzeuge sind es 24 Stück.
Denn gesamten String erzeuge ich über eine CONCAT Funktion.

Beispiel:
<?xml version="1.0" encoding="utf-8"?>
<DataMatrixCode xmlns="http://tempuri.org/DataMatrixCode.xsd">
   <Injektor>
      <Spannstelle>1</Spannstelle>
      <Typ></Typ>
      <Nummer>32182</Nummer>
      <Qref>0.00070</Qref>
      <Angeschlossen>true</Angeschlossen>
      <VP_Nr>xxxxx</VP_Nr>
      <Ventil_ID>xxxxx</Ventil_ID>
      <Platzhalter1>xxxxx</Platzhalter1>
      <Platzhalter2>xxxxx</Platzhalter2>
      <Platzhalter3>xxxxx</Platzhalter3>
   </Injektor>

.... insgesamt 24 Injektoren

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
das einfachste ist wenn du die aufgabe in kleinere teile zerlegst
zb der string hat immer nur einen injektor, und das schreibst du in die datei
dann kommen die daten des nächsten injektor usw...

das ist der unterschied zwischen pc programmen und einer sps
sowas mit einer sps zu programmieren ist schwieriger !