Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie PHP zur Implementierung der Modbus TCP-Datenüberwachung und -erfassung

So verwenden Sie PHP zur Implementierung der Modbus TCP-Datenüberwachung und -erfassung

WBOY
WBOYOriginal
2023-07-18 14:25:521384Durchsuche

So verwenden Sie PHP zur Implementierung der Modbus TCP-Datenüberwachung und -erfassung

Einführung:
Mit der rasanten Entwicklung der industriellen Automatisierung wird das Modbus-Protokoll als häufig verwendetes Kommunikationsprotokoll im Bereich der industriellen Steuerung häufig verwendet. In diesem Artikel wird die Verwendung der PHP-Sprache zum Überwachen und Sammeln von Modbus-TCP-Daten vorgestellt und Codebeispiele verwendet, um den Lesern den schnellen Einstieg zu erleichtern.

1. Einführung in das Modbus TCP
Das Modbus-Kommunikationsprotokoll kann über das Modbus TCP/IP-Protokoll in ein TCP/IP-Protokoll umgewandelt werden, um eine Fernkommunikation zu erreichen. Modbus TCP ist ein verbindungsorientiertes, nachrichtenbasiertes Protokoll, das einen Anforderungs-/Antwortmodus verwendet und es der Master-Station ermöglicht, Lese- und Schreibanforderungen an die Slave-Station zu senden und eine Antwort von der Slave-Station zu erhalten.

2. Installation der PHP-Modbus-Bibliothek
In PHP gibt es einige Bibliotheken von Drittanbietern, die die Modbus-TCP-Kommunikation problemlos implementieren können. Hier wählen wir die phpmodbus-Bibliothek.
Mit Composer können Sie die phpmodbus-Bibliothek ganz einfach installieren. Erstellen Sie die Datei „composer.json“ im Stammverzeichnis des Projekts und fügen Sie den folgenden Inhalt hinzu:

{
  "require": {
    "mamuesp/phpmodbus": "dev-master"
  }
}

Führen Sie dann den Befehl composer install in der Befehlszeile aus und warten Sie, bis die Installation abgeschlossen ist.

3. Beispiel für einen Modbus TCP-Lesevorgang
Das Folgende ist ein Beispielcode, der die phpmodbus-Bibliothek verwendet, um den Modbus TCP-Lesevorgang zu implementieren:

require_once 'vendor/autoload.php';

$ip = '192.168.1.1';  // Modbus从站IP地址
$port = 502;  // Modbus从站端口号
$unitId = 1;  // 从站ID

use PhpmodbusPhpmodbus;

// 创建实例
$modbus = new Phpmodbus();

// 连接到Modbus从站
$modbus->connectTcp($ip, $port);

// 读取保持寄存器(地址为0x0001)的值
$data = $modbus->readMultipleRegisters($unitId, 1, 1);

// 输出结果
if($data != false) {
    echo "读取成功!
";
    echo "寄存器值:".implode(",", $data)."
";
} else {
    echo "读取失败!
";
}

// 断开连接
$modbus->disconnect();

4. Beispiel für den Modbus TCP-Schreibvorgang
Das Folgende ist ein Beispielcode, der verwendet die phpmodbus-Bibliothek, um den Modbus TCP-Schreibvorgang zu implementieren:

require_once 'vendor/autoload.php';

$ip = '192.168.1.1';  // Modbus从站IP地址
$port = 502;  // Modbus从站端口号
$unitId = 1;  // 从站ID

use PhpmodbusPhpmodbus;

// 创建实例
$modbus = new Phpmodbus();

// 连接到Modbus从站
$modbus->connectTcp($ip, $port);

// 写入保持寄存器(地址为0x0001)的值为100
$modbus->writeSingleRegister($unitId, 1, 100);

// 断开连接
$modbus->disconnect();

5. Fazit
Dieser Artikel stellt vor, wie PHP zur Implementierung der Modbus TCP-Datenüberwachung und -erfassung verwendet wird, und stellt den Lesern entsprechende Codebeispiele zur Verfügung. Durch die Demonstration von Codebeispielen können Leser lernen, wie sie die phpmodbus-Bibliothek verwenden, um Modbus TCP-Lese- und Schreibvorgänge zu implementieren. Ich hoffe, dass dieser Artikel den Lesern bei der tatsächlichen Entwicklung hilfreich sein und bei Anwendungen im Bereich der industriellen Automatisierung eine Rolle spielen kann.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP zur Implementierung der Modbus TCP-Datenüberwachung und -erfassung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn