Ottimizzazione del buffer della porta SNP dell'IC693CPU363 per aggiornamenti HMI in meno di un secondo nell'automazione industriale
Gli ingegneri che lavorano con i sistemi PLC GE Fanuc Series 90-30 segnalano spesso un persistente ritardo di cinque secondi nell'aggiornamento dell'HMI. La CPU IC693CPU363, basata su un processore 80386EX a 25 MHz, non dovrebbe presentare questo limite per progettazione. L'esperienza sul campo dimostra che il vero responsabile è solitamente l'esaurimento del buffer della porta seriale o l'aumento del polling, non la velocità pura della CPU. Questo rapporto di ingegneria sul campo spiega come diagnosticare e correggere il collo di bottiglia negli ambienti di automazione industriale.
Perché la piattaforma a 25 MHz non spiega un aggiornamento di cinque secondi
Valore di riferimento della velocità di scansione dell'IC693CPU363
La CPU IC693CPU363 esegue tipicamente la scansione di 1K di logica booleana in circa 0,22 millisecondi. Pertanto, un aggiornamento HMI di cinque secondi non è un normale limite architetturale. La causa principale è solitamente da ricercare nella gestione dei frame SNP o nell'esaurimento dei buffer seriali. Un singolo errore di byte costringe il livello di protocollo a scartare l'intero frame SNP. Il master attende quindi il timeout di conferma, che per impostazione predefinita è di un secondo. Di conseguenza, un tasso di errore dei frame del 10% provoca un rallentamento evidente ogni tre secondi.
Impatto del tasso di errore sulla latenza di aggiornamento
Con un tasso di errore dei frame del 50%, il sistema riproduce esattamente il sintomo di 30-60 secondi descritto in molti casi sul campo. Inoltre, ogni timeout consuma l'intero intervallo T5', moltiplicando direttamente la latenza di aggiornamento. Gli ingegneri dovrebbero considerare innanzitutto gli errori dei frame come un problema del buffer e del livello fisico, non come un problema di prestazioni della CPU.
Architettura del buffer della porta e limiti dei frame SNP
Porte di comunicazione integrate della CPU363
La CPU363 dispone di tre porte di comunicazione integrate. La porta 1 è RS-232, mentre la porta 2 è RS-485. Il servizio slave SNP su queste porte si basa su una capacità limitata di buffer per i frame in ingresso e in uscita. I messaggi di risposta SNP-X che superano i 1000 byte vengono ignorati dal livello di protocollo. Inoltre, la lunghezza totale dei dati per i messaggi mailbox e buffer è limitata a 2048 byte. Quando un'HMI richiede blocchi di registri di grandi dimensioni senza suddividerli, il buffer della porta si riempie rapidamente.
Codici di errore comuni del driver SNP
Il driver SNP restituisce quindi un NAK 0x30 (dispositivo occupato) oppure genera un errore di timeout del messaggio del buffer con codice 0x2F0C. Questi errori sono una miniera di informazioni diagnostiche. Indicano all'ingegnere che il fattore limitante è il buffer, non il controllore logico. In base alla nostra esperienza sul campo, la maggior parte delle segnalazioni di aggiornamenti ogni cinque secondi è riconducibile a richieste di blocchi troppo grandi associate a una configurazione di polling non ottimizzata.

