Modbus TCP and UDP library for PHP., originally from code.google.com/p/phpmodbus
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ondřej Hruška 61e7a690eb Minor cleanup, removed duplicate timeout vars & replaced with float [sec], added socket Tout setter 9 years ago
examples added a namespace 10 years ago
src Minor cleanup, removed duplicate timeout vars & replaced with float [sec], added socket Tout setter 9 years ago
tests added a namespace 10 years ago
.gitignore Cleaned up the code, fixed broken phpdoc tags, formatting 10 years ago
LICENSE added a namespace 10 years ago
README.md foo 10 years ago
composer.json added myself to composer json 10 years ago

README.md

phpmodbus

Implementation of the basic functionality of the Modbus TCP and UDP based protocol using PHP.

This is a fork of the original project at https://code.google.com/p/phpmodbus/

What's new

This fork adds a namespace and fixes issues encountered when porting to PHP 7

WARNING: Everything except the actual code in this repo may be broken and outdated.

Implemented features:

  • Modbus master
  • FC1 - Read coils
  • FC2 - Read input discretes
  • FC3 - Read holding registers
  • FC4 - Read holding input registers
  • FC5 - Write single coil
  • FC6 - Write single register
  • FC15 - Write multiple coils
  • FC16 - Write multiple registers
  • FC23 - Read/Write multiple registers

Example:

require_once dirname(__FILE__) . '/Phpmodbus/ModbusMaster.php'; 

// Modbus master UDP
$modbus = new ModbusMaster("192.168.1.1", "UDP"); 
// Read multiple registers
try {
    $recData = $modbus->readMultipleRegisters(0, 12288, 5); 
}
catch (Exception $e) {
    // Print error information if any
    echo $modbus;
    echo $e;
    exit;
}
// Print data in string format
echo PhpType::bytes2string($recData); 

For more see [http://code.google.com/p/phpmodbus/downloads/list documentation] or [http://code.google.com/p/phpmodbus/wiki/FAQ FAQ].

Note:

  • The PHP extension php_sockets.dll should be enabled (server php.ini file)