-> Hier kostenlos registrieren
Hallo, ich arbeite momentan an einem multiinstanzfähigen Funtkionsbaustein für die offene Kommunikation über TCP und verwendet dabei die Bausteine FB65 "TCON, FB63 "TSEND", FB64 "TRCV" und FB66 "TDISCON".
Icharbeite dabei mit einer CPU414-3 PN/DP mit der Firmware-Version 2.5 und Step7 5.4.
Nun habe ich das Problem, dass ein Verbindungsaufbau einwandfrei funktioniert wenn ich den FB 2 mal mit jeweils einem eigenen Instanz-DB aus dem OB1 aufrufe, wobei jeder Aufruf natürlich eine eigene ID und Verbindungs-Struktur in einem globalen DB besitzt.
Sobald ich jedoch versuche den Baustein 2 mal aus einem FB aufzurufen, wobei die sich die Instanzen im Instanz-DB des aufrufenden FBs befinden, funktioniert der Verbindungsaufbau nur noch bei der 1.Instanz. Die 2.Instanz wird zwar aufgerufen und Testvariablen werden auf TRUE gesetzt, die Verbindung bleibt jedoch tot. Wenn ich die Verbindungs-IDs und Adressen der Verbindungsparameter tausche funktioniert wieder nur die 1. Instanz während die 2. keine Verbindung aufbaut. Auch ein Tausch in der Reihenfolge des Aufrufes bringt dabei keine Änderung. Es ist immer die 2. Instanz die nicht funktioniert.
Noch ein bisschen zu meinem Programm:
Die Instanzen der Kommunikations-FBs befinden sich in meinem Baustein. Um zu verhindern, dass der Kunde später im Baustein noch etwas ändern muss habe ich ausserdem den Eingangsparameter CONNECT nach aussen weitergeschleift sodass man die Adresse der Verbindungsstruktur jederzeit einfach ändern kann.
Dazu habe ich einen Eingangsparameter vom Typ Any geschaffen, den ich intern auf einen temporären Parameter kopiere, mit dem ich den FB65 aufrufe.
Habt ihr Ideen, wo mein Fehler liegt???
Icharbeite dabei mit einer CPU414-3 PN/DP mit der Firmware-Version 2.5 und Step7 5.4.
Nun habe ich das Problem, dass ein Verbindungsaufbau einwandfrei funktioniert wenn ich den FB 2 mal mit jeweils einem eigenen Instanz-DB aus dem OB1 aufrufe, wobei jeder Aufruf natürlich eine eigene ID und Verbindungs-Struktur in einem globalen DB besitzt.
Sobald ich jedoch versuche den Baustein 2 mal aus einem FB aufzurufen, wobei die sich die Instanzen im Instanz-DB des aufrufenden FBs befinden, funktioniert der Verbindungsaufbau nur noch bei der 1.Instanz. Die 2.Instanz wird zwar aufgerufen und Testvariablen werden auf TRUE gesetzt, die Verbindung bleibt jedoch tot. Wenn ich die Verbindungs-IDs und Adressen der Verbindungsparameter tausche funktioniert wieder nur die 1. Instanz während die 2. keine Verbindung aufbaut. Auch ein Tausch in der Reihenfolge des Aufrufes bringt dabei keine Änderung. Es ist immer die 2. Instanz die nicht funktioniert.
Noch ein bisschen zu meinem Programm:
Die Instanzen der Kommunikations-FBs befinden sich in meinem Baustein. Um zu verhindern, dass der Kunde später im Baustein noch etwas ändern muss habe ich ausserdem den Eingangsparameter CONNECT nach aussen weitergeschleift sodass man die Adresse der Verbindungsstruktur jederzeit einfach ändern kann.
Dazu habe ich einen Eingangsparameter vom Typ Any geschaffen, den ich intern auf einen temporären Parameter kopiere, mit dem ich den FB65 aufrufe.
Habt ihr Ideen, wo mein Fehler liegt???