network.lib > BECKHOFF

MB_SERVER mit OpenHAB

<< < (2/3) > >>

mattsches:
Ohne beurteilen zu können, ob der IP_CONTROL den Port nicht sauber schließt (was grundsätzlich ja nicht ausgeschlossen ist) möchte ich dir bzgl. des Verbindungsmanagements widersprechen. Es ist keinesfalls so, dass mit jedem Lese- oder Schreibzugriff eine Verbindung auf- und danach gleich wieder abgebaut werden soll. Die von dir verlinkte Seite sagt das so auch nicht. Und wenn man in den (tatsächlich offiziellen) Implementierungsguide schaut, dann liest man genau das Gegenteil:


--- Zitat ---Implementation Rules:
 1)   Without explicit user requirement, it is recommended to implement the automatic TCP connection management
 2)   It is recommended to keep the TCP connection opened with a remote device and not to open and close  it for each MODBUS/TCP transaction. Remark:  However  the  MODBUS  client  must  be  capable  of  accepting  a  close  request  from  the  server  and  closing  the  connection.  The  connection  can  be  reopened  when  required.

--- Ende Zitat ---

Quelle: http://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf

Insofern ist die Implementierung in OpenHAB zumindest fragwürdig.

Das Verhalten des IP_CONTROL scheint mir allerdings ebenfalls untersuchenswert. Den Socket zu schließen, sollte keine 10 Sekunden dauern; das sieht auch mir nach einem Timeout aus.

peewit:
ich sagte ja auch das die verbindung klassisch aufrecht erhalten werden sollte

aber in deiner eigenen wireshark aufzeichnung kann man ja klar sehen das openhub nach der abfrage die verbindung gezielt abbaut !

beispiel:
in der grafik in zeile 89 sieht man das openhub die empfangenen daten bestätigt [ACK] und gleichtzeitig ein [FIN] mitsendet
was bedeutet das verbindung abgebaut werden soll !

mattsches:
peewit,

die der vorherige Eintrag (von dem ich annehme, dass du dich auf ihn beziehst) kam von mir, nicht vom TO.

Gruß,
m.

peewit:
deine SPS ist ein MB_SERVER
Dann muss das andere Gerät der Client sein und das ist auch jener der mal die verbindung aufbauen muss

die verbindung wird von ip 192.168.0.5 aufgebaut !
das ist jener der daten abfragt und von 192.168.0.2 erhält
aber in zeile 89 ist es auch 192.168.0.5 der ein [FIN] aufgibt und die verbidung beenden möchte !

warum baut openhub die verbindung ständig auf und ab !


dokumentiert doch mal welcher gerät welche ip ansonsten diskutieren wir noch lange im kreis !

mattsches:
Seb beteiligt sich ja schon gar nicht mehr an der Diskussion. Und dass der OpenHAB Modbus Client die Verbindung für jede Abfrage auf- und wieder abbaut, ist völlig unstrittig, Seb hatte das ja explizit bestätigt. Ich hatte dann lediglich klargestellt, dass das - entgegen Sebs These - kein regelkonformes Verhalten ist. Also gibt es aus meiner Sicht keine Unklarheiten.

Offen ist allerdings, ob der IP_CONTROL nach einem FIN evtl. den Port tatsächlich nicht sofort schließt, sondern das dann über einen Timeout geschieht.

Aber wie gesagt, Seb scheint hier raus zu sein, ich sehe ehrlich gesagt keine Notwendigkeit für weitere Nachforschungen. Wenn man nicht aus Liebhaberei nach obigem Punkt schauen möchte. Ich empfinde die gerade nicht. ;-)

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln