| 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: 12 let
|
|||
0