ioBroker Forum


Nutzungsbedingungen |Datenschutzrichtlinie
Cloud |Dokumentation
Aktuelle Zeit: 23.01.2018, 03:14

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 385 Beiträge ]  Gehe zu Seite 1 2 3 4 520 Nächste
Autor Nachricht
 Betreff des Beitrags: Modbus
BeitragVerfasst: 14.10.2015, 21:15 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7647
Hat sich bedankt: 287 Mal
Danksagung erhalten: 799 Mal
Dateianhang:
modbus.png
modbus.png [ 4.91 KiB | 4234 mal betrachtet ]

Hallo!
Ich habe einen neuen Adapter gefertigt: modbus.
Kann das jemand testen?
Es geht momentan nur TCP. Master und Slave


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 16.10.2015, 21:05 
Offline

Registriert: 16.10.2015, 20:53
Beiträge: 7
hallo

ich werde es die tage mal mit einem janitza strom zähler test


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 18.10.2015, 20:03 
Offline
professional
Benutzeravatar

Registriert: 14.09.2015, 05:51
Beiträge: 723
Hat sich bedankt: 41 Mal
Danksagung erhalten: 33 Mal
Hallo,

ich habe ihn ein wenig getestet. Was mir auffällt ist, dass man nur eine Adresse angeben kann und nichts weiter passiert, wenn man auf das "+" drückt.
Die Werte der Adressen verändern sich bzw. werden falsch gespeichert. Z.B. 30529 in 3000052000001 oder so ähnlich.

Gruß Marco

_________________
CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 19.10.2015, 20:34 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7647
Hat sich bedankt: 287 Mal
Danksagung erhalten: 799 Mal
Danke fürs ausprobieren.
Ich habe den Fehler gefixt.


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 20.10.2015, 08:41 
Offline
professional
Benutzeravatar

Registriert: 14.09.2015, 05:51
Beiträge: 723
Hat sich bedankt: 41 Mal
Danksagung erhalten: 33 Mal
Guten Morgen,

so wurde konfiguriert.

Dateianhang:
konfiguration.JPG
konfiguration.JPG [ 19.12 KiB | 4143 mal betrachtet ]


Und so erscheint es.

Dateianhang:
modbus.JPG
modbus.JPG [ 6.44 KiB | 4143 mal betrachtet ]

_________________
CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 20.10.2015, 20:36 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7647
Hat sich bedankt: 287 Mal
Danksagung erhalten: 799 Mal
Abgesehen davon, muss es trotzdem gehen.


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 20.10.2015, 20:52 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7647
Hat sich bedankt: 287 Mal
Danksagung erhalten: 799 Mal
Es gibt auch neue Version.


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 21.10.2015, 13:41 
Offline
professional
Benutzeravatar

Registriert: 06.01.2015, 07:12
Beiträge: 361
Hat sich bedankt: 16 Mal
Danksagung erhalten: 11 Mal
Das ist ja Genial, vielen Dank Bluefox. Ehrlich gesagt, ich habe schon seit der Erwähnung im russischen Forum damit Versuche gemacht, leider erfolglos, aber ich wollte nicht drängen. Aber jetzt, mit Version 0.2.5 möchte ich mich doch mit meinen Problemen melden.
Vorab ist mir unklar, wie sind die Einstellungen gedacht:
Startadresse - bedeutet das ein Segment im Registerbereich?
Adresse (in der Zeile vor Name und Beschreibung) ... ist das der Offset zu obiger Startadresse?
Rolle : ist das die Auswahl des Formats?

in meinem Beispiel möchte ich Daten lesen mit Offset 65 (Start bei 0) 2 Register im Format Float
Was muss ich da konfigurieren?

anbei ein Log-Ausschnitt, wenn ich startadr. 0 angeben und Adresse 65 Rolle value im Tab Holding-Registers

