Aplikace pro vizualizaci dat z MorningStar TriStar

Diskuze na téma regulátorů TriStar Morningstar
Gmouse
Příspěvky: 97
Registrován: čtv zář 15, 2011 11:50 am

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od Gmouse »

Majitelů SDS je tu víc a tohle vypadá hodně pěkně. Díky. :)
Pokusy v podobě kusu funkčního kódu jsou vítány
drama
Příspěvky: 999
Registrován: čtv črc 28, 2011 12:01 pm

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od drama »

Bezva, to je moc hezký reverzní inženýring. Pomocí tohoto je tedy možné vyčítat na jakékoliv platformě co umí alespoň HTTP request a jednoduchou aritmetiku. Díky!
Uživatelský avatar
vata
Příspěvky: 1403
Registrován: pon zář 12, 2011 11:32 am

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od vata »

Skvělé, poklona...
Inteligentní ostrov - www.vati.cz
prochazka85
Příspěvky: 221
Registrován: ned kvě 20, 2012 9:20 pm

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od prochazka85 »

zde je prakticky PHP script na vycitani dat z tristaru:

upravte si radek 3 a 4 a melo by to snad fungovat vsude.

Kód: Vybrat vše

<?

$ip_tristaru="192.168.1.1";
$klic=61; //popis klicu viz nize

/* Dostupne klice 
38 napeti baterie
51 cilove napeti
27 napeti pole
61 Sweep Vmp
62 Sweep Voc
*/

//nejdrive ziskame hodnotu Hi
if (($handle = fopen("http://".$ip_tristaru."/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=0&RHI=0&RLO=1", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
            $hi=$data[4];     }
    fclose($handle);
}

//potom ziskame hodnotu Lo
if (($handle = fopen("http://".$ip_tristaru."/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=1&RHI=0&RLO=1", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
            $lo=$data[4];     }
    fclose($handle);
}

//potom vypocteme scale factor
$scale_factor=$hi.($lo/65535);

//nacteme pozadovanou hodnotu
if (($handle = fopen("http://".$ip_tristaru."/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=".$klic."&RHI=0&RLO=1", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
            $hodnota1=$data[3];  
			$hodnota2=$data[4];     }
    fclose($handle);
}

//a provedeme vypocet
$hodnota=$hodnota1*256+$hodnota2;

//prozeneme to pres scale factor a tim dostaneme srozumitelnou hodnotu
$vysledek=(($hodnota*$scale_factor)/32768)/10;


echo $vysledek;

Přílohy
test.rar
(597 bajtů) Staženo 90 x
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od mypower.cz »

pokud mi neco neuniklo, nedalo by se cist vse hromadne jednim HTTP dotazem? Nejsem si jist ale onehda jsem to tak nejak povrchne zkoumal a mam pocit ze www rozhrani tristaru cte vsechny hodnoty zaroven v jednom dotazu a az pote je zpracuje, coz by bylo zrejme o neco efektivnejsi z pohledu sitoveho provozu.
prochazka85
Příspěvky: 221
Registrován: ned kvě 20, 2012 9:20 pm

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od prochazka85 »

muj tristar to cte presne takto, nacte stranku plus javascript a pak si pomoci ajaxu dotahuje vsechny modbus pakety pekne po jednom. Samozrejme hi a lo cte pouze jednou na zacatku session ne pro kazdou hodnotu.
Uživatelský avatar
mypower.cz
R.I.P.
Příspěvky: 4927
Registrován: pát bře 04, 2011 11:36 am

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od mypower.cz »

aha .... je to mozne. Kdybych byl navrhar jejich www rozhrani, resil bych to jako blok dat a zpracoval to az na strane www rozhrani. Duvody by byly mensi vytizeni systemu beziciho na tristaru a mensi rezie prenosu po siti (mene http dotazu). Ale samozrejme pokud to maji resene tak ze jeden dotaz = jedna hodnota, pak je to samozrejme taky reseni.
miroc
Příspěvky: 371
Registrován: ned srp 12, 2012 10:12 am
Lokalita: SK - pri TT
Systémové napětí: 48V
Výkon panelů [Wp]: 7900
Kapacita baterie [kWh]: 30
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od miroc »

To by bolo skvele, ale nejde mi to, kedze potrebujem volat tristar na porte 8088. Ak zadam klasicky IP:port, nenacita to. Vysledok da vzdy 0. Robim niekde chybu?
O malých domácich veterných elektrárňach: http://www.vawt.om2cm.sk/
prochazka85
Příspěvky: 221
Registrován: ned kvě 20, 2012 9:20 pm

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od prochazka85 »

to je divny, me to fuguje.
zkus tuhle adresu dat do browseru

Kód: Vybrat vše

http://192.168.1.1:8080/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=0&RHI=0&RLO=1
jestli to bude fungovat, tak ten port nedavej do promenne, ale primo
ho napis do toho fopenu takto:

Kód: Vybrat vše

fopen("http://".$ip_tristaru.":8080/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=0&RHI=0&RLO=1", "r")) 
miroc
Příspěvky: 371
Registrován: ned srp 12, 2012 10:12 am
Lokalita: SK - pri TT
Systémové napětí: 48V
Výkon panelů [Wp]: 7900
Kapacita baterie [kWh]: 30
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od miroc »

Aaaa, moja chyba. Zadaval som tam port, ktory je v tom tvojom programiku. Ten je iny, ako port pre webserver. Uz to je ok. Vysledok dava sice s 12 desatinnymi miestami a kazdy vysledok je iny (webserver, tvoj program, php skript), ale to bude tym, ze slnko prave vychadza a nemeria sa to v tom istom case.
Je mozne tam zakomponovat aj nejake automaticke obnovanie - znovunacitanie dat po nastavenom case?
Pre zobrazenie vykonu je ten vypocet iny?
O malých domácich veterných elektrárňach: http://www.vawt.om2cm.sk/
prochazka85
Příspěvky: 221
Registrován: ned kvě 20, 2012 9:20 pm

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od prochazka85 »

ano je to tim, ze ty data dostavs v jiny cas, nicmne ty rozdily urcite nejsou vice jak desetiny.

jinak ten muj ukazkovy php skrip nebyl myslen jako nejaka konkretni aplikace ale spise jako
demonstrace vyuziti meho navodu v praxi. Konkretni aplikaci necham rad na nekom kdo umi
php lip nez ja :-)

ano pro vypocet vykonu je jiny vzorec, stejne tak pro vypocet proudu.
miroc
Příspěvky: 371
Registrován: ned srp 12, 2012 10:12 am
Lokalita: SK - pri TT
Systémové napětí: 48V
Výkon panelů [Wp]: 7900
Kapacita baterie [kWh]: 30
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od miroc »

Znovunacitanie by som si uz nejak dorobil, s pomocou netu... :-) Ale tie odlisne vypocty pre vykon a prud by si nemohol dat?
O malých domácich veterných elektrárňach: http://www.vawt.om2cm.sk/
joseff
Příspěvky: 810
Registrován: pon srp 08, 2011 9:55 am

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od joseff »

