-Menü

Beiträge anzeigen

Dieser Abschnitt erlaubt es Ihnen, alle Beiträge anzusehen, die von diesem Mitglied geschrieben wurden. Beachten Sie, dass Sie nur Beiträge sehen können, die in Teilen des Forums geschrieben wurden, auf die Sie aktuell Zugriff haben.

Beiträge anzeigen-Menü

Beiträge - crabtack

#1
Hi, danke für die schnelle Antwort!

Der Code ist verteilt in mehrere Dateien.
Ich habe ihn zur besseren Übersicht auf pastebin hochgeladen.

IniFileReader:
http://pastebin.com/Y3FeUPmj

MIniFile:
http://pastebin.com/SBp82M5T

Initializer:
http://pastebin.com/im5rTN3r

MProcessKey:
http://pastebin.com/j6iutKXn

Im Initializer Code wird die Globale Variable xTriggerAufbereitungIniChanged überprüft (Diese wird aus einem anderen Task heraus gesetzt, dies funktioniert definitiv)
Wenn die Ini Datei sich geändert hat soll sie ausgelesen werden, anschließend werden die Gelesenen Objekte als SDO per CanOpen übertragen.

Wie gesagt, das Auslesen funktioniert beim Start einmal, danach nicht mehr.

Ich hoffe der Code ist nicht zu unübersichtlich.

Grüße
Olaf




#2
oscat.lib fuer CoDeSys 3 / Ini mehrfach auslesen
25. August 2016, 16:19:17
Hi,

ich nutze den Funktionsblock INI_PARSER_FILE.
Klappt soweit bestens.

Jetzt möchte ich aber die gleiche INI Datei zur Laufzeit mehrmals Lesen, also jedes mal, wenn sie sich geändert hat (Wird per FTP auf die SPS übertragen).
Dies funktioniert leider nicht, nur der Erste durchlauf funktioniert.

Danach wird die INI datei nicht erneut gelesen.
Ich denke, das Problem ist, dass im INI_PARSER_FILE Funktionsblock der Positionszeiger "i" nicht zurückgesetzt wird.

Somit funktioniert beim ersten Aufruf Alles und der Positionszeiger zeigt auf das Ende der Datei.
Beim nächsten Aufruf ist der Funktionszeiger somit direkt am Ende der Datei.

Gibt es einen anderen Weg?

Grüße
Olaf