[vz-dev] Fwd: watchcat.c und Hardwareansteuerung

Florian Ziegler fz at f10-home.de
Wed Apr 28 19:20:56 CEST 2010


hi,

ok, ich hab das jetzt soweit mal mit meinem etherrape und der watchasync-
Variante und zumindest einer Drahtbrücke zum Pulserzeugen am laufen (Zähler 
gibts am Wochenende).

eines ist mir aufgefallen: für den HTTPLOG-Server lässt sich keine IP angeben, 
er versucht die IP dann per DNS aufzulösen.


>ich hatte ursprünglich auch MySQL - der Grund zu wechseln: MySQL kennt kein 
>Zeitformat mit einer feineren Auflösung als 1 Sekunde. Das ist dann doof, 
>wenn man (je nach Zählerauflösung und aktueller Leistung) dann mehr als 1 
>Impuls/Sekunde hat...

>Daher kommen auch die Sprünge - wenn Du Dir z.B. die Werte zwischen 7:10 und 
>7:23 anschaust, siehst Du, dass die Leistung zwischen 4 Leistungswerten hin- 
>und herspringt.

>Was für Dich der Grund, MySQL zu nutzen?
- ok, ich arbeite schon länger mit mysql
- die Installation für einen lokalen Server scheint mir einfacher
- aber am wichtigsten: mysql gibt es für jederman erschwinglich mit 08/15 
Webspace

Für die fehlende Millisekundenauflösung hatte ich zwei Möglichkeiten 
ausprobiert:
- ein zweites Feld für die Millisekunden
- pro Event die Anzahl der Pulse speichern:
	bei Impulsabständen kleiner 1s ist der Wert 1
	kommen 3 Impulse innerhalb einer Sekunde eben 3
	deshalb auch die Sprünge (Vielfache von 3600W)

Funktioniert beides.

Wobei vom Controller ja sowieso nur Sekunden-Timestamps kommen, von daher ist 
die Millisekundenauflösung ja nur künstlich am Server erzeugt.

Schön wäre es natürlich, am Controller höher aufzulösen und evtl. auch pro 
Upload mehrere Timestamps zu übermitteln.


Gruß flo


Am Mittwoch, 28. April 2010 10:53:24 schrieb Justin Otherguy:
> ...huch - nur direkt geantwortet...
> 
> Anfang der weitergeleiteten E-Mail:
> > Von: Justin Otherguy <justin at justinotherguy.org>
> > Datum: 28. April 2010 10:46:24 MESZ
> > An: Florian Ziegler <fz at f10-home.de>
> > Betreff: Re: [vz-dev] watchcat.c und Hardwareansteuerung
> > 
> > Hi flo,
> > 
> > Am 26.04.2010 um 20:29 schrieb Florian Ziegler:
> >> Hallo in die Runde!
> >> 
> > :-)
> > :
> >> welche Änderungen sind denn an watchcat.c notwendig
> > 
> > hier die modifizierte watchcat.c:
> > 
> > 
> > Anmerkungen dazu:
> > - alle auf dem AVR-Net-IO nutzbaren Ports werden darin überwacht (Port A:
> > Bits 0-7; Port C: 0-5; Port D: 2-7) - der Code ist alles andere als
> > elegant, funktioniert aber so
> > - der Code arbeitet im Polling-Modus - das führt dazu, dass Impulse
> > verloren gehen, sobald nicht genügend Zeit zwischen 2 Impulsen liegen
> > 
> > Das Timing sieht in etwa so aus:
> > - ein per httplog abgesetzter Request dauert ca. 1/2 Sekunde
> > 
> >   -> max. 2 Requests/Sekunde
> > 
> > - der S0-Impuls liegt für ca. 90 ms an
> > 
> > Will sagen:
> > das funktioniert relativ zuverlässig - bis zu einer bestimmten
> > Impulsfrequenz.
> > 
> > Du solltest daher (und das ist die derzeit bevorzugte Methode)
> > "watchasync" an Stelle von watchcat+httplog verwenden. Anmerkungen
> > hierzu: - Jens hat darin den Interruptbetrieb implementiert
> > - darin wird derzeit PortC überwacht
> > - httplog hat er ebenfalls modifiziert und gleich eingebaut; mit dabei
> > ist auch ein Ringpuffer für das Absetzen der HTTP-Requests - wegen der
> > interrupts benötigst Du hierzu einen ATmega644 oder ATmega644p -> das
> > läuft viel zuverlässiger, insbesondere bei einer höheren Impulsfrequenz
> > (bzw. bei kürzeren Abständen zwischen 2 Impulsen)
> > 
> >> und wie ist die
> >> Hardwareanschaltung der Stromzähler für ein Etherrape?
> > 
> > über das Etherrape-Board weiss ich bislang sehr wenig.
> > Die Fragen sind:
> > - welche Ports des Controllers (Port A - D) sind einfach nutzbar? das
> > Net-IO bietet einen Teil der Ports an einer 25-pol.-Sub-D, einen Teil an
> > Schraubklemmen, einen Teil an einem 10-pol. Wannenstecker an - falls Du
> > (vielleicht auch erst mal) den Pollingbetrieb nutzen willst, ist alles
> > i.O. - falls Du den Interruptbetrieb nutzen willst, und Port C auf dem
> > Etherrape nicht einfach nutzbar sein (der liegt beim Net-IO auf der
> > Sub-D), müsste watchasync angepasst werden; falls Du hier Unterstützung
> > brauchst, hilft Dir Jens sicherlich (Mail an die Liste...)
> > 
> > Ansonsten sehe ich im Moment keine Schwierigkeiten.
> > 
> > Alles klaro?
> > 
> > 
> > Gruss, J.


More information about the volkszaehler-dev mailing list