Aktueller Standort: Startseite> Neueste Artikel> So implementieren Sie Modbus TCP -Stapel -Lesen und Schreiben von Datenoperationen mit PHP

So implementieren Sie Modbus TCP -Stapel -Lesen und Schreiben von Datenoperationen mit PHP

M66 2025-06-20

1. Einführung in Modbus TCP

Modbus TCP ist ein industrielles Kommunikationsprotokoll, das auf dem TCP/IP -Protokoll basiert und im Bereich der industriellen Kontrolle weit verbreitet ist, insbesondere bei der Datenübertragung zwischen Geräten. Durch die Verwendung des Modbus-TCP-Protokolls können das Lesen und Schreiben von Geräten in Echtzeit realisiert werden. In diesem Artikel wird ausführlich eingeführt, wie die PHP -Sprache verwendet wird, um das Lesen und Schreiben von Batch -Lesevorgängen von Modbus TCP zu implementieren und relevante Codebeispiele anzuhängen, um den Entwicklern die schnell verwandten Funktionen schnell zu implementieren.

2. Umweltvorbereitung

Bevor Sie mit dem Schreiben von PHP -Code beginnen, müssen Sie sicherstellen, dass die relevanten PHP -Erweiterungen und -umgebungen installiert sind. Stellen Sie sicher, dass der Server PHP installiert hat und die Erweiterungen des Modbus -TCP -Protokolls unterstützt. Nach Abschluss der Installation können Sie prüfen, ob der laufende Status von PHP und ob die zugehörigen Erweiterungen unter Verwendung der Funktion phpinfo () geladen werden.

3.. Modbus TCP -Verbindung und Kommunikation

In PHP verwendet das Erstellen einer Modbus -TCP -Verbindung normalerweise die Funktion modbus_new_tcp (). Diese Funktion erfordert zwei Parameter: die IP -Adresse und die Portnummer des Modbus -TCP -Servers. Hier ist der Beispielcode zum Erstellen einer Verbindung:

 
$modbus = modbus_new_tcp("192.168.1.10", 502);
if (!$modbus) {
    die('Failed to create Modbus TCP connection');
}

Nachdem Sie die Verbindung erfolgreich erstellt haben, können Sie die Funktion modbus_read_input_registers () für das Datenlesen verwenden. Diese Funktion erfordert vier Parameter: Modbus TCP -Verbindung, Slaveadresse, Registeradresse und Anzahl der Lesevorgänge. Hier ist ein Beispiel für das Lesen von Eingaberegistern:

 
$data = modbus_read_input_registers($modbus, 1, 0, 10);
if ($data === false) {
    die('Failed to read input registers');
}
print_r($data);

Über den obigen Code können die Daten von 10 Registern aus dem Register 0 des Geräts mit der Maschinenadresse 1 gelesen und das Ergebnis ausgegeben werden.

4. Lesen und Schreiben von Batch

In praktischen Anwendungen müssen Daten gleichzeitig gelesen oder auf mehrere Geräte geschrieben werden. Zu diesem Zweck bietet PHP die Funktion modbus_read_input_registers_batch () und modbus_write_single_register_batch (), die Stapelvorgänge unterstützen. Hier ist ein Beispielcode für das Lesen von Eingabegistern für das Stapel:

 
$addresses = [0, 1, 2, 3, 4];
$data = modbus_read_input_registers_batch($modbus, 1, $addresses);
if (!$data) {
    die('Failed to read input registers batch');
}
print_r($data);

Gleichzeitig kann die Funktion modbus_write_single_register_batch () verwendet werden, um Register zu schreiben. Es akzeptiert drei Parameter: Modbus TCP -Verbindung, Geräteadresse und Array mit Registeradressen und Daten. Hier ist ein Batch -Schreibbeispiel:

 
$registersAndData = [
    [0, 100],
    [1, 200],
    [2, 300],
    [3, 400],
];
$success = modbus_write_single_register_batch($modbus, 1, $registersAndData);
if (!$success) {
    die('Failed to write single register batch');
}

Über diese Codes können Sie gleichzeitig das Lesen und Schreiben von Vorgängen auf mehreren Geräten stapeln und schreiben, um die Effizienz von Datenvorgängen erheblich zu verbessern.

5. Zusammenfassung

Durch die obige Einführung und den Beispielcode können wir feststellen, dass es sehr einfach und effizient ist, Batch -Lese- und Schreibvorgänge von Modbus TCP über die PHP -Sprache zu implementieren. Solange Sie die relevante Entwicklungsumgebung vorbereiten und die entsprechenden PHP -Erweiterungsfunktionen verwenden, können Kommunikations- und Datenvorgänge zwischen Geräten erfolgreich erreicht werden. Ich hoffe, dieser Artikel kann Ihnen helfen, das Modbus -TCP -Protokoll besser zu verstehen und zu verwenden, um die Datenverarbeitungsfunktionen von industriellen Steuerungssystemen zu verbessern.