Modbus enheter med begrensede forespørsler

Maks spørringstørrelse og forsinkelse mellom spørringer
Skrevet av Aleksander Bless
Oppdatert 1 uke siden

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.

Svarte dette på spørsmålet ditt?