Maison développement back-end tutoriel php PHP et Modbus TCP : Comprendre le protocole Modbus et ses paramètres associés

PHP et Modbus TCP : Comprendre le protocole Modbus et ses paramètres associés

Jul 19, 2023 am 09:22 AM
php tcp modbus

PHP et Modbus TCP : Comprendre le protocole Modbus et ses paramètres associés

Résumé :
Dans les systèmes de contrôle industriels, Modbus est un protocole de communication couramment utilisé pour l'interaction de données entre les appareils. Cet article présentera les principes de base et les paramètres associés du protocole Modbus TCP, et fournira des exemples de code PHP pour aider les lecteurs à comprendre et à appliquer le protocole Modbus TCP.

1. Introduction au protocole Modbus TCP

Modbus TCP est une variante du protocole Modbus basée sur le protocole TCP/IP, qui permet à plusieurs appareils de communiquer via Ethernet. Modbus TCP utilise un modèle commande/réponse simple et les appareils échangent des données en lisant et en écrivant des registres.

Les principes de base du protocole Modbus TCP sont les suivants :

  1. Tous les appareils sont identifiés et communiqués via des adresses IP.
  2. Modbus TCP utilise le port par défaut 502.
  3. Modèle requête-réponse. Le périphérique maître envoie une commande de requête et le périphérique esclave renvoie des données de réponse.
  4. Prend en charge les codes de fonction pour la lecture et l'écriture des registres.

2. Paramètres Modbus TCP

Lors de l'utilisation du protocole Modbus TCP, vous devez comprendre les paramètres importants suivants :

  1. Adresse IP : L'adresse IP de l'appareil est utilisée pour l'identification et la communication. Par exemple, un serveur Modbus peut avoir une adresse IP de 192.168.1.100.
  2. Numéro de port : Modbus TCP utilise le numéro de port par défaut 502. Vous devez vous assurer que le numéro de port de l'appareil est correctement défini.
  3. Code de fonction : Modbus TCP prend en charge une variété de codes de fonction couramment utilisés, notamment la lecture des registres de maintien (code de fonction 03) et l'écriture de plusieurs registres de maintien (code de fonction 16).
  4. Adresse du registre : le registre de maintien est l'unité de base de la communication Modbus TCP. La lecture et l'écriture de données nécessitent de préciser l'adresse du registre.

3. Exemple de code PHP

