Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk melaksanakan pemantauan dan pengumpulan data Modbus TCP

Cara menggunakan PHP untuk melaksanakan pemantauan dan pengumpulan data Modbus TCP

WBOY
WBOYasal
2023-07-18 14:25:521313semak imbas

Cara menggunakan PHP untuk melaksanakan pemantauan dan pengumpulan data Modbus TCP

Pengenalan:
Dengan perkembangan pesat automasi industri, protokol Modbus, sebagai protokol komunikasi yang biasa digunakan, digunakan secara meluas dalam bidang kawalan industri. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk memantau dan mengumpul data Modbus TCP, dan menggunakan contoh kod untuk membantu pembaca bermula dengan cepat.

1. Pengenalan kepada Modbus TCP
Protokol komunikasi Modbus ialah protokol komunikasi siri Modbus boleh ditukar kepada protokol TCP/IP melalui protokol Modbus TCP/IP untuk mencapai komunikasi jauh. Modbus TCP ialah protokol berasaskan mesej berorientasikan sambungan yang menggunakan mod permintaan/tindak balas, membenarkan stesen induk menghantar permintaan baca dan tulis ke stesen hamba dan mendapatkan respons daripada stesen hamba.

2. Pemasangan perpustakaan PHP Modbus
Dalam PHP, terdapat beberapa perpustakaan pihak ketiga yang boleh melaksanakan komunikasi Modbus TCP dengan mudah. Di sini kita memilih perpustakaan phpmodbus.
Menggunakan Komposer, anda boleh memasang perpustakaan phpmodbus dengan mudah. Cipta fail composer.json dalam direktori akar projek dan tambah kandungan berikut:

{
  "require": {
    "mamuesp/phpmodbus": "dev-master"
  }
}

Kemudian laksanakan arahan composer install pada baris arahan dan tunggu pemasangan selesai.

3. Contoh operasi baca Modbus TCP
Berikut adalah contoh kod yang menggunakan perpustakaan phpmodbus untuk melaksanakan operasi baca TCP Modbus:

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();

4 Contoh operasi tulis TCP Modbus
Berikut ialah contoh kod yang menggunakan perpustakaan phpmodbus untuk melaksanakan operasi tulis Modbus TCP :

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();

5. Kesimpulan
Artikel ini memperkenalkan cara menggunakan PHP untuk melaksanakan pemantauan dan pengumpulan data Modbus TCP, dan menyediakan contoh kod yang sepadan kepada pembaca. Melalui demonstrasi contoh kod, pembaca boleh mempelajari cara menggunakan perpustakaan phpmodbus untuk melaksanakan operasi baca dan tulis Modbus TCP. Saya berharap artikel ini dapat membantu pembaca dalam pembangunan sebenar dan boleh memainkan peranan dalam aplikasi dalam bidang automasi industri.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan pemantauan dan pengumpulan data Modbus TCP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn