Sei sulla pagina 1di 23

Corso PLC Siemens S7-200

Set Istruzioni Base 1

2010-2012 Gilberto Padovani - Tutti i diritti riservati - E espressamente vietata qualsiasi duplicazione del presente documento.
Tutti i diritti sono riservati a norma di legge. Nessuna parte di questo documento pu essere riprodotta senza lautorizzazione dellautore, Gilberto Padovani.
E espressamente vietato trasmettere ad altri il seguente documento, n in formato cartaceo, n elettronico, n per denaro n a titolo gratuito.
Tutti i marchi , i brevetti registrati, i software o porzioni di essi descritti in questo documento, sono dei legittimi proprietari.

In generale
La CPU

224 dispone di oltre 200 istruzioni, con le quali


possibile realizzare comandi e controlli di qualsiasi
processo.

Le

istruzioni sono suddivise in categorie, a seconda del


tipo di operazione da eseguire.

Nel

corso base affronteremo le istruzioni di ingresso


sequenza, uscita sequenza, controllo sequenza,
temporizzazione e contatore, confronto, e cenni
sulle istruzioni di spostamento dati, scorrimento
dati, incremento e decremento, matematiche,
conversione, logiche.

Load

Indica

un inizio logico e crea una condizione di


esecuzione ON/OFF basata sullo stato del bit assegnato
alloperando.

In

KOP le operazioni a contatto diretto, normalmente


aperto, viene rappresentato tramite contatto grafico.

In

AWL il contatto diretto, normalmente aperto, viene


rappresentato dalloperazione LD (Load). Carica il
valore del Bit direttamente.
3

Load Not

Indica

un inizio logico e crea una condizione di


esecuzione ON/OFF, basata sull inversione dello stato
ON/OFF del bit assegnato all operando.

In

KOP le operazioni a contatto diretto, normalmente


chiuso, viene rappresentato tramite contatto grafico.

In

AWL il contatto diretto, normalmente chiuso, viene


rappresentato dalloperazione LDN (Load Not).
Carica il valore del Bit direttamente e inverti lo stato.
4

And

Esegue

un AND logico dello stato del bit operando


specificato, e della condizione di esecuzione corrente.

And Not

Inverte

lo stato del bit operando ed esegue un AND


logico, con la condizione di esecuzione corrente.

Or

Esegue

un OR logico dello stato On/Off del bit


operando specificato, e della condizione di esecuzione
corrente.

Or Not

Inverte

lo stato del bit operando ed esegue un OR


logico, con la condizione di esecuzione corrente.
6

Output

<Bit>

Invia

in uscita il risultato dellelaborazione logica, al bit


specificato. (Usato sia per variabili fisiche che interne).

Output Not

<Bit>

NOT
Inverte

il risultato dellelaborazione logica, e lo invia in


uscita al bit specificato. (Usato sia per variabili fisiche
che interne).

S
<Bit>: Operando

S
<N>: Numero di Bit

Listruzione

S (Imposta Bobina) imposta su ON


loperando e il numero consecutivo di bit (N), quando
la condizione di esecuzione ON.

Condizione di
Esecuzione
1

Stato
delloperando

R
<Bit>: Operando

R
<N>: Numero di Bit

Listruzione

R (Resetta Bobina) imposta su OFF


loperando e il numero consecutivo di bit (N), quando
la condizione di esecuzione ON.
Condizione di
Esecuzione
1

Stato
delloperando

SR

<Operando>

SR
S1: Ingresso di Set

S1

R: Ingresso di Reset

OUT

Out: Uscita da assegnare


(segue lo stato delloperando)

Listruzione

SR (Setta Resetta flip flop) o blocco


funzionale bistabile, simula la funzionalit di un rel a
ritenuta.

S1
R

SR
OUT

Condizione di
Esecuzione S1
Condizione di
Esecuzione R
Stato di OUT

10

<Operando>

P
Listruzione

P (transizione positiva) genera sul fronte di


salita del segnale dingresso un impulso, avente la
durata di 1 ciclo di scansione.
Condizione di esecuzione
Stato delloperando

Quando

la condizione di esecuzione vera, tramite


listruzione P viene emesso un fronte di salita, ed
eseguito il salto all'etichetta 1.
11

<Operando>

N
Listruzione

