Gli ingressi analogici sul PLC: la sonda di temperatura PT100

Una PT100 è un tipo di sensore di temperatura a resistenza (RTD, Resistance Temperature Detector) molto utilizzato in ambito industriale per misurare la temperatura con precisione.

Normalmente si presenta con tre fili di collegamento che seguono il seguente schema.

Collegamento dei fili:

PT100 filo Modulo SM1231 RTD Funzione
Filo 1 (bianco) AI0+ Corrente di misura
Filo 2 (bianco) AI0M Misura tensione
Filo 3 (rosso) AI0N Compensazione

⚠️ I colori possono variare a seconda del costruttore del sensore, ma in genere due fili dello stesso colore sono “gemelli”, mentre quello diverso è la linea di corrente.

La PT100 non può essere collegata direttamente a un ingresso analogico standard del PLC come IW64.

Perché:

  • Gli ingressi analogici standard del PLC (es. IW64) aspettano segnali in tensione (0–10 V) o in corrente (4–20 mA).

  • Una PT100 è un sensore resistivo che cambia resistenza, non fornisce né tensione né corrente utile.

  • Quindi collegarla direttamente non produrrà letture corrette e potrebbe danneggiare l’ingresso.

Per collegare la PT100 ci sono tre soluzioni possibili:

1. Usare un modulo RTD (es. SM1231 RTD) che si collega direttamente la PT100 (2, 3 o 4 fili). È il metodo più semplice e preciso con i PLC S7-1200. Il modulo si occupa di generare la corrente di misura, leggere la resistenza e convertire in temperatura

2. Usare un convertitore PT100 → 4-20 mA. In questo caso si collega la PT100 al convertitore che invia un segnale 4–20 mA. NB: questo segnale può essere collegato a un ingresso analogico del PLC, come IW64, se supporta segnali di corrente

3. Usare un convertitore PT100 → 0-10 V. Si Collega la PT100 al convertitore, che invia un segnale 0-10V. Questo segnale può essere collegato a un ingresso analogico del PLC, come IW64, se supporta segnali di tensione

In questo articolo useremo un convertitore di segnale pt100 -> 0-10 V come quello in figura:

a cui colleghiamo una PT 100 come quella in figura, che ha un range 0-100°C

Quindi, ricapitolando i collegamenti elettrici sono i seguenti:

PT100 → Convertitore

  • Collega la PT100 al convertitore (seguendo le istruzioni del convertitore per il tipo a 2, 3 o 4 fili).

  • Il convertitore trasforma il valore di temperatura in una tensione proporzionale 0–10 V.

Convertitore → PLC (AI0)

  • Il positivo del segnale (0–10 V) del convertitore va collegato al morsetto AI0 del PLC.

  • Il negativo (GND) va collegato al M analogico (MANA) del PLC.

Attenzione che anche il convertitore, come abbiamo detto, va alimentato con i 24V (preso dal PLC) e dalla massa (presa dal PLC). Una massa va anche all’ingresso del PLC, insieme al cavo del segnale (blu) che viene dal convertitore

Preparazione delle variabili

L’unico ingresso impegnato nel progetto è quello analogico. L’indirizzo dell’ingresso dell’immagine sopra è %IW64.

La tabella delle TAGS quindi avrà un’unica linea relativa all’ingresso %IW64 a cui è associrato un valore intero:

 

A questo punto, per procedere alla realizzazione del programma, abbiamo bisogno di ulteriori variabili, che serviranno a comprendere meglio i passaggi da realizzare per arrivare alla definizione della temperatura partendo da un valore di tensione.

Il primo passaggio, prevede la normalizzazione della variabile di ingresso: l’input analogico del PLC S7-1200, infatti, una volta convertito in digitale, restituisce alla CPU un valore che va da 0 a 27648. In altri termini, quando al PLC arriva 0V, la CPU leggerà 0 dalla porta IW64 e quando arrivano 10V, la CPU restituirà il suo valore massimo: 27648.

Questo valore va “normalizzato”, ovvero va trasformato in un valore reale compreso tra 0.0 e 1.0 e per questa operazione sarà necessario creare una variabile di tipo reale in un blocco DB che chiameremo Normed_sens_temp.