Code:
modbus.0   2015-10-21 14:12:50   info   modbus.0 Disconnected from slave 192.168.0.68
modbus.0   2015-10-21 14:12:50   warn   modbus.0 Error: read ECONNRESET
modbus-0   2015-10-21 14:10:49   info   Connected to slave 192.168.0.68
modbus-0   2015-10-21 14:10:49   error   Invalid holding register address: -39936
modbus-0   2015-10-21 14:10:49   info   starting. Version 0.2.5 in /opt/iobroker/node_modules/iobroker.modbus
host-odroid   2015-10-21 14:10:48   info   instance system.adapter.modbus.0 started with pid 6062
host-odroid   2015-10-21 14:10:46   info   instance system.adapter.modbus.0 terminated with code 0 (OK)
modbus-0   2015-10-21 14:10:46   info   terminating
host-odroid   2015-10-21 14:10:45   info   stopInstance system.adapter.modbus.0 killing pid 6056
host-odroid   2015-10-21 14:10:45   info   stopInstance system.adapter.modbus.0
host-odroid   2015-10-21 14:10:45   info   object change system.adapter.modbus.0
modbus-0   2015-10-21 14:10:31   info   Connected to slave 192.168.0.68
modbus-0   2015-10-21 14:10:31   info   starting. Version 0.2.5 in /opt/iobroker/node_modules/iobroker.modbus
host-odroid   2015-10-21 14:10:29   info   instance system.adapter.modbus.0 started with pid 6056
host-odroid   2015-10-21 14:10:27   info   instance system.adapter.modbus.0 terminated with code 0 (OK)
host-odroid   2015-10-21 14:10:26   info   stopInstance system.adapter.modbus.0 killing pid 6043
host-odroid   2015-10-21 14:10:26   info   stopInstance system.adapter.modbus.0
host-odroid   2015-10-21 14:10:26   info   object change system.adapter.modbus.0
modbus-0   2015-10-21 14:08:58   info   Connected to slave 192.168.0.68
modbus-0   2015-10-21 14:08:57   error   Invalid holding register address: -39936


kann gut sein, dass ich etwas falsch verstanden habe. Der modbus slave antwortet jedoch korrekt mit meinem python-programm, das ich aus iobroker aufrufe. (siehe meine Anleitung im Forum). Ein Fehler auf dieser Seite kann ich also ausschliessen.

gruss
Beat

_________________
2 Homematic Systeme an 2 Standorten: Südschweden, Schweiz. VPN. Rechner: Odroid C1 (iobroker), Bananapi (iobroker-test, Homegear mit CC1101-chip), Cubietruck (LAMP, Zabbix). Energiemessung Siemens PAC3200 via modbus/tcp.


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 21.10.2015, 16:56 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7647
Hat sich bedankt: 287 Mal
Danksagung erhalten: 799 Mal
Mit Adressen es ist ziemlich kompliziert. Es gibt zwei Arten wie man die Adressierung in modbus macht:
- absolut
- aliases


Absolute Adressen sind einfach. Für jede Art von Tags (coils, discrete inputs, holding register, input register) fangen die Adressen bei 0 an und enden bei 65535. Das kann man benutzen, wenn man "Benutze aliases" Flag deaktiviert.

Aliases sind Bereiche:
coils, 1-10000
discrete inputs, 10001-30000
holding register, 30001-40000
input register 40000-65535

Dabei bei der tatsächlicher Adressierung werden die Aliases in Adressen umgerechnet: Aliase - Offset (1,10001,30001,40001)
Bei Coils und Discrete Inputs werden noch die Bits innerhalb von einem Wort gedreht. (völliger Blödsinn)

Zitat:
Adresse (in der Zeile vor Name und Beschreibung) ... ist das der Offset zu obiger Startadresse?

Das ist eine Adresse (und kein Offset) von einem Wort. D.h falls man mehrere Worte hat, dann muss jedes Wort projektiert werden.

