Erstmal ein herzliches Hallo an alle !
Ich verwende in einem Profilab 4 Projekt zwei Modbus/TCP Komponenten.1x "Read Discrete Inputs" und 1x "Read Coils". Erstere wird direkt von einem Taktgenerator getaktet und die zweite über den "BSY" Ausgang der "Read Discrete Inputs"-Komponente. (Wie auch in den Beispielen).
Das Ganze funktioniert auch eine Weile ganz gut. Jedoch kommt es alle halbe Stunde mal vor dass die die Ausgangswerte der beiden Komponenten scheinbar vertauscht werden. Dieser Zustand bleibt dann oft Minuten lang bestehen bis dann plötzlich alles wieder normal ist.
Daraufhin habe ich mir den Netzwerktraffic mal mithilfe von Wireshark angesehen und festgestellt dass der Fall immer eintritt nachdem ein "Retransmitt" eines oder mehrerer Pakete aufgetreten ist. Die Datenpakete von meinen Modbus-Modulen werden alle richtig gesendet. Jedoch ist mir aufgefallen dass die Transaktions ID die von Profilab gesendet wird immer die gleiche ist. Kann Profilab die Antworten von der Modbus Hardware evtl deshalb nichtmehr richtig zuordnen?
Nun stellt sich mir die Fragen:
Haben auch Andere dieses Problem?
Gibt es ein Workaround?
Ein sehr ähnliches (oder sogar gleiches) Problem wurde schon vor 3 Jahren hier ins Forum gestellt . Der Thread wurde aber mit einem Hinweis auf ein kommendes Update beendet. viewtopic.php?f=31&t=577&hilit=modbus
Meine Fragen an den Support:
Ist dieses Problem bekannt?
Wird es durch ein Update behoben werden?
Wenn ja wie lange könnte das dauern?
Modbus/TCP Problem (Bug?)
Re: Modbus/TCP Problem (Bug?)
Einen solchen Fehler kann ich nicht völlig ausschliessen, ist aber andererseites bis dato auch nicht bekannt.
Mir stellt sich die Frage, wie ich diesen Fall "nachstellen" kann. Wer hat eine Idee?
Mir stellt sich die Frage, wie ich diesen Fall "nachstellen" kann. Wer hat eine Idee?
ABACOM support
Re: Modbus/TCP Problem (Bug?)
Wie man dieses Problem gezielt reproduzieren kann weis ich leider auch nicht.
Möglicherweise tritt das Problem auf wenn die Hardware nicht schnell genug antwortet.
Ich habe nochmal eine Aufzeichnung des Netzwerkverkehrs mit Wireshark gemacht und diese als Datei und als Screenshot angehängt.
Darin ist zu sehen, dass immer schön abwechselnd die "Read input discretes" und die "Read Coils" Anfragen gesendet und auch beantwortet werden.
Ab Paket# 42 wird die "Read Coils" Anfrage 3x wiederholt. Ab diesem Zeitpunkt bekomme ich dann in ProfiLab falsche bzw anscheinend vertauschte Werte von den beiden Modbus Komponenten. Dieser Zustand bleibt manchmal nur kurz bestehen. oft aber auch mehrere Minuten.
Im Screenshot ist auch zu sehen dass Profilab für jede Anfrage an die Hardware den gleichen transaction identifier von 0 verwendet.
Ich denke dass das der Grund ist, dass Profilab die Antworten nicht mehr richtig zu den Anfragen zuordnen kann wenn ein TCP Paket mal verloren und neu gesendet wird.
Weiterhin scheint sich Profilab nicht darum zu kümmern dass der Funktionscode der Antwort nicht zu dem Funktionscode der Anfrage passt.
Ich hoffe dass mein Problem mit einem Update behoben werden kann.
Möglicherweise tritt das Problem auf wenn die Hardware nicht schnell genug antwortet.
Ich habe nochmal eine Aufzeichnung des Netzwerkverkehrs mit Wireshark gemacht und diese als Datei und als Screenshot angehängt.
Darin ist zu sehen, dass immer schön abwechselnd die "Read input discretes" und die "Read Coils" Anfragen gesendet und auch beantwortet werden.
Ab Paket# 42 wird die "Read Coils" Anfrage 3x wiederholt. Ab diesem Zeitpunkt bekomme ich dann in ProfiLab falsche bzw anscheinend vertauschte Werte von den beiden Modbus Komponenten. Dieser Zustand bleibt manchmal nur kurz bestehen. oft aber auch mehrere Minuten.
Im Screenshot ist auch zu sehen dass Profilab für jede Anfrage an die Hardware den gleichen transaction identifier von 0 verwendet.
Ich denke dass das der Grund ist, dass Profilab die Antworten nicht mehr richtig zu den Anfragen zuordnen kann wenn ein TCP Paket mal verloren und neu gesendet wird.
Weiterhin scheint sich Profilab nicht darum zu kümmern dass der Funktionscode der Antwort nicht zu dem Funktionscode der Anfrage passt.
Ich hoffe dass mein Problem mit einem Update behoben werden kann.
- Dateianhänge
-
- Screenshot von wireshark
- modbus.gif (131.57 KiB) 5726 mal betrachtet
-
- Projektdatei und Wireshark aufzeichnung.zip
- Wireshark Aufzeichnung: Das Problem ist nach Paket # 44 Aufgetreten und blieb Minutenlang bestehen.
- (4.82 KiB) 252-mal heruntergeladen
Re: Modbus/TCP Problem (Bug?)
Habe gerade im Forum noch einen schon etwas älteren Beitrag gefunden.
viewtopic.php?f=21&t=935&p=1352&hilit=modbus#p1352
Hierbei könnte es sich eventuell um das gleiche Problem handeln (falls die Modbus/TCP Komponente in Realview die gleiche ist wie in Profilab)
Viele Lg
kr-saibot
viewtopic.php?f=21&t=935&p=1352&hilit=modbus#p1352
Hierbei könnte es sich eventuell um das gleiche Problem handeln (falls die Modbus/TCP Komponente in Realview die gleiche ist wie in Profilab)
Viele Lg
kr-saibot
Re: Modbus/TCP Problem (Bug?)
Sind Sie so nett und lassen mir bitte Ihren Email-Kontakt zukommen.
Ich nehme an ich werde evtl. Ihre Unterstützung brauchen.
Ein Update "ins Blaue" wäre vermutlich wenig sinnvoll.
RealView verfügt aber selbst NICHT über Modbus-Funktionalität.
(Ich erwähne das nur, damit hier niemand falsche Rückschlüsse zieht.)
Ich nehme an ich werde evtl. Ihre Unterstützung brauchen.
Ein Update "ins Blaue" wäre vermutlich wenig sinnvoll.
Das zitierte Problem im parallelen Thread mag die dieselbe Ursache haben.(...)falls die Modbus/TCP Komponente in Realview die gleiche ist wie in Profilab
RealView verfügt aber selbst NICHT über Modbus-Funktionalität.
(Ich erwähne das nur, damit hier niemand falsche Rückschlüsse zieht.)
ABACOM support
Re: Modbus/TCP Problem (Bug?)
Das nächste Update kommt vermutlich am 17.12.2011 und müsste das Problem beheben.
ABACOM support