TCP/IP Kommunikation mit Festo Codesys Steuerung FED-CEC

Begonnen von Jamquai, 11. April 2011, 11:57:27

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 4 Gäste betrachten dieses Thema.

Jamquai

Bei der Verwendung des Bausteins IP_Control aus der aktuellen network_111.lib stürzt die CPU ab (Neustart).
Ist meine CPU evtl. nicht kompatibel zum Baustein ? Mit dem TCP_IP Beispiel auf der 3S Seite:
ftp://ftp2.3s-software.com/pub/Examples/Projects/CoDeSysV2.3/Communication/TcpIp/
bekomme ich auch einen Absturz bzw. keinen Verbindungsaufbau.

[gelöscht durch Administrator]

peewit

hallo

mit deiner sps haben wir leider keine erfahrung bezüglich Kompatibilität

abstürzen wird deine sps wahrscheinlich wegen der syslibsocket.lib die eingebunden ist
wende dich an denn hersteller, und frage nach wie es bezüglich nutzung von ethernet aussieht

welche lib werden benötigt, und dann werden wir sehen.......ob es eine einfache lösung gibt


Jamquai

Hersteller habe ich angefragt, die Syslibsockets V7.4.11 ist freigegeben

peewit

ist freigegeben, und warum stürzt es dann ab ?

du müsstest mal im einzelschritt debuggen und schauen wo es abstürzt..

ich habe leider diese hardware nicht, und kann deine probleme überhaupt nicht nachvollziehen..

Jamquai

ich habe auch nur mit Funktion "SocketCreate" versucht überhaupt ein Socket zu erzeugen, selbst das geht nicht

peewit

kannst du mal mit dem hersteller genau diesen umstand klären

oder gibt es ein example bzw bibliothek vom hersteller mit der die ethernet-kommunikation funktioniert

solange das nicht gegeben ist, würde ich die aussage "ist freigegeben" in frage stellen


Jamquai

muss ich evtl. unter "Kommunikationspartner" eine Verbindung für das entfernte Ethernet-Gerät einrichten, oder ist das nur für die Online-Verbindung notwendig ?

peewit

das ist nur für die programmiersoftware zu machen, damit man den kommunikationsweg definiert

Jamquai

nach längerem Hin- und Her habe ich nun herausgefunden, dass es an der Steuerung liegen muss, mit 3SSoftSPS hat es funktioniert, Daten dem TCP-Client zu Senden/Empfangen,
von einem Kollegen habe ich erfahren, das es ein Problem mit der Socketverbindung gibt,
man muss einstellen: "blocking" oder "none-blocking"
An welcher Funktion aus der SysSocket.lib wird das gemacht ?

peewit

#9
man kann zwischen den beiden wählen

standard ist der blocking mode
wie du den non-blocking mode nutzt kann du dir direkt im baustein ip_control ansehen
dort habe ich es auch so benutzt


SysSockIoctl(socket, SOCKET_FIONBIO, ADR(dint_true)); (* put socket in non-blocking mode *)


wenn deine steuerung eine realtime-umgebung nutzt, dann ist auch kein tcp sonder nur udp nutzbar !!
so wie bei codesys sp RTE (Echtzeitlaufzeitsystem für Windows NT/2000/XP)



Jamquai

Es gibt neue Erkenntnisse:
- TCP-client Programm, basierend auf dem 3S-Beispiel funktioniert für die SoftSPS PLCWinNT und für die Festo Steuerung CPX-CEC

Für den Festo "Embedded Controller" FED-CEC wird die Socket-Verbindung nicht hergestellt. Liegt das ggfs. daran, dass nur UDP möglich ist?
Was ist der Unterschied zwischen Embedded und Nicht-Embedded ?

peewit

sind das nun erkenntnisse oder fragen ?

kannst du nochmals genauer formulieren, was du denn nun neues erfahren hast, und was du selber inzwischen ausprobiert und bestätigen kannst

denn oft werden sachen behauptet, die sich dann beim austesten als unwahr herausstellen....