Zitat:
Rolle : ist das die Auswahl des Formats?

Das ist die Rolle aus ioBroker und keine Formatierung. Die Rollen kann man selbst definieren.

Zitat:
in meinem Beispiel möchte ich Daten lesen mit Offset 65 (Start bei 0) 2 Register im Format Float
Was muss ich da konfigurieren?

Floats sind noch nicht unterstützt. Habe erst jetzt erfahren, dass da floats gibt :lol:
http://www.chipkin.com/how-real-floatin ... -messages/


Aber falls du jetzt ausprobieren willst, dann
Dateianhang:
2015-10-21 17_44_53-localhost_8081_#instances.png
2015-10-21 17_44_53-localhost_8081_#instances.png [ 35.45 KiB | 4100 mal betrachtet ]

Dateianhang:
2015-10-21 17_54_27-localhost_8081_#instances.png
2015-10-21 17_54_27-localhost_8081_#instances.png [ 52.75 KiB | 4100 mal betrachtet ]

dann im Skript FloatXa und FloatXb zusammen bringen.


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 21.10.2015, 19:43 
Offline
professional
Benutzeravatar

Registriert: 06.01.2015, 07:12
Beiträge: 361
Hat sich bedankt: 16 Mal
Danksagung erhalten: 11 Mal
hallo Bluefox,
danke für Deine ausführliche Antwort. Die muss ich erst verdauen :o -> den Alias verwenden Haken habe ich nicht weggemacht, das war der erste Fehler.

Für das PAC3200 Siemens Energiemessgerät gibts eine Liste mit absoluten Adressen der Register von 1-2900 ca.
zu den Formaten: da gibts nebst Float noch Double mit 4 Registern und unsigned long mit 2 Registern. die Verdrehung von MSB und LSB gibts auch bei Float, wenn ich richtig verstanden habe (Big Endian). Die python library, die ich verwende stelllt extra Filter zur Verfügung, die alles wieder grade biegen.(gibt es sowas nicht in js?) Naja, wie auch immer, ich werde eben weiter testen und versuchen, Im produktiven Einsatz läuft vorerst die python lösung da muss ich mir kein Stress machen. Trotzdem wäre es natürlich schön, wenn das irgendwann mal als Adapter im ioibroker funktionieren würde.
Grüsse
Beat

Nachtrag 22.10.15 : jetzt funktionierts: Haken weg bei "Alias verwenden" und jetzt kommen Daten zurück, halt jedes Register einzeln, wie oben beschrieben.

_________________
2 Homematic Systeme an 2 Standorten: Südschweden, Schweiz. VPN. Rechner: Odroid C1 (iobroker), Bananapi (iobroker-test, Homegear mit CC1101-chip), Cubietruck (LAMP, Zabbix). Energiemessung Siemens PAC3200 via modbus/tcp.


Zuletzt geändert von starfish am 22.10.2015, 02:50, insgesamt 1-mal geändert.

Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 22.10.2015, 01:33 
Offline
professional
Benutzeravatar

Registriert: 14.09.2015, 05:51
Beiträge: 723
Hat sich bedankt: 41 Mal
Danksagung erhalten: 33 Mal
Hallo,

ich komme beim ModBus Adapter auch nicht weiter. Die Verbindung steht zum SMA Wechselrichter und laut Doku von SMA habe ich auch die richtigen Adressen.

bemerkter Fehler: Wenn ich eine Adresse lösche, kann ich die Änderung nicht abspeichern. Ich muss erst ein anderes Feld ändern bevor der Button Speichern aktiviert wird.

Dateianhang:
modbus2.JPG
modbus2.JPG [ 9.31 KiB | 4079 mal betrachtet ]

Dateianhang:
sma.JPG
sma.JPG [ 75.79 KiB | 4079 mal betrachtet ]

Dateianhang:
sma2.JPG
sma2.JPG [ 52.03 KiB | 4079 mal betrachtet ]

