Wago 750-889 Modbus TCP Problem

Persil

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

ich benutze einen Wago Controller 750-889 der mit Codesys parametriert wird. Jetzt hab ich zwei Geräte die jeweils über Modbus RTU auf ein Modbus RTU/TCP Umsetzer gehen. Der Wago-Controller greift über den Modbus Master der Steuerungskonfiguration auf den Umsetzer um und fragt die Werte ab. Sprich ich habe dort eine ETH-Schnittstelle mit zwei Modbus ID´s.
Funktioniert auch alles eine Weile wunderbar, bis dann plötzlich immer nur einer der beiden mir die Fehlermeldung gibt: mbcfg_error mbcfg_illegal_response und die Werte verändern sich nicht mehr.

Wenn ich dann mit bspw. mit QModMaster das jeweilige Register von der Ip und der Modbus ID abfrage, ist auch der Fehler in der Wago weg. Hat jemand eine Idee wo das Problem liegen könnte?

MBCFG_TimeOut : TIME := t#250ms; (* Response timeout*)
MBCFG_RequestDelay : TIME := t#10ms; (* 0 means no delay *)

Modbus Task steht bei 500ms und Prio 1

LG euer Waschmittel
 
Hallo,

der Fehler 0x98 zeigt an, dass mehr Zeichen im Empfangspuffer liegen als erwartet werden.

Wie bist Du auf die Zeiten gekommen?
Der Taskzyklus ist so groß, dass die Verzögerungszeit von 10ms nicht eingehalten werden kann.
Der Timeout ist auch viel kleiner als der Taskintervall.

Wenn Du den Wert nur jede Sekunde abfagen willst ( denn das machst Du momentan ) würde ich eher den Taskintervall auf 10ms und die Verzögerung auf 1000ms stellen.

Zusätzlich kannst Du überprüfen ob da Gateway korrekt kommuniziert. Schließlich sind zwei Modbus Clients vom 889 parallel aktiv.


Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

vielen Dank schonmal für die Antwort, ich werde das mit den Taskzeiten mal ändern, hatte da wohl ein Gedankenfehler. Den Wert abzufragen reicht mir theoretisch auch alle 30 Sekunden.

Gibt es irgendwo eine Liste mit den Fehlercodes?

Wie kann ich das kommunizieren des Gateways überprüfen? Sollte doch kein Problem sein, dass ich zwei Modbus Slaves abfrage, die Wago kann doch bis zu 15?
 
Die Fehlercodes sind in der Enumeration mit Kommentaren versehen (Enumeration MBCFG_eERROR in der Bibliothek Wago_MBCFG_COMMON_01.
Der Verwendete Modbus Client aus der Bibliothek WagoLibModbus_IP_01 enthält auch eine Liste der Fehler als Kommentar.

Mit der Anzahl der möglichen Verbindungen bringst Du etwas durcheinander.

Auf einen Controller 750-88x und 750-89x können sich bis zu 15 Modbus TCP Clients parallel verbinden. Der Controller selbst kann aber als Client mehr Verbindungen herstellen.
Der Client nutzt die SysLibSocket Bibiliothek und hier wird eine Anzahl von 143 Sockets angegeben (Handbuch 750-881 Version 1.5.0 Seite 57).

Grüße
 
Guten Morgen,

da ich zufällig an einem Aufbau mit WAGO Modbus Master sitze, habe ich mal mit deinen "schrägen" Zeiten getestet. Einen Fehlercode bekomme ich nicht. Aber du solltest natürlich wie Tobsucht schon geschrieben hatte deine Zeiten in Ordnung bringen. Mit der max. Anzahl der Sockets hat es auch nix zu tun, theoretisch kannst du auch 20 Slaves abfragen, nur nicht gleichzeitig.
Ich vermute dein Problem wird der Umsetzer sein.

Grüsse
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Genau genommen benutze ich ja nur einen TCP Client mit zwei Slaves...
Wenn die Änderung der Taskzeiten nicht gebracht hat setz ich mich nochmal mit dem Umsetzer auseinander...

lustigerweise habe ich gar keine von den Bibliotheken im Projekt bzw. die Wago_MBCFG_COMMON_01 wird mir angezeigt ist aber leer :confused:

BIBs.JPG

LG
 
Um die Kommunikation zu überprüfen musst du diese mitlesen.
Entweder über die Portspiegelung des Controllers, einen Switch mit Portspiegelung oder einem Ethernet Sniffer / Tap.
 
Zurück
Oben