Lan Kommunikation nach 40 Sek nicht mehr möglich

Hallo pylon,

erst einmal herzlichen Dank für deine Mühe den Skript durchzusehen.
Nun zu deinen Anmerkungen:
1.Selbstverständlich ist das so programmiert wir du es vorschlägst : falls (z.B.) die NTP-Zeit ankommt geht es sofort zum nächsten Task. (-> ControlTime = Task2_Start;)
2.Selbstverständlich wird auch nach am Ende von Task4, nach einigen Sek. (siehe unten) wieder der Task4 gestartet.
Ausführlicher:
Task4 wird nach der Prog.-Zykluszeit (nehmen wir einmal ca. 60 sec.) unterbrochen und der gesamt Programablauf neu gestartet.
Es wird Task1 nur durchlaufen falls auch NTP-benötig wird (->99), falls nicht geht es sofort weiter zu Task2.
Hier im Task2 werden neue Werte von einem (eHZ) Zähler geholt, bei Synchr. Fehler das kann schon mal 2-3 sec dauern.
Anschließend wird im Task3 falls notwendig (->99) die Zählerdaten auf die SD-Karte geschrieben, sonst geht es sofort weiter zu Task4.

Falls ein Request in der Zwischenzeit (Task1-3) ankommt, wird dieser gepuffert und dann in Task4 ausgelesen und interpretiert.
Das funktioniert in den ersten ca. 40 Sek einwandfrei - und funktioniert innerhalb von Task4 oder auch davor in Task1-3.

Der Zeitbedarf für Task1-3 sind max 5 sec. - die restliche Zeit, also 55 Sek läuft der Loop in Task4 - alle anderen IFs sind FALSE.
Auch wenn ich bewußt genau innerhalb vom Loop 4 den Request setze, wird der Request nach ca. 30-40 Sek nicht mehr angenommen ...

das ist das Problem!

Inzwischen habe ich im Netz ein ähnliches Problem gefunden:
Ethernet fails connecting after a while ..... http://forum.freetronics.com/viewtopic.php?f=4&t=176&start=30
Ich werde mir das einmal ansehen.

Ich habe mein Programm auch auf den 'nackten' Ethernet-Loop reduziert = es passiert trotzdem.