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
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
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
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
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.
jtfcobra
Profil
Poradíte někdo?
tiso
Profil
Otázka znie: ako rozlíšiš výpadok od pretečenia počítadla?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0