Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

8
voti

PLC: Caratteristiche Software

Articolo n° 7 su 9 del corso "PLC - Controllori a logica programmabile". Vai all'indice del corso.

Paragrafi dell'articolo:

  1. Introduzione
  2. Tipi di Processori
  3. Set di Istruzioni
  4. La memoria del PLC
  5. Organizzazione interna dei Dati
  6. Il PLC in configurazione DEFAULT
  7. Indirizzamento

7.1 Introduzione
Come già accennato il PLC è un piccolo computer, del quale eredità le caratteristiche principali.
E quindi è dotato di un microprocessore, una memoria interna, un "sistema operativo", e di dispositivi di Input / Output.
Tipicamente i microprocessori dei PLC sono a 16 bit, e questo si riflette sulla struttura dei dati interna, come si potrà vedere in seguito.
Il set di istruzioni a disposizione di questi micoprocessori è generalmente molto vasto e potente, consentendo moltissime funzioni rispetto a quelle basilari usate per il controllo di un impianto elettrico.

7.2 Tipi di Processori
In linea generale tra i PLC si possono individuare due grandi famiglie :

  1. a) i PLC dotati di microprocessori multipurpose, e quindi liberamente reperibili sul mercato, non espressamente progettati per questa funzionalità;
  2. b) i PLC dotati di microprocessori custom, ossia progettati espressamente per essere integrati in un PLC e quindi per la gestione di un sistema elettrico di automazione.

La differenza tra i due mondi, in realtà è molto sottile, e tipicamente agli effetti pratici nel funzionamento non sortisce alcun effetto.
La prima soluzione comporta tipicamente un costo minore.
Nel secondo caso a fronte di un costo maggiore si hanno vantaggi notevoli in fase di programmazione, con istruzioni ottimizzate che fanno risparmiare tempo al programmatore e risorse di memoria nel PLC.

Questa seconda opzione è tipicamente seguita solo dalle grandi case produttrici, che possono permettersi di impiegare risorse per progettare un microprocessore adatto alle esigenze della loro clientela.

7.3 Set di Istruzioni
Come già accennato i microprocessori dei PLC sono dotati di un ampio Set di istruzioni.
A prescindere dal fatto che tra marche diverse si trovano istruzioni diverse, si è cercato di fare un elenco che riproponesse le istruzioni in modo generalizzato al fine di fare una prima distinzione esemplificativa.

Diciamo che il nostro PLC Dummy è dotato del seguente set di istruzioni, suddiviso per gruppi, in modo da separare le istruzioni per funzionali omogenee o per categorie.
All'interno di ogni gruppo, poi, si trovano altre sotto categorie.

Gruppo Tipi di istruzioni
A Istruzioni BASE per il controllo di circuiti elettrici
  • Istruzioni in logica di Boole come AND/OR su singoli bit
  • Istruzioni supplementari come Temporizzatori e Contaimpulsi
B Istruzioni per la Gestione del Programma
  • Gestione di Subroutine
  • Istruzioni di salto, Interrupt, ecc.
C Istruzioni per la Manipolazione di Dati
  • Istruzioni per lo spostamento dei dati nella memoria,
  • Calcoli Booleani su Byte, word,
  • Operazioni di Confronto tra dati
  • ecc.
D Istruzioni per la Manipolazione di Dati Numerici
  • Calcoli Matematici di Base,
  • Scalatura di Variabili e Unita di Misura,
  • Calcoli Scientifici
  • ecc.
E Istruzioni per la Manipolazione di Dati Alfanumerici (stringhe)
F Istruzioni per la gestione delle comunicazioni
G Istruzioni per il controllo di variabili nei processi (PID)



Tipicamente le istruzioni del gruppo "A" sono sempre utilizzate, mentre per le istruzioni degli altri gruppi dipende dalla complessità dell'applicazione.


7.4 La memoria del PLC

7.4.1 Memoria Statica
Nei PLC di prima concezione la memoria era di tipo Statico, quindi all'utente erano assegnate delle aree "preconfezionate" con quantitativi fissi di dati memorizzabili all'interno, e che non potevano essere cambiati in alcun modo.
La memoria era rigidamente divisa tra dati e programmi ed anche tra tipi diversi di dati.
Un sistema di questo tipo non permette di personalizzare la memoria a seconda dell'applicazione, e soprattutto accadeva spesso che molte aree dati restavano inutilizzate a scapito di altre aree che avevano la necessità di ampliamento.
Anche il programma, sebbene potesse venir suddiviso in subroutine, in realtà appariva come un unica sequenza di istruzioni, creando non poca confusione.

