Notizie sul PLC OMRON-CJ1M e sulla sua programmazione CJ1M/NOTIZIE SUL PLC CJ1M E LA SUA... ·...
Transcript of Notizie sul PLC OMRON-CJ1M e sulla sua programmazione CJ1M/NOTIZIE SUL PLC CJ1M E LA SUA... ·...
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
INDICE ...................................................................................................................................................... 1
INDICE ................................................................................................................................................ 3
INTRODUZIONE ................................................................................................................................ 4
COSA É UN PLC? ............................................................................................................................... 5
GENERALITÀ ED ARCHITETTURA DEL PLC .............................................................................. 7
LA CPU ................................................................................................................................................ 8
LA MEMORIA .................................................................................................................................... 9
LE SCHEDE DI INGRESSO E USCITA .......................................................................................... 10
Schede di ingresso .......................................................................................................................... 10 Schede di uscita .............................................................................................................................. 11
IL SISTEMA BUS ............................................................................................................................. 11
L’ALIMENTATORE ......................................................................................................................... 11
I DISPOSITIVI DI PROGRAMMAZIONE ...................................................................................... 12
IL CJ1M E IL SUO DISPOSITIVO DI PROGRAMMAZIONE ...................................................... 13
IN COSA CONSISTE UN PROGRAMMA? .................................................................................... 14
MODALITÀ OPERATIVE DEL PLC. ............................................................................................. 14
QUALI OPERAZIONI ESEGUE UN PLC DURANTE L’ELABORAZIONE DI UN
PROGRAMMA? ................................................................................................................................ 15
INIZIAMO A PROGRAMMARE. .................................................................................................... 16
CX Simulator ................................................................................................................................ 20 FONDAMENTALE PRECISAZIONE SUL SIGNIFICATO DI “NEGATO” ................................. 22
GLI OPERATORI LOGICI: AND ED OR ........................................................................................ 23
I TEMPORIZZATORI (Timer) .......................................................................................................... 25
COME IMPOSTARE UN TIM x ....................................................................................................... 26
TTIM (087) [TOTALIZZATORE] .................................................................................................... 28
LE FUNZIONI SET E RESET ....................................................................................................... 29
LA FUNZIONE KEEP (011) ........................................................................................................... 30
I CONTATORI ................................................................................................................................... 31
COME IMPOSTARE UN CNT x ...................................................................................................... 33
LE MEMORIE INTERNE (uscite virtuali) ....................................................................................... 37
MEMORIA SEMPRE ALTA (P_On) ............................................................................................... 37
AREE DI TIPO I ............................................................................................................................... 37
AREE DI TIPO H .............................................................................................................................. 38
AREA DI TIPO SPECIALE .............................................................................................................. 41
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
INTRODUZIONE
Le esperienze di Galvani, gli esperimenti di Pacinotti, l'invenzione di
Edison e ... tutto quanto circonda e rende confortevole il nostro vivere
quotidiano, evidenziano l'enorme progresso scientifico e tecnologico
caratteristico dell' "era moderna".
Dai vecchi impianti elettrici civili, realizzati con trecce di fili stagnati ed
isolati in tessuto, fissati sui muri e sulle volte delle vecchie case con gli
isolatori di porcellana si é arrivati - per evoluzioni successive -
all'impiego dell'energia elettrica con finalità e tecnologie sempre più
complesse. Ne sono una esaltante realtà gli impianti che all'interno di
moderne macchine sono in grado di "percepire" la presenza di pezzi,
rilevarne l'ingombro o il peso e magari contarli e scegliere - in completa
autonomia - la scatola più adatta per realizzarne l'imballaggio finale e il
trasporto nel magazzino di stoccaggio.
Le catene di montaggio robotizzate in cui, con massima precisione ed alta
velocità vengono assemblati, saldati, verniciati e montati svariati modelli
di macchine cambiando di volta in volta semplicemente il programma di
gestione, sono un esempio della grande versatilità dei PLC.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
COSA É UN PLC?
PLC è l’acronimo di “Programmable Logic Controller” che significa “Controllore a Logica
Programmabile”.
Un sistema di controllo in genere è schematizzato con un blocco di rilevazione e misura un punto di
confronto, un blocco di attuazione e l’eventuale retroazione.
RETROAZIONE
RILEVAZIONE E MISURA
-
+
RIFERIMENTO
ATTUAZIONE SISTEMA CONTROLLATO
Nell’intento di perseguire l’obiettivo della regolazione nel funzionamento di un sistema si procede,
sulla base del confronto fra alcuni parametri teorici e la loro effettiva misura, “adattandone”
l’intervento di attuazione.
Tipico è il caso della difesa antiaerea che partendo dall’avvistamento e studio della traiettoria
dell’aereo nemico, aggiusta i parametri di lancio affinché il missile della batteria antiaerea centri
perfettamente il bersaglio.
Supponiamo di voler realizzare un impianto elettrico comandato da un gruppo di 3 interruttori:
1 accende una lampada spia
2 attiva una pompa
3 aziona una sirena asservita ad un sensore di livello L.
La realizzazione cablata (parecchio semplice in realtà) sarebbe del tipo:
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Cosa succederebbe però se per sopraggiunte esigenze si volesse:
azionare la pompa con asservimento al sensore di livello L
accendere la spia quando la pompa non é in funzione
comandare il suono della sirena con l’interruttore 1.
L’unica certezza é che si dovrebbero smantellare tutti i collegamenti agli interruttori, al sensore ed agli
attuatori per ricablare tutto l’impianto, e se ... per sopraggiunte esigenze poi ....... meglio non
pensarci!!!
Se invece il nostro impianto si sviluppasse con una concezione completamente differente, potremmo
realizzare le modifiche in maniera più semplice, modificandone solamente un programma di gestione
(niente di fisico insomma!).
Con il PLC quindi si contrappone - per gli impianti tecnologici - alla tradizionale logica cablata, la
nuova tecnologia della logica programmata in base alla quale i collegamenti elettrici rimangono
invariati, mentre cambia solo il programma di gestione.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Un PLC é costituito da un insieme di componenti elettrici ed elettronici atti a facilitare la gestione e
rendere più affidabile un moderno impianto tecnologico.
Per "impianto tecnologico" si intende - in questo caso - un insieme di apparecchiature non sempre dello
stesso tipo e con similarità di impiego, operanti in un contesto ristretto (ma non necessariamente) ed in
armonia, subordinatamente ad un programma prestabilito che ne ottimizzi le prestazioni potenziandone
le possibilità.
In virtù della facilità di "cambiare" il programma con la semplicità con cui si cambia un CD od una
scheda, si capisce come risulti agile una scelta mirata all'impiego su larga scala di questa innovazione
tecnologica.
Un PLC potrebbe ad esempio essere impiegato per la gestione ed ottimizzazione di un grosso impianto
tecnologico (elettrico, idraulico, di climatizzazione, di rifasamento, di servizio sveglia, di regolazione di
luminosità, ecc... ) per un albergo, un supermercato od un complesso industriale.
Ovviamente per i nostri scopi non ci sogniamo assolutamente di arrivare a tanto, ma cercheremo di
arrivare a saper programmare piccoli impianti e ad apportare eventuali modifiche per adeguarli alle
varie esigenze che si verranno a creare di volta in volta.
GENERALITÀ ED ARCHITETTURA DEL PLC
Le parti che compongono un controllore logico programmabile sono :
1. CPU (Central Processing Unit) il processore, definito anche come unità di governo o unità
centrale
2. La memoria
3. Le schede di ingresso ed uscita
4. Il sistema bus
5. L'alimentatore
6. Dispositivi di programmazione
L'architettura del sistema é pertanto quella rappresentata in figura:
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
LA CPU
L'elemento centrale della CPU é un componente integrato denominato microprocessore. Un
microprocessore é un componente a larga scala di integrazione (racchiude cioè al suo interno un
enorme numero di componenti discreti quali resistori, condensatori, transistori, porte logiche, ecc…)
che include in se tutte le funzioni di calcolo e controllo del processore centrale di un normale
calcolatore.
Il primo microprocessore fu costruito intorno agli anni '70, ma può essere considerato come lo sviluppo
della tecnologia elettronica del transistor realizzato per la prima volta negli anni '50 nei laboratori della
Bell Labs.
I primi circuiti integrati presentavano, su un'unica piastrina, il cosiddetto chip, circa una decina di
transistor integrati.
I transistor erano tra loro collegati in modo tale da fornire funzioni fisse dell'algebra Booleana quali:
AND, OR, NOT ecc...
I transistor integrati appartenenti a questa prima generazione furono chiamati SSI (Small Scale
Integration).
Successivamente arrivò la MSI (Medium Scale Integration) con circa cento transistor integrati su un
chip e infine la LSI (Large Scale Integration) che portò al primo vero microprocessore: il 4004 Intel.
A differenza dei transistor integrati, nei microprocessori la logica interna non é più organizzata in modo
da fornire funzioni fisse, bensì é programmabile tramite una sequenza di istruzioni scritte dal progettista.
Questa caratteristica - la programmabilità - fu il grande balzo in avanti che consentì la creazione di tutti
quei dispositivi che sono governati da una unità “intelligente”: la CPU.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
LA MEMORIA
La memoria del PLC é suddivisa nelle seguenti sezioni :
memoria di sistema
memoria applicativa.
La sezione memoria di sistema comprende quella parte di memoria destinata a contenere il SISTEMA
OPERATIVO del controllore programmabile, vale a dire tutto ciò che sovrintende alle funzioni di base
rese disponibili all'utente all'atto dell'avviamento del controllore stesso; è una zona destinata a contenere
dei dati di lavoro non accessibili all'utente, che vengono generati e utilizzati dal sistema operativo.
Nella memoria di sistema vi é inoltre una zona destinata alla memorizzazione di funzioni collegate al
programma utente e ad esso accessibili (ad esempio contatori, temporizzatori, ecc.).
La memoria applicativa é invece destinata alle applicazioni utente, al programma ed alla registrazione
di dati ed elaborazioni intermedie.
Tutta la memoria, sia di sistema che applicativa, é costituita da componenti a semiconduttore aventi un
certo numero di celle, nelle quali vengono scritti, in rappresentazione binaria, singoli bit (zero oppure
uno) in funzione dell'istruzione.
Una cella di memoria può quindi contenere una sola informazione definita dallo stato logico binario
(zero oppure uno).
Le memorie, possono essere suddivise in due importanti categorie:
memorie volatili: appartengono a questa categoria tutte le memorie che perdono il loro contenuto al
mancare dell'alimentazione elettrica;
memorie non volatili: appartengono a questa categoria tutte le memorie che mantengono il loro
contenuto anche al mancare dell'alimentazione elettrica.
Nei PLC le memorie più utilizzate sono:
La memoria RAM. (Random Access Memory = memoria ad accesso casuale) é una memoria il cui
contenuto può essere assai rapidamente modificato; é una memoria a lettura e scrittura di tipo
volatile.
La memoria EPROM (Erasable Programmable Read Only Memory = memoria cancellabile e
programmabile a sola lettura) é una memoria a sola lettura il cui contenuto può essere
cancellato al fine di effettuare una nuova programmazione. Questa memoria appartiene alla
categoria delle memorie non volatili.
La cancellazione di queste memorie avviene estraendo il modulo di memoria dal suo alloggiamento ed
esponendolo a una sorgente di luce a raggi ultravioletti.
La riprogrammazione di queste memorie deve essere effettuata attraverso un apposito dispositivo di
programmazione.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
La memoria EEPROM [o E2PROM] (Electrically Erasable Programmable Read Only Memory
= memoria cancellabile elettricamente e riprogrammabile) é ancora una memoria non volatile.
La differenza con la EPROM consiste nella procedura di cancellazione e scrittura che avviene
tramite semplici comandi elettrici dall'unità di programmazione. I tempi di cancellazione e
riscrittura sono molto brevi, quindi le procedure risultano più veloci rispetto a quelle necessarie
per una memoria EPROM.
LE SCHEDE DI INGRESSO E USCITA
Schede di ingresso
Tutte le informazioni che provengono dal mondo esterno possono essere definite con il termine generico
di segnali, più precisamente “segnali di ingresso”.
Tali segnali sono da intendersi sempre come segnali digitali, quindi con due soli stati logici possibili:
stato logico 1 (tensione presente)
stato logico 0 (tensione non presente)
Anche quando il segnale é di tipo analogico, questo viene convertito in digitale, grazie ad opportune
schede del controllore.
Le schede di ingresso fungono quindi, in un certo senso, da interfaccia tra la logica interna del PLC ed i
segnali provenienti dall'esterno.
Uno dei compiti svolti dalle schede di ingresso, é quello della adattabilità del livello e delle
caratteristiche del segnale.
Infatti, mentre la tensione di funzionamento interna del PLC é una bassa tensione (normalmente 5V), i
segnali possono presentarsi con livelli di tensione diversi, ad esempio 24 V, ma anche 48, 110, 220 V.
La prima operazione svolta dalle schede di ingresso consiste nella messa in forma o squadratura del
segnale.
Nel caso di segnali in alternata, diventa necessario un raddrizzamento del segnale, seguito
successivamente da una valutazione sul livello del segnale stesso.
La seconda operazione svolta dalle schede d'ingresso é quella di isolare il potenziale dei segnali
provenienti dall'esterno dalla logica interna del PLC.
Grazie a ciò eventuali sbalzi o picchi sulle tensioni di alimentazione non potranno causare danni
irreparabili ai circuiti interni del PLC.
La tecnica maggiormente adottata per realizzare questa separazione fa uso degli optoisolatori.
La terza operazione svolta, consiste nel filtraggio delle informazioni parassite. Le informazioni acquisite
potrebbero essere infatti inquinate da disturbi indotti dal mondo esterno.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Per evitare false informazioni, viene quindi valutato non solo il livello logico del segnale, ma anche la
sua durata.
Schede di uscita
Le schede di uscita rappresentano sostanzialmente l’interfaccia tra il programma, elaborato dalla CPU
del controllore e gli attuatori che agiscono sull'impianto da controllare.
L'adattamento dei segnali di uscita sarà effettuato prelevando le eventuali tensioni interne di comando
provenienti dal PLC e trasformandole in tensioni predefinite, per il pilotaggio degli attuatori.
Le tensioni più frequentemente utilizzate per il comando degli attuatori sono: 5, 24, 60 V in continua
oppure 48, 115, 220 V in alternata.
I segnali in tensione, provenienti dai vari sensori, vengono portati alla morsettiera delle schede di
ingresso. L'unità di governo elabora il programma contenuto nella memoria ed interroga lo stato degli
ingressi, verificando se agli stessi é presente o meno il segnale in tensione.
L'unità di governo gestisce inoltre le schede di uscita, fornendo tensione ai morsetti dei connettori, a
seconda dello stato degli ingressi e del programma registrato in memoria.
In funzione dello stato di tensione dei morsetti delle schede di uscita del controllore, vengono alimentati
o non alimentati gli attuatori, le segnalazioni luminose, ecc...
IL SISTEMA BUS
Il sistema bus é un insieme di collegamenti interni che servono per la trasmissione e lo scambio di
informazioni sotto forma di segnali.
Lo scambio di indicazioni tra il processore e le schede di ingresso e uscita avviene ad esempio
tramite il sistema bus.
Le informazioni viaggiano in forma codificata nel BUS costituito da un gruppo di due o più conduttori
collegati fisicamente con tutte le periferiche (in parallelo). Ogni periferica quindi ha accesso al sistema
bus; tuttavia solo le informazioni codificate secondo lo specifico codice della periferica in oggetto
vengono “comprese” dalla periferica interessata mentre vengono ignorate dalle altre.
L’ALIMENTATORE
L'alimentatore genera, partendo dalla tensione di rete, la tensione di valore e forma necessario
all'alimentazione della CPU, delle memorie e delle altre schede elettroniche al servizio del PLC.
Le tensioni per i sensori, per gli attuatori e per le eventuali segnalazioni luminose che hanno tensioni
diverse da quelle generate dall'alimentatore, vengono fornite da alimentatori o da trasformatori
appositamente predisposti.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
I DISPOSITIVI DI PROGRAMMAZIONE
Il PLC trasmette segnali alle schede di uscita in funzione dei valori acquisiti dalle schede di ingresso ed
elaborati dal programma utente contenuto in memoria.
I dispositivi di programmazione sono le apparecchiature necessarie per scrivere i programmi, nella
memoria del PLC; costituiscono pertanto la vera interfaccia tra l'uomo e la macchina.
Le funzioni fondamentali che un dispositivo di programmazione deve garantire sono:
scrittura del programma nella memoria del PLC;
lettura del programma già residente in memoria;
modifica del programma.
I dispositivi di programmazione differiscono molto gli uni dagli altri a seconda del tipo e del numero di
funzioni svolte, della loro potenzialità, delle dimensioni ed ovviamente del prezzo.
Alcuni sono veri e propri personal computer in grado di funzionare sia on line che off line e di eseguire
funzioni importanti quali l'archiviazione e la duplicazione dei programmi, la stampa, la simulazione, la
manutenzione, l'autodiagnostica, ecc.... Il principio di funzionamento risulta per grandi linee simile, differenziandosi prevalentemente per il
modo di gestire alcune risorse (temporizzatori, comparatori, contatori, ecc...) , oppure per la sintassi.
La differenza é più o meno simile a quella riscontrabile fra due automobili: in ogni caso la
caratteristica é quella del trasporto di persone o cose da un posto all’altro, ma il comfort, la tenuta di
strada, la velocità, i consumi, le caratteristiche di accelerazione, la posizione dei comandi, ecc...
possono essere anche notevolmente differenti senza tuttavia invalidarne la tipicità.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
IL CJ1M E IL SUO DISPOSITIVO DI PROGRAMMAZIONE
L’unico modo per interagire con questi PLC è per noi solo attraverso il computer in quanto non
disponiamo della specifica consolle di programmazione.
Per interfacciare fisicamente i CJ1M con il computer occorre:
• il cavo seriale opportunamente cablato [nel caso si disponga di PC dotato di porte seriali
tradizionali (COMx)]
• l’interfaccia USB COM.
Il software specifico necessario è il CX PROGRAMMER (disponiamo attualmente della versione
3.01).
Appena avviato CX PROGRAMMER mostra una schermata che ha in alto le righe dei menù e degli
strumenti, mentre in basso presenta il foglio di progetto che all’avvio é vuoto e di colore grigio.
Per iniziare bisogna scegliere la voce “Nuovo”; questo può ottenersi cliccando su oppure con i
tasti di scelta rapida CTRL + N. A questo punto apparirà una finestra in cui bisogna compilare i 3
campi:
Nome periferica (Viene proposto “Nuovo PLC1” che potrebbe anche andar bene),
Tipo di periferica per il quale viene proposta la scelta - con menù a discesa - fra i vari
modelli di PLC compatibili con questo software; occorre puntare sulla voce CJ1M e
cliccarvi sopra; vengono proposte “Impostazioni …” ma conviene ignorare questa
tentazione
Tipo di rete per il quale viene proposto con menù a discesa “Toolbus” e che bisogna
modificare con “SYSMAC WAY” (pena la successiva impossibilità di collegamento fra PC
e PLC).
Dando l’OK appare la schermata di progetto su cui poter lavorare.
Il tasto denominato “Online automatico” -qualora selezionato- determina il collegamento
automatico con il PLC che (se regolarmente avviato e connesso) verrà riconosciuto
automaticamente e nel giro di qualche minuto scaricherà sul PC il software attualmente presente nel
PLC.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Nel caso invece si volesse realizzare un nuovo programma per poi scaricarlo sul PLC, si procede
con la programmazione fuori collegamento con il PLC e solo dopo si procede con la connessione.
IN COSA CONSISTE UN PROGRAMMA?
Un programma è costituito da un gruppo di corrispondenze che associano allo stato logico binario (alto/
basso, aperto/chiuso, 0/1) di una combinazione più o meno complessa di ingressi, lo stato logico di una
o più uscite oppure la esecuzione (o meno) di una specifica istruzione.
Ogni corrispondenza viene detta “Riga circuitale (NETWORK o RUNG)”. Essa è costituita da una prima
parte (posta a sinistra) in cui viene proposto il TEST sullo stato logico della combinazione di ingressi, e
da una seconda parte (posta all’estrema destra) che costituisce il RISULTATO e che determina lo stato
logico della corrispondente uscita o l’esecuzione (o meno) di una istruzione specifica.
Se il risultato del TEST relativo ad una riga circuitale è 0 la corrispondente uscita o funzione non viene
attivata; se invece il risultato del TEST è 1 si avrà l’attivazione del RISULTATO.
MODALITÀ OPERATIVE DEL PLC.
Un PLC può operare in varie modalità: DEBUG, RUN, MONITOR, PROGRAM.
La modalità operativa DEBUG serve per la diagnostica sul programma. Una volta messo a punto un
programma infatti, prima di mandarlo definitivamente in esecuzione, conviene “collaudarlo” per
controllarne la correttezza, cioè la effettiva corrispondenza di cause ed effetti come da specifiche di
progetto. In questa modalità operativa le unità di uscita restano inattive, anche quando il programma
ne prevede l’attivazione sicché mentre sul monitor appare come se le uscite fossero funzionanti
nella realtà si tratta solo di una “PROVA GENERALE” evitando cioè -in caso di errore di
programmazione- che si attivino operazioni indesiderate. (Il PLC CJ1M in nostro possesso non
supporta questa modalità operativa)
Perché il PLC esegua realmente un programma bisogna che sia posto in modalità operativa RUN,
oppure -se si vuole “spiarlo” mentre esegue il programma- bisogna che operi in modalità
MONITOR. Quest’ultima modalità di funzionamento è utilissima per la diagnosi di eventuali guasti
a sensori od attuatori e relative linee di collegamento. In questa modalità di funzionamento infatti si
può seguire a monitor l’esecuzione del programma e verificare la corrispondenza fra lo stato
effettivo degli ingressi “visti” dal PLC e la realtà sul campo oppure fra i comandi impartiti dal PLC
e la loro reale esecuzione all’esterno.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Quando si vuole interrompere l’esecuzione di un programma bisogna uscire dalla modalità
operativa RUN, MONITOR o DEBUG e commutare il modalità PROGRAM. È solo in questa
modalità operativa che si può trasferire un programma da PC a PLC oppure da PLC a PC.
QUALI OPERAZIONI ESEGUE UN PLC DURANTE L’ELABORAZIONE DI UN PROGRAMMA?
Una volta che sia stato realizzato il programma di automazione questo deve essere trasferito dal PC
al PLC.
Portata a termine la procedura di trasferimento il programma risiederà nella memoria E2PROM del
PLC, ma non sarà operativo nel senso che il PLC è “a conoscenza” del programma, ma non lo
esegue.
Passando alla modalità operativa DEBUG, RUN, o MONITOR, le operazioni che verranno eseguite
velocissimamente da parte del PLC saranno:
IL PLC INTERROGA I SENSORI DI CAMPOCOMPILA UNA TABELLASULLO STATO ATTUALE
DEGLI INGRESSI
ELABORA IL PROGRAMMAIMPOSTATO
DALL'UTENTE
COMPILA UNA TABELLA SULLO STATO ATTUALE
DELLE USCITE
NE COMANDA L'EVENTUALE ATTIVAZIONE
La sequenza di queste operazioni viene eseguita in tempi brevissimi (dell’ordine dei nanosecondi) ed è ripetuta indefinitamente finché il programma rimane in esecuzione. Ogni sequenza di operazioni frapposte tra l’interrogazione dei sensori di campo e l’attivazione delle uscite viene detta “scansione del programma”.
Antonio Minio
Sce
lta d
i ba
se
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
INIZIAMO A PROGRAMMARE.
La programmazione del CJ1M si effettua attraverso un PC e per mezzo del software
CX PROGRAMMER.
Nell’ambito dello stesso software esistono vari modi per realizzare un programma; in particolare si
può adoperare il linguaggio “LADDER” (Scala a pioli) che somiglia molto ad uno schema
funzionale ruotato di 90°oppure il linguaggio “LETTERALE” in cui ogni istruzione viene impartita
rispettando ben precise regole sintattiche di precedenze, strategie, uso di registri, ecc…. Per motivi
di ordine pratico e semplicità preferiamo -in questa sede- utilizzare il linguaggio ladder.
Ogni riga di programma (piolo del diagramma ladder) viene denominata rung.
La programmazione di un rung procede da sinistra verso destra.
Ogni rung inizia necessariamente con un ingresso e termina con una uscita od una istruzione
(funzione).
Il software analizza costantemente la correttezza formale delle istruzioni impartite.
Se un rung non è completo, oppure una sua istruzione non è particolareggiata correttamente con le
informazioni necessarie per la sua esecuzione, viene considerato in errore e contrassegnato con una
barretta rossa all’inizio dello stesso rung.
In CX PROGRAMMER è consentito lasciare rung incompleti (considerati quindi in errore e
contrassegnati in rosso) purché li si regolarizzino prima del trasferimento del programma al PLC.
L’indirizzo degli ingressi è preceduto dal prefisso “0.”. I 16 ingressi vanno quindi da 0.00 a 0.15.
L’indirizzo delle uscite è preceduto dal prefisso “1.”. Le 16 uscite vanno quindi da 1.00 a 1.15.
Il simbolo rappresenta nel ladder un ingresso. Una volta selezionato con il mouse dalla barra
degli strumenti questo simbolo, esso va collocato nella posizione desiderata nel ladder. Un ingresso
può anche essere richiamato rapidamente con il tasto c della tastiera; in tal caso la sua ubicazione va
indicata ponendo prima il cursore (riquadro azzurro) nel punto del rung in cui s’intende collocarlo
e digitando poi la lettera c. Collocato il simbolo verrà visualizzata una finestra di dialogo in cui
viene richiesto l’indirizzo dell’ingresso, per il quale si potrà rispondere digitando per esteso (ad
esempio per l’ottavo ingresso “0.07”) oppure solamente “7” tralasciando cioè il prefisso “0.”.
Completata l’immissione dell’indirizzo si può proseguire semplicemente con il tasto Invio che
aprirà un’ulteriore sottofinestra in cui facoltativamente si potrà indicare un breve commento (10
caratteri circa) per il contatto appena definito (e che verrà visualizzato sotto il contatto stesso ogni
volta che il suo indirizzo verrà richiamato nell’ambito del programma).
Antonio Minio
Sce
lta a
vanz
ata
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Qualora non si volesse “commentare” il contatto basterà dare un altro Invio.
Dopo aver immesso l’indirizzo del contatto di ingresso, sarà possibile fare una ulteriore scelta
avanzata circa le caratteristiche di tale ingresso puntando il mouse su Dettagli (o con percorso
abbreviato da tastiera con i tasti Alt + e).
Si aprirà la finestra di figura in cui si potrà:
‐ Compilare il campo “Commento” conseguendo gli stessi
effetti già descritti nella scelta di base.
‐ Modificare la Differenziazione che -come si vede di
default è posta a “Nessuno”- spuntando rispettivamente la
voce “Su” oppure “Giù”.
Nessuno comporta che il PLC nell’eseguire il programma, compilerà la tabella relativa alle uscite a
fine scansione in base allo stato dell’ingresso.
Su implicherà segnale alto e l’aggiornamento delle uscite dipendenti da tale contatto solo se rispetto
alla scansione precedente lo stato logico è mutato da basso ad alto [fronte di salita istruzione DIFU(013)]
Giù l’aggiornamento delle uscite dipendenti dal contatto avverrà solo se lo stato logico è mutato
rispetto alla precedente scansione da alto a basso [fronte di discesa istruzione DIFD(014)].
‐ Spuntare “Aggiorn. Immediato” comporta che il PLC nell’eseguire il programma, aggiornerà la
tabella relativa alle uscite immediatamente e non a fine scansione.
Riguardo alle scelte avanzate sulle caratteristiche dell’ingresso appena definito precisiamo che
questa opzione può comunque essere approfondita anche in un secondo momento semplicemente
cliccando due volte sul contatto (o –da tastiera- posizionandosi sul relativo simbolo e dando
Invio.)
Analogamente il simbolo rappresenta un’uscita (bobina) la cui corrispondente scelta rapida da
tastiera è rappresentata dal tasto o.
Nel ladder oltre che combinazioni più o meno complesse di contatti si trovano generalmente anche
delle funzioni speciali dette Istruzioni (numerate da 000 a 999) e solo per alcune delle quali si
parlerà dettagliatamente in seguito. Anticipiamo solo per curiosità che la 000 corrisponde alla NOP
Not Operating cioè “non fare nulla”. Questa istruzione serve solo per far perdere tempo al PLC.
In questa sede importa indicare come inserire una di queste Istruzioni all’interno del ladder.
Come per i contatti anche in questo caso con il mouse si prende dalla barra degli strumenti il
simbolo Nuova Istruzione PLC (I) e lo si trascina sul punto in cui si vuole inserire l’Istruzione;
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
da tastiera invece ci si pone sul punto in cui si vuole inserire l’Istruzione e si procede digitando la
lettera I. Nell’uno e nell’altro caso comunque in prossimità del punto di inserzione si aprirà una
finestra del tipo:
a questo punto si potrà digitare sul campo bianco il
codice dell’istruzione secondo le opportune regole
sintattiche e dare l’OK, oppure si potrà ricorrere ad un
aiuto cliccando su Dettagli.
In questo caso la finestra “Modifica istruzione” si allarga divenendo:
la “Guida istruzioni … “ è una sorta di guida in linea
“Istruz. ricerca …” invece offre una lista a discesa di
tutte le istruzioni disponibili corredate – volendo - anche
di informazioni specifiche per ciascuna istruzione.
In ogni caso per impadronirsi delle corrispondenze fra i simboli del ladder e le scelte rapide, basta
avvicinare il puntatore del mouse al simbolo desiderato sulla barra degli strumenti ed in basso
apparirà il suggerimento circa il suo significato e la corrispondente combinazione di tasti per la
sua selezione rapida da tastiera.
La stesura del programma procederà secondo opportune combinazioni di circuiti logici e funzioni.
L’istruzione END (001), indispensabile per dichiarare concluso il programma, in
CX PROGRAMMER non è necessaria in quanto già implicita nella specifica sezione END già
presente sempre di default.
Completata la programmazione (stesura del ladder), sarà necessario trasferire il programma
sorgente dal PC al PLC di destinazione.
Per trasferire il programma bisogna prima effettuare il collegamento fisico fra il PC ed il PLC. Se le
impostazioni iniziali relative al tipo di PLC (CJ1M) ed il tipo di rete (SYSMAC WAY) sono
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
corrette, ciccando sull’icona (lavora on-line) si aprirà una finestra di conferma ed alla risposta
affermativa seguirà il collegamento fra PC e PLC. La spia gialla “COMM” del PLC si illumina
lampeggiando più o meno velocemente a secondo delle modalità di collegamento stabilito, lo
schermo del PC su cui si è lavorato commuterà il colore di fondo da bianco a grigio e si attiverà
l’icona (attiva monitoraggio PLC)1 (spia gialla “COMM” del PLC a lampeggio veloce). È possibile disattivare il
monitoraggio del PLC ciccando sull’icona (spia gialla “COMM” del PLC a lampeggio lento). Un ulteriore clic
sull’icona (lavora off-line) provocherà lo scollegamento fra PC e PLC (spia gialla “COMM” del PLC
spenta, il fondo del piano di programmazione ritornerà bianco) e si potranno apportare eventuali
modifiche al ladder.
Il trasferimento del programma da PC a PLC avverrà attivandone la funzione selezionando l’icona
(trasferisci al PLC) della barra degli strumenti. Questa icona viene attivata solo se il PC è
collegato con il PLC.
La fase del trasferimento prevede la possibilità di scegliere cosa trasferire al PLC; è per questo che
si apre la finestra “Scarica opzioni” in cui si propone il trasferimento di: Programma/i –
Impostazioni – Tabella I/O. In questa fase si suggerisce di trasferire esclusivamente il Programma
spuntandone (eventualmente non lo fosse) la casella corrispondente ed escludendo (eventualmente
lo fossero) le altre caselle. Seguono varie finestre di conferma, il trasferimento vero e proprio e la
richiesta finale di riconvertire la modalità di funzionamento del PLC in MONITOR.
È altresì possibile trasferire il programma dal PLC al PC operando in maniera analoga con l’unica
differenza di selezionare stavolta l’icona (trasferisci dal PLC).
È infine possibile confrontare il programma dello schermo con quello del PLC selezionando invece
(sempre a PC e PLC connessi) l’icona (Confronta con il PLC).
1 Cos’è il monitoraggio del PLC? Una volta collegato il PC con il PLC, si avranno a monitor informazioni (tratto verde quando allo stato logico alto) sullo stato attuale degli ingressi e delle uscite del PLC (subordinatamente al fatto che sullo schermo sia visualizzato un programma che utilizzi gli ingressi e le uscite di interesse).
Nota: non necessariamente il programma a monitor deve coincidere con quello in esecuzione sul PLC; ovviamente però le informazioni risulteranno confuse giacché lo stato logico di ingressi e di uscite potrebbero non risultare accordati con quanto ci si aspetterebbe dal ladder visualizzato sullo schermo.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Si era detto che il PLC può lavorare in varie modalità:
• Program serve per la programmazione; viene selezionata ciccando sull’icona (Modalità
Program), in questa modalità la spia verde “RUN” del PLC rimane spenta.
• Debug serve per la diagnostica sul programma. Una volta messo a punto un programma
infatti, prima di metterlo in esecuzione definitiva, conviene “provarlo” per verificarne la
correttezza, cioè la corrispondenza effettiva di cause ed effetti come imposto dalle
specifiche di progetto. Viene selezionata ciccando sull’icona (Modalità Debug), ma
ripetiamo che questa modalità di funzionamento non è fruibile per il CJ1M.
• Monitor serve per il controllo a monitor dello stato logico degli ingressi e delle uscite
durante l’esecuzione del programma con possibilità di forzatura e/o impostazione differente
da quella reale; viene selezionata ciccando sull’icona (Modalità Monitor), in questa
modalità la spia verde “RUN” del PLC si illumina.
• RUN serve per l’esecuzione del programma con possibilità di controllo a monitor dello stato
logico degli ingressi e delle uscite, ma non è consentita alcuna forzatura e/o impostazione;
viene selezionata ciccando sull’icona (Modalità Run), anche in questa modalità la spia
verde “RUN” del PLC si illumina.
CX Simulator
È possibile anche avvalersi del simulatore di PLC. Si tratta di un programma denominato
CX Simulator che si sostituisce virtualmente al PLC e ne interpreta il funzionamento.
Per utilizzare il simulatore si procede come segue:
completata la stesura del programma su CX-PROGRAMMER, al momento di trasferire al PLC
secondo la procedura descritta in precedenza, si seleziona invece l’icona (lavoro on-line
Simulator).
Apparirà la finestra del CX Simulator contenente una serie di tasti funzione ed una finestra identica
a quella già descritta a proposito del reale trasferimento del programma sul PLC. Seguita la stessa
procedura del trasferimento reale, (a meno delle finestre di conferma relative alle eventuali
interferenze con il PLC e le sue modalità di funzionamento) si otterrà il trasferimento al PLC
virtuale compresa la commutazione del colore di fondo da bianco a grigio.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Sarà possibile a questo punto selezionare le varie modalità di funzionamento: Run/Monitor,
Stop/Program, ……
Una volta lanciato il CX SIMULATOR questo rimarrà a disposizione dell’utente fino alla chiusura
di CX PROGRAMMER consentendo tuttavia il collegamento con il PLC reale, nel qual caso
CX SILULATOR si metterà con discrezione da parte.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
FONDAMENTALE PRECISAZIONE SUL SIGNIFICATO DI “NEGATO”
Nell’affrontare i listati di tipo “Ladder Diagram”, molti sono portati a considerare i “Contatti
Negati” come contatti Normalmente Chiusi.
Una tale affermazione porta però frequentemente a confusione ed incomprensioni.
Sarà bene avere chiaro sin dall’inizio che le elaborazioni eseguite dal PLC sono di tipo logico.
La realtà può differire dalla logica ed è proprio ciò che avviene nel caso dell’elaborazione di
informazioni che coinvolgano l’operazione di “NEGATO”.
Sfruttando una storiella sperimentata con successo fra i nostri studenti, definiamo il “NEGATO”
come un “BUGIARDO”, sicché un ingresso negato andrà logicamente considerato come l’opposto
di quello che é in realtà.
Se quindi si legge lo stato logico di un ingresso 0.00 e questo é aperto, come tale verrà considerato
logicamente!
Se invece si legge lo stato logico negato dello stesso ingresso 0.00 nello stesso istante, esso verrà
considerato come se fosse chiuso logicamente!
Discorso analogo anche per le uscite e per i componenti software virtuali come temporizzatori,
contatori, memorie ecc… di cui parleremo in seguito.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
GLI OPERATORI LOGICI: AND ED OR
L'operatore AND consiste nell'analisi dello stato di due o più ingressi e nella restituzione in uscita
dello stato alto se e solo se tutti gli ingressi in oggetto si trovano allo stato alto.
Il relativo ladder diagram per due soli ingressi é:
| 0.X 0.Y 1.Z|------| |------------| |------------( )-||
0.X 0.Y 1.Z0 0 00 1 01 0 01 1 1
In termini elettromeccanici l'operatore AND si comporta come contatti in serie.
L'operatore OR consiste nell'analisi dello stato di due o più ingressi e nella restituzione in uscita
dello stato alto purché almeno uno degli ingressi interessati si trovi allo stato alto.
Il relativo ladder diagram per due soli ingressi é: | 0.X 1.Z |------| |--------------( )---| | | | 0.Y | |------| |---------- |
0.X 0.Y 1.Z0 0 00 1 11 0 1
1 1 1
In termini elettromeccanici l'operatore OR si comporta come contatti in parallelo.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Tele-inversione di marcia per motore asincrono trifaseDiagramma ladder
| 0.00 0.02 0.03 1.01 1.00|--| |-------| |-------| |-------|/|-------( )--|| PMA | PA RT MI | MA| | || 1.00 | | 1.10|--| |---- ----( )--|| MA SMA||| 0.01 0.02 0.03 1.00 1.01|--| |-------| |-------| |------|/|--------( )--|| PMI | PA RT MA | MI| | || 1.01 | | 1.11|--| |---- ----( )--|| MI SMI|| 1.00 1.01 1.13|--|/|--------------|/|--------------( )--|| MA MI SAlt|| 0.03 1.12|--|/|--------------( )--|| RT SRT
LegendaINGRESSI indirizzi USCITE indirizzi
PMA Pulsante marcia avanti (N.O.) 0.00 MA Marcia avanti 1.00PMI Pulsante marcia indietro (N.O.) 0.01 MI Marcia indietro 1.01PA Pulsante alt (N.C.) 0.02 SMA Spia marcia avanti 1.10RT Relè termico (N.C.) 0.03 SMI Spia marcia indietro 1.11
SRT Spia relè termico 1.12Salt Spia alt 1.13
Si noti il diverso comportamento dei contatti N.C ed N.O.Quando non sollecitato un contatto N.O. restituisce segnale basso; se sollecitato il segnale é alto.Quando non sollecitato un contatto N.C. restituisce segnale alto; se sollecitato il segnale è basso.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
I TEMPORIZZATORI (Timer)
Una funzione importantissima per le automazioni é quella dei temporizzatori per mezzo dei quali é
possibile, ad esempio, differire nel tempo l’operazione di apertura o chiusura di un contatto.
Il tempo di ritardo (in decimi di secondi) può essere stabilito tramite una costante di tempo oppure
calcolato dal PLC in base a variabili o conteggi specifici (questa manovra é un po’ più avanzata e
magari ne parleremo in seguito). Bisogna specificare le condizioni di avvio del conteggio e
l’uscita/e su cui agire alla fine del computo. Il temporizzatore si presenta quindi come un’
“interfaccia a ritardo programmabile” fra un gruppo di condizioni che costituiscono l’ingresso
(avvio della temporizzazione) ed una o più uscite; in concreto è da considerarsi come un’uscita, nel
senso che - a partire da quando l’ingresso che ne determina l’attivazione si porta (e si mantiene)
alto - viene iniziato il conto alla rovescia del tempo partendo dalla costante impostata fino a
raggiungere 0. Trascorso quel tempo sarà lo stesso temporizzatore a portarsi a livello logico alto.
TIM 0000
0.00
tempo
Se quindi ad esempio volessimo che un’uscita 1.00 si portasse a livello logico alto 10 secondi
dopo che l’ingresso 0.00 abbia assunto il livello logico alto, dovremo impostare il seguente
programma:
Diagramma Ladder | 0.00 --------------- |------| |---------|TIM | | |-------------- | | |0000 | | | | | |------------- | | |#0100 | | | | | --------------- | T0000 1.00 |------| |--------------( )-|
Si possono utilizzare fino ad un massimo di 4096 temporizzatori (TIM t).
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
COME IMPOSTARE UN TIM x
Un temporizzatore va definito nel ladder disponendo il cursore nel RUNG e nella colonna in cui
bisogna inserirlo (ovviamente a valle del contatto o combinazione di contatti che fungono da
START per il TIM x in oggetto) e richiamare l’Istruzione TIM seguita da uno spazio _, dal numero
distintivo del temporizzatore (da 0000 a 4095) seguito ancora da uno spazio _, dal simbolo #
(qualora si voglia impostare una costante di tempo) e dal valore (in decimi di secondi) del tempo
stabilito. Questo può variare da 0000 a 9999 corrispondente a 16 minuti, 39 secondi e 9 decimi di
secondo.
Un temporizzatore TIM 24 da 16 secondi attivato dall’ ingresso 0.13 andrà impostato come segue:
“TIM_0024_#160”. La figura accanto ne
rappresenta la corrispondente schermata.
Come si vede l’istruzione TIM è costituita da tre
blocchi ciascuno dei quali riporta una informazione:
la prima è il tipo di Istruzione TIM
la seconda é il nome del temporizzatore 0024
la terza riporta infine il valore impostato per il ritardo.
Per utilizzarne poi gli effetti di ritardo si richiamano definendo un ingresso con il simbolo T seguito
dal numero distintivo del temporizzatore (ad esempio per il TIM 0018 il nome del contatto
corrispondente sarà T0018).
Qualora durante il conteggio del ritardo le condizioni che hanno determinato lo START si
portassero allo stato logico basso il computo verrebbe azzerato per ripristinare il conto alla rovescia
a partire sempre dal valore della costante impostata per quel temporizzatore allorché lo START
ritorni allo stato logico alto.
In modalità MONITOR si può seguire all’interno del blocco temporizzatore l’andamento del
conteggio e la sua commutazione di stato logico; quando raggiungerà lo 0 il blocco temporizzatore
verrà contornato di verde.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Tele- Inversione di marcia automatica e ritardata
In questo esempio si ha l’avvio in marcia avanti (PMA) o in marcia indietro (PMI) di un carrello che procederà
autonomamente fino al raggiungimento del corrispondente fine corsa dove si fermerà per 5 secondi; a fine sosta il
carrello invertirà senso di marcia per reiterare indefinitamente il ciclo finché non si agisca sul pulsante di alt (PA).
Antonio Minio
Diagramma ladder
| 0.00 0.02 0.03 0.04 1.01 1.00|----| |-------| |------| |------|/|------|/|-------( )-|| PMA | PA RT FCA MI | MA| | || T0001 | | 1.10|---| |----| ----( )-|| TMA | SMA| | | 1.00 | |---| |----| MA|| 0.00 0.02 0.03 1.15 |---| |----|---| |------| |------( )-| | PMA | PA RT SCC| || 0.01 | |---| |----| | PMI || || 1.15 | |---| |----| SCC || 0.04 1.15 -----------------|------| |--------| |---------|TIM || FCA SCC |------------ --|| |0000 || |-------------- || |#0050 || -----------------|| 0.01 0.02 0.03 0.05 1.00 1.01|----| |-------| |------| |------|/|------|/|-------( )-|| PMI | PA RT FCI MA | MI| | || T0000 | | 1.11|---| |----| ----( )-|| TMI | SMI| | | 1.01 ||---| |----| MI|| 0.05 1.15 -----------------|------| |--------| |---------|TIM || FCI SCC |-------------- || |0001 || |-------------- || |#0050 || -----------------|| 1.00 1.01 0.04 0.05 1.13|------|/|--------|/|--------|/|--------|/|--------( )-|| MA MI FCA FCI SAlt|| 0.03 1.12|------|/|--------------( )-|| RT SRT
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
TTIM (087) [TOTALIZZATORE]
Un altro tipo di temporizzatore disponibile è il cosiddetto “TOTALIZZATORE”. Questo funziona
come un recipiente che debba riempirsi sotto un rubinetto fino ad un determinato livello impostato.
Il tempo totale per completare il riempimento corrisponde con il livello da raggiungere, ma se il
rubinetto si chiude durante il riempimento il livello rimane bloccato finché non venga ripreso il
riempimento; rimane comunque il fatto che il livello impostato verrà raggiunto quando la somma
dei tempi in cui il rubinetto è rimasto aperto uguaglia il tempo totale previsto.
Il TTIM (istruzione 087) si richiama digitando direttamente sul blocco istruzione
“TTIMx” (oppure “087”) e si gestisce come un normale timer (TIMx), ma a differenza del TIMx
ha un secondo ingresso a cui collegare il reset del temporizzatore stesso. Lo si utilizza poi come
ingresso alla stessa maniera con Tx (dove x rappresenta sempre il numero distintivo del TTIM).
Questo particolare tipo di temporizzatore viene abilitato al conteggio dal solito ingresso di
abilitazione START. In caso di interruzione dell’abilitazione il TTIM non si azzera, bensì mantiene
il conteggio in sospeso in attesa della successiva abilitazione. Qualora il tempo complessivo di
abilitazione raggiunga il valore impostato, come un comune temporizzatore si porta allo stato logico
alto. In ogni caso, non si azzera autonomamente (e con esso anche tutto ciò che da esso dipenda),
ma necessita di almeno un impulso sull’ingresso di azzeramento. Questo TTIM può essere azzerato
in qualunque momento, anche durante il conteggio (sia in corso di conteggio attivo, sia durante
una eventuale sosta) per mezzo di almeno un impulso sull’ingresso di azzeramento.
Antonio Minio
Legenda ( nuovi simboli)INGRESSI/USCITE indirizzi
FCA Fine corsa marcia avanti (N.O.) 0.04FCI Fine corsa marcia indietro (N.O.) 0.05TIM0000 Temporiz. ritardo riavvio M.I.TIM0001 Temporiz. ritardo riavvio M.A.
-SCC Segnalazione Ciclo in Corso 1.15
La 1.15 SCC serve per non far avviare in marcia avanti il ciclo solo cinque secondi dopo l’avvio del programma (prima di agire su PMA). TIM0 infatti dipende da FCI (alto anche ad inizio ciclo) AND 1.15 (alto solo dopo aver avviato il ciclo con PMA). Analogo discorso per la Marcia Indietro con i dovuti “distinguo”.
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
LE FUNZIONI SET E RESET
Quando - per un circuito in logica cablata -
vogliamo che un ingresso 0.02 agisca
permanentemente su di una uscita 1.01,
portandola e mantenendola a livello logico
alto anche dopo che lo stesso ingresso si sia
portato successivamente allo stato logico
basso, predisporremo uno schema con
“AUTO- RITENUTA”, in cui cioè un
contatto dell’uscita 1.01 sia posto in
parallelo con l’ingresso 0.02 in modo che una volta attivata, quell’uscita 1.01 continuerà a rimanere
a livello logico alto finché non si interromperà la continuità elettrica agendo sul pulsante di stop
0.01 in serie con il circuito.
In logica programmata - analogamente - quando un’uscita 1.x viene portata a livello alto - per
mantenerne lo stato - bisogna che la sequenza degli ingressi che ne condizionano il livello
permanga invariata.
Quindi un pulsante (N.O.) 0.X dovrebbe rimanere pigiato per tutto il tempo in cui si vuole
mantenere alto il livello dell’uscita corrispondente, oppure si dovrebbe ricorrere anche in questo
caso all’auto-alimentazione: un contatto (con nome uguale all’uscita) posto in OR al pulsante ed
ancora in AND un pulsante di ALT (di tipo N.C.) 0.Y ancora per poter eventualmente riportare a
livello basso la relativa uscita.
Questa stessa funzione può essere
ottenuta ricorrendo alle funzioni di SET e
RESET. Si tratta di impostare in uscita alla
sequenza di ingressi che ne condizioneranno lo stato anziché (ad es.) la 1.X il “SET/RESET di
1.X”.
In questo caso una volta portata l’uscita a livello alto, questa sarà indipendente dalle eventuali
successive variazioni di stato degli ingressi che ne hanno determinato il SET.
Analogamente un’altra combinazione di ingressi determinerà il RESET dell’uscita 1.X. Si tratta
anche in questo caso di impostare, in uscita alla sequenza opportuna di ingressi, il “RESET di 1.X”;
sicché al verificarsi (anche impulsivo) delle condizioni di RESET l’uscita 1.X si porterà
permanentemente a livello basso. IL RESET E’ PRIORITARIO SUL SET
Antonio Minio
| 0.X 0.Y 1.X |-----| |---------| |------( )---| | | | 1.X | |-----| |----- |
-
1.01
0.02
+
0.01
1.01
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
In ladder diagram il SET ed il RESET sono rappresentati dai simboli seguenti:
----------------- ---------| SET | |---------------| | _____________ | | | -----------------
----------------- ---------| RSET | |---------------| | _____________ | | | -----------------
In logica programmata, quindi può “compattarsi” il tutto tramite le istruzioni di SET e di
RESET predisponendo un programma del genere:
LADDER | 0.02 --------------- |------| |---------|SET | | |-------------- | | | 1.01 | | | | | ----------------- | 0.01 ----------------- |------| |---------|RSET | | |-------------- | | |1.01 | | | | | ---------------
LA FUNZIONE KEEP (011)
É disponibile anche una funzione simile al SET/RESET denominata KEEP [Istruzione (011)] .
L’uscita 1. kk verrà “SETtata” dall’ingresso 0.xx e “RESETtata” dall’ingresso 0.yy.
In termini di diagramma ladder la funzione di KEEP può venire rappresentata nel modo seguente:
0.XX -------| |-------- KEEP(011) -------| |-------- 0.YY -| |- 1.kk -------| |--------
Si può ad esempio ottenere una funzionalità per cui con lo stesso pulsante 0.00 si attiva e disattiva
alternativamente la stessa uscita: 0.00 1.00 ---| |-------|/|---- KEEP(011) -------| |-------- 1.00 1.00 ---| |----
NB. Il simbolo ---| |--- indica che del segnale d’ingresso viene preso solo il fronte di salita.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
I CONTATORI
Antonio Minio
TELE-INVERSIONE DI MARCIA AUTOMATICA E RITARDATA CON SET E RESETDiagramma ladder
| 0.00 -----------------|------| |--------------------------|SET || PMA | |-------------- || 0.01 | | 1.15 ||------| |--------- | SCC || PMI -----------------| 0.02 -----------------|------| |--------------------------|RSET || PA | |-------------- || 0.03 | | 1.15 ||------|/|--------- | SCC || RT -----------------| 0.00 -----------------|------| |--------------------------|SET || PMA | |-------------- || T0001 | | 1.00 ||------| |-------- | | MA || | -----------------| | -----------------| -----------------|SET || |-------------- || | 1.10 || | SMA || -----------------| 0.02 -----------------|------| |--------------------------|RSET || PA | |-------------- || 0.03 | | 1.00 ||------|/|-------- | | MA || RT | -----------------| 0.04 | -----------------|------| |--------------------------|RSET || FCA |-------------- || | 1.10 || | SMA || -----------------| 0.04 1.15 -----------------|------| |--------------| |---------|TIM || FCA SCC |-------------- || |0000 || |-------------- || |#0050 || -----------------| 0.01 -----------------|------| |--------------------------|SET || PMI | |-------------- || T0000 | | 1.01 ||------| |-------- | | MI || | -----------------| | -----------------| -----------------|SET || |-------------- || | 1.11 || | SMI || -----------------| 0.02 -----------------|------| |--------------------------|RSET || PA | |-------------- || 0.03 | | 1.01 ||------|/|-------- | | MI || RT | -----------------| 0.05 | -----------------|------| |--------------------------|RSET || FCI |-------------- || | 1.11 || | SMI || -----------------| 0.05 1.15 -----------------|------| |--------------| |---------|TIM || FCI SCC |-------------- || |0001 || |-------------- || |#0050 || -----------------
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Qualche volta risulta utile poter effettuare un conteggio del numero di eventi verificati nel corso di
un ciclo produttivo o di un intervallo di tempo.
Esistono vari modi per ottenere ciò. In particolare ci occupiamo di elementi logici “preconfezionati”
e di Istruzioni particolari che se opportunamente usate permettono di ottenere ottimi risultati.
L’elemento logico circuitale “preconfezionato” é denominato contatore (CNT n) in cui n può
assumere un valore compreso fra 0 e 4095 (in altri termini sono disponibili ben 4096 contatori).
Gli ingressi del contatore saranno rispettivamente:
0.xx che decrementa il conteggio ogni qual volta commuta da 0 a 1
0.yy che quando è alto inizializza il conteggio a partire dal valore definito da “#****”
la rappresentazione ladder è del tipo:
| 0.XX --------------- |------| |---------|CNT | | |---------------| | 0.YY | n | |------| |---------| | | |---------------| | |#**** | | | | | ---------------
Il Contatore nel suo funzionamento opera un conto alla rovescia partendo dal valore della costante
impostata (#**** che può assumere valori da 0 a 9999) fino a raggiungere lo 0. Per utilizzare il
risultato del conteggio basterà chiamare un ingresso con il nome Cn del contatore stesso (poiché al
raggiungimento dello 0 esso stesso assumerà lo stato logico alto). Quando il conteggio ha
raggiunto lo 0 gli eventuali impulsi provenienti dall’ingresso 0.XX vengono ignorati.
Il contatore è ritentivo nel senso che il valore del conteggio attuale rimane memorizzato anche in
casi di mancanza di alimentazione elettrica del PLC oppure di commutazione fra le varie modalità
operative: monitor, programmazione, ecc…. Il contatore si azzera solo agendo sul suo reset (0.YY).
Un impiego tipico è ad esempio quello per cui si vuole controllare il numero di persone transitate
attraverso un valico in modo che, alla decima persona transitata, si blocchi l’accesso attivando un
segnale ottico di “raggiunto limite di carico”. Per questa funzione si dovrà predisporre un
programma del genere:
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
| 0.03 -----------------|------| |---------|CNT || |---------------|| 0.04 |0000 ||------| |---------| || |---------------|| |#0010 || | || -----------------| C0000 1.02|------| |--------------( )-|
all’ingresso incrementante 0.03 è collegato il “congegno conta persone” ed a quello relativo
all’ingresso di azzeramento del contatore 0.04 è collegato il pulsante (N.O.) di reset.
Non appena il numero di conteggi avrà raggiunto il valore prefissato lo stesso contatore
(considerato come un’uscita) si porterà a livello logico alto sicché, rilevato lo stato logico del
C0000, se e quando questo avrà assunto lo stato logico alto, verrà attivata l’uscita a cui sarà
collegato ad esempio il sistema di blocco dell’accesso e l’avvisatore ottico di raggiunto limite di
carico (collegati a loro volta sull’uscita 1.02).
COME IMPOSTARE UN CNT x
Il contatore va definito nel ladder disponendo il cursore nel RUNG e nella colonna in cui bisogna
inserirlo (ovviamente a valle del contatto o combinazione di contatti che fungono da INGRESSO
INCREMENTANTE per il CNT x in oggetto) e richiamare l’Istruzione CNT seguita da uno spazio _,
dal numero distintivo del contatore (da 0000 a 4095) seguito ancora da uno spazio _, dal simbolo #
(qualora si voglia impostare una costante) e dal valore del conteggio desiderato (questo può variare
da #0000 a #9999). È indispensabile definire anche l’ingresso di reset, cioè quell’ingresso che
portandosi allo stato logico alto azzera il conteggio. L’ingresso di reset dovrà commutare allo stato
logico basso perche il conteggio possa ripartire dall’inizio! È ovvio che finché il reset rimane
attivo il contatore verrà sempre azzerato e non
conterà un bel nulla!!!
Il contatore CNT 14 da 3 eventi incrementato
dall’ ingresso 0.09 e resettato dall’ingresso
0.06 andrà impostato come segue:
“CNT_0014_#0003”. La figura accanto ne
rappresenta la corrispondente schermata.
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Come si vede l’istruzione CNT è costituita da tre blocchi ciascuno dei quali riporta una
informazione:
la prima è il tipo di Istruzione CNT
la seconda é il nome del temporizzatore 0014
la terza riporta infine il valore impostato per il conteggio #003.
Per utilizzarne poi gli effetti di computo si richiamano definendo un ingresso con il simbolo C
seguito dal numero distintivo del contatore (ad esempio per il CNT 0084 il nome del contatto
corrispondente sarà C0084).
In modalità MONITOR si può seguire all’interno del blocco contatore l’andamento del conteggio e
la sua commutazione di stato logico; quando raggiungerà lo 0 il blocco contatore verrà contornato
di verde.
Nell’esempio che segue viene realizzato un programma in cui:
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
l’a
z io
n e
sul
pulsante di marcia (PM) provoca l’attivazione di una spia di ciclo in corso (SCC) mentre il
carrello procede in marcia avanti fino al raggiungimento del fine corsa (F2) sul quale sosta per 2
secondi prima di riprendere la marcia in senso inverso per sostare sul fine corsa (FC1) per 3
secondi e riprendere poi la marcia in avanti … e così via reiterando il ciclo di marcia avanti sosta
e marcia indietro per 3 volte.
A conclusione del ciclo viene disattivata la spia (SCC) ed attivata una spia di fine ciclo (SFC).
Antonio Minio
FC1 FC2
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
Inversione di marcia x 3 volte con ritardo inversione.Diagramma ladder
| 0.00 --------------- |------| |--------------------------------------|SET || PM | |-------------- || | |1.00 || C0002 T0001 | | ||------|/|--------------| |-------- | |MA || CONT TEMPFC2 | --------------- | | --------------- | ------------|SET || |-------------- || |1.15 || | || |SCC || --------------- | 0.02 --------------- |------| |---------|RSET || FC2 |-------------- || |1.00 || |MA || --------------- | 0.02 --------------- |------| |---------|TIM || FC2 |-------------- || |0000 || |TEMPFC1 || |-------------- || |#0020 || --------------- || T0000 --------------- |------| |---------|SET || TEMPFC1 |-------------- || |1.01 || |MI || --------------- | 0.01 --------------- |------| |---------|RSET || FC1 |-------------- || |1.01 || |MI || --------------- || 0.01 1.15 --------------- |------| |--------------| |---------|TIM || FC1 SCC |-------------- || |0001 || |TEMPFC2 || |-------------- || |#0020 || --------------- | 0.02 --------------- |------| |---------|CNT || FC2 |-------------- || 0.00 |0002 ||------| |---------|CONT || PM |-------------- || |#0003 || --------------- || C0002 --------------- |------| |--------------------------|RSET || CONT | |-------------- | | | |1.15 || | |SCC || | ---------------- | | 0.01 1.07| --------| |----------------( )--|| FC1 SFC
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
LE MEMORIE INTERNE (uscite virtuali)
Come nella calcolatrice anche nel PLC è possibile “mettere in memoria” il risultato di una o più
operazioni logiche eseguite all’interno di un programma.
Nell’uso della calcolatrice questo comporta il vantaggio di non dovere digitare nuovamente un
risultato intermedio (scongiurando così il pericolo di introdurre errori di digitazione); nel PLC
questo permette di conservare un risultato di tipo elementare (ON/OFF) oppure di tipo complesso
(quantità numerica) all’interno di una uscita virtuale evitando quindi di utilizzare una o più uscite
fisiche (nei rispettivi casi di entità binarie o numeriche) a cui sono invece associati direttamente i
controlli degli attuatori.
Esistono diverse aree di memoria in cui è possibile custodire i vari tipi di informazioni:
MEMORIA SEMPRE ALTA (P_On)
Se si vuole che una certa Istruzione venga sempre ed incondizionatamente eseguita, basterà porre
tale istruzione come uscita di una riga di programma in cui l’ingresso è costituito dalla memoria
P_On. Se si vuole quindi che una spia indichi che il programma è in esecuzione, basterà porre
l’uscita - corrispondente alla spia (la 1.00 ad esempio) – come risultato del controllo sullo stato
logico di P_On. In termini ladder questo equivale a :
| P_On 1.00|------| |--------------( )-||
Analogamente esiste la memoria sempre bassa P_Off.
AREE DI TIPO I
A questa tipologia appartengono anche gli ingressi (I 0.00 à I 0.15) e le uscite fisiche del PLC
(I 1.00 à I 1.15). È possibile tuttavia utilizzare al posto degli ingressi e delle uscite fisiche delle
“variabili ausiliarie” che consentono di conservare i risultati delle elaborazioni di determinate righe
di programma senza impegnare le 16 uscite fisiche a cui sono eventualmente collegati fisicamente
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
gli attuatori, offrendo l’opportunità di richiamare quei risultati quando serva richiamando appunto le
memorie stesse.
Queste memorie sono di tipo “non ritentivo” nel senso che qualora nel corso dell’esecuzione del
programma dovesse venire a mancare l’alimentazione elettrica al PLC, questo perderebbe il ricordo
dello stato logico (alto o basso) in cui si trovavano tali memorie.
Supponiamo ad esempio che un fine corsa (collegato all’ingresso fisico 0.xx) avesse SETtato una
di queste memorie, e che ciò influisse sullo stato di marcia di un mtore. Al mancare
dell’alimentazione elettrica ed al suo ripristino, il PLC avrà “dimenticato” che quella memoria era
stata SETtata per cui il motore non riparte ed il ciclo si blocca.
Questo però non deve apparire come un fattore negativo!
Pensiamo ad esempio alla procedura di avviamento stella - triangolo di un motore asincrono. In
questo caso il fatto che il motore non venga ri-alimentato è motivo di sicurezza e protezione per il
motore stesso.
Pensiamo ancora ad una macchina utensile (una pressa) che si ferma per mancanza di
alimentazione; l’operaio vedendola ferma interviene per indagare sulla causa del blocco e come
primo intervento tenta di sbloccarla mettendo le sue poderose (povere mani) fra gli ingranaggi. Se al
ripristino dell’alimentazione elettrica la macchia ripartisse improvvisamente …… !!!
Queste memorie (in forza di 15.936 unità) hanno indirizzi che vanno da 002.00 a 002.15 fino a
999.15.
002.00 à 002.15
. à . . à . . à . . à . 999.00 à 999.15
e come per gli ingressi e le uscite fisiche non bisogna digitare il prefisso I per definirle.
AREE DI TIPO H
A questa tipologia appartengono invece le cosiddette “memorie ritentive”, quelle cioè che
mantengono l’informazione in esse contenute anche in caso di interruzione dell’alimentazione
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
elettrica. La disponibilità numerica di memorie ritentive è di 8192 unità; i rispettivi indirizzi sono
quelli che vanno da:
H 000.00 à H 000.15 H 001.00 à H 001.15
. à . H 100.00 à H 100.15 . à . H 234.00 à H 234.15 . à . H 497.00 à H 497.15 . à . H 511.00 à H 511.15
Carrello memoryIl carrello alterna marcia avanti e indietro finchè:
EMERGENZA=BLACK-OUT -->interrompe temporaneamente il ciclo. Al riavvio volontario riprende esattamente da dove aveva interrotto.
STOP FINE CICLO --> prosegue fino a terminare completamente il ciclo
Diagramma ladder| 0.00 --------------- |------| |-------- |SET || PM |-------------- || |002.00 || |CIC || --------------- | 002.00 H000.00 0.13 1.00|------| |------------|/|--------------|/|--------------( )-|| CIC MRMI FC2 MA|| 002.00 HR000.00 0.14 1.01|------| |------------| |--------------|/|--------------( )-|| CIC MRMI FC1 MI|| 0.13 002.00 ------------|------| |------------| |------------------- -|RSET || FC2 CIC | |---------- -|| | |1.00 || | |MA || | ------------- | | ------------ | --------- -|TIM || |--------- --|| |0000 || |TRMI || |------- ----|| |#0030 || ------------ | 0.14 002.00 -------------|------| |--------------| |------------------ |TIM || FC1 CIC | |----------- || | |0001 || | |TRMA || | |----------- || | |#0050 || | ------------
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
| | ------------- | ----------|RSET || |----------- || |1.01 || |MI || ------------- | T0000 --------------- |------| |------------------------- |SET || TRMI | |-------------- || | |1.01 || | |MI || | ---------------- | | ---------------- | ---------------- |SET || |-------------- || |H000.00 || |MRMI || ---------------- || T0001 ---------------- |------| |--------------------------------- |RSET || TRMA | |-------------- || | | || | | || 0.00 0.14 | |H000.00 ||------| |------------| |-------- | |MRMI || PM FC1 | --------------- | | ---------------- | --------- |SET || |-------------- || |1.00 || |MA || ----------------| 0.01 ---------------- |------|/|-------- |SET || STOP->FC |-------------- || |002.01 || |MS->FC || ---------------- || 0.14 002.01 --------------|------| |--------------| |------------------ |RSET || FC1 MS->FC | |------------ || | | || | | || 0.02 | |002.00 ||------| |----------------------- | |CIC || EMERGENZA | -------------- | | -------------- | |---------- |RSET || | |------------ || | |002.01 || | |MS->FC || | -------------- | | -------------- | |---------- |RSET || | |------------ || | |1.00 || | |MA || | ---------------| | -------------- | ----------- |RSET || |------------ || |1.01 || |MI || --------------
Antonio Minio
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El.
AREA DI TIPO SPECIALE
In quest’area di memoria sono conservate informazioni necessarie per il corretto espletamento di
particolari funzioni di controllo nel corso dell’esecuzione dei programmi. È in quest’area che si
trovano fra l’altro anche delle particolari memorie dette “pulsanti”, tali cioè da alternare
autonomamente il livello logico basso con quello alto ad intervalli regolari di tempo. In particolare
si ha:
P_1min à intervalli di alternanza di 1 minuto
P_0_02s à intervalli di 0,02 secondi (ogni secondo varia il proprio stato 50 volte)
P_0_1s à intervalli di 0,1 secondi (ogni secondo varia il proprio stato 10 volte)
P_0_2s à intervalli di 0,2 secondi (ogni secondo varia il proprio stato 5 volte)
P_1s à intervalli di 1 secondo
Si può usare una o più di queste memorie pulsanti per generare un treno di impulsi a varia frequenza
da utilizzare ad esempio per segnalazioni ottico/acustiche in condizioni anomale o pericolose.
Supponiamo ad esempio di volere pilotare un lampeggiatore con una frequenza di 5 accensioni al
secondo. Perché la lampada si accenda 5 volte al secondo dovrà spegnersi altrettante volte,
bisognerà impostare quindi una frequenza di variazione pari a 10 volte al secondo. La memoria
P_0_1s fa proprio al caso nostro, per cui collegando il pulsante di comando del lampeggiatore
all’ingresso fisico 0.05 e la lampada all’uscita fisica 1.02 ne discende il seguente ladder:
| 0.05 P_0_1s 1.02|------| |--------------| |--------------( )-||
non appena l’ingresso di comando si porterà al livello logico alto, l’uscita 1.02 alternerà lo stato alto
e quello basso con una cadenza di 10 volte al secondo (5 accensioni della lampada al secondo).
Antonio Minio