Moni,
hier ist mein
wp_daten_holen (aus dem zip-file von tschewie):
<?
//includes
//include "config.php";
//include "java_daten.php";
include "30863.ips.php";
include "50872.ips.php";
//Variablen
$sBuff = 0;
$time1 = time();
$filename = "test.tst";
$JavaWerte = 0;
$refreshtime = 5; //sekunden
echo '<meta http-equiv="refresh" content="5" >';
// connecten
$socket = socket_create(AF_INET, SOCK_STREAM,0);
$connect = socket_connect($socket, $IpWwc, $WwcJavaPort) || exit("socket_connect fehlgeschlagen");
if ($connect = 1)
echo "PASS: Verbunden mit WWC Java Console $IpWwc Port: $WwcJavaPort <br>";
else
echo "ERROR: Nicht verbunden mit WWC Java Console <br>";
$timestamp= time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i:s",$timestamp);
printf('============================================================== <br>');
printf('Ausleszeit: %s - %s Uhr <br>',$datum,$uhrzeit);
printf('Refresh alle 5s !<br>');
printf('! TEST !<br>');
printf('============================================================== <br>');
//---------------------------------------------------------------------------
// Daten holen
$msg = pack('N*',3004);
//printf('msg:%s <br>',$msg);
$send=socket_write($socket, $msg, 4); //3004 senden
//printf('Bytes send:%d <br>',$send);
$msg = pack('N*',0);
//printf('msg:%s <br>',ord($msg));
$send=socket_write($socket, $msg, 4); //0 senden
//printf('Bytes send:%d <br>',$send);
socket_recv($socket,$Test,4,MSG_WAITALL); // Lesen, sollte 3004 zurückkommen
$Test = unpack('N*',$Test);
//printf('read:%s <br>',implode($Test));
socket_recv($socket,$Test,4,MSG_WAITALL); // Status
$Test = unpack('N*',$Test);
printf('Status:%s <br>',implode($Test));
socket_recv($socket,$Test,4,MSG_WAITALL); // Länge der nachfolgenden Werte
$Test = unpack('N*',$Test);
printf('Länge der nachfolgenden Werte:%s <br>',implode($Test));
$JavaWerte = implode($Test);
printf('============================================================== <br>');
for ($i = 0; $i < $JavaWerte; ++$i)//vorwärts
{
socket_recv($socket,$InBuff[$i],4,MSG_WAITALL); // Lesen, sollte 3004 zurückkommen
$daten_raw[$i] = implode(unpack('N*',$InBuff[$i]));
//printf('InBuff(%d): %d <br>',$i,$daten_raw[$i]);
}
//socket wieder schliessen
socket_close($socket);
// Werte anzeigen
for ($i = 0; $i < $JavaWerte; ++$i)//vorwärts
{
if ($i >= 10 & $i <= 28) // Temperaturen
{($daten_raw[$i] = $daten_raw[$i]*0.1);
printf('(%d)%s : %.1f °C<br>',$i,$java_dataset[$i],$daten_raw[$i]);
}
if ($i >= 29 & $i <= 34) // Eingänge
{if ($daten_raw[$i] == 1)
printf('(%d)%s : EIN<br>',$i,$java_dataset[$i]);
else
printf('(%d)%s : AUS<br>',$i,$java_dataset[$i]);
}
if ($i == 35) // Ausgänge
printf('(%d)%s : %.1f Volt<br>',$i,$java_dataset[$i],$daten_raw[$i]);
if ($i >= 36 & $i <= 55) // Ausgänge
{if ($daten_raw[$i] == 1)
printf('(%d)%s : EIN<br>',$i,$java_dataset[$i]);
else
printf('(%d)%s : AUS<br>',$i,$java_dataset[$i]);
}
if ($i == 56) // Zähler
{($daten_raw[$i] = $daten_raw[$i]/3600);
printf('(%d)%s : %.2f h<br>',$i,$java_dataset[$i],$daten_raw[$i]);
}
if ($i == 57) // Zähler
{($daten_raw[$i] = $daten_raw[$i]);
printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]);
}
if ($i == 58) // Zähler
{($daten_raw[$i] = $daten_raw[$i]/3600);
printf('(%d)%s : %.2f h<br>',$i,$java_dataset[$i],$daten_raw[$i]);
}
if ($i == 59) // Zähler
{($daten_raw[$i] = $daten_raw[$i]);
printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]);
}
if ($i >= 60 & $i <= 66) // Zähler
{($daten_raw[$i] = $daten_raw[$i]/3600);
printf('(%d)%s : %d h<br>',$i,$java_dataset[$i],$daten_raw[$i]);
}
if ($i >= 67 & $i <= 77) // AblaufZeiten
{($daten_raw[$i] = date("H:i:s",$daten_raw[$i]));
printf('(%d)%s : %s<br>',$i,$java_dataset[$i],$daten_raw[$i]);
}
if ($i >= 78 & $i <= 158) // AblaufZeiten
{
printf('(%d)%s : %d<br>',$i,$java_dataset[$i],$daten_raw[$i]);
}
}
$time2 = time();
print( "Auslesedauer: " . ($time2 - $time1) . " secs
");
?>
Was ist überhaupt mit der refesh-time von 5sec gemeint?
Gruß
Michael