Aus Raspberry Pi Geek 06/2022

Modbus/RTU-Komponenten per IO-Broker einbinden (Seite 2)

Listing 1

Beispiele zu Modpoll

### Ausgang DO0 setzen (mit Schnittstellenparametern)
$ ./modpoll -mrtu -a2 -t0 -r1 -b19200 -d8 -peven /dev/ttyUSB0 1
### Ausgang DO0 löschen (mit Schnittstellenparametern)
$ ./modpoll -mrtu -a2 -t0 -r1 -b19200 -d8 -peven /dev/ttyUSB0 0
### Eingang DI0 abfragen (ohne Schnittstellenparameter)
$ ./modpoll -mrtu -a2 -t1 -r1 /dev/ttyUSB0
### Eingang DI1 abfragen (mit Schnittstellenparametern)
$ ./modpoll -mrtu -a2 -t1 -r2 -b19200 -d8 -peven /dev/ttyUSB0
### Analog-Eingang AI0 abfragen (ohne Schnittstellenparameter)
$ ./modpoll -mrtu -a3 -t3 -r1 /dev/ttyUSB0
### Analog-Eingang AI1 abfragen (ohne Schnittstellenparameter)
$ ./modpoll -mrtu -a3 -t3 -r2 /dev/ttyUSB0
### Analog-Ausgang AO0 auf 0 Volt setzen (ohne Schnittstellenparameter)
$ ./modpoll -mrtu -a3 -t4 -r1 /dev/ttyUSB0 0
### Analog-Ausgang AO0 auf 5 Volt setzen (ohne Schnittstellenparameter)
$ ./modpoll -mrtu -a3 -t4 -r1 /dev/ttyUSB0 2048
### Analog-Ausgang AO0 auf 10 Volt setzen (ohne Schnittstellenparameter)
$ ./modpoll -mrtu -a3 -t4 -r1 /dev/ttyUSB0 4096

Adapter installieren

Um den Modbus-Adapter in IO-Broker zu installieren, öffnen Sie den Bereich Adapter und suchen im Abschnitt Protokolle nach dem Eintrag ModBus (Abbildung 2). Mit einem Klick auf das Pluszeichen rechts installieren Sie den Adapter und legen eine neue Instanz an. Falls Sie den Adapter bereits im letzten Teil dieser Reihe verwendet haben, wird nur eine zusätzliche Instanz erstellt. Eine Instanz unterstützt immer nur einen Protokolltyp. Für die folgenden Schritte brauchen Sie daher eine neue Instanz. Ein Recycling einer schon bestehenden Instanz ist hier nicht ratsam.

Abbildung 2: Den Modbus-Adapter installieren Sie in IO-Broker unter <span class="ui-element">Adapter</span>&nbsp;| <span class="ui-element">Protokolle</span>.

Abbildung 2: Den Modbus-Adapter installieren Sie in IO-Broker unter Adapter | Protokolle.

Nach der Installation des Adapters geht es an die Konfiguration. Im ersten Schritt stellen Sie in IO-Broker die allgemeinen Werte der Schnittstelle ein (Abbildung 3). Sie nutzen dazu die Werte, die Sie bereits beim Einrichten der PiXtend-Module verwendet haben. Als Geräte-ID für den IO-Broker (Busmaster) setzen Sie die 1. Beim Port müssen Sie darauf achten, den zu Ihrem Testaufbau passenden zu verwenden. Den Haken bei Mehrere Geräte-IDs müssen Sie zwingend aktivieren, da die PiXtend-Geräte interne Register mit eigenen Adressen haben.

Abbildung 3: Definition der Anschl&uuml;sse, die man im IO-Broker verwenden m&ouml;chte.

Abbildung 3: Definition der Anschlüsse, die man im IO-Broker verwenden möchte.

Im Reiter DISKRETE AUSGÄNGE definieren Sie noch, welche Ausgänge Sie in den IO-Broker einbinden möchten (Abbildung 4). Prinzipiell sollte das auch für die Eingänge und die Eingangsregister funktionieren, doch im Test ließen sich die einzelnen diskreten Inputs auf diese Art nicht einbinden. Hier hat sich wohl ein Bug in den Modbus-Adapter von IO-Broker eingeschlichen.

Abbildung 4: Definition der digitalen Ausg&auml;nge in den Instanzeinstellungen.

Abbildung 4: Definition der digitalen Ausgänge in den Instanzeinstellungen.

Im nächsten Abschnitt verwenden wir das Tool Modpoll, um auf die Geräte zuzugreifen. Das klappte im Test ohne Probleme. Als Überbrückungslösung kann man einfach das Register für die Inputs einlesen und die einzelnen Bits selbst ausmaskieren. Wenn alles funktioniert, erscheinen die Objekte der Modbus-Geräte im Objektbaum (Abbildung 5).

Abbildung 5: Die in der Instanz definierten Objekte erscheinen im Objektbaum.

Abbildung 5: Die in der Instanz definierten Objekte erscheinen im Objektbaum.

Fazit

Modbus/RTU lässt sich in IO-Broker genauso leicht einbinden wie Modbus/TCP. Viele Geräte im modernen Haushalt, wie zum Beispiel Solarwechselrichter oder Wallboxen, lassen sich über Modbus/RTU auslesen. So ist es leicht möglich, die Daten dieser Gräte weiterzuverarbeiten.

Falls Sie ein Gerät erst einmal testen möchten, empfiehlt es sich, einen USB-zu-RS485-Adapter zu verwenden und diesen direkt mit dem PC oder Raspberry Pi zu verbinden. Das Tool Modpoll ist für solche Tests bestens geeignet. Neben den hier gezeigten Wegen für den Zugriff auf den Modbus gibt es auch für alle gängigen Programmiersprachen Bibliotheken, mit denen Sie sich auf den Modbus verbinden können. (cla)

Der Autor

Martin Mohr hat die komplette Entwicklung der modernen Computertechnik live miterlebt. Nach dem Studium entwickelte er überwiegend Java-Applikationen. Mit dem Raspberry Pi erwachte seine alte Liebe zur Elektronik wieder.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben