ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA...

92
1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT TIM CNT AND

Transcript of ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA...

Page 1: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

1

OMRON Electronics SpA

ESERCIZI(parte prima)

LDOUT

TIMCNTAND

Page 2: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

2

OMRON Electronics SpA

• La serie CJ1 dispone di un set di oltre 400 istruzioni, cosìsuddiviso:

– 14 Istruzioni Base (schema a contatti)– circa 400 Istruzioni Avanzate (funzioni)

• All’interno del corso verranno presentate le istruzioni base etutta una serie di istruzioni avanzate, di rilevante utilità nellagrande maggioranza delle applicazioni di interesse generale

Le Istruzioni

Page 3: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

3

OMRON Electronics SpA

AvantiIndietroSTOP

Finecorsa 1 Finecorsa 2

Indietro Avanti

AvantiIndietro

ESERCIZIO 1: Controllo di una macchina

Page 4: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

4

OMRON Electronics SpA

ESERCIZIO 1: Controllo di una macchina

• Il pulsante ‘Puls_avanti’ finchè premuto determina la marcia inavanti del carrello fino al raggiungimento del finecorsa LS2 oalla pressione del comando di ‘Stop’

• Il pulsante ‘Puls_indietro’ finchè premuto determina la marciaindietro del carrello, fino al raggiungimento del finecorsa LS1o alla pressione del comando di ‘Stop’

• Se i due pulsanti di ‘Puls_avanti’ e di ‘Puls_indietro’ vengonopremuti simultaneamente il carrello non deve muoversi inalcuna direzione

Page 5: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

5

OMRON Electronics SpA

ESERCIZIO 1: Soluzione

Page 6: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

6

OMRON Electronics SpA

• Rappresentano quella serie di istruzioni per le quali non èprevisto sulla console di programmazione il corrispondentetasto dedicato

• Ad ogni funzione è associato, in modo univoco, un codicenumerico di tre cifre. E’ possibile richiamare una funzioneanche inserendone direttamente il codice

• Nel diagramma a relè le funzioni vengono rappresentate conun blocco funzionale in cui compare il nome dell’istruzione,insieme ai relativi parametri

Funzioni

Page 7: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

7

OMRON Electronics SpA

Timer

• L’istruzione TIM (Timer) viene utilizzata per generare unritardo all’eccitazione rispetto al segnale di abilitazione ‘Start’

• Il ritardo SV (Set Value) può variare da 0 a 999,9 secondi ed èprogrammabile in unità di 0,1 secondi

• Quando il segnale di Start va ad ON il valore attuale PV(Present Value) del timer (inizialmente pari all’SV) inizia adecrementare

• Quando il PV (non ritentivo) diventa uguale a zero, lo statodel timer va ad uno

• Le famiglie di PLC CJ/CS dispongono di 4.096 timer (da 0 a4.095) identificati univocamente dal proprio numero

Page 8: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

8

OMRON Electronics SpA

Esempio di utilizzo di un Timer

• Il segnale di Start 0.00 eccita l’uscita 1.00 dopo 3,2 secondi

Page 9: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

9

OMRON Electronics SpA

• La funzione TIMH (timer ad alta velocità) serve per generareritardi all’eccitazione con una precisione maggiore rispettoalla funzione TIM

• Il ritardo (SV) può variare tra 0,00 e 99,99 secondi ed èprogrammabile in unità di centesimi di secondo.

LD 000.05TIMH(15) 007 DM 0030LD TIM 007OUT 100.01END (01)

000.05

TIMH(15)007

DM0030

100.01

TIM 007

La funzione TIMH (015)

Page 10: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

10

OMRON Electronics SpA

• Se il tempo di scansione supera i 10 ms l’accuratezza per iTIMH diminuisce a meno che non si utilizzi un numero ditimer compreso tra 0 e 255

• Nelle famiglie di PLC CS1 e CJ1 il PV dei primi 256 timer èinfatti rinfrescato ‘ad interrupt’ ogni 10 ms e nonall’esecuzione dell’istruzione come invece avviene per i timersuccessivi

La funzione TIMH (015)

Page 11: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

11

OMRON Electronics SpA

comando

operando

comando

operando

Le istruzioni di SET e RESET

• L’istruzione SET imposta ad 1 il bit indicato come operando

• L’istruzione RSET imposta ad 0 il bit indicato come operando

Page 12: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

12

OMRON Electronics SpA

Fronte di salita e funzioni differenziate

• Con fronte di salita (discesa) di un segnale, si intende lacondizione per cui, nella scansione precedente quel segnale erastato letto ad OFF (ON) dal PLC, mentre nella scansioneattuale viene letto ad ON (OFF)

• Quasi tutte le funzioni integrate nel set di istruzioni del PLCpossono essere eseguite in due modalità:

– ad ogni scansione se è presente il segnale di abilitazione della funzione– solo per una scansione sul fronte di salita (o di discesa) del segnale di

abilitazione della funzione (funzione differenziata)

Page 13: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