Procedura dettagliata per la regolazione del buffer
Ridurre il parametro BlockSize dell'HMI
Per prima cosa, riduci il parametro BlockSize nella configurazione del driver HMI. Il valore predefinito è spesso di 1000 elementi per gruppo. Riducendolo a 250 o 128 elementi, l'HMI suddivide le richieste di grandi dimensioni in transazioni SNP più piccole. Questo passaggio impedisce il riempimento eccessivo del buffer della porta durante un singolo ciclo di polling. In molti progetti di automazione industriale, questa semplice modifica riduce drasticamente i tempi di aggiornamento.
Aumentare l'intervallo di ricezione e verificare il ritardo di aggiornamento
In secondo luogo, aumentare l'impostazione Receive gap nella configurazione della porta seriale. Un frame di risposta troncato indica di solito che il driver non attende abbastanza a lungo per ricevere gli ultimi byte. In terzo luogo, verificare che SNP Turnaround Delay sia impostato su zero. Anche se la CPU363 ignora internamente questo valore, il driver HMI deve comunque inviare uno zero valido per evitare ritardi artificiali. Infine, aumentare i tentativi di Retry solo dopo aver corretto i problemi del livello fisico. Un numero eccessivo di tentativi nasconde l'esaurimento dei buffer anziché risolverlo.
Dati diagnostici: tempo di scansione e metriche di incremento delle interrogazioni
Controllare il registro di sistema %SW0033
Prima di modificare i parametri dei buffer, verificare che la CPU non sia limitata dal ciclo di scansione. Leggere il registro di sistema %SW0033 (contatore di sovraccarico) tramite Proficy Machine Edition. Un contatore di sovraccarico che aumenta dimostra che la CPU sta saltando cicli di scansione e limitando il servizio SNP. Un sistema 90-30 in buono stato con un programma utente da 240 KB mantiene tipicamente un tempo di ciclo inferiore a 15 millisecondi. Se il ciclo supera i 50 millisecondi, la sola messa a punto dei buffer non ripristinerà aggiornamenti rapidi.
Acquisire una traccia SNP di 60 secondi
Successivamente, acquisire una traccia SNP di 60 secondi e contare il numero totale di interrogazioni. Un progetto HMI con 30 schermate e 5 gruppi di allarmi può generare migliaia di interrogazioni in background al secondo se il progettista ha attivato l'interrogazione continua per ogni indirizzo. Nei casi documentati sul campo, consolidare queste interrogazioni in letture a blocchi riduce la pressione effettiva sui buffer dal 60% all'80%. Questo è uno degli interventi di ottimizzazione più trascurati nella progettazione di HMI per l'automazione industriale.
Verifica dell'integrità elettrica e della topologia del bus
Misurare la tensione differenziale RS-485
Le regolazioni dei buffer non funzionano quando il livello fisico RS-485 corrompe i frame. Misurare la tensione differenziale tra i pin 3 e 9 del connettore D-sub con la CPU alimentata. In stato di riposo, un segnale integro presenta un livello mark stabile superiore a 200 mV di una polarità. Verificare che siano presenti esattamente due terminatori da 120 Ω: uno all'estremità della CPU e uno all'estremità dell'HMI. Un terzo terminatore dimezza l'impedenza del bus e genera oscillazioni a ogni transizione.
Evitare la topologia a stella e le derivazioni a T
Una topologia a stella o una derivazione a T aggiunta per una stampante seriale comprometterà allo stesso modo l'integrità del segnale. Correggere il cablaggio a margherita prima di modificare qualsiasi valore dei buffer software. Nella nostra esperienza, molti errori SNP persistenti scompaiono una volta corretti la terminazione e il cablaggio. Questo passaggio è particolarmente importante nei sistemi di controllo aggiornati, in cui il cablaggio esistente è stato modificato nel tempo.
Prestazioni previste dopo la messa a punto
Aggiornamento inferiore a 500 millisecondi a 19.200 baud
Dopo aver ridotto BlockSize a 128, eliminato le interrogazioni duplicate e ripristinato una terminazione corretta, la porta SNP dell'IC693CPU363 può mantenere intervalli di aggiornamento inferiori a 500 millisecondi a 19.200 baud. Si noti che 19.200 bps è la velocità massima supportata dalle porte seriali della CPU363. Gli ingegneri non dovrebbero aspettarsi aggiornamenti inferiori a 100 millisecondi con grandi array di registri su questa piattaforma a 25 MHz. Tuttavia, il problema dei cinque secondi è del tutto risolvibile configurando buffer e interrogazioni con attenzione.
Il punto di vista dell’autore sull’ottimizzazione dei PLC legacy
Dal punto di vista del settore, le piattaforme PLC legacy come la Series 90-30 sono ancora diffuse nell’automazione di fabbrica e nei sistemi di controllo. Pertanto, in molti progetti di ammodernamento, ottimizzare i buffer e disciplinare il polling offre più vantaggi che sostituire l’hardware. Inoltre, documentare queste impostazioni facilita la manutenzione a lungo termine e riduce i tempi di inattività imprevisti.
Caso applicativo: ripristino dell’aggiornamento HMI in una linea di confezionamento
Una linea di confezionamento che utilizzava una CPU IC693CPU363 e un HMI di terze parti presentava un ritardo di cinque secondi nell’aggiornamento. Il driver HMI richiedeva blocchi da 1000 elementi ed eseguiva continuamente il polling di ogni indirizzo. Gli ingegneri hanno ridotto il BlockSize a 128, raggruppato le richieste in letture a blocchi e rimosso un terzo terminatore dal bus RS-485. Di conseguenza, il tempo di aggiornamento è sceso sotto i 500 millisecondi a 19.200 baud. Questo caso dimostra che una regolazione accurata del buffer SNP può ripristinare prestazioni HMI reattive senza sostituire il PLC.

Domande frequenti
Quali sono le cause di un ritardo di cinque secondi nell’aggiornamento HMI sull’IC693CPU363?
Il ritardo è solitamente dovuto all’esaurimento del buffer della porta SNP o all’aumento del polling. Anche gli errori di frame e i timeout di conferma aumentano la latenza. La velocità di scansione della CPU è raramente la causa principale.
Quale BlockSize devo usare per la comunicazione SNP?
Riduci il valore predefinito di 1000 elementi a 250 o 128. Blocchi più piccoli impongono la segmentazione e impediscono l’overflow del buffer della porta durante un singolo ciclo di polling.
Come faccio a verificare se la CPU è limitata dal tempo di scansione?
Leggi il registro di sistema %SW0033 tramite Proficy Machine Edition. Un contatore di overrun in aumento indica cicli di scansione persi e un servizio SNP rallentato.
Perché la terminazione RS-485 è importante per l’affidabilità SNP?
Sono necessari esattamente due terminatori da 120 Ω, uno a ciascuna estremità. Un terzo terminatore dimezza l’impedenza del bus e crea oscillazioni, che corrompono i frame e generano errori SNP.
L’IC693CPU363 può garantire un aggiornamento HMI inferiore a 100 millisecondi?
No. A 19.200 baud, gli array di registri di grandi dimensioni non possono aggiornarsi così rapidamente su questa piattaforma a 25 MHz. Un aggiornamento inferiore a 500 millisecondi è un obiettivo realistico e raggiungibile.
Informazioni di contatto
Per informazioni sui prodotti e assistenza tecnica, contattaci all’indirizzo sales@nex-auto.com oppure su WhatsApp al numero +86 153 9242 9628.
Partner NexAuto Technology Limited: https://www.nex-auto.com/
Consulta gli articoli più popolari qui sotto per maggiori informazioni su AutoNex Controls