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!