Forum

Einloggen | Registrieren | RSS  

Stefan.

05.07.2012,
12:12
 

Zähler Protokoll RS485 IEC 1107 gesucht (Elektronik)

Hallo
Ich habe hier ein paar Digitale Zähler bekommen für einen zusätzlichen Verbrauchsmessung einezlnder Bereiche.
Es ist von der Firma B+G E-Tech und das Modell DRS110M.
Die Schnitstelle ist mit RS485 angeben als Protokoll IEC1107.
Jedoch finde ich kein Aufbau zu dem Protokoll nur Zähler oder andere Produkte die das Protokoll nutzten.
Einziges was auf dem Karton noch drauf ist
Adress lengh parameter
0x0000 2 VRMSA
0x0001 2 IRMSA
0x0002 2 FREQY
{0x000b 6 SerialNumber}
{0x000e 2 Baudrate}
0x000f 2 ModbusID
Da dies später an eine vorhandes System soll brauch ich das Protokoll um die Daten abzugragen.
Kann mir das Protokoll einer zukommen lassen?
Danke
Stefan

x y

05.07.2012,
13:52

@ Stefan.

Zähler Protokoll RS485 IEC 1107 gesucht

» Kann mir das Protokoll einer zukommen lassen?

http://read.pudn.com/downloads147/doc/comm/637727/IEC%2062056-21-2002.pdf

dumdidum(R)

11.09.2012,
19:35

@ Stefan.

Zähler Protokoll RS485 IEC 1107 gesucht

» Hallo
» Ich habe hier ein paar Digitale Zähler bekommen für einen zusätzlichen
» Verbrauchsmessung einezlnder Bereiche.
» Es ist von der Firma B+G E-Tech und das Modell DRS110M.
» Die Schnitstelle ist mit RS485 angeben als Protokoll IEC1107.
» Jedoch finde ich kein Aufbau zu dem Protokoll nur Zähler oder andere
» Produkte die das Protokoll nutzten.
» Einziges was auf dem Karton noch drauf ist
» Adress lengh parameter
» 0x0000 2 VRMSA
» 0x0001 2 IRMSA
» 0x0002 2 FREQY
» {0x000b 6 SerialNumber}
» {0x000e 2 Baudrate}
» 0x000f 2 ModbusID
» Da dies später an eine vorhandes System soll brauch ich das Protokoll um
» die Daten abzugragen.
» Kann mir das Protokoll einer zukommen lassen?
» Danke
» Stefan

Habe das selbe Problem hat schon jemand herausgefunden wie man das Teil auslesen kann ein kleines Beispiel wäre gut.

Stefan.

12.09.2012,
09:22

@ dumdidum

Zähler Protokoll RS485 IEC 1107 gesucht

» Habe das selbe Problem hat schon jemand herausgefunden wie man das Teil
» auslesen kann ein kleines Beispiel wäre gut.

Leider nicht weiter gekommen bisher :angry:

dumdidum(R)

12.09.2012,
10:54

@ Stefan.

Zähler Protokoll RS485 IEC 1107 gesucht

» » Habe das selbe Problem hat schon jemand herausgefunden wie man das Teil
» » auslesen kann ein kleines Beispiel wäre gut.
»
» Leider nicht weiter gekommen bisher :angry:

Was ich bisher herausgefunden habe ist das es mit 9600B 7E1 auf den Befehl 0x2f,0x3f,0x21,0x0d,0x0a reagiert aber wie die nächste Befehlssequenz lautet ist mir unbekannt.
Falls jemand was weis bitte um Hilfe.

Mathias Saal

E-Mail

17.10.2012,
15:33

@ dumdidum

Zähler Protokoll RS485 IEC 1107 gesucht

Hallo,
wir haben ein Monitoring-Tool entwickelt und bieten eine Kommunikationslösung für Server- und Inhouse-Lösung u.a. für IEC1107-Zähler an. Einige Zähler haben eine RS485-Schnittstelle.