Successivamente il valore di Normed_sens_temp (compreso tra 0 e 1), dovrà essere convertito in temperatura, a seconda della scala del sensore. Se, come nel nostro caso, il sensore ha un range che va da 0 a 100°C, si calcolerà la temperatura misurata come una frazione del range (0-100) calcolata in base al valore di Normed_sens_temp.

Il valore della temperatura così calcolata lo salveremo su un’altra variabile reale che chiameremo Scaled_temperatura.

Quindi, riassumendo, sarà necessario aggiungere un blocco dati tramite la funzione “Add new block” della sezione “Program blocks” del ramo del PLC. Il blocco lo chiameremo DB_dati_ingressi:

All’interno del blocco, dovremo creare le due variabili Normed_sens_temp e Scaled_temperatura

Realizzazione del programma

Il programma sarà composto di due blocchi: quello destinato alla “normalizzazione” del valore letto in ingresso, e quello che lo scala. I due blocchi si chiamano, rispettivamente: NORM_X e SCALE_X

NORM_X legge il valore dall’ingresso IW64, che è un numero che va da 0 a 27648, lo trasforma in un numero che va da 0 a 1.0 e salva il risultato nella variabile Normed_sens_temp;

SCALE_X prende la variabile Normed_sens_temp e lo trasforma, tramite una proporzione, in un valore compreso tra i suoi valore MIN e MAX (nel nostro caso 0 e 100), per poi salvare il risultato nel valroe Scaled_temperatura

A questo punto abbiamo il valore della temperatura, che, ad esempio, possiamo mostrare in un HMI (come spiegato nell’articolo Configurare un HMI ). In particolare aggiungiamo un HMI Siemens KTP400 Basic. Per farlo cliccare su “Add new device”

E sullo screen_1 aggiungiamo solo il campo di testo Scaled_temperatura, preso dal DB_Dati_Ingressi. Attenzione al formato, che qui abbiamo scelto come s999.99 (quindi un numero di tre cifre con due decimali e il segno)

Per aggiungere l’unità di misura di deve andare alla voce “Appearance”:

Infine, se non è stato già fatto, va configurata la rete e la connessione tra il PLC e l’HMI. Per farlo, si deve andare alla voce della ramificazione principale: “Devices and network”

Simulazione

In mancanza di un PLC vero, passiamo alla simulazione. Avviamo la simulazione sia del PLC che dell’HMI come spiegato nell’articolo Simulare un progetto per il PLC su TIA Portal

Per simulare un ingresso nel simulatore, si possono usare le “Force tables”. Nella “tabella di forzatura” è possibile forzare un valore di ingresso.

Per aprire una tabella di forzatura selezionare “Force tables” dalla ramificazione e poi inserire la variabile che si vuole forzare (nel nostro caso “ST_Sensore_temp”)

Si deve inserire un valore “forzato” nel campo “Force value” (noi abbiamo messo 2000) e poi si deve cliccare sull’icona degli occhiali con la freccia verde

Infine si deve cliccare sulla F rossa e la freccia verde per applicare la forzatura. Comparirà una F rossa a sinistra dal valore forzato:

Nel programma in corrispondenza dell’ingresso apparirà ancora una F rossa e il valore impostato:

E nel simulatore dell’HMI, apparirà il valore della temperatura calcolato




Configurare un HMI

Un HMI (Human-Machine Interface) è un’interfaccia uomo-macchina, ovvero un dispositivo o un software che permette agli operatori di interagire con una macchina, un impianto industriale o un sistema automatizzato.

Aggiungiamolo al progetto Trasferire un programma al PLC relativo a due nastri trasportatori in serie.

Selezioniamo un HMI come da figura che corrisponde ad un modello realmente collegato al PLC fisico.

Si aprirà una finestra per la configurazione guidata del display.

Noi preferiamo configurare tutto a mano, quindi decidiamo di cliccare su Cancel

Comparirà un avviso che indica che l’HMI è stato aggiunto ugualmente:

E si aggiungerà una ramificazione dedicata all’HMI:

Configurazione delle variabili dell’HMI

Per prima cosa bisogna preparare le variabili da associare agli elementi che saranno presenti sul display. Per farlo si deve aggiungere un nuovo blocco tramite la funzione “Add new block” presente nella ramificazione dei programmi del PLC

il blocco sarà di tipo Data block e lo chiameremo HMI_variabili

