Hauptmenü

Modbus TCP

Begonnen von elton_k, 04. Oktober 2013, 13:50:44

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

elton_k

Hallo,
ich versuche eine Modbus TCP verbindung zwischen einer Festo steuerung und einer Phoenix Contact steuerung aufzubauen, allerdings glingt mir das nicht so recht.

Auf der Festo Steuerung möchte ich den Client haben und auf der Phoenix Contact den Server. Die Programmierung der Phoenix Contakt stellt auch kein Problem da. Den Server habe ich mit Modbus Poll getestet und das funktioniert.

Allerdings bekomme ich den Client nicht richtig eingestellt. Der Client gibt so lange keinen Error aus bis man den Server einschaltet. Der Fehler kommt vom IP_Control2 baustein. Der Fehlercode ist FD: "Wert 253 â€" Verbindung von Remote beendet".
Der Fehler wird nicht daurhaft angezeigt. Die Fehlercode Anzeige springt immer zwischen FD und 00 hin und her.

Zum testen habe ich auch versucht die Kommunikation andersrum aufzubauen aber auch da habe ich auf der Festo Steuerung einen Fehler bekommen.

Hat jemand eine Idee was ich Falsch gemacht habe?

[gelöscht durch Administrator]

peewit

es ist fast alles richtig, was du aber nicht machen darfst ist direkt über die ip_c datenstruktur einfluss nehmen
alles muss über die baustein parameter übergeben werden.

du schreibst direkt auf ip_c2.mode  -> das darfst du nicht , da macht der baustein selber
--------------------
in der network bibliothek findest du einen baustein ordner "demo" dort gibt es auch ein modbus client und server demo programm

schau dir das mal an

--------------------

zum unabhängigen testen beider seiten kannst du dir hier modbus poll und modbus slave runterladen
damit kannst du beiden seiten per windows software spielen, damit du rausfindest wer von beiden das problem verursacht

http://www.modbustools.com/modbus_slave.asp

---------------
welche lib version verwendest du
du ust zumindest die neueste
http://www.oscat.de/community/index.php/topic,1872.msg9862.html#msg9862

elton_k

#2
Guten Morgen,

vielen dank für die schnelle Antwort.

Mit den ModbusTools habe ich das ganze getestet. Auf der Phoenix Contakt Seite funktioniert alles wunderbar aber auf der Festo Seite also dem Client klappt es leider nicht. Warum kann ich nicht sagen. Ich habe die Bibiliothek auch mal ersetzt, dass hat aber leider auch nicht geholfen. Es wird der selbe Fehler angezeigt.

Woran könnte es sonst noch liegen das der IP_Control2 Baustein die verbindung immer wieder abbricht?

peewit

#3
hi

ob die network lib auf der "festo" sps prinzipiell funktioniert kann ich dir nicht sagen
leider gibt es bei den codesys basierenden plattformen ziemliches "unkraut"

in den globalen variablen der network.lib habe ich optionen vorgesehen und wenn du glück hast passt etwas ..



(* ------- only for CoDeSys --------------------        *)
(* Configuration for SysLibSocket.lib                   *)
(* Bit 0 = 1 -> PLCWinNT                                *)
(* Bit 1 = 1 -> PLC WAGO 750-841                        *)
(* Bit 2 = 1 -> PLC WAGO 750-881                        *)
SYSLIBSOCKETS_OPTION : BYTE := BYTE#2#0000_0000;
(* ---------------------------------------------------- *)

probiere das mal bei festo aus
SYSLIBSOCKETS_OPTION : BYTE := BYTE#2#0000_0001;

es ist aber leicht möglich das der receive baustein wieder mal etwas anderes rückliefert als die anderen sps'en
dann wird es kompliziert

[gelöscht durch Administrator]