Wenn diese Lösung weiterhelfen könnte, würden wir von der enexoma gerne behilflich sein.

SLPriva(R)

05.11.2012,
15:21

@ dumdidum

Zähler Protokoll RS485 IEC 1107 gesucht

» » » Habe das selbe Problem hat schon jemand herausgefunden wie man das
» Teil
» » » auslesen kann ein kleines Beispiel wäre gut.
» »
» » Leider nicht weiter gekommen bisher :angry:
»
» Was ich bisher herausgefunden habe ist das es mit 9600B 7E1 auf den Befehl
» 0x2f,0x3f,0x21,0x0d,0x0a reagiert aber wie die nächste Befehlssequenz
» lautet ist mir unbekannt.
» Falls jemand was weis bitte um Hilfe.

Hallo Gleichgesinnte,

habe genau das gleiche Problem. Wollte eigentlich die Zähler an unser GA System (Priva) hängen um Strom und Spannung jeder Phase über Modbus auszulesen. Hatte bereit regen Kontakt mit dem Hersteller (bzw. Lieferant) B+G. Die haben mir ein Tool zugesendet (Achtung nur 32bit BS) mit welchem ich die Zähler auslesen können sollte. Habs leider nicht hinbekommen. Also probiert ihr es doch auch mal.

Einstellungen COM = 9600,No,7 (kann auch 8 sein, hier widerspricht man sich oft),1
MeterID = bleibt Freitag
Password = 000000

Ich hoffe Ihr kommt weiter, dann könnte man das Protokoll analysieren und zyklich alle Werte schön auslesen un weiterverarveiten.

mfg SL




http://www.elektronik-kompendium.de/forum/upload/20121105152150.rar

dumdidum(R)

05.11.2012,
16:51

@ SLPriva

Zähler Protokoll RS485 IEC 1107 gesucht

Hallo

was ich als sicher sagen würde ist das es 9600B 7 Daten Parität ist Even und ein Stopbit darauf antwortet es nämlich wenn man den vorigen Datensatz sendet.
Funktioniert es mit diesem zugesendetem Tool den ?

dumdidum(R)

05.11.2012,
17:25

@ SLPriva

Zähler Protokoll RS485 IEC 1107 gesucht

» » » » Habe das selbe Problem hat schon jemand herausgefunden wie man das
» » Teil
» » » » auslesen kann ein kleines Beispiel wäre gut.
» » »
» » » Leider nicht weiter gekommen bisher :angry:
» »
» » Was ich bisher herausgefunden habe ist das es mit 9600B 7E1 auf den
» Befehl
» » 0x2f,0x3f,0x21,0x0d,0x0a reagiert aber wie die nächste Befehlssequenz
» » lautet ist mir unbekannt.
» » Falls jemand was weis bitte um Hilfe.
»
» Hallo Gleichgesinnte,
»
» habe genau das gleiche Problem. Wollte eigentlich die Zähler an unser GA
» System (Priva) hängen um Strom und Spannung jeder Phase über Modbus
» auszulesen. Hatte bereit regen Kontakt mit dem Hersteller (bzw. Lieferant)
» B+G. Die haben mir ein Tool zugesendet (Achtung nur 32bit BS) mit welchem
» ich die Zähler auslesen können sollte. Habs leider nicht hinbekommen. Also
» probiert ihr es doch auch mal.
»
» Einstellungen COM = 9600,No,7 (kann auch 8 sein, hier widerspricht man
» sich oft),1
» MeterID = bleibt Freitag
» Password = 000000
»
» Ich hoffe Ihr kommt weiter, dann könnte man das Protokoll analysieren und
» zyklich alle Werte schön auslesen un weiterverarveiten.
»
» mfg SL
»
»
»
»
» http://www.elektronik-kompendium.de/forum/upload/20121105152150.rar

