Het kan een uitdaging zijn om een RS485-apparaat te configureren. De compatibiliteit tussen de Modbus- en RS-485-protocollen vormt vaak een probleem. Je kunt tegen een lange debug-sessie aankijken, aangezien deze twee protocollen op verschillende lagen van de communicatiestack werken.
Het RS485-protocol is een elektrische standaard die op de fysieke laag van de stack werkt. Het definieert zaken zoals kabellengte, aanvaardbare spanningsniveaus en het aantal apparaten dat een enkele bus kan delen.
Het Modbus-protocol werkt op de applicatielaag en is gericht op hoe berichten zijn opgebouwd, geadresseerd en door de ontvanger geïnterpreteerd. Je moet weten welke laag een probleem veroorzaakt om het effectief op te lossen.
Verschillen tussen Modbus en RS485
De volgende tabel vergelijkt de belangrijkste parameters van deze twee cruciale protocollen die hun compatibiliteit beïnvloeden.
| RS485 | Modbus | |
| Laag | Fysiek (OSI-laag 1) | Applicatie (OSI-laag 7) |
| Gedefinieerd door | EIA/TIA-485 | Modicon in 1979; nu open |
| Type | Elektrische standaard | Communicatieprotocol |
| Topologie | Multi-drop-bus ondersteunt tot 32 nodes zonder repeaters | Master/slave met 1 master en tot 247 slaves |
| Functie | Definieert bekabeling, signaalniveaus en andere elektrische kenmerken | Definieert het bericht, datakadering en functiecodes |
| Dataformaat | Differentiële spanningssignalen | RTU (binair) of ASCII-frames |
| Foutdetectie | Niet gespecificeerd | CRC (RTU) of LRC (ASCII) |
| Max. snelheid | Tot 10 Mbps over korte afstanden | Doorgaans 9.600 – 115.200 bps met RTU/ASCII over RS485 |
| Max. afstand | 1.200 m bij 100 kbps | Hangt af van de fysieke laag |
| Varianten | RS422 (punt-naar-punt), RS232 (korte afstand) | Modbus RTU, Modbus ASCII, Modbus TCP/IP |
Wat is Modbus?
Modbus is een communicatieprotocol op applicatielaag, ontwikkeld door Modicon in 1979. Het is een open, gratis protocol dat definieert hoe berichten worden gestructureerd wanneer ze worden verzonden tussen een masterapparaat en één of meer slaves. Modbus werkt via verschillende transportoplossingen, waaronder RS485, RS232, RS422 of Ethernet (TCP/IP).
Belangrijkste kenmerken
• Architectuur: Eén master communiceert met maximaal 247 adresseerbare slaves, genummerd 1–247, met ID 0 gereserveerd voor broadcast.
• Communicatiemodel: De master initieert alle communicatie door verzoeken naar de slaves te sturen, die alleen kunnen antwoorden.
• Adressering: Alle verzoeken bevatten de doel-Slave-ID, die door elk antwoord wordt herhaald.
• Datatypen: 1-bit coils en discrete ingangen, 16-bit input- en holdingregisters.
• Foutdetectie: LRC in ASCII-modus en CRC-16 in RTU-modus.
Datamodel
• Spoelen (1-bit, lezen/schrijven) geven de status van discrete uitgangen weer.
• Discrete ingangen (1-bit, alleen-lezen) voor de status van discrete ingangen.
• Ingangsregisters (16-bit, alleen-lezen) slaan gemeten ingangwaarden op.
• Holdingregisters (16-bit, lezen/schrijven) bevatten configuratie- en uitgangswaarden.
Varianten: RTU, ASCII, TCP/IP
• Modbus RTU is de standaard voor gebruik met RS485 vanwege de snelheid en compacte omvang. Het maakt gebruik van binaire codering en CRC-16-foutcontrole.
• Modbus TCP/IP wordt gebruikt via Ethernet en heeft geen CRC/LRC nodig omdat TCP de integriteit van de communicatie afhandelt.
• Modbus ASCII maakt gebruik van hexadecimale teken-codering en LRC-foutcontrole. Deze variant wordt doorgaans gebruikt op RS232 en is leesbaar voor mensen.
Wat is RS485?
RS485 (EIA-485) is een elektrische standaard die op de fysieke laag werkt en definieert hoe signalen via draden worden verzonden. Het protocol specificeert aspecten zoals kabelimpedantie, spanningsniveaus, maximale kabellengte en bustopologie. RS485 is niet op de hoogte van protocollen op hogere lagen, berichtformaten of datainhoud.
Belangrijkste kenmerken
• Signalisatie: Het differentiële signaal, of spanningsverschil tussen draden A en B, is zeer goed bestand tegen elektrische ruis.
• Topologie: Ondersteunt een multi-drop bus met maximaal 32 unit loads op één enkel draadpaar zonder repeaters.
• Maximale afstand: Ongeveer 1.200 m bij 100 kbps, met kortere afstanden bij hogere datatransmissiesnelheden.
• Maximale datasnelheid: Ondersteunt tot 10 Mbps over korte afstanden van minder dan 15 m.
• Duplex: Standaard is half-duplex met één getwist paar. Full-duplex kan worden geïmplementeerd met twee paren.
Gerelateerde standaarden: RS232 en RS422
• RS232 is een single-ended, point-to-point-protocol met een maximum bereik van ongeveer 15 m. Signalen zijn niet compatibel met RS485. Rechtstreekse adapters worden doorgaans gebruikt voor RS485-naar-USB- of RS-485-naar-Ethernet-implementaties.
• RS422 biedt differentiële signalisatie zoals RS485, maar is beperkt tot één driver per lijn voor point-to-point-communicatie zonder multi-drop-ondersteuning.
Tool om Modbus-gegevens te monitoren en te analyseren
Het oplossen van communicatieproblemen vereist inzicht in het verschil tussen RS485 en Modbus en zichtbaarheid in wat er op de bus wordt verzonden. De meest doeltreffende manier om deze zichtbaarheid te verkrijgen is het analyseren van onbewerkte seriëlepoorttrafiek. Met deze analyse kunt u problemen efficiënt debuggen door registerwaarden te verifiëren en adresseringsfouten te ontdekken. Serial Port Monitor (SPM) is een softwareoplossing die deze informatie biedt.
Modbus Test Software is een protocolanalysator die informatie biedt over Modbus-communicatie via RS232/RS422/RS485-interfaces. De software stelt gebruikers in staat om problemen gemakkelijk te detecteren en op te lossen bij het testen en debuggen van Modbus-communicatie. Een van de meest waardevolle functies is de mogelijkheid om de gegevens die via de seriële poort van een systeem worden verzonden weer te geven en te loggen.
Modbus Tester Software
Modbus Analyzer laat gebruikers Modbus RTU- en ASCII-seriële gegevens weergeven, loggen en debuggen terwijl ze via de RS485-poorten van een systeem worden verzonden.
Met deze professionele Modbus-testsoftware kunnen gebruikers:
• Verbinding maken met en seriële poorten monitoren die al door een ander programma worden gebruikt. Real-time weergave van alle gegevens die door de poort worden ontvangen is beschikbaar voor onmiddellijke monitoring en debugging.
• Meerdere seriële poorten gelijktijdig monitoren. U kunt de activiteit van verschillende seriële poorten synchroon analyseren in één sessie. Gegevens die in beide richtingen stromen worden op basis van first-in, first-out in één log weergegeven voor een eenvoudige weergave.
• Uw gegevens in verschillende indelingen bekijken, waaronder tabel-, terminal-, lijn- en dumpweergaven. Meerdere weergaven kunnen tegelijk worden getoond en u kunt filters gebruiken om uw monitoring fijn af te stellen.
• Emulatie uitvoeren van gegevens die naar een seriëel apparaat worden overgedragen om activiteit te monitoren wanneer deze aan specifieke commando’s wordt blootgesteld.
Veelgestelde vragen
Nee, het zijn verschillende, complementaire protocollen. Modbus is een berichtprotocol, terwijl RS485 de fysieke elektrische interface definieert. RS485 is het pad waarover Modbus een bericht verzendt.
De RS485-standaard ondersteunt tot 32 unit loads op een bus zonder repeaters, terwijl Modbus tot 247 slaves toestaat. Meestal is de fysieke limiet van 32 nodes de standaard, met repeaters die worden ingezet om het aantal ondersteunde apparaten uit te breiden.
Modbus RTU is een compact en efficiënt protocol dat gegevens in binair formaat verzendt met CRC-foutcontrole. Het is het voorkeursprotocol voor gebruik met RS485. Modbus ASCII verzendt gegevens als door mensen leesbare hexadecimale tekens en gebruikt LRC-foutcontrole. Het is een minder efficiënte oplossing, maar het vergemakkelijkt gestroomlijnde foutopsporing op RS232-verbindingen.
Ja. Modbus kan ook werken via RS232-, RS422- of Ethernet- (Modbus TCP/IP) verbindingen. RS485 is de voorkeursfysieke laag voor Modbus in industriële omgevingen vanwege de multidropmogelijkheden en de ongevoeligheid voor ruis.