<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Modbus Slave-Device stürzt nach kurzer Zeit ab</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/76e02189d9/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/76e02189d9/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/76e02189d9/</id><updated>2020-02-28T04:05:44.676000Z</updated><subtitle>Recent posts to Modbus Slave-Device stürzt nach kurzer Zeit ab</subtitle><entry><title>Modbus Slave-Device stürzt nach kurzer Zeit ab</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/76e02189d9/?limit=25#dc57" rel="alternate"/><published>2020-02-28T04:05:44.676000Z</published><updated>2020-02-28T04:05:44.676000Z</updated><author><name>grauerwolf</name><uri>https://forge.codesys.com/u/grauerwolf/</uri></author><id>https://forge.codesys.com3844013d461f578e5ea9c261002cb60d40ddc4f5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;ich habe hier ja schon über die Nutzung von MODBUS mit 3 Raspberries berichtet. Das funktioniert auch - nur eben nicht lange.&lt;/p&gt;
&lt;p&gt;Ich nehme an, irgendein Timeout ist zu kurz. Frage ist, welcher (Response-Timeout steht auf 3000ms, Socket Timeout auf 30ms) &lt;/p&gt;
&lt;p&gt;Nach Forcen der Reset-Flags eines Slaves liefen die Verbindungen wieder an, bleiben aber irgendwie hängen, da das Slave-Device noch Fehler brachte.&lt;/p&gt;
&lt;p&gt;Nachdem das Ganze auch nach einem Programmdownload passiert ist, habe ich mit Forcen des Reset-Flags das Ganze wieder zum Laufen gebracht. Aber wie macht man das vom Programm aus.  Mir als Codesys-Amateur gelingt nicht der Zugriff auf das Flag.&lt;/p&gt;
&lt;p&gt;Wie muss der Aufruf lauten ??&lt;/p&gt;
&lt;p&gt;```&lt;/p&gt;
&lt;p&gt;ModbusTCP_Rasp3_Slave_Device.m_ModbusServer.xReset:=TRUE; &lt;/p&gt;
&lt;p&gt;```  bringt "unnützen Code" zurück.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;edit:&lt;/strong&gt;&lt;br/&gt;
Das Setzen der Flags habe ich hinbekommen (Stichwort Pointer). Am Ende sehe ich aber vordergründig das Thema "Timeout" als Grund für die Ausfälle des Modbus.&lt;br/&gt;
Zur Zeit fahre ich mit  Socket-Timeout = 100ms , nachdem ich immer wieder "SOCKET_ERROR" als Status (ComState) zurückbekommen habe. Nun würde mich das nicht so wundern, wenn ich in den Slaves zu Wago-Steuerungen vorher nie so hohe Werte vorgeben musste - und die Verbindungen liefen (auch jetzt noch mit 20ms - eher vorsichtshalber). &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ich denke die "Slave-Devices" haben noch eine kritische Stelle - die natürlich nur 3S ausmerzen kann. Denn so ein Timeout wird immer mal eintreten - aber dann muss das Slave-Device sich selbständig wieder "aufrappeln". Es kann ja nicht sein, das ich "resets" durch fragwürdige Aktionen in einer Library nutzen muss, um das Slave-Device wieder zu starten.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Grüße&lt;br/&gt;
Thomas&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: ModbusTCP_4.jpg" rel="nofollow" src="https://forum-de.codesys.com//download/file.php?id=1838"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG: ModbusTCP_5.jpg" rel="nofollow" src="https://forum-de.codesys.com//download/file.php?id=1839"/&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>