Nedavno jsem pri pouziti aplikace pro vizualizaci dat z MorningStaru Tristaru dostal tuto chybu:
r_time_err_384.JPG
r_time_err_384.JPG (9.98 KiB) Zobrazeno 1230 x
Bylo to v okamziku, kdyz jsem mel okno aplikace minimalizovane a neco jsem nastavoval v nastaveni aplikace, takze je to asi moje chyba, jen tak informuji.
Uživatelský avatar
Frenky
Příspěvky: 815
Registrován: pon led 21, 2013 6:36 pm
Lokalita: Doubravička
Systémové napětí: 48V
Výkon panelů [Wp]: 8700
Kapacita baterie [kWh]: 25
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Doubravička

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od Frenky »

Našel jsem nějaký zajímavý projekt. Je to sice s arduinem, ale třeba to někomu pomůže při inspiraci. :-)
http://solar-monitoring-project.googlec ... svn/trunk/
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
prochazka85
Příspěvky: 221
Registrován: ned kvě 20, 2012 9:20 pm

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od prochazka85 »

takze pro zobrazeni proudovych hodnot je postup podobny jako u napetovych hodnot.
Nejdrive potrebujem dostat proudovy scale factor.
K jeho vypoctu potrebujeme Hi a Lo hodnoty

Hi ziskame:

Kód: Vybrat vše

http://192.168.1.1/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=2&RHI=0&RLO=1
Lo ziskame:

Kód: Vybrat vše

http://192.168.1.1/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=3&RHI=0&RLO=1
potom vypocteme stejnym zpusobem jako jsme to delali u V scale factoru

Vypocet I scale factoru je:
Hi+(Lo/65535)
v mem pripade
80 + (0/65535) = 800 (Pozor Hi a Lo se scitaji TEXTOVE proto tedy 80+0 = 800)

Jakmile mame proudovy scale factor
muzeme nacist napr dobijeci proud:

Kód: Vybrat vše

http://192.168.1.1/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=39&RHI=0&RLO=1
a potom stejnym vzorcem prevedeme na citelnou hodnotu, ale pouzijeme proudovy scale faktor.

((Hodnota * Iscale factor) /32768) /10


---------------------------------------------------------------------------------------------------------------------
pro vypocet vykonovych hodnot potrebujeme proudovy i napetovy scale factor.

jakmile mame tyto dva scale faktory k dispozici, muzeme si zavolat napr. vystupni vykon

Kód: Vybrat vše

http://192.168.1.1/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=58&RHI=0&RLO=1
v mem pripade treba: 1,4,2,3,244

tj:
3*256+224=1012


a pouzijeme vzorec:
(hodnota * IScale factor * VScale factor)/131072/100

tj:
(1012*800*1800)/131072/100 = 111W
prochazka85
Příspěvky: 221
Registrován: ned kvě 20, 2012 9:20 pm

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od prochazka85 »

zde pro vas mam dalsi PHP priklad, tentokrat se vsemi daty

na zacatku jsou tri funkce ktere je mozna dat do externiho souboru ale pro zjednoduseni jsem dal vse do jednoho souboru:

Kód: Vybrat vše

<?

$ip_tristaru="192.168.1.1:80";

$klice=array(
    "napeti baterie" =>array("38","V"),
    "cilove napeti"  =>array("51","V"),
	"Nabijeci proud" =>array("39","A"),
	"Napeti pole"    =>array("27","V"),
	"Proud pole"    =>array("29","A"),
	"Vystupni vykon" =>array("58","W"),
	"Sweep Vmp"      =>array("61","V"),
	"Sweep Voc"      =>array("62","V"),
	"Sweep Pmax"     =>array("60","W"),
	"Teplota Baterie"=>array("37","C"),		
	"Teplota Tristar"=>array("35","C"),
	"Kilowatty"      =>array("56","kWh"),
	);


// funkce 

function get_data($ip,$alo) {
	if (($handle = fopen("http://".$ip."/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=".$alo."&RHI=0&RLO=1", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
			$hodnota[1]=$data[3];  
			$hodnota[2]=$data[4];     }
    fclose($handle);
}
Return $hodnota;
}


function get_scale($ip,$alo){
$hi=get_data($ip,$alo);
$lo=get_data($ip,$alo+1);
$hi=$hi[2];
$lo=$lo[2];
$scale_factor=$hi.($lo/65535);
return $scale_factor;
}



function get_scaled_value($raw_data,$jednotka,$vscale,$iscale){

switch ($jednotka) {
	case "V":
	$hodnota=$raw_data[1]*256+$raw_data[2];
	$vysledek=(($hodnota*$vscale)/32768)/10;
	break;
	case "A":
	$hodnota=$raw_data[1]*256+$raw_data[2];
	$vysledek=(($hodnota*$iscale)/32768)/10;	
	break;
	case "W":	
	$hodnota=$raw_data[1]*256+$raw_data[2];
	$vysledek=(($hodnota*$vscale*$iscale)/131072)/100;
	break;
	case "C":	
	$vysledek=$raw_data[2];
	break;
	case "kWh":	
	$vysledek=$raw_data[2];
	break;
	
}
return round($vysledek,2);
}
  


 // samotny program 
  
  
$vscale=get_scale($ip_tristaru,0);
$iscale=get_scale($ip_tristaru,2);


foreach($klice as $polozka=>$hodnota)
  {
  list($alo,$jednotka)=$hodnota;
  $raw_data=get_data($ip_tristaru,$alo);
  echo $polozka . ":" . get_scaled_value($raw_data,$jednotka,$vscale,$iscale).$jednotka."<br>";
  }



vystupem aplikace jest kompletni data:

Kód: Vybrat vše

napeti baterie:26.72V
cilove napeti:29.4V
Nabijeci proud:3.69A
Napeti pole:25.48A
NProud pole:1.57A
Vystupni vykon:99.65W
Sweep Vmp:57.34V
Sweep Voc:67.55V
Sweep Pmax:88.44W
Teplota Baterie:25C
Teplota Tristar:25C
Kilowattt:148kWh

Edit: oprava v jednotce napeti pole
Přílohy
test.rar
(865 bajtů) Staženo 94 x
Naposledy upravil(a) prochazka85 dne pon kvě 06, 2013 12:32 pm, celkem upraveno 1 x.
miroc
Příspěvky: 371
Registrován: ned srp 12, 2012 10:12 am
Lokalita: SK - pri TT
Systémové napětí: 48V
Výkon panelů [Wp]: 7900
Kapacita baterie [kWh]: 30
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od miroc »

To je vynikajuce! Dakujem velmi pekne!
kWh to ukazuje akosi menej, neviem ci to nie je hodnota po niektorom resete.
Napatie pola davalo zlu hodnotu, ked som prepisal "A" na "V" tak to uz je ok. Ale to s tym nemohlo suvisiet, bolo to mozno len zle nacitane.
Keby to malo este dve veci: charge state a automaticke obnovovanie udajov, tak by tomu uz nic nechybalo. Potom by som sa uz snad vedel pohrat s nejakym krajsim grafickym vystupom. Obnovit celu stranku by som dokazal, ale to asi nie je najlepsie riesenie. O Ajaxe viem len ze existuje... :-)

