NIBE S1255-ModbusRegister Wert plötzlich falsch
|
|
||
|
Klingt nach dem hier: https://www.energiesparhaus.at/forum-knv-s1155-s1255-modbus-tcp-erste-schritte/55936_29#768420 Schon geprüft? |
||
|
||
|
Mahlzeit, Jetzt schon danke! INT dazu hat schonmal geholfen, nur kommen da jetzt irgendwelche Werte um an 3stelligen faktor zu hoch raus, k.A. was es da wieder hat... LG |
||
|
||
|
Hast du auch den Swap auf Word gestellt? |
||
|
|
||
|
||
|
Hallo das ist mein Problem, diese ganzen Einstellungen kennt das Kommandozeilen utility modpoll nicht ich hab mir das damals (nach mühevoller Recherche) ausgesucht, weil ich das direkt auf der Kommandozeile verwenden kann und nicht wieder eine Abhängigkeit zu Python etc habe... dell@dell:~/Dokumente/NIBE$ modpoll -h modpoll 3.11 - FieldTalk(tm) Modbus(R) Master Simulator Copyright (c) 2002-2024 proconX Pty Ltd Visit https://www.modbusdriver.com for Modbus libraries and tools. Usage: modpoll [OPTIONS] SERIALPORT|HOST [WRITEVALUES...] Arguments: SERIALPORT Serial port when using Modbus ASCII or Modbus RTU protocol COM1, COM2 ... on Windows /dev/ttyS0, /dev/ttyS1 ... on Linux HOST Host name or dotted IP address when using MDBUS/TCP protocol WRITEVALUES List of values to be written. If none specified (default) modpoll reads data. General options: -m ascii Modbus ASCII protocol -m rtu Modbus RTU protocol (default if SERIALPORT contains a /) -m tcp MODBUS/TCP protocol (default otherwise) -m udp MODBUS UDP -m enc Encapsulated Modbus RTU over TCP -a # Slave address (1-247 for serial, 0-255 for TCP, 1 is default) -r # Start reference (1-65536, 1 is default) -c # Number of values to read (1-125, 1 is default), optional for writing (use -c 1 to force FC5 or FC6) -t 0 Discrete output (coil) data type (FC 1) -t 1 Discrete input data type (FC 2) -t 3 16-bit input register data type (FC 4) -t 3:hex 16-bit input register data type with hex display -t 3:int 32-bit integer data type in input register table -t 3:mod 32-bit module 10000 data type in input register table -t 3:float 32-bit float data type in input register table -t 4 16-bit output (holding) register data type (FC3, default) -t 4:hex 16-bit output (holding) register data type with hex display -t 4:int 32-bit integer data type in output (holding) register table -t 4:mod 32-bit module 10000 type in output (holding) register table -t 4:float 32-bit float data type in output (holding) register table -t id Read device identification objects (FC 43/14) -t file File record reference type 6 (FC 20/21) -n # File number for file record (default is 4) -i Slave operates on big-endian 32-bit integers -f Slave operates on big-endian 32-bit floats -e Use Daniel/Enron single register 32-bit mode (implies -i and -f) -x Use Lufkin ELAM extensions (RTU and RTU over TCP only) -0 First reference is 0 (PDU addressing) instead 1 -1 Poll only once only, otherwise every poll rate interval -l # Poll rate in ms, (1000 is default) -o # Time-out in seconds (0.01 - 10.0, 1.0 s is default) Options for MODBUS/TCP, UDP and RTU over TCP: -p # IP protocol port number (502 is default) Options for Modbus ASCII and Modbus RTU: -b # Baudrate (e.g. 9600, 19200, ...) (19200 is default) -d # Databits (7 or 8 for ASCII protocol, 8 for RTU) -s # Stopbits (1 or 2, 1 is default) -p none No parity -p even Even parity (default) -p odd Odd parity -4 # RS-485 mode, RTS on while transmitting and another # ms after LG Wolfgang |
||
|
||
|
ChatGPT sagt: Alles klar 👍 – hier ein Beispiel, wie du in **modpoll 3.11** ein **32-Bit Integer** (also *long*) mit **Word Swap** liest: --- ### 🛠 Beispielbefehl ```bash modpoll -m tcp -t 4:long -i -r 100 -c 1 192.168.1.50 ``` --- ### 🔎 Erklärung * `-m tcp` → Modbus TCP als Protokoll (bei RTU wäre z. B. `-m rtu -b 19200 …`) * `-t 4:long` → Datentyp: 32-Bit Integer („long“) aus Holding-Registern (`4`) * `-i` → aktiviert **Word Swap** (big-endian Reihenfolge der 16-Bit-Register) * `-r 100` → Start bei Registeradresse 100 * `-c 1` → 1 Wert lesen (belegt 2 Register) * `192.168.1.50` → IP-Adresse deines Modbus-Geräts --- 👉 Falls dein Gerät statt Word-Swap auch noch **Byte-Swap** innerhalb der Register macht, müsstest du statt `-i` evtl. mit `-e` (Enron/Daniel-Format) testen. Willst du, dass ich dir eine kleine **Vergleichstabelle mit allen möglichen Swaps für 32-Bit Int** baue (Standard, Word-Swap, Byte-Swap, beides), sodass du sie direkt ausprobieren kannst? Perfekt 🦉 – hier eine kleine Übersicht, wie du in **modpoll 3.11** ein **32-Bit Integer (long)** aus Holding-Registern lesen kannst, je nach *Swap-Variante*. --- |
||
|
||
|
nAbend, hey danke, an ChatGPT hab ich gar nicht gedacht.... Leider leider, glaub der hat die Hilfe nicht genau genug gelesen, an Parameter :long gibts nicht und 4: ist Holding Register.... Es gibt aber a Version 3.16, die werd ich amal anschauen, vll hilft das ja... DAnke für Deine Mühe!! LG Wolfgang |
||
|
||
|
nAbend V3.16 hat paar neue parameter, aber nix mit Word Swap. der Hersteller von Modpoll hat sich leider nicht geäußert auf meine Anfrage, probiers amal bei KNV wg aktuellerRegisterbeschreibung. Den Menüpunkt gibts komischerweise nimma, mit ausleses auf USB.. LG |
||
|
||
|
poste mal genau deine mbpoll command line, dann schau ich mal was meine S1155 antwortet. |
||
|
||
|
die mbpoll Version von procon ist glaub ich buggy, da gibts eine Alternative: https://github.com/epsilonrt/mbpoll |
||
|
||
|
Nabend, rein vorsichtshalber ich verwende modpoll: modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator Copyright (c) 2002-2021 proconX Pty Ltd Visit https://www.modbusdriver.com for Modbus libraries and tools. was bis Dato immer funktioniert hat: modpoll -a 1 -m tcp -t3 -r 1577 -c 1 -1 -o 10 $NIBE_IP Register müsste 1575 gewesen sein, Brauchwasser, einschl. interner ZH liefert jetzt: modpoll: Illegal write data value! Try -h for help. Bis 27. April hats superfunktioniert, "plötzlich " dann nimma. Um ganz ehrlich zu sein, ich hab keine Ahnung, wie die Version 3.5.5. auf meine NIBE kommt, die letzte, die ich wissentlich und absichtlich eingespielt hab, war '23 die V2.17.... EDIT: und was ma auch komisch vorkommt, nur diesr eien Wert passt nicht ALLE anderen werden wie gehabt ausgelesen.... LG & DAnke! Wolfgang |
Beitrag schreiben oder Werbung ausblenden?
Einloggen
Kostenlos registrieren [Mehr Infos]