13

OMRON Electronics SpA

Fronte di salita e funzioni differenziate

• Per differenziare una funzione è sufficiente inserire il carattere‘@’ prima di digitarne il nome

• Esempio:

– L’istruzione ‘MOV’ vieneeseguita ad ogni scansione se ilsegnale di abilitazione è ad ON

– L’istruzione ‘MOV’ vieneeseguita per una sola scansionesul fronte di salita del segnale diabilitazione è ad ON

Page 14: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

14

OMRON Electronics SpA

Fronte di salita e funzioni differenziate

• Originariamente nel set di istruzioni del PLC erano previste duefunzioni utili per intercettare i fronti di salita (DIFU) o di discesa(DIFD) dei segnali, in modo da poter controllare con un bitl’esecuzione di tutte le istruzioni non differenziabili

• A partire dalle famiglie CS1/CJ1 è invece possibile differenziarei contatti direttamente durante il loro inserimento, o utilizzaredelle istruzioni intermedie (UP e DOWN) consentendo dirisparmiare memoria di programma

Page 15: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

15

OMRON Electronics SpA

start

uscita5 secondi

start

uscita5 secondi

Esercizio 2: Timer Monostabile

• Realizzare un timer che fissi la durata dell’attivazione diun’uscita a 5 secondi, indipendentemente dalla durata delsegnale di Start

Page 16: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

16

OMRON Electronics SpA

Esercizio 2: Soluzione con autoritenuta

Page 17: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

17

OMRON Electronics SpA

Esercizio 2: Soluzione con SET e RESET

Page 18: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

18

OMRON Electronics SpA

Esercizio 2: Soluzione con SET e RESET

Page 19: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

19

OMRON Electronics SpA

t1 t2

112

2

3

4567

8

9

1011

Esercizio 3: Timer di Pausa/Lavoro

• Utilizzando due timer in combinazione tra loro, realizzare unonda con Duty Cycle variabile

Page 20: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

20

OMRON Electronics SpA

Esercizio 3: Soluzione

Page 21: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

21

OMRON Electronics SpA

I nuovi temporizzatori

• Le più recenti CPU delle famiglie di PLC CS1 e CJ1supportano una nuova gamma di temporizzatori non presentenelle serie di PLC precedenti

• La nuova gamma di temporizzatori comprende:

– Funzione di temporizzatore ritentivo TTIM(087)– Funzione di temporizzatore lungo TIML(542)– Funzione di temporizzatore multiplo MTIM(543)

Page 22: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

22

OMRON Electronics SpA

I nuovi temporizzatori

• Nuovi temporizzatori:– Temporizzatore TTIM(087): Simula un temporizzatore ad incremento

con ritardo programmabile in unità di decimi di secondo. L’SV puòvariare tra 0 e 999,9 secondi ed il PV viene mantenuto in caso diinterruzione del segnale di abilitazione.

Page 23: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

23

OMRON Electronics SpA

– Temporizzatore lungo TIML(542): Simula un temporizzatore adecremento, con ritardo programmabile in unità di decimi di secondo,il cui SV può variare tra 0 e 9999999,9 secondi (115 giorni circa)

– Temporizzatore multi uscita MTIM(543): Simula un temporizzatore adecremento con 8 set value ed 8 flag di completamento indipendenti. Ilritardo è programmabile in unità di decimi di secondo (da 0 a 999,9secondi)

I nuovi temporizzatori

Page 24: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

24

OMRON Electronics SpA

• Durante la stesura del progetto è possibile definire se lamodalità di lavoro dei temporizzatori e dei contatori debbaessere BCD o Esadecimale (binaria).

• CX-Programmer compileràcorrettamente solo il set diistruzioni per temporizzatorie contatori relativo allamodalità specificata.

I nuovi temporizzatori

Page 25: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

25

OMRON Electronics SpA

• Per visualizzare la finestra di impostazione della modalità dilavoro dei timer e counter è necessario cliccare con il tastodestro sull’icona del PLC nell’area di progetto ( )e selezionare la voce ’Proprietà’

I nuovi temporizzatori

Page 26: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

26

OMRON Electronics SpA

La funzione Contatore

• La funzione contatore (CNT) simula un contatore sottraente apredisposizione. Il valore di predisposizione (SV) può variare tra0 e 9999

• Il contatore ha due ingressi:– Ingresso di conteggio impulsi– Ingresso di reset

• Se Rt è OFF, ogni fronte di salita di Cp determina il decrementodel PV. Quando il PV diventa uguale a zero lo stato del contatoreva ad ON.

Page 27: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

27

OMRON Electronics SpA

La funzione Contatore

• I contatori sono ritentivi, ovvero il loro stato (bit di uscita e PV)viene mantenuto sia in caso di Power Off che di cambio dellamodalità operativa del PLC

• Quando il PV è uguale a 0 tutti gli eventuali impulsi di ingressovengono ignorati

• Se Rt va ad ON il contatore si resetta (PV=SV, stato=OFF)• Accoppiato ad un clock di sistema, un contatore può essere

