Maison  >  Article  >  développement back-end  >  Compétences en programmation PHP : Implémentation de méthodes de filtrage et d'analyse de données Modbus TCP

Compétences en programmation PHP : Implémentation de méthodes de filtrage et d'analyse de données Modbus TCP

王林
王林original
2023-07-17 11:55:41681parcourir

Compétences en programmation PHP : mettre en œuvre des méthodes de filtrage et d'analyse des données Modbus TCP

Modbus TCP est un protocole de communication couramment utilisé, qui peut être utilisé pour communiquer avec divers appareils et est très populaire dans le domaine du contrôle industriel. En programmation PHP, comment filtrer et analyser les données Modbus TCP est une compétence et une exigence importante. Cet article présentera quelques compétences en programmation PHP pour vous aider à mettre en œuvre les méthodes de filtrage et d'analyse des données Modbus TCP.

1. Établir une connexion Modbus TCP

En PHP, nous pouvons utiliser la bibliothèque "phpmodbus" pour établir une connexion avec un appareil Modbus TCP. Tout d’abord, nous devons installer la bibliothèque. Exécutez la commande suivante pour installer :

composer require modbus/tcp-php

Une fois l'installation terminée, nous pouvons utiliser la bibliothèque. Voici un exemple de code pour établir une connexion Modbus TCP :

<?php

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

use ModbusTcpClientNetworkBinaryStreamConnection;

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

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

// 在这里可以进行Modbus TCP通信

$connection->close();

2. Envoyer une requête Modbus TCP

Après avoir établi une connexion avec l'appareil, nous pouvons utiliser la bibliothèque "phpmodbus" pour envoyer une requête Modbus TCP. Voici un exemple de code qui envoie une requête Modbus TCP pour lire les registres de maintien :

...

use ModbusTcpClientRequestReadHoldingRegistersRequest;
use ModbusTcpClientUtilsTypes;

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

if ($response->isOk()) {
    $data = Types::parseByteArray($response->getData());
    print_r($data);
} else {
    echo '请求失败:' . $response->getErrorMessage();
}

...

Le code ci-dessus envoie une requête pour lire 10 registres de maintien à partir de l'adresse 0 et analyse les données résultantes dans un tableau pour impression.

3. Criblage et analyse des données

Dans les projets réels, toutes les données ne sont généralement pas traitées directement, mais examinées et analysées en fonction des besoins. Par exemple, si nous voulons uniquement obtenir des données d'une valeur supérieure à 100 dans le registre de maintien, nous pouvons utiliser le code suivant pour filtrer et analyser :

...

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

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

    print_r($filteredData);
} else {
    echo '请求失败:' . $response->getErrorMessage();
}

...

Le code ci-dessus utilise la fonction array_filter pour filtrer les données, ne conserver que les données avec une valeur supérieure à 100 et imprimez-le.

4. Résumé

Grâce aux compétences en programmation PHP ci-dessus, nous pouvons facilement mettre en œuvre le criblage et l'analyse des données Modbus TCP. Tout d’abord, nous établissons une connexion avec le périphérique Modbus TCP ; ensuite, nous envoyons la requête Modbus TCP et traitons les données qu’elle contient. Enfin, nous montrons également comment filtrer et analyser les données.

J'espère que cet article pourra vous aider à appliquer de manière flexible les méthodes de criblage et d'analyse des données Modbus TCP dans la programmation PHP. Bon codage !

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