Per fare un paragone con l'ambiente PC, è un po' come se nel nostro PC tutti i documenti Word fossero concentrati in un unico file.
Un sistema del genere, anche se non influisce nel funzionamento del PLC, non permette una gestione efficiente e chiara dell'intero progetto.

Questo sistema è ancora ampiamente usato per piccoli PLC con applicazioni semplici e pochi ingressi e uscite da gestire, dove la gestione della memoria in un modo piuttosto che in un altro non influisce nel risultato.
Tipicamente si tratta di PLC monoblocco e/o non espandibili.

7.4.2 Memoria Dinamica
Nei PLC più moderni la memoria interna è di tipo Dinamico, e può essere considerata come un Hard Disk di un Personal Computer, con file di dati e file di programmi.
In fase di caricamento del software applicativo il PLC alloca dinamicamente la memoria a seconda delle risorse che sono richieste.
A parte certe aree di sistema, ed alcune aree preconfezionate al fine di facilitare la programmazione ai meno esperti, la memoria per il resto è liberamente configurabile.
Si possono decidere nuove aree dati, anche dello stesso tipo, ma usate da sottoprogrammi diversi ed in fasi diverse.
Ogni area dati può avere un nome, denominato Nome File, e tipicamente ogni area al suo interno può avere fino a 256 elementi.
Per i programmi valgono le stesse considerazioni, anche se non vi sono limiti al numero di istruzioni inseribili in ogni programma se non quelle dovute alla dimensione massima della memoria.
Tipicamente si possono creare fino a 256 sottoprogrammi.

Nota : consideriamo quindi che il nostro PLC "Dummy" sia dotato di memoria Dinamica.

7.5 Organizzazione interna dei Dati
I dati memorizzabili nei PLC possono essere di vario tipo, ma in realtà al loro interno si tratta sempre di informazioni Binarie.
Tale caratteristica è comunque invisibile al programmatore, che vede solo i dati nel formato da lui prescelto.

7.5.1 File di Input / Output
Dato che il PLC è un dispositivo che dialoga con l'esterno, vi saranno anche due file appositamente destinati a tale attività, relativa ai moduli di Ingresso e Uscita.
I dati di ingesso ed uscita sono infatti acquisiti dal microprocessore in momenti distinti dall'esecuzione del programma e conservati in questi due file detti anche File di Immagine degli Ingressi e File di Immagine delle Uscite.

nr. File Sigla File Tipo di Dati Composizone
0 O Uscite 1 bit per ogni segnale digitale

1 word per ogni segnale analogico

1 I ingressi (idem)


7.5.2
File di Sistema
In quest'area di memoria, di tipo statico e non facente parte delle aree programmabili, vi sono memorizzate la configurazione del PLC ed altri parametri necessari per il suo funzionamento.

nr. File Sigla File Tipo di Dati Composizone
2 S Registro di Sistema Dati di configurazione del PLC

La conoscenza di quest'area di memoria al programmatore è indispensabile in quanto in essa si trovano i bit di errore, le configurazione delle porte seriali e di programmazione, i bit di allarme e di overflow nei calcoli matematici.

Come già per altri casi si rimanda alla specifica documentazione del PLC.

7.5.3 File di Dati Interni
All'interno di ogni PLC vi sono dei file dati molto utili nella programmazione e che svolgono funzioni virtuali dei componenti usati nell'elettrotecnica, quali Temporizzatori, Contaimpulsi e Relé.
Naturalmente questi elementi cambiano a seconda del PLC utilizzato, ma sono quasi tutti presenti in tutti i modelli, anche se con nomi diversi.

Ipotizziamo quindi che il nostro PLC Dummy sia dotato dei seguenti File Dati :