Nel blocco elenchiamo le variabili che corrispondono alle funzioni che vogliamo inserire (START, STOP e le lampade di segnalazione dello stato dei motori):

Successivamente si aggiungono le nuove variabili al programma esistente. Ad esempio, si aggiungerà lo START appena creato in parallelo al pulsante di START fisico

Per inserire le variabili la cosa migliore e trascinarle dalla finestra “Details view” posto in basso a sinistra dell’ambiente di programmazione

Si inseriscono anche le lampade di segnalazione, ancora una volta in parallelo a quelle fisiche già configurate:

Il Layout dell’HMI

Ora, si seleziona la schermata dell’HMI, per aggiungere gli elementi.

Per farlo si va sulla linguetta “Libreries” sulla sinistra e si seleziona la voce “Master copies”->FunctionButton->Round.

Qui ci sono a disposizione molti pulsanti, che contengono un’icona: si seleziona quella con l’icona del Play per lo START 

E quella con l’icona dello STOP per, appunto, il pulsante di STOP

Successivamente si selezionano le “PilotLights” per le spie relative allo stato del motore

E si aggiunge un testo per completare la descrizione:

Ora vanno configurati i pulsanti. Per farlo si clicca sul singolo pulsante e, nella finestra sottostante, su Proprieties e poi Events. 

Per ogni evento va inserita la funzione che si desidera adottare:

In particolare, all’evento Press, si seleziona la funzione Edit bits->SetBit per settare la variabile associata al pulsante al valore “1”:

All’evento Release si associa la funzione Reset Bit e poi sul tag si trascina la variabile associata al pulsante

La stessa cosa si farà per il pulsante di STOP

Configurazione delle spie

In maniera analoga si configurano le spie. In particolare si selezionano, e, nella scheda “Proprieties” e poi General, si inserisce, nel campo TAG, la variabile di uscita che corrisponde alla spia selezionata:

Infine si compila e si simula come visto nell’articolo Simulare un progetto per il PLC su TIA Portal

La simulazione

A questo punto, volendo, si può procedere alla simulazione e poi alla trasmissione del programma al PLC fisico. per farlo si può seguire la procedura descritta nell’articolo Simulare un progetto per il PLC su TIA Portal avviando la simulazione sia del PLC che dell’HMI

Per simulare, in alternativa a quanto descritto nell’articolo citato, si può usare, per forzare le variabili, una tabella nella sezione del PLC “Watch and force tables”. In questa sezione è possibile configurare le variabili che si intendono forzare. Nel nostro caso ci interessano le variabili che sono collegate con un contatto NC negli ingressi del PLC:

Per forzare le variabili si clicchi con il tasto destro del mouse e si selezioni la voce “Force to 1”

Il display è pronto per essere usato:

Trasmissione all’HMI vero

Se cliccando sui pulsanti di START e STOP si ha il comportamento atteso per le luci virtuali e quelle del programma, si può procedere alla trasmissione al PLC e HMI vero. Prima però va configurata la rete dell’HMI.

Per farlo, come descritto nell’articolo Trasferire un programma al PLC si va sulla sezione “Devices and Network”, si seleziona la rete dell’HMI e si configura con i parametri del dispositivo fisico:

Successivamente si chiude il simulatore, si compila, e si clicca “Go online” per testare il collegamento con il PLC vero, prima di trasferire il programma. 




Simulare un progetto per il PLC su TIA Portal

Una volta compilato il progetto e controllato la correttezza formale, bisogna controllare che anche la logica è corretta.

Proviamo a simulare un progetto. Ad esempio quello realizzato nell’articolo Hello World: Accendere una lampada con un PLC

Avviare la simulazione

Per avviare la simulazione, dalla vista progetto, si deve selezionare il PLC dalla ramificazione e poi, in alto l’icona a forma di monitor:

Questa operazione avvierà il simulatore (PLCSIM) installato nel PC. Il simulatore infatti è un programma a parte che si collega con il TIA Portal.

Il TIA Portal si collegherà con il simulatore e trasferirà il programma, proprio come accade con un PLC vero.

Per questo motivo, appena avviato il simulatore, potrebbe comparire un messaggio di alert come il seguente, che chiede conferma sull’affidabilità della connessione.

Cliccare su OK nella finestra “Enable Simulation Support”

E confermare anche il messaggio che l’apertura del simulatore disabilita ogni altra interfaccia online collegata al TIA Portal:

