SOFTWARE - STEP-7

Transcript

SOFTWARE - STEP-7
SOFTWARE - STEP-7
-AVVIAMENTO DI “STEP 7”-Micro/Win (Win’95/98/NT)Nella cartella SIMATIC, a cui si accede dal menù di AVVIO, è contenuta la cartella STEP 7Micro/Win32.Questa contiene a sua volta l’icona di avvio per STEP 7-Micro/Win 32 v3.0.
Fare clic con il tasto sinistro del mouse per avviare il programma..
Questa è la schermata iniziale con cui si presenta Step-7:
Si possono distinguere tre zone di lavoro, la prima chiamata comunemente anche “barra di
navigazione”; la seconda è la “barra di lavoro”, in cui si trovano tutti i riferimenti al progetto e i
componenti; l’ultima è il vero ambiente di lavoro detto editor di programma.
L’editor di programma è come una griglia suddivisa in celle (le celle rappresentano le aree in cui è
possibile inserire un'operazione, assegnare un valore a un parametro oppure disegnare una linea).
All'interno della griglia, i singoli segmenti non devono estendersi oltre le 32 celle in senso
orizzontale o le 32 celle in senso verticale
Barra degli strumenti.
-Per aprire un nuovo progetto cliccare con il mouse nell’icona .
-Per aprire un progetto già esistente cliccare con il mouse sull’icona .
-Per salvare il progetto in corso cliccare con il mouse sull’icona .
-Per stampare il progetto cliccare sull’icona .
-Per visualizzare l’anteprima di stampa cliccare con il mouse sull’icona .
-Per tagliare parti di testo o immagini tenere premuto il tasto del mouse mentre si seleziona
l’oggetto da tagliare con il mouse
-Per incollare l’oggetto tagliato cliccare con il mouse su
-Per compilare la finestra attiva del programma cliccare con il mouse su
-Per compilare tutto il programma cliccare con il mouse su
Per eseguire la compilazione si può anche utilizzare il menu CPU:
 "Compila" consente di compilare un singolo
elemento del progetto. La finestra (editor di
programma o blocco dati) che viene evidenziata
nel momento in cui si sceglie "Compila" viene
compilata; mentre le altre due finestre non
vengono compilate.
 "Compila tutto" consente di compilare l'editor di
programma, il blocco di sistema e il blocco dati.
Se si sceglie questo comando, non ha più alcuna
rilevanza quale finestra sia evidenziata.
-Per trasferire il programma da PLC al PC cliccare con il mouse su.
-Per trasferire nel PLC il programma momentaneamente aperto clicca.
-Tutti questi comandi sono attuabili anche selezionando dalla barra menù
-Permette di ingrandire la visualizzazione corrente modificando le impostazioni originali.
-Permette di mostrare le descrizioni delle dimensioni costanti.
-Questi pulsanti permettono di lanciare il programma su CPU e arrestarlo al termine del ciclo.
Barra degli strumenti test
Modi RUN / STOP della CPU
La CPU ha due modi di funzionamento: STOP e RUN. In STOP è possibile creare, caricare e
modificare il programma, ma non eseguirlo. In RUN è invece possibile eseguire il programma e
creare, modificare e controllare il funzionamento del programma e i dati.
Per modificare il modo di funzionamento della CPU:

fare clic sul pulsante RUN

selezionare il comando di menu CPU > RUN per attivare il modo RUN o CPU > STOP per
attivare il modo STOP oppure

modificare manualmente l'interruttore dei modi di funzionamento posto sulla CPU oppure

inserire nel programma un'operazione di STOP.
o STOP
oppure
- Permette di attivare e disattivare lo stato del programma .
-Permette di attivare e disattivare la tabella di stato .
-Premendo questa icona si effettua una lettura singola della CPU.
-Selezionando questa icona si inseriscono tutti i valori all’interno della CPU.
-Permette di forzare un valore nella CPU.
-Permette di deforzare un valore della CPU.
-Permette di deforzare tutti i valori della CPU .
-Permette di leggere tutti i valori forzati della CPU
.
Barra degli strumenti programma
-Inserisce una linea verticale sotto la posizione corrente.
-Inserisce una linea verticale sopra la posizione corrente.
-Inserisce una linea orizzontale a sinistra della posizione corrente .
-Inserisce una linea orizzontale a destra della posizione corrente.
-Questi pulsanti permettono di inserire contatti (il primo) e bobine (il secondo) .
-Inserisce un box nella posizione corrente .
-Permettono di inserire o eliminare un segmento dalla posizione corrente .
In questa barra si visualizzano tutte le operazioni eseguite, le dimensioni in byte di ogni elemento
utilizzato; gli eventuali errori commessi durante la progettazione.
Quando si effettua la compilazione, la finestra dei risultati elenca gli errori rilevati. L'identificazione
avviene in base alla posizione in cui si è verificato l'errore (segmento, riga e colonna) e al tipo di
errore. Facendo doppio clic sulla riga di un errore è possibile visualizzare il segmento del codice
d'errore all'interno dell'editor di programma.
Premendo questo pulsante si può accedere ad un sottomenù che include tre distinti modi di
programmazione:
AWL
KOP
FUP
Esistono, infatti, tre editor di programmazione di un PLC nel set di operazioni SIMATIC:



AWL è il linguaggio informatico, molto complesso quindi poco usato;
KOP è il linguaggio a contatti: il più usato data la facilità di comprensione essendo la sua
struttura molto simile a quella tipica dei circuiti degli impianti industriali.
FUP è il linguaggio internazionale che utilizza variabili ed operazioni logiche o Booleane ma è
poco utilizzato.
LINGUAGGIO A CONTATTI (KOP)
Il linguaggio a contatti è senza dubbio ancora oggi il più utilizzato, l’utente conserva la
sensazione di operare con strutture hardware a relè.
Il linguaggio a contatti (KOP) è un linguaggio grafico che presenta delle analogie con gli schemi
elettrici. Quando si scrive un programma in KOP, si utilizzano componenti grafici e li si organizza
in modo da creare segmenti logici.
Un programma scritto in linguaggio a contatti è formato da una successione di raggruppamenti di
segmenti o reti disposti orizzontalmente e paragonabili alle linee di un programma tradizionale.
Ciascuna rete (vedi figura) è costituita da
elementi collegati fra di loro ed è connessa
alle estremità da due linee verticali; queste
rappresentano
le
due
polarità
di
alimentazione usate negli schemi elettrici a
relè.
Il programma viene eseguito come indicato
dal programma, un segmento per volta, da
sinistra a destra e dall'inizio alla fine. Una
volta che la CPU ha raggiunto la fine del
programma, riparte dall'inizio.
Contatto N.A
Contatto N.C
Apertura di ramo
in parallelo
Chiusura di ramo
in parallelo
Bobina-Variabile
interna o di uscita
Le operazioni sono rappresentate mediante simboli grafici e comprendono tre forme base.
I contatti: rappresentano le condizioni logiche di "ingresso" analoghe a interruttori, pulsanti,
condizioni interne di ingresso e così via.
Le bobine: rappresentano generalmente risultati logici di "uscita" quali lampade, motorini di
avviamento, relè di interposizione, condizioni interne di uscita e così via.
I box: rappresentano operazioni aggiuntive quali temporizzatori, contatori o operazioni
matematiche.
Regole per la realizzazione di segmenti semplici, in serie e in parallelo, in linguaggio KOP
Regole per il posizionamento dei contatti.
1. Ogni segmento deve iniziare con un contatto.
2. Non è possibile concludere un segmento con un contatto.
Regole per il posizionamento delle bobine.
1. Non è possibile iniziare un segmento con una bobina; le bobine servono per la conclusione di un
segmento di logica.
2. Un singolo segmento può contenere più bobine, purché si trovino su diramazioni parallele di
quel particolare segmento.
3. Non è possibile posizionare più bobine in serie (ossia, non si possono avere più bobine su una
stessa linea orizzontale del segmento).
Modalità di immissione delle operazioni KOP
Disegno delle linee.
È possibile completare un segmento disegnando linee di collegamento tra gli elementi del segmento
e la barra di alimentazione sinistra servendosi delle linee orizzontali o verticali della barra degli
strumenti del programma oppure tenendo premuto il tasto CTRL e premendo i tasti FRECCIA
SINISTRA, FRECCIA DESTRA, FRECCIA SU o FRECCIA GIU' della tastiera.
direzione
filo.
inserisci o elimina
segmenti.
contatti
box
bobine
È anche possibile inserire i contatti e le bobine dalla
finestra che compare alla sinistra del foglio sul quale
viene scritto il programma (albero delle operazioni).
In questa finestra sono presenti tutti i comandi e le
operazioni che sono possibili inserire nei vari editor
di programmazione quali temporizzatori, contatori o
operatori logici e matematici.
Inserimento di indirizzi in KOP.
Quando si inserisce un'operazione in KOP, i parametri vengono inizialmente rappresentati da punti
interrogativi del tipo (??.?) oppure (????).
??.? A questo tipo di parametro di ingresso e di uscita si possono assegnare solo valori a bit (ad
es. un indirizzo a bit simbolico o assoluto o un valore booleano come OFF o ON). È possibile
negare questo tipo di ingresso e trasformare questo tipo di ingresso e uscita in un parametro
immediato.
???? Non è possibile assegnare valori a bit a questo tipo di parametro di ingresso o di uscita.
Poiché i tipi di dati ammessi variano da un'operazione all'altra, è opportuno visualizzare il relativo
elenco premendo F1.
<<
Questo parametro di ingresso può essere collegato ad un'operazione precedente oppure vi si
può assegnare un valore a bit. Questo tipo di ingresso può essere negato e trasformato in un
parametro immediato.
Questo parametro di uscita può essere collegato ad un'operazione successiva oppure vi si può
assegnare un valore a bit. Questo tipo di uscita può essere trasformato in un parametro immediato.
>|
Questo parametro di uscita ENO (uscita Box) può essere lasciato senza segno, collegato o ad
un'operazione successiva oppure vi si può assegnare un valore a bit.
I punti interrogativi indicano che il parametro non è stato assegnato. È possibile assegnare un valore
costante oppure un indirizzo assoluto, simbolico o variabile ai parametri di un elemento, quando lo
si inserisce o successivamente. Se non si effettuano le assegnazioni di alcuni parametri, non è
possibile compilare correttamente il programma.
Per assegnare un valore costante (ad es. 100) oppure un indirizzo assoluto (ad es. I0.1), è
sufficiente digitare il valore desiderato all'interno dell'area dell'indirizzo dell'operazione (utilizzare
il mouse o il tasto INVIO per selezionare l'area di indirizzo in cui scrivere).
3 esempi di
assegnazione
dell’indirizzo nei
parametri KOP.
Per assegnare un indirizzo simbolico (un simbolo globale o una variabile locale che utilizzi un
nome del tipo INGRESSO1), eseguire la seguente procedura:
1.
Digitare il simbolo o il nome della variabile nell'area dell'indirizzo dell'operazione.
2.
Per i simboli globali, utilizzare la tabella dei simboli/delle variabili globali e assegnare un
nome simbolico ad un indirizzo di memoria.
Inserimento di commenti di programma in KOP.
L'editor KOP consente di immettere commenti all’inizio di ogni segmento che ci permettere di
capire con più facilità, la funzione svolta da quel segmento all’interno del programma.
Tali commenti vengono chiamati “Commenti di segmento” e per crearli è sufficiente posizionare il
cursore del mouse in un punto qualsiasi sulla riga del titolo del segmento e fare doppio clic o
premere invio da tastiera per visualizzare la finestra nella quale è possibile immettere il titolo e i
commenti al segmento. È possibile inserire un titolo che identifichi un segmento specifico e un
commento relativo al suo contenuto.
LINGUAGGIO AD ALTO LIVELLO (FUP)
I linguaggi ad alto livello non hanno trovato finora grande applicazione anche se assicurano
risultati decisamente migliori in termini di analisi e documentazione del software.
L'editor di diagrammi funzionali (FUP) di STEP 7-Micro/WIN 32 consente di visualizzare tutte le
operazioni come box logici simili ai normali diagrammi con porte logiche. La logica di programma
si basa sulle connessioni tra le operazioni di box. Ciò significa che l'uscita di un'operazione (ad es.
un box AND) può essere usata per attivare un'altra operazione (ad es. un temporizzatore) al fine di
creare la necessaria logica di controllo.
Come nell’editor KOP, i box e le porte logiche AND e OR, si possono prendere dalla barra degli
strumenti o dall’albero delle operazioni: nella barra degli strumenti, sono presenti anche altri
comandi che bisogna assolutamente conoscere e sapere usare se si vuole imparare a programmare in
FUP. In questa barra vi sono infatti i comandi con i quali si possono aggiungere e togliere ingressi
ai box presenti nel circuito, oppure coi quali è possibile negare gli ingressi stessi se si presenta la
necessità.
Inserisce operatore.
crea e cancella
segmenti.
Disegna filo.
aggiunge o toglie
ingressi aggiuntivi.
nega gli ingressi
selezionati.
Ovviamente per negare un ingresso a scelta è sufficiente selezionarlo col puntatore del mouse e
ciccare nella barra degli strumenti l’icona che serve a negare l’ingresso voluto.
LINGUAGGIO BOOLEANO (AWL)
I linguaggi booleani presentano un set di istruzioni con simboli non più grafici ma letterali. Questo
permette di trarre vantaggio dalle tecniche di programmazione strutturata sviluppata per i
linguaggi ad alto livello senza perdere l’immediato contatto con la realtà dell’automazione
caratteristica dei linguaggi Ladder.
In un linguaggio booleano il programma si presenta come una lista di istruzioni elementari
composta da un codice operativo, ad esempio un operatore logico, e un operando che rappresenta
il segnale su cui bisogna operare.
Lo sviluppo di un’espressione logica viene quindi a essere verticale anziché in linea come nella
notazione algebrica. I simboli mnemonici dei codici operativi non sono unificati fra i vari
costruttori; pertanto nel linguaggio AWL della Siemens si avrà ad esempio il codice U (UND) per
la AND o con il simbolo A.
La seguente figura illustra un esempio di un programma AWL.
SEGMENTO 1
LD
I0.0
LD
I0.1
LD
I2.0
A
I2.1
OLD
ALD
=
Q5.0
Come si può vedere nella figura, questo tipo di linguaggio testuale è molto simile alla
programmazione in assembly. La CPU esegue ogni operazione nell'ordine indicato dal programma,
dall'inizio alla fine, e quindi riparte dall'inizio.
Questo segmento rappresenta un circuito in cui vi sono due contatti aperti, chiamati nell’ordine I2.0
e I2.1 in serie tra loro e in parallelo al contatto aperto I0.1. Il contatto I2.0 è infatti combinato
tramite AND con quello successivo, cioè I2.0. Entrambi i contatti sono seguiti dalla sigla OLD, che
sta ad indicare che entrambi i contatti sono in parallelo a quello corrispondente all’ultimo indirizzo
caricato (LD) cioè I0.1. Infine vi è un contatto in serie a tutto il ramo (combinato tramite AND) con
indirizzo I0.0 seguito da una bobina d’uscita chiamata Q5.0.
Inserimento di un'istruzione in AWL
Linee guida:



Inserire solo un'istruzione e/o un commento per riga.
Separare le istruzioni, gli indirizzi di memoria e i commenti tramite spazi o tabulatori.
Per rappresentare i segmenti del programma, inserire la parola chiave NETWORK nella riga che
precede le istruzioni che costituiscono il segmento (non digitare numeri di segmento, poiché
questi vengono aggiunti automaticamente durante la compilazione).
Esempio:
Network 1
LD
I0.0
O
I0.1
// Questa riga introduce il primo segmento del programma
// Carica il valore in I0.0
// Combina tramite OR il valore di I0.1
// Ulteriori operazioni: ciascun segmento è composto da più operazioni
// Inizia un nuovo segmento di istruzioni
Network 2
Per creare un programma nell’editor AWL è necessario per prima cosa creare un nuovo segmento il
quale, in questo tipo di programmazione è chiamato NETWORK. Dopo aver iniziato e numerato
con numeri progressivi e continui il segmento creato, si possono scrivere le operazioni da immettere
all’inizio della riga seguente.
Le istruzioni AWL sono elencate nell'albero delle operazioni solo come riferimento, ma non
possono essere prelevate. Le si deve invece digitare nella finestra dell'editor di programma (editor
AWL).
Per immettere un'operazione nell'editor AWL:
1. Posizionare il cursore all'inizio di una riga.
2. Immettere l'operazione (ad esempio: LD).
3. Premere la BARRA SPAZIATRICE o il tasto di tabulazione.
A questo punto è necessario immettere il nome e il numero dell’operando che si vuole immettere in
quel punto del programma: esso può essere un pulsante esterno (I0.0), un contatto di una bobina
ausiliaria interna (S0.0), una bobina o un contatto esterno (Q0.0) oppure temporizzatori o altri
operandi che è possibile utilizzare in base al tipo di editor di cui si dispone.
Importante è notare che i contatti hanno lo stesso nome, quindi lo stesso indirizzo della bobina alla
quale sono logicamente collegati: l’unica differenza che c’è tra un contatto e una bobina è quindi
determinata dall’operazione che si mette precedentemente all’indirizzo dell’operando utilizzato.
Prima di un contatto si deve infatti mettere la sigla LD se bisogna caricare il valore dello stato del
pulsante all’indirizzo scelto, mentre la lettera O (or) o A (and), se il contatto è in parallelo o in serie
agli altri già inseriti precedentemente.
Prima di una bobina bisogna invece inserire il simbolo = e scrivere lasciando uno spazio l’indirizzo
della bobina.
LD
LDN
A
O
AN
ON
Carica il valore dello stato del contatto nell’indirizzo scelto
Carica il valore negato dello stato del contatto nell’indirizzo scelto
Inserisce un contatto in serie
Inserisce un contatto in parallelo
Inserisce un contatto in serie negato
Inserisce un contatto in parallelo negato
Dalla precedente tabella si può facilmente capire che per negare un contatto o un pulsante è
sufficiente aggiungere una lettera N all’operazione scelta.
Inserimento di commenti di programma in AWL.
Commenti di programma.
In AWL i commenti devono essere preceduti da una doppia barra: //
È possibile commentare un'intera riga e immettere i commenti in una riga dopo ciascuna operazione
valida. Non è invece possibile creare commenti nelle righe intermedie, poiché il compiler considera
un commento tutto ciò che viene scritto dopo la doppia barra.
La lunghezza massima di una riga, compresi i commenti, è di 255 caratteri.
Esempio:
Visualizzazione degli errori di immissione in AWL.
Una X prima di una riga indica che la riga non è sintatticamente completa, non è valida oppure non
è stata compilata correttamente.
Il testo in rosso indica una sintassi non corretta (ma mano che
vengono inseriti, le operazioni o gli indirizzi vengono
automaticamente visualizzati in rosso finché non sono stati
completati). Se si sostituisce un valore non corretto con un valore
valido, il carattere riprende automaticamente il colore predefinito
(nero, a meno che non sia stata personalizzata la finestra in modo
diverso).
Una linea ondulata rossa di sottolineatura indica che un valore
non rientra nei limiti previsti o che non è corretto per il tipo di
operazione specifico.
Una linea ondulata verde di sottolineatura indica che la
variabile o il simbolo utilizzato non sono stati definiti. STEP 7Micro/WIN 32 consente infatti di scrivere il programma prima
di definire le variabili o i simboli e di aggiungere i valori alle
tabelle delle variabili locali o dei simboli anche
successivamente.
E’ importante ricordare che il programma non può essere compilato fino a quando continuano ad
esserci errori: in tal modo il programma deve essere privato di eventuali errori presenti prima di
essere compilato e quindi caricato nella CPU del PLC.
Esempi di programmazione nei vari editor.
Abbiamo eseguito lo stesso programma, cioè quello di una semplice autoalimentazione di una
bobina esterna, nei tre editor a noi disponibili, allo scopo di comprendere meglio come bisogna
procedere per eseguire un programma che comanda un PLC.
In Fig. è stato svolto il programma in KOP: come si
può vedere vi è un pulsante di arresto in serie al resto
del circuito con l’indirizzo I0.0. Esso è un contatto
esterno (lo si può capire dalla lettera I) ed è un contatto
normalmente aperto, quindi chiuso (on) quando il bit
vale 1. Abbiamo messo un contatto normalmente
aperto anche se serve ad arrestare il motore, perché il
pulsante I0.0, presente a uno degli ingressi del PLC, è
normalmente chiuso: permane quindi al valore 1 fino a
quando esso non viene spinto.
Il pulsante I0.1 serve a far partire il motore, mentre il contatto della bobina Q0.0, serve ad
autoalimentare la bobina stessa, in modo che resti attivata anche se il pulsante di avvio non è
continuamente premuto.
In Fig. è stato svolto il programma
utilizzando l’editor AWL: il segmento come
detto in precedenza inizia con la parola
NETWORK, seguita da una numerazione
progressiva. A fianco la scritta dopo aver
digitato il simbolo // è stato possibile inserire
il commento che descrive il funzionamento
di quella parte di programma.
L’indirizzo del contatto di arresto è preceduto dalla sigla LD, che sta ad indicare che il valore
presente all’ingresso in quell’istante va caricato all’indirizzo I0.0.
Il contatto della bobina Q0.0 viene invece combinato tramite OR col pulsante che serve ad avviare
il motore. La bobina viene a sua volta combinata tramite AND al resto del ramo e la sigla LD sta
ancora una volta ad indicare che il valore deve essere caricato all’indirizzo Q0.0 che corrisponde a
quello della bobina stessa e a tutti i contatti ad essa connessi.
Il FUP invece presenta uno schema
costruito sotto forma di operatori
logici (tipo le porte logiche), che,
collegati tra loro determinano l’arrivo
della corrente alla bobina o meno.
In questo caso, il pulsante di arresto I0.0, è stato impostato come uno dei due ingressi di una porta
AND, alla cui uscita è collegata la bobina che si vuole attivare per far muovere il motore. È
intuitivo capire che per svolgere questa funzione, entrambi gli ingressi della porta AND devono
essere a livello logico pari ad 1; quindi sia l’ingresso I0.0 che l’uscita della porta OR devono essere
attivati. Come nei due precedenti casi è sufficiente solamente che sia attivo uno dei due contatti I0.1
(pulsante di marcia) o Q0.0 (autoritenuta), per fare in modo che si attivi correttamente la bobina.
Una volta terminato il progetto occorre:

salvarlo,

compilarlo,

caricarlo nel PLC,

run