Page 1 of 1

PHPModbus kann keine Verbindung herstellen

Posted: 12 Jan 2025, 03:50
by Guest
Ich versuche, über TCP eine Verbindung zu einem Modbus-Gerät (KWH-Energiezähler) herzustellen, indem ich ein Waveshare RS485-zu-Eth(b)-Gateway verwende.
Ich stelle erfolgreich eine Verbindung her und sende dann ein Paket, aber dann Es erfolgt keine Antwort und der ausgegebene Fehler lautet:

Code: Select all

Watchdog time expired [ 5 sec]!!! Connection to 192.168.1.254 is not established. in localhost\modbus\Phpmodbus\ModbusMaster.php:167
Ich kann nicht herausfinden, wie ich diese richtig kommunizieren lassen kann oder wie ich herausfinden kann, wo das Problem liegt?
Vermutlich, wenn der Socket bindend ist, dann die Client-, Ziel- und Porteinstellungen sind alle korrekt.
Code ist:

Code: Select all

// Create Modbus object
$modbus = new ModbusMasterUdp("192.168.1.254", "TCP");

try {
// Read input discretes - FC 4
// FC 4 Reads Function Code Registers starts at 30000
$recData = $modbus->readMultipleInputRegisters(1, 1, 2);
//$recData = $modbus->readMultipleRegisters(1, 30000, 2);
Zu Ihrer Information: Ich versuche 30001 zu lesen und bin mir immer noch nicht sicher, ob ich 1 oder 30000 verwenden soll, aber das wird klar sein, sobald die Kommunikation hergestellt ist.
Kann mir bitte jemand den richtigen Weg weisen oder eine andere Bibliothek empfehlen?