Du kannst im ModBus Gateway unter Expertenoptionen->Blöcke abfragen einen Block definieren, der alle deine benötigten Register umfasst. Das geht aber glaube ich nur, wenn die Register nicht zu weit voneinander entfernt liegen, da die maximale Blockgröße nach ModBus-Protokoll beschränkt ist. Dann wird nur eine Abfrage gestellt, um den ganzen Block abzufragen. In der jeweiligen Instanz kannst du dann das Intervall auf 0 setzten.
Ok, dann bleibt mit als Idee nur noch, die Abfragen koordiniert in einem Skript oder Ablaufplan durchzuführen (mittel ModBus_ReadRequest) und da dann auf die minimalen Intervalle zu achten. In den Instanzen/Gateway dann alle Intervalle auf 0
Es geht darum das die Nachrichten zu einem Gerät nicht beliebig schnell hintereinander erfolgen dürfen. Es soll zwischen jeder Nachricht eine Pause eingehalten werden.
Die Hersteller schreiben leider nicht, was passiert wenn man die nicht einhält.
Nur weil es meistens geht, bedeutet das aber nicht, das es immer geht.
Solche Angaben gibt es, damit man die auch einhält.
Zwei Geräte auf einem Bus (was ich auch habe) spielt dabei keine Rolle. Beide Geräte ignorieren ja die Nachrichten an das andere Gerät.
Dann sollte der Hersteller sich an das übliche Protokoll von Modbus halten, dass sind 2,5 Zeichen Pause und nicht 850ms.
Das stimmt so pauschal nicht, weil der Bus immer nur von einem Teilnehmer zur Zeit belegt (Daten senden) werden kann. Also entweder dem Master (Symcon) oder den beiden Slaves (WR).
Auch wenn die Slaves dann nur lesen und bei der falschen Geräte ID nicht antworten, so muss auch hier mindestens die Pause von 2,5 Zeichen sein.
Ich habe auch Geräte welche leider sehr träge sind und nach dem senden von ihren Daten eine Pause brauchen. Darum ist damals das B+G E-Tech Modul für die Stromzähler entstanden. Da wird die Pause beim Abfragen eingefügt.
Michael
Stimmt schon, wenn aber der nichtbeteiligte Slave nicht antorten muss, so ergibt sich für den schon mal eine große Pause. Da der Master alle Anforderungen initiiert ist der für das grundsätzliche Timing zwischen den Anforderungen verantwortlich.
Das mit den 2,5 Zeichen ist schon richtig, was nützt es aber, wenn die Slaves das nicht machen bzw. nicht können.
Ich hab ja erst mit Modbus angefangen und beide Geräte haben vom Timing her Begrenzungen die ich mit den Standardkomponenten von IPS nicht einhalten kann.
Prinzipiell funktioniert ja auf den ersten Blick auch alles. Da ich mich aber schon lange mit Schnittstellensystemen beschäftige, fallen mir so Ungereimtheiten auf.
Ah 3,5 nicht 2,5 Zeichen .
Was du aber da markiert hast, ist das Timeout. Wie lange ein master auf eine Antwort warten soll.
Das ist bei Symcon imho 5 Sekunden. Dann kommt die Timeout Meldung. Turnaroud wäre die Zeit welche ein Gerät zum Antworten nicht überschreiten sollte. Das sind aber alles nicht WaitTime welche deine WR haben wollen.
Michael