Hallo, gibt es eine Beschreibungssprache, um die Register eines Modbus Gerätes zu beschreiben? Mit einer maschinenlesbaren Datei könnte man die SW generieren und gleichzeitig die Dokumentation erstellen Beispielhaft gibt es bei LIN die LDF Dateien. Kennt jemand was ähnliches für die Modbus Register? Oder wie wird das Problem sonst gelöst?
Beitrag #6285302 wurde von einem Moderator gelöscht.
Blume schrieb: > Mit einer maschinenlesbaren Datei Ein XML? Damit lässt sich da Objektbezogen Beschreiben, an welcher Adresse jetzt welches Coil/usw. liegt. Dazu kann man noch Trivialnamen und Langtextbeschreibungen der Coils usw. vergeben. Außerdem kann man Hierarchie in XML abbilden. Ein Modbus-Netz besteht aus mehreren Knoten und einem gemeinsamen Beschreibungsteil (RTU oder ASCII oder Mixed, welche Baudrate, welches Medium, ...) Frage mich auch warum es das nicht gibt. Verkaufe die Idee doch an Vector Informatik und werde reich!
Landwirt schrieb: > Blume schrieb: >> Mit einer maschinenlesbaren Datei > Ein XML? > > Damit lässt sich da Objektbezogen Beschreiben, an welcher Adresse jetzt > welches Coil/usw. liegt. Dazu kann man noch Trivialnamen und > Langtextbeschreibungen der Coils usw. vergeben. > > Außerdem kann man Hierarchie in XML abbilden. Ein Modbus-Netz besteht > aus mehreren Knoten und einem gemeinsamen Beschreibungsteil (RTU oder > ASCII oder Mixed, welche Baudrate, welches Medium, ...) > > Frage mich auch warum es das nicht gibt. Verkaufe die Idee doch an > Vector Informatik und werde reich! Das geht mi JSON oder YAML auch.
Meine Eigenbau Modbusgeräte habe ich mit YAML beschrieben. Damit kann ich die direkt in meine Pytyonscripte reinladen.
Mw E. schrieb: > Meine Eigenbau Modbusgeräte habe ich mit YAML beschrieben. > Damit kann ich die direkt in meine Pytyonscripte reinladen. Hört sich gut an!!! hast du mal ein Beispiel? Du hast dir den YAML Aufbau selbst ausgedacht oder eine Vorlage benutzt? ??? mfg Blume
YAML hat ja schonmal einen vorgeschriebenen Aufbau. Momentan sind die YAML sehr daran orientiert was meine Scripte so wollen. Nämlich zB Register für Spannung/Strom setzen/lesen. Hier ein Ausschnitt für ein DPS5005 (China Netzteil mit Modbus):
1 | reg_set_current: |
2 | unitprefix: milli |
3 | unitcoding: uint16 |
4 | unitlsb: 1 |
5 | registerlo: 40002 |
6 | registerhi: |
7 | |
8 | reg_set_voltage: |
9 | unitprefix: milli |
10 | unitcoding: uint16 |
11 | unitlsb: 10 |
12 | registerlo: 40001 |
13 | registerhi: |
unitprefix -> es werden hier millies gelesen, also zB milli Ampere unitcoding -> 16Bit/32Bit/float/double etc unitlsb -> ob 1 LSB so 1mA oder 10mV sind registerlo -> Adresse des lo Registers oder des einzigen bei 16Bit registerhi -> Adresse des Registers für die oberen 16Bit für 32Bit Werte Hier von meiner Eigenbau E-Last:
1 | reg_set_current: |
2 | unitprefix: milli |
3 | unitcoding: uint32 |
4 | unitlsb: 1 |
5 | registerlo: 40001 |
6 | registerhi: 40002 |
Das ließe sich natürlich noch viel allgemeiner aufziehen.
Blume schrieb: > Hallo, > > gibt es eine Beschreibungssprache, um die Register eines Modbus Gerätes > zu beschreiben? > Mit einer maschinenlesbaren Datei könnte man die SW generieren und > gleichzeitig die Dokumentation erstellen > > Beispielhaft gibt es bei LIN die LDF Dateien. > > Kennt jemand was ähnliches für die Modbus Register? > Oder wie wird das Problem sonst gelöst? Gibt's, in `netpp` findest du einiges (unterstuetzt grundsaetzlich alle register-basierten Protokolle). Register/Bits und allenfalls abstrakte Eigenschaften (falls das Geraet noch ueber TCP/UDP ansteuerbar sein soll) designst du im Prinzip per XML-Editor und backst das .exe mit 'make'. Doku wird im XML docbook-Format erzeugt. Source-Repo: https://gitlab.com/hackfin/netpp P.S. Du kannst dir natuerlich auch den schwergewichtigen EDDL-Ansatz reinziehen..
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.