Gut, ich versuch das mal zusammen zu fassen:
Du hast max 27kWh mit 1000 Imp je Wh oder 0.001Wh / Impuls.
Maximale Impulsanzahl 27000 je Stunde ^= 7,5 Imp pro Sekunde.
Impulsdauer 40 ms.
Sollte für einen normalen Digitaleingang keine Schwierigkeiten machen.
So, jetzt Grundlagen zur Impuls-Auswertung.
Grundsätzlich gibt es für sowas meherere Varianten und man sollte sich, je nach Impulsbild, für eine entscheiden:
1. Zählen der Impulse in einem fixen Zeitintervall.Man zählt zum Beispiel wie viele Impulse in einer Minute (oder einem Zeitintervall) ankommen und rechnet damit weiter.
Vorteil: Einfach, funktioniert gut bei höherfrequenten Signalen. Mittelwertfilter integriert.
Nachteil: Liefert schlechte Ergebnisse wen man nur wenige Impulse in seinem Zeitintervall bekommt.
Manchmal können die Impulse so liegen dass man in einem Zeitintervall einen mehr hat als im nächsten.
2. Messen des Impulsabstands zwischen 2 ImpulsenMan misst die Zeit zwischen 2 Impulsen und verrechnet diese dann (wie oben bereits beschrieben)
Vorteil: Funktioniert genauso exakt auch wenn mal wenig oder mehr Impulse kommen.
Nachteil: Bei Höherfrequenten Signalen (bezogen auf einen normalen DI, max. 20 Takte pro Sekunde) kommt zum Tragen,
dass du für die Zeitbestimmung eigentlich immer auf irgendeine Ungenauigkeit festgenagelt bist.
Mal abgesehen von Interrupts und schnellen Zählern etc. Von Zeitungenauigkeit durch Hardware sprechen wir gar nicht.
3. Kombination aus beidem
Bis zu einem gewissen Maß (z.B.: 1s) zählt man Impulse pro Sekunde, fällt dann der Abstand zwischen
zwei Impulsen länger aus (genau genug für Zeitmessung) verwendet man den Zeitabstand.
Vorteil: ziemlich genau
Nachteil: aufwändig
Wie IPC Bernhard schon gepostet hat, verwendet man häufig den SFC64 (basiert auf der Systemzeit) oder die SFBs TON,TOF.
Die Systemzeit unterliegt bei S7-300-System einer Genauigkeit von 10ms.
<EDIT> Onkel Dagobert hat mich weiter unten in diesem Punkt schon verbessert</EDIT>
Für eine theorethische Überlegung ist es allerdings nicht schlecht, damit du ein Gefühl bekommst was ein paar Millisekunden ausmachen können.
Die Hardware-Timer sind schon formatbedingt nicht genauer.
So in deinem Fall nehme ich mal an das du im Normfall zwischen 10kWh (2,8 Imp/s) und 20kWh (5,6 Imp/s) liegst.
Variante 2 klingt schon ganz gut. Gehen wir mal von einem Zeitfehler von +/-5ms.
Bei 10kWh im schlechtesten Fall ein Ergebnis von 9,863kW oder 10,140kW
Bei 20kWh im schlechtesten Fall ein Ergebnis von 19,459kW oder 20,571kW
Wie du siehst können 5ms schon einiges ausmachen. Und von anderen Ungenauigkeiten haben wir noch gar nicht gesprochen.
Im unteren Messbereich fällt die Ungenauigkeit kaum auf:
Bei 1kWh im schlechtesten Fall ein Ergebnis von 0,998kW oder 1,001kW
Du musst also schon bei der Konzeption abschätzen in welchem Bereich sich der Messwert (nomineller Impulsabstand) am häufigsten
befindet und dann die beste Variante wählen.
UND uns das auch genau so sagen.
Puh, ich glaub ich hab grad nen halbes FAQ geschrieben, jetzt weiß ich wie's PN/DP immer geht.
Fühlt euch frei die Fehler die ich beim Rechnen/Denken gemacht habe aufzuzeigen.
PS: Beim Nutzen von SFC64 muss man den Überlauf beachten!