Modbus-vianetsinnän tarkistuslista
Modbus-ongelmat johtuvat yleensä pienestä määrästä yleisiä syitä. Nopein tapa ratkaista ne on tarkistaa väylän perusasiat oikeassa järjestyksessä.
Käytä tätä tarkistuslistaa silloin, kun laite ei vastaa, arvot näyttävät vääriltä tai yhteys toimii vain joskus.
Nopea tarkistuslista
- Tarkista, että laitteessa on virta
- Tarkista, että väyläkaapeli on kytketty oikein
- Tarkista slave ID
- Tarkista baud rate, parity ja stop bits, kaikki laitteet eivät tue kaikkia asetuksia, vaikka ne olisivatkin näkyvillä käyttöliittymässä
- Tarkista, että master lukee oikeaa rekisterityyppiä
- Tarkista, että rekisteriosoite on oikea
- Tarkista, että function code on oikea
- Tarkista, että palautettu data tulkitaan oikein
- Tarkista skaalaus, etumerkilliset arvot ja tavujärjestys
- Tarkista johdotuksen laatu, maadoitus ja terminointi
Vaihe 1: Tarkista fyysiset perusasiat
Varmista ensin, että laitteessa on virta ja että se toimii normaalisti. Tarkista sitten kaapeloinnit. Jos käytössä on Modbus RTU RS-485:n yli, varmista että A- ja B-linjat eivät ole vaihtuneet. Tarkista myös tarvitaanko laitteiden välille yhteinen referenssi.
Löysät liittimet, katkenneet johdot ja väärän portin käyttö ovat yleisiä ongelmia. Monet Modbus-ongelmat ovat yksinkertaisesti johdotusongelmia.
Vaihe 2: Tarkista sarja-asetukset
Masterin ja slaven täytyy käyttää samoja sarja-asetuksia. Tarkista:
- baud rate
- parity
- stop bits
- data bits
Jos yksikin näistä on väärin, laite ei ehkä vastaa lainkaan tai vastaus sisältää virheitä.
Vaihe 3: Tarkista laitteen asetukset
Varmista, että käytät oikeaa slave ID:tä. Jos samassa väylässä kahdella laitteella on sama ID, yhteys voi toimia oudosti tai olla toimimaatta ollenkaan.
Tarkista myös, että laite oikeasti tukee sitä rekisteriä ja function codea, jota käytät.
Vaihe 4: Tarkista pyyntö
Katso pyyntökehystä.
Kysy nämä kysymykset:
- Onko slave ID oikea?
- Onko function code oikea?
- Onko rekisteriosoite oikea?
- Onko rekisterien määrä oikea?
- Onko CRC oikea?
Jos pyyntö on väärä, laite voi palauttaa poikkeuksen tai olla vastaamatta.
Vaihe 5: Tarkista palautettu data
Jos yhteys toimii mutta arvot näyttävät vääriltä, ongelma on usein datan tulkinnassa.
Tarkista:
- Onko arvo signed vai unsigned?
- Tarvitaanko skaalausta?
- Onko arvo yhdessä rekisterissä vai useammassa?
- Onko tavujärjestys oikea?
- Onko sanajärjestys oikea?
Rekisteri voidaan lukea oikein, mutta lopullinen arvo voi silti näyttää väärältä, jos sitä tulkitaan väärin.
Vaihe 6: Tarkista dokumentaatio
Huono tai epäselvä dokumentaatio aiheuttaa paljon Modbus-ongelmia. Varmista, että ohjekirja kertoo selvästi:
- rekisterityypin
- osoitepohjan
- yksiköt
- skaalauksen
- luku/kirjoitus-oikeudet
- datatyypin
- tavu- ja sanajärjestyksen
Jos nämä puuttuvat, joudut ehkä testaamaan eri vaihtoehtoja.
Yleiset oireet ja todennäköiset syyt
Ei vastausta
- väärä johdotus
- väärät sarja-asetukset
- väärä slave ID
- virheellinen CRC
- pyyntöä ei tueta
Poikkeusvastaus
- väärä rekisteri
- väärä function code
- kirjoitus ei sallittu
Väärät arvot
- väärä osoite
- väärä skaalaus
- signed/unsigned-sekaannus
- tavu- tai sanajärjestysongelma
Toimii joskus
- häiriö linjassa
- huono johdotus
- puuttuva terminointi
- päällekkäiset slave ID:t
- epävakaa maadoitus
Lopuksi
Kun etsit Modbus-vikaa, älä arvaa. Tarkista yksi asia kerrallaan. Aloita virrasta ja johdotuksesta, jatka asetuksiin, sitten itse kehykseen ja vasta sen jälkeen datan tulkintaan.
Konsultointi
Minut voi palkata auttamaan Modbus-laitteiden dokumentoinnissa, testauksessa ja vianetsinnässä.