Modbus TCP ist ein weit verbreitetes Kommunikationsprotokoll im Bereich der industriellen Automatisierung. Es unterstützt die Dateninteraktion zwischen Geräten über Ethernet. In der PHP -Entwicklung ist die Einrichtung der Modbus -TCP -Kommunikation und -filter und analysiert die zurückgegebenen Daten die Kernanforderung vieler Ingenieurprojekte. Dieser Artikel führt Sie durch einen vollständigen Satz von PHP -Implementierungslösungen, die wichtige Links wie Verbindung, Anforderung und Datenverarbeitung abdecken.
Verwenden Sie die phpmodbus
-Bibliothek, um Verbindungen mit Modbus TCP -Geräten schnell herzustellen. Zuerst müssen Sie es über den Komponisten installieren:
composer require modbus/tcp-php
Nach Abschluss der Installation können Sie über den folgenden Code eine Kommunikationsverbindung mit dem Gerät herstellen:
<?php
require __DIR__ . '/vendor/autoload.php';
use ModbusTcpClient\Network\BinaryStreamConnection;
$ip = '192.168.1.100';
$port = 502;
$connection = new BinaryStreamConnection($ip, $port);
$connection->connect();
// Kann hier gemacht werdenModbus TCPKommunikation
$connection->close();
?>
Nachdem die Verbindung erfolgreich ist, können Sie die Methoden in der Bibliothek verwenden, um die Anfrage zu senden, z. B. das Lesen der Daten im Hold -Register:
use ModbusTcpClient\Request\ReadHoldingRegistersRequest;
use ModbusTcpClient\Utils\Types;
$request = new ReadHoldingRegistersRequest(0, 10);
$response = $connection->sendRequest($request);
if ($response->isOk()) {
$data = Types::parseByteArray($response->getData());
print_r($data);
} else {
echo 'Anfrage fehlgeschlagen:' . $response->getErrorMessage();
}
Die oben genannten Codeanfragen, 10 Haltenregister mit einer Startadresse von 0 zu lesen und die zurückgegebenen Byte -Daten zu analysieren.
In praktischen Anwendungen interessieren Sie sich häufig nur an Daten mit bestimmten Bedingungen. Beispielsweise können nur Daten mit einem Wert von mehr als 100 analysiert und unter Verwendung der folgenden Methode gefiltert werden:
if ($response->isOk()) {
$data = Types::parseByteArray($response->getData());
$filteredData = array_filter($data, function($value) {
return $value > 100;
});
print_r($filteredData);
} else {
echo 'Anfrage fehlgeschlagen:' . $response->getErrorMessage();
}
Durch die Funktion array_filter
kann die Filterlogik entsprechend den Anforderungen angepasst werden, wodurch nützliche Daten für die nachfolgende Verarbeitung oder Anzeige extrahiert werden.
In diesem Artikel werden die wichtigsten Schritte für die Verwendung von PHP für die Modbus -TCP -Kommunikation eingeführt, einschließlich Geräteverbindung, Register -Lesen sowie Datenprüfungen und -analysen. Mit Hilfe der phpmodbus
-Bibliothek können Entwickler das Modbus -Protokoll problemlos in PHP -Projekte integrieren, insbesondere für industrielle Überwachung, Fernbedienung und intelligente Fertigungsszenarien.
Wenn Sie diese Fähigkeiten beherrschen, werden Sie eine komfortablere Entwicklung von Webanwendungen für industrielle Steuerung.