INGEGNERIA DEL PLC

Cos'è un ciclo di scansione PLC? Come i PLC eseguono i programmi

Casa Blog

Cos'è un ciclo di scansione PLC? Come i PLC eseguono i programmi

Cos'è un ciclo di scansione PLC? Come i PLC eseguono i programmi

May 12, 2026

Introduzione

Ogni PLC esegue lo stesso ciclo fondamentale dal momento dell'accensione: legge gli input, esegue la logica, scrive gli output, ripete. Questo ciclo, chiamato ciclo di scansione, determina la reattività di un PLC agli eventi del mondo reale e definisce il limite massimo di prestazioni per qualsiasi processo controllato.

Comprendere la meccanica del ciclo di scansione aiuta i programmatori a ottimizzare il codice, risolvere i problemi di reattività e selezionare la CPU più adatta per le applicazioni più esigenti. Questa guida spiega nel dettaglio come funziona il ciclo di scansione e quali fattori lo influenzano.

Le quattro fasi del ciclo di scansione del PLC

La CPU del PLC esegue il suo programma in un ciclo continuo e sequenziale. Ogni iterazione completa è composta da quattro fasi distinte.

Passaggio 1: Lettura degli input (Scansione input)

La CPU acquisisce lo stato corrente di tutti i moduli di input e memorizza questi valori in una sezione di memoria dedicata, chiamata tabella delle immagini di input. Questo avviene all'inizio di ogni ciclo di scansione.

Per gli ingressi digitali, la CPU legge un semplice valore 1 (ON) o 0 (OFF). Per gli ingressi analogici, la CPU converte il segnale reale (4-20 mA, 0-10 V o dati del sensore di temperatura) in un valore digitale e lo memorizza.

Questa fase è rapida: in genere da 1 a 10 millisecondi per l'intera scansione dell'ingresso, a seconda del numero di moduli di ingresso e della loro configurazione.

Passaggio 2: Eseguire il programma (Scansione del programma)

Con i dati di input freschi in memoria, la CPU esegue il programma utente un'istruzione alla volta. Ogni istruzione viene valutata rispetto ai valori correnti della tabella delle immagini di input e i risultati vengono scritti nella tabella delle immagini di output.

È qui che vengono effettivamente eseguite la logica a contatti, i blocchi funzione o le istruzioni di testo strutturato. La CPU legge dalla tabella delle immagini di input, esegue operazioni logiche o aritmetiche e memorizza i risultati nella tabella delle immagini di output, ma, aspetto fondamentale, non scrive ancora sui moduli di output fisici.

La scrittura in memoria è di gran lunga più veloce rispetto alla comunicazione con i moduli di I/O fisici. Rimandare le scritture sugli output fisici fino al completamento della scansione garantisce che tutti gli output cambino simultaneamente, prevenendo stati intermedi instabili.

La scansione del programma è in genere la fase più lunga. Il tempo di scansione è proporzionale alle dimensioni del programma, alla sua complessità e al numero di istruzioni.

Passaggio 3: Scrittura degli output (Scansione output)

Al termine della scansione del programma, la CPU scrive simultaneamente i valori dalla tabella dell'immagine di output nei moduli di output fisici. Le uscite digitali si attivano o disattivano. Le uscite analogiche applicano i valori calcolati al processo.

Questa scrittura coordinata garantisce che gli output riflettano un'istantanea coerente della valutazione logica, senza modifiche all'output durante la scansione del programma. La scansione dell'output richiede in genere da 1 a 5 millisecondi, a seconda del numero di moduli di output.

Fase 4: Pulizia

La fase finale comprende tutte le altre operazioni che la CPU deve eseguire tra un ciclo e l'altro:

· Comunicazione con pannelli HMI e altri dispositivi di rete

· Elaborazione di istruzioni basate sul tempo (timer, orologio in tempo reale)

· Aggiornamento dei registri di diagnostica e guasti

· Gestione delle richieste di comunicazione provenienti da altri PLC o sistemi SCADA

Il tempo dedicato alle operazioni di pulizia varia in base al carico di comunicazione. Un PLC con molteplici connessioni HMI e un'intensa attività di messaggistica di rete potrebbe impiegare una quantità di tempo considerevole in questa fase.

Comprensione dei tempi di scansione

Il tempo di scansione è la durata totale di tutte e quattro le fasi per un ciclo completo. Misurato in millisecondi, determina direttamente la velocità con cui un PLC può rispondere alle variazioni di input.

Valori tipici:

· Programma di piccole dimensioni (100-500 istruzioni): 1-5 ms

· Programma di medie dimensioni (1.000-5.000 istruzioni): 5-20 ms

· Programma di grandi dimensioni (oltre 10.000 istruzioni): 20-100 ms

La relazione tra tempo di scansione e velocità della macchina è fondamentale. Una macchina confezionatrice che lavora a 100 confezioni al minuto ha 600 millisecondi per ciclo. Se il tempo di scansione del PLC è di 50 ms, la macchina ha ancora 550 ms di tempo di risposta disponibile; ma se il tempo di scansione raggiunge i 500 ms, la macchina smette di rispondere.

