Hallo, ich möchte meinen Energiebedarf mit einem Zähler erfassen und periodisch in einer SQL DB ablegen. Zudem soll der aktuelle Stromverbrauch und der aktuelle Verbrauch je Außenleiter angezeigt werden können. Als Zähler möchte ich ein MODBUS RTU kompatibles Modell nehmen. Der Günstigste, den ich gefunden habe ist von Conard. (Das wundert mich ehrlichgesagt etwas ;-) ) http://www.conrad.de/ce/de/product/125442/?insert=U1&hk=WW2&utm_source=epro&utm_medium=seosite&utm_campaign=link&WT.mc_id=epro Wie bekomme ich die Daten vom Stromzähler nun mit einem Linux Rechner verarbeitet? Hat jemand Erfahrung mit FreeModbus? Woher bekomme ich die Informationen, welche Register ich für welche Daten (Ströme L1-3, Spannungen, Freq etc) auslesen muss? Sind diese Register zählerspezifisch oder für alle Zähler gleich/aehnlich? Gibt es gar eine Anbindung an Volkszähler oder ähnliche Projekte? Bin auf Eure Tips und Ideen sehr gespannt. Der Stromer
Da hast du dir ja was vorgenommen. Modbus ist protokollmäßig nicht ganz ohne. Vor Allem, weil da jeder Hersteller sein eigenes Süppchen kocht. Wie hast du die hardwaremäßige Anbindung der Schnittstelle gelöst?
Hardware: http://www.dealextreme.com/p/usb-to-rs232-db9-serial-port-adapter-22407 http://www.dealextreme.com/p/rs232-to-rs485-converter-6040 Aber wenn ich von Voltcraft keine Beschreibung der Register bekomme, fällt dieser Zähler wohl aus.
Im Handbuch wird wohl stehen, wo die Daten stehen....bei 40001 geht's wohl los....falls nicht ist das Ding Schrott.Ich kenne nur Modscan und Modpoll aber das laeuft unter WIN.
Nein, im Handbuch steht nix http://www.produktinfo.conrad.com/datenblaetter/125000-149999/125442-an-01-de-VOLTCRAFT_VSM103_DREHSTR_ZAEHLER.pdf
wenn es den unbedingt dieser Zähler mit undokumentierter Modbus schnittstelle sein muss, dann würde ich mir die passende PC software des Herstellers besorgen und die kommunikation seriellen mitschneiden. Die verwendeten Modbuskennungen und Register mit den angezeigten PC Werten, Strom Spannung... vergleichen und anschliessend in die eigene MC Routine implementieren
Es kann auch gerne ein anderer Zähler sein. Nur die Preisregion sollte gleich sein. Und nur S0 reicht mir nicht. Ich möchte auch Spannung, Freq, Phasenversch. etc auslesen.
Oh, das klingt spannend. Die SML-Schnittstelle der EDL-/eHZ-Geräte haben wir fast implementiert. Lt. http://itrona.ch/stuff/F2-2_PJM_5_Beschreibung%20SML%20Datenprotokoll%20V1.0_28.02.2011.pdf sind in der SML-(bzw. OBIS-)Spezifikation auch Felder für die Übertragung von U, I, F und cos Phi vorgesehen. Im Lastenheft des eHZ und EDL ist das allerdings nicht verpflichtend. Vermutlich kommt's also auf den Hersteller an, ob er das implementiert -> sieht eher schlecht aus - könnte aber eine Recherche wert sein. Der Easymeter Q3D hat's jedenfalls nicht. Falls Du hier ein passendes Gerät findest, wäre das sicher der schnellste Weg. Anderenfalls können wir (volkszaehler.org) Dir gerne helfen, das Ding anzubinden. Ein Listenmitglied kennt das Conrad-Gerät wohl: https://volkszaehler.org/pipermail/volkszaehler-dev/2011-February/000683.html Bei dem kannst Du ja mal nachfragen, ob er neue Erkenntnisse hat. Gruss, J.
Hallo Ich habe mir Ende letzten Jahres auch so ein Teil gegönnt: http://www.elektrotools.de/Produkt/Siemens-ET-Multizaehler-Wandler5000/1-oder-5-3x3-3-7KT1341 Ist nicht deine Preisklasse, ich weiss, funktioniert aber ebenfalls mit Modbus-RTU Protokoll. Dazu einen RS458_to_RS232 Konverter, und das Ganze an meinen kleinen Linux PC http://www.pcengines.ch/alix3d3.htm mit Ubuntu 10.10. Nach verschiedenen Versuchen habe ich die OpenSource ModBus Library http://libmodbus.org/ gefunden, und in der Version 2.9.2 installiert. Darin hat es verschiedene Beispiel, von welchen ich das "unit-test-server.c" als Grundlage genommen und für den Siemens Zähler angepasst habe. Dieses Program wird von einem Perl-Daemon im 5s Rhythmus aufgerufen und liefert einen Comma-separated String mit den Zähler-daten zurück. Der Siemens Zähler hat 96 16bit register, welche mit einem Befehl ausgelesen werden können, nach dem Motto, gib mir von Register 0 - 96 alles. Dannach liegen die Daten in einem C-Array (uint16_t xy[96]), und können ausgewertet werden. Grundlage ist aber ganz klar die Dokumentation, welches Register was bedeutet. Ohne die hast Du wohl keine Change. Aufgetretene Probleme: - Da der kleine PC keine RS232 Schnittstelle mehr hat, muss ich noch einen USB_to_RS232 Converter einfügen. Damit hat es bei einem Model ein Problem gegeben. Gab nur Timeouts, keine Verbindung. - Sporadisch (1-2x pro Tag) antwortet der Siemenszähler für eine Anfrage nicht. 5s später geht es dann, keine Ahnung warum. Hoffe das hilft Dir etwas Daniel
Hallo Stromer, sowas wollte ich auch. Ich habe mir das System mit Logger/Funkmodul bestellt - kostet immer noch weniger als ein Marken-Stromzaehler mit Modbus: http://www.conrad.de/ce/de/product/125441/VOLTCRAFT-SMART-METERING-SYSTEM Dann habe ich die Schnittstellenuebertragung Zaehler-Logger (RS-484) angeguckt. Mit den Infos dann ein kleines perl-Programm geschrieben das den Logger emuliert. Nun kann ich Momentanleistung und Zaehlerstand abfragen. Praktisch sieht das so aus: Zaehler <--(RS-485)--> Seriell/Ethernet-Wandler <--Netz/Internet--> Rechner. Hoffe das ich auch noch die anderen Infos auslesen kann, habe das aber noch nicht ernsthaft versucht (Der Zaehler ist gerade 4 Tage in Betrieb), aber ein mini-Test sah erfolgversprechend aus. Kann bei Interesse gerne mehr schreiben. PS.: Habe noch ein Logger/Funkmodul inklusive USB-Funkmodul zu verkaufen... Tschuess Max
Hallo Max, ich habe verstärktes Interesse. Man kann den Zähler auch einzeln für 118 EUR bei Conrad kaufen. Kannst du dein Script hier reinstellen? Hast du auch schon versucht Spannungen auszulesen? Was macht dein Script? Werden den Daten in einer mysql DB abgelegt? Ich strebe auch eine Anbindung an volkszähler.org an. Dann müsste ich nicht das Rad neu erfinden. VG Stromer PS: Hab deinen Post auch im Conrad Forum gefunden. Ich denke aber, hier sind wir besser aufgehoben... ;-)
Hallo, ich verweise 'mal auf das volkszähler-wiki: http://wiki.volkszaehler.org/hardware/channels/meters/power/vsm-103 Da habe ich meine bisherigen Erkenntnisse beschrieben. Script reiche ich nach. Also Spannung, Strom, Frequenz, Leistungsfaktor, Zählerstand kann ich auslesen :-) und schreibe die Daten in eine Datei. Max
Hallo Max, schön, dass du dich meldest. Ich habe daraufhin direkt mal einen Zähler beim blauen Klaus geordert. Für deine Infos bei Volkszähler einen dicken fetten Dank :-) Ich werde, sobald die Hardware da ist versuchen noch fehlende Infos zu ergänzen. Gruss Stromer
Danke für den tollen Beitrag! Die Länge eines Perl-Arrays bekommst du übrigens wie folgt:
1 | my @foo = qw(foo bar baz); |
2 | print scalar(@foo); |
Beitrag #5799157 wurde von einem Moderator gelöscht.
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.