Idées de programmation PHP : créer des applications de communication Modbus TCP efficaces

WBOY
Libérer: 2023-07-17 19:34:01
original
1225 Les gens l'ont consulté

Idées de programmation PHP : créez des applications de communication Modbus TCP efficaces

Avec le développement rapide de l'Internet des objets, de plus en plus d'appareils doivent échanger des données avec des serveurs via la communication TCP. Modbus est un protocole de communication couramment utilisé dans le domaine de l'automatisation industrielle. Cet article expliquera comment utiliser le langage de programmation PHP pour créer une application de communication Modbus TCP efficace et fournira des exemples de code.

  1. Déterminer la méthode de communication

Avant de créer une application de communication Modbus TCP, vous devez déterminer la méthode de communication. Modbus TCP peut être implémenté à l'aide de l'extension de socket PHP, ou des bibliothèques tierces telles que phpmodbus peuvent être utilisées pour simplifier le processus de développement. Ici, nous choisissons d'utiliser la bibliothèque phpmodbus car elle encapsule les détails du protocole Modbus et fournit une API facile à utiliser.

  1. Installer la bibliothèque phpmodbus

Utiliser Composer pour installer la bibliothèque phpmodbus est le moyen le plus simple. Ouvrez une fenêtre de ligne de commande, entrez dans le répertoire du projet et exécutez la commande suivante pour installer la bibliothèque phpmodbus :

composer require phpmodbus/phpmodbus
Copier après la connexion

Composer téléchargera et installera la bibliothèque phpmodbus et ses dépendances.

  1. Connecter un périphérique Modbus TCP

Tout d'abord, nous devons créer une connexion Modbus TCP. En PHP, cela peut être réalisé en utilisant la classe ModbusMaster. Voici un exemple de code pour se connecter à un appareil Modbus TCP :

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

use PhpmodbusPhpmodbus;

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

$modbus = new ModbusMaster($ip, $port);
Copier après la connexion
  1. Lecture des données

Une fois la connexion établie avec succès, nous pouvons utiliser la méthode readMultipleRegisters dans la classe ModbusMaster pour lire les données de registre de l'appareil Modbus. Voici un exemple de code qui lit l'appareil Modbus contenant les données de registre :

$unitId = 0; // 设备的单元标识符
$startAddress = 0; // 开始地址
$numberOfRegisters = 10; // 读取寄存器的数量

$data = $modbus->readMultipleRegisters($unitId, $startAddress, $numberOfRegisters);
$values = Phpmodbus::byteArrayToRegisterArray($data);
Copier après la connexion

Dans l'exemple ci-dessus, la méthode readMultipleRegisters accepte l'identifiant d'unité de l'appareil, l'adresse de départ et le nombre de registres comme paramètres et renvoie un tableau d'octets. Nous pouvons convertir un tableau d'octets en un tableau de valeurs de registre en utilisant la méthode byteArrayToRegisterArray de la bibliothèque Phpmodbus.

  1. Écrire des données

Si vous devez écrire des données sur le périphérique Modbus, vous pouvez utiliser la méthode writeMultipleRegisters dans la classe ModbusMaster. Voici un exemple de code qui écrit des données dans les registres de stockage de l'appareil Modbus :

$data = [1, 2, 3, 4, 5]; // 要写入的数值数组
$startAddress = 0; // 开始地址
$unitId = 0; // 设备的单元标识符

$modbus->writeMultipleRegisters($unitId, $startAddress, $data);
Copier après la connexion

Dans l'exemple ci-dessus, la méthode writeMultipleRegisters accepte comme paramètres l'identifiant d'unité de l'appareil, l'adresse de départ et le tableau de valeurs à écrire. . Notez que la longueur du tableau dans lequel les données sont écrites doit être la même que le nombre de registres en cours d'écriture.

  1. Fermer la connexion

Lorsque la communication avec l'appareil Modbus n'est plus nécessaire, la connexion doit être fermée pour libérer des ressources. La connexion peut être fermée à l'aide de la méthode de déconnexion dans la classe ModbusMaster. Voici un exemple de code pour fermer une connexion Modbus TCP :

$modbus->disconnect();
Copier après la connexion

Résumé

Cet article présente comment utiliser le langage de programmation PHP pour créer une application de communication Modbus TCP efficace. En utilisant la bibliothèque phpmodbus, nous pouvons facilement nous connecter aux appareils Modbus et lire et écrire des données de registre à l'aide d'une simple API. J'espère que cet article vous a aidé à créer des applications de communication Modbus TCP.

Remarque : les exemples de code ci-dessus sont uniquement à titre de référence. Les applications réelles peuvent nécessiter certains ajustements et extensions en fonction de circonstances spécifiques.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!