0.3 Release
This commit is contained in:
@@ -1,73 +1,69 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . './Phpmodbus/ModbusMasterUdp.php';
|
||||
require_once dirname(__FILE__) . '/../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Create Modbus object
|
||||
$ip = "192.168.1.99";
|
||||
// $ip = "192.168.1.1";
|
||||
$ip = "192.192.15.51";
|
||||
$modbus = new ModbusMasterUdp($ip);
|
||||
|
||||
// FC 3
|
||||
$moduleId = 0;
|
||||
$reference = 12288;
|
||||
$mw0address = 12288;
|
||||
$quantity = 6;
|
||||
$recData = $modbus->readMultipleRegisters($moduleId, $reference, $quantity);
|
||||
|
||||
try {
|
||||
// FC 3
|
||||
$moduleId = 0;
|
||||
$reference = 12288;
|
||||
$mw0address = 12288;
|
||||
$quantity = 6;
|
||||
$recData = $modbus->readMultipleRegisters($moduleId, $reference, $quantity);
|
||||
print_r($recData);
|
||||
}
|
||||
catch (Exception $e) {
|
||||
echo $modbus;
|
||||
echo $e;
|
||||
exit;
|
||||
}
|
||||
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
|
||||
<meta name="generator" content="PSPad editor, www.pspad.com">
|
||||
<title>WAGO 750-841 M-memory dump</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Dump of M-memory from WAGO 750-84x series coupler.</h1>
|
||||
<ul>
|
||||
<li>PLC: 750-84x series</li>
|
||||
<li>IP: <?=$ip?></li>
|
||||
<li>Modbus module ID: <?=$moduleId?></li>
|
||||
<li>Modbus memory reference: <?=$reference?></li>
|
||||
<li>Modbus memory quantity: <?=$quantity?></li>
|
||||
</ul>
|
||||
|
||||
<h2>M-memory dump</h2>
|
||||
|
||||
<?php
|
||||
if(!$recData) {
|
||||
// Print error information if any
|
||||
echo "</br>Error:</br>" . $modbus->errstr . "</br>";
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
|
||||
<table border="1px" width="400px">
|
||||
<tr>
|
||||
<td>Modbus address</td>
|
||||
<td>MWx</td>
|
||||
<td>value</td>
|
||||
</tr>
|
||||
<?php
|
||||
for($i=0;$i<count($recData);$i+=2){
|
||||
?>
|
||||
<tr>
|
||||
<td><?=$i+$reference?></td>
|
||||
<td>MW<?=($i + $reference - $mw0address)/2?></td>
|
||||
<td><?=($recData[$i] << 8)+ $recData[$i+1]?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<h2>Modbus class status</h2>
|
||||
<?php
|
||||
echo $modbus->status;
|
||||
?>
|
||||
|
||||
</body>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
|
||||
<meta name="generator" content="PSPad editor, www.pspad.com">
|
||||
<title>WAGO 750-841 M-memory dump</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Dump of M-memory from WAGO 750-84x series coupler.</h1>
|
||||
<ul>
|
||||
<li>PLC: 750-84x series</li>
|
||||
<li>IP: <?php echo $ip?></li>
|
||||
<li>Modbus module ID: <?php echo $moduleId?></li>
|
||||
<li>Modbus memory reference: <?php echo $reference?></li>
|
||||
<li>Modbus memory quantity: <?php echo $quantity?></li>
|
||||
</ul>
|
||||
|
||||
<h2>M-memory dump</h2>
|
||||
|
||||
<table border="1px" width="400px">
|
||||
<tr>
|
||||
<td>Modbus address</td>
|
||||
<td>MWx</td>
|
||||
<td>value</td>
|
||||
</tr>
|
||||
<?php
|
||||
for($i=0;$i<count($recData);$i+=2) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $i+$reference?></td>
|
||||
<td>MW<?php echo ($i + $reference - $mw0address)/2?></td>
|
||||
<td><?php echo ($recData[$i] << 8)+ $recData[$i+1]?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
|
||||
<h2>Modbus class status</h2>
|
||||
<?php
|
||||
echo $modbus;
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,55 +1,61 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . './Phpmodbus/ModbusMasterUdp.php';
|
||||
require_once dirname(__FILE__) . '/../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Create Modbus object
|
||||
$modbus = new ModbusMasterUdp("192.168.1.99");
|
||||
$modbus = new ModbusMasterUdp("192.192.15.51");
|
||||
|
||||
// FC 3
|
||||
// read 10 words (20 bytes) from device ID=0, address=12288
|
||||
$recData = $modbus->readMultipleRegisters(0, 12288, 10);
|
||||
|
||||
if(!$recData) {
|
||||
// Print error information if any
|
||||
echo "</br>Error:</br>" . $modbus->errstr . "</br>";
|
||||
exit;
|
||||
try {
|
||||
// FC 3
|
||||
// read 10 words (20 bytes) from device ID=0, address=12288
|
||||
$recData = $modbus->readMultipleRegisters(0, 12288, 10);
|
||||
}
|
||||
catch (Exception $e) {
|
||||
// Print error information if any
|
||||
echo $modbus;
|
||||
echo $e;
|
||||
exit;
|
||||
}
|
||||
|
||||
// Received data
|
||||
echo "<h1>Received Data</h1>";
|
||||
echo "<h1>Received Data</h1>\n";
|
||||
print_r($recData);
|
||||
|
||||
// Conversion
|
||||
echo "<h2>32 bits types</h2>";
|
||||
echo "<h2>32 bits types</h2>\n";
|
||||
// Chunk the data array to set of 4 bytes
|
||||
$values = array_chunk($recData, 4);
|
||||
|
||||
// Get float from REAL interpretation
|
||||
echo "<h3>REAL to Float</h3>";
|
||||
echo "<h3>REAL to Float</h3>\n";
|
||||
foreach($values as $bytes)
|
||||
echo PhpType::bytes2float($bytes) . "</br>";
|
||||
echo PhpType::bytes2float($bytes) . "</br>";
|
||||
|
||||
// Get integer from DINT interpretation
|
||||
echo "<h3>DINT to integer </h3>";
|
||||
echo "<h3>DINT to integer </h3>\n";
|
||||
foreach($values as $bytes)
|
||||
echo PhpType::bytes2signedInt($bytes) . "</br>";
|
||||
echo PhpType::bytes2signedInt($bytes) . "</br>";
|
||||
|
||||
// Get integer of float from DINT interpretation
|
||||
echo "<h3>DWORD to integer (or float) </h3>";
|
||||
echo "<h3>DWORD to integer (or float) </h3>\n";
|
||||
foreach($values as $bytes)
|
||||
echo PhpType::bytes2unsignedInt($bytes) . "</br>";
|
||||
echo PhpType::bytes2unsignedInt($bytes) . "</br>";
|
||||
|
||||
echo "<h2>16 bit types</h2>";
|
||||
echo "<h2>16 bit types</h2>\n";
|
||||
// Chunk the data array to set of 4 bytes
|
||||
$values = array_chunk($recData, 2);
|
||||
|
||||
// Get signed integer from INT interpretation
|
||||
echo "<h3>INT to integer </h3>";
|
||||
echo "<h3>INT to integer </h3>\n";
|
||||
foreach($values as $bytes)
|
||||
echo PhpType::bytes2signedInt($bytes) . "</br>";
|
||||
echo PhpType::bytes2signedInt($bytes) . "</br>";
|
||||
|
||||
// Get unsigned integer from WORD interpretation
|
||||
echo "<h3>WORD to integer </h3>";
|
||||
echo "<h3>WORD to integer </h3>\n";
|
||||
foreach($values as $bytes)
|
||||
echo PhpType::bytes2unsignedInt($bytes) . "</br>";
|
||||
echo PhpType::bytes2unsignedInt($bytes) . "</br>";
|
||||
|
||||
// Get string from STRING interpretation
|
||||
echo "<h3>STRING to string </h3>\n";
|
||||
echo PhpType::bytes2string($recData) . "</br>";
|
||||
?>
|
||||
@@ -1,21 +1,26 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . './Phpmodbus/ModbusMasterUdp.php';
|
||||
require_once dirname(__FILE__) . '/../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Create Modbus object
|
||||
$modbus = new ModbusMasterUdp("192.168.1.99");
|
||||
$modbus = new ModbusMasterUdp("192.192.15.51");
|
||||
|
||||
// Data to be writen
|
||||
$data = array(1000, 2000, 3.0);
|
||||
$dataTypes = array("INT", "DINT", "REAL");
|
||||
|
||||
// FC16
|
||||
if(!$modbus->writeMultipleRegister(0, 12288, $data, $dataTypes)) {
|
||||
// Print error information if any
|
||||
echo "</br>Error:</br>" . $modbus->errstr . "</br>";
|
||||
try {
|
||||
// FC16
|
||||
$modbus->writeMultipleRegister(0, 12288, $data, $dataTypes);
|
||||
}
|
||||
catch (Exception $e) {
|
||||
// Print error information if any
|
||||
echo $modbus;
|
||||
echo $e;
|
||||
exit;
|
||||
}
|
||||
|
||||
// Print status information
|
||||
echo "</br>Status:</br>" . $modbus->status . "</br>";
|
||||
echo $modbus;
|
||||
|
||||
?>
|
||||
+15
-10
@@ -1,26 +1,31 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . './Phpmodbus/ModbusMasterUdp.php';
|
||||
require_once dirname(__FILE__) . '/../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Create Modbus object
|
||||
$modbus = new ModbusMasterUdp("192.168.1.99");
|
||||
$modbus = new ModbusMasterUdp("192.192.15.51");
|
||||
|
||||
// Data to be writen
|
||||
$data = array(1000, 2000, 3.0);
|
||||
$dataTypes = array("INT", "DINT", "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>";
|
||||
try {
|
||||
// FC23
|
||||
$recData = $modbus->readWriteRegisters(0, 12288, 6, 12288, $data, $dataTypes);
|
||||
}
|
||||
catch (Exception $e) {
|
||||
// Print error information if any
|
||||
echo $modbus;
|
||||
echo $e;
|
||||
exit;
|
||||
}
|
||||
|
||||
// Print status information
|
||||
echo "</br>Status:</br>" . $modbus->status . "</br>";
|
||||
echo "</br>Status:</br>" . $modbus;
|
||||
|
||||
// Print read data
|
||||
echo "</br>Data:</br>"; print_r($recData); echo "</br>";
|
||||
echo "</br>Data:</br>";
|
||||
print_r($recData);
|
||||
echo "</br>";
|
||||
|
||||
?>
|
||||
+15
-10
@@ -1,21 +1,26 @@
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__) . './Phpmodbus/ModbusMasterUdp.php';
|
||||
require_once dirname(__FILE__) . '/../Phpmodbus/ModbusMasterUdp.php';
|
||||
|
||||
// Create Modbus object
|
||||
$modbus = new ModbusMasterUdp("192.168.1.99");
|
||||
$modbus = new ModbusMasterUdp("192.192.15.51");
|
||||
|
||||
// FC 3
|
||||
$recData = $modbus->readMultipleRegisters(0, 12288, 6);
|
||||
|
||||
if(!$recData) {
|
||||
// Print error information if any
|
||||
echo "</br>Error:</br>" . $modbus->errstr . "</br>";
|
||||
try {
|
||||
// FC 3
|
||||
$recData = $modbus->readMultipleRegisters(0, 12288, 6);
|
||||
}
|
||||
catch (Exception $e) {
|
||||
// Print error information if any
|
||||
echo $modbus;
|
||||
echo $e;
|
||||
exit;
|
||||
}
|
||||
|
||||
// Print status information
|
||||
echo "</br>Status:</br>" . $modbus->status . "</br>";
|
||||
echo "</br>Status:</br>" . $modbus;
|
||||
|
||||
// Print read data
|
||||
echo "</br>Data:</br>"; print_r($recData); echo "</br>";
|
||||
echo "</br>Data:</br>";
|
||||
print_r($recData);
|
||||
echo "</br>";
|
||||
?>
|
||||
Reference in New Issue
Block a user