Tempo di lettura: 5 minuti

Il Problema

Un tecnico PLC si trova a fronteggiare una sfida specifica: inserire, attraverso 9 pulsanti numerici, dei numeri reali dentro ad una variabile di In/Out senza sovrascrivere il numero precedente. Questo problema è particolarmente complesso quando si tratta di inserire numeri che iniziano dal 10 in poi. L’obiettivo è inserire valori che vanno da 1 a 999 senza perdere i dati precedenti. In questo articolo, esploreremo una soluzione pratica per risolvere questo problema.

Causa Tecnica Inserimento Numeri Reali

Il problema principale è legato alla gestione dei numeri reali all’interno di una variabile di In/Out. Quando si digitano numeri a partire dal 10, è necessario evitare che il numero precedente venga sovrascritto. La soluzione risiede nella gestione corretta delle cifre e nella loro combinazione in modo da formare il numero completo senza interferenze.

Soluzione Definitiva per Inserimento Numeri Reali

Passo 1: Incrementare la Variabile

Il primo passo è incrementare una variabile ogni volta che una nuova cifra viene digitata. Questo permette di tenere traccia del numero di cifre inserite.

Passo 2: Multiplicare e Sommare

Quando si digita una nuova cifra, moltiplicare il valore corrente per 10 e sommare la nuova cifra alla somma precedente. Questo metodo permette di costruire il numero completo senza sovrascrivere i valori precedenti.

Passo 3: Controllo del Tempo Inter-Cifre

Introdurre un controllo di tempo tra una cifra e l’altra per garantire che ogni cifra venga elaborata correttamente prima di procedere alla successiva.

Passo 4: Memorizzazione delle Cifre

Assicurare una segnalazione dell’avvenuta memorizzazione di ogni cifra immessa. Questo può essere fatto tramite un segnale di conferma o un conteggio delle cifre raccolte.

Passo 5: Trasferimento del Dati

Una volta che tutte le cifre sono state inserite e memorizzate, il numero completo può essere trasferito per l’utilizzo finale.

Codice e Configurazione Inserimento Numeri Reali

VAR globale cif_contatore : INT := 0; // Contatore delle cifre
VAR globale numero_completo : REAL := 0.0; // Numero completo

ON TIMER_1
  CASE pulsante_numerico : INT
    CASE 0 TO 9
      numero_completo := numero_completo * 10 + pulsante_numerico
      cif_contatore := cif_contatore + 1
    END_CASE
  END_CASE

Verifica e Test della Soluzione

Per verificare la soluzione, è necessario testare la capacità del sistema di inserire correttamente numeri reali senza sovrascrivere i valori precedenti. È anche importante controllare che il conteggio delle cifre e la memorizzazione siano corretti.

Per maggiori dettagli consulta la documentazione ufficiale Siemens

Errori Comuni Inserimento Numeri Reali

Un errore comune è la sovrascrittura dei numeri precedenti. Un altro problema può derivare dal mancato incremento del contatore delle cifre. Assicurarsi che ogni cifra venga correttamente elaborata e sommata al numero precedente.

Domande Frequenti su Inserimento Numeri Reali

Domanda 1: Come posso evitare la sovrascrittura dei numeri precedenti?
Risposta: Multiplicare il valore corrente per 10 e sommare la nuova cifra alla somma precedente.

Domanda 2: Qual è il metodo corretto per incrementare il contatore delle cifre?
Risposta: Incrementare il contatore ogni volta che una nuova cifra viene digitata.

Domanda 3: Come posso testare la soluzione?
Risposta: Testare la capacità del sistema di inserire correttamente numeri reali e controllare il conteggio delle cifre.

Conclusione

La soluzione per inserire numeri reali su S7-1200 senza sovrascrivere i valori precedenti è semplice una volta compreso il metodo corretto. Seguire i passaggi sopra descritti e testare la soluzione per garantire che funzioni correttamente. Per ulteriori risorse, consultare il forum PLC ufficiale.

Approfondimento Tecnico Avanzato

Nell’ambito della programmazione PLC, la gestione dei numeri reali all’interno di una variabile di In/Out richiede un’attenta considerazione delle dinamiche interne del PLC S7-1200 e del software TIA Portal. I registri coinvolti, come i registri di dati (DB) e i registri di input/output (I/O), giocano un ruolo cruciale nel salvataggio e nella manipolazione dei dati numerici. Per inserire numeri reali attraverso 9 pulsanti numerici, è necessario implementare una struttura di dati che permetta di combinare le cifre in modo sequenziale senza sovrascrivere i valori precedenti. Ad esempio, quando si inserisce il numero ‘123’, ogni cifra deve essere memorizzata in un registro separato e poi combinata attraverso operazioni di moltiplicazione e somma. Questo approccio richiede una comprensione approfondita delle operazioni bitwise e della gestione della memoria nel PLC.

Un’altra considerazione tecnica è l’utilizzo di timer e contatori per gestire il tempo tra l’inserimento di una cifra e l’altra. Questo è essenziale per evitare errori di inserimento e garantire che ogni cifra sia correttamente memorizzata e combinata. Inoltre, è fondamentale monitorare lo stato delle operazioni tramite registri di diagnostica che forniscono informazioni in tempo reale sulla gestione dei dati, consentendo così di intervenire tempestivamente in caso di anomalie.

Metodi Alternativi e Varianti

Esistono diverse metodologie per risolvere il problema dell’inserimento di numeri reali tramite pulsanti numerici su un PLC S7-1200. Una variante comune prevede l’utilizzo di un array di registri per memorizzare le cifre inserite sequenzialmente. Questo approccio consente di gestire fino a tre cifre con maggiore facilità, ma richiede una gestione più complessa dei dati. Un altro metodo alternativo è l’uso di un algoritmo di parsing che analizza e combina le cifre in tempo reale, permettendo un inserimento più fluido e dinamico. Entrambi questi metodi presentano pro e contro: l’utilizzo di array di registri offre una maggiore trasparenza nella gestione dei dati, ma può essere meno flessibile rispetto a un approccio basato su parsing che, d’altra parte, può risultare più complesso da implementare e gestire.

Inoltre, un approccio basato sull’uso di un buffer di memoria per l’inserimento delle cifre può essere considerato. Questo metodo prevede la memorizzazione temporanea delle cifre inserite in un buffer, che viene poi combinato in un numero reale completo. Questo approccio è particolarmente utile quando si desidera evitare la sovrascrittura dei dati e permette una maggiore flessibilità nell’inserimento delle cifre, ma richiede una gestione accurata del buffer per prevenire errori di inserimento.

Stanco di andare a tentativi?

Se errori come questo ti mandano in panico, probabilmente ti mancano le basi solide della programmazione PLC.

Smetti di risolvere problemi uno alla volta e impara il metodo giusto dall’inizio.


Scopri i Corsi TIA Portal per Principianti →

IT EN