Protocol de comunicació RS485 i Modbus

Aug 29, 2025 Deixa un missatge

Introducció a la interfície RS485

 

RS485 és un estàndard d'interfície de comunicació en sèrie conegut per la seva alta velocitat, transmissió de llarga-distància, resistència a les interferències i capacitats per compartir diversos-dispositius. Troba una àmplia aplicació en automatització industrial, cases intel·ligents, sistemes de seguretat i altres camps. Aquest article ofereix una visió general detallada dels principis de la interfície RS485, el disseny de circuits, els protocols de comunicació i les solucions a problemes comuns.


Principi RS485

 

La interfície RS485 utilitza transmissió diferencial, utilitzant dues línies de senyal (A i B) per transportar senyals de nivell de tensió. La magnitud del senyal depèn de la diferència de tensió entre aquestes dues línies. A la interfície RS485, les línies de senyal A i B poden funcionar com a transmissors o receptors. Aquest mètode de transmissió diferencial permet que la interfície RS485 resisteixi eficaçment el soroll i les interferències externes, garantint així la qualitat de la transmissió.


Camps d'aplicació RS485


La interfície RS485 s'utilitza àmpliament en escenaris que requereixen transmissió de dades a llarga-distància, alta-velocitat i estable, com ara l'automatització industrial, les cases intel·ligents i els sistemes de seguretat. Pel que fa a la distància de transmissió, RS485 admet fins a 1200 metres, i en termes de velocitat de transmissió, admet fins a 10 Mbps. Això fa que la interfície RS485 sigui àmpliament aplicable en escenaris que impliquen adquisició de dades, regulació, monitorització i control.

 

 

 

info-638-230

Disseny de circuits RS485


El disseny del circuit per a una interfície RS485 requereix la consideració de múltiples factors, com ara la distància de transmissió, la velocitat de comunicació, la protecció contra llamps i l'aïllament. A continuació, presentarem el disseny del circuit per a una interfície RS485 des de cadascun d'aquests aspectes.

 

Distància de transmissió


A causa de la seva transmissió diferencial, la interfície RS485 admet distàncies de transmissió més llargues. Tanmateix, en aplicacions pràctiques, factors com la impedància de la línia de transmissió, la diafonia i la qualitat del senyal imposen limitacions a l'abast de transmissió. Per minimitzar la pèrdua i la distorsió del senyal, generalment recomanem limitar la distància de transmissió a 1,2 km quan es dissenyen circuits d'interfície RS485.


Velocitat de comunicació

 

La interfície RS485 pot aconseguir velocitats de comunicació de fins a 10 Mbps. En aplicacions pràctiques, generalment seleccionem una velocitat de comunicació adequada en funció de condicions específiques. Les velocitats de comunicació més altes augmenten l'eficiència de transmissió, però també milloren la complexitat i les exigències tècniques dels circuits d'interfície.


Protecció contra llamps


Donat el complex entorn industrial, les interfícies RS485 sovint es troben amb diverses pertorbacions com ara llamps, electricitat estàtica i sobretensions. Per protegir els circuits d'interfície RS485, les mesures de protecció contra llamps són essencials. Es poden utilitzar components com protectors de sobretensió ajustables i varistors d'òxid metàl·lic (MOV) per aconseguir la protecció contra els llamps.


Aïllament

 

En determinats escenaris, es requereix aïllament entre la interfície RS485 i altres circuits. Això es pot aconseguir mitjançant components com optoacobladors o acobladors magnètics per aïllar els senyals. Això evita eficaçment possibles bucles de terra i interferències de soroll, millorant la fiabilitat i l'estabilitat dels circuits de la interfície.


Protocols de comunicació RS485


En aplicacions pràctiques, les interfícies RS485 també requereixen especificacions de protocol i format de dades. Els protocols de comunicació RS485 comuns inclouen Modbus, Profibus i CANopen. Cada protocol posseeix característiques diferents i escenaris aplicables, permetent la selecció en funció de requisits específics. A continuació, introduïm principalment el protocol Modbus RTU, que és el protocol de transmissió més utilitzat en els nostres projectes basat en interfícies RS485.


Introducció a Modbus RTU

 

Modbus RTU és un protocol de comunicació industrial àmpliament adoptat, un dels protocols de comunicació sèrie basat en el marc Modbus. S'utilitza principalment per a la comunicació en sèrie entre dispositius com controladors PLC, sensors i actuadors, aquest protocol facilita l'intercanvi de dades. Aquest article detalla els significats específics de cada registre dins del protocol Modbus RTU, ofereix exemples de transmissió i recepció de dades per a cada codi de funció i destaca la suma de verificació crucial del CRC.


Format de dades del protocol Modbus RTU


El protocol Modbus RTU utilitza la comunicació en sèrie per a la transmissió de dades.


Concretament:


El camp Adreça identifica l'adreça del dispositiu esclau en comunicació, que pot ser qualsevol valor entre 0 i 247.


El codi de funció especifica el tipus de dades i la direcció de lectura/escriptura, normalment un nombre enter entre 1 i 127.


