Maison  >  Article  >  développement back-end  >  PHP et Modbus TCP : Comment établir une connexion de communication stable

PHP et Modbus TCP : Comment établir une connexion de communication stable

WBOY
WBOYoriginal
2023-07-18 19:30:191606parcourir

PHP et Modbus TCP : Comment établir une connexion de communication stable

Résumé :
Modbus TCP est un protocole de communication couramment utilisé pour la communication entre les appareils dans le domaine de l'automatisation industrielle. Cet article explique comment utiliser le langage de programmation PHP pour établir une connexion de communication stable avec les appareils Modbus TCP et fournit quelques exemples de code.

Introduction :
Dans le domaine de l'automatisation industrielle, la communication entre les appareils est très importante. Modbus TCP est un protocole de communication couramment utilisé qui permet l'échange de données en temps réel entre le serveur maître et les appareils esclaves. PHP est un langage de programmation puissant qui peut communiquer avec les appareils Modbus TCP pour lire et écrire des données.

Cet article utilisera le langage de programmation PHP pour montrer comment établir une connexion de communication avec un appareil Modbus TCP et fournira quelques exemples de code simples pour aider les lecteurs à mieux comprendre et appliquer cette technologie.

Étape 1 : Installer la bibliothèque PHP Modbus
Avant de commencer, nous devons installer une bibliothèque PHP Modbus pour communiquer avec les appareils Modbus TCP. La bibliothèque peut être installée en exécutant la commande suivante :

composer require phpmodbus/phpmodbus

Étape 2 : Établir la connexion Modbus TCP
Tout d'abord, nous devons importer la bibliothèque Modbus dans le code PHP puis utiliser le code suivant pour établir la connexion avec le périphérique Modbus TCP :

<?php
require_once('vendor/autoload.php');

use PhpmodbusPhpmodbus;

$ip = '192.168.1.1';  // Modbus TCP设备的IP地址
$port = 502;  // Modbus TCP设备的端口号

$modbus = new Phpmodbus();
$modbus->connect($ip, $port);
?>

Dans Dans le code ci-dessus, nous établissons une connexion avec le périphérique Modbus TCP en créant un objet Phpmodbus. Nous devons fournir l'adresse IP et le numéro de port du périphérique Modbus TCP comme paramètres.

Étape 3 : Lire la valeur du registre Modbus
Une fois la connexion établie avec l'appareil Modbus TCP, nous pouvons utiliser le code suivant pour lire la valeur du registre Modbus :

<?php
$response = $modbus->readMultipleRegisters(0, 10, 3);
if (!$response) {
    echo "读取Modbus寄存器失败!";
    exit;
}

$values = PhpmodbusUtilsModbus::parseMultipleRegisters($response);
print_r($values);
?>

Dans le code ci-dessus, nous utilisons le Méthode readMultipleRegisters() Pour lire les valeurs de 10 registres à partir de 0, le type de données de ces registres est 3 (entier non signé de 16 bits). Les résultats de lecture sont stockés dans la variable $response et la méthode parseMultipleRegisters() doit être utilisée pour analyser les données.

Étape 4 : Écrire la valeur du registre Modbus
En plus de lire la valeur du registre Modbus, on peut également utiliser le code suivant pour écrire la valeur du registre Modbus :

<?php
$data = array(1, 2, 3, 4, 5);  // 需要写入的值

$response = $modbus->writeMultipleRegisters(0, $data);
if (!$response) {
    echo "写入Modbus寄存器失败!";
    exit;
}

echo "Modbus寄存器写入成功!";
?>

Dans le code ci-dessus, on utilise writeMultipleRegisters() Méthode pour écrire les valeurs du tableau $data dans les registres à partir de 0. Si l’opération d’écriture réussit, « Écriture du registre Modbus réussie ! » sera affiché.

Conclusion : 
En utilisant le langage de programmation PHP et la bibliothèque Modbus, nous pouvons facilement établir une connexion de communication avec l'appareil Modbus TCP et mettre en œuvre des opérations de lecture et d'écriture de données. Cet article donne quelques exemples de code simples pour aider les lecteurs à mieux comprendre et appliquer ces technologies. J'espère que cet article pourra être utile aux lecteurs dans leurs travaux sur la communication des appareils dans le domaine de l'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