<?php require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterTcp.php'; require_once dirname(__FILE__) . '/../config.php'; // Create Modbus object $modbus = new ModbusMasterTcp($test_host_ip); // 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
$result1 = mysql_query($query); $num1 = mysql_numrows($result1); $art = mysql_result($result, $w, "art"); $start = mysql_result($result, $w, "start"); $anzahl = mysql_result($result, $w, "anzahl"); $anzahl2 = $anzahl - 1; $basis = mysql_result($result1, 0, "start"); $filename = "https/rrd/" . $art . "_" . $start . "_" . $anzahl2 . ".rrd"; //Filename aus den Angaben bilden if (file_exists($filename)) { // Wenn der Filename vorhanden ist rrd File updaten // FC 3 if ($art == "MD") { try { $start2 = $start * 2 + $basis; $recData1 = $modbus->readMultipleRegisters(0, $start2, $anzahl * 2); // Modbus lesen } catch (Exception $e) { System_Daemon::info('{appName} Modbusfehler %s %s', $modbus, $e); } $values = array(); $values = array_chunk($recData1, 4); $recData = array(); foreach ($values as $bytes) { array_push($recData, PhpType::bytes2signedInt($bytes)); } } else { try { $start2 = $start + $basis; $recData1 = $modbus->readMultipleRegisters(0, $start2, $anzahl); // Modbus lesen