Implementació d'un dispositiu de protecció integral del motor mitjançant la comunicació sèrie RS-485 i el protocol Modbus

Jan 04, 2026 Deixa un missatge

1 Introducció

 

Els microcontroladors s'apliquen cada cop més en dispositius de control automatitzats, sistemes de protecció integrats basats en microprocessador-per a xarxes elèctriques i altres camps de control d'automatització industrial, amb la complexitat d'aquests dispositius que creix constantment. Per fer front a les demandes en-multi-tasques en temps real dels objectius de desenvolupament, el model de desenvolupador-únic de CPU,-s'està substituint per un enfocament col·laboratiu que inclou diverses CPU de diversos tipus i diversos desenvolupadors. Aquest nou paradigma de desenvolupament introdueix un repte crític: estandarditzar el maquinari i el programari per a l'intercanvi d'informació entre CPU durant la implementació. Aquesta estandardització és fonamental per a l'adopció amb èxit d'aquest nou model. Entre els nombrosos mètodes de comunicació, el protocol de comunicació sèrie RS-485 basat en UART-s'adopta àmpliament a causa del seu cablejat senzill, alta fiabilitat i capacitat de suportar diverses CPU. Pel que fa als protocols de comunicació de programari, el protocol Modbus ofereix avantatges importants als usuaris pel seu caràcter universal i programari de depuració madur. Per tant, durant el desenvolupament del nou dispositiu de protecció integral del motor, es va adoptar el mètode de comunicació en sèrie RS-485 i el protocol de comunicació Modbus per aconseguir l'intercanvi de dades i control de comandaments entre diverses CPU. Per millorar l'eficiència i la coordinació de la comunicació en sèrie, l'autor va implementar nombroses mesures en l'arquitectura de maquinari i programari del mecanisme de comunicació, aconseguint excel·lents resultats. Durant la fase de depuració de la comunicació del sistema, es va utilitzar un mètode on cada mòdul de CPU es va comunicar per primera vegada amb el programari de prova Modbus estàndard abans de sotmetre's a una depuració d'interconnexió mútua, millorant significativament l'eficiència del desenvolupament col·laboratiu. La pràctica ha demostrat que aquesta filosofia de disseny simplifica l'estructura del sistema alhora que millora enormement l'eficiència i la fiabilitat operatives del dispositiu.


2 Característiques del dispositiu de protecció integral del motor


Més enllà de les funcions de protecció integrals, el dispositiu de protecció del motor integra capacitats de mesura, telecontrol i comunicació. La seva gran-pantalla LCD de caràcters xinesos permet una interfície-de fàcil accés. Utilitzant la comunicació del bus CAN amb l'amfitrió de monitorització, forma un subsistema dins d'un sistema d'automatització de subestació distribuïda i jeràrquica. Per optimitzar la funcionalitat del sistema per als seus requisits de multi-tasca, es va adoptar una arquitectura multi-CPU. Una CPU gestiona el mostreig i la transmissió periòdics de polsos; el mòdul principal de la CPU gestiona el processament de dades, el càlcul de paràmetres elèctrics, el diagnòstic de fallades i les operacions de commutació; mentre que la CPU del mòdul de placa supervisa la interacció humana-màquina i facilita la comunicació amb el mòdul de protecció principal i l'amfitrió de supervisió. Cada mòdul de CPU té tasques clarament definides, facilitant el desenvolupament col·laboratiu de diversos enginyers durant la implementació. La comunicació en sèrie enllaça la CPU principal i la CPU del panell, permetent la interacció humana-màquina i ocupant així una posició crítica. L'establiment d'un mecanisme de comunicació racional és el nucli de la secció de comunicació en sèrie, que determina la coordinació de la comunicació i l'eficiència de depuració durant les etapes posteriors del desenvolupament del sistema.


3 Introducció als Mecanismes de Comunicació

 

3.1 Disseny de maquinari del mecanisme de comunicació

