TwinCAT 3 und network_121

Begonnen von neutrino2k, 29. Juli 2014, 12:01:03

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

neutrino2k

Hallo Zusammen,

ich versuche momentan die Network_121 unter TwinCAT 3 zu laufen zu bringen.
Auf den ersten Blick sieht auch alles gut aus, aber leider funktioniert es nicht so wie es solll.
Habe ein Programm, welches mit HTTP_GET ein Webinterface abfrägt. Das ganze wurde in Codesys3 entwickelt und wurde jetzt nach TwinCAT 3 portiert.
Natürlich benutze ich die Beckhoff OSCAT Libs und nicht die für CDS3. Auch der Tc_TCP/IP ist installiert, lizensiert und gestartet.
Das Problem scheint bei den Netzwerkkarten zu liegen. Ich habe 2 Netzwerkkarten. Eine für EtherCAT I/O (AMS_NetID) und eine für das lokale Netzwerk.
Als ich dann noch eine dritte Netzwerkkarte(USB-Ethernet) verwendet habe, konnte ich zumindest erfolgreiche Anfragen in das Netz der dritten Karte machen.
Ich habe auch versucht mit der VAR sLocalHost zu experimentieren, aber leider ohne Erfolg.
TwinCAT scheint die zweite Netzwerkkarte nicht zu nutzen.
Wie kann ich Tc3 sagen, dass es eine bestimmte Karte nutzen soll?

P.S.: Das Projekt läuft unter CDS3 und Tc2, aber nicht unter Tc3


peewit

hast du die globalen variablen schon angepasst und damit herumgespielt

sSrvNetId : STRING(23) := ''; (* String containing the network address of the TwinCAT TCP/IP Connection Server (e.g. '1.1.1.2.7.1'). For the local computer (default) an empty string may be specified *)

sLocalHost : STRING(15) := ''; (* The local IP address (Ipv4) of the UDP client/server socket as a string (e.g. '172.33.5.1'). An empty string may be specified for the default network adapter *)
   (* --------------------------------------------- *)

wenn du auch zu keine erfolg führt solltest du mal den beckhoff support bemühen und dir erklären lassen wie die zusammenhänge sind.

da wir hier keine codesys 3.x bzw twincat 3.x network bibliothek pflegen und supporten kann ich dir nur sehr wenig dazu helfen.

neutrino2k

Der Urlaub hat mir ofensichtlich gut getan.
Also, das Problem saß vor dem Rechner. Ich hatte ein Leerzeichen in meinem Abfragestring.
Leider bekamm ich vom Webinterface keinen "Bad Request" und auch sonst keine Antwort.
Als ich mir das mal mit Wireshark angeschaut habe, ist es mir sofort aufgefallen. Nach der Korrektur funktionierte alles wie vorher.

Ich kann, obwohl es keine offizielle TwinCAT 3 bzw Codesys 3 Libs gibt, sagen, dass zumindest IP_CONTROL, HTTP_GET, DNS_CLIENT und STRING_TO_URL unter TwinCAT 3 funktionieren.
Wer auch mal unter Tc 3 spielen möchte: Ich habe zuerst die Basic 3.3.3 installiert und die fehlende Lib SysCall....(?) irgnoriert(bisher keine Auswirkungen). Danach die Network 1.2.1. Diese möchte die Basic 3.3.3 und die Tcpip. Einfach manuel die zuvor installierte Basic und dann noch die Tc2_Tcpip auswählen.

Wie oben zu lesen habe ich die Network auch unter CDS 3 am Laufen, aber vorsicht. IP_CONTROL funktioniert hier nur sehr beschränkt. Vorallem bei Serveranwendungen hängt dieser sich nach der ersten Anfrage von extern auf. (Modbus Server, NTP Server, ...)
Ich vermute mal vorsichtig, dass dies auch unter Tc3 der Fall sein könnte.

Allgemein zu meiner Anfrage: Tc nutzt alle verfügbaren LAN Schnittstellen ohne das man sie angeben muss. Wenn also der LAN-Adapter 2 die IP 10.20.30.40 hat, dann kommt man auch mit Tc  in das 10.20 30.0 Netz.

peewit

Da bei twincat immer eine zusaetzliche software bzw schnittstelle zwischen sps und betriebssystem installiert wird ist anscheinend die kompatibilitaet dadurch gewaehrleistet.

Bei cds 3 ist das so nicht gegeben, da man direkt mit plattformspezifischen libs kommunizieren muss


Glueck gehabt.....