php - 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 的代码。
解决方案
推荐阅读
- go - 我如何消费来自rabbitmq的一批消息?
- jquery - 在社交媒体上分享帖子时如何根据带有 jquery 的 url 更改元标记图像?
- java - 在新窗口中查找 xpath 位置,单击后打开。使用 java 和 selenium
- r - 当级别没有名称时访问深度嵌套列表的多个级别
- java - 为什么 maven install 会在 npm 中出现此错误?
- r - 如何以正确的方式制作 x 轴的顺序
- ios - 如何确定应用程序是从NotificationCenter(本地通知)打开还是应用程序被杀死时的应用程序图标打开
- .net - 有没有办法设置鼠标必须在控件上方才能触发其 MouseHover 事件的时间段?
- c++ - 打印特定范围内的数组
- if-statement - If-else vs if not-if