Ini mehrfach auslesen

Begonnen von crabtack, 25. August 2016, 16:19:17

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 3 Gäste betrachten dieses Thema.

crabtack

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

peewit

Prinzipiell muss das funktionieren.
Kannst du deinen code online stellen

crabtack

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