Maison  >  Article  >  développement back-end  >  Guide de programmation PHP : maîtriser la méthode d'implémentation de la communication Modbus TCP

Guide de programmation PHP : maîtriser la méthode d'implémentation de la communication Modbus TCP

WBOY
WBOYoriginal
2023-07-17 13:09:211796parcourir

Guide de programmation PHP : maîtrisez la méthode de mise en œuvre de la communication Modbus TCP

Modbus TCP est un protocole de communication industrielle couramment utilisé pour implémenter la communication entre les appareils dans les systèmes de contrôle d'automatisation industrielle. En programmation PHP, la méthode de mise en œuvre de la communication Modbus TCP peut apporter une grande commodité au développement de systèmes d'automatisation industrielle. Cet article expliquera comment utiliser le langage de programmation PHP pour implémenter la communication Modbus TCP et joindra des exemples de code correspondants.

  1. Installer la bibliothèque Modbus
    Tout d'abord, vous devez installer la bibliothèque Modbus en PHP. Il peut être installé en suivant les étapes suivantes :

Étape 1 : Téléchargez la bibliothèque libmodbus
Téléchargez la dernière version de la bibliothèque libmodbus sur le site https://libmodbus.org/ et extrayez-la dans un répertoire local.

Étape 2 : Installez la bibliothèque libmodbus
Utilisez la ligne de commande pour entrer dans le répertoire décompressé, puis exécutez la commande suivante pour installer la bibliothèque libmodbus :

$ ./configure
$ make
$ sudo make install

Étape 3 : Installez l'extension PHP
Téléchargez la dernière version de l'extension php_modbus sur https://pecl.php.net/ et extrayez-la dans un répertoire local.

Utilisez le terminal pour accéder au répertoire décompressé et exécutez les commandes suivantes pour installer l'extension php_modbus :

$ phpize
$ ./configure
$ make
$ sudo make install

  1. Connectez-vous au serveur Modbus
    Dans le Code PHP, vous pouvez utiliser le code suivant pour vous connecter au serveur Modbus :
<?php
    $ip = "192.168.1.1"; // Modbus服务器IP地址
    $port = 502; // Modbus端口,默认为502

    // 创建Modbus TCP连接
    $connection = modbus_new_tcp($ip, $port);

    if(!$connection) {
        die("无法连接到Modbus服务器");
    }

    // 连接成功后,可以进行通信操作

    // 关闭Modbus连接
    modbus_close($connection);
?>
  1. Lire les données du registre
    Vous pouvez utiliser le code suivant pour lire les données du registre dans le serveur Modbus :
<?php
    // 读取第一个寄存器的值
    $address = 0; // 寄存器地址
    $quantity = 1; // 读取的寄存器数量

    // 读取寄存器数据
    $data = modbus_read_registers($connection, $address, $quantity);

    // 打印读取的数据
    print_r($data);
?>
  1. Écrire les données du registre
    Vous pouvez utiliser le code suivant pour écrire les données du registre sur le serveur Modbus. Écrivez les données du registre dans :
<?php
    // 写入第一个寄存器的值为100
    $address = 0; // 寄存器地址
    $value = 100; // 写入的值

    // 写入寄存器数据
    $result = modbus_write_register($connection, $address, $value);

    if($result === FALSE) {
        echo "写入寄存器失败";
    } else {
        echo "写入寄存器成功";
    }
?>
  1. Gestion des exceptions
    Dans la communication Modbus, vous pouvez rencontrer des situations anormales, telles qu'un échec de connexion, un échec de lecture et d'écriture, etc. Le code suivant peut être utilisé pour la gestion des exceptions :
<?php
    // 创建Modbus TCP连接
    $connection = modbus_new_tcp($ip, $port);

    if(!$connection) {
        die("无法连接到Modbus服务器");
    }

    // 异常处理
    $exception = modbus_errno();
    if($exception) {
        die("Modbus操作异常:".modbus_strerror($exception));
    }

    // 连接成功后,可以进行通信操作

    // 关闭Modbus连接
    modbus_close($connection);
?>

Grâce aux étapes et aux exemples de code ci-dessus, nous pouvons maîtriser la méthode d'utilisation du langage de programmation PHP pour implémenter la communication Modbus TCP. J'espère que cet article pourra vous être utile dans le développement de systèmes de contrôle d'automatisation industrielle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn