L’alfabeto del PLC – PLC Siemens 1200 – Lezione 1

(ultima modifica: 06.04.2021)

Così come feci diversi anni fa con Arduino con l’Alfabeto di Arduino, voglio iniziare una nuova avventura con i PLC iniziando a condividere con voi i molti appunti che negli anni ho prodotto sull’uso dei del PLC, nello specifico PLC Siemens 1200 e Siemens LOGO8! Per entrambi ne mostrerò passo passo l’utilizzo allegandone esercizi e sperimentazioni. Come sicuramente saprete le dotazioni per un laboratorio di Automazione scolastico richiedono investimenti importanti, pertanto per far si che questi appunti siano fruibili da tutti tenderò a svolgere esercizi e spiegazioni che potranno essere svolti da chiunque senza avere grandi dotazioni tecnologiche e quindi mantenendo contenute le spese. Suggerirò kit specifici o elementi che potranno essere autocostruiti in qualsiasi laboratorio di meccanica ed elettronica dell’ITIS. Questi appunti subiranno sicuramente modifiche e correzioni che potranno essere svolte anche in fase successiva alla scrittura del documento, pertanto per rendere più evidente l’aggiornamento della lezione aggiungerò in testa al documento la data che mostra l’ultima modifica effettuata. Queste lezioni sono derivate dalle sperimentazioni mie e dei miei studenti, basandosi sulla vasta documentazione messa disposizione da Siemens, documentazione che è stata rivista e sintetizzata e resa compatibile con i percorsi didattici svolti negli istituti tecnici ad indirizzo elettronico e automazione che devono essere inseriti all’interno dei programmi di Sistemi e TPSEE. Troverete una vasta disponibilità di corsi e libri fatti molto bene, soprattutto i Webinar svolti da Siemens, molto spesso però sono corsi pensati per professionisti o insegnanti che io stesso ho seguito, sono svolti da professionisti del settore molto preparati in cui però molto spesso non viene tenuto in conto l’approccio didattico che bisogna avere con ragazzi delle scuole superiori, pertanto è indispensabile una rimodulazione dei contenuti per poi poterli presentare adeguatamente. Sicuramente se state iniziando questo percorso di studio, indispensabile partire dai numerosi Webinar di Siemens SCE Italia, da cui sicuramente potrete imparare moltissimo. Gli appunti che scriverò avranno la struttura di un manuale che potrete ovviamente migliorare, espandere e condividere. Se siete lettori di questo blog, avrete sicuramente notato che  preferisco il testo scritto al video, un po’ perché riesco ad essere più celere nella sistemazione degli appunti che realizzo per i miei studenti ed un po’ perché il testo scritto mi aiuta a pensare e migliorare l’azione didattica in presenza. Come sempre non posso assicurare una periodicità costante, perché in primis dovrò pensare alle lezioni a scuola e costruire slide ed esercizi per gli studenti, ma sicuramente produrrò lezioni più lunghe e strutturate che pubblicherò su queste pagine. Le lezioni possono essere seguite da chiunque, non saranno necessarie competenze elevate di informatica ed elettronica, dove necessario integrerò con semplici spiegazioni. Chiedendovi grande pazienza e comprensione per eventuali sviste e correzioni, vi auguro buona lettura 🙂

Cos’è un PLC e perché viene utilizzato
Cosa significa PLC?

PLC è la sigla di Programmable Logic Controller (controllore a logica programmabile). Questo termine descrive un dispositivo che comanda un processo (ad es. una macchina per la stampa di giornali, un impianto per il riempimento di sacchi di cemento, una pressa per pezzi stampati in plastica ecc… ).

Il PLC esegue un programma ed elabora i segnali digitali ed analogici provenienti da sensori e diretti agli attuatori presenti in un impianto industriale.

Si tratta di un oggetto hardware componibile. La caratteristica principale è la sua robustezza estrema; infatti normalmente è posto in quadri elettrici in ambienti rumorosi, con molte interferenze elettriche, con temperature elevate o con grande umidità. In certi casi il PLC è in funzione 24 ore su 24, per 365 giorni all’anno, su impianti che non possono fermarsi mai.

La struttura del PLC viene adattata in base al processo da automatizzare. Durante la progettazione del sistema di controllo, vengono scelte le schede adatte alle grandezze elettriche in gioco. Le varie schede vengono quindi inserite sul BUS o rack del PLC.

Il PLC funziona seguendo le istruzioni di un programma contenuto in una memoria del dispositivo.

Come il PLC comanda il processo di lavoro?

Il PLC comanda il processo di lavoro nel modo seguente:

gli attuatori vengono collegati con una tensione di comando – ad es. a 24V – dalle connessioni del PLC chiamate uscite. In questo modo è possibile accendere e spegnere un motore, aprire e chiudere una valvola o accendere e spegnere una lampada.

Il PLC da dove riceve le informazioni sugli stati del processo?

Il PLC riceve le informazioni sul processo dai cosiddetti datori di segnale (i dispositivi collegati in input), che sono cablati con gli ingressi del PLC. Questi datori di segnale possono essere ad es. sensori che riconoscono se un pezzo si trova in una determinata posizione o anche semplici interruttori o tasti che possono essere aperti o chiusi. Inoltre essi si distinguono in contatti normalmente chiusi, che a riposo sono chiusi, e contatti normalmente aperti, che a riposo sono aperti.

Qual è la differenza tra contatti normalmente aperti e normalmente chiusi?

I datori di segnale (apparati di input al PLC) si suddividono in contatti normalmente aperti e contatti normalmente chiusi.
L’interruttore indicato di seguito è un contatto normalmente aperto, ovvero che si chiude esattamente quando viene azionato.

Dati digitali memorizzati in bit, byte, parole – richiami.

L’unità minima di informazione utilizzata nei sistemi digitali è il bit (“binary digit”). Un bit memorizza può esprimere due soli stati: “0” (falso o non vero) o “1” (vero).

Un esempio di sistema “binario” che può assumere due soli stati è l’interruttore della luce, che determina lo stato “luce accesa” o “luce spenta”, il cui “valore” è memorizzabile in un bit. Il valore digitale dell’interruttore risponde alla domanda: “La luce è accesa?” Se è accesa (“vero”) il valore è 1, se è spenta (“falso”) il valore è 0.

La CPU organizza i bit di dati in gruppi. Un gruppo di 8 bit viene chiamato byte . Ogni bit del gruppo è definito da una posizione con un proprio indirizzo e ha un indirizzo di byte e indirizzi di bit da 0 a 7.

Un gruppo di 2 byte è chiamato parola (word). Un gruppo di 4 byte è una doppia parola (double word).

Per i numeri si utilizza il sistema binario (base 2). Una parola può rappresentare un numero compreso tra -32768 e +32767. Il bit con valore 215 viene utilizzato per denotare un numero negativo (se la posizione 215 ha valore “1” il numero è negativo).

Nota
La CPU supporta inoltre gruppi di 8 byte che formano un tipo di dati “long real” (numero reale lungo) (LReal) per la memorizzazione di valori molto grandi o molto precisi. Il campo del tipo di dati LReal va da +/-2,23 x 10-308 a +/-1,79 x 10308

In che modo il SIMATIC S7-1200 indirizza i singoli segnali di ingresso/uscita?

L’indicazione di un determinato ingresso o di una determinata uscita all’interno del programma è definita indirizzamento.

Gli ingressi e le uscite dei PLC sono per in genere riuniti in gruppi di 8 su unità di ingressi o di uscite digitali. Questi ottetti sono definiti byte. A ciascun gruppo di questo tipo viene assegnato un numero, il cosiddetto indirizzo a byte.
Per indirizzare i singoli ingressi e uscite all’interno di un byte ogni byte viene suddiviso in otto singoli bit numerati dal bit 0 al bit 7. In questo modo si ottiene l’indirizzo a bit.

Il PLC rappresentato di seguito ha i byte di ingresso 0 e 1 e i byte di uscita 0 e 1.

Esempio

Per indirizzare ad es. il quinto ingresso digitale, occorre indicare l’indirizzo seguente:

%I 0.4

%I identifica che l’indirizzo è di tipo ingresso

0 è l’indirizzo del byte

4 è l’indirizzo del bit.

Indirizzo a byte e indirizzo a bit sono sempre separati da un punto.

ATTENZIONE: per l’indirizzo al bit, il quinto ingresso è indicato 4 perché si inizia a contare da 0.

Esempio

Per indirizzare ad es. la decima uscita, occorre indicare l’indirizzo seguente:

%Q 1.1

%Q identifica che l’indirizzo è di tipo uscita

1 è l’indirizzo del byte

1 è l’indirizzo del bit.

ATTENZIONE: per l’indirizzo al bit, la decima uscita è indicata con 1 perché si inizia a contare da 0.

Come si realizzano le combinazioni logiche nel programma del PLC?

Le combinazioni logiche vengono utilizzate per definire le condizioni di attivazione di un’uscita.
Nel programma del PLC le istruzioni si possono creare con i linguaggi di programmazione come ad esempio: schema a contatti (KOP) o schema funzionale (FUP) o altri indicati di seguito.

Linguaggi di programmazione per PLC

La programmazione dei PLC può essere effettuata con diversi linguaggi di programmazione. Il primo linguaggio di programmazione prevedeva la diretta trascrizione di uno schema funzionale di un circuito di comando cablato con un approccio assolutamente elettrotecnico. Nel tempo le case costruttrici di PLC hanno introdotto terminologie ed ambienti di sviluppo diversi.

Le norme IEC 1131 definiscono quali sono i linguaggi utilizzati nella programmazione dei PLC.

Tutte le CPU dei PLC possono essere programmate nei linguaggi base LADDER (KOP in ambiente Siemens), FUP e IL (AWL in ambiente Siemens).

  • LADDER Diagram
    conosciuto anche come linguaggio a contatti (KOP in ambiente Siemens), è tra i linguaggi grafici più utilizzati.
  • Instruction List o Lista di Istruzioni (AWL in ambiente Siemens)
    è un linguaggio di programmazione testuale vicino al linguaggio macchina, ricorda l’Assembler, è più adatto ai programmatori esperti, a volte l’AWL consente di risolvere problemi difficilmente risolvibili con gli editor KOP e FUP.
  • FUP – Schema a blocchi funzionali (FB in ambiente Siemens)
    è un linguaggio a “porte logiche” che permette di disegnare uno schema classico dell’elettronica digitale. E’ molto usato nei sistemi di controllo dei grandi impianti di processo.
  • Sequential Function Chart (SFC) o Diagramma Funzionale Sequenziale, derivazione del GRAFCET in cui il funzionamento di un’automazione viene descritto in stati chiamati anche passi.
  • SCL, linguaggio ad altro livello che ricorda il linguaggio Pascal.

Di seguito uno mappa che descrive i vari linguaggi di programmazione, distinti per: testuali e grafici:

Rappresentazione del programma in LADDER

Di seguito un brevissima introduzione del linguaggio LADDER, in una lezione successiva ne farò i dovuti approfondimenti.

E’ tra i primi linguaggi di programmazione più utilizzati per PLC, ancora molto utilizzato con PLC della fascia mini e base ed è l’unico linguaggio comune a tutti i PLC attualmente in commercio. In fase iniziale questo linguaggio di programmazione simulava le logiche realizzate con i relè, ma negli anni sono stati introdotti blocchi funzionali in grado di realizzare operazioni di calcolo complesse.

Operatori LADDER principali

La parola BOBINA è di derivazione elettromeccanica e richiama la bobina di un relè, ma in LADDER non si intende la bobina del relè, ma con essa si vuole indicare una variabile digitali il cui valore/stato viene memorizzato in specifiche aree di memoria del PLC.

Con un PLC è possibile realizzare tutte le combinazioni logiche che si desidera vediamo di seguito gli operatori logici fondamentali.

Operatore logico AND

Una lampada deve accendersi quando due interruttori, normalmente aperti, vengono azionati contemporaneamente.

Tabella della verità

Logica cablata

Programma LADDER