utilizzato per realizzare un timer ritentivo• Accoppiando due contatori in cascata tra loro, si ottiene un

conteggio pari al prodotto di SV1 e SV2

Page 28: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

28

OMRON Electronics SpA

• Le famiglie di PLC CJ/CS dispongono di 4.096 contatori (da0 a 4.095) identificati univocamente dal proprio numero eseparati dall’area riservata ai 4.096 temporizzatori

• Nel caso di Timer e Counter è opportuno sottolineare che:– Il PV (valore attuale che decrementa) e il bit relativo alla condizione di

ON o di OFF del Timer (o Counter) si trovano nell’area dati– L’SV o valore di impostazione (valore iniziale di conteggio) si trova

nell’area di programma

Timer e Counter

Page 29: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

29

OMRON Electronics SpA

Esercizio 4: Realizzare un Timer ritentivo

• Utilizzare un contatore abbinato ad un clock di sistema di unsecondo (P_1s)

• Nel PLC sono presenti molti flag di sistema (clock a variefrequenze, flag di errore, bit sempre ad ON o ad OFF, ecc)

• L’elenco completo è disponibile nella maschera di inserimentodi un nuovo contatto, cliccando sulla freccia di estensione dellatendina a scorrimento

Page 30: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

30

OMRON Electronics SpA

Esercizio 4: Soluzione

Page 31: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

31

OMRON Electronics SpA

1..2..3..4..5..4..3..2..1..0

La funzione CNTR

• Permette di realizzare un contatore reversibile ‘ad anello’• Questo tipo di contatore necessita di tre segnali di ingresso:

– Ingresso di incremento– Ingresso di decremento– Ingresso di reset

Page 32: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

32

OMRON Electronics SpA

La funzione CNTR

• In fase di conteggio addizionante, quando il valore attuale diconteggio (PV) ha raggiunto il valore di preselezione (SV) alsuccessivo impulso il contatore va ad ON ed il PV diventauguale a zero

• In fase di conteggio sottraente, quando il valore attuale diconteggio (PV) è uguale a zero, al successivo impulso didecremento il contatore va ad ON e il PV diventa uguale all’SV

• Se l’ingresso di Reset è ad ON il PV diventa uguale a zero, lostato del contatore va ad OFF e gli impulsi di ingresso vengonoignorati

Page 33: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

33

OMRON Electronics SpA

IIn (incremento)

DIn (decremento)

Bit di uscita(Stato del CNT)

Valore Attuale (PV) SV-3SV-2

SV-1SV SV

SV-1SV

SV-1SV-2

La funzione CNTR

Page 34: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

34

OMRON Electronics SpA

Sensore di livello superiore

Sensore di livello inferiore

Motore

Valvola di svuotamento

Valvola di riempimento

StartReset

Led stop

Esercizio 5: Ciclo di riempimento-svuotamento

Page 35: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

35

OMRON Electronics SpA

Esercizio 5: Ciclo di riempimento-svuotamento

• Alla pressione del pulsante di Start (0.00), si apre la valvola diriempimento (1.00) e si mette in moto il motore di miscelazione(1.02)

• Quando il livello raggiunge il sensore superiore (0.02), la valvoladi riempimento si chiude, il motore si ferma e si apre la valvoladi svuotamento (1.01)

• Quando il livello raggiunge il sensore inferiore (0.03) la valvoladi svuotamento si richiude e può iniziare un altro riempimento

• Quando il ciclo è stato ripetuto quattro volte, il led di stop (1.03)si accende e un ulteriore ciclo non può essere iniziato se nondopo aver premuto il pulsante di Reset (0.01)

Page 36: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

36

OMRON Electronics SpA

Esercizio 5: Soluzione

Page 37: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

37

OMRON Electronics SpA

Esercizio 5: Soluzione

Page 38: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

38

OMRON Electronics SpA

• L’istruzione KEEP permette di realizzare un relè a ritenuta• Si hanno due ingressi:

– L’ingresso di Set– L’ingresso di Reset

• Se l’ingresso di Reset è ad OFF un impulso su S attiva inmodo permanente il bit programmato come operando dellafunzione

• Un impulso di Reset determina la disattivazione del bit diuscita

La funzione KEEP

001.05

100.00

001.07

Page 39: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

39

OMRON Electronics SpA

ESERCIZIO 6: Toggle

• Fare in modo che l’uscita 001.01 del PLC si attivi e disattivialternativamente ad ogni fronte di salita del segnale di ingresso000.00

Page 40: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

40

OMRON Electronics SpA

ESERCIZIO 6: Soluzione

Page 41: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

41

OMRON Electronics SpA

La funzione MOV

• L’istruzione MOV realizza lo spostamento di un dato a 16 bitda un canale sorgente S ad un canale destinazione D

• Le aree utilizzabili per il trasferimento sono:– CIO, W, HR, A, D, T, C

• Se S=0 il flag di uguale P_EQ va ad ON subito dopol’esecuzione dell’istruzione

