<?php require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php'; require_once dirname(__FILE__) . '/../config.php'; // Create Modbus object $modbus = new ModbusMasterUdp($test_host_ip); // Test requirements echo "Test should pass when %IX0.0==FALSE and %IX0.1==TRUE\n"; // Read input discretes - FC 4 $recData = $modbus->readMultipleInputRegisters(0, 0, 2); var_dump($recData);
/** * WriteSingleRegister * @param integer $UnitId * @param integer $Reference * @param integer $Data */ protected function WriteSingleRegister($UnitId, $Reference, $Data) { include_once __DIR__ . "/lib/ModbusMaster.php"; $URL = "http://" . $this->ReadPropertyString("IPAddress"); //$headers = @get_headers($URL); if (!Sys_Ping($this->ReadPropertyString("IPAddress"), 1000)) { $this->SetStatus(201); trigger_error("Invalid IP-Address", E_USER_ERROR); exit; } $this->SetStatus(102); if ($this->ReadPropertyInteger("GatewayMode") === 0) { $modbus = new ModbusMasterTcp($this->ReadPropertyString("IPAddress")); } else { $modbus = new ModbusMasterUdp($this->ReadPropertyString("IPAddress")); } //FC 6 try { if (IPS_SemaphoreEnter("ModbusMaster", 1000)) { $this->Log("WriteSingleRegister({$UnitId}|{$Reference}|{$Data})"); $modbus->writeSingleRegister($UnitId, $Reference, array($Data), array("INT")); IPS_SemaphoreLeave("ModbusMaster"); } } catch (Exception $e) { $this->SetStatus(200); trigger_error("ModbusMaster: " . $e->getMessage() . "!", E_USER_ERROR); exit; } }
<?php require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php'; require_once dirname(__FILE__) . '/../config.php'; // Create Modbus object $modbus = new ModbusMasterUdp($test_host_ip); // Data to be writen - TRUE, FALSE $data_true = array(TRUE); $data_false = array(FALSE); // Reset target WORD $modbus->writeSingleRegister(0, 12288, array(0), array('WORD')); // Write single coil - FC5 $modbus->writeSingleCoil(0, 12288, $data_true); $modbus->writeSingleCoil(0, 12289, $data_false); $modbus->writeSingleCoil(0, 12290, $data_true); $modbus->writeSingleCoil(0, 12291, $data_false); // Read data - FC3 $recData = $modbus->readMultipleRegisters(0, 12288, 1); print_r($recData);
<?php require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php'; require_once dirname(__FILE__) . '/../config.php'; // Create Modbus object $modbus = new ModbusMasterUdp($test_host_ip); $modbus->client = $test_bind_client_ip; // Data to be writen $data = array(1000, 2000, 1.25, 1.25); $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";
<?php require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php'; require_once dirname(__FILE__) . '/../config.php'; // Create Modbus object $modbus = new ModbusMasterUdp($test_host_ip); // Test requirements echo "Test should pass when %IX0.0==FALSE and %IX0.1==TRUE\n"; // Read input discretes - FC 2 $recData = $modbus->readInputDiscretes(0, 0, 2); var_dump($recData);
<?php require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php'; require_once dirname(__FILE__) . '/../config.php'; // Create Modbus object $modbus = new ModbusMasterUdp($test_host_ip); // Data to be writen - INT $data = array(-12345); $dataTypes = array("INT"); // Write data - FC6 $modbus->writeSingleRegister(0, 12288, $data, $dataTypes); // Read data - FC3 $recData = $modbus->readMultipleRegisters(0, 12288, 1); print_r($recData);
<?php require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php'; require_once dirname(__FILE__) . '/../config.php'; // Create Modbus object $modbus = new ModbusMasterUdp($test_host_ip); // Data to be writen - BOOL array $data = array(1, 0, TRUE, TRUE, 0, 1, TRUE, TRUE, 1, 1, TRUE, TRUE, 0, 0, FALSE, FALSE, 0, 0, FALSE, FALSE, 1, 1, TRUE, TRUE, 1, 1, TRUE, TRUE, 1, 1, TRUE, TRUE); // Write data - FC 15 $modbus->writeMultipleCoils(0, 12288, $data); //echo $modbus->status; //$modbus->status = ""; //echo "\n\n"; // Read data - FC 1 $recData = $modbus->readCoils(0, 12288, 32); //echo $modbus->status; //echo "\n\n"; var_dump($recData);
<?php require_once dirname(__FILE__) . '/../../Phpmodbus/ModbusMasterUdp.php'; // Create Modbus object $modbus = new ModbusMasterUdp("192.192.15.51"); // Data to be writen - TRUE, FALSE $data_true = array(TRUE); $data_false = array(FALSE); try { // Write single coil - FC5 $modbus->writeSingleCoil(0, 12288, $data_true); $modbus->writeSingleCoil(0, 12289, $data_false); $modbus->writeSingleCoil(0, 12290, $data_true); $modbus->writeSingleCoil(0, 12291, $data_false); } catch (Exception $e) { // Print error information if any echo $modbus; echo $e; exit; }