-> Hier kostenlos registrieren
Hey ihr Lieben,
ich bräuchte mal eure Hilfe.
Ich möchte mit meiner 1515er SPS, als Client eine TCP/IP Verbindung über OpenUserCommunication mit einem PC aufbauen, wo ein Programm die Daten als Server verarbeitet und auch Daten wieder zurücksendet.
Das Problem: Ich sende Strings beliebiger Länge und auch die Strings, die ich empfange sind unterschiedlich lang, je nachdem, welche Informationen ich abfrage. Ich bekomme auf jeden Fall eine Verbindung hin (die Verbindungsstatus geht auf 7004 und auch der Server zeigt die Verbindung an), allerdings schaffe ich es noch keine Daten zu senden und ich glaube es liegt an meiner Tia Programmierung (der Server zeigt mir zumindest keine gültige Kommunikation an und würde auch entsprechend eine Acknowledge Message senden, was er aber nicht tut). Wenn ich die Verbindung aber resete, bekomme ich ein "C" zurückgesendet, was heißt "Connection completed", also scheinbar kann der Server mir Daten senden, auch wenn vielleicht auch nur einzelne Char (zumindest ist das eine gültige Antwort, andere konnte ich noch nicht triggern), aber immerhin etwas.
Ich habe mir dazu einen TSEND_C FB und einen TRCV_C FB in das Main OB gepackt.


Bei der Umsetzung habe ich mich weitestgehend an das Beispiel aus dem Handbuch gehalten (deswegen auch erstmal die umständlichen Bezeichnungen).
Da auf eine Anfrage meist eine sofortige Antwort in Form einer Acknowledge Message kommt habe ich nach dem erfolgreichen Senden den Client sofort auf RCV gesetzt:

Mein Sende- und Empfangsdatenbereich sind so definiert, beide jeweils als Standard Datenblöcke (im Handbuch stand, wenn man im AdHoc Modus ist, also Daten unbekannter Länge empfangen möchte, kann man beliebige Datentypen nur dann empfangen, wenn die Datenblöcke nicht in einem optimierten Datenbereich liegen) :

Ich finde aber das Problem nicht? Liegt es an meiner Datenbereichsdefinition? Oder habe ich irgendwo was komplett übersehen?
Besten Dank euch für eure Hilfe!
Edit: geschrieben wurde das ganze in Tia Portal V15.1
ich bräuchte mal eure Hilfe.
Ich möchte mit meiner 1515er SPS, als Client eine TCP/IP Verbindung über OpenUserCommunication mit einem PC aufbauen, wo ein Programm die Daten als Server verarbeitet und auch Daten wieder zurücksendet.
Das Problem: Ich sende Strings beliebiger Länge und auch die Strings, die ich empfange sind unterschiedlich lang, je nachdem, welche Informationen ich abfrage. Ich bekomme auf jeden Fall eine Verbindung hin (die Verbindungsstatus geht auf 7004 und auch der Server zeigt die Verbindung an), allerdings schaffe ich es noch keine Daten zu senden und ich glaube es liegt an meiner Tia Programmierung (der Server zeigt mir zumindest keine gültige Kommunikation an und würde auch entsprechend eine Acknowledge Message senden, was er aber nicht tut). Wenn ich die Verbindung aber resete, bekomme ich ein "C" zurückgesendet, was heißt "Connection completed", also scheinbar kann der Server mir Daten senden, auch wenn vielleicht auch nur einzelne Char (zumindest ist das eine gültige Antwort, andere konnte ich noch nicht triggern), aber immerhin etwas.
Ich habe mir dazu einen TSEND_C FB und einen TRCV_C FB in das Main OB gepackt.


Bei der Umsetzung habe ich mich weitestgehend an das Beispiel aus dem Handbuch gehalten (deswegen auch erstmal die umständlichen Bezeichnungen).
Da auf eine Anfrage meist eine sofortige Antwort in Form einer Acknowledge Message kommt habe ich nach dem erfolgreichen Senden den Client sofort auf RCV gesetzt:

Mein Sende- und Empfangsdatenbereich sind so definiert, beide jeweils als Standard Datenblöcke (im Handbuch stand, wenn man im AdHoc Modus ist, also Daten unbekannter Länge empfangen möchte, kann man beliebige Datentypen nur dann empfangen, wenn die Datenblöcke nicht in einem optimierten Datenbereich liegen) :

Ich finde aber das Problem nicht? Liegt es an meiner Datenbereichsdefinition? Oder habe ich irgendwo was komplett übersehen?
Besten Dank euch für eure Hilfe!
Edit: geschrieben wurde das ganze in Tia Portal V15.1
Zuletzt bearbeitet: