Autor | Zpráva | ||
---|---|---|---|
jtfcobra Profil |
Přepočet celého dne imlulzů a případně při výpadku elektříny dopočet čísla
Příjímám data viz níže přepočítávám fukncí ale když nastane výpadek elektříny počítadlo jde znovu od nuly a hned to rohodí děnní spotřebu poradíte co s tím? function get_max($file) { $rows = file($file); $cycles = 0; $previous = -1; foreach ($rows as $row) { list($time, $value) = explode(',', $row); $value = intval($value); # převedení na číslo if ($value < $previous) { $cycles++; } $previous = $value; } return $cycles * 65536 + $value; } 21.7.2014 00:28:40 0 21.7.2014 00:58:47 0 21.7.2014 01:28:54 0 21.7.2014 01:59:00 0 21.7.2014 02:29:11 0 21.7.2014 02:59:17 0 21.7.2014 03:29:24 0 21.7.2014 03:59:31 0 21.7.2014 04:29:37 0 21.7.2014 04:59:44 0 21.7.2014 05:29:51 0 21.7.2014 05:59:58 0 21.7.2014 06:30:04 0 21.7.2014 07:00:11 0 21.7.2014 07:30:22 0 21.7.2014 08:00:29 120 21.7.2014 08:30:35 175 21.7.2014 09:00:43 175 21.7.2014 09:30:51 175 21.7.2014 10:00:58 309 21.7.2014 10:31:05 1292 21.7.2014 11:01:13 2026 21.7.2014 11:31:21 2026 21.7.2014 12:01:27 2026 21.7.2014 12:31:34 2026 21.7.2014 13:01:41 2159 21.7.2014 13:31:47 2583 21.7.2014 14:01:54 2784 21.7.2014 14:32:01 2784 21.7.2014 15:02:08 2784 21.7.2014 15:32:15 2784 21.7.2014 16:02:22 2784 21.7.2014 16:32:29 2784 21.7.2014 17:02:36 2784 21.7.2014 17:48:39 43 !!!!!výpadek elektříny počítá od znova!!!! 21.7.2014 18:18:46 43 21.7.2014 18:48:54 43 21.7.2014 19:19:06 220 21.7.2014 19:49:12 477 21.7.2014 20:19:21 528 21.7.2014 20:49:28 528 21.7.2014 21:19:35 528 21.7.2014 21:49:41 528 21.7.2014 22:19:48 528 21.7.2014 22:49:55 528 21.7.2014 23:20:02 528 21.7.2014 23:50:09 528 |
||
mimochodec Profil |
#2 · Zasláno: 10. 8. 2014, 16:07:00
Nechápu, jak ti může fungovat to explode, když tady žádnou čárku nemáš.
if ($value < $previous) { - tady detekuješ změnu dne pomocí něčeho, nejspíš pomocí té naměřené hodnoty elektroměru. Nehlídej tuhle hodnotu, hlídej čas.
|
||
jtfcobra Profil |
#3 · Zasláno: 10. 8. 2014, 16:22:54
mimochodec:
Tohle jsou data co po tom ctu 00:01:17,45477 00:31:24,2179 01:01:30,4358 |
||
mimochodec Profil |
jtfcobra:
Nevím, co znamená "po tom ctu". Ta funkce tohle asi nevrací. A pořád pochybuju o tom, že ta funkce pracuje s těmi daty, cos napsal. Není tam čárka, takto použitý explode nemůže fungovat. Každopádně to vypadá, že detekuješ konec něčeho podle třetí hodnoty v řádku. Jestli hledáš předěl dne, použij pro ten účel sloupec s časem. |
||
jtfcobra Profil |
#5 · Zasláno: 10. 8. 2014, 17:05:35
mimochodec:
Cely kod <?php // Vypocet impulzu celeho dne function get_max($file) { $rows = file($file); $cycles = 0; $previous = -1; foreach ($rows as $row) { list($time, $value) = explode(',', $row); $value = intval($value); # převedení na číslo if ($value < $previous) { $cycles++; } $previous = $value; } return $cycles * 65536 + $value; } $macadresa= $_GET["mac"]; $db = mysql_connect($hostname_test, $username_test, $password_test); mysql_select_db($database_test,$db); $result=mysql_query("SELECT * FROM merenisystem.quido WHERE DATE(DATUM) = DATE(NOW()) AND `MAC` LIKE '%".$macadresa."%' AND CAS > TIME('00:09:00') ",$db); $radku = mysql_num_rows($result); //$qr=mysql_query("SELECT * FROM merenisystem.quido WHERE DATE(DATUM) = DATE(NOW()) AND `MAC` LIKE '%".$macadresa."%' ",$db); $soubor1=fopen($_GET["mac"]."data1.txt", "w+"); $soubor2=fopen($_GET["mac"]."data2.txt", "w+"); $soubor3=fopen($_GET["mac"]."data3.txt", "w+"); $soubor4=fopen($_GET["mac"]."data4.txt", "w+"); $soubor5=fopen($_GET["mac"]."data5.txt", "w+"); $soubor6=fopen($_GET["mac"]."data6.txt", "w+"); $soubor7=fopen($_GET["mac"]."data7.txt", "w+"); $soubor8=fopen($_GET["mac"]."data8.txt", "w+"); $soubor9=fopen($_GET["mac"]."data9.txt", "w+"); $soubor10=fopen($_GET["mac"]."data10.txt", "w+"); $soubor11=fopen($_GET["mac"]."data11.txt", "w+"); $soubor12=fopen($_GET["mac"]."data12.txt", "w+"); $soubor13=fopen($_GET["mac"]."data13.txt", "w+"); $soubor14=fopen($_GET["mac"]."data14.txt", "w+"); $soubor15=fopen($_GET["mac"]."data15.txt", "w+"); $soubor16=fopen($_GET["mac"]."data16.txt", "w+"); $soubor17=fopen($_GET["mac"]."data17.txt", "w+"); $soubor18=fopen($_GET["mac"]."data18.txt", "w+"); $soubor19=fopen($_GET["mac"]."data19.txt", "w+"); $soubor20=fopen($_GET["mac"]."data20.txt", "w+"); for($i=0;$i<$radku;$i++) { $cas=mysql_result($result,$i,"CAS"); $datumzacatek=$data["DATUM"]; $text1 = $cas.",".mysql_result($result,$i,"VSTUP1")."\n"; fwrite($soubor1, $text1); $text2 = $cas.",".mysql_result($result,$i,"VSTUP2")."\n"; fwrite($soubor2, $text2); $text3 = $cas.",".mysql_result($result,$i,"VSTUP3")."\n"; fwrite($soubor3, $text3); $text4 = $cas.",".mysql_result($result,$i,"VSTUP4")."\n"; fwrite($soubor4, $text4); $text5 = $cas.",".mysql_result($result,$i,"VSTUP5")."\n"; fwrite($soubor5, $text5); $text6 = $cas.",".mysql_result($result,$i,"VSTUP6")."\n"; fwrite($soubor6, $text6); $text7 = $cas.",".mysql_result($result,$i,"VSTUP7")."\n"; fwrite($soubor7, $text7); $text8 = $cas.",".mysql_result($result,$i,"VSTUP8")."\n"; fwrite($soubor8, $text8); $text9 = $cas.",".mysql_result($result,$i,"VSTUP9")."\n"; fwrite($soubor9, $text9); $text10 = $cas.",".mysql_result($result,$i,"VSTUP10")."\n"; fwrite($soubor10, $text10); $text11 = $cas.",".mysql_result($result,$i,"VSTUP11")."\n"; fwrite($soubor11, $text11); $text12 = $cas.",".mysql_result($result,$i,"VSTUP12")."\n"; fwrite($soubor12, $text12); $text13 = $cas.",".mysql_result($result,$i,"VSTUP13")."\n"; fwrite($soubor13, $text13); $text14 = $cas.",".mysql_result($result,$i,"VSTUP14")."\n"; fwrite($soubor14, $text14); $text15 = $cas.",".mysql_result($result,$i,"VSTUP15")."\n"; fwrite($soubor15, $text15); $text16 = $cas.",".mysql_result($result,$i,"VSTUP16")."\n"; fwrite($soubor16, $text16); $text17 = $cas.",".mysql_result($result,$i,"VSTUP17")."\n"; fwrite($soubor17, $text17); $text18 = $cas.",".mysql_result($result,$i,"VSTUP18")."\n"; fwrite($soubor18, $text18); $text19 = $cas.",".mysql_result($result,$i,"VSTUP19")."\n"; fwrite($soubor19, $text19); $text20 = $cas.",".mysql_result($result,$i,"VSTUP20")."\n"; fwrite($soubor20, $text20); } fclose($soubor1); fclose($soubor2); fclose($soubor3); fclose($soubor4); fclose($soubor5); fclose($soubor6); fclose($soubor7); fclose($soubor8); fclose($soubor9); fclose($soubor10); fclose($soubor11); fclose($soubor12); fclose($soubor13); fclose($soubor14); fclose($soubor15); fclose($soubor16); fclose($soubor17); fclose($soubor18); fclose($soubor19); fclose($soubor20); echo "1: ".get_max($_GET["mac"].'data1.txt')." !</br>"; echo "2: ".get_max($_GET["mac"].'data2.txt')." !</br>"; echo "3: ".get_max($_GET["mac"].'data3.txt')." !</br>"; echo "4: ".get_max($_GET["mac"].'data4.txt')." !</br>"; echo "5: ".get_max($_GET["mac"].'data5.txt')." !</br>"; echo "6: ".get_max($_GET["mac"].'data6.txt')." !</br>"; echo "7: ".get_max($_GET["mac"].'data7.txt')." !</br>"; echo "8: ".get_max($_GET["mac"].'data8.txt')." !</br>"; echo "9: ".get_max($_GET["mac"].'data9.txt')." !</br>"; echo "10: ".get_max($_GET["mac"].'data10.txt')." !</br>"; $impulzykonec1=get_max($_GET["mac"].'data1.txt'); $impulzykonec2=get_max($_GET["mac"].'data2.txt'); $impulzykonec3=get_max($_GET["mac"].'data3.txt'); $impulzykonec4=get_max($_GET["mac"].'data4.txt'); $impulzykonec5=get_max($_GET["mac"].'data5.txt'); $impulzykonec6=get_max($_GET["mac"].'data6.txt'); $impulzykonec7=get_max($_GET["mac"].'data7.txt'); $impulzykonec8=get_max($_GET["mac"].'data8.txt'); $impulzykonec9=get_max($_GET["mac"].'data9.txt'); $impulzykonec10=get_max($_GET["mac"].'data10.txt'); $impulzykonec11=get_max($_GET["mac"].'data11.txt'); $impulzykonec12=get_max($_GET["mac"].'data12.txt'); $impulzykonec13=get_max($_GET["mac"].'data13.txt'); $impulzykonec14=get_max($_GET["mac"].'data14.txt'); $impulzykonec15=get_max($_GET["mac"].'data15.txt'); $impulzykonec16=get_max($_GET["mac"].'data16.txt'); $impulzykonec17=get_max($_GET["mac"].'data17.txt'); $impulzykonec18=get_max($_GET["mac"].'data18.txt'); $impulzykonec19=get_max($_GET["mac"].'data19.txt'); $impulzykonec20=get_max($_GET["mac"].'data20.txt'); ?> |
||
mimochodec Profil |
#6 · Zasláno: 10. 8. 2014, 17:19:25
jtfcobra:
Nevím přesně, čeho se snažíš dosáhnout, ale pracuješ značně neekonomicky. Jestli se v tom někdo vyzná, možná poradí. Já bohužel ne. |
||
Časová prodleva: 3 měsíce
|
|||
jtfcobra Profil |
#7 · Zasláno: 3. 11. 2014, 23:17:23
Poradíte někdo?
|
||
tiso Profil |
#8 · Zasláno: 3. 11. 2014, 23:44:09
Otázka znie: ako rozlíšiš výpadok od pretečenia počítadla?
|
||
Časová prodleva: 9 let
|
0