Program geht und liest aus nur das Passwort war nicht korrekt es lautet 00000000 sonst kommt nichts auser einer Fehlermeldung wie gesagt 9600 7E1.

SLPriva(R)

06.11.2012,
06:15

@ dumdidum

Zähler Protokoll RS485 IEC 1107 gesucht

» » » » » Habe das selbe Problem hat schon jemand herausgefunden wie man das
» » » Teil
» » » » » auslesen kann ein kleines Beispiel wäre gut.
» » » »
» » » » Leider nicht weiter gekommen bisher :angry:
» » »
» » » Was ich bisher herausgefunden habe ist das es mit 9600B 7E1 auf den
» » Befehl
» » » 0x2f,0x3f,0x21,0x0d,0x0a reagiert aber wie die nächste Befehlssequenz
» » » lautet ist mir unbekannt.
» » » Falls jemand was weis bitte um Hilfe.
» »
» » Hallo Gleichgesinnte,
» »
» » habe genau das gleiche Problem. Wollte eigentlich die Zähler an unser
» GA
» » System (Priva) hängen um Strom und Spannung jeder Phase über Modbus
» » auszulesen. Hatte bereit regen Kontakt mit dem Hersteller (bzw.
» Lieferant)
» » B+G. Die haben mir ein Tool zugesendet (Achtung nur 32bit BS) mit
» welchem
» » ich die Zähler auslesen können sollte. Habs leider nicht hinbekommen.
» Also
» » probiert ihr es doch auch mal.
» »
» » Einstellungen COM = 9600,No,7 (kann auch 8 sein, hier widerspricht man
» » sich oft),1
» » MeterID = bleibt Freitag
» » Password = 000000
» »
» » Ich hoffe Ihr kommt weiter, dann könnte man das Protokoll analysieren
» und
» » zyklich alle Werte schön auslesen un weiterverarveiten.
» »
» » mfg SL
» »
» »
» »
» »
» » http://www.elektronik-kompendium.de/forum/upload/20121105152150.rar
»
» Program geht und liest aus nur das Passwort war nicht korrekt es lautet
» 00000000 sonst kommt nichts auser einer Fehlermeldung wie gesagt 9600 7E1.


SUPER!!!! Funktioniert.
Das ich nicht aufs Passwort gekommen bin, Mann.

Danke

hdo26(R)

07.12.2012,
10:55

@ SLPriva

Zähler Protokoll RS485 IEC 1107 gesucht

Hallo Zusammen,

ich habe mir vor wenigen Tagen 10 Stück von den RS-485 Stromzählern von BG-eTech gekauft,
um unseren Strombedarf zu Hause etwas detaillierter analysieren zu können.
Ich habe allerdings das Modell DRS155M genommen, welches eigentlich dem DRS110M entspricht.
Der DRS155M ist halt nur bis 50A Grenzstrom zugelassen.

Da mir dieser Forums-Thread schon gute technische Hilfe geboten hat - insbesondere die PDF sowie das Tool -
möchte ich ebenfalls zur Aufklärung des Protokolls beitragen. In meinem Fall möchte ich die Zähler
in mein bestehendes selbstgebautes System integrieren, welches seit August zuverlässig meine Verbrauchsdaten
erfasst (Wasser, Strom, Gas).

Mein Wunsch ist es, dass wir soviel Informationen wie möglich über die Kommunikation des Zählers zusammentragen,
damit andere nicht ewig herumprobieren müssen :-)

So, jetzt zu den Fakten:

Ich habe eine kleine Schaltung aufgebaut, mit dem ich die Kommunikation der Anwendung mit dem Zähler mitschneiden kann.
Durch die Identifkations-ID (YTL), welche der Zähler an die Anwendung schickt, konnte ich den Hersteller des Zählers ermitteln:

>> ZheJiang yongtailong electronic co.,ltd, No.8 KangDing Road, Tongxiang, China

Der Hersteller selber bietet eine kurze Beschreibung zum Zähler hier an:

