Modbus Register32

Für Themen rund um die Konfigurationsoftware des Revolution Pi
Post Reply
Adi_MST
Posts: 1
Joined: 16 Jun 2020, 08:11
Answers: 0

Modbus Register32

Post by Adi_MST »

Guten Morgen

Ich brauche Hilfe beim auslesen/schreiben eines Modbus Ventils. Ich weiss nicht ob es im Moment Software mässig überhaupt möglich ist.

Ich muss insgesamt:
Auslesen:
17 einzel Register à 16 Bit
12 doppel Register =Register 32Bit
macht Gesamthaft 41 Register

Schreiben:
10 einzelne Register 16Bit
3 doppel Register 32Bit

Meine Fragen:
1. Ist es möglich auf ein doubleword zu schreiben?

2. Ich verstehe nicht wie man Read_Holding_Registers mit einer Quantity of Registers 2 auf ein Input_word schriben kann? Ist da nicht zu klein?

3. Ist es überhaupt möglich die 41 Register mit dem virtuellen Modbus TCP Master einzulesen da nur 32 Inputs zur Verfügung stehen?

4. Gibt es eine einfacheren Weg die Konfiguration einzulesen ev. mit einem CSV? und nicht alles mit der Weboberfäche zu bedienen?

5. Ich spreche hier von einem einzelnen Ventil mit so vielen Registern, wie sieht die konfiguration aus wenn ich zum Beispiel 50 Ventile habe? (Diese Ventile sind bei uns schon in Gebrauch auch über Modbus angeschteuert. Das RevolutionPI ist ein Pilot Projekt)

Hoffe habe das einigermassen verständlich erklärt

Vielen Dank für die schnelle Antwort

Grüsse

Adrian
Frank
Posts: 65
Joined: 09 Jan 2017, 10:46
Answers: 0

Re: Modbus Register32

Post by Frank »

Hallo Adrian,

ich kann Dir erst mal nur die Frage bzgl. des CSV-Formats beantworten: das Datenformat für die von -PiCtory- erzeugten Konfigurationsdateien ist JSON. Die Standard-Projektdatei in diesem Format ist immer die /var/www/pictory/projects/_config.rsc auf Deinem RevPi-Gerät.
Diese Datei kannst Du Dir in einem Online-Formatierer wie https://jsonlint.com/ lesbar anzeigen lassen, und IM PRINZIP natürlich auch von Hand editieren um den Umweg über die -PiCtory- Web-Oberfläche zu sparen - obwohl wir das nicht empfehlen! Das 'Problem' ist, dass -PiCtory- sehr viele Prüfungen und Berechnungen durchführt, die verhindern, dass man sich eine Konfiguration 'zusammenbauen' kann, die nachher dann gar nicht funktioniert, oder seltsame Ergebnisse liefert (wenn sich zum Beispiel Speicherbereiche gegenseitig überschreiben, weil sie mehrfach benutzt wurden). Wenn Du also manuell die _config.rsc Datei anpassen möchtest, dann ist das zwar durchaus möglich - birgt aber einige Risiken und wir können für Konfigurationsdateien, die von Hand geändert wurden dann auch leider keinen Support leisten.

viele Gruße
Frank
Amar
KUNBUS
Posts: 157
Joined: 15 Jul 2019, 12:58
Answers: 4

Re: Modbus Register32

Post by Amar »

Hallo Adrian,
Antwort für deine erste 3 Fragen:
1. doubleword wird mit Input_Word_1 und Input_Word_2 und Write Multiple registers realisiert.

2. Action in pictory extended data Konfigurieren
READ_HOLING_REGISTERS mit Quantity of Registers: 2
Dafür wird es Input_word_1 und Input_word_2 zugeweisen.
'n' Quantity of Registers reserviert 'n' Input words in prozessabbild von Input_word_1 offset.

https://revolution.kunbus.com/tutorials ... er-jessie/

3. Es ist für zukünftige release geplannt.Momentan gibt es dafür einen ähnlich Workaround.
https://revolution.kunbus.de/forum/view ... us+actions

Gruße
Amar
KUNBUS
simon_s
Posts: 1
Joined: 01 Oct 2021, 12:28
Answers: 0

Re: Modbus Register32

Post by simon_s »

Guten Morgen!

Was wäre aktuell die praktikabelste Lösung um den RevPi Connect als RTU Master zu betreiben und damit

# 6 Slaves
## 40 Register (zyklisch auslesen (<1s) – Input Register)
## 60 Register (unregelmäßig schreiben, alle paar Minuten – Holding Register)

# 1 Slave
## 64 Register (zyklisch schreiben (<1s) – Holding Register)
## 112 Register (zyklisch auslesen (<1s) – Input Register)

anzusprechen?
Parallel zur Kommunikation wird noch eine Steuerungslogik implementiert die idealerweise in Python programmiert werden kann. (RevPiModIO2)

Da es sich bei der obigen Variante um einen Prototypen handelt, der noch um weitere Slaves erweitert werden könnte, wäre es angenehm, die Konfiguration (PiCtory) nicht grafisch durchführen zu müssen. Wenn ich es richtig verstanden habe, kann die RAP-Datei auch manuell erstellt werden und das Prozessabbild kann mit der Python-Library gelesen/geschrieben werden.
Gibt es bezüglich der Größe des Prozessabbilds Limitierungen? (1)
Gibt es noch andere geeignetere Wege? (2)

Findet man in den Anleitungen alle notwendigen Informationen oder gibt es noch weitere Tutorials die hilfreich sein könnten? (3)
https://revolutionpi.de/tutorials/was-i ... erstellen/
https://revolutionpi.de/tutorials/was-i ... evpitimer/

Vielen Dank vorab.

Schöne Grüße, Simon
Post Reply