Home > Backend Development > PHP Tutorial > How to use PHP to implement Modbus TCP data monitoring and collection

How to use PHP to implement Modbus TCP data monitoring and collection

WBOY
Release: 2023-07-18 14:28:01
Original
1473 people have browsed it

How to use PHP to implement Modbus TCP data monitoring and collection

Introduction:
With the rapid development of industrial automation, the Modbus protocol, as a commonly used communication protocol, has been widely used in the field of industrial control. This article will introduce how to use PHP language to monitor and collect Modbus TCP data, and use code examples to help readers get started quickly.

1. Introduction to Modbus TCP
The Modbus communication protocol is a serial communication protocol. The Modbus communication protocol can be converted into the TCP/IP protocol through the Modbus TCP/IP protocol to achieve remote communication. Modbus TCP is a connection-oriented, message-based protocol that adopts a request/response mode, allowing the master station to send read and write requests to the slave station and obtain a response from the slave station.

2. Installation of PHP Modbus library
In PHP, there are some third-party libraries that can easily implement Modbus TCP communication. Here we choose the phpmodbus library.
Using Composer, you can easily install the phpmodbus library. Create the composer.json file in the project root directory and add the following content:

{
  "require": {
    "mamuesp/phpmodbus": "dev-master"
  }
}
Copy after login

Then execute the composer install command on the command line and wait for the installation to complete.

3. Modbus TCP read operation example
The following is a sample code that uses the phpmodbus library to implement the Modbus TCP read operation:

require_once 'vendor/autoload.php';

$ip = '192.168.1.1';  // Modbus从站IP地址
$port = 502;  // Modbus从站端口号
$unitId = 1;  // 从站ID

use PhpmodbusPhpmodbus;

// 创建实例
$modbus = new Phpmodbus();

// 连接到Modbus从站
$modbus->connectTcp($ip, $port);

// 读取保持寄存器(地址为0x0001)的值
$data = $modbus->readMultipleRegisters($unitId, 1, 1);

// 输出结果
if($data != false) {
    echo "读取成功!
";
    echo "寄存器值:".implode(",", $data)."
";
} else {
    echo "读取失败!
";
}

// 断开连接
$modbus->disconnect();
Copy after login

4. Modbus TCP write operation example
The following is A sample code that uses the phpmodbus library to implement Modbus TCP write operations:

require_once 'vendor/autoload.php';

$ip = '192.168.1.1';  // Modbus从站IP地址
$port = 502;  // Modbus从站端口号
$unitId = 1;  // 从站ID

use PhpmodbusPhpmodbus;

// 创建实例
$modbus = new Phpmodbus();

// 连接到Modbus从站
$modbus->connectTcp($ip, $port);

// 写入保持寄存器(地址为0x0001)的值为100
$modbus->writeSingleRegister($unitId, 1, 100);

// 断开连接
$modbus->disconnect();
Copy after login

5. Conclusion
This article introduces how to use PHP to implement Modbus TCP data monitoring and collection, and provides readers with the corresponding code Example. Through the demonstration of code examples, readers can learn how to use the phpmodbus library to implement Modbus TCP read and write operations. I hope this article can be helpful to readers in actual development and can play a role in applications in the field of industrial automation.

The above is the detailed content of How to use PHP to implement Modbus TCP data monitoring and collection. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template