Utilisez la bibliothèque PHP Phpmodbus (https://github.com/r-vnc/phpmodbus) pour communiquer facilement avec les appareils Modbus TCP. Vous trouverez ci-dessous un exemple simple qui montre comment lire les données d'un registre de maintien à l'aide de la bibliothèque Phpmodbus.

// Référencez le fichier de la bibliothèque Phpmodbus
require_once('phpmodbusModbusMaster.php');

// Créez un objet ModbusMaster et précisez l'adresse IP et le numéro de port du serveur Modbus
$modbus = new ModbusMaster ("192.168.1.100", "TCP");

//Spécifiez l'adresse du registre et la quantité à lire, et lisez les données via le code de fonction 03
$address = 0; // Adresse du registre
$quantity = 10; // Enregistrer la quantité
$data = $modbus->readMultipleRegisters(1, $address, $quantity);

// Afficher les données lues
if(!$data){

echo "读取错误!";

}else{

echo "读取到的数据:

" ;

foreach($data as $value){
    echo $value . "

";

}

}
?>

Dans l'exemple ci-dessus, nous avons créé un objet ModbusMaster et spécifié l'adresse IP et le numéro de port du serveur Modbus. Ensuite, nous utilisons la fonction readMultipleRegisters pour lire les données dans le registre de maintien et imprimer le résultat.

Ce n'est qu'un exemple simple. En utilisation réelle, des opérations plus complexes peuvent être nécessaires en fonction de besoins spécifiques, comme l'écriture de données ou l'utilisation d'autres codes de fonction.

Conclusion : 
Modbus TCP est un protocole de communication de système de contrôle industriel couramment utilisé, simple à utiliser et facile à mettre en œuvre. Cet article présente les principes de base et les paramètres associés du protocole Modbus TCP, et fournit un exemple d'utilisation de la bibliothèque PHP Phpmodbus pour communiquer avec un appareil Modbus TCP. Les lecteurs peuvent l'étendre et l'appliquer en fonction des besoins réels pour réaliser des fonctions de communication Modbus TCP plus complexes.

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 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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Ajax avec PHP Comment utiliser Ajax avec PHP Aug 29, 2025 am 08:58 AM

AjaxwithphPenablesDynamicwebappsBySendingasynchronousRequestsWithoutPageReloads.1.CreateHtmlWithJavaScriptUsingFetch () ToSendd ATA.2.BuildaphPScriptToprocessSpostDataAndreturn Responses.3.UsejsonforComplexDatahandling.4.

Comment lire un fichier CSV en PHP? Comment lire un fichier CSV en PHP? Aug 29, 2025 am 08:06 AM

ToreadacsvFileInphp, useFopen () toopenthefile, fGetcsv () inalooptoreADEACHROWASANArray, etfclose () tocloseit; mancheheaders withaseparatefgetcsv () callandspecifydelimitersasneeded, assurantproperfilepathsandutf-8encodingforspecialcharracters.

Quelle est la différence entre l'ISSet et le vide en php Quelle est la différence entre l'ISSet et le vide en php Aug 27, 2025 am 08:38 AM

isset () CheckSiSifavariableExistsandisnotNull, returningtrueevenforzero, false, omptyStringValues; 2.Empty () checkSifavariableSnull, false, 0, "0", "", ORUNDEFINED, RETOURDINGTRUEFORTHESE "Falsy

Comment obtenir la date et l'heure actuelles en PHP? Comment obtenir la date et l'heure actuelles en PHP? Aug 31, 2025 am 01:36 AM

Usedate ('y-m-dh: i: s') withdate_default_timezone_set () togetcurrentDateAndtimeInphp, assurant à la réalisation des éventualités de latTheDesiredTimeZonElike'America / new_york'beforCallingDate ().

Modifier les signets dans Chrome Modifier les signets dans Chrome Aug 27, 2025 am 12:03 AM

L'édition de signets de Chrome est simple et pratique. Les utilisateurs peuvent saisir le gestionnaire de signets via les touches de raccourci Ctrl Shift O (Windows) ou CMD Shift O (Mac), ou entrer dans le menu du navigateur; 1. Lors de la modification d'un seul signet, cliquez avec le bouton droit pour sélectionner "Modifier", modifiez le titre ou l'URL et cliquez sur "Terminer" pour enregistrer; 2. Lorsque vous organisez des signets par lots, vous pouvez maintenir CTRL (ou CMD) dans des signets à choix multiples dans le gestionnaire de signets, cliquez avec le bouton droit pour sélectionner "passer à" ou "Copier" le dossier cible; 3. Lors de l'exportation et de l'importation de signets, cliquez sur le bouton "Résoudre" pour sélectionner "Exporter Bookmark" pour enregistrer en tant que fichier HTML, puis restaurer la fonction "Importer Bookmark" si nécessaire.

Comment configurer SMTP pour l'envoi de courrier dans PHP Comment configurer SMTP pour l'envoi de courrier dans PHP Aug 27, 2025 am 08:08 AM

Réponse: L'utilisation de la bibliothèque PHPMailer pour configurer le serveur SMTP peut permettre l'envoi de courriers via SMTP dans les applications PHP. PHPMailer doit être installé, configurer l'hôte SMTP, le port, la méthode de chiffrement et les informations d'authentification de Gmail, écrire du code pour définir l'expéditeur, le destinataire, la rubrique et le contenu, activer 2FA et utiliser le mot de passe de l'application pour s'assurer que le serveur autorise la connexion SMTP, et enfin appeler la méthode Envoyer un e-mail.

Comment travailler avec des horodatages en PHP? Comment travailler avec des horodatages en PHP? Aug 31, 2025 am 08:55 AM

Utilisez l'heure () pour obtenir l'horodatage actuel, Date () Formats l'heure, et StrtoTime () convertit la chaîne de date en horodatage. Il est recommandé que la classe DateTime gère les opérations de fuseau horaire et de date pour des opérations complexes.

Comment définir un niveau de rapport d'erreur en PHP? Comment définir un niveau de rapport d'erreur en PHP? Aug 31, 2025 am 06:48 AM

UseError_Reportting () TOSETERRORLEVELSINPHP, telase_allfordEvelovegor0ForProduction, etControldisplayorLoggingViaini_Set () ToenhancedEbuggingandSecurity.

See all articles