Mit Pymodbus auf ein in zweiter ebene liegendes Gerät zugreifen
Verfasst: Sonntag 27. Oktober 2024, 16:59
Hallo,
ich hab ein Problem wo ich wieder eure Hilfe benötige.
Wie ich auf meinen Wechselrichter über RS485(Modbus) zugreife, ist mir mittlerweile klar.
Nun ist am Wechselrichter ein Speicher über CAN-Bus angeschlossen.
Rasperry <-> USB-RS485-Umsetzer <-> Wechselrichter <->CAN-Bus=Speicher
Der CAN-Bus ist im Wechselrichter und Speicher integriert, bedarf also keinerlei zusätzliche Hardware.
Der Service vom Growatt kann angeblich auf den Speicher zugreifen und das System checken.
Es muss also gehen.
Es gibt ein extra Protokoll für das Auslesen des Speichers
https://watts247.com/manuals/gw/1_1xSx ... 71128.pdf
Hier wird mit Hexadecimalen Register gearbeitet, was mir aber nichts bringt.
Ich rufe da immer nur die Register vom Wechselregister auf.
Wäre der SOC vom Speicher welcher im Wechselrichter hinterlegt ist. (Register 18)
Im Protokoll des Speichers wäre der SOC über das Register 0x0015 zu erreichen.
Wie ist es möglich auf ein dahinterliegendes Gerät zuzugreifen.
Was ich gefunden habe im Modbusprotokoll des Wechselrichters sind die Register 75 und 80.
75 SCC_ComModeSCC Communication Mode For BMS board, SCC
80 ComboardVerCommunicaiton board Version
Muß ich eventuell über diese Register zugreifen?
Gruß Ralf
ich hab ein Problem wo ich wieder eure Hilfe benötige.
Wie ich auf meinen Wechselrichter über RS485(Modbus) zugreife, ist mir mittlerweile klar.
Nun ist am Wechselrichter ein Speicher über CAN-Bus angeschlossen.
Rasperry <-> USB-RS485-Umsetzer <-> Wechselrichter <->CAN-Bus=Speicher
Der CAN-Bus ist im Wechselrichter und Speicher integriert, bedarf also keinerlei zusätzliche Hardware.
Der Service vom Growatt kann angeblich auf den Speicher zugreifen und das System checken.
Es muss also gehen.
Es gibt ein extra Protokoll für das Auslesen des Speichers
https://watts247.com/manuals/gw/1_1xSx ... 71128.pdf
Hier wird mit Hexadecimalen Register gearbeitet, was mir aber nichts bringt.
Ich rufe da immer nur die Register vom Wechselregister auf.
Code: Alles auswählen
from pymodbus.client import ModbusSerialClient
from pymodbus import ModbusException
client = ModbusSerialClient(port="/dev/ttyUSB0", parity="N", bytesize=8, stopbits=1, baudrate=9600, timeout=1)
abfrage = client.read_input_registers(0x0012, 1, 1)
print(abfrage.registers[0])
Im Protokoll des Speichers wäre der SOC über das Register 0x0015 zu erreichen.
Wie ist es möglich auf ein dahinterliegendes Gerät zuzugreifen.
Was ich gefunden habe im Modbusprotokoll des Wechselrichters sind die Register 75 und 80.
75 SCC_ComModeSCC Communication Mode For BMS board, SCC
80 ComboardVerCommunicaiton board Version
Muß ich eventuell über diese Register zugreifen?
Gruß Ralf