Det kan være udfordrende at konfigurere en RS485-enhed. Kompatibiliteten mellem Modbus- og RS-485-protokollerne er ofte et problem. Du kan stå over for en lang fejlfindingssession, da disse to protokoller fungerer på forskellige lag i kommunikationsstakken.
RS485-protokollen er en elektrisk standard, der fungerer på stakkens fysiske lag. Den definerer elementer såsom kabellængde, acceptable spændingsniveauer og antallet af enheder, der kan dele en enkelt bus.
Modbus-protokollen fungerer på applikationslaget og fokuserer på, hvordan meddelelser er struktureret, adresseret og fortolket af modtageren. Du skal vide, hvilket lag der forårsager et problem, for at løse det effektivt.
Forskelle mellem Modbus og RS485
Følgende tabel sammenligner de vigtigste parametre for disse to afgørende protokoller, som påvirker deres kompatibilitet.
| RS485 | Modbus | |
| Lag | Fysisk (OSI-lag 1) | Applikation (OSI-lag 7) |
| Defineret af | EIA/TIA-485 | Modicon i 1979; nu åben |
| Type | Elektrisk standard | Kommunikationsprotokol |
| Topologi | Multidrop-bus understøtter op til 32 noder uden repeatere | Master/slave med 1 master og op til 247 slaver |
| Funktion | Definerer kabelføring, signalniveauer og andre elektriske karakteristika | Definerer beskeden, dataindramning og funktionskoder |
| Dataformat | Differentielle spændingssignaler | RTU (binære) eller ASCII-rammer |
| Fejldetektion | Ikke specificeret | CRC (RTU) eller LRC (ASCII) |
| Maks. hastighed | Op til 10 Mbps over korte afstande | Typisk 9.600 – 115.200 bps med RTU/ASCII over RS485 |
| Maks. afstand | 1.200 m ved 100 kbps | Afhænger af det fysiske lag |
| Varianter | RS422 (punkt-til-punkt), RS232 (kort rækkevidde) | Modbus RTU, Modbus ASCII, Modbus TCP/IP |
Hvad er Modbus?
Modbus er en kommunikationsprotokol på applikationslaget, udviklet af Modicon i 1979. Det er en åben, gratis protokol, der definerer, hvordan meddelelser er struktureret, når de sendes mellem en masterenhed og en eller flere slaveenheder. Modbus kører over forskellige transportløsninger, herunder RS485, RS232, RS422 eller Ethernet (TCP/IP).
Nøglekarakteristika
• Arkitektur: Én master kommunikerer med op til 247 adresserbare slaver, nummereret 1–247, med ID 0 reserveret til broadcast.
• Kommunikationsmodel: Masteren initierer al kommunikation ved at sende forespørgsler til slaverne, som kun kan svare.
• Adressering: Alle forespørgsler indeholder mål-Slave ID, som gentages i hvert svar.
• Datatyper: 1-bit coils og diskrete inputs, 16-bit input- og holdingregistre.
• Fejldetektion: LRC i ASCII-tilstand og CRC-16 i RTU-tilstand.
Datamodel
• Spoler (1-bit, læse/skrive) giver diskret udgangsstatus.
• Diskrete indgange (1-bit, skrivebeskyttet) til diskret indgangsstatus.
• Indgangsregistre (16-bit, skrivebeskyttet) gemmer målte indgangsværdier.
• Holdingregistre (16-bit, læse/skrive) indeholder konfigurations- og udgangsværdier.
Varianter: RTU, ASCII, TCP/IP
• Modbus RTU er standarden til brug med RS485 på grund af dens hastighed og kompakte størrelse. Den har binær kodning og CRC-16-fejlkontrol.
• Modbus TCP/IP bruges over Ethernet og har ikke brug for CRC/LRC, fordi TCP håndterer kommunikationsintegritet.
• Modbus ASCII anvender hex-tegnkodning og LRC-fejlkontrol. Varianten bruges typisk på RS232 og er menneskeligt læsbar.
Hvad er RS485?
RS485 (EIA-485) er en elektrisk standard, der fungerer på det fysiske lag, og som definerer, hvordan signaler transmitteres over ledninger. Protokollen specificerer aspekter såsom kabelimpedans, spændingsniveauer, maksimal kabellængde og bustopologi. RS485 er ikke bevidst om protokoller på højere lag, meddelelsesformater eller dataindhold.
Nøglekarakteristika
• Signalering: Den differentielle, eller spændingsforskellen mellem ledningerne A og B, er meget modstandsdygtig over for elektrisk støj.
• Topologi: Understøtter en multi-drop-bus med op til 32 enhedsbelastninger på et enkelt ledningspar uden repeatere.
• Maks. afstand: Cirka 1.200 m ved 100 kbps, med kortere rækkevidder ved højere datatransmissionshastigheder.
• Maks. datahastighed: Understøtter op til 10 Mbps over korte afstande på under 15 m.
• Duplex: Standardindstillingen er half-duplex med ét snoet par. Full-duplex kan implementeres med to par.
Relaterede standarder: RS232 og RS422
• RS232 er en enkelt-endet punkt-til-punkt-protokol med en maksimal rækkevidde på ca. 15 m. Signalerne er ikke kompatible med RS485. Direkte adaptere bruges typisk til RS485-til-USB- eller RS-485-til-Ethernet-implementeringer.
• RS422 giver differentiel signalering som RS485, men er begrænset til én driver pr. linje til punkt-til-punkt-kommunikation uden understøttelse af multi-drop.
Værktøj til overvågning og analyse af Modbus-data
Fejlfinding af kommunikationsproblemer kræver forståelse af forskellen mellem RS485 og Modbus og indsigt i, hvad der transmitteres på bussen. Den mest effektive måde at opnå denne indsigt på er at analysere rå seriel porttrafik. Denne analyse gør det muligt effektivt at fejlfinde problemer ved at verificere registerværdier og opdage adresseringsfejl. Serial Port Monitor (SPM) er en softwareløsning, der leverer disse oplysninger.
Modbus Test Software er en protokolanalysator, der giver information om Modbus-kommunikation via RS232/RS422/RS485-grænseflader. Softwaren gør det muligt for brugere nemt at opdage og løse problemer ved test og fejlfinding af Modbus-kommunikation. En af dens mest værdifulde funktioner er dens evne til at vise og logge de data, der passerer gennem et systems serielle port.
Modbus Tester-software
Modbus Analyzer lader brugere vise, logge og fejlfinde Modbus RTU- og ASCII-seriedata, efterhånden som de overføres via et systems RS485-porte.
Denne professionelle Modbus-testsoftware lader brugere:
• Oprette forbindelse til og overvåge serielle porte, der allerede er i brug af et andet program. Visning i realtid af alle data, der modtages af porten, er tilgængelig til øjeblikkelig overvågning og fejlretning.
• Overvåge flere serielle porte samtidigt. Du kan synkront analysere aktiviteten på flere serielle porte i en enkelt session. Data, der flyder i begge retninger, præsenteres efter først ind, først ud-princippet i en enkelt log for nem visning.
• Se dine data i en række formater, herunder tabel-, terminal-, linje- og dumpvisninger. Flere visninger kan ses på samme tid, og du kan bruge filtre til at finjustere din overvågning.
• Udføre emulering af data, der overføres til en seriel enhed, for at overvåge aktivitet, når den udsættes for specifikke kommandoer.
Ofte stillede spørgsmål
Nej, de er forskellige, komplementære protokoller. Modbus er en messagingprotokol, mens RS485 definerer den fysiske elektriske grænseflade. RS485 er den vej, hvorover Modbus transmitterer en meddelelse.
RS485-standarden understøtter op til 32 enhedsbelastninger på en bus uden repeatere, mens Modbus tillader op til 247 slaver. Typisk er den fysiske grænse på 32 noder standarden, med repeatere installeret for at udvide antallet af understøttede enheder.
Modbus RTU er en kompakt og effektiv protokol, der overfører data i binær form med CRC-fejlkontrol. Det er den foretrukne protokol til brug med RS485. Modbus ASCII overfører data som menneskeligt læsbare hex-tegn og anvender LRC-fejlkontrol. Det er en mindre effektiv løsning, men den muliggør forenklet fejlfinding på RS232-forbindelser.
Ja. Modbus kan også fungere over RS232-, RS422- eller Ethernet-forbindelser (Modbus TCP/IP). RS485 er det foretrukne fysiske lag til Modbus i industrielle miljøer på grund af dets multi-drop-egenskaber og immunitet over for støj.