Page 1 of 2

Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 17 Sep 2020, 15:08
by agrotop
Hallo zusammen.
Für ein aktuelles Projekt möchte ich zwei RevPicore 3+ über ModBus RTU miteinander kommunizieren lassen.

Test 1:
- 2 Stück RS485 USB Adapter beschafft
- Einer ist mit Laptop, der andere mit RevPi Core 3+ verbunden
- RevPiCore 3+ als Slave konfiguriert
- Auf Laptop Seite den QModMaster als Master
--> Weder senden noch empfangen klappt

Test 2:
- analog zu Test 1, jedoch mit RevPi Connect an Stelle des Core 3+
--> Senden und empfangen klappt einwandfrei.

Hat hierzu jemand eine Idee, woran das liegen kann?

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 17 Sep 2020, 15:23
by dirk
Hi agrotop, danke für die gute Fehlerbeschreibung. Bitte in PiCtory, ob der "device_path" korrekt gesetzt ist. Z.B. "/dev/ttyUSB0".

Code: Select all

lsusb
Prüfe, ob die Leitungen am USB-RS485 Wandler eventuell vertauscht sind.
Wenn nichts hilft, dann im Modbus Tutorial nochmals schritt-für-schritt schauen, wo eine Abweichung sein könnte.
Z.B. Parameter serielle Schnittstelle, Slave ID, etc.

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 18 Sep 2020, 11:04
by agrotop
Hallo Dirk,

vielen Dank für die schnelle Antwort.

Ich habe mit beiden Geräten (Connect und Core3+) nochmal alles gemäß Tutorial eingestellt.
Es ist immer noch so, dass die Kommunikation (Senden und Empfangen) mit dem Connect funktioniert, mit dem Core3+ leider nicht.
ModBusTest_Connect.PNG
ModBusTest_Connect.PNG (116.19 KiB) Viewed 4144 times
ModBusTest_Connect.PNG
ModBusTest_Connect.PNG (116.19 KiB) Viewed 4144 times
Wenn als device_path der falsche angegeben ist, erhält man im QModMaster entsprechend eine Fehlermeldung. Dies ist nicht der Fall.
An der Verkabelung kann es nicht liegen, da diese in den beiden Tests die gleiche war (mit Connect bzw. mit Core3+)

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 18 Sep 2020, 15:34
by dirk
Hi danke für die guten Screenshots. Bitte prüfe Deine PiCtory Konfiguration mit

Code: Select all

piTest -d
. In beiden Geräten wird in Offset 75 geschrieben.

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 21 Sep 2020, 15:36
by dirk
Hi agrotop, könnte es sein, dass Du das Image geklont hast?
Wenn ja dann musst Du auf dem geklonten System einmal folgendes ausführen - mit Deinen Werten - und neu starten:

Code: Select all

pi@RevPi40302:~ $ sudo revpi-factory-reset
Usage: revpi-factory-reset <compact|connect|core> <serial> <mac addr>
(see front plate)

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 23 Sep 2020, 13:48
by Amar
Hi,
When you use Core3 or Connect as Modbus RTU slave ,check the slave address in piCtory.Default slave ID is 1 when you add it in piCtory.As per your screenshot, Qmodbus Master is trying to connect with slave ID 0.
Here is a sample working connection.(Same for Core also)
2020-09-23 13_45_27-Window.png
2020-09-23 13_45_27-Window.png (40.2 KiB) Viewed 3939 times

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 24 Sep 2020, 08:22
by agrotop
dirk wrote: 18 Sep 2020, 15:34 Hi danke für die guten Screenshots. Bitte prüfe Deine PiCtory Konfiguration mit

Code: Select all

piTest -d
. In beiden Geräten wird in Offset 75 geschrieben.
Hallo.

Ist das Schreiben in Offset 75 nicht üblich für alle Geräte?
Welchen Offset sollte ich erwarten?

Mfg

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 24 Sep 2020, 08:53
by agrotop
Amar wrote: 23 Sep 2020, 13:48 Hi,
When you use Core3 or Connect as Modbus RTU slave ,check the slave address in piCtory.Default slave ID is 1 when you add it in piCtory.As per your screenshot, Qmodbus Master is trying to connect with slave ID 0.
Here is a sample working connection.(Same for Core also)

2020-09-23 13_45_27-Window.png
Hi,

thank you for the answer.
I have already tried different "Slave Addr" in QModMaster with always the default "modbus_address" of 1 in PiCtory.
The result:
  • with "Slave Addr" 0 in QModMaster --> see Core3+#modbus_address_1#QMod_0
  • with "Slave Addr" 1 in QModMaster --> see Core3+#modbus_address_1#QMod_1
  • with "Slave Addr" 2 in QModMaster --> see Core3+#modbus_address_1#QMod_2

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 24 Sep 2020, 09:10
by agrotop
dirk wrote: 21 Sep 2020, 15:36 Hi agrotop, könnte es sein, dass Du das Image geklont hast?
Wenn ja dann musst Du auf dem geklonten System einmal folgendes ausführen - mit Deinen Werten - und neu starten:

Code: Select all

pi@RevPi40302:~ $ sudo revpi-factory-reset
Usage: revpi-factory-reset <compact|connect|core> <serial> <mac addr>
(see front plate)
Hallo,

nein, da wurde nichts geklont. Die sind alle frisch aus der Verpackung.

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Posted: 24 Sep 2020, 13:13
by agrotop
Hallo nochmals.

Soeben habe ich den RevPiCore3+ per Image, das ich gleich Anfangs erstellt hatte, "zurückgesetzt".
Jetzt funktioniert das Senden / Empfangen vom Laptop (ModBus Master) mit dem RevPiCore3+ genau so wie dem RevPi Connect.
So weit so gut.

Nächster Schritt ist nun:
a) RevPiCore 3+ soll ModBus Master werden; RevPi Connect soll ModBus Slave bleiben
--> Test über Terminal
b) Test der ModBus Master - Slave Kommunikation mit Python

Was ist hier zu beachten, bzw. wie kann vorgegangen werden?