Seite 1 von 1

MODBUS PROFIL: Wandladestation OpenWB

Verfasst: Mo Okt 19, 2020 6:48 am
von tger977
Es wurde hier nun auch eine Modbus TCP Schnittstelle für die OpenWB Wallbox angekündigt:

[url]https://openwb.de/forum/viewtopic.php?f=3&t=1781/[url]

Wäre super wenn diese auch mit dem TWS interagieren würde!

Re: Einbindung OpenWB

Verfasst: Mo Okt 19, 2020 7:24 am
von Sun1453
Hallo Andi,

das ist zwar gut, aber bitte mal den Entwickler, das er die Schnittstellenbeschreibung mal überarbeitet. Hier fehlen leider einige Informationen.

Hier die Auflistung von Stefan, was in dieser definiert sein soll.

- Register-Adressen
- Byte Order
- Codierung
- Umrechnungen
- Zulässige Wertebereiche
- Speicherung Setup-Parameter
- Diagnostic Functions
- Device Identification

@tger977

Re: Einbindung OpenWB

Verfasst: Mo Okt 19, 2020 8:06 pm
von tger977
da ich da leider keine Ahnung von habe und ich auch keine Rückfragen beantworten könnte werde ich da erstmal keine Fragen im anderen Forum stellen.

Register ist beschrieben, Umrechnung/Codierung/Wertebereich m.E. auch falls nicht 1:1 der Wert zu nehmen ist, der Rest sagt mir nichts und weiß ich auch nicht wozu das nötig ist.

Was braucht man wirklich zwingend zusätzlich von dieser Liste und warum?

Re: Einbindung OpenWB

Verfasst: Mo Okt 19, 2020 8:52 pm
von gbglace
Naja wenn man einen vollständigen bidirektionalen Adapter bauen möchte, dann sind die Angaben schon notwendig. Wenn man nur ein zwei Werte lesen möchte dann, kann man auch einfach mal auf dem Bus horchen mit einer dünnen Dokumentation empfangene Werte abgleichen und eine einfache Übersetzung draus machen. Das ist aber halt was anderes wie:
tger977 hat geschrieben: Mo Okt 19, 2020 6:48 am Wäre super wenn diese auch mit dem TWS interagieren würde!
Die ersten 5 Angaben der Liste sind natürlich essentiell wenn man auch was senden möchte, die weiteren Angaben nicht unbedingt nur nice to have.

Re: Einbindung OpenWB

Verfasst: Mo Okt 19, 2020 9:53 pm
von StefanW
Hallo Andi,
tger977 hat geschrieben: Mo Okt 19, 2020 8:06 pmWas braucht man wirklich zwingend zusätzlich von dieser Liste und warum?
Am 23 September 1999 ging die Doppelsonde "Mars Climate Orbiter" durch Absturz auf dem Mars verloren, weil die Sonde zum Bremsen zu tief in die Mars Atmosphäre gesteuert wurde (57 km anstatt 150km). Der Grund war, dass zwei Wissenschaftlerteams zwar Zahlen austauschten, aber nicht die Einheiten und beide Teams mit unterschiedlichen Einheiten rechneten.

Damit sind wir beim warum. Praktisch alle IT-Systeme tauschen Daten als Zahlen oder Text aus. Beides können in jeweils Dutzenden verschiedenen Formaten binär codiert sein. Und bei Zahlen kommt die physikalische Einheit noch oben drauf.

Wenn man will, dass ich zwei System verstehen, dass muss man sich auch um die Kompatibilität kümmern.


Bei KNX ist alles geregelt

Wer KNX System kennt (oder 1-Wire in der Ausprägung von ElabNET) muss sich darüber nur selten Gedanken machen. Denn der Hersteller des KNX Gerätes hat das nicht nur in umfangreichen Handbüchern beschrieben, sondern alle Details in der Applikation für die ETS festgelegt. Diese Applikation enthält alle Details zu den Objekten, den Datenpunkttypen, den Flags und alle die Details zu Timing und Protokoll sind im KNX Standard festgelegt. Das ist bei all den Details die man mit der ETS noch festlegen muss, äußerst komfortabel.


Bei 1-Wire wird das Gerät sogar automatisch erkannt

Bei 1-Wire (zumindest in der Ausprägung von ElabNET) handhaben wir das genauso. Alle unsere 1-Wire Geräte haben eine Applikation mit allen Eigenschaften, die im Timberwolf Server hinterlegt ist.

Einfach nur Anstecken und das Gerät wird vom Plug´n´Play automatisch erkannt. Dann nur noch die gewünschten Daten auswählen und verknüpfen. Womöglich das Intervall noch anpassen, aber um mehr muss man sich nicht kümmern.