El mecanisme de comunicació proposat per a aquest sistema té com a objectiu una alta eficiència i fiabilitat. RS-485 utilitza una estructura semi-dúplex, que sovint és més pràctica que la full-duplex en aplicacions de camp. Aquí, s'adopta una connexió simplificada utilitzant només dues línies de senyal. El diagrama de circuit de la interfície del sistema es mostra a la figura 1. Els nivells lògics TTL que emet el microcontrolador 8051 al mòdul de protecció principal s'aïllen òpticament i després es converteixen en nivells RS-495 pel xip MAX485. Posteriorment, el xip MAX485 del mòdul del panell els torna a convertir en nivells lògics TTL per llegir-los pel microcontrolador 8031. Al costat del microcontrolador 8051, el pin P2.7 del port d'E/S paral·lel 2 controla el pin d'habilitació d'entrada MAX RE i el pin d'habilitació de sortida DE. Com es mostra a la figura 1, quan el P2.7 produeix un nivell alt, RE està habilitat, permetent que el microcontrolador rebi dades. Quan P2.7 emet un nivell baix, DE s'habilita, permetent que el costat del microcontrolador transmeti dades. Aquest enfocament evita la pèrdua de dades a causa de la superposició causada per la transmissió cega, assegurant una alta qualitat de comunicació i una velocitat de transmissió fiable.

采用RS-485串行通信和Modbus通信协议实现电动机综合保护装置的设计

 

3.2 Protocol de comunicació

 

Per garantir la transmissió de dades precisa entre dos mòduls dins del dispositiu de protecció, és essencial un conjunt d'especificacions que regeixin la transferència d'informació-inclosos els modes de transmissió, els formats de dades i el contingut-. Això constitueix el protocol o protocol de comunicació. Sense un programari de depuració madur i fàcilment disponible, el mòdul de la CPU principal funciona bàsicament com una caixa negra, la qual cosa comporta nombrosos i difícils de--superar reptes durant les proves d'integració del sistema. Per tant, es va seleccionar i simplificar el protocol de comunicació Modbus àmpliament adoptat per adaptar-se als requisits específics del dispositiu, permetent una comunicació entre mòduls reeixida amb una eficàcia provada. Modbus utilitza un model de comunicació mestre-esclau. El mestre primer envia una ordre de sol·licitud de comunicació a l'esclau. Aleshores, l'esclau respon al mestre amb dades basades en el codi de funció dins de l'ordre de sol·licitud. Cada esclau té una adreça única. Tant les trames de sol·licitud enviades pel mestre com les de resposta enviades per l'esclau comencen amb l'adreça de l'esclau. Els esclaus només llegeixen les ordres dirigides a ells mateixos i ignoren els missatges que comencen per altres adreces d'esclaus. Aquesta funcionalitat s'implementa mitjançant el mode 2 o el mode 3 del port sèrie 8051. Aquest model de comunicació de pregunta-i-resposta millora significativament la precisió de la comunicació. El mode de transmissió RTU de Modbus s'adopta en aquest dispositiu.


4 Mesures per millorar la fiabilitat de la comunicació


Els dos darrers bytes d'un missatge Modbus serveixen com a bytes de suma de verificació. La comunicació RTU utilitza la comprovació de redundància cíclica CRC-16 per a la detecció d'errors. El seu mecanisme de codificació/descodificació és relativament senzill amb una baixa taxa d'error, que es pot aconseguir mitjançant mètodes computacionals o de programació. A continuació es descriuen diversos enfocaments:


4.1 Algorisme bàsic (càlcul manual)


Utilitzant CRC16-CCITT com a exemple: la suma de comprovació CRC és de 16 bits i el polinomi generador és de 17 bits. Suposem que el flux de dades és de 4 bytes: BYTE, BYTE, BYTE, BYTE[0];


Canvieu el flux de dades a l'esquerra en 16 bits, ampliant-lo efectivament en un factor de 256 × 256. A continuació, realitzeu la divisió pel polinomi generador 0x11021 utilitzant una divisió no -de préstec (equivalent a XOR bit a bit). La resta resultant és la suma de control CRC. El flux de dades transmès consta de 6 bytes: BYTE, BYTE, BYTE, BYTE[0], CRC, CRC[0].


4.2 Algoritme informàtic 1 (algoritme de tipus de bit-)


1) Col·loqueu els 16 bits superiors (BYTE, BYTE) del flux de dades ampliat (6 bytes) en un registre de 16 bits;