La lampada si accende esattamente quando vengono azionati entrambi gli interruttori. Quindi quando gli interruttori S1 e S2 sono attivati la lampada P1 è accesa.

Combinazione logica AND in FUP

Nello schema funzionale FUP la combinazione logica AND si programma con un linguaggio grafico ed è rappresentata nel modo seguente:

Collegamento del PLC

Per applicare questa logica al programma di un PLC naturalmente entrambi gli interruttori devono essere cablati con gli ingressi del PLC. Qui S1 è cablato con l’ingresso I 0.0 e S2 con l’ingresso I 0.1. Inoltre, la lampada P1 deve essere collegata a un’uscita, ad es. Q 0.0.

Operatore logico OR

Una lampada deve accendersi quando uno o entrambi gli interruttori normalmenti aperti vengono azionati.

Tabella della verità

Logica cablata

(Nello schema M indica la Massa)

Programma LADDER

La lampada si accende esattamente quando uno o entrambi gli interruttori vengono azionati. Quindi quando viene azionato l’interruttore S1 o S2 la lampada P1 è accesa.

Combinazione logica OR in FUP

Nello schema funzionale FUP la combinazione logica OR si programma con un linguaggio grafico ed è rappresentata nel modo seguente:

Collegamento del PLC

Per applicare questa logica al programma di un PLC naturalmente entrambi gli interruttori devono essere cablati con gli ingressi del PLC. Qui S1 è cablato con l’ingresso I 0.0 e S2 con l’ingresso I 0.1. Inoltre, la lampada P1 deve essere collegata a un’uscita, ad es. Q 0.0.

Operatore NOT (negazione)

Nelle combinazioni logiche è spesso necessario verificare se un contatto normalmente aperto NON è azionato o se un contatto normalmente chiuso è azionato e quindi nell’ingresso corrispondente non passa la tensione.

Tabella della verità

Programma LADDER

Questa interrogazione è possibile programmando una negazione nell’ingresso della combinazione logica AND oppure OR.
Nello schema funzionale FUP la negazione di un ingresso in una combinazione logica AND si programma con la seguente rappresentazione grafica:

Viene applicata la tensione all’uscita %Q 0.0 esattamente quando %I 0.0 non è collegato e %I 0.1 è collegato.

Per completezza di seguito vengono rappresentate le funzioni logiche di base in linguaggio LADDER.

Operatore NOR

L’operazione può essere effettuata su due o più variabili di ingresso. Se chiamiamo con
I0.0 e I0.1 le variabili di ingresso e con Q0.0 la variabile di uscita, la somma logica negata assumerà lo stato logico 1 solo se tutte le variabili di ingresso sono allo stato 1, in tutti gli altri casi l’uscita assumerà il valore 1.

Tabella della verità

Programma LADDER

Operatore NAND

L’operazione può essere effettuata su due o più variabili di ingresso. Il prodotto logico negato NAND assumerà il valore 1 se tutte le variabili di ingresso assumeranno il valore 0, in tutti gli altri casi l’uscita assumerà il valore 1.

Tabella della verità

Programma LADDER

Operatore XOR

L’operazione può essere effettuata su due o più variabili di ingresso. l’OR esclusivo assumerà il valore 1 e solo se vi è almeno un ingresso che differisce dagli altri, mentre varrà 0 se tutti gli ingressi assumono lo stesso valore.

Tabella della verità

Programma LADDER

Operatore XNOR

L’operazione può essere effettuata su due o più variabili di ingresso. Il NOR esclusivo assumerà il valore 1 se e solo se tutti gli ingressi hanno il medesimo valore logico, è equivalente alla negazione della porta XOR.

Tabella della verità

Programma LADDER

Per approfondimenti sulle porte logiche seguire il link.

Nella prossima lezione verrà mostrata una descrizione generale degli ingressi e delle uscite del PLC Siemens S7-1200, come viene scritto ed eseguito un programma nel PLC, impostazione dell’interfaccia di TIA Portal e molto altro.

Buona Making a tutti 🙂

Questa voce è stata pubblicata in automazione e contrassegnata con , , , , , , , , . Contrassegna il permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.