El camp de dades conté el contingut real de les dades.
El Checksum (CRC) verifica la integritat del paquet de dades.
Codis de funció del protocol Modbus RTU
Al protocol Modbus RTU, els diferents codis de funció representen diferents tipus de dades i direccions de lectura/escriptura. A continuació es mostren els codis de funció d'ús habitual i els seus significats:


01: Llegir el registre de la bobina
02: Llegir el registre d'entrada discreta
03: Llegir el registre de retenció
04: Llegir el registre d'entrada
05: Escriure registre de bobina única
06: Escriu el registre de retenció únic
15: Escriu diversos registres de bobina
16: Escriviu diversos registres de retenció


Registres d'adreces del protocol Modbus RTU


Les adreces del dispositiu i les adreces de registre són paràmetres crítics per a la comunicació en el protocol Modbus RTU. Els registres d'adreces es poden classificar en els quatre tipus següents:


Registre de bobina (Registre de bobina)

 

Els registres de bobina emmagatzemen valors booleans (0 o 1). Els codis de funció 01, 05 i 15 estan permesos per operar en registres de bobina. L'estat de cada bobina es pot representar amb un únic bit binari.


Per exemple, si la bobina del bit 0x0001 s'estableix a 0, el seu valor binari és 00000000 00000001. Si la bobina s'estableix a 1, el seu valor binari canvia a 00000000 00000010.


Registre d'entrada discreta


El registre d'entrada discreta emmagatzema els valors dels interruptors d'entrada binària i només es pot llegir-, amb el codi de funció corresponent 02. La diferència entre el registre d'entrada discreta i el registre de bobina és que indica si un interruptor està en l'estat ON, en lloc del seu estat actual.


Registre de titularitat

 

El registre de retenció emmagatzema variables enteres de 32 bits. Els codis de funció 03, 04, 06 i 16 permeten operacions de lectura/escriptura al Registre de cartera. Els valors dins del Registre Holding poden facilitar la transferència de dades entre dispositius o ser personalitzats pels usuaris com a paràmetres de control rellevants.


Registre d'entrada

 

Els registres d'entrada emmagatzemen variables enteres de 32-bits i admeten operacions de només lectura amb el codi de funció 04. De manera similar a la retenció de registres, els valors dels registres d'entrada es poden transferir entre dispositius, però els usuaris no els poden modificar.


Comprovació CRC del protocol Modbus RTU

 

Per garantir la fiabilitat de la comunicació del protocol Modbus RTU, aquest protocol utilitza un mètode de verificació de redundància cíclica (CRC) per verificar la integritat dels paquets de dades. El codi de verificació CRC es calcula a partir dels paquets de dades transmesos i rebuts i es verifica simultàniament tant en l'extrem d'enviament com en el de recepció.


Prenent com a exemple el registre de retenció de lectura (Codi de funció: 03), els valors hexadecimals de la suma de control CRC per als seus paquets de dades transmesos i rebuts són 0x39 i 0x3E, respectivament. Els paquets de dades específics transmesos i rebuts són els següents:


Paquet de dades enviat pel transmissor-: 01 03 00 00 00 01 C4 0B
En aquest paquet, els primers 6 bits (01 03 00 00 00 01) representen el format del protocol Modbus RTU, mentre que els dos últims bits (C4 i 0B) constitueixen la suma de comprovació CRC.
Paquet rebut al receptor: 01 03 02 00 01 39 3E
En aquest paquet de dades, els primers 6 bits 01 03 02 00 01 39 representen el valor del registre de retenció rebut (dos bytes), mentre que els dos últims bits 3E i 39 són la suma de comprovació CRC calculada.


Exemple de transmissió del protocol Modbus RTU


El següent és un exemple senzill de transmissió del protocol Modbus RTU per llegir dades del registre de retenció d'un dispositiu:


L'emissor envia: 01 03 00 00 00 02 C5 9A
El receptor rep: 01 03 04 00 00 00 66 CB


Aquest exemple llegeix el registre de retenció del dispositiu 01 mitjançant el codi de funció 03, accedint als dos bytes a l'adreça de registre 0x0000. Així, el paquet de dades rebut conté els valors 0x0000 i 0x0000, és a dir, 0x0000 0000, representats en hexadecimal com 0x66CB.


Conclusió


Aquest article cobreix principalment els principis, les aplicacions, el disseny de circuits, els protocols de comunicació i les solucions de resolució de problemes per a les interfícies RS485. Les interfícies RS485 s'utilitzen àmpliament en l'automatització industrial, cases intel·ligents, sistemes de seguretat i altres camps. Tanmateix, s'han de tenir en compte factors com la distància de transmissió, la velocitat de comunicació, la protecció contra llamps i l'aïllament per garantir la fiabilitat i l'estabilitat dels circuits de la interfície. S'introdueix el coneixement bàsic del protocol Modbus RTU, inclòs el seu format de dades, codis de funció, registres d'adreces i suma de comprovació CRC. En aplicacions pràctiques, el protocol Modbus RTU s'utilitza àmpliament per a la comunicació entre dispositius dins dels sistemes de control d'automatització industrial. En llegir les dades, s'ha de prestar especial atenció a la selecció de l'adreça del dispositiu, l'adreça de registre i el codi de funció.

Enviar la consulta

whatsapp

Telèfon

Correu electrònic

Investigació