TIA UDP connection

Zuviel Werbung?
-> Hier kostenlos registrieren
Du hast also nicht gefragt, denkst aber dass es so bleiben muss. Letztlich deine Entscheidung, weil du es ja auch umsetzen musst.

Versuch mal einen Plan zu erstellen, wer mit was reden soll und über welchen Weg genau:

1. Partner IP, Kommunikationsprotokoll, Port
2. Partner IP, Kommunikationsprotokoll, Port

Danach würde ich dir die Doku zu den TCON Bausteinen empfehlen um zu verstehen was diese machen und wie diese funktionieren. Da gibt es auch ein kleines Programmbeispiel zu TCON, TDISCON, TRCV und TSEND.

Ich persönlich würde aber glaube auch eher die TSEND_C bzw. TRCV_C Bausteine verwenden, da diese die Funktion von TCON und TDISCON mit übernehmen. Wahrscheinlich Geschmacksfrage, aber für den Einstieg sicher leichter.
 
Tatsächlich gerade mit Trcv_c nochmal ausprobiert und den Status 7002, also "Verbindung wird aufgebaut", bekommen.
Komischerweise ändert sich nichts wenn ich das Ethernetkabel ziehe.
Evtl bin ich da etwas auf der Spur
 
Ping geht auf jeden Fall.
IP von der CPU ist 192.168.5.1 und vom Gerät ist sie 192.168.5.7.
Habe nun noch etwas herumprobiert und habe nun den Status 7006. Gleichzeitig ist BUSY die ganze Zeit an. Es scheint, als wäre es Verbindung da. Wenn ich das Ethnetkabel ziehen ändert sich jedoch nichts.
Auch werden keine Daten empfangen.
 
Wenn das der Port 41818 mit der TCP/IP Verbindung ist wird er auf einen Befehl von dir warten...
Zum Datenempfang musst du ne zweite Verbindung und die als UDP "öffnen" und dort "lauschen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Diese Verbindung wurde nun wieder mit UDP hergestellt, weil es mit TCP nicht funktioniert hatte. Was du sagst, ergibt auf jeden Fall Sinn. So ähnlich steht es ja auch in der Dokumentation vom Scanner.
Mit dem Trcv_c Block stellt man aber ja gleichzeitig Verbindungen her und empfängt gleichzeitig. Allerdings kann ich meines Wissens nach nur TCP oder UDP für beide gleichzeitig einstellen, aber nicht getrennt.
 
Du musst (laut der Doku) 2 Verbindungen einrichten. Die TCP/IP Verbindung (wobei ich mich hier Frage, ob die aktive Verbindung alleine reicht oder ob noch auf ein Steuerwort gewartet wird) auf Port 41818 und zusätzlich musst du eine 2. Verbindung mit UDP einrichten, bei der du auf Port 2222 die Daten empfängst.

Also auch 2 mal den Baustein aufrufen, mit unterschiedlichen Parametern für UDP und TCP.
 
Das Gerät ist laut Handbuch für Ethernet/IP Protokoll, dazu passen auch die beiden angegebenen Ports. Da ist die TIA eher ungünstig zum Testen, das geht mit einer Rockwell Steuerung einfacher, die kann das nativ. Im Prinzip geht das mit TIA zwar auch, wird in dem Fall aber unnötig kompliziert. Falls du dir das trotzdem antun willst:
 
Ich würde ja erst einmal mit einer kleinen PC-Anwendung testen, ob und was da von dem Scanner dann auf dem UDP-Kanal zurückkommt. Also TCP Verbindung aufbauen und halten, UDP auf Empfang setzen und dann Scannen und schauen ob was kommt.

"Ethernet/IP" ist auch ein sehr unglücklicher Name für ein Protokoll basierend auf Ethernet und IP, wenn es dabei nicht einmal eine eindeutige Eigenschreibweise gibt,
 
Soooo,
Ich habe nun ein Block mit TSEND_C für eine TCP Verbindung auf Port 44818.
Müsste ja egal sein, ob Tsend oder Trcv.
Bei diesem wechselt der Status regelmäßig und schnell zwischen 7001,7002 und 80A1.
Dann habe ich noch einen Block mit Trcv_c, mit dem Port 2222.
Dieser steht standardmäßig auf 7004, wenn ich ihn über Req aktiviere, wechselt er auf 7006. Leider empfangen ich noch immer keine Daten.
 
Was sagt die Hilfe zu 80A1? "Verbindung oder Port wird vom Anwender bereits verwendet"

Hast du für die beiden Bausteinaufrufe eigene IDs verwendet? Zeig mal bitte die Bausteinaufrufe, inklusive aller Parameter die du an die Bausteine übergibst.
 

Anhänge

  • 16763677530963309823379437227631.jpg
    16763677530963309823379437227631.jpg
    2,5 MB · Aufrufe: 15
  • 16763677755224642781196532162292.jpg
    16763677755224642781196532162292.jpg
    2,7 MB · Aufrufe: 14
  • 16763677924612224793465882462821.jpg
    16763677924612224793465882462821.jpg
    2,4 MB · Aufrufe: 14
  • 16763678146646956759396514355603.jpg
    16763678146646956759396514355603.jpg
    2,2 MB · Aufrufe: 15
"Ethernet/IP" ist auch ein sehr unglücklicher Name für ein Protokoll basierend auf Ethernet und IP, wenn es dabei nicht einmal eine eindeutige Eigenschreibweise gibt,

Ist für meine Begriffe eindeutig.

An den Threadersteller:


Aber wie gesagt, das ist eine eigene Nummer, die mehr als ein bisschen Send und Receive ist.
 
Habe es leider noch immer nicht hingekommen. Habe einfach mal den Support der Firma geschrieben. Versuche mich nun erstmal an die nächste Aufgabe.
Trotzdem Dankeschön an alle :)
 
Zurück
Oben