OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: Juergen Maier in 26. Oktober 2011, 08:15:39

Titel: Max Stringlänge und wie kann ich lange Texte in eine Datei schreiben
Beitrag von: Juergen Maier in 26. Oktober 2011, 08:15:39
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
Titel: Re: Max Stringlänge und wie kann ich lange Texte in eine Datei schreiben
Beitrag von: peewit in 26. Oktober 2011, 09:35:59
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

Titel: Re: Max Stringlänge und wie kann ich lange Texte in eine Datei schreiben
Beitrag von: Juergen Maier in 26. Oktober 2011, 10:09:50
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
Titel: Re: Max Stringlänge und wie kann ich lange Texte in eine Datei schreiben
Beitrag von: peewit in 26. Oktober 2011, 10:18:41
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 !