2) Si el bit més significatiu del registre és 1, desplaceu el registre a l'esquerra un bit (obtenint el bit menys significatiu del byte següent), després feu una operació XOR amb la forma simplificada del polinomi generador; en cas contrari, simplement desplaceu el registre a l'esquerra un bit (obtenint el bit menys significatiu del byte següent);

3) Repetiu el pas 2 fins que tot el flux de dades (6 bytes) es desplaça al registre;

4) El valor del registre és la suma de verificació CRC CRC, CRC[0].

 

4.3 Algorisme informàtic 2 (Algoritme de tipus byte-) (256^n denota 256 elevat a la potència de n)

 

Representeu el flux de dades ordenat en bytes-com un polinomi matemàtic. Sigui el flux de dades BYTE[n] BYTE[n-1] BYTE[n-2] ... BYTE[0] es representa com l'expressió matemàtica

BYTE[n] × 256^n + BYTE[n-1] × 256^(n-1) + ... + BYTE × 256 + BYTE[0], on "+" indica l'operació XOR. Sigui el polinomi del generador G17 (17 bits), aleshores el codi CRC és CRC16.

CRC16=(BYTE[n] × 256^n + BYTE[n-1] × 256^(n-1) + ... + BYTE × 256 + BYTE[0]) × 256^2/G17

Això implica desplaçar el flux de dades deixat en 16 bits i després dividir-lo pel polinomi del generador G17.

La derivació mostra que el codi de verificació CRC per a BYTE[n-1] és igual al resultat XOR dels 8 bits superiors del codi de verificació CRC del byte anterior Y[n] (YH8[n]) i el byte actual BYTE[n-1].


L'algorisme de tipus-byte és el següent:


1) Inicieu el grup de registres CRC amb tot "0" (0x0000).

2) Desplaceu el grup de registres CRC 8 bits cap a l'esquerra i deseu-lo al grup de registres CRC.

3) Realitzeu una operació XOR entre els 8 bits alts del grup de registres CRC original (desplaçats 8 bits a la dreta) i el byte de dades per obtenir un índex que apunta a la taula de valors.

4) Realitzeu una operació XOR entre el valor de la taula assenyalat per l'índex i el grup de registres CRC.

5) Incrementar el punter de dades. Si el processament de dades no s'ha completat, repetiu el pas 2).

6) Obtenir el CRC.

 

5 Mesures per millorar l'eficiència comunicativa

 

5.1 Tasques separades de recepció i transmissió de comunicacions


El microcontrolador 8051 pot transmetre i rebre dades a través del port sèrie mitjançant interrupcions. El controlador de port sèrie SCON admet la inicialització i l'adreçament de bits. Quan es produeix una sol·licitud d'interrupció del port sèrie, els dos bits inferiors de SCON bloquegen les interrupcions de transmissió i recepció. Quan la CPU escriu dades o un caràcter al buffer de transmissió SUBF del port sèrie (instrucció: MOV SUBF, A), el transmissor comença a enviar. Després de completar una trama de dades, el maquinari estableix la bandera TI a "1", indicant que el port sèrie demana una interrupció a la CPU per enviar la següent trama de dades. De la mateixa manera, si el receptor del port sèrie està habilitat per a la recepció, en rebre una trama de dades, el senyalador RI es posa a 1, indicant que el port sèrie està sol·licitant una interrupció a la CPU per llegir dades del buffer de dades de recepció.


5.2 Reducció de la durada de la interrupció


Com que s'utilitzen múltiples interrupcions en el disseny de l'arquitectura del programari, per garantir un funcionament fiable del programa i minimitzar la probabilitat de conflictes entre diferents tasques, la implementació del programari hauria d'esforçar-se per racionalitzar les tasques de diverses interrupcions i escurçar-ne el temps d'execució. Dins de la subrutina d'interrupció de la comunicació, realitzeu tasques essencials en introduir la interrupció, com ara: esborrar els bits d'estat corresponents al registre de control del port sèrie, llegir caràcters rebuts o escriure caràcters que s'han de transmetre des/a la memòria intermèdia, augmentar el recompte de caràcters rebuts o transmesos, etc. Sortiu de la interrupció immediatament. Altres tasques, com ara validar trames, respondre a ordres de trama rebudes (telemetria/telecomandament) i preparar trames de transmissió, s'han de gestionar dins del programa principal.