_________________
CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 22.10.2015, 06:44 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7647
Hat sich bedankt: 287 Mal
Danksagung erhalten: 799 Mal
Jetzt habe ich verstanden. Da geht es viel um Signed32 und Unsigned32 und sogar um Unisgned64.
Das ist noch nicht implementiert. Laut diese Doku https://en.wikipedia.org/wiki/Modbus kann modbus nur U16 und bits, und nur das ist auch momentan drin.
Man konnte trotzdem schon checken ob die richtige U16 zu sehen sind.


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 22.10.2015, 15:23 
Offline
professional
Benutzeravatar

Registriert: 14.09.2015, 05:51
Beiträge: 723
Hat sich bedankt: 41 Mal
Danksagung erhalten: 33 Mal
Ich würde gern etwas dazu beitragen und die alles von SMA in eine Datei packen, dass man z.B. im ModBus Adapter vorgefertigte Werte abfragen kann.???

_________________
CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 22.10.2015, 22:57 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7647
Hat sich bedankt: 287 Mal
Danksagung erhalten: 799 Mal
Marcolotti hat geschrieben:
Ich würde gern etwas dazu beitragen und die alles von SMA in eine Datei packen, dass man z.B. im ModBus Adapter vorgefertigte Werte abfragen kann.???

Ich habe jetzt modbus adapter erwitert, so dass Floats and Integers unterstützt sind.
Du kannst so beitragen, dass du Geduld hast und die Interesse nicht verlierst, so dass wir gemeinsam den Adapter fertig machen könne. :!:


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 23.10.2015, 06:26 
Offline
professional
Benutzeravatar

Registriert: 06.01.2015, 07:12
Beiträge: 361
Hat sich bedankt: 16 Mal
Danksagung erhalten: 11 Mal
@bluefox
Zitat:
Jetzt habe ich verstanden. Da geht es viel um Signed32 und Unsigned32 und sogar um Unisgned64.


ich bin jetzt auch nicht der grosse modbus-Spezialist, im Gegenteill, vielleicht habe ich eine ziemlich enge Optik, ich hab ja bloss das eine Instrument, das aber viele Formate verwendet. Modbus ist halt ein sehr altes Protokoll, das anfänglich sehr einfach gestrickt war, aber fortlaufend erweitert wurde. Grad die Zähler (Betriebsstunden, Stromverbrauch) benötigen halt viele Digits, das ist ja auch bei den herkömmlichen mechanischen Zählern ersichtlich. Siemens gibt hier ein Zahlenbereich overflow 1.0e+12 vor.
Aber das finde ich grad das Schöne am modbus, da wird alles unterstützt, von einfachen bit-operationen z.B. bei Wago-Klemmen bis komplexere Messinstrumente, hauptsächlich im Profi- und Industriebereich. Die Preise sind längst nicht mehr so hoch wie früher, im Gegenteil, in der Bucht gibts oft sehr günstige Möglichkeiten.
Ich überleg mir grade, wie ich beitragen kann, klar Testen, wobei meine Java-Kenntnisse eher Richtung 0 tendieren. Im hohen Alter ist man einfach nicht mehr so lernfähig. Zugriff auf mein Energiemessgerät könnte ich noch bieten, falls erwünscht.

Immerhin, jetzt wo das Einlesen der Register funktioniert kann ich zumindest weiter basteln. Es macht für mich nur nicht sehr viel Sinn, händisch Register auszulesen, zu swappen und umzuformen, wenn ich bereits mit pymodbus eine Lösung am Laufen habe, die diese Umrechnungen beherrscht.
http://forum.iobroker.de/viewtopic.php?f=21&t=846&p=6289&sid=40bb6902d4492b3e5cd2acc1822db9a9&sid=40bb6902d4492b3e5cd2acc1822db9a9#p6289
Liebe grüsse
Beat

