Istruzioni TIA Portal

Operazioni di Conversione
Scalatura e Tipi

La conversione dei dati è il ponte tra il mondo fisico e il codice digitale. Padroneggia la scalatura dei segnali analogici e la trasformazione dei tipi di dati.

Cosa sono le operazioni di conversione in TIA Portal?

Le operazioni di conversione consentono di trasformare un valore da un tipo di dati a un altro (es: da Intero a Reale) o di manipolare la precisione dei numeri a virgola mobile. Includono anche strumenti di normalizzazione e scalatura, indispensabili per elaborare i segnali analogici.

TIA Portal offre istruzioni moderne come SCALE_X e NORM_X che sostituiscono vantaggiosamente i vecchi blocchi SCALE/UNSCALE di S7-300, offrendo maggiore flessibilità e precisione.

Conversione di Tipo

Trasformazione e arrotondamento dei formati numerici

CONVERT — Converti valore

CONV

Cosa fa

Converte un valore da un tipo di dati sorgente a un tipo di dati destinazione. Gestisce conversioni tra interi, reali, caratteri, tempo e stringhe.

Quando usarlo

Preparare un intero per calcoli complessi convertendolo in Real, o convertire un codice errore in String per l'HMI.

Consigli Pro

In LAD, clicca sui tipi di dati del blocco per selezionare sorgente e destinazione.

In SCL: myReal := INT_TO_REAL(myInt);

Attenzione alle perdite di precisione durante la conversione da tipi grandi a tipi piccoli.

ROUND / TRUNC

ROUND

Cosa fanno

ROUND arrotonda un numero mobile all'intero più vicino. TRUNC elimina semplicemente la parte decimale (troncamento).

Quando usarlo

Visualizzare una misura fisica come intero semplice o convertire un Real in un indice di array (Int).

Consigli Pro

Se la parte decimale è esattamente .5, ROUND arrotonda all'intero pari più vicino (norma IEC).

TRUNC è preferibile se si desidera solo ignorare i decimali senza arrotondamento.

Entrambi accettano Real/LReal e restituiscono generalmente un DInt.

CEIL / FLOOR

CEIL

Cosa fanno

CEIL (Soffitto) genera l'intero superiore o uguale. FLOOR (Pavimento) genera l'intero inferiore o uguale.

Quando usarlo

Calcolare il numero di contenitori necessari (arrotondare sempre per eccesso con CEIL).

Consigli Pro

CEIL(10.1) = 11 ; FLOOR(10.9) = 10.

Essenziale per algoritmi di logistica.

Utile per assicurarsi che un valore rimanga entro limiti interi stretti.

Scalatura (Scaling)

Elaborazione di segnali analogici

NORM_X — Normalizza

NORM_X

Cosa fa

Trasforma un valore in un intervallo [MIN..MAX] in un valore normalizzato tra 0.0 e 1.0.

Quando usarlo

Leggere un ingresso analogico grezzo (es: 0-27648) e trasformarlo in percentuale.

Consigli Pro

Generalmente seguito da un blocco SCALE_X.

Se l'ingresso supera i limiti, l'uscita supererà 0.0 o 1.0.

Assicurarsi che MIN sia diverso da MAX.

SCALE_X — Scala

SCALE_X

Cosa fa

Prende un valore normalizzato [0.0..1.0] e lo proietta su un intervallo fisico (es: 0-100°C).

Quando usarlo

Convertire il risultato di NORM_X in un'unità di misura leggibile.

Consigli Pro

La combinazione NORM_X + SCALE_X è lo standard Siemens moderno.

Permette di cambiare i range dei sensori facilmente.

Può essere usato anche per inviare setpoint fisici a uscite analogiche.

Istruzioni Legacy

Compatibilità S7-300 (FC105 / FC106)

SCALE / UNSCALE

Cosa fa

Vecchi blocchi che eseguono la conversione diretta in un unico passaggio.

Quando usarlo

Manutenzione di programmi migrati da Step 7 Classic.

Consigli Pro

SCALE corrisponde al vecchio FC105.

Usa BIPOLAR per segnali negativi (+/- 10V).

Preferire NORM_X/SCALE_X per nuovi sviluppi.

Confronto dei metodi

Scegliere l'istruzione giusta

Vuoi...ConsigliataEsempio
Cambiare tipo (Int -> Real)CONVERTCalcolo preciso
Rimuovere decimaliTRUNCVisualizzazione semplice
ArrotondareROUNDStatistiche
Sensore 4-20mANORM_X + SCALE_XPressione 0-16 bar
Arrotondamento eccessoCEILCalcolo pallet
Codice S7-300SCALE (FC105)Migrazione

Domande Frequenti

Perché usare NORM_X e SCALE_X invece di un blocco unico?

Permette maggiore flessibilità per filtrare o limitare il valore normalizzato prima di scalarlo.

Qual è il valore standard per ingressi analogici Siemens?

Tipicamente 0 a 27648 per segnali unipolari.

Come convertire in String?

CONVERT lo fa nativamente, o usa VAL_STRG per più controllo.

Differenza tra ROUND e TRUNC?

ROUND arrotonda al più vicino, TRUNC taglia semplicemente i decimali.

Ottimizza i tuoi calcoli analogici

T-IA Connect genererà le tue reti di scalatura ottimizzate.