5.3 Detecció eficient de la terminació de trama per evitar l'estancament de la comunicació


L'ús d'un temporitzador de programari dedicat per detectar el final d'una trama rebuda evita que les tasques de comunicació s'allarguin si una trama es rep de manera incompleta, garantint així la recepció oportuna de trames posteriors. Com que l'interval de temps entre bytes dins d'un fotograma és molt més curt que l'interval de fotograma-a-, el temporitzador de programari s'inicia cada vegada que es rep un nou byte. El temporitzador s'estableix a l'interval mínim-a-frame. Aquest interval varia amb diferents velocitats de transmissió. Si es rep el byte següent abans que transcorri el temps preestablert, indica que el fotograma està incomplet i el temporitzador es reinicia. Si el temporitzador compta enrere amb èxit fins al temps preestablert, activa el número d'interrupció corresponent. Dins de la subrutina d'interrupció del temporitzador, s'estableix el byte de senyalització de final de trama, cosa que significa que la recepció de trama s'ha completat. Després que el programa mestre detecti una recepció de trama completada, valida la integritat de la trama verificant l'adreça de l'esclau i el byte de verificació de redundància cíclica (CRC). Si es confirma com a trama vàlida destinada al mestre, processa l'ordre de trama en funció del seu codi de funció i es prepara per enviar una trama. Quan l'esclau rep un missatge incorrecte, envia una trama d'error. Si el missatge rebut té un CRC incorrecte, l'esclau pot optar per no respondre. Si el mestre no rep una resposta de l'esclau dins del temps especificat, retransmetrà el missatge de sol·licitud. Si diverses retransmissions no reben una resposta de l'esclau, s'informa d'un error de comunicació.


5.4 Determinació de la velocitat de comunicació


Com que tots els dispositius resideixen dins del mateix xassís, la distància entre mòduls és mínima. Modbus funciona amb RS485 per a la comunicació de llarga-distància, eliminant la necessitat de tenir en compte els efectes de la distància en la velocitat de transmissió. A més, el mode de comunicació mestre-esclau evita la congestió de la línia. Per tant, des de la perspectiva de l'eficiència de la comunicació, sempre que la velocitat de baudios establerta no superi el límit de velocitat de baudi màxim del xip utilitzat al mòdul, una velocitat de baudi més alta comporta un intercanvi d'informació més ràpid i una eficiència de comunicació més alta. Establir la velocitat en baudis perquè sigui exactament la mateixa per a ambdues parts de la comunicació assegura que l'extrem receptor pren mostres de cada bit de dades al punt mitjà del cicle de bits, aconseguint així una comunicació fiable.


5.5 Mètodes de depuració raonables


Durant la depuració, primer proveu la comunicació entre cada mòdul de CPU i el microordinador mitjançant el mòdul de conversió de dades RS485/RS232. Després de proves individuals amb èxit, procediu a la depuració entre-mòduls, millorant significativament l'eficiència general de la depuració. Durant la depuració de comunicacions entre mòduls-a-ordinadors, l'ordinador utilitza un programari de depuració Modbus per simular el procés de comunicació del mestre, sol·licitant informació activament a l'esclau. Això fa que tot el procés de recepció i transmissió sigui transparent i clar, permetent la resolució oportuna dels problemes dels mòduls. Durant la depuració conjunta, el programari de monitorització d'autobusos observa les dades d'ambdós costats per identificar i resoldre ràpidament els problemes.

 

6 punts d'innovació d'aquest document


En primer lloc, aquest article adopta Modbus, un estàndard industrial universal, en el dispositiu de protecció. El programari de l'eina necessària es pot obtenir directament dels llocs web rellevants sense incórrer en costos de propietat intel·lectual. En segon lloc, el dispositiu de protecció implementa la multitasca i utilitza el protocol Modbus per crear un mecanisme de depuració conjunta raonable entre els mòduls de la CPU, millorant considerablement l'eficiència del desenvolupament del sistema col·laboratiu.

Enviar la consulta

whatsapp

Telèfon

Correu electrònic

Investigació