Ankündigung

Einklappen
Keine Ankündigung bisher.

Modbus TCP Probleme unter CentOS 6 auf einem APU2D4

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Modbus TCP Probleme unter CentOS 6 auf einem APU2D4

    Hallo zusammen,

    aktuell versuche ich meinen Wärmetauscher in Edomi einzubinden. Dieser bietet eine Modbus TCP Schnittstelle, welche ich lokal auf meiner Windows Maschine auch schon erfolgreich benutze.

    Dazu habe ich ein einfaches PHP Skript geschrieben, in welchem lediglich eine Socket-Connection etabliert wird, über welche dann die Modbus Requests und Responses laufen.

    Läuft wie gesagt lokal einwandfrei (bis auf ein paar Zicken die aber anderer Natur sind) und produziert z.B. folgenden Output:

    modbus_conn.JPG

    Dieses Vorgehen habe ich nun also in einen eigenen Deamon LBS in Edomi übertragen. Dort funktioniert das aber leider nicht so reibungslos.

    Das Verhalten ist so, dass mit jeder neuen Registerabfrage (momentan alle 10 Sekunden) ein ziemlicher Salat bei den Ergebnissen rauskommt. Es scheint als wäre es glückssache, welche der 5 abgefragten Register einen passenden Response liefern.

    Mal stimmt ein Wert und die anderen sind einfach leer, ein anderes mal stimmen 4, aber 2 sind vertauscht usw.

    Ein Auszug aus meinem LBS log zeigt dann z.b. sowas:

    edomi_modbus_conn.JPG


    Ich habe dann mal mit Wireshark den Traffic mitgeschnitten und folgendes festgestellt:

    edomi_modbus_conn_wireshark.JPG

    Beim TCP Handshake fängts immer mit einem TCP Out of Order seitens Edomi an. Dann geht es die ganze Zeit hin und her mit TCP Dup ACK und TCP Retransmission. Und schließlich beim schließen der Socket Connection gibt es keinen vernünftigen Teardown sondern ein hartes Reset von Edomi:

    edomi_modbus_reset.JPG

    Das Schema ist mit jeder neuen Verbindung immer wieder das Selbe.


    Hat jemand eine Idee was da passiert oder hatte das Problem vill. auch schonmal? Kann es sein, dass Centos 6 da ein Problem mit Sockets hat?

    Ich bin im Momentan mit meinem Latein leider erstmal am Ende ...


    Danke schonmal und Grüße,

    Christian
Lädt...
X