Zeitimpulse Datumsabhängig

Mxoxrxii

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe folgende Frage/Problem:
Ich möchte über den Datenlogger eine Visualisierung von Verbräuchen darstellen. Leider liefern meine Verbauten Messgeräte/Zähler über Modbus nur die insgesamt verbrauchte Energie. Dies muss ich nun so verrechnen dass die Werte Tages/Wochen/Monats/Jahresabhängig gespeichert werden. Grundsätzlich würde ich mit Move Bausteinen arbeiten und simpel dann die Werte Subtrahieren. Gibt es dafür irgendwo vorgefertigte Bausteine?
Nun zur eigentlichen Frage: Ich bin noch neu in Codesys. Wie realisiere ich am besten eine Schaltung welche ein Impuls bei einer Stunden/Tages/Monats/Jahresänderung gibt?
Danke schonmal
 
Wie realisiere ich am besten eine Schaltung welche ein Impuls bei einer Stunden/Tages/Monats/Jahresänderung gibt?
Du liest dir einfach die Systemzeit ein und vergleichst z.B. die Stunde mit dem letzten Stundenwert (neue Variable) bei dem du etwas gemacht hast.
Ist dieser wert unterschiedlich dann führe deine Aktion durch und schreibe den aktuellen Stundenwert in deine Variable.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dies muss ich nun so verrechnen dass die Werte Tages/Wochen/Monats/Jahresabhängig gespeichert werden. Grundsätzlich würde ich mit Move Bausteinen arbeiten und simpel dann die Werte Subtrahieren. Gibt es dafür irgendwo vorgefertigte Bausteine?
Was willst du denn da vorgefertigtes haben - sind doch ganz simpel Rechenoperation - das kann die SPS doch ...
 
Dies muss ich nun so verrechnen dass die Werte Tages/Wochen/Monats/Jahresabhängig gespeichert werden. Grundsätzlich würde ich mit Move Bausteinen arbeiten und simpel dann die Werte Subtrahieren. Gibt es dafür irgendwo vorgefertigte Bausteine?
Ja, Sub und Add ;)
Nee, da wird es eher nichts fertiges für die SPS geben, weil das so simpel ist, und für das, was komplizierter ist, eine SPS nicht geeignet ist.

Den Zählerstand mindestens bei jedem Tageswechsel in einem Archiv abspeichern, so kann nachträglich der Verbrauch über jeden gewünschten Zeitraum aus der Differenz der Zählerstände berechnet werden. Drüber nachdenken, was passieren muss, falls der Zähler mal ausgetauscht wird oder überläuft oder auf 0 zurückgestellt wird. Oder sonstige Zählerstandsprünge verarbeitet werden müssen. Zählerstände als für Langzeit-Erfassung ausreichend große Ganzzahl verarbeiten.

Je nachdem, wie wichtig die erfassten und gesammelten Werte sind (oder falls gesetzliche Vorgaben existieren), das Archiv nicht in einer SPS oder HMI speichern, sondern in Servern der IT-Infrastruktur. Möglicherweise gleich ein fertiges externes Software-Gesamtpaket (z.B. Janitza GridVis) zur Verbrauchserfassung/Auswertung/Darstellung einsetzen, da sind die meisten Probleme schon gelöst, von denen du jetzt noch nichtmal träumst.

Wie realisiere ich am besten eine Schaltung welche ein Impuls bei einer Stunden/Tages/Monats/Jahresänderung gibt?
Die Uhrzeit des Systems synchronisieren mit einem Uhrzeit-Server. Systemzeit einlesen und auswerten. Mit dem Impuls noch eine kleine Ausschaltverzögerung von einigen Sekunden erzeugen, die eine erneute Auswertung und Impulserzeugung blockiert, falls die Systemuhr durch Uhrzeit-Synchronisation etwas zurück-gestellt wird. Den Soll-Triggerzeitpunkt nicht zu genau auswerten, sondern mit >= (gößer oder gleich) arbeiten, falls die Sekunde mal übersprungen wird wegen Uhrzeit-Sync. Oder sich merken, dass der Trigger schon erzeugt wurde und nicht nochmal erzeugt wird. Drüber nachdenken, ob die Pulse aus der Lokalzeit oder doch besser aus der Systemzeit abgeleitet werden können. Lokalzeit hat Sommerzeit-bedingte Vorwärts-/Rückwärts-Sprünge.
 
Danke schonmal für den Input.
Bei uns sind ca 20 Janitza verbaut. Diese möchte ich eben auslesen und eine Webvisu dazu aufbauen. Diese wird eigentlich nur zur Veranschaulichung verwendet und zur Kundenpräsentation. Außerdem ist das für mich auch ein Übungsprojekt.
Wie realisiere ich am besten das abspeichern in eine Datei?
Schließlich wollte ich ja die letzten Tageswerte immer in der CSV Datei für den Datenlogger speichern.
Das funktioniert soweit auch. Ich scheitere an dem Vergleichen der Uhr und dem sicherstellen das nach beispielsweise einem Stromausfall die werte von dem aktuellen Monat dann nicht weg sind. Den Baustein den ich für die Uhr verwendet habe gibt mir das Datum und die Uhrzeit als eigenen String aus. Vergleiche ich also immer den Tag und sobald dort eine Änderung stattfindet startet sozusagen die Zählung bis zur nächsten Änderung. Falls ja wie mache ich das am besten?
Bei den Monats und Jahreswerten addiere ich die dann solange der Monat/Jahr gleich ist und unterbreche dass dann auch sobald dieser wieder vorbei ist. Das ganze sollte aber auch, ich sag mal skalierbar sein auf 20-30 Geräte und evtl. auch eingespeiste Leistung.
Danke
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, Sub und Add ;)
Nee, da wird es eher nichts fertiges für die SPS geben, weil das so simpel ist, und für das, was komplizierter ist, eine SPS nicht geeignet ist.
Du hast ja gar nicht so Unrecht, Harald. Aber muss man einem SPS-Frischling wirklich einbläuen, dass alles, was komplizierter ist als Subtraktion oder Addition, nicht für eine SPS geeignet ist? :unsure:
 
Zurück
Oben