ModBus Timeout mit TCP/RTU Gateway

Hallo,

Wir haben folgende Umgebung:

  • Server 2012 R2
  • Version 4.00
  • Eine KNX Intanz -> alles i.O.
  • Modbus TCP Instanz zur Wago -> alles i.O.
  • Modbus TCP Instanz auf ein Wachendorff Gateway Modbus TCP / Modbus RTU (HD67507), die Intervalle stehen zw. 1000 und 5000 ms

Am Modbus RTU hängen 2 Geräte, eine Lüftungsanlage und die Heizungssteuerung. Das Gateway steht auf Routing-Mode, d.h. RTU wird 1zu1 auf TCP umgesetzt.
Dazu wurde 2 Splitterinstanzen erstellt und dem ClientSocket des Gateway zugeordnet.
Die Adressen, hier 2 und 8, sind in der Splitter Instanz eingetragen und stehen auf Modbus TCP, wurden testweise auch schon auf RTU over TCP gestellt, jedoch ohne Erfolg.

Versuche ich nun ein WriteRegisterSmallInt auf eine Adresse, bekomme ich nach einiger Zeit ein Timeout, wobei die Werte trotzdem teilweise geschrieben werden. Die RequestRead Befehle funktionieren teilweise auch aber sehr langsam.

Der LOG wirft permant folgenden Fehler aus:
14.03.2016 12:46:50*| FlowHandler*| Kann Daten nicht zur Instanz #48736 weiterleiten: TransactionID stimmt nicht überein
14.03.2016 12:49:21*| FlowHandler*| Kann Daten nicht zur Instanz #35951 weiterleiten: TransactionID stimmt nicht überein
Das sind jeweils die IDs der Splitter Instanzen.

Schalte ich eine dieser beiden Splitter Instanzen weg, funktioniert die Andere problemlos.

Wenn ich diese Konstellation in ModScan abbilde, funktioniert alles parallel und ohne Timeouts.

Das ist zur Zeit leider nicht „sauber“ möglich. Wir synchronisieren bisher seit IP-Symcon 4.0 die RTU Gateways. Bei ModBus TCP bist du mit mehreren Geräten über einen Socket bisher der erste der in 10 Jahren nachfragt. Es ist somit ein missing Feature, welches ich dir aber gerne in Zukunft realisieren wollen würde. :slight_smile:

Kann dein Gateway Gerät vielleicht die Modbus RTU Geräte auf einzelne ModBus TCP Ports legen?

paresy

ok, danke für die Antwort.

Wie lange wird denn diese Realisierung in etwas dauern?
Ich möchte nur abwägen, ob es sich lohnt die ganzen Datenpunkte erst noch manuell im Gateway umzusetzen.

Ich vermute eher einige Wochen. Wir sind zur Zeit noch dabei einige Fehler in der 4. 0 zu korrigieren. Danach erst kann ich mir darum kümmern.

paresy

Hallo,

ich bin seit gestern dabei den Test-Aufbau eines Kunden in unser IP-Symcon zu integrieren. Habe vorher noch nie mit ModBus gearbeitet und komme damit nicht so gut zurecht.

Komponenten:

Der Raumregler ist per 2-adrigem ModBus an das Gateway angeschlossen und bekommt noch 24VDC Versorgungsspannung über ein Netzteil, genauso wie der Gateway. Der Gateway hängt über Switches in unserem normalen internen Ethernet, wie auch die Symbox.

Habe in IP-Symcon…

  • ModBus Device Instanz erstellt (laut PDF ist Temperatur Protokoll-Adresse 0x0102, also 258?)
  • ModBus Gateway „Modbus RTU over TCP“, ID per Dip-Schalter auf 3
  • ModBus Socket mit IP des Gateway, Schnittstelle geöffnet

Nur irgendwie scheint das nicht zu funktionieren. Beim ModBus Socket bekomme ich über Debug „TRANSMIT“ und „RECEIVED“. Beim ModBus Gateway jedoch nur „WAITING“, „TRANSMIT“, „BUFFER IN“ und schließlich „WAIT_ERROR“. Beim ModBus Device kommt dann garnichts. Ich werde auch aus der vorhandenen Dokumentation nicht so schlau, habe aber darauf geachtet dass Parity (Even) and Serial Speed (9600) bei Gerät und Gateway gleich eingestellt sind. Offensichtlich mache ich aber etwas falsch, oder ist das die angesprochene Funktionalität die nicht vorhanden ist?

