Tempo di lettura: 5 minuti

Il Problema

Un tecnico PLC si è trovato di fronte a un problema di curva non lineare quando ha cercato di convertire un valore da 0.0 a 22.0 in una scala analogica da 0 a 32767 tramite un S7-1200. Nonostante l’uso di funzioni Normal_X e Scale_X, la conversione risultava irregolare.

Causa Tecnica Curva Non Lineare

Tutti i DAC hanno errori di non linearità. Nei PLC Siemens, il valore digitale corrispondente al 100% del valore del canale analogico non è 32767, ma 27648 (6C00 Hex). Questo può causare distorsioni nella conversione.

Soluzione Definitiva per Curva Non Lineare

Passo 1: Creazione della Tabella di Conversione

Per risolvere il problema, è necessario creare una tabella di conversione con coppie di valori reali e corrispondenti tensioni di ingresso. Considerando i punti lineari tra due valori, è possibile risolvere l’equazione della retta tra questi.

Passo 2: Implementazione della Tabella

Utilizzare la tabella creata per mappare i valori HMI ai valori corretti per l’uscita analogica. Questo può essere fatto usando una proporzione semplice: analogica := ( / 22.0) * 32768.0.

Codice e Configurazione Curva Non Lineare

analogica := ( / 22.0) * 32768.0;

Verifica e Test della Soluzione

Per verificare la soluzione, controllare che i valori di uscita corrispondano esattamente a quelli attesi. Per maggiori dettagli consulta la documentazione ufficiale Siemens.

Errori Comuni Curva Non Lineare

Ecco alcuni errori comuni e le loro soluzioni:

  • Errore di non linearità: Verificare la tabella di conversione e correggere eventuali distorsioni.
  • Valori fuori scala: Assicurarsi che i valori HMI siano all’interno del range 0.0-22.0.
  • Problemi di comunicazione: Verificare la configurazione di Profinet e la connessione dei dispositivi.

Domande Frequenti su Curva Non Lineare

Ecco alcune domande frequenti:

  • Come posso correggere la curva non lineare? Creando una tabella di conversione e applicando una proporzione semplice.
  • Qual è il valore digitale corretto per il 100% del canale analogico? 27648 (6C00 Hex).
  • Come posso verificare la soluzione? Controllando che i valori di uscita corrispondano esattamente a quelli attesi.

Conclusione

Risolvere la curva non lineare su S7-1200 richiede una tabella di conversione accurata e l’applicazione di una proporzione semplice. Per ulteriori risorse, consulta il forum PLC ufficiale o la documentazione Siemens.

Approfondimento Tecnico Avanzato

Nell’ambito della programmazione PLC, la non linearità dei DAC (Digital-to-Analog Converter) è un fenomeno noto e ben documentato. Nei PLC Siemens S7-1200, il funzionamento interno è complesso e coinvolge diversi registri e funzioni per garantire una conversione precisa. La non linearità è principalmente dovuta alla differenza tra il valore digitale massimo (27648 in Hex, equivalente a 32768 in decimale) e il valore fisico corrispondente. Questo implica che per ottenere una conversione lineare tra un valore digitale e un valore analogico, è necessario un aggiustamento specifico. I registri coinvolti includono i registri di input/output (I/O), i registri di memoria (MEM) e i registri di stato (STATUS). Inoltre, la TIA (Totally Integrated Automation) offre strumenti avanzati per la gestione dei dati e la configurazione dei DAC, consentendo una maggiore precisione nella conversione.

Per comprendere meglio il funzionamento, è utile considerare l’equazione che descrive la conversione lineare: y = mx + b, dove ‘m’ rappresenta il coefficiente di pendenza e ‘b’ l’intercetta. Nei PLC Siemens, tuttavia, è necessario adattare questa equazione per tenere conto della non linearità. Ad esempio, per una conversione da un valore digitale a un valore analogico, è necessario calcolare la pendenza ‘m’ considerando il valore di offset e la scala di conversione. Questo processo richiede una comprensione approfondita dei registri di configurazione e delle funzioni di conversione disponibili nel PLC.

Metodi Alternativi e Varianti

Per affrontare il problema della curva non lineare nella conversione da valori digitali a valori analogici, esistono diverse strategie. Una prima opzione è l’utilizzo di una tabella di conversione. Questa tecnica prevede la creazione di una tabella con coppie di valori reali e corrispondenti valori analogici. Utilizzando questa tabella, è possibile mappare ogni valore digitale a un valore analogico corretto, compensando la non linearità. Un altro approccio è l’uso di funzioni matematiche specifiche, come la funzione di proporzionalità diretta, che può essere implementata direttamente nel codice PLC. Questo metodo richiede una buona conoscenza delle funzioni matematiche e della loro applicazione nel contesto del PLC. Infine, un metodo alternativo è l’utilizzo di algoritmi di compensazione che adattano dinamicamente la conversione in base ai valori di input, offrendo una soluzione più complessa ma flessibile.

Ognuno di questi metodi ha i suoi pro e contro. La tabella di conversione è semplice da implementare ma richiede un’ampia quantità di dati di riferimento. Le funzioni matematiche offrono una soluzione più pulita e diretta ma possono essere limitate in termini di flessibilità. Gli algoritmi di compensazione, d’altra parte, forniscono una soluzione personalizzabile ma richiedono un maggiore sforzo di programmazione e una buona comprensione delle dinamiche del sistema.

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