http://www.iec-meter.com/products/20111128239.shtml

>> Product Model:
>> DD10-S08
>> Products Name:
>> SINGLE-PHASE DIN-RAIL ELECTRONIC ENERGY METER(ONE MODULE WITH RS485)

Zum Testen habe ich einen Zähler angeschlossen und das o.g. Tool gestartet.

Wie oben korrekt angegeben, verwendet der Zähler folgende Port-Einstellungen:

Baudrate: 9600
Daten-Bits: 7
Parity-Bits: 1
Parity: Even

Kurzum: 9600, 7E1

Die Kommunikation entspricht ziemlich genau der Spezifikation laut IEC62056-21. Wenn man sich nur die Spezifikation
anschaut, gewinnt man kaum eine konkrete Vorstellung. Da hilft einem ein kurzer Blick in die Logdaten immens weiter.
Zur Veranschaulichung habe ich unten meine Logdaten zur Verfügung gestellt.

Interessanterweise geschieht die Anmeldung am Zähler nicht über 300 Baud wie in der Spezifikation angegeben. Es wird
fortgehend 9600 Baud verwendet.

Zur Kommunikation mit dem Zähler wird ein Passwort benötigt. Dieses ist im Auslieferungszustand '00000000' und lässt sich
ändern. Mich würde interessieren was passiert, wenn man das Passwort vergisst ???
Das Tool verwenden den Programming-Mode, man müsste mal ausprobieren, ob der 'Normal-Mode' (ohne PW) auch funktioniert.

Bei der Anmeldung kann eine Meter ID mit angeben werden. Dadurch lassen sich mehere Zähler am gleichen Bus anschließen.
Ich habe das aber noch nicht ausprobiert. Wenn die Meter ID nicht angegeben wird, antwortet der Zähler trotzdem (zumindest
bei mir mit einem Zähler). Wird die Meter ID angegeben, antwortet nur der Zähler mit der angebenen ID. Wenn kein Zähler
mit der ID vorhanden ist, gibt es einen Time-Out.
Bei der Auslieferung ist die Meter ID mit '000000000000' belegt. D.h. wenn man mehrere gleichzeitig benutzen möchte, muss
man die Meter IDs der einzelnen Zähler anpassen. Für meine Zwecke verwende ich die Seriennummer des Zählers als Meter ID,
damit das Ganze konsistent ist.

Die Daten des Zählers lassen sich über angebene Register/Adressen des Zählers abfragen. Die im ersten Post erwähnten
Register stimmen bei mir nicht ganz überein. Ich habe folgende Register aufgeschnappt und getestet:

READ (length)
#############
0: voltage (4)
1: current (4)
10: Energy (8)
34: Serial number (12)
36: Meter ID (12)

WRITE (length)
##############
34: Serial number (12)
36: Meter ID (12)
37: Password (8)
40: ClearEnergy (0)

Hinweis: Bei dem Tool liegt eine 'mdb'-Datei bei, welche eine Access-Datenbank mit einer Tabelle beinhaltet.
In dieser Tabelle werden die im Tool zur Verfügung stehenden Register aufgelistet.

Bei meinen Recherchen habe ich ebenfalls herausgefunden, dass der Zähler theoretisch mehr Informationen bereitstellen
könnte (Blindleistung, Frequenz und weitere???).

Um eine bessere Vorstellung über die Kommunikation zu erhalten, habe ich meine Logs hier für jeden abgelegt:

http://pastie.org/5492768
https://gist.github.com/4231981

Damit sollte es nun möglich sein, den Zähler universell abfragen zu können.

Ich hoffe meine Erkenntnisse tragen zur weiteren Aufklärung des Protokolls bei.

Auf neue Informationen würde ich mich trotzdem freuen, also wenn jemand noch weitere Infos hat,
immer her damit!

hdo

hdo26(R)

07.12.2012,
15:16

@ hdo26

