Stromzähler Voltcraft VSM-102

Hallo,

kennt jemand den Drehstromzähler Voltkraft VSM-102. Dieser Stromzähler ist relativ günstig.
Dieser hat eine RS 485 Schnittstelle. Kann ich über diese Daten in IPS auslesen? In der Beschreibung sind die Datenpakete beschrieben, also sollte es gehen.
Hat das schon wer probiert?

Gruß garfi

Hallo.

Hat sich hier noch etwas ergeben? Habe den Zähler verbaut und bekomme die Auslesung über RS485 nicht zum laufen. Der Zähler arbeitet nach Telegramm C DIN EN 62056-21, stellt sich aber leider tot.

Grüsse.

Ein Wandler USB(RS232) auf RS485 hast Du. Schon mal DTR auf true gesetzt. Wie ist der Wandler wenn angeschlossen.

Hallo Rainer.

Ich habe zwei Wandler ausprobiert. Einmal von USB auf RS-485 und einmal von RS-232 auf RS-485. Erster hat den PL2303-Chipset drin.

IPS habe ich mittlerweile ganz aussen vor gelassen. Bin vom Programmlevel her mit einem Port-Sniffer und Putty schon fast ganz unten angekommen - es regt sich einfach nichts.

Der Zähler ist ganz brav mit A und B bezeichnet - die RS-485 auch. Habe aber auch schon die Kabel vertauscht als Blindtest. Der Zähler verkraftet das.
Auch ein Test mit EDL-Cockpit lief ins leere - wobei ich das als nicht aussagekräftig einordenen würde.

Ich habe so die Vermutung, dass der Zähler irgendwie auf eine Startsequenz wartet bis er anfängt zu senden. In der Doku zu der EN-Norm habe ich aber da nichts finden können. Beim Zähler ebenso wenig.

Geh doch mal mit Hyperterminal drauf, dort kannst Du auch den DTR setzen. Die Baudrate und das DatenBit stimmt, dass ist nämlich 7 und nicht 8!

Ps: als Adapter kann ich immer nur welche mit FTDI Chip empfehlen.

Also das Ding antwortet. Wenn ich ihm eine Sequenz schicke bekomme ich immer dieselbe Antwort. Schicke ich ihm eine andere - kommt eine andere Antwort - auch immer identisch. Also es kommt irgend etwas koordiniert zurück.

Er schickt aber nicht wie andere Zähler von sich aus in regelmäßigen Intervallen ein Telegramm. Wobei die OBIS-Kennzahlen schön brav im Handbuch beschrieben sind. Was nicht beschrieben ist wie man ihn animieren kann das Telegramm regelmäßig zu senden oder ob und wie man Parameter gezielt abfragen muss.

Meine Anfrage beim grossen „C“ blieb bisher unbeantwortet.

nabend!

weiss nicht, ob es brauchbar ist: volkszaehler.org - wiki - VSM-103 von Conrad

Gruss, Michael

Hallo.

Nach einer gefühlten Ewigkeit habe ich nun endlich Antwort vom Hersteller erhalten. Entgegen dem Handbuch steht der Zähler standardmäßig im Betriebsmodus Mode A IEC1107 und sendet daher nicht selbstständig Telegramme über die RS-485 raus. Man muss ihn erst über die Schnittstelle in den Mode C umschalten. Erst dann sendet er Telegramme selbstständig ab.
Befehle wie folgt:

Senden : „/?!“ + CR + LF
Antwort: „/EFR7\EFR-M4-…“
Senden : „ACK+“
Pause
Senden : „050“+CR+LF

Dabei entsprechen ACK = 0x06, LF = 0x0A und CR = 0x0D.

Erst dann gibt er die Daten wie in der Anleitung beschrieben aus. Diese Abweichung von Soll und Ist hat mich zwei Abende gekostet :rolleyes:.

Wenn man Hersteller für die Summe der Zeit einsperren würde, die Sie mit solchen Aktionen bei den Anwendern verplempern könnte man die Zellenschlüssel glatt wegwerfen…

