0.2
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
@echo off
|
||||
call ../config.bat
|
||||
|
||||
for %%f in (test.*.php) do %php% -q "%%f" > "output/%%f.html"
|
||||
|
||||
cd output
|
||||
for %%f in (*.html) do %diff% "%%f" ../ref/"%%f"
|
||||
cd ..
|
||||
pause
|
||||
|
||||
@echo on
|
||||
@@ -0,0 +1 @@
|
||||
125<br>98<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>0<br>255<br>255<br>255<br>255<br>158<br>88<br>97<br>168<br>
|
||||
@@ -0,0 +1 @@
|
||||
Endianing off <hr>0 --> Packet: 0000_0000_</br>1 --> Packet: 0001_0000_</br>-1 --> Packet: ffff_ffff_</br>2147483647 --> Packet: ffff_7fff_</br>-2147483648 --> Packet: 0000_8000_</br>Endianing on <hr>0 --> Packet: 0000_0000_</br>1 --> Packet: 0000_0001_</br>-1 --> Packet: ffff_ffff_</br>2147483647 --> Packet: 7fff_ffff_</br>-2147483648 --> Packet: 8000_0000_</br>
|
||||
@@ -0,0 +1 @@
|
||||
Endianing off <hr>0 --> Packet: 0000_</br>1 --> Packet: 0001_</br>-1 --> Packet: ffff_</br>32767 --> Packet: 7fff_</br>-32768 --> Packet: 8000_</br>Endianing on <hr>0 --> Packet: 0000_</br>1 --> Packet: 0001_</br>-1 --> Packet: ffff_</br>32767 --> Packet: 7fff_</br>-32768 --> Packet: 8000_</br>
|
||||
@@ -0,0 +1 @@
|
||||
Endianing off <hr>0 --> Packet: 0000_0000_</br>1 --> Packet: 0000_3f80_</br>-2 --> Packet: 0000_c000_</br>0.333333333333 --> Packet: aaaa_3eaa_</br>25 --> Packet: 0000_41c8_</br>Endianing on <hr>0 --> Packet: 0000_0000_</br>1 --> Packet: 3f80_0000_</br>-2 --> Packet: c000_0000_</br>0.333333333333 --> Packet: 3eaa_aaaa_</br>25 --> Packet: 41c8_0000_</br>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Received bytes interpreting Mixed values
|
||||
$data = Array (
|
||||
"0" => 125, // 32098 (DINT)
|
||||
"1" => 98,
|
||||
"2" => 0,
|
||||
"3" => 0,
|
||||
"4" => 0, // 0 (DINT)
|
||||
"5" => 0,
|
||||
"6" => 0,
|
||||
"7" => 0,
|
||||
"8" => 0, // 0 (DINT)
|
||||
"9" => 0,
|
||||
"10" => 0,
|
||||
"11" => 0,
|
||||
"12" => 255, // -1 (DINT)
|
||||
"13" => 255,
|
||||
"14" => 255,
|
||||
"15" => 255,
|
||||
"16" => 158, // -25000 (INT)
|
||||
"17" => 88,
|
||||
"18" => 97, // 25000 (INT)
|
||||
"19" => 168
|
||||
);
|
||||
|
||||
// Print mixed values
|
||||
foreach($data as $d)
|
||||
echo ord(IecType::iecBYTE($d)) . "<br>";
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Received bytes interpreting Mixed values
|
||||
$data = Array (
|
||||
"0" => 0,
|
||||
"1" => 1,
|
||||
"2" => -1,
|
||||
"3" => pow(2,31)-1,
|
||||
"4" => -pow(2,31)
|
||||
);
|
||||
|
||||
function byte2hex($value){
|
||||
$h = dechex(($value >> 4) & 0x0F);
|
||||
$l = dechex($value & 0x0F);
|
||||
return "$h$l";
|
||||
}
|
||||
|
||||
function printPacket($packet){
|
||||
$str = "";
|
||||
$str .= "Packet: ";
|
||||
for($i=0;$i<strlen($packet);$i++){
|
||||
$str .= byte2hex(ord($packet[$i]));
|
||||
if($i % 2)
|
||||
$str .= "_";
|
||||
}
|
||||
$str .= "</br>";
|
||||
return $str;
|
||||
}
|
||||
|
||||
echo "Endianing off <hr>";
|
||||
// Print mixed values
|
||||
for($i=0;$i<count($data);$i++) {
|
||||
echo $data[$i] . " --> ";
|
||||
$v = IecType::iecDINT($data[$i], 0);
|
||||
echo printPacket($v);
|
||||
"<br>";
|
||||
}
|
||||
|
||||
echo "Endianing on <hr>";
|
||||
// Print mixed values
|
||||
for($i=0;$i<count($data);$i++) {
|
||||
echo $data[$i] . " --> ";
|
||||
$v = IecType::iecDINT($data[$i], 1);
|
||||
echo printPacket($v);
|
||||
"<br>";
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Received bytes interpreting Mixed values
|
||||
$data = Array (
|
||||
"0" => 0,
|
||||
"1" => 1,
|
||||
"2" => -1,
|
||||
"3" => pow(2,15)-1,
|
||||
"4" => -pow(2,15)
|
||||
);
|
||||
|
||||
function byte2hex($value){
|
||||
$h = dechex(($value >> 4) & 0x0F);
|
||||
$l = dechex($value & 0x0F);
|
||||
return "$h$l";
|
||||
}
|
||||
|
||||
function printPacket($packet){
|
||||
$str = "";
|
||||
$str .= "Packet: ";
|
||||
for($i=0;$i<strlen($packet);$i++){
|
||||
$str .= byte2hex(ord($packet[$i]));
|
||||
if($i % 2)
|
||||
$str .= "_";
|
||||
}
|
||||
$str .= "</br>";
|
||||
return $str;
|
||||
}
|
||||
|
||||
echo "Endianing off <hr>";
|
||||
// Print mixed values
|
||||
for($i=0;$i<count($data);$i++) {
|
||||
echo $data[$i] . " --> ";
|
||||
$v = IecType::iecINT($data[$i], 0);
|
||||
echo printPacket($v);
|
||||
"<br>";
|
||||
}
|
||||
|
||||
echo "Endianing on <hr>";
|
||||
// Print mixed values
|
||||
for($i=0;$i<count($data);$i++) {
|
||||
echo $data[$i] . " --> ";
|
||||
$v = IecType::iecINT($data[$i], 1);
|
||||
echo printPacket($v);
|
||||
"<br>";
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// http://en.wikipedia.org/wiki/Single_precision
|
||||
$data = Array (
|
||||
"0" => 0, // -> 0000 0000
|
||||
"1" => 1, // -> 3f80 0000
|
||||
"2" => -2, // -> c000 0000
|
||||
"3" => 1/3, // -> 3eaa aaab
|
||||
"4" => 25 // -> 41c8 0000
|
||||
);
|
||||
|
||||
function byte2hex($value){
|
||||
$h = dechex(($value >> 4) & 0x0F);
|
||||
$l = dechex($value & 0x0F);
|
||||
return "$h$l";
|
||||
}
|
||||
|
||||
function printPacket($packet){
|
||||
$str = "";
|
||||
$str .= "Packet: ";
|
||||
for($i=0;$i<strlen($packet);$i++){
|
||||
$str .= byte2hex(ord($packet[$i]));
|
||||
if($i % 2)
|
||||
$str .= "_";
|
||||
}
|
||||
$str .= "</br>";
|
||||
return $str;
|
||||
}
|
||||
|
||||
echo "Endianing off <hr>";
|
||||
// Print mixed values
|
||||
for($i=0;$i<count($data);$i++) {
|
||||
echo $data[$i] . " --> ";
|
||||
$v = IecType::iecREAL($data[$i], 0);
|
||||
echo printPacket($v);
|
||||
"<br>";
|
||||
}
|
||||
|
||||
echo "Endianing on <hr>";
|
||||
// Print mixed values
|
||||
for($i=0;$i<count($data);$i++) {
|
||||
echo $data[$i] . " --> ";
|
||||
$v = IecType::iecREAL($data[$i], 1);
|
||||
echo printPacket($v);
|
||||
"<br>";
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user