Zähler Protokoll RS485 IEC 1107 gesucht

So, ich habe noch etwas mit dem Zähler experimentiert habe noch folgendes herausgefunden:

Der Modus 'Data readout' funktioniert leider nicht.

LOG:

/?!
/YTL:001511420144
[ACK]0:0 # 0:0 -> Data readout, 0:1 > Programming mode
[SOH]B0[ETX][BCC 0x71] # -> timeout, exit

Ferner habe ich noch weitere OBIS Kennungen (Register) gefunden, indem ich die 'mdb'-Datei manipuliert habe.

Folgende Register habe ich noch gefunden:

LOG:

{ACK}[SOH]R1[STX]00000002()[ETX][BCC 0x61]
{STX}00000002(0500){ETX}{BCC 0x05}

{ACK}[SOH]R1[STX]00000003()[ETX][BCC 0x60]
{STX}00000003(0000){ETX}{BCC 0x01}

[SOH]R1[STX]00000004()[ETX][BCC 0x67]
{STX}00000004(0000){ETX}{BCC 0x06}

{ACK}[SOH]R1[STX]00000005()[ETX][BCC 0x66]
{STX}00000005(0000){ETX}{BCC 0x07}

{ACK}[SOH]R1[STX]00000006()[ETX][BCC 0x65]
{STX}00000006(0000){ETX}{BCC 0x04}

{ACK}[SOH]R1[STX]00000011()[ETX][BCC 0x63]
{STX}00000011(00000000){ETX}{BCC 0x02}

{ACK}[SOH]R1[STX]00000012()[ETX][BCC 0x60]
{STX}00000012(00000000){ETX}{BCC 0x01}

[SOH]R1[STX]00000013()[ETX][BCC 0x61]
{STX}00000013(00000000){ETX}{BCC 0x00}

[SOH]R1[STX]00000014()[ETX][BCC 0x66]
{STX}00000014(00000000){ETX}{BCC 0x07}

{ACK}[SOH]R1[STX]00000020()[ETX][BCC 0x61]
{STX}00000020(00000000){ETX}{BCC 0x00}

{ACK}[SOH]R1[STX]00000021()[ETX][BCC 0x60]
{STX}00000021(00000000){ETX}{BCC 0x01}

{ACK}[SOH]R1[STX]00000022()[ETX][BCC 0x63]
{STX}00000022(00000000){ETX}{BCC 0x02}

{ACK}[SOH]R1[STX]00000023()[ETX][BCC 0x62]
{STX}00000023(00000000){ETX}{BCC 0x03}

{ACK}[SOH]R1[STX]00000024()[ETX][BCC 0x65]
{STX}00000024(00000000){ETX}{BCC 0x04}

{ACK}[SOH]R1[STX]00000030()[ETX][BCC 0x60]
{STX}00000030(000000000000000000000000){ETX}{BCC 0x01}

{ACK}[SOH]R1[STX]00000031()[ETX][BCC 0x61]
{STX}00000031(01010204025906){ETX}{BCC 0x0E}

{ACK}[SOH]R1[STX]00000032()[ETX][BCC 0x62]
{STX}00000032(0023){ETX}{BCC 0x02}

{ACK}[SOH]R1[STX]00000033()[ETX][BCC 0x63]
{STX}00000033(7900){ETX}{BCC 0x0C}

{ACK}[SOH]R1[STX]00000035()[ETX][BCC 0x65]
{STX}00000035(0004){ETX}{BCC 0x00}

Wofür diese stehen kann ich leider nicht sagen. Ich vermute aber, dass in Register 2 die Frequenz abgelegt ist.

Ivolein

E-Mail

30.01.2013,
08:02

@ hdo26

Zähler Protokoll RS485 IEC 1107 gesucht

Hallo,

ich habe mir vor kurzem auch drei DRS110M für die Überwachung unseres Stromverbrauches gekauft.
Das Auslesen mit dem Tool (Link weiter oben) funktioniert auch.
Ich würde nun gerne die Zähler per Shell von einem Linuxrechner abfragen.