Infine cliccare su “consider as trasted and…” per confermare l’affidabilità del collegamento con il simulatore:

Durante il caricamento del programma, il TIA Portal chiede conferma che si voglia caricare tutto oppure solo una parte di programma:

Infine, l’ultima schermata, chiede cosa deve fare il simulatore dopo aver terminato il caricamento. In questo caso selezionare “Start module” e cliccare sul tasto “Finish”. Questo imposterà il simulatore in stato di RUN:

Il quadratino in corrispondenza della voce RUN/STOP del simulatore si colorerà di verde:

Per controllare il flusso del programma in tempo reale, è necessario posizionarsi sulla pagina del programma (Main) e cliccare in alto l’icona della freccia con gli occhiali:

ANche in questo caso è richiesta la conferma della comunicazione, quindi, nel messaggio successivo, si clicchi su “consider as trusted and m…” per accettare di nuovo la comunicazione

Il ladder si colora di verde ad indicare il “flusso” del programma (un po’ come se fosse il flusso di corrente). Come è possibile vedere il flusso si interrompe in corrispondenza del contatto aperto START.

E’ necessario trovare il modo per commutare i contatti, ovvero indicare, per ogni contatto che il bit corrispondente vale 1 o 0.

Per farlo  è necessario cliccare sull’icona a forma di quadratino bianco in alto a destra del PLCSIM. Appena cliccato, il simulatore cambia forma e si apre a tutto schermo: sarà il nostro ambiente per modificare i valori del simulatore

DI seguito la schermata ingrandita del simulatore. Per tornare alla forma iniziale del PLCSIM si può cliccare di nuovo sull’icona a forma di quadratino bianco in alto al centro della schermata del simulatore:

Se invece si vuole provare a modificare i valori dei contatti del progetto che si vuole simulare si clicchi sull’icona in alto a sinistra “New Project”. Si apre una schermata in cui è possibile dare il nome al progetto di simulazione. Spesso non è necessario salvare il progetto di simulazione quindi possiamo lasciare il nome proposto e cliccare su “create”:

Successivamente si espande il pannello di sinistra (Project tree) e si clicca sulla voce SIM Tables e poi SIM tables_1

Qui possiamo inserire le nostre variabili di progetto ovvero i contatti relativi agli ingressi e alle uscite.

Per importare le variabili dal progetto del TIA portal, si deve cliccare sull’icona a forma di etichetta viola presente nella barra in alto

In questo modo tutte le variabili sono state importate. Cliccando sulle singole variabili, in basso comparirà un pulsante con il nome della variabile stessa.

Prima di simulare il comportamento dei pulsanti, però, è necessario impostare il bit dell’ingresso dello STOP a 1, in quanto lo STOP è collegato con un contatto Normalmente Chiuso, quindi all’ingresso arriva la corrente quando il pulsante è a riposo.

Per settare il bit ad uno si clicca sulla checkbox della colonna Bits in corrispondenza dell’ingresso STOP in modo da inserire la spunta blu

Se torniamo sul TIA Portal e osserviamo i network, vedremo che il contatto NA dello STOP si è colorato di verde e quindi farebbe passare un ipotetico flussso:

Tornando sul progetto di simulazione e selezionando la voce START e cliccando in basso nel pulsante, si potrà osservare che nel programma il flusso passa attraverso il contatto dello START, poi in quello dello STOP e attiva di conseguenza il merker K1

il merker K1 attivato, a sua volta attiva nel network 2 l’uscita della lampadina HL_1, come è possibile vedere nel TIA Portal (linee tutte verdi)

spostandoci, nel simulatore, sulla linea dello stop e cliccando sul pulsante in basso, possiamo controllare che la l’uscita della lampadina si disattiva:

La simulazione è terminata con esito positivo.

Non è necessario salvare il progetto di simulazione, quindi si può chiudere il PLCSIM (o rimpicciolirlo) senza salvare il progetto

Se si è chiuso il simulatore, il TIA Portal potrebbe segnalare la mancanza di collegamento. In questo caso si clicca sull’icona Go offline (in alto nella barra degli strumenti) per scollegare il programma con il simulatore (oramai chiuso):

La simulazione ha avuto esito positivo. A questo punto è possibile trasferire il programma sul PLC vero.