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>";
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -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,72 @@
|
||||
Array
|
||||
(
|
||||
[0] => 0
|
||||
[1] => 0
|
||||
[2] => 0
|
||||
[3] => 1
|
||||
[4] => 0
|
||||
[5] => 1
|
||||
[6] => 0
|
||||
[7] => 255
|
||||
[8] => 0
|
||||
[9] => 255
|
||||
)
|
||||
Array
|
||||
(
|
||||
[0] => 0
|
||||
[1] => 0
|
||||
[2] => 0
|
||||
[3] => 1
|
||||
[4] => 255
|
||||
[5] => 255
|
||||
[6] => 127
|
||||
[7] => 255
|
||||
[8] => 128
|
||||
[9] => 0
|
||||
)
|
||||
Array
|
||||
(
|
||||
[0] => 0
|
||||
[1] => 0
|
||||
[2] => 0
|
||||
[3] => 0
|
||||
[4] => 0
|
||||
[5] => 1
|
||||
[6] => 0
|
||||
[7] => 0
|
||||
[8] => 255
|
||||
[9] => 255
|
||||
[10] => 255
|
||||
[11] => 255
|
||||
[12] => 255
|
||||
[13] => 255
|
||||
[14] => 127
|
||||
[15] => 255
|
||||
[16] => 0
|
||||
[17] => 0
|
||||
[18] => 128
|
||||
[19] => 0
|
||||
)
|
||||
Array
|
||||
(
|
||||
[0] => 0
|
||||
[1] => 0
|
||||
[2] => 0
|
||||
[3] => 0
|
||||
[4] => 0
|
||||
[5] => 0
|
||||
[6] => 63
|
||||
[7] => 128
|
||||
[8] => 0
|
||||
[9] => 0
|
||||
[10] => 192
|
||||
[11] => 0
|
||||
[12] => 170
|
||||
[13] => 170
|
||||
[14] => 62
|
||||
[15] => 170
|
||||
[16] => 0
|
||||
[17] => 0
|
||||
[18] => 65
|
||||
[19] => 200
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
writeMultipleRegister (FC26): DONE
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php';
|
||||
require_once dirname(__FILE__) . '/../config.php';
|
||||
|
||||
// Create Modbus object
|
||||
$modbus = new ModbusMasterUdp($testip);
|
||||
|
||||
// Data to be writen - BYTE
|
||||
$data = array(0, 1, 1, pow(2,8)-1, pow(2,8)-1);
|
||||
$dataTypes = array("BYTE", "BYTE", "BYTE", "BYTE", "BYTE");
|
||||
// Write data - FC 16
|
||||
$modbus->writeMultipleRegister(0, 12288, $data, $dataTypes);
|
||||
// Read data - FC3
|
||||
$recData = $modbus->readMultipleRegisters(0, 12288, 5);
|
||||
print_r($recData);
|
||||
|
||||
// Data to be writen - INT
|
||||
$data = array(0, 1, -1, pow(2,15)-1, -pow(2,15));
|
||||
$dataTypes = array("INT", "INT", "INT", "INT", "INT");
|
||||
// Write data - FC 16
|
||||
$modbus->writeMultipleRegister(0, 12288, $data, $dataTypes);
|
||||
// Read data - FC3
|
||||
$recData = $modbus->readMultipleRegisters(0, 12288, 5);
|
||||
print_r($recData);
|
||||
|
||||
// Data to be writen - DINT
|
||||
$data = array(0, 1, -1, pow(2,31)-1, -pow(2,31));
|
||||
$dataTypes = array("DINT", "DINT", "DINT", "DINT", "DINT");
|
||||
// Write data - FC 16
|
||||
$modbus->writeMultipleRegister(0, 12288, $data, $dataTypes);
|
||||
// Read data - FC3
|
||||
$recData = $modbus->readMultipleRegisters(0, 12288, 10);
|
||||
print_r($recData);
|
||||
|
||||
// Data to be writen - REAL
|
||||
$data = array(0, 1, -2, 1/3, 25);
|
||||
$dataTypes = array("REAL", "REAL", "REAL", "REAL", "REAL");
|
||||
// Write data - FC 16
|
||||
$modbus->writeMultipleRegister(0, 12288, $data, $dataTypes);
|
||||
// Read data - FC3
|
||||
$recData = $modbus->readMultipleRegisters(0, 12288, 10);
|
||||
print_r($recData);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php';
|
||||
require_once dirname(__FILE__) . '/../config.php';
|
||||
|
||||
// Create Modbus object
|
||||
$modbus = new ModbusMasterUdp($testip);
|
||||
|
||||
// Data to be writen
|
||||
$data = array(1000, 2000, 1.250, 1.250);
|
||||
$dataTypes = array("REAL", "REAL", "REAL", "REAL");
|
||||
|
||||
// FC23
|
||||
$recData = $modbus->readWriteRegisters(0, 12288, 6, 12288, $data, $dataTypes);
|
||||
|
||||
if(!$recData) {
|
||||
// Print error information if any
|
||||
echo "</br>Error:</br>" . $modbus->errstr . "</br>";
|
||||
//
|
||||
exit();
|
||||
}
|
||||
|
||||
// Print status information
|
||||
echo "writeMultipleRegister (FC26): DONE";
|
||||
?>
|
||||
@@ -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 @@
|
||||
32098<br>0<br>0<br>-1<br>-25000<br>25000<br>
|
||||
@@ -0,0 +1 @@
|
||||
1000<br>2000<br>1.25<br>
|
||||
@@ -0,0 +1 @@
|
||||
-1<br>0<br>1<br>-2147483648<br>2147483647<br>
|
||||
@@ -0,0 +1,6 @@
|
||||
float(4294967295)
|
||||
<br>int(0)
|
||||
<br>int(1)
|
||||
<br>float(2147483648)
|
||||
<br>int(2147483647)
|
||||
<br>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?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
|
||||
echo PhpType::bytes2unsignedInt(array_slice($data, 0, 4)) . "<br>";
|
||||
echo PhpType::bytes2signedInt(array_slice($data, 4, 4)) . "<br>";
|
||||
echo PhpType::bytes2signedInt(array_slice($data, 8, 4)) . "<br>";
|
||||
echo PhpType::bytes2signedInt(array_slice($data, 12, 4)) . "<br>";
|
||||
echo PhpType::bytes2signedInt(array_slice($data, 16, 2)) . "<br>";
|
||||
echo PhpType::bytes2signedInt(array_slice($data, 18, 2)) . "<br>";
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Received bytes interpreting 3 REAL values (6 words)
|
||||
$data = array( // 1000
|
||||
0 => 0,
|
||||
1 => 0,
|
||||
2 => 68,
|
||||
3 => 122,
|
||||
4 => 0,
|
||||
5 => 0,
|
||||
6 => 68,
|
||||
7 => 250,
|
||||
8 => 0,
|
||||
9 => 0,
|
||||
10 => 63,
|
||||
11 => 160,
|
||||
);
|
||||
|
||||
$dword = array_chunk($data, 4);
|
||||
|
||||
// Print float interpretation of the real value
|
||||
echo PhpType::bytes2float($dword[0]) . "<br>";
|
||||
echo PhpType::bytes2float($dword[1]) . "<br>";
|
||||
echo PhpType::bytes2float($dword[2]) . "<br>";
|
||||
?>
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Received bytes interpreting DINT values
|
||||
$data = array(
|
||||
0xFF, // -1
|
||||
0xFF,
|
||||
0xFF,
|
||||
0xFF,
|
||||
0, // 0
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0, // 1
|
||||
0x01,
|
||||
0,
|
||||
0,
|
||||
0, // minus max
|
||||
0,
|
||||
0x80,
|
||||
0x0,
|
||||
0xFF, // plus max
|
||||
0xFF,
|
||||
0x7F,
|
||||
0xFF,
|
||||
);
|
||||
|
||||
$dword = array_chunk($data, 4);
|
||||
|
||||
// Print float interpretation of the real value
|
||||
foreach($dword as $value) {
|
||||
echo PhpType::bytes2signedInt($value) . "<br>";
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Received bytes interpreting DINT values
|
||||
$data = array(
|
||||
0xFF, // -1
|
||||
0xFF,
|
||||
0xFF,
|
||||
0xFF,
|
||||
0, // 0
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0, // 1
|
||||
0x01,
|
||||
0,
|
||||
0,
|
||||
0, // minus max
|
||||
0,
|
||||
0x80,
|
||||
0x0,
|
||||
0xFF, // plus max
|
||||
0xFF,
|
||||
0x7F,
|
||||
0xFF,
|
||||
);
|
||||
|
||||
$dword = array_chunk($data, 4);
|
||||
|
||||
// Print float interpretation of the real value
|
||||
foreach($dword as $value) {
|
||||
var_dump(PhpType::bytes2unsignedInt($value));
|
||||
echo "<br>";
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,5 @@
|
||||
set php=C:\Programme\xampplite\php\php.exe
|
||||
rem set php=C:\PHP\versions\php-5.2.6-Win32\php.exe -d auto_prepend_file=C:\PHP\locale.php
|
||||
set diff="C:\Program Files\Octave\msys\bin\diff.exe"
|
||||
set testUri=http://localHost/nette/_trunk/tests
|
||||
set wget=wget.exe
|
||||
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
$testip = "192.168.1.15";
|
||||
?>
|
||||
Reference in New Issue
Block a user