• Esiste anche la funzione MVN che effettua uno spostamentodati NEGANDO però il dato stesso

Page 42: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

42

OMRON Electronics SpA

ESERCIZIO 7: Zero macchina

• Fare in modo che all’accensione il canale 001 di uscita delPLC abbia il seguente aspetto: 0 1 0 0 1 1 1 1 0 0 1 1 1 0 1 0sapendo che ad ogni bit di uscita corrisponde la posizioneavanzata (1) o arretrata (0) di un pistone

• Per poter manutenere la macchina si deve dare la possibilità,chiudendo ad esempio il contatto 000.01 di portare tutti ipistoni in posizione arretrata

• E’ necessario memorizzare la posizione dei pistoni primadella manutenzione (utilizzare il canale H0 come ‘memoriadella posizione’) per poterla ripristinare al termine dellamanutenzione (contatto 000.01 aperto)

Page 43: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

43

OMRON Electronics SpA

ESERCIZIO 7: Soluzione

Page 44: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

44

OMRON Electronics SpA

ESERCIZIO 7: Soluzione

Page 45: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

45

OMRON Electronics SpA

La funzione SFT

• L’istruzione SFT realizza la funzione di registro a scorrimentocon un ingresso seriale

• Lo scorrimento avviene a bit, partendo dal meno significativoal più significativo

• La funzione SFT richiede tre ingressi:– L’ingresso Dati: lo stato di questo ingresso viene trasferito nel registro a

scorrimento sul fronte di salita dell’ingresso di clock– L’ingresso di Clock: il fronte di salita di questo ingresso determina lo

scorrimento dei dati e il trasferimento dell’ingresso dati– L’ingresso di Reset: determina il reset del canale (o dei canali) su cui avviene

lo scorrimento

• E’ necessario specificare come operandi della funzione ilprimo e l’ultimo canale del registro

Page 46: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

46

OMRON Electronics SpA

La funzione SFT

• Il primo e l’ultimo canale del registro devono appartenere allastessa area

• Le aree utilizzabili sono: HR, W e A (da A448 ad A959)• Se si utilizzano canali di scorrimento appartenenti all’area HR

(ritentiva) i dati verranno mantenuti in caso di spegnimento

Page 47: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

47

OMRON Electronics SpA

Sensore 2

Sensore 1

Difettosi Normali

Valvola

ESERCIZIO 8: Controllo di qualità

Page 48: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

48

OMRON Electronics SpA

ESERCIZIO 8: Controllo di qualità

• Il sensore 1 (000.01) rileva i pezzi difettosi in transito su unnastro trasportatore, mentre il sensore 2 (000.02) rileva ilpassaggio di una tacca che misura lo scorrere dei pezzi (posti adeguale distanza)

• Quando un pezzo difettoso passa sopra lo sportello (posto ad unadistanza corrispondente a 5 pezzi dal sensore 1) una valvola(001.00) ne permette l’apertura ed il pezzo viene scartato

• Suggerimento: si utilizzi il canale H0 come registro ascorrimento per ‘mappare’ la posizione dei pezzi difettosi sulnastro trasportatore

Page 49: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

49

OMRON Electronics SpA

ESERCIZIO 8: Soluzione

Page 50: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

50

OMRON Electronics SpA

La funzione SFTR

• L’istruzione SFTR permette di realizzare la funzione di registroa scorrimento in modo bidirezionale

• Lo scorrimento può avvenire su uno o più canali (appartenentialla stessa area dati)

• Nella funzione devono essere specificati tre paramentri:

Page 51: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

51

OMRON Electronics SpA

CH startCH intermedioCH end

Scorrimento a sinistra

DatoCY

CH startCH intermedioCH end

Scorrimento a destra

Dato CY

La funzione SFTR

• Lo scorrimento dei dati avviene nelle seguenti condizioni:– L’istruzione di SFTR è abilitata– Il bit 14 del canale di controllo (clock) fornisce un fronte di salita

• Il flag P_CY (Carry) riceve lo stato del bit ‘in uscita’ dalregistro a scorrimento

Page 52: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

52

OMRON Electronics SpA

La funzione SFTR

• I vari ingressi (Direzione, Dato, Clocke Reset) vengono gestiti tramite uncanale di controllo

• I quattro bit più significativi del canaledefinito come canale di controlloassumono il seguente significato:

15 14 13 12 Non usati

Direzione di shift (0=dx; 1=sx).Ingresso Dato.Ingresso di Clock.Ingresso di Reset.

NB:

Page 53: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

53

OMRON Electronics SpA

ESERCIZIO 9: Scorrimento Up/Down

• Si realizzi un programma che faccia scorrere in modoup/down un pacchetto di tre bit nel canale di uscita (001) conil ritmo di uno shift al secondo

• Utilizzare le istruzioni SFTR(084), MOV(021), KEEP(011)e i flag di sistema P_First_Cycle, P_On e P_1s

