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.
php-modbus/README.md

77 lines
1.9 KiB

# phpmodbus
Implementation of the basic functionality of the Modbus TCP and UDP based protocol using PHP.
**NOTE: This is a fork to fix & update the library code (and code alone).**
##What's new
* This fork adds a namespace and fixes issues encountered when porting to PHP 7
* Fixes/replaces old MS Windows specific tests
8 years ago
## 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
## Requirements
* The PHP extension php_sockets.dll should be enabled (server php.ini file)
* PHP 5.3.2 (5.6 for tests)
## Example
11 years ago
```php
use PHPModbus/ModbusMaster;
use PHPModbus/PhpType;
// 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);
```
11 years ago
Use the `setTimeout($seconds)` and `setSocketTimeout($read_timeout_sec, $write_timeout_sec)` methods to adjust wait times.
Most of the code is (to some extent) commented and documented with PhpDoc. You should get useful tooltips in your IDE.
## Tests
To run the test suite, you need install the dependencies via composer, then
run PHPUnit.
NB: PHP 5.6+ is required for tests
composer install
composer test # or under Windows vendor\bin\phunit.bat
To report test coverage (created inside ./report/html):
composer test-coverage
## GoogleCode legacy docs & downloads
This project was originally hosted on (now defunct) Google Code. It's still archived here:
* [GoogleCode Archived Repo](http://code.google.com/p/phpmodbus)
11 years ago