Hallo zusammen,
ich bin neu in der ABB Welt (bisher nur FANUC und UR). Ich stehe aktuell vor dem Problem, dass ich zwei Socket Verbindungen zur selben Zeit betreiben möchte.
- Eine in einem Semistatic Hintergrundtask, zyklisch alle 250ms soll hier Nachricht an einen Server raus gehen und die Antwort empfangen werden. Dabei möchte ich den Socket offen halten.
- Und eine weitere Verbindung zu einem anderen Server im Haupttask, welche an einem bestimmten Punkt geöffnet werden soll und nach dem Empfang der Nachricht wieder schließt.
Aktuell tritt nun folgendes auf:
Der Hintergrundtask wird zyklisch, wie angedacht abgearbeitet, der Port bleibt offen, die Daten werden im 250ms Takt gesendet und Empfangen. Der Vordergrundtask bleibt allerdings nach dem Socket definieren bei Socket Connect immer hängen. Nach Ablauf des Timers, bekomme ich im Flexpendant den Socket Error (Timer abgelaufen bevor Abarbeitung abgeschlossen) und in dem Moment steht dann auch die Nachricht auf dem Socket beim Empfänger an. Zudem kann ich an meinem Server erkennen, dass der Socket Verbunden ist, in dem Moment in dem SocketConnect ausgeführt wird.
Zum Test habe ich nun mal den Hintergrundtask so umgebaut, dass dieser ebenfalls jedes mal den Socket Öffnet und Schließt. Das öffnen kostet mich allerdings nun 500ms fürs Verbinden. Dann funktioniert es problemlos.
Woran könnte es liegen, dass der Haupttask "keine Verbindung" aufbauen kann? Ist ABB hier tatsächlich auf einen Verbundenen Socket begrenzt?
Danke vorab für die Hilfe!
BG
Kai