10 0 0 0 0 0 0 0 0 0 0 100 1CANALE 001

Page 54: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

54

OMRON Electronics SpA

ESERCIZIO 9: Soluzione

Page 55: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

55

OMRON Electronics SpA

ESERCIZIO 9: Soluzione

Page 56: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

56

OMRON Electronics SpA

Istruzioni di Incremento e Decremento

• Istruzioni di incremento e decremento in esadecimale:– ++ : Incrementa in Esadecimale il contenuto di una word– -- : Decrementa in Esadecimale il contenuto di una word– ++L : Incrementa in Esadecimale il contenuto di due word– --L : Decrementa in Esadecimale il contenuto di due word

• Istruzioni di incremento e decremento in BCD:– ++B : Incrementa in BCD il contenuto di una word– --B : Decrementa in BCD il contenuto di una word– ++BL : Incrementa in BCD il contenuto di due word– --BL : Decrementa in BCD il contenuto di due word

Page 57: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

57

OMRON Electronics SpA

Istruzioni di Incremento e Decremento

• Esempio Incremento Binario (++):

• Esempio Incremento BCD (++B):

Page 58: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

58

OMRON Electronics SpA

La funzione CMP

• La funzione Compare (CMP) confronta i dati di un canale (16bit) o una costante, con i dati contenuti in un altro canale

• In relazione al risultato del confronto vengono attivati iseguenti flag di sistema:

– Maggiore (Greather -P_GT-)– Minore (Less -P_LE-)– Uguale (Equal -P_EQ-)

• Uno ed uno solo dei flag tra P_GT, P_LE e P_EQ verrà settatoal termine del confronto

Page 59: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

59

OMRON Electronics SpA

La funzione CMP

• Poiché i flag P_GT, P_EQ, P_LT vengono gestiti da varieistruzioni (e comunque vengono resettati a fine scansione), ènecessario gestire il risultato del confronto con un ramocircuitale immediatamente successivo a quello che ha attivatola CMP

• Le costanti utilizzabili nella comparazione possono essere siaesadecimali (0…FFFF) che BCD (0…9999)

Page 60: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

60

OMRON Electronics SpA

ESERCIZIO 9: Cronometro

• Realizzare un cronometro che gestisca isecondi e i decimi di secondo

• Un unico pulsante dovrà comandare loStart e lo Stop del cronometro

• Prevedere anche un pulsante di Reset

Page 61: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

61

OMRON Electronics SpA

ESERCIZIO 9: Soluzione

Page 62: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

62

OMRON Electronics SpA

ESERCIZIO 9: Soluzione

Page 63: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

63

OMRON Electronics SpA

ESERCIZIO 9: Soluzione

Page 64: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

64

OMRON Electronics SpA

• Come già sottolineato, le nuove famiglie di PLC CJ1 e CS1supportano un insieme di nuove istruzioni

• Tra queste, sono state introdotte anche alcune funzionicosiddette ‘intermedie’ che non si trovano al termine dellaRung come tutte le altre, bensì all’interno di essa, e richiedonoquindi anche un segnale di uscita

• L’utilizzo di queste istruzioni in alcuni casi semplificanotevolmente la stesura del programma

• Esempio:

Introduzione alle nuove istruzioni

Page 65: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

65

OMRON Electronics SpA

• Istruzioni di ingresso differenziate:– Fronte di salita (@)– Fronte di discesa (%)

• Istruzioni di refresh immediato:– Refresh immediato di un ingresso o di un’uscita (!)– Possibile combinazione con la differenziazione

• Istruzioni UP e DOWN– Come DIFU e DIFD– Sono istruzioni intermedie che non richiedono di un bit di appoggio

Introduzione alle nuove istruzioni

Page 66: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

66

OMRON Electronics SpA

Introduzione alle nuove istruzioni

• Istruzioni di comparazione:– Sono istruzioni intermedie (=, <>, <, <=, >, >=)– Suffisso S ( p.es: >S ): Confronto di dati binari con segno– Suffisso L ( p.es: >L ): Confronto di dati su doppia word

• Istruzioni di Set e Reset multiplo:– SETA(530) : Imposta ad 1 il numero specificato di bit consecutivi a

partire da un determinato bit del canale iniziale stabilito– RSTA(531) : Imposta a 0 il numero specificato di bit consecutivi a

partire da un determinato bit del canale iniziale stabilito

Page 67: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

67

OMRON Electronics SpA

Esercizio

• Alla luce delle nuove istruzioni di comparazione e di gestionedei fronti di salita, studiare le soluzioni alternative per risolvereil problema del cronometro, discusso nell’esercizio precedente

• Valutare dove le nuove soluzioni rappresentano o meno unmiglioramento nella leggibilità, nella struttura e nella logica delprogramma.

Page 68: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

68

OMRON Electronics SpA

La funzione WSFT

• L’istruzione WSFT permette di realizzare uno scorrimento datia livello di canale.

• Lo scorrimento può avvenire su uno o più canali appartenentialla stessa area dati

