Notizie sul PLC OMRON-CJ1M e sulla sua programmazione CJ1M/NOTIZIE SUL PLC CJ1M E LA SUA... ·...

41
NOTIZIE SUL PLC CJ1M E SULLA SUA PROGRAMMAZIONE Appunti per la 3 a A O.El. a cura di: Antonio Minio

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.

a cura di:

Antonio Minio

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