Nachdem ich darauf angesprochen worden bin wie das mit dem Zähler funktionieren kann mache ich mal meine Lösung öffentlich.

  1. RS-485 Schnittstelle kaufen und in Windows und IPS unter COMx mit Parametern 9600/7E1 einbinden.

  2. Cutter einrichten mit obiger Schnittstelle als übergeordnete Instanz.
    Schnitte benutzerdefiniert

Linke Trennzeichen HEX
31 2D 30 3A 30 2E 30 2E 30 2A 32 35 35 28 47 45 54 54 4F 4E 45 29 0D 0A

Rechte Trennzeichen HEX
31 2D 30 3A 39 36 2E 35 2E 35 2A 32 35 35

  1. Variablen anlegen wie abgebildet.

  2. Textparser mit übergeordneter Instanz obiger Cutter anlegen.

  3. Regeln im Textparser wie abgebildet anlegen und den Variablen zuordnen.

  4. Skript anlegen und alle z.b. alle 30 Sekunden ausführen:

<?
// Auslesen anstossen
$sequenz = "/?!".chr(13).chr(10);
COMPORT_SendText(39893 /*[RS-485 VSM102]*/ , $sequenz); //COMPORT INSTANZ VSM-102
IPS_Sleep(1000);
$sequenz = chr(6)."050".chr(13).chr(10);
COMPORT_SendText(39893 /*[RS-485 VSM102]*/ , $sequenz); //COMPORT INSTANZ VSM-102
?>

Läuft bei mir zuverlässig seit Mitte November und für das was der Zähler kann ist er richtig günstig. Wenn mir irgendwann mal langweilig ist werde ich mich noch hinsetzten und den Cutter+Parser durch ein Skript ersetzen.

Grüsse.

Bilder vergessen:

Hallo kronos,

was gibts neues an der VSM102 Front. Klingt sehr interessant was Du da vollbracht hast.

Hallo.

Es läuft und läuft und läuft… :slight_smile:

Neuigkeiten also keine da kein Anlass bestand etwas daran zu ändern.

Hallo,
wenn ich nur den VSM-102 an der RS485 Schnittstelle habe, muß ich da einen Abschlusswiderstand dran setzen?

War bei mir nicht notwendig.

Gut. Dann werd ich heut Abend mal meinen Sicherungskasten umbauen. Außer den Parametern 9600/7E1 brauche ich an der RS485 nichts weiter einstellen?

Im Prinzip nicht. Ich will aber auch nicht verschweigen, dass ich von drei verschiedenen RS-485-Interfaces nur bei zweien Erfolg hatte. Das erste (Delock) lief bei mir nicht. Ein zweiter anderer USB/RS-485 Wandler anderer Bauart lief auf Anhieb. Jetzt habe ich einen Device Server der auch sehr gut funktioniert.

Hallo nochmal,

Jetzt hab ich alles eingebaut. Nur Leider kommen keine Werte an. Hab mal ein Debug von SerialPort und Cutter gemacht. Die bringen was. Im Text Parser Debug geht nichts los. Was kann da los sein? Kann das u.U. an Wandler liegen? Sorry, bin leider kein Programmierer. Versuche aber, mich langsam ran zu tasten.

Hallo kronos,

Bin jetzt vielleicht etwas weiter. Beim senden von „/?!“+CR+LF kommt jedesmal nach /EFR5… etwas anderes. Könnte es sein das der USB->RS485 nicht so recht dafür funzt?

Danke

Hi.

So weit weg bist Du anscheinend gar nicht mal vom Ziel. Bei mir sieht der Debug so aus:

Würde auf Fehler in der Verkabelung oder den Schnittstellenparametern tippen. Sieht ganz offensichtlich so aus als wenn Teile der Daten korrekt, andere Teile verstümmelt ankommen.

Hallo,
was soll man bei zwei Adern falsch machen, ausser zu verpolen :slight_smile:
Und bei Schnittstelle 9600/7,1E?
Morgen bekomme ich einen anderen Wandler. Da mal schaun.
Kann Dein Debug Bild im Zoom leider nicht richtig erkennen. Ist nur die markierte Zeile zu sehn. Vielleicht kannst es nochmal aktualisieren.
Danke