• Ad ogni esecuzione dell’istruzione si ha uno scorrimento datipari ad un intero canale

Page 69: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

69

OMRON Electronics SpA

000.00

WSFT(16)

DM 0015

DM 0017

#0000

#1234

#5678

DM 0015

DM 0016

DM 0017

Dopo di WSFT(16)

#1234

#5678

#9012

DM 0015

DM 0016

DM 0017

Prima di WSFT(16)

#0000

Dato perso

La funzione WSFT

• Dopo lo scorrimento, nel canale di partenza viene scritto ilvalore 0 mentre il contenuto dell’ultimo canale viene perso

• Esempio:

Page 70: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

70

OMRON Electronics SpA

• L’immagine di processo (IP) degli I/O viene normalmenteaggiornata a fine scansione.

• L’istruzione IORF (aggiornamento degli I/O) provoca,nell’istante in cui viene eseguita, l’aggiornamento reale deicanali allocati ai moduli di I/O standard o ai moduli di I/Ospeciali

La funzione IORF

Page 71: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

71

OMRON Electronics SpA

La funzione IORF

• Questa istruzione può essere utilizzata per ovviare a problemilegati al campionamento a scansione della IP, nel caso in cui siabbiano tempi di scansione elevati

• L’IORF può essere utilizzata per campionare quindi il segnalecon una frequenza più elevata

Page 72: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

72

OMRON Electronics SpA

I tipi di dati e leistruzioni aritmetiche

Page 73: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

73

OMRON Electronics SpA

Tipo Dimensione Segno Formato Range Note

BOOL 1 Bit - Binary 0/1 Indirizzo di un Bit di ingresso o uscita, stati possibili 0OFF e 1 ON.

INT 1 word Sì Binary -32768 / +32767 Indirizzo di una word binaria con segno.

DINT 2 word Sì Binary -2147483648+2147483647

Indirizzo di una doppia word binaria con segno.

LINT 4 word Sì Binary -9,223372036855x1018

+9,223372036855x1018Indirizzo di un intero con segno quadruplo (4 wordbinarie).

UINT 1 word No Binary 0 / 65535 Indirizzo di una word binaria senza segno.

UDINT 2 word No Binary 0 / 429467295 Indirizzo di una doppia word binaria senza segno.

ULINT 4 word No Binary 0 / 1,844674407371x 1019 Indirizzo di un intero senza segno quadruplo (4 wordbinarie).

UINT_BCD 1 word No BCD 0 / 9999 Indirizzo di una word in formato BCD (4 digit)

UDINT_BCD 2 word No BCD 0 / 99999999 Indirizzo di una doppia word in formato BCD (8 digit)

ULINT_BCD 4 word No BCD 0 / 9999999999999999 Indirizzo di un intero in formato BCD a 16 digit.

REAL 2 word Sì IEEE -3.402823 x 1038

-1.175494 x 10-38

01.175494 x 10-38

3.402823 x 1038

Indirizzo di una doppia word (32Bit) gestita in formatofloating point IEEE. Questo formato viene usato per leoperazioni floating point dei CVM1-V2 e dei CS1.

CHANNEL 1 o più word - - - Indirizzo di una o più word. Su questo tipo nonvengono effettuati controlli ne conversioni.

NUMBER - No Decimal - Nome simbolico utilizzabile al posto di una costantenumerica.

Tipi di dati

Page 74: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

74

OMRON Electronics SpA

• Ogni istruzione ha, per i propri operandi, dei Tipi di datipredefiniti.

• Questo rende possibile un potente controllo sui dati in quanto,alla compilazione, il Cx-Programmer effettua un confronto trail tipo dell’operando inserito e il tipo dell’operando accettabiledall’istruzione.

• Esempio: inserendo un dato definito UINT come operando diuna +B(400) (somma BCD senza carry), alla compilazioneviene generato un segnale di Warning.

• Serà comunque possibile trasferire il programma sul PLC.

Tipi di dati

Page 75: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

75

OMRON Electronics SpA

Istruzioni di somma e sottrazione

• Storicamente le istruzioni aritmetiche più comunemente utilizzate(ADD, SUB,.. ecc) lavoravano in formato BCD ed erano quindisoggette a tutte le limitazioni derivanti da quel tipo di codifica

• Inoltre il flag di Carry (o riporto) CY veniva sempre sommato osottratto agli operandi, e doveva quindi essere trattato conparticolari istruzioni di Set Carry (STC) e Clear Carry (CLC) inmodo da gestire correttamente Overflow e risultati negativi

• Nella nuova generazione di PLC le istruzioni aritmetichelavorano invece di default in esadecimale (se non specificatodiversamente) ed il flag di Carry non influisce il risultato

Page 76: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

76

OMRON Electronics SpA

Istruzioni di somma e sottrazione

• Istruzioni di somma e sottrazione binaria:– + (-) : Somma (sottrazione) binaria con segno senza CY– +L (-L) : Somma (sottrazione) binaria con segno senza CY (2 word)– +C (-C) : Somma (sottrazione) binaria con segno con CY– +CL(-CL) : Somma (sottrazione) binaria con segno con CY (2 word)

