<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to modbus und arduino</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/4c1c6c2d60/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/4c1c6c2d60/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/4c1c6c2d60/</id><updated>2020-02-28T02:13:26.415000Z</updated><subtitle>Recent posts to modbus und arduino</subtitle><entry><title>modbus und arduino</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/4c1c6c2d60/?limit=25#b472" rel="alternate"/><published>2020-02-28T02:13:26.415000Z</published><updated>2020-02-28T02:13:26.415000Z</updated><author><name>eschwellinger</name><uri>https://forge.codesys.com/u/eschwellinger/</uri></author><id>https://forge.codesys.com02d4f527767dd0214948a87bceaac9ced90b4114</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;es ist so das Modbus ja den normalen TCP/IP Stack des Linux OS auf dem Pi verwendet,&lt;br/&gt;
da.h immer wenn andere Programme auch noch über diesen TCP/IP was verschicken wirkt sich das natürlich auf&lt;br/&gt;
das Timing des Modbus aus. (CODESYS Kommunikation usw...)&lt;br/&gt;
Wenn du wirklich zuverlässige deterministisches Verhalten brauchst ist vermutlich Modbus die falsche Wahl. &lt;br/&gt;
Bei Ethercat ist das ja Beispielsweise anders, hier werden am TCP/IPStack vorbei, Frames direkt auf die Netzwerkarte gelegt.... = schnell und auch deterministisch!&lt;/p&gt;
&lt;p&gt;Keine Ahnung wie schnell du sein musst/willst, aber wie gesagt einen 100% zuverlässige Lösung kann das mit Modbus nicht werden.&lt;/p&gt;
&lt;p&gt;Grüße&lt;br/&gt;
Edwin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>modbus und arduino</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/4c1c6c2d60/?limit=25#ba31" rel="alternate"/><published>2020-02-28T02:13:21.014000Z</published><updated>2020-02-28T02:13:21.014000Z</updated><author><name>mikegoesunder</name><uri>https://forge.codesys.com/u/mikegoesunder/</uri></author><id>https://forge.codesys.com1795fe61d2f6b1c0bb8f1ddf95df1dd0036e7ca7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo,&lt;/p&gt;
&lt;p&gt;ich habe folgende konstellation:&lt;/p&gt;
&lt;p&gt;ich habe den raspberry über modbus mit einem arduino verbunden.&lt;br/&gt;
Ich lese 100 HoldingRegister in unter 10 ms aus. Das funktioniert sensationell. stabil und zuverlässig.&lt;br/&gt;
jetzt möchte ich jedoch auch werte schreiben. Hierzu habe ich die Funktion WriteMultipleRegisters (Funktionscode 16) gewählt.&lt;/p&gt;
&lt;p&gt;Prinzipiell funktioniert es auch. wie gesagt, prinzipiell.&lt;/p&gt;
&lt;p&gt;meine zykluszeit beim Schreiben von 100 werten geht auf zwischen 60 und 250 millisekunden hoch.&lt;br/&gt;
ich habe die implementierung des Arduinos mit einem C# modbus client getestet, wobei hier die zykluszeit für einen &lt;br/&gt;
lese und einen schreibvorgang mit unter einer millisekunde gleich liegt.&lt;br/&gt;
Weiterhin habe ich den Arduino gegen einen C# Modbusmaster getauscht. Hierbei liegt jedoch die zykluszeit wie oben &lt;br/&gt;
bei ca. 180 ms. Ich habe jetzt die Vermutung das die erhöhte Zykluszeit der Implementierung der Write Methoden des Modbus TCP&lt;br/&gt;
in Codesys geschuldet ist. Vielleicht liege ich auch falsch. Jedoch müsste nach meiner Meinung das Schreiben von Werten &lt;br/&gt;
in etwa genauso schnell gehen wie das lesen.&lt;/p&gt;
&lt;p&gt;Ich bitte dringend um Hilfe.&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>