Die Abfrage über 8 Byte und das ganze als Float halte ich für falsch. Die Seriennummer ist doch hier auf 8 Register aufgeteilt und enthält jeweils 2 Stellen der Seriennummer, vermutlich als Zahlen.
Auch steht in der Beschreibung, dass die Register mit Modbus command 0x06 or 0x10 gelesen werden können.
Woher hast Du die Geräteadresse?
Probiere doch mal die Abfrage der ersten beiden Stellen mit:
Code: Alles auswählen
$rc = $funktionen->modbus_register_lesen($COM1,"1018","0001","Dec16Bit","01","06");
Code: Alles auswählen
$rc = $funktionen->modbus_register_lesen($COM1,"1018","0001","String","01","06");
Code: Alles auswählen
$rc = $funktionen->modbus_register_lesen($COM1,"1018","0001","String","FF","06");