• Istruzioni di somma e sottrazione BCD:– +B (-B) : Somma (sottrazione) BCD senza CY– +BL (-BL) : Somma (sottrazione) BCD senza CY (2 word)– +BC (-BC) : Somma (sottrazione) BCD con CY– +BCL(-BCL): Somma (sottrazione) BCD con CY (2 word)

Page 77: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

77

OMRON Electronics SpA

Istruzioni di moltiplicazione e divisione

• Istruzioni di moltiplicazione e divisione binaria:– * (/) : Moltiplicazione (divisione) binaria con segno– *L (/L) : Moltiplicazione (divisione) binaria con segno (2 word)– *U (/U) : Moltiplicazione (divisione) binaria senza segno– *UL(/UL) : Moltiplicazione (divisione) binaria senza segno (2 word)

• Istruzioni di moltiplicazione e divisione BCD:– *B (/B) : Moltiplicazione (divisione) BCD– *BL (/BL) : Moltiplicazione (divisione) BCD (2 word)

Page 78: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

78

OMRON Electronics SpA

Tabella di comparazione

Tipo di operazione PLC serie CPM1/CPM2,CQM1, C200HAlpha

PLC serieCJ1/CS1

Somma (Sottrazione) BCD senza riporto -- +B (-B)

Somma (Sottrazione) BCD con riporto ADD (SUB) +BC (-BC)

Somma (Sottrazione) Binaria senza riporto -- + (-)

Somma (Sottrazione) Binaria con riporto ADB (SBB) +C (-C)

Somma (Sottrazione) BCD senza riporto (2 word) -- +BL

Somma (Sottrazione) BCD con riporto (2 word) ADDL (SUBL) +BCL

Somma (Sottrazione) Binaria senza riporto (2 word) -- +L (-L)

Somma (Sottrazione) Binaria con riporto (2 word) ADBL (SBBL) +CL (-CL)

Moltiplicazione (Divisione) BCD MUL (DIV) *B (/B)

Moltiplicazione (Divisione) Binaria con segno MBS (DBS) * (/)

Moltiplicazione (Divisione) Binaria senza segno MLB (DVB) *U (/U)

Moltiplicazione (Divisione) BCD (2 word) MULL (DIVL) *BL (/BL)

Moltiplicazione (Divisione) Binaria con segno (2 word) MBSL (DBSL) *L (/L)

Moltiplicazione (Divisione) Binaria senza segno (2 word) -- *UL (/UL)

Page 79: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

79

OMRON Electronics SpA

L’istruzione di somma (+)

• L’istruzione di somma + (400) esegue la somma binaria consegno tra due dati a 16 bit (canali e/o costanti)

• Il bit di Carry NON viene sommato al risultato• Gli operandi dell’istruzione sono tre:

– Au e Ad: Addendi. Aree: CIO, W, H, A (da A0 ad A959), T, C, D, E, #,IR (da IR0 a IR15)

– R: Risultato. Aree: CIO, W, H, A (da A448 ad A959), T, C, D, E, #, IR(da IR0 a IR15)

Page 80: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

80

OMRON Electronics SpA

L’istruzione di somma con Carry (+C)

• L’istruzione di somma con Carry +C (402) esegue la sommabinaria con segno tra due dati a 16 bit (canali e/o costanti)

• Il bit di Carry viene sommato al risultato• Gli operandi dell’istruzione sono tre:

– Au e Ad: Addendi. Aree: CIO, W, H, A (da A0 ad A959), T, C, D, E, #,IR (da IR0 a IR15)

– R: Risultato (A1+A2+P_CY). Aree: CIO, W, H, A (da A448 ad A959),T, C, D, E, #, IR (da IR0 a IR15)

Page 81: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

81

OMRON Electronics SpA

Le istruzioni di somma

• Il flag di riporto P_CY=1 indica che la somma dei due addendiha superato il limite 7FFF (9999 per le somme BCD)

• Nel caso di somme con 8 o più cifre (somme combinate) ilriporto dovrà essere resettato solo per la prima somma

• Se il risultato dell’operazione di somma è 0, il flag di ugualeP_EQ andrà ad 1

• Nel caso di somme BCD, se entrambi gli addendi non sono informato BCD, l’operazione di somma non viene eseguita e siavrà il flag di errore P_ER=1

Page 82: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

82

OMRON Electronics SpA

L’istruzione di sottrazione (-)

• L’istruzione di sottrazione - (410) esegue la sottrazione binariacon segno tra due dati a 16 bit (canali e/o costanti)

• Il bit di Carry NON viene sottratto al risultato• Gli operandi dell’istruzione sono tre:

– Mi e Su: Minuendo e sottraendo. Aree: CIO, W, H, A (da A0 ad A959),T, C, D, E, #, IR (da IR0 a IR15)

