Hvorfor kan jeg ikke lese data fra min Modbus-enhet?
Noen Modbus-slaver kan kun håndtere et begrenset antall registre per forespørsel. Hvis Evolo optimaliserer og berører et ugyldig registerområde, vil hele spørringen feile.
Hvordan kan jeg løse dette?
-
Senke maks spørringsstørrelse: Sett maks til 1 eller 2 (avhengig av 16-bit/32-bit). Da unngår du at forespørselen inkluderer ulovlige registre.
-
Øke forsinkelse mellom spørringer: Gir slaven mer tid til å svare.
Eksempel på feilsituasjon:
-
Gyldige registre: 1, 2, 3, 4
-
Ugyldige registre: 5, 6, 7
-
Evolo prøver kanskje «adresse 1, count 7», feiler pga. 5–7, og kaster feil også for 1–4.
Feilen vises i systemloggen som:
evolo-gateway [error] 2025-05-20 14:10:44: Modbus exception 2: Illegal data address… slave: 1, register: 0, count: 78
Hvor finner jeg innstillinger?
-
Maks spørringsstørrelse og forsinkelse: under Avanserte innstillinger i gateway-oppsettet.
-
Systemlogg: Konfigurasjon → Evolo Gateway → Lagre systemlogger til disk.
Hvor finner jeg info om maks spørringsstørrelse?
Se i manualen til Modbus-enheten eller kontakt produsent/leverandør.
Andre viktige forhold:
Sørg for at master og slave bruker samme kommunikasjonsparametere (baudrate, stoppbiter, paritet) for stabil kommunikasjon. Dette vil sikre en stabil og pålitelig kommunikasjon mellom enhetene.