N (transizione negativa) genera sul fronte


di discesa del segnale dingresso un impulso, avente la
durata di 1 ciclo di scansione.
Condizione di esecuzione

Stato delloperando

Quando

la condizione di esecuzione vera, tramite


listruzione N viene emesso un fronte di discesa, ed
eseguito il salto all'etichetta 2.
12

TON

Txxx
IN

TON

PT

?ms

T: Costante da 0 a 255
IN: Ingresso di abilitazione
PT: Preset
ms: Base tempi utilizzata

Listruzione

TON (Avvia bobina temporizzatore come


ritardo all'inserzione) genera un ritardo alleccitazione,
rispetto al segnale d ingresso.

La

base tempi cambia a seconda del numero di


temporizzatore utilizzato. (Da T0 a T255).

13

TON
Quando

lingresso del temporizzatore va ad ON, il


valore corrente del Timer inizia a decrementare.

Affinch

il Timer diventi attivo (Bit di completamento


ON) il segnale di ingresso deve durare almeno quanto il
valore del preset. (esempio PT=20 significa 2 secondi,
con base base tempi di 100ms)
ON

Ingresso del Temporizzatore

OFF

T=2Sec
Bit di completamento

Tempo

14

TONR
Txxx
IN TONR
PT

?ms

T: Costante da 0 a 255
IN: Ingresso di abilitazione
PT: Preset
ms: Base tempi utilizzata

Listruzione

TONR (Avvia bobina temporizzatore come


ritardo all'inserzione con memoria) genera un ritardo
alleccitazione rispetto al segnale d ingresso, e
memorizza il tempo trascorso.

Non

si possono utilizzare gli stessi numeri di


temporizzatori per TON, TOF, TONR.

15

TONR

16

CTU
Zxxx
CU
R
PV

CTU

Z: Costante da 0 a 255
CU: Ingresso di conteggio
R: Ingresso di Reset
PV: Preset Value

Listruzione

CTU (Conta in avanti) incrementa di "1" il


valore del contatore specificato, sul fronte del segnale di
ingresso, se il valore del contatore minore di 32.767".

32.767

il valore massimo impostabile nelloperando


PV. Quando il contatore, partendo dal valore corrente
arriva al valore del Preset Value, il conteggio termina, e
il bit relativo viene posto a ON.

17

CTD
Zxxx
CU
R
PV

CTD

Z: Costante da 0 a 255
CU: Ingresso di conteggio
R: Ingresso di Reset
PV: Preset Value

Listruzione

CTD (Conta indietro) decrementa di "1" il


valore del contatore specificato, sul fronte di salita del
segnale di ingresso, se il valore del contatore
maggiore di 0".

32.767

il valore massimo impostabile nelloperando


PV. Quando il contatore, partendo dal valore corrente
arriva a 0, il conteggio termina, e il bit relativo viene
posto a ON.

18

Esempio conteggio allindietro

19

JMP
<N>

JMP

N: Da 0 a 255

Loperazione

JMP, salta alletichetta, esegue un salto


allinterno del programma verso letichetta specificata.

Per

ogni - - - ( JMP ) deve essere presente anche una


destinazione (etichetta di salto). Sia il JMP che
letichetta devono avere lo stesso numero (N).

Le

operazioni comprese tra listruzione di salto e


l'etichetta non vengono eseguite.

20

JMP

<N>

JMP

Se

E 0.0 = 1, viene eseguito il salto all'etichetta 1.


A causa del salto, l'operazione per resettare l'uscita
A 4.0 non viene eseguita, anche se E 0.3 fosse = 1.
21

LABEL
LABEL

Identifica

la destinazione di unoperazione di salto.

Letichetta

di salto deve riportare lo stesso numero (da


0 a 255) dellistruzione JMP richiamante.

Per

ogni ---( JMP ) deve essere presente anche una


etichetta di salto (LABEL ).

22

SBR
SBR_n
EN

Listruzione

SBR (richiama sottoprogramma)


trasferisce il controllo al sottoprogramma definito in
SBR_n.

Il

richiamo al sottoprogramma pu essere sia


condizionato che incondizionato.

Terminata

lesecuzione del sottoprogramma richiamato,


il programma riprende lelaborazione, dallistruzione
subito successiva allistruzione chiamante.

23