Grüße,
Andy

Hallo nochmal,

gibt es denn inzwischen einen Release-Termin für diese Funktion ?

grüße
builer4242

Hallo,

auch ich habe das Problem über Modbus TCP.
> Advantech 4572
Hier ist ein „Host Idle Timeout“ fix eingetragen.
Nach dieser Zeit löst der Modbus-Slave zwangsweise die TCP-Verbindung.
Liegt das Intervall (IPS) unter der Zeit ist alles OK. Liegt das Intervall höher gibt es dauernd Fehler.

Nebenbei:
IPS öffnet nach Änderung die Verbindung, wartet die Intervallzeit und liest erst dann den Wert.

Eine komfortable Lösung wäre, wenn man in IPS einstellen könnte, ob die Verbindung dauernd offen ist, oder fallweise geöffnet wird !

  • dauernd offen:
    1.) TCP-Verbindung öffnen
    2.) Intervallzeit
    3.) Wert lesen
    4.) Intervallzeit
    5.) Wert lesen
    usw.
    Vorteile: schnelle Reaktion, schnelles Lesen der Werte

  • Einzelverbindung:
    1.) TCP-Verbindung öffnen
    2.) Wert lesen
    3.) TCP-Verbindung schließen
    4.) Intervallzeit
    usw.
    Vorteile: bei großen Intervallen - keine Probleme mit Timeout
    Nachteile: langsameres Lesen der Werte, Prozessorlast?

Alternativ wäre es günstig, ein Timeout in IPS zu setzen, nach der die TCP-Verbindung in Ruhezustand geht, d.h. geschlossen wird. Bei neuer Anfrage wird die Verbindung geöffnet.

Das Problem ist für mich wichtig, da das Time-Out fest unter 3 Sekunden eingestellt ist und somit viel Last kommt.

Andreas Treutler

Hallo zusammen,

wir haben mit Modbus via TCP das selbe Problem. An einem Gateway (Expert DAQ EX-9132C-2-MTCP) hängen drei Thanos Raumbediengeräte.
z.Zt muss ich mit IPS_SetConfiguration in der Spliter-Instanz die Modbus-Adresse ändern, die Register lesen/schreiben, die Adresse auf das nächste Gerät ändern, usw…

Beste Grüße
Annika

@builer4242 @Annika
Die Synchronisierung ist zum nächsten 4.1 Update eingebaut! Freue mich auf euer Feedback!

paresy

Hallo,

welche Geräte können das?

Suche ein Modbus RTU zu Modbus TCP Konvert. Mein China Teil läuft zwar, habe aber oft Abbrüche.

Habe beim großen C paar gesehen:

Bus Konverter Modbus, RS-485 Novatek
Gateway LAN, Modbus, RS-232, RS-485 Anybus AB7702
Gateway Modbus, LAN, RS-232, RS-485 Wachendorff HD67507

Hat jemand diese Geräte?

Kann mir jemand ein Empfehlen?

Gruß

Ich bin mit diesem Ding mittlerweile ganz zufrieden.
Modbus2LAN-Chinesenadapter
Gruß Jens

Hallo paresy,

wir haben umgestellt auf 4.1 (Testing).
Leider kommt immer noch der selbe Fehler:
„07.10.2016 18:26:55*| FlowHandler*| Could not forward data to instance #48760: TransactionID does not match“

Viele Grüße
Annika

Bin mit diesem Adapter hier sehr zufrieden
https://www.expertdaq.de/konverter/modbus-tcp-modbus-rtu-ascii/ex9132c-2-mtcp/

@Annika: Magst du mir mal ein Bild von euerer physikalischen Baumansicht machen?

paresy

Das Problem ist zum nächsten 4.1er Update korrigiert. Die Fehlermeldungen sollten dann (korrekter Weise) nicht auftauchen.

paresy

Hallo paresy,
nach einem Update funktioniert die ModBus Kommunikation mit unseren Raumbediengeräten.

Danke!

Grüße Annika