Es gibt ja ein paar freie MODBUS-Libraries - kann man eine davon verwenden? Bis jetzt hatte ich immer Probleme mit dem Passwort.

Gibt es ein Kommandozeilentool, der diese Zähler unterstützt ?

Gruß,

Michi

hdo26(R)

30.01.2013,
08:54
(editiert von hdo26
am 30.01.2013 um 08:56)


@ Ivolein

Zähler Protokoll RS485 IEC 1107 gesucht

Hallo,

die MODBUS-Libs kannst du getrost vergessen, denn es handelt sich nicht um MODBUS.

Ich habe einmal vor einigen Wochen ein kleines Python-Skript geschrieben, um die Zählerkommunikation zu testen (siehe Anhang). Um es zum Laufen zu bringen, muss du aber die pySerial Libs installieren. Das ganze lief bei mir auch unter Linux. Du kannst das Skript ja nach deinen Bedürfnissen anpassen.

hdo26

» Hallo,
»
» ich habe mir vor kurzem auch drei DRS110M für die Überwachung unseres
» Stromverbrauches gekauft.
» Das Auslesen mit dem Tool (Link weiter oben) funktioniert auch.
» Ich würde nun gerne die Zähler per Shell von einem Linuxrechner abfragen.
»
» Es gibt ja ein paar freie MODBUS-Libraries - kann man eine davon verwenden?
» Bis jetzt hatte ich immer Probleme mit dem Passwort.
»
» Gibt es ein Kommandozeilentool, der diese Zähler unterstützt ?
»
» Gruß,
»
» Michi

http://www.elektronik-kompendium.de/forum/upload/20130130085447.py

oder hier:

http://pastebin.com/WbBStBd9

ivolein

E-Mail

31.01.2013,
08:08

@ hdo26

Zähler Protokoll RS485 IEC 1107 gesucht

Hallo hd026,

vielen Dank für Dein Python-Script - damit kann ich die Zählerstände auslesen.
Auch das Auslesen der weiteren Register (Frequenz, Temperatur, VAr,...) klappt.

Gruß,

Michi

Stefan.

09.02.2013,
15:18

@ hdo26

Zähler Protokoll RS485 IEC 1107 gesucht

Hi
Ich wollt mal dein Script testen jedoch bekomme ich
Traceback (most recent call last):
File "python_script_for_iec62056-21.py", line 1, in <module>
import serial, time
ImportError: No module named serial
als Ausgabe :/

» Hallo,
»
» die MODBUS-Libs kannst du getrost vergessen, denn es handelt sich nicht um
» MODBUS.
»
» Ich habe einmal vor einigen Wochen ein kleines Python-Skript geschrieben,
» um die Zählerkommunikation zu testen (siehe Anhang). Um es zum Laufen zu
» bringen, muss du aber die pySerial Libs installieren. Das ganze lief bei
» mir auch unter Linux. Du kannst das Skript ja nach deinen Bedürfnissen
» anpassen.
»
» hdo26
»
» » Hallo,
» »
» » ich habe mir vor kurzem auch drei DRS110M für die Überwachung unseres
» » Stromverbrauches gekauft.
» » Das Auslesen mit dem Tool (Link weiter oben) funktioniert auch.
» » Ich würde nun gerne die Zähler per Shell von einem Linuxrechner
» abfragen.
» »
» » Es gibt ja ein paar freie MODBUS-Libraries - kann man eine davon
» verwenden?
» » Bis jetzt hatte ich immer Probleme mit dem Passwort.
» »
» » Gibt es ein Kommandozeilentool, der diese Zähler unterstützt ?
» »
» » Gruß,
» »
» » Michi
»
» http://www.elektronik-kompendium.de/forum/upload/20130130085447.py
»
» oder hier:
»
» http://pastebin.com/WbBStBd9