Terminali e Linguaggi di Programmazione
Terminali e linguaggi di programmazione
Il PLC svolge le funzioni di gestione e controllo delle macchine e/o dei sistemi macchine ai quali è collegato.
Il programma applicativo viene costruito dall’operatore sulla base di un set istruzioni.
Le istruzioni non utilizzano il linguaggio naturale, ma linguaggi simbolici facilmente traducibili nel codice binario, sulla base del quale funziona il PLC.
Il terminale di programmazione è lo strumento che consente sia l’introduzione del programma applicativo, sia le operazioni di monitoraggio e diagnostica del programma applicativo e del PLC.
Ed è attraverso il terminale di programmazione che avviene la comunicazione tra l’operatore e il PLC.
Terminali di programmazione
Di tutte le unità periferiche in comunicazione con il PLC, il terminale di programmazione è quella più importante.
Dal punto di vista dell’hardware la parte visibile dall’utente è a sua volta composta da due parti: il visualizzatore e la tastiera.
Il compito principale del terminale di programmazione è quello di trasformare i dati introdotti dall’operatore tramite la tastiera in segnali codificati da inviare all’unità centrale.
Sul visualizzatore compaiono i dati che l’utente introduce nel terminale, affinché questi possa verificarne la correttezza.
Esistono tre tipi di tastiere (keyboard) per la programmazione:
- Tastiera dedicata: ad ogni tasto è associata una funzione precisa
Ad esempio:
Timer: funzione di temporizzazione |
|
Counter: funzione di conteggio |
- Tastiera alfanumerica: i tasti rappresentano numeri, lettere e caratteri speciali come nella tastiera dei computer.
- Tastiera alfanumerica più tasti dedicati costituita dalla composizione delle due precedenti.
I visualizzatori sono di due tipi:
- Display a 7 segmenti (sia a led che a cristalli liquidi) che visualizza, tramite led, i dati immessi o quelli richiesti.
- Video da 5, 9, 12 o 14 pollici nei formati C.R.T. (Cathode Ray Tube) a oppure a cristalli liquidi.
Le possibili combinazioni tastiera – visualizzatore danno origine a diverse strutture hardware di terminali di programmazione.
- Terminali di programmazione tascabili (pocket o hand held) o miniprogrammatori:
Essi vengono normalmente impiegati con i PLC di piccola potenza che dispongono di un numero limitato di funzioni. La tastiera è perciò costituita dai soli tasti che permettono di richiamare quelle funzionalità che la CPU è in grado di gestire.
Il visualizzatore è a display.
Questi terminali di programmazione devono le loro dimensioni fisiche ridotte anche al fatto che normalmente non dispongono di un dispositivo hardware intelligente all’interno (unità centrale), ma si appoggiano direttamente all’unità centrale del PLC.
Il loro costo è ridotto rispetto a quello degli altri terminali.
- Terminali di programmazione dedicati:
Sono terminali in grado di programmare un’intera “famiglia” di PLC, o tutti i modelli di PLC di un determinato costruttore.
Generalmente questo tipo di terminale viene utilizzato con PLC di media e alta potenza di elaborazione.
I terminali di programmazione dedicati utilizzano, come visualizzatore, un video da 5 a 14 pollici, costituito da un tubo a raggi catodici (C.R.T. Terminal: Cathode Ray Tube Terminal), o più raramente da video a cristalli liquidi.
La tastiera utilizzata è alfanumerica più tasti dedicati.
I terminali dedicati dispongono di un dispositivo ausiliario (lettore di floppy disk e più raramente registratore a cassette) che permette la registrazione o il caricamento dei programmi.
Questi terminali dispongono generalmente di una intelligenza interna, che permette di operare in modo autonomo rispetto al PLC.
Tutti i componenti che compongono questi terminali vengono protetti (carrozzati), con un rivestimento che ne permette il trasporto e l’utilizzo nell’ambito d’officina.
Date le dimensioni e la struttura i terminali di programmazione dedicati sono anche conosciuti come valigie di programmazione.
- Terminali di programmazione PC (Personal Computer):
La continua evoluzione del software ha consentito l’uso del Personal Computer come strumento di programmazione del PLC.
Il personal computer è uno strumento di programmazione flessibile perché può integrare al suo interno software diversi. Infatti il PC possiede una memoria di massa su hard disk che consente la conservazione dei software di programmazione e dei programmi applicativi del PLC.
Questa evoluzione ha portato notevoli vantaggi economici e tecnici rispetto all’uso di terminali dedicati. Infatti un PC costa dal 50 al 75% in meno rispetto a un terminale dedicato.
I personal computer utilizzati come terminali di programmazione vengono a volte carrozzati per l’officina dai costruttori di PLC.
Al fine di consentire l’utilizzo del personal computer come terminale di programmazione anche agli operatori che non possiedono competenze di tipo informatico, i software di programmazione normalmente sono visualizzati sul modello di visualizzazione dei terminali dedicati.
Caratteristiche di funzionamento
I terminali di programmazione possono operare con il PLC attraverso modalità on – line oppure off – line.
- Nel caso on – line il terminale di programmazione è collegato e comunica con il PLC direttamente.
- Nel caso off – line il terminale di programmazione non dialoga direttamente con il PLC e il passaggio di informazioni avviene in modo asincrono.
Questo secondo sistema offre il vantaggio di poter creare e modificare programmi applicativi senza interrompere il lavoro del PLC: il nuovo programma, infatti, potrà essere inserito durante una fermata programmata.
Una funzione importante, svolta dai terminali di programmazione, è quella di ausilio diagnostico per la manutenzione degli impianti.
Infatti il terminale di programmazione permette il monitoraggio del processo in tempo reale, importante per la ricerca dei guasti e per la messa in funzione di nuovi macchinari.
I linguaggi di programmazione
Programmare un PLC significa immettere nella memoria una successione di istruzioni che gli permettano di eseguire un determinato compito.
Poiché la macchina comprende esclusivamente informazioni espresse in codice binario, occorre tradurre le istruzioni espresse in linguaggio naturale in linguaggi simbolici facilmente codificabili (per l’utente) i quali saranno poi tradotti dal sistema operativo in codici binari (per la macchina).
I linguaggi simbolici più usati nella programmazione del PLC sono:
- a contatti (simbologia a relè)
- a simboli logici
- a lista di istruzioni
- a blocchi sequenziali (diagramma di flusso)
Il linguaggio a contatti, chiamato anche ladder (scala) per la configurazione scalare degli schemi, è nato insieme al PLC per rendere fruibile all’utente una logica ancora sconosciuta nella maggior parte dei casi, quella programmabile, traducendola in una logica nota, quella dei cablaggi e dei contatti elettromeccanici.
Il fatto che la simbologia del linguaggio a contatti riproduca lo schema “funzionale” della logica elettromeccanica, consente all’operatore, abituato a operare su quei circuiti, di continuare a ragionare in termini di contatti aperti o chiusi, posti in serie o in parallelo e collegati in modo da provocare l’eccitazione di una bobina.
In realtà nell’unità centrale del PLC non esistono né contatti né bobine, e quindi lo schema è puramente virtuale, rappresentativo della logica di programmazione memorizzata nel PLC.
La struttura dello schema a contatti è data da due linee verticali, poste alle estremità del circuito, tra le quali si inseriscono dei blocchi logici (contatti) e funzionali (es.: temporizzatori, contatori, ecc…).
Il linguaggio a simboli logici è concettualmente simile a quello a contatti, ma al posto di questi utilizza le porte logiche (AND, OR, NOT, ecc.) collegate in serie o in parallelo a formare le funzioni di aggregazione sui diversi ingressi.
Lo schema a simboli logici rappresenta lo stesso fenomeno, marcia/arresto di un motore rappresentato nello schema precedente a contatti.
Nel linguaggio a lista di istruzioni le operazioni, che nel linguaggio a contatti e in quello a simboli logici vengono rappresentate mediante segni codificati, sono espresse con una serie di istruzioni alfanumeriche.
La lista di istruzioni è un linguaggio di tipo booleano abbastanza complesso, tanto che, nei casi in cui il programmatore realizza la prima stesura in listato di istruzioni, è spesso necessario tradurre il tutto in simboli grafici a contatti o a porte logiche.
Il listato di istruzioni della figura seguente è la trascrizione booleana dei due schemi a contatti e a simboli logici. Strutturalmente esso è composto da una prima colonna con gli indirizzi dei singoli passi del programma, da una seconda colonna con le abbreviazioni dei codici operativi e da una terza colonna con i parametri in gioco, espressi solitamente in forma numerica.
Le abbreviazioni mnemoniche dipendono dalla lingua del costruttore del PLC (quelle dell’esempio illustrato in figura sono in tedesco).
Espresso sotto forma di equazione booleana il blocco logico si presenta in questo modo:
Nel linguaggio a blocchi sequenziali il funzionamento di un automatismo può essere interamente schematizzato mediante una rappresentazione a blocchi sequenziali.
Lo schema a blocchi che ha trovato applicazione anche come linguaggio di programmazione dei PLC è il Grafcet.
Graficamente, il Grafcet si compone di una simbologia a segni geometrici e di una simbologia alfanumerica. La sintassi del Grafcet prevede la successione di una fase, più una transizione, più una fase, e via di questo passo.
Vista sotto il profilo del PLC, ogni transizione si compone di uno o più ingressi, i quali rappresentano la condizione, soddisfatta la quale, si determina in uscita un segnale per l’attuazione della o delle fasi successive.
II Grafcet si può realizzare a due livelli: nel primo è prevista una semplice rappresentazione funzionale dell’automatismo, nel secondo livello le transizioni e le fasi vengono correlate, le prime ai rispettivi sensori, comandi, consensi, ecc.; le seconde ai rispettivi motori, segnali, elettrovalvole, ecc… Il tutto definito con i codici di ingresso, d’uscita e di funzione.
Nella scelta di un PLC è molto importante tenere in considerazione la tipologia del linguaggio di programmazione di cui è dotato in relazione al personale che dovrà poi utilizzarlo nell’ambiente d’officina.
Allo stato attuale le potenzialità di programmazione dei PLC risultano decisamente elevate, specialmente in quelli appartenenti alla fascia medio – alta. Per cui al manutentore come al tecnico (in possesso delle nozioni elettromeccaniche), necessitano conoscenze prettamente informatiche e talvolta anche elettroniche se si desidera sfruttare appieno le potenzialità offerte dal PLC.
Il dialogo uomo – macchina
La comunicazione tra l’operatore e il PLC è basata sul programma applicativo, realizzato dall’operatore sulla base del set di istruzioni. Una volta introdotto il programma però, l’operatore può svolgere una serie di altre operazioni finalizzate alla diagnostica, al monitoraggio e ad alcune altre funzioni collaterali quali: trasferimento del programma, stampa, creazione della documentazione.
Monitoraggio
Questa videata rappresenta quello che appare sul terminale di programmazione di un PLC quando l’operatore vuole controllare se la funzione di trasferimento dati verso il modulo Basic è abilitata.
L’istruzione contenuta nel box BTW è quella che effettua il trasferimento. Le istruzioni: contatto aperto 1:000/04 e contatto chiuso B3/1 sono quelle che abilitano o meno il trasferimento (BTW).
Se la bobina (EN) è illuminata,o evidenziata con colori, la funzione è abilitata. La bobina (DN) illuminata, o evidenziata, indica l’avvenuto trasferimento dei dati. La bobina (ER) illuminata indica la presenza di un errore.
Nella parte inferiore della videata è presente una istruzione di movimento dati.
Diagnostica
In presenza di una fermata della macchina, a causa per esempio del mancato avviamento del motore del nastro trasportatore, l’operatore richiede al terminale di programmazione di visualizzare la rete logica che gestisce il motore interessato. Per poter meglio diagnosticare le cause l’operatore richiede anche di visualizzare i commenti associati alle istruzioni.
Questa videata rappresenta il circuito semplificato per l’avvio e l’arresto del motore del nastro trasportatore.
Il contatto I:000/00 rappresenta l’avvio del motore.
II contatto I:000/01 rappresenta l’arresto del motore.
Il contatto I:000/02 rappresenta la sicurezza magnetotermica del motore.
La bobina O:001/00 rappresenta l’alimentazione del motore.
L’illuminazione o evidenziazione colorata di uno o più contatti o della bobina consente di individuare i motivi del mancato avviamento del motore.
La tabella seguente rappresenta alcuni dei casi che si possono presentare:
CASI |
CONTATTO I:000/00 |
CONTATTO I:000/01 |
CONTATTO I:000/02 |
BOBINA O:001/00 |
POSSIBILE CAUSA |
1 |
Illuminato |
Illuminato |
Illuminato |
Illuminato |
Bobina MT1 del motore guasto |
2 |
Illuminato |
Illuminato |
Non illuminato |
Non illuminato |
Magnetotermico scattato |
3 |
Non illuminato |
Illuminato |
Illuminato |
Non illuminato |
L’avvio motore non oppure il pulsante è |
Se l’operatore ha verificato che il pulsante è scollegato o rotto (caso 3) e non può sostituire il componente può mettere in atto una ulteriore procedura: la forzatura del dato.
Forzatura dato
Forzare un dato significa fargli assumere un valore logico diverso da quello previsto dal programma.
In questo caso l’operatore, tramite la funzione di forzatura (FORCE) fa assumere 1 logico al contatto I:000/00 in modo da consentire l’avvio del motore.
Commento all'articolo