nr. File Sigla File Tipo di Dati Composizone
3 B Bit * (oppure Bool) 1 File con 256 word = 4096 bit
4 T Timer (temporizzatori) 1 File = 256 timer
5 C Counter (Contatrori) 1 File = 256 Counter
7 N Numeri Interi (anche Integer) 1 File con 256 word = 256 dati N
8 F Floating - numero in virgola mobile (o anche Real) 1 File con 256 dati F
9 ST Stringhe ASCII (String) 1 File = 256 Stringhe di n caratteri


* Nota : i BIT sono tipicamente chiamati relé Interni.

File Speciali
Per alcune attività sono necessari dei file di dati strutturati in modo particolare, come ad esempio i file per gestire le comunicazioni o per la manipolazione di stringhe ASCII.
Dato che tali formati variano a seconda della marca, in fase di programmazione sara necessario approfondire se le istruzioni utilizzate fanno ricorso a file speciali.


7.6 Il PLC in configurazione DEFAULT
Come già accennato, anche nei PLC con memoria di tipo Dinamico si possono trovare delle aree di memoria preconfigurate.
Ciò è molto utile agli utenti meno esperti, e comuque tali aree sono quelle maggiormente usate per la stesura dei programmi.
Anche per la programmazione vi è un file già pronto, denominato o Main Program.
I restanti programmi sono configurabili liberamente in base alle proprie esigenza.


7.7 Indirizzamento
Una delle questioni di fondamentale importanza quando si approccia ad un PLC, anche per gli esperti programmatori, è quella che bisogna conoscere il modo di idirizzamento.
Con questo termine si intende la sintassi con la quale accedere ai dati durante la programmazione.
Il primo aspetto dell'indirizzamento da apprendere è quello degli Ingressi e delle Uscite.

Per fare un esempio utilizziamo il nostro PLC Dummy già preparato in precedenza :

0 1 2 3 4 5 6

CPU

16 in

Digitali

8 in

Digitali

16 Out

Digitali

8 Out

Digitali

8 In

Analog.

4 Out

Analog.

Segnali Digitali
Per i segnali di tipo digitale si trova la seguente sintassi :

  • I:1/3 segnale di ingresso 3 (bit) nel modulo 1
  • I:2.0 word di ingresso di tutti i bit del modulo 2
  • O:3/12 segnale di uscita 12 del modulo 3
  • O:4.0 word di uscita di tutti i bit del modulo 4

Segnali Analogici
I segnali analogici, che praticamente sono delle word, la sintassi potrebbe essere:

  • I:5.0 word dell'ingresso Analogico 0 nel modulo 5
  • I:5.7 word dell'ingresso Analogico 7 nel modulo 5
  • O:6.1 word dell'uscita Analogica 1 del Modulo 6

Nota : L'indirizzamento usato dalla norma IEC ha una sintassi similare a quella esposta, ma più complessa (ad esempio I:1/3 diventa I%1.0.0.3), e poco usata nei PLC.

L'indirizzamento vale per tutti i file di dati (Ingressi, Uscite, e per i file interni elencati nei paragrafi precedenti); Ad esempio :

  • T4:1 Timer 1 del File di temporizzatori nr. 4
  • C5:3 Counter 3 del File di contatori (contaimpulsi) nr. 5
  • N7:9 Numero intero posto nella Word 9 del file di interi 7
5

Commenti e note

Inserisci un commento

di Giuseppe,

Sono arrivato a 'caratteristiche del sw'. Per ora 10 e lode!

Rispondi

di FB,

Per avere un quadro completo del funzionamento, manca qualche maggiore info sull'interfaccia col mondo esterno: circuito elettrico in uscita, segnali di comando verso componenti esterni, ecc.; inoltre cosa succede in caso di disalimentazione del PLC, è possibile impostare uno stato predefinito delle uscite?

Rispondi

di Anonimo,

MANCANO LE DESCRIZIONI DELL'ALIMENTAZIONI DEGLI INGRESSI,USCITE

Rispondi

di Michael,

Salve, io sono uno studente, e' da poco che ho acquisito qualche potenzialità del PLC, e cio' che avete scritto secondo me e' molto utile e semplificato.

Questa non e' una critica, anzi, sarebbe molto bello approfondire tutto lo studio e il discorso del PLC.

Arrivederci Michael!

Rispondi

di ?,

manca nella descrizione del p.l.c. il collegamento elettrico.

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.