Modbus RTU mit RevPiCore 3+ / RevPiConnect

Topics about the Software of Revolution Pi
agrotop
Posts: 6
Joined: 17 Sep 2020, 14:53
Answers: 0

Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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?
User avatar
dirk
KUNBUS
Posts: 1924
Joined: 15 Dec 2016, 13:19
Answers: 4

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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.
agrotop
Posts: 6
Joined: 17 Sep 2020, 14:53
Answers: 0

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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 4065 times
ModBusTest_Connect.PNG
ModBusTest_Connect.PNG (116.19 KiB) Viewed 4065 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+)
Attachments
ModBusTest_RevPiCore3+.PNG
ModBusTest_RevPiCore3+.PNG (107.85 KiB) Viewed 4065 times
User avatar
dirk
KUNBUS
Posts: 1924
Joined: 15 Dec 2016, 13:19
Answers: 4

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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.
User avatar
dirk
KUNBUS
Posts: 1924
Joined: 15 Dec 2016, 13:19
Answers: 4

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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)
Amar
KUNBUS
Posts: 157
Joined: 15 Jul 2019, 12:58
Answers: 4

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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 3860 times
KUNBUS
agrotop
Posts: 6
Joined: 17 Sep 2020, 14:53
Answers: 0

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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
agrotop
Posts: 6
Joined: 17 Sep 2020, 14:53
Answers: 0

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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
Attachments
Core3+#modbus_address_1#QMod_2.PNG
Core3+#modbus_address_1#QMod_2.PNG (25 KiB) Viewed 3824 times
Core3+#modbus_address_1#QMod_1.PNG
Core3+#modbus_address_1#QMod_1.PNG (91.13 KiB) Viewed 3824 times
Core3+#modbus_address_1#QMod_0.PNG
Core3+#modbus_address_1#QMod_0.PNG (85 KiB) Viewed 3824 times
agrotop
Posts: 6
Joined: 17 Sep 2020, 14:53
Answers: 0

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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.
agrotop
Posts: 6
Joined: 17 Sep 2020, 14:53
Answers: 0

Re: Modbus RTU mit RevPiCore 3+ / RevPiConnect

Post 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?
Post Reply