... wenn Beispielsweise keine Antwort innerhalb von 160ms kommt soll der DB-Server ein Problem haben und in dem Fall muss ich die Verbindung abbrechen, und versuchen neu aufzubauen ...
Die S7 versucht in diesem Fall (also bei den projektierten CP Verbindungen) selber zyklisch die Verbindung wieder aufzubauen.
Selbst bei der PN-Schnittstelle und den T-Bausteinen brauchst du die Verbindung bei einem Ausfall des Partners nicht ab- und wieder aufzubauen - auch hier wird automatisch versucht die Verbindung wieder herzustellen.
Ich wüsste also nicht, warum hier zur Laufzeit Verbindungen auf- und abgebaut werden sollten.
Die Sache mit den 2 Ports kann man sich eigentlich auch sparen - damit verbraucht man nur unnötig Verbindungsressourcen (der LEAN-CP unterstützt "nur" 8 Verbindungen).
Bei den Telegrammen bitte aufpassen - am besten fixe Telegrammlängen mit dem Kommunikationspartner (Gegenstelle) aushandeln !
Der Receive-Baustein der S7 benötigt eine Längenangabe (Bytes) - der CP liefert erst dann Daten, wenn diese Anzahl in seinem Empfangspuffer erreicht bzw. überschritten ist - wurden mehr Bytes empfangen, liefert er aber auch nur soviele Bytes, wie beim Receive-Baustein anparametriert wurden - der Rest verbleibt im Empfangspuffer des CP´s - somit werden deine Empfangsdaten verschoben bzw. "zerhackt".
Wenn fixe Telegrammlängen nicht möglich sind, dann gibt es noch die Möglichkeit mittels fixem Telegrammheader und variablen nachfolgenden Nutzdaten.
Dann brauchst du 2 Receive-Bausteine im Programm, die gegeneinander verriegelt sind - der 1. Receive-Baustein empfängt dann den fixen Header und prüft gemäß der Info im Header ab, wieviele Nutzdaten noch über den 2. Receive-Baustein empfangen werden müssen.
Bei der integrierten PN-Schnittstelle kann man dem Receive-Baustein auch angeben, dass er immer die volle Empfangsdatenlänge liefert - hier sind variable Telegrammlängen also einfacher zu handeln.
Bzgl. deinen 160ms bitte ebenfalls aufpassen - bei den Ethernet-CP´s steckt der Flaschenhals im Rückwandbus der 300er CPU, der läuft nur mit MPI Geschwindigkeit.
Hier ist man mit der integrierten PN-Schnittstelle ebenfalls besser bedient.