'Inteligenty' dom ze sterownikiem PLC

 Language:
Szukanie zaawansowane  

Aktualności:

Powrót do strony głównej: www.edom-plc.pl

Autor Wątek: Odczyt licznika energii (impulsator)  (Przeczytany 2599 razy)

dar3k

  • Newbie
  • *
  • Wiadomości: 11
    • Zobacz profil
Odczyt licznika energii (impulsator)
« dnia: Kwietnia 30, 2018, 09:27:13 pm »

Większość liczników energii ma wyjście impulsowe (najczęściej 1000imp /kWh), chciałbym odczytać taki licznik i stworzyć z niego trend w wizualizacji coś jak tutaj: http://pvmonitor.pl/sklep/index.php?id_product=17&controller=product ma ktoś jakiś przykład jak to wykonać ?
Zapisane

abdenago

  • Newbie
  • *
  • Wiadomości: 12
    • Zobacz profil
Odp: Odczyt licznika energii (impulsator)
« Odpowiedź #1 dnia: Czerwca 11, 2018, 11:54:02 am »

Cześć,

W moim przypadku licznik zamontowawłem odwrotnie, i mierzy ilość prądu oddawanego do sieci (fotowoltaika).
Jak to rozwiązałem, po kolei:
1. wyjście impulsowe podpiąłem do wejścia cyfrowego na sterowniku
2. napisałem program zliczający czas między impulsami, który odpala się za każdym razem gdy impuls zewrze wejście (czyli task, type -> triggered by event). Czas między impulsami zamieniam bezpośrednio na KW.
przykład:

timeout := TIME() - newtime;
newtime := TIME();
timeoutreal:=TIME_TO_REAL(timeout);
IF timeoutreal = 0 OR timeoutreal > 36000 THEN timeoutreal :=36000; END_IF;
MocPV := 3600 / timeoutreal;
MocPV:=ROUND(MocPV, 2);

3. napisałem mikroskrypt w shellu czytajacy wartość zmiennej MocPV:

#!/bin/bash
address=$(curl -s "http://192.168.9.100/PLC/plc_visu.xml" | grep '<variable name=".MocPV">' | grep -o -P "(?<=>).*(?=<)" | sed -r "s/[,]+/|/g")
curl -s --data "|0|1|0|$address|" http://192.168.9.100/PLC/webvisu.htm | sed 's/[\|]//g'


4. skrypt zwraca gotową do wklejenia gdziekolwiek wartość oddawanej mocy. równolegle podobnymi skryptami odczytuję inne wartości które mnie interesują.

5. Całość wrzucam do zabbix'a - nie wiem czemu wybrałem akurat jego - chciałem się nauczyć.

Wynik widać w załączniku:
Zielona krzywa to moc generowana przez panele, pobierana z inwerterów
Niebieska to moc odczytywana powyższym sposobem z odwróconego licznika
czerwona to aktualne zużycie (bazowane na różnicy między zielonym a czerwonym)
różowy to grzejnik 1kw + wentylator które stoją sobie w piwnicy. Zasada taka - jak oddawana do sieci moc osiągnie 6kW, grzejnik ma się włączyć. Jak moc spadnie do 3kW, grzejnik ma się wyłączyć.

Pozdr



« Ostatnia zmiana: Czerwca 11, 2018, 11:55:36 am wysłana przez abdenago »
Zapisane