Per applicazioni di confezionamento, imbottigliamento o controllo del movimento ad alta velocità, sono spesso richiesti tempi di scansione inferiori a 2 ms.

Perché esistono le tabelle delle immagini di output

Una domanda frequente: perché la CPU scrive in una tabella di memoria anziché direttamente sulle uscite?

L'approccio basato sulla tabella delle immagini risolve tre problemi. In primo luogo, garantisce aggiornamenti atomici dell'output: ogni output in una data scansione riflette la stessa valutazione logica. In secondo luogo, consente alle istruzioni del programma di leggere i propri stati di output senza creare un ciclo di feedback. In terzo luogo, riduce drasticamente il sovraccarico di comunicazione I/O raggruppando le scritture.

Senza tabelle immagine, una singola scansione ladder logic potrebbe innescare decine di scritture individuali in output in diversi punti durante l'esecuzione, creando un comportamento instabile della macchina.

Esecuzione guidata dagli eventi: interruzioni e attività periodiche

L'esecuzione standard del ciclo di scansione valuta ogni istruzione ad ogni scansione, indipendentemente dal fatto che le condizioni siano cambiate. Per la maggior parte delle applicazioni questo è accettabile, ma spreca tempo della CPU valutando logica inattiva.

La maggior parte dei PLC moderni supporta l'esecuzione di attività tramite interrupt o periodiche per gestire eventi critici in termini di tempo senza interrompere la scansione principale.

Interruzioni temporizzate (TDI): Eseguono una routine specifica a intervalli precisi, indipendentemente dalla scansione principale. Utilizzate per il conteggio ad alta velocità, l'elaborazione dell'encoder o il controllo PID a intervalli fissi.

Interruzioni attivate da eventi: vengono eseguite quando si verifica una condizione specifica, come una transizione del fronte di ingresso, un evento di comunicazione o una condizione di guasto. Le risposte di sicurezza critiche spesso utilizzano le interruzioni per garantire il tempo di risposta indipendentemente dalla posizione di scansione principale.

Per Siemens S7-1500, la logica critica in termini di tempo può essere eseguita in blocchi organizzativi di interrupt ciclici (OB) con priorità configurabili. Allen Bradley ControlLogix utilizza attività periodiche e basate su eventi con frequenze configurabili.

Come misurare e ridurre i tempi di scansione

Misurazione del tempo di scansione: la maggior parte degli ambienti di programmazione visualizza il tempo di scansione in tempo reale. In Studio 5000, la scheda Generale > Proprietà del controller mostra le statistiche di esecuzione. In TIA Portal, il menu Online > Diagnostica fornisce i dati relativi al tempo di scansione.

Riduzione dei tempi di scansione:

· Spostare le istruzioni di comunicazione (funzioni MSG) dalla scansione principale del programma alle attività periodiche.

· Semplifica le espressioni complesse: sostituisci, ove possibile, le operazioni aritmetiche annidate con valori precalcolati.

· Quando possibile, utilizzare riferimenti diretti anziché tag copiati.

· Ridurre il numero di messaggi sulle reti EtherNet/IP o PROFINET

· Valuta la possibilità di utilizzare una CPU più veloce se, nonostante l'ottimizzazione, il tempo di scansione supera i requisiti dell'applicazione.

L'impatto della comunicazione di rete sul tempo di scansione

La comunicazione di rete è la causa più comune di aumenti imprevisti dei tempi di scansione. Ogni interrogazione HMI, ogni lettura SCADA e ogni messaggio PLC-to-PLC consuma tempo CPU durante la fase di gestione.

Quando un PLC deve comunicare con molti dispositivi, il carico di comunicazione può crescere più rapidamente di quanto la CPU sia in grado di gestire, causando un graduale aumento dei tempi di scansione fino al superamento di una soglia che provoca un degrado delle prestazioni della macchina.

Buona prassi: separare il controllo critico in termini di tempo e la comunicazione di rete su segmenti di rete o CPU distinti. Utilizzare una CPU per il controllo della macchina e un'altra per la raccolta e la generazione dei dati.

Conclusione

Il ciclo di scansione del PLC è il cuore pulsante di ogni sistema di controllo industriale. Comprendere le sue quattro fasi (lettura degli input, esecuzione del programma, scrittura degli output e gestione) fornisce ai programmatori le basi per scrivere codice efficiente e risolvere i problemi di reattività.

Il tempo di scansione non è solo un valore numerico. Definisce la reale operatività della macchina. Per la maggior parte delle applicazioni, un tempo di scansione di 10-20 ms è impercettibile per gli operatori. Per le apparecchiature ad alta velocità, 1 ms o meno fa la differenza tra prestazioni accettabili e guasti catastrofici.

Conosci i requisiti del tuo processo. Misura il tempo di scansione effettivo durante il funzionamento, non solo in fase di messa in servizio, e progetta l'architettura di controllo in modo da mantenere tali prestazioni per tutto il ciclo di vita della macchina.

Domande frequenti

