XML-Datei öffnen und bestimmten Eintrag suchen

Begonnen von Christian, 21. Dezember 2011, 18:28:21

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Christian

Hi,




sorry war die letzen anderthalb wochen krank - sonst hätt ich früher geantwortet.

Also zunächst entschuldigung für die zusätzliche arbeit  ;)

aber trotzdem freut es mich, dass ich anstoss zur weiterentwicklung geben konnte :)


grüße
Christian

peewit

#31
hallo christian

ich habe mir das alles nochmals angesehen
es gibt keine andere möglichkeit wenn man eine bestehende datei beliebig beschreiben möchte als das man den append mode benutzt.

darum kann ich die bibliothek gar nicht anpassen (verbessern)

deswegen habe ich die Fa. SEW-Eurodrives kontaktiert und sie von dem Problem informiert

inzwischen habe ich auch schon eine rückmeldung erhalten

der fehler in der syslibfile.lib bei deiner SPS wurde mir bestätigt, und wird auch höchstwahrscheinlich mit erscheinen der nächsten firmware-release behoben sein.

du solltest deshalb in ein paar wochen nachschauen ob es eine neue firmware für deine sps gibt.

die aktuelle firmware deiner sps lautet "1820 7588.15 Build 1081" diese hat aber noch diesen besagten "schönheitsfehler"
sobald du eine neuere version findest, solltest du diese ausprobieren !


einen schönen dank noch an den netten techniker von SEW-Eurodrives !


Christian@SEW

Zitat von: peewit in 02. März 2012, 16:19:42
hallo christian

ich habe mir das alles nochmals angesehen
es gibt keine andere möglichkeit wenn man eine bestehende datei beliebig beschreiben möchte als das man den append mode benutzt.

darum kann ich die bibliothek gar nicht anpassen (verbessern)

deswegen habe ich die Fa. SEW-Eurodrives kontaktiert und sie von dem Problem informiert

inzwischen habe ich auch schon eine rückmeldung erhalten

der fehler in der syslibfile.lib bei deiner SPS wurde mir bestätigt, und wird auch höchstwahrscheinlich mit erscheinen der nächsten firmware-release behoben sein.

du solltest deshalb in ein paar wochen nachschauen ob es eine neue firmware für deine sps gibt.

die aktuelle firmware deiner sps lautet "1820 7588.15 Build 1081" diese hat aber noch diesen besagten "schönheitsfehler"
sobald du eine neuere version findest, solltest du diese ausprobieren !


einen schönen dank noch an den netten techniker von SEW-Eurodrives !



Hallo

Ich habe mich, wie versprochen, dem Thema angenommen.
Aus unserer IEC-Doku geht folgende Zuordnung der Mode-Argumente für den fOpen-Baustein hervor:







PrioritätIEC-ModusC-fopen Umsetzung
1 (höchste)     â€žrw“ (oder „wr“)     â€žw+b“
2„r"„rb“
3„w"„wb“
4 (geringste)„a"„ab“


Umsetzung laut
http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html

ZitatOpening a file with append mode (a as the first character in the mode argument) shall cause all subsequent writes to the file to be forced to the then current end-of-file, regardless of intervening calls to fseek().

Das Setzen des Filepointers ans Ende der Datei ist somit keine Fehlfunktion.
Nach Rücksprache mit unserer Firmwareentwicklung wird die Funktion, auch aus Gründen der Abwärtskompatibilität, nicht geändert.

Sie haben trotzdem die Möglichkeit die Funktion ohne Firmwareänderung wie gewünscht zu verwenden.
Sie müssen statt der Funktion "SysFileOpen" aus der "SysLibFile.lib" die Funktion "SysFileStreamFOpen" aus der "SysLibFileStream.lib" nutzen.

An diesem Baustein können die Argumente wie in C üblich übergeben werden.
FUNCTION SysFileStreamFOpen : DWORD
(* wrapper for ANSI C function
FILE *fopen( char *filename, char *mode );
*)
VAR_INPUT
FileName: STRING;
Mode: STRING [20]; (* can contain 'w' (write), 'r' (read), 'a' (append), '+', 'b', 't' *)
END_VAR
VAR
END_VAR





mfg
Christian@SEW



Peter87

Hallo,

ich habe eine Frage zu dem XML_Reader: Wie kann ich die einzelnen Variablen aus der XML auslesen und deren Werte in CoDeSys-Variablen schreiben?


Grüße
Peter

peewit

das ist einfache frage aber eine sehr komplexe aufgabe das zu erklären

1. man muss wissen wie xml daten aufgebaut sind
2. verstehen wie der xml baustein funktioniert und angewendet wird (dokumentation lesen !!!!!!)
3. zum lernen und testen mit einer einfachen xml datei herumprobieren
4. optional kann man sich die wetter bausteine ansehen, da hier auf einer groesseren xml datei gewisse daten ausgelesen werden.

eine einfache antwort gibt es nicht....

trail and error.....