_________________
2 Homematic Systeme an 2 Standorten: Südschweden, Schweiz. VPN. Rechner: Odroid C1 (iobroker), Bananapi (iobroker-test, Homegear mit CC1101-chip), Cubietruck (LAMP, Zabbix). Energiemessung Siemens PAC3200 via modbus/tcp.


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 23.10.2015, 07:10 
Offline
professional

Registriert: 31.01.2015, 15:22
Beiträge: 994
Hat sich bedankt: 11 Mal
Danksagung erhalten: 130 Mal
...


Zuletzt geändert von looxer01 am 26.10.2015, 20:12, insgesamt 1-mal geändert.

Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 23.10.2015, 07:24 
Offline
professional
Benutzeravatar

Registriert: 14.09.2015, 05:51
Beiträge: 723
Hat sich bedankt: 41 Mal
Danksagung erhalten: 33 Mal
Guten Morgen,

ich bekomme keine Daten. Es wird egal bei welcher Adresse wird der Wert FF (65535 oder eben im Doppel 4294967295 ausgegeben)

Dateianhang:
adressen.JPG
adressen.JPG [ 8.91 KiB | 4036 mal betrachtet ]


Wenn ich den Haken bei Aliases reinmache, dann stellt er die 543 auf 60543 um. Sollte eigentlich 30543 im Eingangsregister sein oder?

Gruß Marco

P.S. Ich bin ein sehr geduldiger Mensch und Respekt vor eurer Arbeit. ;)

_________________
CCU2-CuxD&Cul868MHz, 44xHM Geräte, 20xMAX Fenstersensoren.Acer Revo mit IoBroker, Tablet Captiva 9,7 SFHD. SMA SB2.5,STP7000TL20,SMA Energy Meter, Echo, Harmony, JeeLink868, Arduino 433MHz, MaxtoxCUL868,MilightEasyLED,Hue


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 23.10.2015, 08:42 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7647
Hat sich bedankt: 287 Mal
Danksagung erhalten: 799 Mal
Marcolotti hat geschrieben:
Guten Morgen,

ich bekomme keine Daten. Es wird egal bei welcher Adresse wird der Wert FF (65535 oder eben im Doppel 4294967295 ausgegeben)

Dateianhang:
Der Dateianhang adressen.JPG existiert nicht mehr.


Wenn ich den Haken bei Aliases reinmache, dann stellt er die 543 auf 60543 um. Sollte eigentlich 30543 im Eingangsregister sein oder?

Gruß Marco

P.S. Ich bin ein sehr geduldiger Mensch und Respekt vor eurer Arbeit. ;)

30543 ist definitiv ein Alias. D.h. es ist eine Adresse 30543 - 30001 = 542 (Man kann aber auch weiter hin die aliases verwenden)
Probiere bitte so:
Dateianhang:
2015-10-23 09_41_37-localhost_8081_#instances.png
2015-10-23 09_41_37-localhost_8081_#instances.png [ 33.71 KiB | 4032 mal betrachtet ]

Und Checkbox bei Aliases an!


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 23.10.2015, 08:45 
Offline
Site Admin
Benutzeravatar

Registriert: 13.07.2014, 14:42
Beiträge: 7647
Hat sich bedankt: 287 Mal
Danksagung erhalten: 799 Mal
Ich habe auch mit diesem Tool gespielt und getestet:
http://en.radzio.dxp.pl/modbus-master-simulator/


Nach oben
   
 Betreff des Beitrags: Re: Modbus
BeitragVerfasst: 23.10.2015, 09:24 
Offline
professional

Registriert: 31.01.2015, 15:22
Beiträge: 994
Hat sich bedankt: 11 Mal
Danksagung erhalten: 130 Mal
...


Zuletzt geändert von looxer01 am 26.10.2015, 20:14, insgesamt 2-mal geändert.

Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 385 Beiträge ]  Gehe zu Seite 1 2 3 4 520 Nächste

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu Forum:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de