TwinCAT 2 - TS6310 - TCP/IP-Ansteuerung eines Remote-Clients

AirHubi

Member
Beiträge
5
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Community,

ich versuche gerade, eine TCP/IP-Ansteuerung eines Remote Clients (Programmierbare Stromversorgung vom Typ Delta Elektronika SM66-AR-110) mithilfe des TwinCAT-2-Supplements TS6310 zu realisieren.

Dazu habe ich folgenden Testaufbau hergestellt (siehe auch Anhang):
  • Mein Programmierlaptop (mit Programmierumgebung TwinCAT 2, Supplement „TS6310-0001 | TwinCAT TCP/IP Server“ installiert) dient zum Schreiben des Quellcodes.
  • Der Quellcode wird anschließend auf dem Zielsystem (CP6207, Windows CE6.0, Supplement „TS6310-0001-0030 | TwinCAT-TCP/IP-Server-CE“ installiert) aufgespielt.
  • Das Zielsystem soll dann mit dem Remote Client über TCP/IP kommunizieren können.
Jetzt meine Frage:
Ich habe es bisher leider nicht geschafft, eine erfolgreiche Kommunikation aufzubauen.
Hat jemand eine Idee, wo mein Fehler liegen könnte? Ich bin für jeden Hinweis dankbar.

Quellcode siehe Anhang.
Hierzu noch folgende Anmerkungen:
  • Der Funktionsbaustein „FB_SocketListen“ funktioniert meiner Meinung nach, da nach dessen Ausführung die entsprechende „handle“-Variable (fbSocketListen.hListener.handle) einen Wert ungleich 0 annimmt (siehe auch Anhang).
  • Was nicht funktioniert, ist, dass der Funktionsbaustein „FB_SocketAccept“, welcher gemäß des TS6310-Handbuchs zyklisch aufgerufen werden soll, die entsprechende „handle“-Variable (fbSocketAccept.hSocket.handle) erzeugt. Der Wert bleibt bei 0 (siehe auch Anhang). Somit hat nach meinem Verständnis kein erfolgreicher Aufbau einer TCP/IP-Verbindung stattgefunden.
  • Was ich auch nicht verstehe: Gemäß der Dokumentation des Herstellers der programmierbaren Stromversorgung gibt es zwei wichtige Einstellungen, um sauber mit der Stromversorgung kommunizieren zu können: 1.) IP-Adresse (eingestellt gemäß Anhang) und 2.) Port = 8462. In keinem meiner verwendeten Funktionsbausteine aus dem Supplement übergebe ich diese Daten. Es werden bei allen verwendeten Funktionsbausteinen immer nur die Daten des TwinCAT TCP/IP Connection Servers/ des Local-Servers benötigt, was nach meinem Verständnis die Daten des Zielsystems (CP6207) sind. Kann das sein?
Beste Grüße
AirHubi
 

Anhänge

  • 2023-03-29_Entwicklungstopologie_TCP-IP.pdf
    214,3 KB · Aufrufe: 9
  • Quellcode.pdf
    333,8 KB · Aufrufe: 8
Ich würde erwarten, dass das Netzteil der Server ist (führt Anweisungen aus) und deine SPS ist der Client (erteilt die Anweisungen/Anfragen).

Bei dir ist die SPS der Server.

Gruß Illi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@illi:
Vielen Dank für deinen Hinweis, du hast vollkommen Recht :)
Ich hatte ein komplett falsches Verständnis, wer hier Server und wer hier Client ist.
Mit FB_SocketConnect funktioniert jetzt alles.

Gruß
AirHubi
 
Zurück
Oben