Per chi non ha il PLC S7-200 e relativo cavo di programmazione, consiglio l'utilizzo del simulatore fornitoci da CanalPLC. Le semplici cose da fare per scaricare questo simulatore, sono satate già dette nell'incontro precedente.
Indice |
IL LINGUAGGIO AWL
A differenza del KOP o LADDER, l'AWL è composto da istruzioni di comando. Nell'istruzione AWL, troviamo un'operazione e un operando:
A I0.0 (istruzione in AWL)
- A = operazione
- I0.0 = operando
L'operzione specifica ciò che dovrà fare l'operando, alcune di queste sono:
- A = and (combina il valore di bit tramite "and")
- O = or (combina il valore di bit tramite "or")
- LD = load (carica il valore di bit)
- AN = andnot (combina il valore di bit negato tramite "and")
- ON = ornot (combina il valore di bit negato tramite "or")
- LDN = loadnot (carica il valore di bit negato)
Le operazioni su esposte combinano o caricano il valore del bit nel primio livello dello stack logico, e quando è necessario anche nel secondo livello.
In AWL il contatto "n.o." è rappresentato dalle operazioni LD,OR,AND
Mentre il contatto "n.c." è rappresentato dalle operazioni LDNOT,ORNOT,ANDNOT
LO STACK logico
La CPU del PLC S7-200, al fine di svolgere i compiti della logica di controllo (operazioni di and,or,caricamento etc.etc.) utilizza una sorta di magazzino composto da nove cassetti posizionati in un'unica fila, ogni cassetto può contenere un bit. I primi due cassetti a partire dall'alto sono detti primo e secondo livello dello stack. Quindi lo stack logico ha una profondità di nove bit, e una larghezza i un bit. Le operazioni logiche vengono effettuate utilizzando maggiormente il primo e il secondo livello dello stack. Durante l'esecuzione del programma, il valore contenuto nel primo cassetto (primo livello dello stack) viene di volta in volta, in base alle operazioni logiche (and,or,ld,etc) effettuate, sostituito con i risultati ottenuti.
L'operando I0.0 è composto da:
- I = identificazione dell'operando
- 0.0 = indirizzo (il numero a sinistra del punto è l'indirizzo a byte, il numero a destra è l'indirizzo a bit)
Nel campo identificazione dell'operando possiamo trovare:
- I = ingresso
- Q = uscita
- M = merker
- SM = special merker
- V = variabile
BIT BYTE WORD
Il bit è l'unità più piccola di informazione, vale "0" o "1".
Il byte è composto da otto bit, con esso si rappresentano numeri da 0-255.
Due byte formano una parola (word) con essa si esprimono numeri da -32768 a +32767
Per maggiori informazioni consiglio la lettura dell'articolo "NUMERI BINARI E VARIABILI" presente nel tutorial PLC-Controllori a logica programabile, pubblicato in questo sito.
Le combinazioni logiche AND e OR
La combinazione logica "and" (A) è paragonabile ad una moltiplicazione, ci sarà passaggio di corrente da A a B solo se tutti e due i contatti sono chiusi. Quindi se valgono "1" tutti e due. INFATTI
- 1 x 0 = 0 nessun passaggio di corrente
- 0 x 1 = 0 nessun passaggio di corrente
- 1 x 1 = 1 ci sarà passaggio di corrente
La seguente figura mostra la combinazione logica "or" (O)
la combinazione logica "or" è paragonabile ad una addizione. Basta un solo contatto chiuso per ottenere il passaggio di corrente
- 1 + 0 = 1
- 0 + 1 = 1
- 0 + 0 = 0
solo se nessuno dei due contatti è chiuso non ci sarà passaggio di corrente.
ESEMPIO 1
- LD I0.0 ;carica il valore di bit nel primo livello dello stack
- A I0.1 ;combina il valore di bit tramite and
- LD I0.2 ;carica il valore di bit nel secondo livello dello stack
- A I0.3 ;combina il valore di bit tramite and
- OLD ;(orld) combina primo e secondo livello tramite or
- = Q1.0 ;assegna il valre dello stack a Q1.0
ESEMPIO 2
- LD I0.0 ; carica il valore di bit nel primo livello dello stack
- LD I0.2 ; carica il valore di bit nel secondo livello
- O I0.3 ; combina il valore di bit tramite or
- A I0.1 ; combina il valore di bit tramite and
- OLD ; combina primo e secondo livello tramite or
- = Q1.0 ; assegna il valore dello stack a Q1.0
ESEMPIO 3
- LD I0.0
- O I0.1
- LD I0.2
- O I0.3
- ALD
- = Q1.0
In questo esempio troviamo come nuova istruzione "ALD" che effettua l'operazione di "and" del primo e secondo livello dello stack.
relé bistabile
seg.1
- LD I0.0 ; carica il valore di bit nel I livello stack
- EU ; rilevamento fronte di salita
- LPS ; duplicazione logica
- AN Q0.5 ; combina il valore di bit negato tramite and
- S M0.0,1 ; imposta il merker M0.0 ad "1"
- LPP ; prelevamento logico
- A Q0.5 ; combina tramite and
- R M0.0,1 ; resetta il merker M0.0
seg.2
- LD M0.0 ; carica il valore di bit nel I livello stack
- = Q0.5 ; assegna il valore di stack a Q0.5
Il listato su esposto permette di attivare e disattivare un'uscita tramite la pressione di un solo pulsatne.
Nel listato è anche presente il "merker" (M0.0). I merker sono locazioni di memoria interna simili a contattori ausiliari. Il contenuto dei merker è subito disponibile per le combinazioni logiche successive. Per maggiori chiarimenti consultare la guida in linea del software Step7-MicroWin, oppure i manuali in pdf scaricabili dal sito internet della SIEMENS.