– R: Risultato. Aree: CIO, W, H, A (da A448 ad A959), T, C, D, E, #, IR(da IR0 a IR15)

Page 83: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

83

OMRON Electronics SpA

L’istruzione di sottrazione con Carry (+C)

• L’istruzione di sottrazione con Carry -C (412) esegue lasottrazione binaria con segno tra due dati a 16 bit (canali e/ocostanti)

• Il bit di Carry viene sottratto al risultato• Gli operandi dell’istruzione sono tre:

– Mi e Su: Minuendo e sottraendo. Aree: CIO, W, H, A (da A0 ad A959),T, C, D, E, #, IR (da IR0 a IR15)

– R: Risultato (Mi-Su-P_CY). Aree: CIO, W, H, A (da A448 ad A959), T,C, D, E, #, IR (da IR0 a IR15)

Page 84: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

84

OMRON Electronics SpA

Le istruzioni di sottrazione

• Il flag di riporto P_CY=1 indica che il risultato è negativo• In caso di risultato negativo, nel canale risultato si trova il

complemento a due (o a 10 nel caso di sottrazioni BCD) delrisultato corretto.

• Per ottenere il modulo del risultato (cioè il risultato corretto ameno del segno) si deve sottrarre 0 dal risultato stesso; peresempio è possibile utilizzare due sottrazioni in cascata edeseguire la seconda in base alla condizione del flag di riporto

• Nel caso di sottrazioni BCD, se entrambi gli addendi non sonoin formato BCD, l’operazione di somma non viene eseguita e siavrà il flag di errore P_ER=1

Page 85: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

85

OMRON Electronics SpA

L’istruzione di moltiplicazione (*)

• L’istruzione di moltiplicazione *(420) esegue la moltiplicazionetra due dati binari con segno a 16 bit

• Gli operandi dell’istruzione sono tre:

– Md e Mr: Moltiplicando e Moltiplicatore. Aree: CIO, W, H, A (da A0 adA959), T, C, D, E, #, IR (da IR0 a IR15)

– R: Risultato. Aree: CIO, W, H, A (da A448 ad A959), T, C, D, E, #, IR(da IR0 a IR15)

Page 86: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

86

OMRON Electronics SpA

L’istruzione di moltiplicazione (*)

• Il risultato della moltiplicazione verrà posto in due canaliconsecutivi

• Il canale specificato nell’istruzione come terzo parametro indicail canale meno significativo in cui verrà trasferito il risultato.

• Se il risultato della moltiplicazione è pari a 0 si alza il flag diuguale P_EQ

Page 87: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

87

OMRON Electronics SpA

L’istruzione di divisione (/)

• L’istruzione di divisione /(420) esegue la divisione tra due datibinari con segno a 16 bit

• Gli operandi dell’istruzione sono tre:

– Dd e Dr: Dividendo e Divisore. Aree: CIO, W, H, A (da A0 ad A959), T,C, D, E, #, IR (da IR0 a IR15)

– R: Risultato. Aree: CIO, W, H, A (da A448 ad A959), T, C, D, E, #, IR(da IR0 a IR15)

Page 88: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

88

OMRON Electronics SpA

L’istruzione di divisione (/)

• Il risultato della divisione verrà posto in due canali consecutivi esuddiviso in quoziente e resto

• Il canale successivo a quello specificato nell’istruzione cometerzo parametro viene riservato per il resto.

• Se il risultato della divisione è pari a 0 si alza il flag di ugualeP_EQ

• La divisione per zero non viene eseguita e si alza il flag di erroreP_ER

Page 89: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

89

OMRON Electronics SpA

• Occorre prestare attenzione durante l’inserimento di costanticome operandi di istruzioni.

• Dalla tabella si nota che per operandi di istruzioni binarie, sonopossibili tre modi di inserimento di costanti (#, &, + e -).

• &,+,- si usano per inserire valori decimali mentre # denota unvalore esadecimale o BCD.

Uso delle costanti numeriche

Page 90: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

90

OMRON Electronics SpA

SOMMA BINARIA RISULTATO+(400) &0010 &0010 D0 20 D0=0014 hex+(400) &0010 #0010 D1 26 D1=001A hex+(400) &0010 +10 D2 20 D2=0014 hex+(400) #0010 #0010 D3 32 D3=0020 hex+(400) #0010 +10 D4 26 D4=001A hex+(400) +10 +10 D5 20 D5=0014 hex+(400) - 10 +10 D6 0 D6=0000 hex+(400) - 10 - 10 D7 -20 D7=FFEC hex

Uso delle costanti numeriche

Page 91: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

91

OMRON Electronics SpA

Costanti numeriche: esempio

Page 92: ESERCIZI (parte prima)aula42.altervista.org/sistemi/plc/Corso/Esercizi1.pdf1 OMRON Electronics SpA ESERCIZI (parte prima) LD OUT CNT TIM AND 2 OMRON Electronics SpA • La serie CJ1

92

OMRON Electronics SpA

Costanti numeriche: esempio