D: Una CPU più veloce significa sempre tempi di scansione più rapidi?

R: Non sempre. Il tempo di scansione dipende dalla complessità del programma, dal carico di comunicazione di rete e dalla configurazione I/O. Una CPU più veloce aiuta, ma l'eliminazione delle istruzioni non necessarie e l'ottimizzazione della comunicazione offrono vantaggi maggiori nella maggior parte delle applicazioni.

D: Cosa succede se un ingresso cambia stato durante la scansione del programma?

A: La CPU non lo rileva fino all'inizio della scansione successiva. Se un ingresso cambia a metà dell'esecuzione e poi torna allo stato precedente prima della successiva scansione degli ingressi, il PLC potrebbe non rilevare mai l'evento. Per eventi più rapidi del tempo di scansione, utilizzare l'elaborazione degli ingressi tramite interrupt.

D: In che modo la modifica online influisce sui tempi di scansione?

A: Quando si apportano modifiche al programma mentre il PLC è in funzione (modifica online), la CPU potrebbe mettere brevemente in pausa la scansione o eseguire operazioni aggiuntive per sincronizzare il nuovo codice. Modifiche online significative possono causare un aumento temporaneo del tempo di scansione da 2 a 5 volte rispetto ai valori normali.

D: Devo preoccuparmi dei tempi di scansione per processi lenti come il trattamento delle acque?

A: Per i processi che cambiano nell'arco di secondi o minuti, i tempi di scansione di 100 ms sono irrilevanti. Tuttavia, gli input e gli allarmi relativi alla sicurezza devono essere sempre elaborati con il minimo ritardo possibile, indipendentemente dalla velocità del processo. Utilizzare gli interrupt per qualsiasi input che richieda una risposta più rapida rispetto alla scansione normale.

D: Il tempo di scansione può variare durante il funzionamento?

R: Sì. Il tempo di scansione è proporzionale alla complessità del programma e al carico di comunicazione. Una macchina inattiva, senza alcuna attività, può eseguire la scansione più velocemente rispetto alla stessa macchina che funziona a piena velocità di produzione con interazione attiva con l'interfaccia HMI e modifiche alle ricette.

Prodotti correlati

· [PLC Siemens](https://www.tztechio.com/siemens) — S7-1500, S7-1200

· [PLC Allen Bradley](https://www.tztechio.com/allen-bradley) — ControlLogix, Logica compatta

· [PLC Mitsubishi](https://www.tztechio.com/mitsubishi) — MELSEC iQ-R

sottoscrivi

Continua a leggere, rimani aggiornato, iscriviti e ti invitiamo a dirci cosa ne pensi.

invia
Diritto d'autore 2026 @ TZ TECH Co., LTD. .Tutti i diritti riservati Disclaimer: Non siamo un distributore autorizzato o un distributore del produttore del prodotto di questo sito Web. Il prodotto potrebbe avere codici data più vecchi o essere una serie precedente rispetto a quella disponibile direttamente dalla fabbrica o dai rivenditori autorizzati. Poiché la nostra azienda non è un distributore autorizzato di questo prodotto, la garanzia del produttore originale non si applica. Anche se molti prodotti DCS PLC avranno già installato il firmware, la nostra azienda non garantisce se un prodotto DSC PLC avrà o meno firmware e , se dispone di firmware, se il firmware è il livello di revisione necessario per la tua applicazione. La nostra azienda inoltre non fornisce alcuna garanzia in merito alla capacità o al diritto dell'utente di scaricare o ottenere in altro modo il firmware per il prodotto dalla nostra azienda, dai suoi distributori o da qualsiasi altra fonte. La nostra azienda non garantisce inoltre il diritto dell'utente di installare tale firmware sul prodotto. La nostra azienda non otterrà né fornirà firmware per tuo conto. È tuo obbligo rispettare i termini di qualsiasi contratto di licenza con l'utente finale o documento simile relativo all'ottenimento o all'installazione del firmware.

Mappa del sito | blog | XML | politica sulla riservatezza

lasciate un messaggio

lasciate un messaggio
Se sei interessato ai nostri prodotti e vuoi conoscere maggiori dettagli, lascia un messaggio qui, ti risponderemo il prima possibile.
invia

Casa

Prodotti

whatsApp

contatto

LE TUE IMPOSTAZIONI DEI COOKIE

Inoltre, con il tuo permesso, vogliamo inserire cookie per rendere la tua visita e l'interazione con slOC più personale. Per questo utilizziamo cookie analitici e pubblicitari. Con questi cookie noi e terze parti possiamo tracciare e raccogliere il tuo comportamento su Internet all'interno e all'esterno di super-instrument.com. In questo modo noi e terzi adattiamo super-instrument.com e le pubblicità al tuo interesse. Facendo clic su Accetta accetti questo. Se rifiuti, utilizziamo solo i cookie necessari e purtroppo non riceverai alcun contenuto personalizzato. Ti invitiamo a visitare la nostra Cookie policy per maggiori informazioni o per modificare il tuo consenso in futuro.

Accept and continue Decline cookies