首页 > 解决方案 > PHP Modbus/TCP地址最多只能是126

问题描述

m 使用php通过phpmodbus连接modbus\tcp。</p>

https://github.com/krakorj/phpmodbus/blob/master/Phpmodbus/ModbusMaster.php

但地址最多只能到 126 我的地址是 32969 到 34597

equire_once dirname(__FILE__) . '/../Phpmodbus/ModbusMaster.php'; 
$IP =  $_POST["IP"] ;
$RAM_location =  $_POST["RAM_location"] ;
$RAM_NUM =  $_POST["RAM_NUM"] ;
$modbus = new ModbusMaster($IP, "TCP");
try {
    // FC 3
    $recData = $modbus->readMultipleRegisters(0, $RAM_location, $RAM_NUM);
}
catch (Exception $e) {
    // Print error information if any
    echo $modbus;
    echo $e;
    exit;
}
 $DataCount = count($recData);

$new_redata = array();
$j = $RAM_location;
for($i = 0;$i < $DataCount;$i = $i+2){
//  $new_redata[$j] =strval($recData[$i]) + strval($recData[$i+1]) ;
if ($recData[$i]!= 0 ){
    //this modbus is 256 carry 
    $reI = $recData[$i] * 256;
    } else {
    $reI = 0;
    }
$new_redata[$j+1] = $reI + $recData[$i+1] ;
$j++;
}

这是我使用 modbusmaster.php 的代码。

标签: phpmodbus-tcp

解决方案


推荐阅读