edit: podla toho co vidim v programe s tym asi prepisanie A na V suviselo... :-)
Naposledy upravil(a) miroc dne pon kvě 06, 2013 11:58 am, celkem upraveno 1 x.
O malých domácich veterných elektrárňach: http://www.vawt.om2cm.sk/
Uživatelský avatar
Frenky
Příspěvky: 815
Registrován: pon led 21, 2013 6:36 pm
Lokalita: Doubravička
Systémové napětí: 48V
Výkon panelů [Wp]: 8700
Kapacita baterie [kWh]: 25
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Doubravička

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od Frenky »

Děkuji moc pane, tady je vážně každý den svátek. Jeden den napíšeš ježíškovi a druhý den máš dárek. Trochu jsem to oprášil (Nproud pole v A asi není ta správná jednotka 8-) ). Chodí to skvěle. PARÁDA :yes:
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
Uživatelský avatar
Frenky
Příspěvky: 815
Registrován: pon led 21, 2013 6:36 pm
Lokalita: Doubravička
Systémové napětí: 48V
Výkon panelů [Wp]: 8700
Kapacita baterie [kWh]: 25
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Doubravička

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od Frenky »

Ta špatná hodnota Napětí pole samozřejmně souvisí, viz program. Protože když dáš "A", tak se to počítá podle vorce na proud (iscale). Takže je to potřeba opravit! Ale alespoň to není taková nuda, vždy je potřeba trochu postudovat materiál. Ještě jednou D Ě K U J I autorovi za prográmek.
Snažím se příklad aplikovat na zařízení SDS, ale zatím se mi nedaří. Nemohu od tristaru dostat odpověd přes funkci
http_get(192,168,1,251,'192.168.1.251','/MBCSV.cgi?ID=1&F=4&AHI=0&ALO=35&RHI=0&RLO=1');
Pokusím se ještě postudovat. Další pokus udělám s tím, že uvedený příklad nahraji do SDS, výsledky uveřejním zde. :yes:
24x Solární panel JINKO SOLAR 225 Pmpp=225W, 2x Regulátor STUDER VT-80, 2x Střídač Studer XTM 4000-48, BSP, RCC, 1x AKU 48V LFP200Ah 1x AKU 48 V LFP280Ah. Řizení a dohled, SDS, vlastní vyčítání arduinem DUE v krabičce (ARMOSY), export dat do RPi s databází a html stránkou.
http://95.85.214.80, viewtopic.php?t=4809
prochazka85
Příspěvky: 221
Registrován: ned kvě 20, 2012 9:20 pm

Re: Aplikace pro vizualizaci dat z MorningStar TriStar

Příspěvek od prochazka85 »

samozrejmne mate pravdu, byla to moje chyba v poli "Napeti pole" =>array("27","A"), byla chybne uvedena jednotka A melo tam byt V

  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek