Beckhoff CX5130 Modbus Error

Hallo,

ich habe Probleme eine Beckhoff CX5130 mit Windows Embedded Standard mit IP-Symcon zu verbinden.

Dabei erhalte ich die folgende Fehlermeldung:

Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigert.

Die Verbindung zu TwinCAT 3 läuft reibungslos und auch der Zugriff auf Windows über die Remotedesktopverbindung geht. Nur bei der Verbindung zu IP-Symcon komme ich nicht weiter.

Der Host hat die richtige IP-Addresse: 10.3.34.126
und der Port steht auf dem Standartwert mit: 502

Ich habe bereits im Forum gesucht, aber keine passende Lösung gefunden.
Es würde mich freuen wenn mir hier jemand weiter helfen könnte.

Vielen Dank im Voraus.
Grüße, TwiGz

ModBus Error.JPG

Ist auf der Beckhoff die Windows Firewall aktiv?
Port 502 ankommend TCP freigeben.

Michael

Hi!

Dein Gerät kann doch gar kein Modbus… Du brauchst den TwinCat Modbus Server…
BECKHOFF New Automation Technology

paresy

Schonmal danke für die Hilfe.

Wir arbeiten mit TwinCat3, deshalb haben wir den „TF6250 TwinCAT 3 Modbus TCP Server“ verwendet und eingerichet.

Die erforderlich Variablen:

VAR_GLOBAL
mb_Input_Coils : ARRAY [0…255] OF BOOL;
mb_Output_Coils : ARRAY [0…255] OF BOOL;
mb_Input_Registers : ARRAY [0…255] OF WORD;
mb_Output_Registers : ARRAY [0…255] OF WORD;
END_VAR

haben wir in einer GVL angelegt.

Der oben beschriebene Fehler tritt trotzdem noch auf.

TwiGz

Das Verbindungsproblem habe ich inzwischen gelöst. DIe Verbindung über Modbus ist soweit „valid“.

In TwinCat3 wurden die Variablen und Merker angelegt und verlinkt (hier ein Ausschnitt):
R_1 AT %Q*: BOOL;
IPS_R_1 AT %MX0.0: BOOL;

B_1 AT %I*: BOOL;
IPS_B_1 AT %MX1.0: BOOL;

D_11 AT %I*: INT;
IPS_D_11 AT %MD2: DINT;

// Relais
R_1 := IPS_R_1; (* 12288 + 0*16 + 0 = 12288 *)

// Buttons
IPS_B_1 := B_1; (* 12288 + 1*16 + 0 = 12304 *)

// Drehschalter
IPS_D_11 := D_11; (* 12288 + 2*2 = 12292 *)

Beim Test innerhalb von TwinCat3 funktioniert das auch alles super. In IP-Symcon kommt jetzt beim Test mit den Funktionen ModBus_RequestRead oder ModBus_WriteCoil die Fehlermeldung:
„Waiting for response timed out“

Habe schon einiges ausprobiert aber ich habe keine Ahnung woran es liegt.
TwiGz

Nach einigen Telefonaten mit Beckhoff und übernahme meines Computers über TeamViewer konnte das Problem behoben werden.

Das Problem war der ausgewählte Port. Symcon hat den Default Modbus Port 502 nicht aktzeptiert (Siehe 1er Post).
Nach Kontrolle aller aktiven Ports über die Windows Console (mit netstat) habe ich Port 3777 verwendet. Diesen hat IP-Symcon für die Modbus Kommunikation akzeptiert. Aber es kam kein Signal von der SPS in Symcon an.

Durch den Beckhoff Mitarbeiter wurde festgestellt, dass der Port 12666 funktioniert. Er hat einen hohen Port genommen von dem er wusste, dass dieser aktuell nicht verwendet wird.

Ich wüsste aber gerne warum die Kommunikation über Port 502 und Port 3777 nicht funktioniert hat. Es würde mich freuen wenn es jemand weiß.

LG TwiGz

Ehrlich gesagt ergibt das keinen Sinn. Sofern die 502 nicht bereits durch etwas anderes belegt war, muss dieser Port problemlos funktionieren. Die 3777 ist von IP-Symcon belegt - somit ist klar, dass diese nicht geht.

paresy