Bei Modbus muss mal alles einstellen. Wirklich ALLES

Bei Modbus gibt es nix. Keine Erkennung, keinen Automatismus, keine fertige Applikation*


Folgendes ist anzugeben:
  1. Den richtigen Protokolltyp (mir fallen da 8 Varianten ein)
  2. Baudrate / Stoppbits / Parität (bei RTU)
  3. IP-Adresse & Port (bei TCP)
  4. Device-Adresse (bei RTU bzw. TCP-to-RTU-Gateways)
  5. Registeradresse (und ob diese Dezimal oder in HEX angegeben ist)
  6. Die Angabe zum Base der Registeradressen (sind die Angaben zu Base=0 oder Base=1?)
  7. Anzahl der Register für den jeweiligen Wert
  8. Nutzbare Functioncodes für das jeweilige Register
  9. Endiness (Byte- &_ Wort und ggfls. Dword-Reihenfolge)
  10. Bei Signed Integer, die Angabe ob diese im Einerkomplement oder im Zweierkomplement gebildet sind
  11. Bei BCD, 8 Bit Integer sowie Text, wieviele Stellen pro Register verwendet werden und welche Bits
  12. Bei Text, in welchem der 34 möglichen Formate
  13. Bei BCD, ob das Ergebnis als String oder als Zahl zu formatieren ist
  14. Bei Zahlen, welche Werte zulässig sind
  15. Bei Ganzzahlen, ob es ein Festkommaformat ist
  16. Grundsätzlich, welche Werte, Wertepaare eine Fehlermeldung darstellen
  17. Welche der Register dazu dienen, das Gerät selbst einzustellen (hinsichtlich Baud, Stoppbits, Parity, Deviceadresse)
  18. Die Angabe, welche Zeit zwischen zwei Abfragen zu warten ist (manche Geräte kommen sonst nicht hinterher)
  19. Die Angabe, wieviele Register in einem Schwung abgefragt werden dürfen)
  20. Die Angabe, ob Setup-Register im volatilen RAM sind oder im Flash
  21. Hilfreich können Angaben zu Diagnose und Device Identification sein
  22. Hilfreich sind auch Angaben dazu, wo der Firmwarestand via Modbus ausgelesen werden kann, evt. auch eine Seriennummer
Das sind die wesentlichsten Parameter, welche der Timberwolf Server verarbeiten kann. Die meisten davon MUSS man eingeben, der Server kann es ja nicht raten. Und deshalb muss das am Ende auch auf dem Datenblatt stehen, weil sonst muss der Nutzer raten. Man kann zwar auch aus schlechten Datenblättern mit viel kombinatorischem Geschick und viel Wissen über Modbus einen versuch starten und der Timberwolf Server wird auch das "durchprobieren" maximal unterstützen, aber bei oft dutzenden bis tausenden Registern mancher Modbus Geräte wünsche ich mir für unsere Kunden mehr Klarheit von den Herstellern.

-----------------------------------------------------
*Zunächst. Mit dem Timberwolf Server haben wir ein Austauschformat für Modbus Applikationen entwickelt und wir erhoffen uns, dass dies weiterverwendet wird und dazu führt, dass es fertig nutzbare Modbus Applikationen gibt.


da ich da leider keine Ahnung von habe und ich auch keine Rückfragen beantworten könnte werde ich da erstmal keine Fragen im anderen Forum stellen.[/quote]

Da ein paar essentielle Angaben fehlen, fürchte ich, dass der ersten Anwender hier ein wenig herumprobieren muss.


lg

Stefan

Re: Einbindung OpenWB

Verfasst: Mo Okt 19, 2020 10:15 pm
von tger977
ok, danke, das ist in der Tat eine Menge an Einstellmöglichkeiten...

Ich werde das gerne dann mal ausprobieren :D

bin mal gespannt was zuerst kommt: die Modbus Funktion im TW oder die OpenWB (da warte ich gerade noch auf die Förderung ab 24.11....) ;)

Re: Einbindung OpenWB

Verfasst: Mo Feb 22, 2021 1:32 pm
von tger977
so, hier nun auch das Modbusprofil für bis zu 2 Ladepunkte (LP3-8 kann dann per copy/paste selbst ergänzt werden bei Bedarf) mit einer OpenWB Series 2 Wallbox:
modbus-timberwolf-product-440-4.zip
Aktuell scheinen für LP2 die beiden Schreibbefehle noch nicht zu funktionieren, eine Anfrage beim Hersteller läuft...

Viel Spaß damit und bei Hinweisen/Bugs immer her damit.