Position actuelle: Accueil> Derniers articles> Compétences en programmation PHP: implémentation de méthodes de filtrage et d'analyse des données MODBUS TCP

Compétences en programmation PHP: implémentation de méthodes de filtrage et d'analyse des données MODBUS TCP

M66 2025-05-31

Méthode pratique pour la mise en œuvre de la lecture et de l'analyse des données MODBUS TCP dans PHP

Modbus TCP est un protocole de communication largement utilisé dans le domaine de l'automatisation industrielle. Il prend en charge l'interaction des données entre les appareils sur Ethernet. Dans le développement de PHP, comment établir la communication Modbus TCP et filtrer et analyser les données retournées est l'exigence de base de nombreux projets d'ingénierie. Cet article vous guidera à travers un ensemble complet de solutions d'implémentation PHP, couvrant des liens clés tels que la connexion, la demande et le traitement des données.

Établir une connexion Modbus TCP

Utilisez la bibliothèque phpmodbus pour établir rapidement des connexions avec les périphériques MODBUS TCP. Tout d'abord, vous devez l'installer via le compositeur:

 composer require modbus/tcp-php

Une fois l'installation terminée, vous pouvez établir une connexion de communication avec l'appareil via le code suivant:

 <?php
require __DIR__ . '/vendor/autoload.php';

use ModbusTcpClient\Network\BinaryStreamConnection;

$ip = '192.168.1.100';
$port = 502;

$connection = new BinaryStreamConnection($ip, $port);
$connection->connect();

// Peut être fait iciModbus TCPcommunication

$connection->close();
?>

Envoyer une demande de lecture Modbus TCP

Une fois la connexion réussie, vous pouvez utiliser les méthodes de la bibliothèque pour envoyer la demande, telles que la lecture des données du registre Hold:

 use ModbusTcpClient\Request\ReadHoldingRegistersRequest;
use ModbusTcpClient\Utils\Types;

$request = new ReadHoldingRegistersRequest(0, 10);
$response = $connection->sendRequest($request);

if ($response->isOk()) {
    $data = Types::parseByteArray($response->getData());
    print_r($data);
} else {
    echo 'Échec de la demande:' . $response->getErrorMessage();
}

Les demandes de code ci-dessus pour lire 10 maintien des registres avec une adresse de départ de 0 et analyser les données d'octets renvoyées.

Filtre et analyser les données de modbus renvoie

Dans les applications pratiques, vous n'êtes souvent intéressé que par les données avec des conditions spécifiques. Par exemple, les données d'enregistrement avec une valeur supérieure à 100 peuvent être analysées et filtrées à l'aide de la méthode suivante:

 if ($response->isOk()) {
    $data = Types::parseByteArray($response->getData());

    $filteredData = array_filter($data, function($value) {
        return $value > 100;
    });

    print_r($filteredData);
} else {
    echo 'Échec de la demande:' . $response->getErrorMessage();
}

Grâce à la fonction array_filter , la logique de filtrage peut être personnalisée en fonction des besoins, extrait ainsi des données utiles pour le traitement ou l'affichage ultérieur.

Résumer

Cet article présente les étapes clés de l'utilisation de PHP pour la communication MODBUS TCP, y compris la connexion de l'appareil, la lecture du registre et le dépistage et l'analyse des données. Avec l'aide de la bibliothèque phpmodbus , les développeurs peuvent facilement intégrer le protocole Modbus dans des projets PHP, en particulier adaptés à la surveillance industrielle, à la télécommande et à des scénarios de fabrication intelligents.

La maîtrise de ces compétences vous rendra plus à l'aise de développer des applications Web de contrôle industriel.