Manuale d'uso con S7 repared senza commenti

454
Autoware srl Via Nitti, 155 – 74123 Taranto URL: http://www.autoware.com e-mail: [email protected] AW-SYS software di simulazione di PLC e impianti M M a a n n u u a a l l e e d d u u s s o o Revisione: 3.00.00

Transcript of Manuale d'uso con S7 repared senza commenti

Autoware srl Via Nitti, 155 – 74123 Taranto URL: http://www.autoware.com e-mail: [email protected]

AW-SYS software di simulazione di PLC e impianti

MMaannuuaallee dd’’uussoo

Revisione: 3.00.00

Autoware srl AW-SYS – software di simulazione di PLC e impianti

SSOOMMMMAARRIIOO CCAAPPIITTOOLLOO 11 INTRODUZIONE AD AW-SYS .....................................................................................1-1

Generalità ....................................................................................................................................................1-1

Composizione..............................................................................................................................................1-2

Il modulo PC-Sim........................................................................................................................................1-2

Il modulo PL-Sim........................................................................................................................................1-3

Il modulo PL-Lab........................................................................................................................................1-3

Guida in linea ..............................................................................................................................................1-3

Servizio Supporto Tecnico Utenti AW-SYS...............................................................................................1-4

Autoware su Internet ...................................................................................................................................1-5

Struttura del manuale ..................................................................................................................................1-5

CCAAPPIITTOOLLOO 22 INSTALLAZIONE DI AW-SYS .....................................................................................2-1

Contenuto della confezione .........................................................................................................................2-1

Installazione di AW-SYS ............................................................................................................................2-2

Rimozione del programma ..........................................................................................................................2-3

CCAAPPIITTOOLLOO 33 PC-SIM: IL SIMULATORE DI PLC .............................................................................3-4

Introduzione ................................................................................................................................................3-4

Composizione di un progetto ......................................................................................................................3-5

Finestra Lista blocchi (S5 100U e S7 300)..................................................................................................3-6

L’editor Ladder .........................................................................................................................................3-10

L'editor AWL per il PLC PS3 ...................................................................................................................3-23

L'editor AWL per il PLC S5 100U............................................................................................................3-27

L'editor AWL per il PLC S7 300 ..............................................................................................................3-34

L’editor dati (S5 100U).............................................................................................................................3-40

L’editor dati (S7 300)................................................................................................................................3-43

Finestra Tabella dei simboli ......................................................................................................................3-47

Finestra Stato variabili ..............................................................................................................................3-52

Finestra Impostazioni preset (FPC 404) ....................................................................................................3-58

Finestra PLC .............................................................................................................................................3-60

Finestra Informazioni sul progetto ............................................................................................................3-65

Finestra Informazioni su PC-Sim ..............................................................................................................3-67

Comandi dei menu ....................................................................................................................................3-68

Barra del titolo ..........................................................................................................................................3-85

Barra strumenti..........................................................................................................................................3-86

Scelte rapide da tastiera.............................................................................................................................3-87

Stampa della documentazione ...................................................................................................................3-88

Messaggi di avviso ....................................................................................................................................3-90

Errori di compilazione...............................................................................................................................3-98

Errori di esecuzione ................................................................................................................................3-101

CCAAPPIITTOOLLOO 44 PL-SIM: IL SIMULATORE DI IMPIANTI ..................................................................4-1

Introduzione ................................................................................................................................................4-1

Avvio degli impianti....................................................................................................................................4-1

ii Sommario

AW-SYS – software di simulazione PLC e impianti Autoware srl

Impianto n.1: Elettropneumatica 1 ..............................................................................................................4-2

Impianto n.2: Elettropneumatica 2 ..............................................................................................................4-5

Impianto n.3: Elettropneumatica 3 ..............................................................................................................4-8

Impianto n.4: Automazione cancello .........................................................................................................4-11

Impianto n.5: Controllo livello serbatoio...................................................................................................4-14

Collegare gli impianti al PLC....................................................................................................................4-19

Comandi dei menu.....................................................................................................................................4-20

Impianto n.6: Nastri trasportatori ..............................................................................................................4-23

Impianto n.7: Ascensore ............................................................................................................................4-29

Impianto n.8: Miscelatore Liquidi .............................................................................................................4-34

Impianto n.9: Incrocio semaforizzato ........................................................................................................4-40

CCAAPPIITTOOLLOO 55 PL-LAB: INTERFACCIA VERSO IMPIANTI AUTOCOSTRUITI ......................... 5-1

Introduzione ................................................................................................................................................5-1

Avvio del sistema ........................................................................................................................................5-1

Descrizione di PL-Lab.................................................................................................................................5-2

Scambio dati con InTouch...........................................................................................................................5-3

Costruzione di un primo impianto ...............................................................................................................5-4

Costruzione di un impianto più complesso................................................................................................5-11

L'impianto prototipo ..................................................................................................................................5-17

CCAAPPIITTOOLLOO 66 REALIZZIAMO INSIEME LA PRIMA APPLICAZIONE ........................................ 6-1

Operazioni preliminari.................................................................................................................................6-1

PLC FPC 404 ..............................................................................................................................................6-1

PLC PS3 ......................................................................................................................................................6-5

PLC S5 100U ..............................................................................................................................................6-9

PLC S7 300 ...............................................................................................................................................6-14

Test del programma...................................................................................................................................6-19

CCAAPPIITTOOLLOO 77 NOTE SULLA PROGRAMMAZIONE DEL PLC FPC 404 ....................................... 7-1

Generalità sul PLC FPC 404 .......................................................................................................................7-1

Indirizzamento.............................................................................................................................................7-1

Elaborazione del programma utente ............................................................................................................7-3

Programmazione in Ladder .........................................................................................................................7-4

Operazioni di temporizzazione....................................................................................................................7-4

Operazioni di conteggio ..............................................................................................................................7-6

CCAAPPIITTOOLLOO 88 ESEMPI DI PROGRAMMAZIONE PER PLC FPC 404 ............................................ 8-1

Esempio 1: combinazione AND ..................................................................................................................8-2

Esempio 2: combinazione OR .....................................................................................................................8-2

Esempio 3: combinazione AND di OR........................................................................................................8-2

Esempio 4: combinazione OR di AND........................................................................................................8-3

Esempio 5: combinazione XOR ..................................................................................................................8-3

Esempio 6: autoritenuta...............................................................................................................................8-3

Esempio 7: set e reset ..................................................................................................................................8-4

Esempio 8: rilevazione fronti ......................................................................................................................8-4

Esempio 9: temporizzatore ad impulso........................................................................................................8-5

Esempio 10: temporizzatore ad impulso prolungato ...................................................................................8-6

Sommario iii

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 11: temporizzatore con ritardo all’eccitazione .............................................................................8-7

Esempio 12: temporizzatore con ritardo alla diseccitazione .......................................................................8-8

Esempio 13: temporizzatore con ritardo all’eccitazione con memoria........................................................8-9

Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione ........................................8-10

Esempio 15: impulso ritardato ..................................................................................................................8-11

Esempio 16: treno di impulsi.....................................................................................................................8-12

Esempio 17: conteggio all’indietro ...........................................................................................................8-12

Esempio 18: conteggio in avanti ...............................................................................................................8-13

Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)......................................................8-14

Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi).................................8-15

Esempio 21: generatore di onda quadra ....................................................................................................8-16

Esempio 22: comando temporizzato luci ..................................................................................................8-17

Esempio 23: divisore di frequenza (x4) ....................................................................................................8-18

Esempio 24: semaforo per Formula 1 .......................................................................................................8-19

CCAAPPIITTOOLLOO 99 NOTE SULLA PROGRAMMAZIONE DEL PLC PS3 ................................................9-1

Generalità sul PLC PS3...............................................................................................................................9-1

Indirizzamento.............................................................................................................................................9-1

Elaborazione del programma utente............................................................................................................9-5

Registri ........................................................................................................................................................9-7

Programmazione in AWL ...........................................................................................................................9-8

Programmazione in Ladder .......................................................................................................................9-19

Moduli di sistema......................................................................................................................................9-20

CCAAPPIITTOOLLOO 1100 ESEMPI DI PROGRAMMAZIONE PER PLC PS3 ...................................................10-1

Esempio 1: combinazione AND................................................................................................................10-2

Esempio 2: combinazione OR...................................................................................................................10-2

Esempio 3: combinazione AND di OR .....................................................................................................10-3

Esempio 4: combinazione OR di AND .....................................................................................................10-3

Esempio 5: combinazione XOR ................................................................................................................10-4

Esempio 6: autoritenuta.............................................................................................................................10-4

Esempio 7: set e reset ................................................................................................................................10-5

Esempio 8: rilevazione fronti ....................................................................................................................10-5

Esempio 9: temporizzatore con ritardo all’eccitazione .............................................................................10-6

Esempio 10: temporizzatore con ritardo alla diseccitazione .....................................................................10-7

Esempio 11: temporizzatore ad impulso ...................................................................................................10-8

Esempio 12: temporizzatore ad impulso prolungato .................................................................................10-9

Esempio 13: temporizzatore con ritardo all’eccitazione con memoria....................................................10-10

Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione ......................................10-11

Esempio 15: impulso ritardato ................................................................................................................10-12

Esempio 16: treno di impulsi...................................................................................................................10-13

Esempio 17: conteggio all’indietro .........................................................................................................10-14

Esempio 18: conteggio in avanti .............................................................................................................10-14

Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)....................................................10-16

Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi)...............................10-17

Esempio 21: generatore di onda quadra ..................................................................................................10-20

Esempio 22: altro generatore di onda quadra..........................................................................................10-21

Esempio 23: comando temporizzato luci ................................................................................................10-22

iv Sommario

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 24: divisore di frequenza (x4)...................................................................................................10-24

Esempio 25: semaforo per Formula 1......................................................................................................10-25

Esempio 26: luci sequenziali a 4 canali ...................................................................................................10-27

Esempio 27: conteggio ingressi chiusi.....................................................................................................10-30

CCAAPPIITTOOLLOO 1111 NOTE SULLA PROGRAMMAZIONE DEL PLC S5 100U...................................... 11-1

Generalità sul PLC S5 100U .....................................................................................................................11-1

Indirizzamento...........................................................................................................................................11-2

Elaborazione del programma utente ..........................................................................................................11-6

Programmazione strutturata.......................................................................................................................11-8

Programmazione in AWL........................................................................................................................11-11

Programmazione in Ladder .....................................................................................................................11-34

CCAAPPIITTOOLLOO 1122 ESEMPI DI PROGRAMMAZIONE PER PLC S5 100U........................................... 12-1

Esempio 1: combinazione AND ................................................................................................................12-1

Esempio 2: combinazione OR ...................................................................................................................12-2

Esempio 3: combinazione AND di OR......................................................................................................12-2

Esempio 4: combinazione OR di AND......................................................................................................12-3

Esempio 5: combinazione XOR ................................................................................................................12-3

Esempio 6: autoritenuta.............................................................................................................................12-4

Esempio 7: set e reset ................................................................................................................................12-4

Esempio 8: rilevazione fronti ....................................................................................................................12-5

Esempio 9: temporizzatore ad impulso......................................................................................................12-6

Esempio 10: temporizzatore ad impulso prolungato .................................................................................12-7

Esempio 11: temporizzatore con ritardo all’eccitazione............................................................................12-7

Esempio 12: temporizzatore con ritardo all’eccitazione con memoria e reset...........................................12-8

Esempio 13: temporizzatore con ritardo alla diseccitazione......................................................................12-9

Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione.......................................12-10

Esempio 15: impulso ritardato.................................................................................................................12-11

Esempio 16: treno di impulsi...................................................................................................................12-12

Esempio 17: conteggio all’indietro..........................................................................................................12-13

Esempio 18: conteggio in avanti..............................................................................................................12-13

Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi) ....................................................12-14

Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi) ...............................12-15

Esempio 21: generatore di onda quadra ..................................................................................................12-16

Esempio 22: altro generatore di onda quadra ..........................................................................................12-18

Esempio 23: comando temporizzato luci.................................................................................................12-18

Esempio 24: divisore di frequenza (x4)...................................................................................................12-21

Esempio 25: conteggio ingressi chiusi (I soluzione) ...............................................................................12-23

Esempio 26: conteggio ingressi chiusi (II soluzione) ..............................................................................12-24

Esempio 27: semaforo per Formula 1......................................................................................................12-25

Esempio 28: luci sequenziali a 4 canali ...................................................................................................12-28

Esempio 29: luci sequenziali a barra .......................................................................................................12-31

CCAAPPIITTOOLLOO 1133 NOTE SULLA PROGRAMMAZIONE DEL PLC S7 300......................................... 13-1

Generalità sul PLC S7 300 ........................................................................................................................13-1

Indirizzamento...........................................................................................................................................13-2

Elaborazione del programma utente ..........................................................................................................13-8

Sommario v

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Programmazione strutturata ....................................................................................................................13-10

Programmazione in AWL .......................................................................................................................13-13

Programmazione in Ladder .....................................................................................................................13-38

CCAAPPIITTOOLLOO 1144 ESEMPI DI PROGRAMMAZIONE PER PLC S7 300 ..............................................14-1

Esempio 1: combinazione AND................................................................................................................14-2

Esempio 2: combinazione OR...................................................................................................................14-2

Esempio 3: combinazione AND di OR .....................................................................................................14-3

Esempio 4: combinazione OR di AND .....................................................................................................14-4

Esempio 5: combinazione XOR ................................................................................................................14-4

Esempio 6: autoritenuta.............................................................................................................................14-5

Esempio 7: set e reset ................................................................................................................................14-5

Esempio 8: rilevazione fronti ....................................................................................................................14-6

Esempio 9: temporizzatore ad impulso .....................................................................................................14-7

Esempio 10: temporizzatore ad impulso prolungato .................................................................................14-8

Esempio 11: temporizzatore con ritardo all’eccitazione ...........................................................................14-8

Esempio 12: temporizzatore con ritardo all’eccitazione con memoria e reset ..........................................14-9

Esempio 13: temporizzatore con ritardo alla diseccitazione ...................................................................14-10

Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione ......................................14-11

Esempio 15: impulso ritardato ................................................................................................................14-12

Esempio 16: treno di impulsi...................................................................................................................14-13

Esempio 17: conteggio all’indietro .........................................................................................................14-14

Esempio 18: conteggio in avanti .............................................................................................................14-14

Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)....................................................14-15

Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi)...............................14-16

Esempio 21: generatore di onda quadra ..................................................................................................14-18

Esempio 22: altro generatore di onda quadra..........................................................................................14-19

Esempio 23: comando temporizzato luci ................................................................................................14-20

Esempio 24: divisore di frequenza (x4) ..................................................................................................14-22

Esempio 25: conteggio ingressi chiusi (I soluzione) ...............................................................................14-24

Esempio 26: conteggio ingressi chiusi (II soluzione)..............................................................................14-26

Esempio 27: semaforo per Formula 1 .....................................................................................................14-29

Esempio 28: luci sequenziali a 4 canali...................................................................................................14-32

Esempio 29: luci sequenziali a barra .......................................................................................................14-37

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Convezioni utilizzate nella documentazione

Convenzioni tipografiche

Un testo in carattere corsivo indica nomi di componenti del programma nella dizione propria di AW-SYS. I componenti del programma sono ad esempio: le finestre, i comandi dei menu, i pulsanti, ecc. Con lo stesso carattere vengono inoltre evidenziati i riferimenti a titoli di capitoli e paragrafi di questo manuale. Nella sua versione elettronica, ad essi è molto spesso associato un collegamento all’argomento specifico. Se il puntatore del mouse su di essi si trasforma in una manina, fate clic e la visualizzazione del manuale passerà automaticamente all’argomento specificato.

Un testo in carattere Tahoma viene utilizzato per indicare nomi di file e di directory.

Un testo in carattere COURIER GRASSETTO maiuscolo viene utilizzato per indicare sigle di operandi nei programmi per PLC o parti di codice degli stessi.

Combinazioni di tasti

Quando si fa riferimento ad una combinazione di tasti di comando (es. Ctrl+N) si intende che, per attivare il comando, occorre premere e mantenere il primo tasto (nell’esempio il tasto Control) quindi premere il secondo tasto (N nell’esempio) e successivamente rilasciare entrambi.

Operazioni con il mouse

Fare clic su un oggetto significa portare il puntatore del mouse sull’oggetto nello schermo, premere e quindi rilasciare il pulsante primario del mouse.

Fare doppio clic su un oggetto significa portare il puntatore del mouse sull’oggetto nello schermo, premere e rilasciare due volte, in rapida successione, il pulsante primario del mouse.

Fare clic con il pulsante destro su un oggetto significa portare il puntatore del mouse sull’oggetto nello schermo, premere e quindi rilasciare il pulsante secondario del mouse.

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 11 INTRODUZIONE AD AW-SYS

Generalità

L’insegnamento dell’automazione di base e della programmazione dei PLC è entrato in maniera preponderante in quasi tutte le discipline tecniche degli Istituti Tecnici e Professionali. Esso è stato introdotto sia nei corsi di Elettronica, nelle materie TDP e Sistemi, sia nei corsi di Elettrotecnica e Meccanica, nella materia Automazione; non da meno operano in questo senso gli Istituti ed i Centri di Formazione Professionale.

Organizzare un laboratorio efficiente, funzionale e flessibile, cercando di limitare al massimo gli investimenti in termini economici e di sistemazione logistica, rappresenta per costoro un vero problema. Infatti, realizzare un’esercitazione di automazione comporta l’approntamento di postazioni di lavoro comprendenti un PLC completo di sistema di sviluppo (che il più delle volte gira su personal computer) e di uno o più pannelli per la simulazione dell’impianto oggetto dell’esercitazione stessa. Ci si rende subito conto dell’impegno sia economico che logistico al quale si va incontro nel caso si voglia eseguire più di una esercitazione. Molto spesso, inoltre, riprodurre con modelli fisici situazioni impiantistiche reali diventa pressoché impossibile.

Per questi motivi la Autoware propone AW-SYS, un sistema che permette di trasformare il personal computer in un laboratorio virtuale di automazione. AW-SYS è un sistema software e hardware che simula, su personal computer in ambiente Windows, i PLC più diffusi in ambito scolastico ed impianti di grande valenza didattica.

AW-SYS si rivolge a tutti coloro che svolgono attività didattica nel campo dell’automazione industriale:

• Istituti Tecnici e Professionali con indirizzi in Elettronica, Elettrotecnica, Meccanica ed Informatica;

• Università;

• Istituti di Formazione Professionale;

• Aziende.

L’utilizzo del software di simulazione AW-SYS come laboratorio virtuale di automazione, offre tutta una serie di vantaggi di ordine pratico:

• semplicità di organizzazione del laboratorio, che può essere una comune aula di informatica;

• flessibilità del laboratorio, poiché i personal computer possono essere utilizzati anche per altre attività;

• economicità rispetto alle soluzioni tradizionali;

• nessuna necessità di manutenzione;

e consente, a livello didattico:

• maggiore attivazione dei meccanismi percettivo-attenzionali;

• grande velocità di interazione tra allievo ed esercitazione da svolgere;

• attivazione di una forte carica motivazionale;

• attivazione di un processo d’insegnamento/apprendimento individualizzato e verificabile a tappe;

• visualizzazione e riscontro immediati del lavoro svolto.

Con AW-SYS è possibile effettuare tutte quelle operazioni che portano all'automazione di un impianto come nel caso reale, e cioè:

• scrittura del programma utente;

1-2 Introduzione ad AW-SYS

AW-SYS – software di simulazione PLC e impianti Autoware srl

• collegamento dei punti a campo al PLC;

• test del programma;

• stampa della documentazione.

Il tutto in un ambiente di comprensione immediata che si renderà rapidamente familiare, anche grazie all'uso di guide in linea sensibili al contesto, alla presenza di note sulla programmazione dei PLC, di numerosi esempi di programmazione ed alle opportunità proprie delle applicazioni sotto Windows.

Inoltre, gli utenti di AW-SYS potranno realizzare i propri impianti simulati con il pacchetto software InTouch della WonderWare e collegarli al PLC simulato, o a quello reale, grazie al modulo PL-Lab.

Composizione

AW-SYS è concepito in maniera modulare per essere utilizzato nel modo più opportuno in relazione alle diverse esigenze didattiche dei docenti.

AW-SYS è composto dai seguenti moduli software e hardware integrati:

• PC-Sim Simulatore di Controllore Logico Programmabile (PLC)

• PL-Sim Simulatore di impianti

• PL-Lab Interfaccia verso impianti autocostruiti

Il modulo PC-Sim

PC-Sim è il modulo di AW-SYS dedicato alla simulazione di controllori logici programmabili (PLC).

Esso costituisce un ottimo strumento per l'insegnamento della programmazione di queste apparecchiature perché, attraverso l'esclusivo utilizzo di un personal computer, consente:

• la visualizzazione del PLC, che viene rappresentato graficamente sullo schermo in una apposita finestra;

• la scrittura del programma utente in maniera grafica o testuale, utilizzando i linguaggi specifici più diffusi, Ladder e AWL (lista istruzioni);

• la definizione di simboli, che potranno essere utilizzati nel programma, semplificandovi il lavoro, al posto degli operandi assoluti;

• la verifica del programma realizzato, per mezzo di interruttori, pulsanti e LED di segnalazione dello stato, tutti simulati e presenti all’interno del software;

• la correzione del medesimo, con l'ausilio dei potenti strumenti di debug in linea che gli stessi editor di programmi mettono a disposizione dell’utente;

• la visualizzazione dello stato e/o del valore, con aggiornamento continuo, di tutte le variabili utilizzate dal vostro programma.

Inoltre, grazie all’integrazione tra i moduli, PC-Sim potrà essere utilizzato per comandare gli impianti simulati di PL-Sim.

PC-Sim al momento della stampa di questo manuale simula i seguenti PLC:

• Klöckner Moeller mod. PS3

• Festo mod. FPC 404

• Siemens mod. S5 100U

• Siemens mod. S7 300

Introduzione ad AW-SYS 1-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Il modulo PL-Sim

PL-Sim è il modulo di AW-SYS dedicato alla simulazione di impianti e permette la realizzazione di svariate esercitazioni.

Gli impianti di PL-Sim, tutti di grande valenza didattica, costituiscono un'alternativa o un'integrazione ai banchi di simulazione e pongono l'utilizzatore di fronte a varie problematiche nel campo dell'automazione, spesso impossibili da ricostruire con altri strumenti in laboratorio.

Gli impianti di PL-Sim possono essere pilotati direttamente dai PLC simulati di PC.

Al momento della stampa di questo manuale sono in distribuzione i seguenti impianti:

• Elettropneumatica 1: banco di elettropneumatica con 3 cilindri doppio effetto e distributori 5/2 bistabili.

• Elettropneumatica 2: banco di elettropneumatica con 3 cilindri doppio effetto e distributori 5/2 monostabili.

• Elettropneumatica 3: banco di elettropneumatica con 3 cilindri semplice effetto e distributori 3/2 monostabili.

• Automazione cancello: cancello automatico con comandi del motore, lampeggiatore, finecorsa, fotocellula e telecomando.

• Controllo livello serbatoio: serbatoio con livellostati di funzionamento e di allarme, valvole di ingresso e uscita, lampade e sirena d’allarme, registratore di livello.

• Nastri trasportatori: impianto industriale con due nastri trasportatoti, sensori di prossimità e motori trifase con inversione di marcia.

• Ascensore: impianto civile di ascensore a quattro piani con fotocellule, sensore di peso, pulsanti di chiamata e mandata e lampade di segnalazione.

• Mixer liquidi: impianto industriale per la produzione di un composto ottenuto attraverso la miscelazione ed il riscaldamento tre diversi liquidi.

• Incrocio semaforizzato: impianto semaforico stradale per incrocio di due vie con possibilità di funzionamento automatico, manuale e notturno.

Il modulo PL-Lab

Ulteriore componente del mondo AW-SYS è PL-Lab, driver di interfaccia tra PC-Sim e InTouch.

Esso permette il collegamento dei PLC simulati di PC-Sim, con il noto pacchetto di supervisione della WonderWare, per mezzo del quale potrete costruire nuove finestre di simulazione di impianti.

PL-Lab contiene inoltre il sorgente di un impianto prototipo ed alcuni esempi applicativi di impianti realizzati con InTouch.

Guida in linea

Oltre al presente manuale potrete consultare in caso di dubbi la Guida in linea di PC-Sim o quelle degli impianti di PL-Sim.

E’ possibile accedere alla Guida in linea scegliendo il Comando guida dal Menu File.

1-4 Introduzione ad AW-SYS

AW-SYS – software di simulazione PLC e impianti Autoware srl

Le guide di AW-SYS sono sensibili al contesto: ovvero è possibile accedere a voci specifiche di ogni guida direttamente selezionando l’elemento su cui si desiderano informazioni e premendo il tasto F1

Sono sensibili al contesto:

• le voci dei menu;

• le finestre del programma;

• le finestre di dialogo;

• molte delle finestre di messaggio.

In diverse finestre è attiva anche la funzione di Guida rapida che vi consente di ottenere velocemente informazioni su uno specifico componente di una finestra. Per attivare questa funzione scegliete il comando Guida rapida dal Menu ?, oppure premete Maiusc+F1, e fate clic sull’elemento su cui desiderate informazioni. Una finestra popup contenente le informazioni richieste verrà mostrata a video.

L’attivazione di questa modalità di guida viene evidenziata dal fatto che il puntatore del mouse assume lo stato Guida rapida (freccia con punto interrogativo).

Servizio Supporto Tecnico Utenti AW-SYS

Autoware mette a disposizione dei possessori di una copia registrata di AW-SYS un servizio di supporto tecnico per consentire loro di utilizzare al meglio il programma.

Per risolvere un dubbio sul prodotto od un problema verificatosi nel suo utilizzo, consultate innanzitutto questo manuale o la Guida in linea. Se non riuscite a trovare le risposte desiderate contattate il servizio in uno dei seguenti modi:

• telefonicamente al numero 099.7303413

• per fax al numero 099.7360062

• per posta elettronica all’indirizzo di e-mail [email protected]

Nella richiesta specificate, ove abbia senso:

• la versione del programma;

• il tipo di hardware usato;

• il contenuto esatto dei messaggi visualizzati;

• la descrizione dell’operazione che si stava eseguendo quando si è verificato il problema;

• il programma che avete elaborato e l’automazione che desiderate realizzare.

Il Servizio Supporto Tecnico Utenti AW-SYS è gratuito ed illimitato per coloro che hanno rispedito la

Introduzione ad AW-SYS 1-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Autoware su Internet

La Autoware mantiene un proprio sito su Internet all’indirizzo:

http://www.autoware.com/

che potrete visitare per scaricare aggiornamenti al vostro software AW-SYS.

Il sito viene aggiornato con regolarità riportando le novità sul software, le ultime release dei programmi e nuovi esempi di programmazione. I programmi non in versione dimostrativa potranno essere utilizzati solo dai possessori di chiave hardware AW-SYS.

Informazioni ulteriori sul software potranno essere richieste per posta elettronica all’indirizzo:

[email protected]

Struttura del manuale

Il presente manuale costituisce la guida all’uso di AW-SYS. Esso è organizzato in capitoli, ognuno tratta un argomento specifico come spiegato di seguito.

Il Capitolo 2 vi guida nell’installazione del software sul vostro PC.

Il Capitolo 3 è interamente dedicato alla descrizione del simulatore di PLC (PC-Sim) per i quattro PLC simulati.

Il Capitolo 4 è dedicato alla descrizione dei singoli impianti che compongono il secondo modulo del pacchetto: PL-Sim. In questo capitolo vengono inoltre fornite le informazioni necessarie al collegamento degli impianti ai PLC simulati.

Nel Capitolo 5 viene descritto come realizzare impianti per proprio conto utilizzando il software InTouch™ e come collegarli ai PLC simulati con PL-Lab. Le procedure di generazione degli impianti vengono descritte in dettaglio accompagnate da esempi pratici di realizzazione.

Il Capitolo 6 è dedicato alla realizzazione guidata di un esercizio di automazione utilizzando i diversi PLC simulati. Seguendo passo-passo le istruzioni fornite, anche non avendo competenze specifiche nella programmazione di PLC, sarete in grado di realizzare la vostra prima automazione con AW-SYS.

Il Capitolo 7 , il Capitolo 9, il Capitolo 11 ed il Capitolo 13 forniscono le note per la programmazione dei PLC simulati FPC 404, PS3, S5 100U e S7 300 rispettivamente.

Il Capitolo 8, il Capitolo 10, il Capitolo 12 ed il Capitolo 14 riportano, per ognuno dei PLC, esempi di programmazione con livello crescente di complessità, interamente risolti e commentati.

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 22 INSTALLAZIONE DI AW-SYS

Contenuto della confezione

Il contenuto della confezione di AW-SYS si differenzia a seconda del numero di licenze acquistate come descritto di seguito.

Licenza singola

La confezione contiene:

• una copia del presente Manuale d’uso di AW-SYS in lingua italiana

• la Scheda di registrazione

• un CD d’installazione di AW-SYS

• una chiave hardware

Multilicenza da 6

La confezione contiene:

• due copie del presente Manuale d’uso di AW-SYS in lingua italiana

• la Scheda di registrazione

• due CD d’installazione di AW-SYS

• sei chiavi hardware

Multilicenza da 12

La confezione contiene:

• tre copie del presente Manuale d’uso di AW-SYS in lingua italiana

• la Scheda di registrazione

• due CD d’installazione di AW-SYS

• dodici chiavi hardware

2-2 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Installazione di AW-SYS

Avvio dell'installazione

Inserite il CD di AW-SYS nel drive. Il programma di installazione verrà avviato automaticamente.

Se l'avvio automatico non dovesse verificarsi eseguite il comando:

[drive]:\setup

dove [drive] è la lettera identificativa del vostro lettore di CD-ROM.

Scelta della directory

Vi viene proposta a questo punto la scelta della cartella in cui installare AW-SYS. Potete accettare il percorso di default, premendo Continua, o cambiare percorso, digitandone uno nuovo, e quindi premendo Continua. Il Programma d'installazione di AW-SYS crea automaticamente la cartella specificata.

All’interno di questa vengono create altre cartelle di cui l’utente non può scegliere il nome durante la fase di installazione e che non deve modificare successivamente. Esse sono:

• Fpc404 contiene i file di PC-Sim per FPC 404

• Ps3 contiene i file di PC-Sim per PS3

• S5100 contiene i file di PC-Sim per S5 100U

• S7300 contiene i file di PC-Sim per S7 300

• Pl-sim contiene i file degli impianti di PL-Sim e PL-Lab

le prime tre, a loro volta, contengono un'altra cartella:

• Esempi contiene i progetti di esempio dei PLC forniti con il pacchetto.

Installazione degli esempi

Il Programma d'installazione di AW-SYS vi propone inoltre di scegliere se desiderate installare gli esempi forniti col programma: rispondete selezionando o meno la casella di controllo.

Se siete un insegnante e state caricando il programma sul vostro computer, installate pure gli esempi: vi daranno immediatamente idea delle potenzialità di AW-SYS. Se, invece, state caricando il programma sui computer dei vostri allievi, potreste evitare di installare gli esempi, per non fornire loro soluzioni già pronte alle esercitazioni che proporrete durante l’arco del vostro corso.

Copia dei file

Il Programma d'installazione di AW-SYS provvede quindi alla copia dei file necessari al funzionamento di AW-

SYS, nel percorso selezionato e nella directory di sistema di Windows nonché alla creazione dei file di inizializzazione.

Creazione di gruppo e icone

Il Programma d'installazione di AW-SYS crea automaticamente il gruppo AW-SYS e, al suo interno, le icone di PC-Sim per ogni PLC simulato.

PC-Sim: il simulatore di PLC 2-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Rimozione del programma

La rimozione del programma può essere effettuata in ambiente Windows mediante il Pannello di controllo.

• Lanciate Start → Impostazioni → Pannello di controllo

• Fate doppio clic su Installazione applicazioni.

• Selezionate AW-SYS nell’elenco delle applicazioni

• Fate clic su Aggiungi/Rimuovi.

• Riavviare il sistema.

3-4 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

CCAAPPIITTOOLLOO 33 PC-SIM: IL SIMULATORE DI PLC

Introduzione

Come abbiamo visto nel precedente capitolo, AW-SYS ha una struttura modulare, è costituito cioè da diversi componenti software a da pochi accessori hardware, ognuno con funzioni specifiche ma perfettamente integrato con gli altri. PC-Sim costituisce il modulo di AW-SYS dedicato alla simulazione dei Controllori Logici Programmabili.

Esso simula quattro diversi PLC:

• Festo FPC 404

• Klöckner Moeller PS3

• Siemens S5 100U

• Siemens S7 300

PC-Sim vi consente di editare un programma utente per PLC in linguaggio Ladder o AWL per risolvere un esercizio di automazione, basato eventualmente su uno degli impianti di PL-Sim. Quindi potrete trasferire il programma e farlo ‘girare’ nel PLC simulato e testarlo, utilizzando gli strumenti di debug e lo stato variabili. Una volta terminato il vostro lavoro, potrete stampare la documentazione di quanto avete realizzato: in maniera organica verranno presentati su carta il programma, la tabella dei simboli, le liste incrociate ed altro ancora, come approfondiremo nel paragrafo dedicato a questo argomento.

Per quanto i PLC simulati presentino nella realtà caratteristiche hardware, di sistema e di programmabilità software molto diverse tra loro, si è cercato di rendere quanto più uniforme possibile l'interfaccia utente di questo modulo, utilizzando quanto più possibile finestre di programma somiglianti o identiche, con lo scopo di rendere più semplice il passaggio da un PLC simulato all’altro.

A questo principio generale fanno però decisamente eccezione la Finestra Lista blocchi (S5 100U e S7 300) e la Finestra Impostazioni preset (FPC 404): la prima viene utilizzata solo per il PLC S5 100U, a causa delle peculiarità nella programmazione strutturata che saranno approfondite più avanti e che lo differenziano dagli altri due; la seconda è richiamabile soltanto utilizzando la simulazione del PLC FPC 404, per via della particolare impostazione dei preset dei temporizzatori e dei contatori di tale PLC.

La finestra di programmazione AWL, utilizzata per una delle modalità di programmazione dei PLC PS3 ed S5 100U, mostra sostanziali differenze nella presentazione e nella flessibilità di utilizzo nei due diversi casi. Mentre, la finestra di programmazione Ladder, proprio per la maggiore uniformità di questo linguaggio, si presenta in modo sostanzialmente identico nei tre PLC, eccezion fatta per i diversi tipi di strumenti disponibili per il disegno in relazione alla diversa implementazione di temporizzatori, contatori, ecc.

La Finestra Tabella dei simboli a la Finestra Stato variabili si presentano in maniera identica, ovviamente ogni riferimento ad operando effettuato in esse dovrà tener conto delle specifica sintassi che ognuno dei PLC riconosce come corretta per l’accesso alle variabili di ingresso/uscita e di memoria.

Ancora in maniera identica si presentano la Finestra Informazioni sul progetto e le finestre di dialogo Stampa

documentazione, Trova operando e Sostituisci operando.

Infine, sebbene graficamente offrano la rappresentazione di macchine diverse, le finestre PLC si presentano in modo sostanzialmente uniforme, grazie alle scelte operate per modelli e composizioni: ogni PLC possiede

PC-Sim: il simulatore di PLC 3-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

infatti 16 canali digitali di ingresso, dotati di LED di segnalazione dello stato ed interruttori di comando, e 16 canali digitali di uscita, anch’essi dotati di LED di segnalazione. Alcune differenze comunque si presentano (anche nelle macchine reali) nel numero dei canali analogici.

In questo capitolo affrontiamo la descrizione contemporanea dei simulatori dei tre PLC. Verranno sempre specificate, ove necessario, le loro differenze rispetto all’argomento in esame, menzionando tra parentesi i modelli dei PLC simulati ai quali si applicano le considerazioni che si stanno facendo; se nessun PLC viene specificato le considerazioni si applicheranno a tutti e tre i modelli.

Se non si possiede già sufficiente pratica con il PLC reale corrispondente, converrà integrare quanto detto in questo capitolo con ciò che è riportato in quelli dedicati alla programmazione e, eventualmente, con quanto riportato nei manuali della casa costruttrice del dispositivo reale.

Quando non diversamente specificato, per ‘PLC’ in questo capitolo si intenderà il PLC simulato e non l’apparecchiatura reale.

Avvio del programma

Per avviare PC-Sim fate clic sul pulsante Start di Windows, aprite quindi la cartella Programmi\Aw-sys e, all’interno di questa, scegliete la voce corrispondente al simulatore di PLC che desiderate avviare. Una sola copia di PC-Sim è eseguibile per volta: una seconda istanza del programma non potrà essere avviata, anche se relativa ad un diverso PLC. All’avvio del programma viene mostrata la Finestra Informazioni su PC-Sim. In essa sono riportate informazioni circa il programma, tipo di PLC e numero di versione, il numero di autorizzazione della copia che state utilizzando, il produttore del software; nonché informazioni sul numero di licenze della multilicenza di cui la vostra copia fa parte.

Chiudete questa finestra premendo il pulsante Ok per iniziare a lavorare con PC-Sim.

Composizione di un progetto

Tutto il lavoro sviluppato utilizzando in PC-Sim è organizzato in progetti. Un progetto contiene:

• il programma utente (in linguaggio AWL, ladder o entrambi);

• i simboli e le loro associazioni con gli operandi assoluti;

• l’elenco delle variabili in stato;

• le informazioni sul progetto;

• le impostazioni di preset (solo FPC 404);

• i testi delle etichette del PLC (solo S5 100U);

• le posizioni e le dimensioni delle finestre Lista blocchi (solo S5 100U), Stato variabili e Tabella dei simboli.

Tutte queste informazioni vengono salvate con il comando Salva Progetto, o con uno dei metodi equivalenti, in un file con estensione prj e vengono ricaricate alla successiva apertura dello stesso progetto.

3-6 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Finestra Lista blocchi (S5 100U e S7 300)

La Finestra Lista Blocchi è presente solo in PC-Sim per S5 100U e S7 300 poiché questi sono gli unici, tra i PLC simulati, a permettere la strutturazione del programma utente in blocchi (vedere Programmazione

strutturata nel Capitolo 11 per maggiori informazioni).

Essa mostra in forma tabellare l’elenco dei blocchi presenti nel progetto, evidenziandone per ognuno il tipo di editor utilizzato nella programmazione e lo stato attuale. Consente altresì la gestione dei blocchi permettendone la creazione, la rinominazione, l’eliminazione, l’editazione ed il debug.

Apertura e chiusura della finestra

Quando avviate PC-Sim, o quando caricate un progetto esistente, o quando ne create uno nuovo, la finestra Lista blocchi viene aperta automaticamente. Essa potrà essere chiusa facendo clic sul pulsante di chiusura all’estrema destra della barra del titolo e potrà essere riaperta, o portata in primo piano, con uno dei seguenti metodi:

• scegliendo il comando Lista blocchi dal menu Finestra;

• premendo il pulsante Finestra Lista blocchi dalla Barra strumenti di PC-Sim;

• premendo la combinazione di tasti Ctrl+B.

La finestra può essere ridimensionata e posizionata a piacimento. Le ultime impostazioni di dimensione e posizione vengono salvate con il file progetto cosicché, alla riapertura di quest'ultimo, PC-Sim provvederà a ripristinare le ultime caratteristiche della finestra.

Composizione della finestra

La finestra Lista blocchi è composta dalle seguenti parti:

• Tabella dei blocchi

• Barra pulsanti

Di seguito forniamo una descrizione dettagliata di tali componenti.

Tabella blocchi

La Tabella blocchi contiene la lista dei blocchi presenti nel progetto ed indica per ciascuno il tipo di editor e lo stato attuale.

Facendo clic su una riga della tabella se ne ottiene la selezione ed il blocco descritto in quella riga diventa quello attualmente puntato; cioè la selezione della riga funge da puntatore all’interno della tabella. Ogni clic sui pulsanti della barra inferiore, quando abilitati e con eccezione del pulsante Nuovo, agirà direttamente su quest’unico blocco. E’ possibile selezionare un solo blocco per volta.

PC-Sim: il simulatore di PLC 3-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Il puntatore al blocco attuale viene aggiornato automaticamente ogni qualvolta portate in primo piano una finestra di editor o di debug: al variare della finestra in primo piano, varia corrispondentemente il rigo selezionato nella tabella.

Quando l’elenco dei blocchi non può essere contenuto interamente nella finestra, PC-Sim mostra automaticamente una barra di scorrimento sulla destra della tabella che vi consentirà di scorrere il suo contenuto e di visualizzare e selezionare ogni blocco del progetto.

La tabella è composta dalle seguenti quattro colonne.

Colonna Blocco

Riporta la sigla del blocco.

I blocchi di PC-Sim per S5 100U possono essere di tipo organizzativo (OB0 - OB63), di programma (PB0 - PB63), funzionali (FB0 - FB63) o dati (DB2 - DB63). Informazioni ulteriori sulle caratteristiche specifiche dei diversi tipi di blocchi possono essere trovate alla voce Programmazione strutturata nel Capitolo 11.

I blocchi di PC-Sim per S7 300 possono essere di tipo organizzativo (OB0 – OB127), funzione (FC0 – FC127) o dati (DB2 – DB127). Informazioni ulteriori sulle caratteristiche specifiche dei diversi tipi di blocchi possono essere trovate alla voce Programmazione strutturata nel Capitolo 13.

Colonna Editor

Riporta il tipo di linguaggio utilizzato per la programmazione del blocco con i seguenti significati:

• AWL linguaggio AWL (Lista istruzioni)

• Ladder linguaggio Ladder diagram (Schema a contatti)

• Dati nessun linguaggio, il blocco è di tipo dati.

Colonna Stato

Riporta lo stato attuale del blocco. Esso si può trovare in uno dei tre seguenti stati:

• Chiuso l’editor del blocco è chiuso

• Aperto l’editor del blocco è aperto

• Debug quando, con il PLC in On, è attivo il debug sullo specifico blocco (vedere la successiva descrizione del Pulsante Debug).

Colonna Commento

Riporta il testo di commento al blocco, così come digitato nella creazione del blocco medesimo (vedere Pulsante Nuovo più avanti). Per modificare il testo di commento, selezionate il blocco nella tabella e premete il Pulsante Rinomina.

Barra pulsanti

La parte inferiore della Finestra Lista blocchi è costituita dalla barra pulsanti.

Facendo clic su questi pulsanti si possono compiere azioni sui blocchi, in particolare su quello puntato correntemente. I pulsanti vengono disabilitati singolarmente quando l'azione ad essi collegata risulta impossibile o priva di senso in quel dato momento o contesto. In alternativa ai pulsanti potete usare i comandi del Menu di scelta rapida attivabile facendo clic col pulsante destro del mouse sulla tabella.

Pulsante Nuovo

Consente di creare un nuovo blocco e di aprirne il relativo editor. Facendo clic su questo pulsante viene mostrata la finestra di dialogo Nuovo blocco. In essa inserite la sigla del blocco, fate clic se necessario sul pulsante opzione per scegliere il tipo di editor del blocco da creare (AWL o Ladder), facoltativamente inserite

3-8 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

un testo di commento nella casella dedicata. Quindi premete Crea per aprire l’editor del nuovo blocco e aggiungere il suo nome all’elenco nella Tabella blocchi. I blocchi vengono automaticamente ordinati in relazione al tipo: prima gli OB, poi i PB, quindi gli FB e gli FC ed infine i DB. All’interno di ogni gruppo l’ordinamento viene effettuato nel senso crescente del numero del blocco.

Quando inserite la sigla di un blocco dati nessuna importanza verrà data alla selezione dell'Editor da parte di PC-Sim e verrà aperto, in ogni caso, l’editor dati.

Non è consentito creare un blocco che abbia la stessa sigla di un altro già presente nel progetto. Tale operazione viene segnalata da PC-Sim con un messaggio di errore.

Metodi equivalenti per creare un nuovo blocco sono:

• scegliere il Comando Nuovo blocco (S5 100U e S7 300) dal Menu File;

• fare clic sul pulsante Nuovo blocco della Barra strumenti di PC-Sim;

• premere la combinazione di tasti Ctrl+N.

Il pulsante Nuovo è disabilitato quando il PLC si trova in Run.

Pulsante Codice

Questo pulsante consente la visualizzazione del codice del blocco selezionato nella tabella, aprendone il relativo editor. Facendo clic su questo pulsante viene aperto il tipo di editor previsto per il blocco (AWL, Ladder o dati) e viene direttamente caricato e mostrato il codice come presente nella memoria di programma.

Il pulsante Codice risulta disabilitato quando il progetto corrente non contiene alcun blocco.

Un metodo equivalente per aprire un blocco esistente è scegliere il Comando Apri blocco (S5 100U e S7 300) dal Menu File.

Se desiderate aprire contemporaneamente tutti i blocchi che compongono il vostro progetto, evitando di ripetere per tutti la selezione ed il clic, qualsiasi sia il blocco selezionato, premete e mantenete il tasto Maiusc e fate clic sul Pulsante Codice, quindi rilasciate. Tutti i blocchi del vostro progetto verranno aperti e disposti in cascata sullo schermo.

Pulsante Debug

Un clic su questo pulsante vi permette di passare al debug sul blocco selezionato nella Tabella blocchi. Con PC-Sim è possibile attivare il debug su quanti blocchi desiderate, contemporaneamente! (Vedere in merito Debug nelle finestre Ladder e Debug nelle finestre AWL)

Il debug sul blocco può essere disattivato in qualsiasi momento facendo clic sul Pulsante Codice.

L'elaborazione del debug, su uno o più blocchi, impegna il processore del vostro computer in un ulteriore compito e può provocare rallentamenti, talvolta sensibili, nell'esecuzione del programma, specie se il numero di blocchi in debug è elevato. Pertanto, quando non più necessario, disabilitate questa funzionalità facendo riguadagnare all’elaborazione la sua velocità originale.

Il pulsante Debug viene abilitato soltanto quando la CPU del PLC è alimentata (vedere i comandi del Menu

CPU).

PC-Sim: il simulatore di PLC 3-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Pulsante Rinomina

Il pulsante Rinomina vi consente di cambiare la sigla o il testo del commento di un blocco, o entrambi.

Per rinominare: selezionate nella Tabella blocchi il blocco desiderato e fate clic sul pulsante Rinomina. PC-Sim vi mostra la finestra di dialogo Rinomina blocco. Apportate le modifiche alla casella Blocco e/o alla casella Commento, quindi fate clic sul pulsante Rinomina. Non è possibile cambiare il tipo di blocco quindi i pulsanti di opzione relativi risultano disabilitati.

PC-Sim provvede a rinominare il blocco nella Finestra Lista blocchi (S5 100U e S7 300) e nella memoria di programma. Se avete cambiato la sigla del blocco, vi verrà chiesto se intendete aggiornare tutte le chiamate al blocco presenti nel programma. Se rispondete affermativamente tutte le istruzioni di chiamata al blocco rinominato presenti nel programma verranno aggiornate alla nuova sigla.

Esistono alcune limitazioni nella procedura di cambio della sigla di un blocco, infatti non è possibile cambiare la sigla se:

• un blocco con la nuova sigla esiste già nel progetto;

• il blocco è di tipo dati e si digita la sigla di un blocco di tipo differente;

• il blocco non è di tipo dati e si digita la sigla di un blocco dati;

• il blocco è programmato in ladder e si digita la sigla di un blocco funzionale (S5 100U);

• il blocco è di tipo funzionale e parametrizzato e si digita la sigla di un blocco organizzativo o di programma (S5 100U);

• il blocco è di tipo funzionale e contiene delle operazioni appartenenti al set integrativo e si digita la sigla di un blocco organizzativo o di programma (S5 100U).

Chiarimenti a queste limitazioni possono essere trovate in Note sulla programmazione del PLC S5 100U nel Capitolo 11.

Il pulsante Rinomina è disabilitato quando l'editor del blocco corrente è aperto o quando il PLC è in Run (vedere i comandi del Menu CPU).

Pulsante Elimina

Utilizzate questo pulsante per eliminare un blocco dal progetto corrente.

Selezionate il blocco nella Tabella blocchi, quindi fate clic sul pulsante Elimina. PC-Sim vi chiede conferma della vostra intenzione di eliminare il blocco con un'opportuna finestra di dialogo. Se rispondete affermativamente il blocco verrà eliminato dalla tabella e dalla memoria di programma e, se aperto, l'editor del blocco verrà chiuso.

Se in altri blocchi sono presenti delle chiamate al blocco da eliminare, PC-Sim vi avvisa con un ulteriore messaggio di questa occorrenza chiedendovi ancora conferma dell'eliminazione. Se rispondete affermativamente, il blocco verrà comunque eliminato, ma il programma che avrete scritto conterrà delle chiamate a blocco inesistente. Se volete ricercare tutte le chiamate al blocco eliminato presenti nel programma usate il Comando Trova operando... del Menu Modifica, impostando nella casella Trova la sigla del blocco eliminato.

3-10 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Il pulsante Elimina è disabilitato quando nel progetto non è presente alcun blocco o il PLC è in stato di Run (vedere i comandi del Menu CPU).

Un metodo equivalente per eliminare un blocco è scegliere il Comando Elimina blocco dal Menu File.

Menu di scelta rapida

La Tabella blocchi è dotata di menu di scelta rapida. Alcune delle scelte ripropongono i comandi dei pulsanti della barra. Per attivare un comando, fate clic con il pulsante destro del mouse sul rigo della tabella contenente il blocco su cui agire, quindi scegliete il comando desiderato dal menu che compare.

Per le spiegazioni dei comandi Nuovo, Codice, Debug, Rinomina ed Elimina leggete quanto detto a proposito degli omonimi pulsanti della Barra pulsanti.

Il comando Stampa fornisce una modalità rapida per la stampa del blocco puntato senza dover ricorrere al Comando Stampa documentazione... del Menu File. Il blocco selezionato viene stampato utilizzando il tipo di operandi, assoluti o simboli, specificato dalla modalità di visualizzazione corrente (vedi Comando Mostra

simboli e Comando Mostra operandi assoluti).

Il comando Barra pulsanti permette, infine, di nascondere o di visualizzare l’intera barra. Se preferite l’utilizzo del menu di scelta rapida o se desiderate guadagnare spazio sullo schermo, nascondete la barra scegliendo questo comando. Per visualizzare nuovamente la barra scegliete ancora il comando Barra pulsanti.

Se la tabella è vuota o se fate clic al di fuori di uno dei righi dei blocchi, gli unici comandi visualizzati saranno Nuovo e Barra pulsanti, gli altri in effetti sono strettamente legati ad un blocco su cui operare e quindi non possono essere scelti se nessun blocco è selezionato.

L’editor Ladder

Premessa

Questa descrizione non è e non può essere una lezione, né tanto meno un corso, sull'utilizzo del linguaggio ladder per la programmazione dei PLC. Utilizzate testi specializzati o il manuale del programmatore del vostro PLC reale per apprendere i rudimenti di questo linguaggio. PC-Sim vi consentirà comunque un apprendimento più veloce per la possibilità che offre di sperimentare immediatamente e semplicemente il programma realizzato.

Vi saranno molto utili anche gli ultimi capitoli del presente manuale. In essi vengono illustrati i PLC simulati con riguardo particolare alle loro peculiarità di programmazione e viene fornita un’interessante serie di esercizi di programmazione risolti e commentati. Ricordate che Autoware è sempre disponibile per chiarimenti. Le modalità per contattarci sono descritte nel paragrafo dedicato al Servizio Supporto Tecnico

Utenti AW-SYS nel Capitolo 1.

La programmazione in ladder

Il Ladder diagram o Schema a contatti è sicuramente il più diffuso linguaggio di programmazione di PLC. La scrittura di un programma Ladder avviene in maniera simile al disegno di un circuito elettrico a relè. Tra due linee verticali, poste ai margini dello schema e che rappresentano i collettori di alimentazione del circuito, possono prendere posto gli elementi del circuito elettrico disposti su linee orizzontali (che d’ora in avanti chiameremo rami) collegati tra loro da linee verticali e orizzontali.

Ogni ramo può contenere al massimo un numero definito di elementi circuitali in precise posizioni. Nelle prime si possono disegnare soltanto contatti, nell’ultima solamente bobine.

PC-Sim: il simulatore di PLC 3-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Ogni ramo può quindi essere suddiviso in due zone: la zona condizionale, formata dalle prime posizioni, che contiene le condizioni che devono essere verificate per compiere una determinata azione; la zona esecutiva, ultima posizione, che contiene le azioni da compiere quando le condizione sono verificate.

Questo è simile a quanto accade in un circuito elettrico: un carico elettrico rappresenta la parte esecutiva di un ramo; i contatti in serie o in parallelo, di tipo normalmente chiusi o aperti, rappresentano la parte condizionale.

Ogni contatto può essere parallelato da solo o a gruppi, disegnando contatti sul ramo successivo che saranno collegati al ramo base, o al ramo parallelo precedente, attraverso linee verticali. L’insieme di ramo base e di tutti i rami paralleli collegati ad essi verrà denotato nel seguito come percorso di corrente. Ogni percorso di corrente viene numerato automaticamente e progressivamente dall’editor.

Anche le bobine possono essere collegate in parallelo, ma esse devono avere l’ingresso in comune. Cioè, un percorso di corrente può inviare un singolo segnale logico a tutte le bobine.

L'editor ladder di PC-Sim vi offre la possibilità di scrivere comodamente e rapidamente il programma, unendo alla velocità delle azioni con il mouse, la potenza dei comandi tipici di editor avanzati: per esempio comandi taglia, copia e incolla.

Il disegno dello schema avviene utilizzando gli strumenti della Casella strumenti ed i Menu di scelta rapida attivabili facendo clic con il pulsante destro del mouse all'interno dello schema. La verifica della correttezza sintattica degli operandi, che potranno essere introdotti anche sotto forma di simbolo, viene effettuata alla fine di ogni digitazione. Lo stesso editor permetterà, durante l’esecuzione del programma realizzato, la visualizzazione del debug. Verranno mostrati, con variazioni di colore, contatti chiusi, bobine attive e circolazione della corrente. La colorazione sarà aggiornata in tempo reale ed in conseguenza dei risultati dell’elaborazione e delle variazioni dei segnali a campo.

Ulteriori informazioni sulla modalità di programmazione ladder vengono fornite nei paragrafi Programmazione

in ladder nei capitoli sulle note di programmazione dei diversi PLC.

Apertura dell’editor ladder (S5 100U e S7 300)

Per aprire l’editor di un blocco ladder esistente, selezionate il blocco all’interno della Tabella blocchi e premete il Pulsante Codice, oppure fate doppio clic sul rigo della tabella che contiene il blocco da editare.

Per creare un nuovo blocco ladder, aprendone anche l’editor, utilizzate invece una delle seguenti procedure:

• scegliete il Comando Nuovo blocco (S5 100U e S7 300) dal Menu File;

3-12 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

• fate clic sul Pulsante Nuovo blocco della Barra strumenti di PC-Sim;

• fate clic sul Pulsante Nuovo della Finestra Lista blocchi (S5 100U e S7 300).

Le tre procedure sono equivalenti ed a tutte PC-Sim risponde mostrando la finestra di dialogo Nuovo blocco. In essa digitate la sigla del blocco da creare, scegliete il tipo di editor ladder come codice di programmazione da adottare per la scrittura del blocco, facoltativamente inserite un commento al blocco e, infine, premete il pulsante Crea.

L’editor ladder del nuovo blocco viene aperto e la sigla di quest’ultimo viene aggiunta nella Tabella blocchi.

All'apertura della finestra di editor vi viene proposto, già inserito, un primo percorso di corrente in cui è presente la sola bobina.

Apertura dell’editor ladder (FPC 404 e PS3)

Per aprire l’editor del programma ladder esistente, scegliete il Comando Codice (FPC 404 e PS3) del Menu

Finestra oppure fate clic sul Pulsante Finestra codice della Barra strumenti di PC-Sim.

Per creare un nuovo progetto, usando la programmazione in ladder, scegliete il Comando Nuovo progetto

ladder (FPC 404 e PS3) del Menu File oppure fate clic sul Pulsante nuovo progetto ladder della Barra

strumenti di PC-Sim

Chiusura dell’editor ladder (S5 100U e S7 300)

La chiusura dell’editor Ladder può essere effettuata premendo il pulsante di chiusura a destra nella barra del titolo. Se sono state effettuate modifiche nello schema, PC-Sim vi richiede, con un'apposita finestra di dialogo, se intendete salvarle.

Nel caso rispondiate affermativamente, ricordate che il salvataggio del codice del blocco, così come modificato, non viene effettuato nel file progetto ma nella memoria di programma. Quest'ultima, che comprende il codice di tutti i blocchi del vostro progetto, sia ladder che AWL che dati, verrà registrata nel file solo su specifica richiesta di salvataggio del progetto. Vedere in merito il Comando Salva progetto del Menu

File.

Se rispondete negativamente alla richiesta di salvataggio, le ultime modifiche effettuate nel blocco non verranno salvate nella memoria di programma, verranno cioè perse. Se il blocco non era mai stato salvato dalla sua creazione, l’operazione di chiusura e la scelta di non salvare le modifiche porteranno alla perdita totale del blocco, che scomparirà anche dalla Tabella blocchi.

Un metodo equivalente per chiudere il blocco consiste nel premere la combinazione di tasti Alt+F4.

Chiusura dell’editor ladder (FPC 404 e PS3)

La chiusura dell’editor Ladder può essere effettuata premendo il pulsante di chiusura a destra nella barra del titolo. Se sono state effettuate modifiche nello schema, PC-Sim vi richiede, con un'apposita finestra di dialogo, se intendete salvarle.

Nel caso rispondiate affermativamente, ricordate che il salvataggio del codice, così come modificato, viene effettuato nella memoria di programma e non nel file progetto. La memoria di programma, che contiene il

PC-Sim: il simulatore di PLC 3-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

codice del programma del vostro progetto Ladder, verrà registrata nel file progetto solo su specifica richiesta di salvataggio di quest'ultimo. Vedere in merito il Comando Salva progetto del Menu File.

Se rispondete negativamente alla richiesta di salvataggio, le ultime modifiche effettuate nel blocco non verranno salvate nella memoria di programma, verranno cioè perse.

Un metodo equivalente per chiudere il blocco consiste nel premere la combinazione di tasti Alt+F4.

Salvataggio del blocco ladder (S5 100U e S7 300)

Oltre che alla chiusura dell’editor, come appena visto, è possibile salvare in qualsiasi momento il contenuto di un blocco scegliendo il Comando Salva blocco dal Menu File. Anche in questo caso valgono le considerazioni fatte nei paragrafi precedenti in merito al salvataggio ed anche qui rimandiamo per ulteriori informazioni alla descrizione del Comando Salva progetto del Menu File.

Casella strumenti (FPC 404, PS3 e S5 100U)

La Casella strumenti contiene gli 'attrezzi' che vi consentono di disegnare comodamente e rapidamente il vostro schema Ladder. La selezione dello strumento da utilizzare si effettua facendo clic su di esso.

Quando create un nuovo blocco ladder (S5 100U e S7 300) o quando create un nuovo progetto ladder (FPC 404 e PS3), PC-Sim provvede automaticamente ad aprire la casella. Quando aprite un blocco Ladder esistente con l'intenzione di modificarlo, richiamate la Casella strumenti con uno dei seguenti metodi:

• scegliete il Comando Casella strumenti dal menu Finestra;

• fate clic sul pulsante Casella strumenti della Barra strumenti di PC-Sim;

• fate clic su uno degli elementi dello schema con il pulsante destro e scegliete il comando Casella

strumenti dal Menu di scelta rapida che compare.

La Tabella 1 mostra l’elenco dei pulsanti disponibili per ogni PLC con una breve descrizione.

3-14 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Tabella 1: Elenco degli strumenti disponibili nella Casella strumenti

Pulsante Descrizione FPC 404 PS3 S5 100U

Selezione di percorso

Cancellazione contatto, percorso, ramo parallelo, ecc.

Costruzione di parallelo

Contatto normalmente aperto

Contatto normalmente chiuso

Bobina diretta

Bobina inversa

Bobina di set

Bobina di reset

Bobina di incremento

Bobina di decremento

Bobina di preset

Temporizzatore

Temporizzatore impulso SI

Temporizzatore impulso prolungato SV

Temporizzatore ritardo all’eccitazione SE

Temporizzatore ritardo all’eccitazione con memoria SS

Temporizzatore ritardo alla diseccitazione SA

Contatore

Registro a scorrimento

Comparatore

Salto incondizionato

Salto condizionato su RA=1

Salto condizionato su RA=0

PC-Sim: il simulatore di PLC 3-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Editazione dello schema ladder

Nei paragrafi seguenti troverete le indicazioni su come utilizzare gli strumenti della Casella strumenti e le descrizioni di altre opportunità offerte dall’editor ladder anche se, nella gran parte dei casi, il loro utilizzo è così intuitivo che non richiederebbe chiarimenti.

Introduzione di un contatto NA o NC

Nella Casella strumenti selezionate lo strumento di disegno contatti normalmente aperti o quello di disegno contatti normalmente chiusi. Posizionate quindi il puntatore del mouse nell’editor ladder puntando la posizione di introduzione. A questo punto fate clic per ottenere la scrittura del contatto.

Dopo la prima scrittura, la funzione di introduzione del contatto da voi scelta rimane attiva per permettervi inserimenti multipli successivi in modo estremamente veloce: è sufficiente che continuiate a puntare e fare clic.

Contatti normalmente aperti o chiusi possono essere posizionati solo nelle prime cinque posizioni di ogni ramo. Dopo l’introduzione di un contatto, il campo operando viene automaticamente visualizzato ed il puntatore di inserimento testo viene già posizionato su di esso per permettervi l'immediato inserimento della sigla. Potrete digitare subito l'operando relativo al contatto appena introdotto, oppure continuare a disegnare i contatti e poi inserire tutti gli operandi, a voi la scelta.

Altrettanto semplice è sovrascrivere un tipo di contatto con l'altro, per esempio, trasformare un contatto NA in uno NC. Ancora una volta basterà selezionare lo strumento del contatto da inserire e poi fare clic sulla posizione del contatto da sovrascrivere. La sovrascrittura di un contatto non modifica l’operando.

La scrittura o sovrascrittura di un contatto può essere effettuata anche utilizzando i Menu di scelta rapida, facendo clic col pulsante destro del mouse sulla posizione di inserimento desiderata e quindi scegliendo l’opportuna voce di menu.

Cancellazione di contatti

Selezionate lo strumento di cancellazione nella Casella strumenti e quindi fate clic sul contatto da cancellare. Sia il contatto che l’operando associato vengono eliminati dallo schema.

Anche in questo caso l’operazione può essere effettuata richiamando, come già descritto, il menu di scelta rapida sul contatto da cancellare.

Sovrascrittura di bobine

Nell’ultima posizione di ogni nuovo percorso generato nell’editor ladder viene automaticamente inserita la bobina di default: quella diretta. Se avete bisogno di un altro tipo di bobina (inversa, set, reset, incremento o decremento a seconda del PLC che state utilizzando) selezionate lo strumento del tipo di bobina che desiderate e poi, nello schema, fate clic sulla bobina che intendete cambiare. L’operazione di sovrascrittura di bobina non modifica l’operando.

Anche in questo caso l’operazione può essere effettuata richiamando, come già descritto, il Menu di scelta

rapida sulla bobina da cambiare.

Introduzione degli operandi

L’introduzione della sigla di un operando nell’editor ladder si effettua nel campo operando, subito al di sopra del rispettivo elemento: contatto, bobina, temporizzatore, ecc. Quando è presente un elemento di schema ma il relativo operando non è ancora stato digitato, il campo appare con sfondo grigio chiaro, per ricordarvi che l'operazione di inserimento non è completa. Per introdurre l'operando fate clic sul campo, digitate la sigla

3-16 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

dell'operando assoluto o del simbolo a cui l'elemento sottostante si riferisce e premete Invio. Consultate i capitoli dedicati alle note di programmazione dei PLC per un elenco degli operandi assoluti validi.

L’operando inserito viene convertito automaticamente, se necessario, nella modalità di visualizzazione corrente: cioè, ad esempio, se è attiva la visualizzazione simboli ed inserite un operando assoluto, questo verrà sostituito dal corrispondente simbolo, se ne esiste uno. Il contrario accade se è attiva la visualizzazione degli operandi assoluti e digitate un simbolo dichiarato nella Tabella simboli.

L’introduzione di un operando assoluto errato o di un simbolo non dichiarato viene segnalata, al completamento della digitazione, con il passaggio del testo a caratteri rossi.

Potete muovervi velocemente da un operando all'altro: in avanti premendo il tasto Invio o il tabulatore, indietro premendo la combinazione di tasti Maiusc+Tab.

L’editor ladder di PC-Sim vi aiuta nel velocizzare la fase di inserimento degli operandi e quindi della scrittura del programma: ogni volta che inserite un nuovo elemento il cursore di inserimento testo si posiziona automaticamente nel campo operando di quest’ultimo. Vi basterà quindi digitare il nome dell’operando immediatamente dopo aver introdotto l’elemento.

L’introduzione o la variazione di un operando porta automaticamente alla selezione della funzione di Selezione di percorso nella Casella strumenti.

Aggiunta di un nuovo percorso

Per aggiungere un nuovo percorso selezionate uno degli strumenti di inserimento contatti nella Casella

strumenti e, successivamente, fate clic sulla prima riga vuota alla fine dello schema, in una delle prime cinque posizioni di inserimento. Otterrete così la scrittura di un nuovo percorso, già provvisto della bobina e del contatto che avete scelto nella posizione cliccata. Oppure, selezione nella Casella strumenti uno degli strumenti di inserimento bobine e fate clic sulla prima riga vuota alla fine dello schema nell’ultima posizione di inserimento.

Se non fosse visibile il primo rigo libero dell'editor dopo l'ultimo percorso, scrollate la finestra utilizzando la barra di scorrimento.

Metodi alternativi per aggiungere un percorso alla fine dello schema sono:

• fare clic col pulsante destro su uno dei numeri di percorso e scegliete il comando Aggiungi dal Menu di

scelta rapida

• scegliere il Comando Aggiungi dal Menu Modifica

Inserimento di un nuovo percorso

Per inserire un nuovo percorso in una specifica posizione dello schema ladder che state disegnando, selezionate il percorso prima del quale desiderate inserire, facendo clic con il pulsante destro sul suo numero identificativo, e scegliete il comando Inserisci dal Menu di scelta rapida: un nuovo percorso verrà inserito nella posizione cliccata ed i successivi verranno rinumerati e scalati verso il basso.

In alternativa, selezionate il percorso facendo clic sul suo numero identificativo e scegliete il Comando

Inserisci dal Menu Modifica.

Introduzione di moduli di sistema (PS3) o temporizzatori e contatori (S5 100U)

Selezionate lo strumento desiderato nella Casella strumenti e quindi fate clic nella posizione di inserimento nell’editor ladder. Sono permesse solo le posizioni dalla 2 alla 4.

Il percorso non deve avere rami in parallelo né paralleli di bobine.

PC-Sim: il simulatore di PLC 3-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Per il PS3, inoltre, valgono le seguenti limitazioni:

• sul ramo non deve essere presente più di un contatto ed, in ogni caso, alla sinistra della posizione di introduzione del modulo di sistema

• la bobina presente sul ramo può essere solamente diretta o inversa.

Creazione di rami di ingresso e di uscita a moduli di sistema (PS3) o temporizzatori e contatori (S5

100U)

Quando inserite un temporizzatore in uno schema ladder, il ramo su cui avete inserito verrà diviso in due: la parte sinistra fungerà da ramo di ingresso per il terminale di set e la parte destra da ramo di uscita del temporizzatore stesso. Analoghe considerazioni possono essere effettuate per l’inserimento di contatori o degli altri moduli di sistema per il PS3.

Se avete bisogno di utilizzare gli altri ingressi o le altre uscite (ove esistenti) dovrete creare, per ognuno di essi, un ramo di ingresso o uscita al modulo.

Per creare un ramo di ingresso, selezionate uno degli strumenti di inserimento contatti e poi fate clic sullo schema ladder, alla sinistra del modulo, in corrispondenza dell’ingresso che desiderate inserire. Otterrete così l'inserimento di un nuovo ramo d'ingresso, già provvisto del contatto che avete scelto nella posizione cliccata.

Allo stesso modo, per creare un ramo di uscita ad un modulo, selezionate uno degli strumenti di inserimento bobine quindi fate clic sull’editor in corrispondenza dell’ultima posizione di inserimento e della riga di uscita al modulo che desiderate creare.

Un metodo equivalente consiste nello scegliere tra i comandi presenti nel Menu di scelta rapida, che compare facendo clic con il pulsante destro sul modulo, quello che corrisponde all'azione che intendete compiere.

Cancellazione di rami di ingresso e di uscita a moduli di sistema (PS3) o temporizzatori e contatori

(S5 100U)

Per cancellare rami di ingresso o uscita ad un temporizzatore o contatore (S5 100U) o ad un modulo di sistema (PS3), selezionate lo strumento di cancellazione nella Casella strumenti e quindi fate clic sul ramo da cancellare.

Se la posizione che avete cliccato sull'editor Ladder non contiene alcun contatto, si otterrà l'immediata eliminazione del ramo; se, invece, la posizione contiene un contatto, al primo clic si otterrà la cancellazione del contatto ed occorrerà un secondo clic per la completa eliminazione del ramo.

Un metodo equivalente consiste nel richiamare il menu di scelta rapida facendo clic con il pulsante destro sul modulo e scegliendo tra i comandi presenti in esso quello corrispondente alla cancellazione che intendete effettuare.

Cancellazione di un percorso

Per cancellare un intero percorso, selezionate lo strumento di cancellazione nella Casella strumenti e quindi fate clic sul numero identificativo del percorso, alla sinistra di esso. PC-Sim eliminerà il percorso e provvederà a scalare ed a rinumerare progressivamente i seguenti. L'eliminazione di un intero percorso comporta l'eliminazione del ramo base e di tutti i rami paralleli ad esso collegati.

In alternativa:

• attivate il Menu di scelta rapida sul numero di percorso e scegliete il comando Elimina

oppure:

• selezionate il percorso e scegliete il Comando Elimina dal Menu Modifica.

3-18 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Cancellazione di moduli di sistema (PS3) o temporizzatori e contatori (S5 100U)

Selezionate lo strumento di cancellazione nella Casella strumenti quindi fate clic sul temporizzatore o contatore (S5 100U) o sul modulo di sistema (PS3) da eliminare. PC-Sim provvederà a cancellare il modulo e tutti i rami di ingresso e di uscita successivi al primo ad esso collegati.

Se volete eliminare il modulo e tutti i rami, primo compreso, comportatevi come descritto nel paragrafo Cancellazione di un percorso.

Alternativamente, e come sempre, utilizzate il menu di scelta rapida del modulo, scegliendo il comando Elimina.

Editing avanzato su percorsi

Con PC-Sim è possibile compiere operazioni di editing su interi percorsi. I comandi del menu Modifica, o quelli dei Menu di scelta rapida sui numeri di percorso, permettono infatti di tagliare, copiare ed incollare percorsi in uno stesso programma Ladder, o tra blocchi ladder diversi dello stesso progetto (S5 100U e S7 300) o di progetti diversi.

Le operazioni si effettuano sul percorso selezionato, cioè quello circondato da una cornice di colore blu. Per selezionare un percorso fate clic con il pulsante sinistro del mouse sul numero identificativo dello stesso. Un altro clic sullo stesso numero elimina la selezione.

Per ulteriori informazioni sulle operazioni di editing su percorsi vedere le descrizioni riportate per il Menu Modifica e quanto detto per i Menu di scelta rapida.

Creazione di un ramo parallelo

Per creare un ramo parallelo, selezionate lo strumento per la creazione di paralleli nella Casella strumenti, quindi premete il pulsante sinistro del mouse sul ramo da parallelare in corrispondenza della posizione iniziale di costruzione del parallelo e, mantenendo la pressione, trascinate il puntatore del mouse fino alla posizione finale. Quindi rilasciate il pulsante del mouse.

Durante il trascinamento PC-Sim disegna, con linee tratteggiate, la forma del costruendo parallelo per aiutarvi nell’operazione.

Leggete il paragrafo Limitazioni dell’editor ladder per avere informazioni circa le restrizioni dell’operazione di costruzione di un ramo parallelo.

Parallelo di una bobina

Per parallelare una bobina, selezionate lo strumento di creazione di paralleli nella Casella strumenti e poi fate clic sulla bobina da parallelare. PC-Sim provvede a disegnare il parallelo e ad inserire su di esso la bobina di default: quella diretta. Se desiderate un altro tipo di bobina comportatevi secondo quanto descritto in precedenza nel paragrafo Sovrascrittura di bobine. PC-Sim posiziona immediatamente il cursore di inserimento testo sull'operando della bobina appena inserita per permettervi una rapida scrittura dell'operando.

Fate riferimento al paragrafo Limitazioni dell’editor ladder per informazioni circa le restrizioni dell’operazione di parallelo di una bobina.

PC-Sim: il simulatore di PLC 3-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Eliminazione di ramo parallelo

Per cancellare un ramo parallelo selezionate lo strumento di cancellazione nella Casella strumenti, quindi fate clic sul ramo parallelo da eliminare.

Se la posizione che avete cliccato non contiene alcun contatto, si otterrà l'immediata eliminazione del parallelo. Se, invece, la posizione contiene un contatto, al primo clic si otterrà la cancellazione del contatto ed occorrerà un secondo clic per l'eliminazione del parallelo.

Fate riferimento al paragrafo Limitazioni dell’editor ladder in questo capitolo per informazioni sui casi in cui è possibile eliminare un ramo parallelo.

Puntatori del mouse

Durante l'editing dello schema ladder una importante funzione viene svolta dal puntatore del mouse. Esso, assumendo di volta in volta un diverso aspetto a seconda dello strumento che avete selezionato nella Casella

strumenti, vi ricorda l'operazione che state per compiere sullo schema. Così, per esempio, PC-Sim mostrerà un cursore per l'inserimento di contatti NA uno per quelli NC, uno per la cancellazione e così via, a seconda della strumento che avete selezionato nella casella.

Menu di scelta rapida

Su tutto l'editor ladder è possibile attivare i menu di scelta rapida facendo clic con il pulsante destro in corrispondenza di un elemento dello schema. Dal menu che compare nei pressi della posizione del puntatore del mouse, potrete quindi attivare velocemente i comandi più comuni per l'elemento cliccato.

Oltre a tutti i simboli dell'editor ladder (linee di corrente, contatti, bobine, ecc.), sono sensibili al clic del pulsante destro anche i numeri identificativi dei percorsi.

Scelta rapida su linee di corrente

Il menu è composto dai comandi Contatto NA e Contatto NC che permettono di inserire, nella posizione cliccata, il contatto specificato.

Scelta rapida su contatti

Sono attivi il comando Elimina, che cancella l’elemento cliccato ed il suo operando, ed il comando Inverti, che inverte il tipo di contatto (da NA a NC e viceversa) senza alterare l’operando.

Scelta rapida su bobine

Un clic col pulsante destro del mouse su una bobina, attiva un menu di scelta rapida composto dai seguenti comandi:

• Bobina diretta

• Bobina inversa (FPC 404 e PS3)

• Bobina di set

• Bobina di reset

• Bobina di incremento (FPC 404)

• Bobina di decremento (FPC 404)

• Bobina di preset (FPC 404)

• Jump con sottocomandi JP, JC e JCN (PS3)

Essi permettono di trasformare la bobina cliccata nel tipo specificato dal comando scelto.

3-20 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Scelta rapida su moduli di sistema (PS3) o su temporizzatori e contatori (S5 100U)

I comandi attivi sono:

• Elimina

• Aggiungi ramo

• Elimina ramo

Il primo elimina per intero il modulo di sistema, temporizzatore o contatore.

Gli altri sono da utilizzare per cancellare o disegnare rami di ingresso o uscita. Questi comandi, ripetuti per quanti sono i rami di ingresso ed uscita del modulo, sono visibili solo se necessario. Cioè, ad esempio, il comando Elimina ramo uscita sarà visibile solo se è presente lo specifico ramo in uscita, al contrario sarà invece visibile il comando Aggiungi ramo uscita.

Scelta rapida su numero di percorso

Facendo clic col pulsante destro del mouse sul numero identificativo di percorso si attiva un menu di scelta rapida composto dalle seguenti voci.

• Elimina: elimina dallo schema il percorso selezionato.

• Inserisci: inserisce un nuovo percorso prima di quello selezionato.

• Aggiungi: aggiunge un nuovo percorso alla fine dello schema.

• Taglia: elimina il percorso selezionato creandone una copia in memoria.

• Copia: crea una copia in memoria del percorso selezionato.

• Incolla: inserisce prima della selezione corrente il percorso copiato o tagliato; se nessuna selezione è attiva, il percorso viene aggiunto alla fine dello schema.

Limitazioni dell’editor ladder

Dimensione massima

La massima dimensione raggiungibile dallo schema ladder è di 999 rami. Il numero massimo di percorsi dipenderà quindi da quanti paralleli avete disegnato o da quanti e quali moduli di sistema (PS3), o quanti temporizzatori e contatori (S5 100U e S7 300) avete inserito ma, in ogni caso, non potrà superare 999.

Rami paralleli

Un ramo parallelo non può essere tracciato se si verifica una delle seguenti condizioni:

• sul percorso esiste un modulo di sistema (PS3) o un temporizzatore o un contatore (S5 100U e S7 300);

• il ramo base possiede già quattro rami in parallelo e si tenta di disegnare il quinto;

• si sta tentando di tracciare un parallelo su un ramo, che è già un parallelo, bypassando un collegamento verso il ramo superiore;

• il ramo ha già un parallelo nella posizione iniziale di disegno del nuovo parallelo;

• è stata raggiunta la dimensione massima del programma ladder.

Un ramo parallelo può essere eliminato se non si verifica nessuna delle condizioni seguenti:

• il ramo possiede a sua volta un altro parallelo;

• il ramo parallelo da eliminare possiede ancora contatti.

Parallelo di bobina

Una bobina non può essere parallelata se si verifica una delle seguenti condizioni:

PC-Sim: il simulatore di PLC 3-21

Autoware srl AW-SYS – software di simulazione di PLC e impianti

• la bobina base possiede già quattro bobine in parallelo e si tenta di inserire la quinta;

• la bobina è collegata all’uscita di un modulo di sistema (PS3);

• è stata raggiunta la dimensione massima del programma ladder.

Debug nelle finestre Ladder

La funzionalità di debug delle finestre ladder permette di controllare il funzionamento del programma che avete redatto e risulta estremamente utile quando questo non si comporti come previsto.

L'attivazione del debug è possibile solo quando il PLC si trova nello stato di On o di Run, cioè quando il commutatore On-Off della CPU nella Barra strumenti di PC-Sim si trova nella posizione di On.

In queste condizioni, fate clic sul pulsante Debug nella Barra pulsanti della Finestra Lista blocchi (S5 100U e S7 300) o scegliete il Comando Debug (FPC 404 e PS3) del menu Finestra.

Il simbolo della matita sulla barra del titolo dell’editor viene sostituito da quello di una lente d'ingrandimento, a segnalarvi la condizione di debug. Il commento nella barra del titolo viene sostituito da un'indicazione che informa se il blocco o il programma è attualmente elaborato, cioè se la CPU del PLC simulato ne sta eseguendo il codice. In effetti, esso potrebbe non essere eseguito se la CPU è in Stop o, solo per S5 100U e S7 300, se non esiste alcuna chiamata al blocco o se le condizioni per la chiamata non sono soddisfatte in un altro blocco eseguito.

Quando la funzionalità di debug è attiva, l'editor ladder mostra lo stato dei contatti ed i percorsi chiusi attraverso cambiamenti nel colore degli elementi dello schema.

Un contatto normalmente aperto viene mostrato in:

• nero, se la corrispondente variabile è a zero; in caso di un ingresso ad esempio, se il corrispondente contatto a campo è aperto;

• rosso, se la corrispondente variabile è a uno; in caso di un ingresso ad esempio, se il corrispondente contatto a campo è chiuso.

Un contatto normalmente chiuso viene visualizzato in:

• nero, se la corrispondente variabile è a uno; in caso di un ingresso ad esempio, se il corrispondente contatto a campo è chiuso;

• rosso, se la corrispondente variabile è a zero; in caso di un ingresso ad esempio, se il corrispondente contatto a campo è aperto.

Quindi, in conclusione:

• il colore nero individua la chiusura del contatto sullo schema, indipendentemente dallo stato normale del contatto stesso;

• il colore rosso individua l'apertura del contatto sullo schema, indipendentemente dallo stato normale del contatto stesso.

Fate attenzione a non confondere il tipo di contatto a campo (NA o NC) con il contatto sullo schema o a non determinare il tipo del secondo in base a quello del primo. Il PLC non conosce, e non può conoscere, il tipo di contatto a campo, ma solo il suo stato (chiuso o aperto), non importa che questa sia la condizione normale oppure no.

Se un percorso di corrente risulta chiuso e quindi se la bobina di uscita risulta attiva, anche quest'ultima viene visualizzata con il colore rosso. In queste condizioni, se il percorso è costituito da più rami in parallelo, potrete osservare quale sia il ‘tragitto’ della corrente nel percorso.

Le variazioni di colore di visualizzazione vengono effettuate in tempo reale con il modificarsi delle variabili del PLC; questo costituisce un potente strumento di verifica e correzione del vostro applicativo.

3-22 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

L'attivazione della funzione di debug impegna il processore del vostro computer in un ulteriore compito, con conseguente rallentamento del sistema, soprattutto con CPU non molto potenti. Ricordate di disabilitare questa funzione quando non è più necessaria, per consentire ad PC-Sim di 'girare' a velocità normali. D'altro canto, in fase di debug, è quasi sempre necessario un rallentamento delle velocità, proprio per meglio osservare il comportamento dell'impianto e meglio comprendere eventuali difetti nel programma che avete realizzato. Quindi, con ogni probabilità, risulterà conveniente diminuire ancora la velocità degli impianti o procedere passo-passo quando possibile, come spiegato nel Capitolo 4 dedicato a PL-Sim.

PC-Sim: il simulatore di PLC 3-23

Autoware srl AW-SYS – software di simulazione di PLC e impianti

L'editor AWL per il PLC PS3

Premessa

Questa descrizione non è e non può essere una lezione, né tanto meno un corso, sull'utilizzo del linguaggio AWL per la programmazione dei PLC. Utilizzate testi specializzati o il manuale del programmatore del vostro PLC reale per apprendere i rudimenti di questo linguaggio. PC-Sim vi consentirà comunque un apprendimento più veloce per la possibilità che offre di sperimentare immediatamente e semplicemente il programma realizzato.

Vi saranno molto utili anche gli ultimi capitoli del presente manuale. In essi vengono illustrati i PLC simulati con riguardo alle loro peculiarità di programmazione e viene fornita un’interessante serie di esercizi di programmazione risolti e commentati. Ricordate che Autoware è sempre disponibile per chiarimenti. Le modalità per contattarci sono descritte nel paragrafo dedicato al Servizio Supporto Tecnico Utenti AW-SYS.

La programmazione in AWL

Il linguaggio AWL o STL o Lista istruzioni è una delle modalità più diffuse di programmazione dei PLC. Scrivere un programma AWL vuol dire digitare una serie di istruzioni, ognuna delle quali rappresenta un compito elementare, che la CPU del PLC eseguirà in sequenza. Ogni istruzione occupa un solo rigo di programma ed ogni rigo contiene una sola istruzione.

Un’istruzione è composta da un’operazione e, generalmente, da un operando. L’operazione specifica l’azione che la CPU deve compiere e l’operando specifica l’oggetto su cui tale azione deve essere compiuta.

L’editor AWL di PC-Sim per PS3 consente una comoda e rapida introduzione delle istruzioni e delle chiamate a modulo di sistema. La sintassi di ognuna di esse viene controllata immediatamente ed il programmatore viene avvisato in caso di errore. Lo stesso editor permetterà, durante l’esecuzione del programma realizzato, la visualizzazione del debug. In corrispondenza di ogni rigo, verranno visualizzate informazioni sui registri principali del PLC e sullo stato degli operandi. Queste saranno aggiornate in tempo reale ed in conseguenza dei risultati dell’elaborazione e delle variazioni dei segnali a campo.

Nel Capitolo 9 è riportato un dettagliato elenco delle operazioni supportate da questo PLC e degli operandi ammissibili per ognuna.

3-24 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Apertura dell’editor AWL

Per utilizzare il linguaggio di programmazione AWL con questo PLC occorre scegliere il Comando Nuovo

progetto AWL (PS3) del Menu File, ciò creerà un nuovo progetto aprendo contemporaneamente un editor AWL vuoto.

Per richiamare, cioè riaprire dopo la chiusura, o riportare a dimensioni normali dopo una minimizzazione, o semplicemente portare in primo piano la finestra dell’editor scegliete invece il Comando Codice (FPC 404 e

PS3) del Menu Finestra.

Chiusura dell’editor AWL

La chiusura dell’editor AWL può essere effettuata premendo il pulsante di chiusura a destra nella barra del titolo.

Se sono state effettuate modifiche nel codice, PC-Sim vi richiede, con un'apposita finestra di dialogo, se intendete salvarle. Nel caso rispondiate affermativamente, ricordate che il salvataggio del codice, così come modificato, non viene effettuato nel file progetto ma nella memoria di programma. Questa, che contiene il codice del programma del vostro progetto AWL, verrà registrata nel file solo su specifica richiesta di salvataggio del progetto. Vedere in merito il Comando Salva progetto del Menu File. Se rispondete negativamente alla richiesta di salvataggio, le ultime modifiche effettuate nel blocco non verranno salvate nella memoria di programma, verranno cioè perse.

Un metodo equivalente per chiudere il blocco consiste nel premere la combinazione di tasti Alt+F4.

Editazione del programma AWL

Introduzione di una istruzione

La scrittura di istruzioni all’interno dell’editor AWL avviene in maniera sequenziale, ogni istruzione occupa un solo rigo e non è consentito lasciare righi vuoti. PC-Sim provvede a scalare automaticamente di posto un’istruzione scritta lasciando uno o più righi vuoti prima di essa.

Ogni rigo dell’editor è identificato da un numero progressivo a tre cifre: il massimo numero di righi che l’editor può contenere è quindi 1000, da 000 a 999.

Per introdurre un’istruzione, portate il cursore sul primo rigo vuoto dell’editor e digitatene il codice, senza preoccuparvi di lasciare spazi di separazione, e concludete premendo Invio. PC-Sim provvede a formattare l’istruzione appena digitata, separando ed allineando operazioni ed operandi per una lettura più comoda. Il cursore viene quindi posizionato sul rigo successivo, per consentirvi l’immediata digitazione dell’istruzione seguente.

L’operando inserito viene convertito automaticamente, se necessario, nella modalità di visualizzazione corrente: cioè, ad esempio, se è attiva la visualizzazione simboli ed inserite un operando assoluto, questo verrà sostituito dal corrispondente simbolo, se ne esiste uno; il contrario accade se è attiva la visualizzazione degli operandi assoluti e digitate un simbolo dichiarato nella Tabella simboli. Vedere in merito il Comando

Mostra simboli e il Comando Mostra operandi assoluti del Menu Modifica.

Introduzione di un modulo di sistema

Nell’editor AWL è possibile introdurre i seguenti moduli di sistema:

• temporizzatori (da TR0 a TR31)

• contatori (da C0 a C31)

• registri a scorrimento (da SR0 a SR31)

• comparatori (da CP0 a CP31).

PC-Sim: il simulatore di PLC 3-25

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Per introdurre un modulo di sistema digitatene la sigla nel primo rigo vuoto e premete Invio; l’editor AWL inserisce automaticamente in coda a questa istruzione le linee necessarie alla assegnazione degli ingressi e delle uscite del modulo per il collegamento al programma utente. Completate digitando, ove necessario, le sigle degli operandi da collegare al blocco.

Cancellazione di una istruzione

Per cancellare un’istruzione inserita in precedenza operate in uno dei seguenti modi:

• Posizionate il cursore sull’istruzione da eliminare e scegliete il Comando Elimina dal Menu Modifica

• Posizionate il cursore sull’istruzione da eliminare e premete Ctrl+Y

• Cancellate tutti i caratteri del rigo e premete Invio od uno dei tasti di direzione

Cancellazione di un modulo di sistema

Occorre procedere come descritto per la cancellazione di istruzioni eliminando la chiamata al modulo, cioè il rigo che riporta la sigla dello stesso. L’eliminazione della chiamata eliminerà l’intero modulo, compresi tutti i righi per la definizione degli ingressi/uscite.

Inserimento di un rigo vuoto

Posizionate il cursore sul rigo dell’editor prima del quale desiderate inserire un rigo vuoto e scegliete il Comando Inserisci del Menu Modifica oppure digitate Ctrl+I.

Operazioni supportate

L’editor AWL riconosce tutte le operazioni supportate dal PLC reale, l’elenco e la descrizione dettagliata di esse è fornita nel Capitolo 9 al paragrafo Descrizione delle operazioni.

Rilevazione di errori sintattici

Le operazioni di inserimento del codice AWL sono completamente e continuamente controllate dall’editor. Ogni volta che inserite una istruzione, l’editor controlla la correttezza sia dell’operazione che dell’operando e, in caso di controllo positivo, formatta l’input allineandolo per una comoda lettura. Se, invece, l’istruzione che avete inserito risulta errata, l’editor non vi consente di cambiare rigo e vi segnala l’errore con un bip.

3-26 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Debug nella finestra AWL

Per attivare la funzionalità di debug su una finestra AWL scegliete il Comando Debug (FPC 404 e PS3) dal Menu Finestra. La funzione è attiva soltanto se il PLC si trova nello stato di ON o in quello di RUN.

Le due colonne sulla destra della finestra dell’editor AWL vi consentono di effettuare un efficace debug durante l’esecuzione del vostro codice.

La colonna denotata RA vi fornisce riga per riga, ove questo abbia un senso, il contenuto del registro generale in formato bit, byte o word a seconda del tipo di istruzione presente sul rigo.

L’altra colonna vi permette di valutare lo stato dell’operando sulla riga corrispondente e rappresenta:

• per i segnali digitali (ingressi, uscite, merker), lo stato attuale (0 o 1);

• per gli operandi a byte, il valore attuale (da 0 a 255);

• per gli operandi a word, il valore attuale (da 0 a 65535)

• per i temporizzatori, il valore attuale del registro del temporizzatore espresso in decimi di secondo come numero da 0 a 65535

• per i contatori: il valore attuale di conteggio espresso come numero da 0 a 65535

• per i registri a scorrimento: il valore attuale del registro a 16 bit espresso come numero da 0 a 65535.

PC-Sim: il simulatore di PLC 3-27

Autoware srl AW-SYS – software di simulazione di PLC e impianti

L'editor AWL per il PLC S5 100U

Premessa

Questa descrizione non è e non può essere una lezione, né tanto meno un corso, sull'utilizzo del linguaggio AWL per la programmazione dei PLC. Utilizzate testi specializzati o il manuale del programmatore del vostro PLC reale per apprendere i rudimenti di questo linguaggio. PC-Sim vi consentirà comunque un apprendimento più veloce per la possibilità che offre di sperimentare immediatamente e semplicemente il programma realizzato.

Vi saranno molto utili anche gli ultimi capitoli del presente manuale. In essi vengono illustrati i PLC simulati con riguardo alle loro peculiarità di programmazione e viene fornita un’interessante serie di problemi di programmazione risolti e commentati. Ricordate che Autoware è sempre disponibile per chiarimenti. Le modalità per contattarci sono descritte nel paragrafo dedicato al Servizio Supporto Tecnico Utenti AW-SYS.

La programmazione in AWL

Il linguaggio AWL o STL o Lista istruzioni è una delle modalità più diffuse di programmazione dei PLC. Scrivere un programma AWL vuol dire digitare una serie di istruzioni, ognuna delle quali rappresenta un compito elementare, che la CPU del PLC eseguirà in sequenza. Ogni istruzione occupa un solo rigo di programma ed ogni rigo contiene una sola istruzione.

Ognuna di esse è composta da un’operazione e, generalmente, da un operando. L’operazione specifica l’azione che la CPU deve compiere e l’operando specifica l’oggetto su cui tale azione deve essere compiuta.

L’editor AWL di PC-Sim per S5 100U consente una comoda e rapida introduzione delle istruzioni, anche grazie alla possibilità di utilizzare comandi di taglia, copia ed incolla. La sintassi di ognuna di esse viene controllata immediatamente ed il programmatore viene avvisato in caso di errore. Il programma, inoltre, può essere semplicemente corredato di testi di commento.

Lo stesso editor permetterà, durante l’esecuzione del programma realizzato, la visualizzazione del debug. In corrispondenza di ogni rigo, verranno visualizzate informazioni sui registri principali del PLC e sullo stato degli operandi. Queste saranno aggiornate in tempo reale ed in conseguenza dei risultati dell’elaborazione e delle variazioni dei segnali a campo.

Nel Capitolo 11 è riportato un dettagliato elenco delle operazioni supportate da questo PLC e degli operandi ammissibili per ognuna.

Apertura dell’editor AWL

Per aprire l’editor di un blocco AWL esistente, selezionate il blocco all’interno della Tabella blocchi e premete il Pulsante Codice, oppure fate doppio clic sul rigo della tabella che contiene il blocco da editare.

Per creare un nuovo blocco AWL, aprendone anche l’editor, utilizzate una delle seguenti procedure:

• scegliete il Comando Nuovo blocco (S5 100U e S7 300) dal Menu File;

• fate clic sul Pulsante Nuovo blocco della Barra strumenti di PC-Sim;

• fate clic sul Pulsante Nuovo nella Finestra Lista blocchi.

3-28 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Le tre procedure sono equivalenti ed a tutte PC-Sim da seguito mostrando la finestra di dialogo Nuovo

blocco. Digitate la sigla del blocco da creare, scegliete come editor di blocco da adottare il tipo AWL, facoltativamente inserite un testo di commento al blocco e, infine, premete il pulsante Crea.

Se la sigla digitata è valida ed il blocco non è già presente nel progetto, esso viene aggiunto nella Tabella

blocchi e l’editor AWL viene aperto.

Chiusura dell’editor AWL

La chiusura dell’editor AWL può essere effettuata premendo il pulsante di chiusura a destra nella barra del titolo. Se sono state effettuate modifiche nel testo del blocco, PC-Sim vi richiede con un'apposita finestra di dialogo se intendete salvarle. Nel caso rispondiate affermativamente, ricordate che il salvataggio del testo del blocco, così come modificato, non viene effettuato nel file progetto ma nella memoria di programma. Questa, che comprende il codice di tutti i blocchi del vostro progetto sia ladder, che AWL, che dati, verrà registrata nel file solo su specifica richiesta di salvataggio del progetto. Vedere in merito il Comando Salva progetto del menu File.

Se rispondete negativamente alla richiesta di salvataggio, le ultime modifiche effettuate non verranno salvate nella memoria di programma, verranno cioè perse. Se il blocco non era stato mai salvato dalla sua creazione, l’operazione di chiusura e la scelta di non salvare le modifiche comporteranno la perdita totale del blocco, che verrà eliminato anche dalla Tabella blocchi.

Metodo equivalente per chiudere il blocco è premere la combinazione di tasti Alt+F4.

PC-Sim: il simulatore di PLC 3-29

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Salvataggio del blocco

Oltre che alla chiusura dell’editor, come appena visto, è possibile salvare in qualsiasi momento il contenuto di un blocco scegliendo il Comando Salva blocco dal menu File. Anche in questo caso valgono le considerazioni fatte nel paragrafo precedente in merito al salvataggio, ed anche qui rimandiamo per ulteriori informazioni alla descrizione del Comando Salva progetto del menu File.

Editazione del programma AWL

Composizione di un’istruzione

Ogni istruzione in codice AWL è composta da una operazione e, generalmente, da un operando sul quale l’operazione agisce. Esistono comunque alcune operazioni che non necessitano di operando o nelle quali l’operando da utilizzare è implicito e quindi non è necessario menzionarlo.

Per informazioni sulle operazioni implementate in questa simulazione e sugli operandi che supportano consultate il paragrafo Programmazione in AWL nel Capitolo 11.

Introduzione di una istruzione

Scrivere del codice AWL con PC-Sim è una cosa semplicissima e, come tale, non richiede tanti commenti.

Posizionate il puntatore di inserimento testo nell’editor AWL, facendo clic su di esso, ed iniziate a scrivere il vostro programma senza preoccuparvi di lasciare spazi, di usare tabulazioni di inserire in maiuscolo o minuscolo. Provvede a tutto l’editor di PC-Sim! Unico avvertimento: ricordate di andare accapo premendo Invio dopo ogni istruzione inserita.

Ogni volta che completate l'inserimento di un'istruzione l'editor provvede a formattare correttamente il testo inserito, regolando le spaziature, incolonnando operazioni ed operandi e riportandone il testo in caratteri maiuscoli.

Introduzione di etichette

Ogni rigo di un programma AWL in un blocco funzionale (FB) può essere contrassegnato da una etichetta. L’etichetta è una stringa alfanumerica lunga al massimo quattro caratteri, di cui il primo necessariamente alfabetico, che trova posto all’inizio del rigo alla sinistra del carattere ‘:’. Le etichette contraddistinguono le posizioni di arrivo di un’istruzione di salto.

Quando desiderate inserire un’etichetta sul rigo corrente, digitatene la sigla e quindi il carattere ‘:’ e, facoltativamente, fate seguire l’istruzione e terminate premendo Invio. Ancora una volta, l’editor AWL di PC-Sim provvede a formattare il rigo appena inserito come visto in precedenza, mostrando l’etichetta in colore blu.

Introduzione di testi di commento

In ogni rigo dell’editor, contenga o no un’istruzione e/o un’etichetta, è possibile inserire un testo di commento. Vi basterà digitare un carattere apice (‘) e farlo seguire dal commento e terminare l’operazione premendo il tasto Invio. Non appena cambiate il rigo corrente, PC-Sim provvede a formattare, oltre alle eventuali istruzione ed etichetta presenti sul rigo, anche il commento, impostandone la posizione di inizio ed il colore, che per il commento è il verde.

La posizione iniziale del commento è il margine sinistro, se nel rigo non è presente alcuna istruzione, o una posizione adeguata a lasciare posto per l’istruzione più lunga (L KM ...). Fa eccezione a questa regola il caso di istruzione di salto, condizionato o non condizionato, a blocco funzionale, la cui lunghezza può variare con il

3-30 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

numero di parametri presenti. In questo caso la posizione iniziale del commento, se non compatibile con quanto detto in precedenza, verrà fissata alla fine dell’istruzione.

Operazioni di editing avanzato

Utilizzate i comandi Taglia, Copia e Incolla del Menu Modifica o le corrispondenti Scelte rapide da tastiera Ctrl+X, Ctrl+C e Ctrl+V per tagliare, copiare ed incollare codice nello stesso blocco o da un blocco all'altro dello stesso progetto o di progetti diversi.

Rilevazione errori sintattici

Se inserite una istruzione commettendo un errore sintattico, alla convalida di questa (passaggio a diverso rigo) l’istruzione errata viene evidenziata in colore rosso. Potrete ancora compiere tutte le azioni che volete su questo o altri editor ma l’istruzione errata continuerà ad essere mostrata in rosso fino alla sua correzione.

Parametrizzazione di blocchi funzionali

I blocchi funzionali di questo PLC, e solo questi, possono essere parametrizzati, cioè in essi è possibile definire variabili fittizie, chiamati operandi formali, da utilizzare nella scrittura del programma. Quando il blocco viene chiamato con un’istruzione SPA FB o SPB FB, occorrerà specificare nella chiamata una lista variabili (operandi assoluti o simboli) corrispondenti per numero e per tipo ai parametri che il blocco accetta. Queste variabili, nell’elaborazione del blocco funzionale parametrizzato, verranno utilizzate al posto degli operandi formali. Questo è quello che accade, per certi versi, anche in linguaggi ad alto livello per PC quando si chiama un sottoprogramma per cui sono stati definiti dei parametri.

E’ indispensabile quindi dichiarare numero e tipo dei parametri. Per questo scopo l’editor AWL di PC-Sim fornisce la possibilità di aprire una griglia per la loro definizione. Facendo clic sul pulsante contraddistinto da un triangolo rovesciato, situato proprio al di sopra della barra di scorrimento, appare la griglia di inserimento parametri, che inizialmente è vuota.

Per inserire un parametro bisogna specificarne la sigla e la specie. Per alcune specie è necessario specificare ulteriormente il tipo. Quello del commento è un campo opzionale.

La griglia è costituita da quattro colonne.

PC-Sim: il simulatore di PLC 3-31

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Colonna Sigla

In essa deve essere specificata la sigla dell’operando formale che verrà utilizzato nel codice del blocco con le operazioni che lo prevedono. La sigla può avere una lunghezza massima di quattro caratteri alfanumerici e deve necessariamente iniziare con un carattere alfabetico. L’inserimento del campo è obbligatorio.

Colonna Specie

In questa colonna viene dichiarata la specie dell’operando formale la cui sigla è alla colonna precedente. Le possibili specie sono:

• E parametro di ingresso

• A parametro di uscita

• D dato costante

• B parametro blocco

• T temporizzatore

• Z contatore

Colonna Tipo

Per alcune delle specie è necessario fornire l’ulteriore dichiarazione del tipo, che informa il compilatore del programma utente sul numero di bit del parametro, quando questa informazione non si evinca univocamente dalla dichiarazione della specie.

Tipi validi per le specie A ed E sono:

• B parametro a bit

• BY parametro a byte

• W parametro a word

Tipi validi per la specie D sono:

• KF costante decimale con segno

• KH costante esadecimale

• KM costante binaria

• KY costante a doppio byte

• KT costante di temporizzazione

• KZ costante di conteggio

Le altre specie non necessitano della dichiarazione del tipo e quindi, per esse, la cella in questa colonna non deve essere compilata.

Colonna Commento

Questa colonna consente di associare ad ogni parametro un testo di commento per chiarirne l’utilizzo o la specifica funzione. L’inserimento in essa è facoltativo.

Debug nelle finestre AWL

La funzionalità di debug dei blocchi AWL permette di controllare il funzionamento del programma che avete redatto e risulta estremamente utile quando questo non si comporti come previsto.

L'attivazione del debug è possibile solo quando il PLC si trova nello stato di ON o in quello di RUN, cioè quando il commutatore On-Off della CPU nella Barra strumenti di PC-Sim si trova nella posizione di On. In

3-32 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

questa condizione selezionate, se necessario, nella Tabella blocchi il blocco da analizzare e fate clic sul Pulsante Debug.

Il simbolo della matita sulla barra del titolo dell’editor viene sostituito da quello di una lente d'ingrandimento, a segnalarvi la condizione di blocco in debug. Il commento al blocco nella barra del titolo viene sostituito da un'indicazione che informa se il blocco è attualmente elaborato, cioè se la CPU del PLC simulato sta eseguendo il codice del blocco. In effetti, esso potrebbe non essere eseguito se la CPU è in Stop o se non esiste alcuna chiamata al blocco o se le condizioni per la chiamata non sono soddisfatte in un altro blocco eseguito.

La visualizzazione normale del blocco sarà sostituita da una griglia formata da tante righe quante sono le istruzioni e da quattro colonne.

Colonna Istruzione

Riporta le istruzioni che compongono il codice del blocco AWL ed alle quali le celle nelle colonne successive fanno riferimento.

Colonna RLC

Mostra il risultato logico combinatorio dopo l'elaborazione dell'istruzione sullo stesso rigo. Per chiarimenti ulteriori vedere il paragrafo Registri nel Capitolo 11.

Colonna Stato/Accu

Questa colonna riporta:

• per operandi a bit, lo stato dell'operando (0 o 1)

• per operazioni di caricamento o trasferimento (L o T) ed in generale per operazioni che coinvolgono operandi a più bit, il valore degli accumulatori ACCU1 e ACCU2, vedere il paragrafo Registri nel Capitolo

11

• per operazioni di set di temporizzatori (SI, SV, SE, SS, SA), il valore attuale del temporizzatore, espresso nella base tempi per esso impostata.

PC-Sim: il simulatore di PLC 3-33

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Per ulteriori informazioni sugli accumulatori vedere il paragrafo Registri nel Capitolo 11.

Colonna commento

L’ultima colonna riporta l’eventuale commento presente su quel rigo.

Solo le colonne RLC e Stato/Accu sono dinamiche, cioè il loro contenuto varia in relazione all’elaborazione del programma.

Se portate il PLC in STOP la visualizzazione corrente del debug viene congelata agli ultimi valori elaborati. Il ritorno del PLC nello stato di OFF riporta automaticamente la finestra nello stato di Edit.

3-34 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

L'editor AWL per il PLC S7 300

Premessa

Questa descrizione non è e non può essere una lezione, né tanto meno un corso, sull'utilizzo del linguaggio AWL per la programmazione dei PLC. Utilizzate testi specializzati o il manuale del programmatore del vostro PLC reale per apprendere i rudimenti di questo linguaggio. PC-Sim vi consentirà comunque un apprendimento più veloce per la possibilità che offre di sperimentare immediatamente e semplicemente il programma realizzato.

Vi saranno molto utili anche gli ultimi capitoli del presente manuale. In essi vengono illustrati i PLC simulati con riguardo alle loro peculiarità di programmazione e viene fornita un’interessante serie di problemi di programmazione risolti e commentati. Ricordate che Autoware è sempre disponibile per chiarimenti. Le modalità per contattarci sono descritte nel paragrafo dedicato al Servizio Supporto Tecnico Utenti AW-SYS.

La programmazione in AWL

Il linguaggio AWL o STL o Lista istruzioni è una delle modalità più diffuse di programmazione dei PLC. Scrivere un programma AWL vuol dire digitare una serie di istruzioni, ognuna delle quali rappresenta un compito elementare, che la CPU del PLC eseguirà in sequenza. Ogni istruzione occupa un solo rigo di programma ed ogni rigo contiene una sola istruzione.

Ognuna di esse è composta da un’operazione e, generalmente, da un operando. L’operazione specifica l’azione che la CPU deve compiere e l’operando specifica l’oggetto su cui tale azione deve essere compiuta.

L’editor AWL di PC-Sim per S7 300 consente una comoda e rapida introduzione delle istruzioni, anche grazie alla possibilità di utilizzare comandi di taglia, copia ed incolla. La sintassi di ognuna di esse viene controllata immediatamente ed il programmatore viene avvisato in caso di errore. Il programma, inoltre, può essere semplicemente corredato di testi di commento.

Lo stesso editor permetterà, durante l’esecuzione del programma realizzato, la visualizzazione del debug. In corrispondenza di ogni rigo, verranno visualizzate informazioni sui registri principali del PLC e sullo stato degli operandi. Queste saranno aggiornate in tempo reale ed in conseguenza dei risultati dell’elaborazione e delle variazioni dei segnali a campo.

Nel Capitolo 13 è riportato un dettagliato elenco delle operazioni supportate da questo PLC e degli operandi ammissibili per ognuna.

Apertura dell’editor AWL

Per aprire l’editor di un blocco AWL esistente, selezionate il blocco all’interno della Tabella blocchi e premete il Pulsante Codice, oppure fate doppio clic sul rigo della tabella che contiene il blocco da editare.

Per creare un nuovo blocco AWL, aprendone anche l’editor, utilizzate una delle seguenti procedure:

• scegliete il Comando Nuovo blocco (S5 100U e S7 300) dal Menu File;

• fate clic sul Pulsante Nuovo blocco della Barra strumenti di PC-Sim;

• fate clic sul Pulsante Nuovo nella Finestra Lista blocchi.

Le tre procedure sono equivalenti ed a tutte PC-Sim da seguito mostrando la finestra di dialogo Nuovo

blocco. Digitate la sigla del blocco da creare, scegliete come editor di blocco da adottare il tipo AWL, facoltativamente inserite un testo di commento al blocco e, infine, premete il pulsante Crea.

PC-Sim: il simulatore di PLC 3-35

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Se la sigla digitata è valida ed il blocco non è già presente nel progetto, esso viene aggiunto nella Tabella

blocchi e l’editor AWL viene aperto.

Chiusura dell’editor AWL

La chiusura dell’editor AWL può essere effettuata premendo il pulsante di chiusura a destra nella barra del titolo. Se sono state effettuate modifiche nel testo del blocco, PC-Sim vi richiede con un'apposita finestra di dialogo se intendete salvarle. Nel caso rispondiate affermativamente, ricordate che il salvataggio del testo del blocco, così come modificato, non viene effettuato nel file progetto ma nella memoria di programma. Questa, che comprende il codice di tutti i blocchi del vostro progetto sia ladder, che AWL, che dati, verrà registrata nel file solo su specifica richiesta di salvataggio del progetto. Vedere in merito il Comando Salva progetto del menu File.

Se rispondete negativamente alla richiesta di salvataggio, le ultime modifiche effettuate non verranno salvate nella memoria di programma, verranno cioè perse. Se il blocco non era stato mai salvato dalla sua creazione, l’operazione di chiusura e la scelta di non salvare le modifiche comporteranno la perdita totale del blocco, che verrà eliminato anche dalla Tabella blocchi.

Metodo equivalente per chiudere il blocco è premere la combinazione di tasti Alt+F4.

3-36 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Salvataggio del blocco

Oltre che alla chiusura dell’editor, come appena visto, è possibile salvare in qualsiasi momento il contenuto di un blocco scegliendo il Comando Salva blocco dal menu File. Anche in questo caso valgono le considerazioni fatte nel paragrafo precedente in merito al salvataggio, ed anche qui rimandiamo per ulteriori informazioni alla descrizione del Comando Salva progetto del menu File.

Editazione del programma AWL

Composizione di un’istruzione

Ogni istruzione in codice AWL è composta da una operazione e, generalmente, da un operando sul quale l’operazione agisce. Esistono comunque alcune operazioni che non necessitano di operando o nelle quali l’operando da utilizzare è implicito e quindi non è necessario menzionarlo.

Per informazioni sulle operazioni implementate in questa simulazione e sugli operandi che supportano consultate il paragrafo Programmazione in AWL nel Capitolo 13.

Introduzione di una istruzione

Scrivere del codice AWL con PC-Sim è una cosa semplicissima e, come tale, non richiede tanti commenti.

Posizionate il puntatore di inserimento testo nell’editor AWL, facendo clic su di esso, ed iniziate a scrivere il vostro programma preoccupandovi solo di lasciare uno spazio tra operazione e operando, e senza badare ad usare tabulazioni o inserire in maiuscolo o minuscolo. Provvede a tutto l’editor di PC-Sim! Unico avvertimento: ricordate di andare accapo premendo Invio dopo ogni istruzione inserita.

Ogni volta che completate l'inserimento di un'istruzione l'editor provvede a formattare correttamente il testo inserito, regolando le spaziature, incolonnando operazioni ed operandi e riportandone il testo in caratteri maiuscoli ove necessario.

Introduzione di etichette

Ogni rigo di un programma AWL può essere contrassegnato da una etichetta. L’etichetta è una stringa alfanumerica lunga al massimo quattro caratteri, di cui il primo necessariamente alfabetico, che trova posto all’inizio del rigo alla sinistra del carattere ‘:’. Le etichette contraddistinguono le posizioni di arrivo di un’istruzione di salto.

Quando desiderate inserire un’etichetta sul rigo corrente, digitatene la sigla e quindi il carattere ‘:’ e, facoltativamente, fate seguire l’istruzione e terminate premendo Invio. Ancora una volta, l’editor AWL di PC-Sim provvede a formattare il rigo appena inserito come visto in precedenza, mostrando l’etichetta in colore blu.

Introduzione di testi di commento

In ogni rigo dell’editor, contenga o no un’istruzione e/o un’etichetta, è possibile inserire un testo di commento. Vi basterà digitare un carattere apice (‘) e farlo seguire dal commento e terminare l’operazione premendo il tasto Invio. Non appena cambiate il rigo corrente, PC-Sim provvede a formattare, oltre alle eventuali istruzione ed etichetta presenti sul rigo, anche il commento, impostandone la posizione di inizio ed il colore, che per il commento è il verde.

La posizione iniziale del commento è il margine sinistro, se nel rigo non è presente alcuna istruzione, o una posizione adeguata a lasciare posto per l’istruzione più lunga. Fa eccezione a questa regola il caso di istruzione di richiamo di funzione parametrizzata, la cui lunghezza può variare con il numero di operandi

PC-Sim: il simulatore di PLC 3-37

Autoware srl AW-SYS – software di simulazione di PLC e impianti

attuali passati. In questo caso la posizione iniziale del commento, se non compatibile con quanto detto in precedenza, verrà fissata alla fine dell’istruzione.

Operazioni di editing avanzato

Utilizzate i comandi Taglia, Copia e Incolla del Menu Modifica o le corrispondenti Scelte rapide da tastiera Ctrl+X, Ctrl+C e Ctrl+V per tagliare, copiare ed incollare codice nello stesso blocco o da un blocco all'altro dello stesso progetto o di progetti diversi.

Rilevazione errori sintattici

Se inserite una istruzione commettendo un errore sintattico, alla convalida di questa (passaggio a diverso rigo) l’istruzione errata viene evidenziata in colore rosso. Potrete ancora compiere tutte le azioni che volete su questo o altri editor ma l’istruzione errata continuerà ad essere mostrata in rosso fino alla sua correzione.

Parametrizzazione di funzioni

I blocchi funzione di questo PLC possono essere parametrizzati, cioè in essi è possibile definire variabili fittizie, chiamati operandi formali, da utilizzare nella scrittura del programma. Quando il blocco viene richiamato, occorrerà specificare nella chiamata una lista variabili (operandi assoluti o simboli) corrispondenti per numero e per tipo ai parametri che la funzione prevede. Queste variabili, nell’elaborazione della funzione parametrizzata, verranno utilizzate al posto degli operandi formali. Questo è quello che accade, per certi versi, anche in linguaggi ad alto livello per PC quando si chiama un sottoprogramma per cui sono stati definiti dei parametri.

E’ indispensabile quindi dichiarare numero e tipo dei parametri. Per questo scopo l’editor AWL di PC-Sim fornisce la possibilità di aprire una griglia per la loro definizione. Facendo clic sul pulsante contraddistinto da un triangolo rovesciato, situato proprio al di sopra della barra di scorrimento, appare la griglia di inserimento parametri, che inizialmente è vuota.

3-38 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Per inserire un parametro bisogna specificarne il nome, la dichiarazione ed il tipo. Quello del commento è un campo opzionale.

La griglia è costituita da cinque colonne.

Colonna Indirizzo

Viene compilata automaticamente da PC-SIM. Per parametri ad un bit, essa riporta l’indirizzo del parametro; per quelli a più bit, riporta invece l’indirizzo del primo bit del parametro.

Colonna Nome

In essa deve essere specificata la sigla dell’operando formale che verrà utilizzato nel codice del blocco con le operazioni che lo prevedono. La sigla può avere una lunghezza massima di sedici caratteri alfanumerici e deve necessariamente iniziare con un carattere alfabetico. L’inserimento del campo è obbligatorio.

Colonna Dichiarazione

In questa colonna viene dichiarata la specie del parametro il cui nome è alla colonna precedente. Le possibili dichiarazioni sono:

• in parametro di ingresso

• out parametro di uscita

• in_out parametro di ingresso-uscita

Per i parametri di ingresso ed ingresso-uscita, prima della chiamata della funzione, il valore o lo stato degli operandi attuali viene ricopiato in quelli formali corrispondenti.

Per i parametri di uscita ed ingresso-uscita, al termine della elaborazione della funzione, il valore o lo stato degli operandi formali viene ricopiato in quelli attuali corrispondenti.

Colonna Tipo

La specificazione del tipo informa il compilatore del programma utente circa il numero di bit del parametro.

Tipi validi sono:

• BOOL parametro a bit

• BYTE parametro a byte

• WORD parametro a word

• DWORD parametro a doppia word

Colonna Commento

Questa colonna consente di associare ad ogni parametro un testo di commento per chiarirne l’utilizzo o la specifica funzione. L’inserimento in essa è facoltativo.

Debug nelle finestre AWL

La funzionalità di debug dei blocchi AWL permette di controllare il funzionamento del programma che avete redatto e risulta estremamente utile quando questo non si comporti come previsto.

L'attivazione del debug è possibile solo quando il PLC si trova nello stato di ON o in quello di RUN, cioè quando il commutatore On-Off della CPU nella Barra strumenti di PC-Sim si trova nella posizione di On. In questa condizione selezionate, se necessario, nella Tabella blocchi il blocco da analizzare e fate clic sul Pulsante Debug.

Il simbolo della matita sulla barra del titolo dell’editor viene sostituito da quello di una lente d'ingrandimento, a segnalarvi la condizione di blocco in debug. Il commento al blocco nella barra del titolo viene sostituito da un'indicazione che informa se il blocco è attualmente elaborato, cioè se la CPU del PLC simulato sta

PC-Sim: il simulatore di PLC 3-39

Autoware srl AW-SYS – software di simulazione di PLC e impianti

eseguendo il codice del blocco. In effetti, esso potrebbe non essere eseguito se la CPU è in Stop o se non esiste alcuna chiamata al blocco o se le condizioni per la chiamata non sono soddisfatte in un altro blocco eseguito.

La visualizzazione normale del blocco sarà sostituita da una griglia formata da tante righe quante sono le istruzioni e da quattro colonne.

Colonna Istruzione

Riporta le istruzioni che compongono il codice del blocco AWL ed alle quali le celle nelle colonne successive fanno riferimento.

Colonna RLC

Mostra il risultato logico combinatorio dopo l'elaborazione dell'istruzione sullo stesso rigo. Per chiarimenti ulteriori vedere il paragrafo Registri nel Capitolo 13.

Colonna Stato/Accu1 Accu2

Questa colonna riporta:

• per operandi a bit, lo stato dell'operando (0 o 1)

• per operazioni di caricamento o trasferimento (L o T) ed in generale per operazioni che coinvolgono operandi a più bit, il valore degli accumulatori ACCU1 e ACCU2

• per operazioni di set di temporizzatori (SI, SV, SE, SS, SA), il valore attuale del temporizzatore, espresso nella base tempi per esso impostata.

Per ulteriori informazioni sugli accumulatori vedere il paragrafo Registri nel Capitolo 13.

Colonna commento

L’ultima colonna riporta l’eventuale commento presente su quel rigo.

Solo le colonne RLC e Stato/Accu1 Accu2 sono dinamiche, cioè il loro contenuto varia in relazione all’elaborazione del programma.

3-40 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Se portate il PLC in STOP la visualizzazione corrente del debug viene congelata agli ultimi valori elaborati. Il ritorno del PLC nello stato di OFF riporta automaticamente la finestra nello stato di Edit.

L’editor dati (S5 100U)

La finestra di editor dati è disponibile solo nella simulazione del PLC S5 100U essendo questo l’unico, tra quelli simulati, a permettere questo tipo di programmazione. A differenza degli altri editor, esso non consente di redigere un programma ma dà la possibilità al programmatore di definire aree di dati.

L’editor mostra una tabella in cui ogni rigo contiene un dato in formato a 16 bit (data word). Il numero di questi potrà essere definito liberamente, pur rimanendo al di sotto di un valore massimo. Anche il loro formato, cioè la base di rappresentazione, è selezionabile dall’utente tra le diverse previste. Sono inoltre disponibili funzionalità per l’inserimento e l’eliminazione di righi singoli o multipli.

I dati così programmati potranno essere indirizzati, in lettura o in scrittura, nei blocchi di programma del progetto.

Ulteriori informazioni sui blocchi dati e sulle operazioni di accesso ad essi sono disponibili nel Capitolo 11.

Apertura dell’editor dati

Per aprire l’editor di un blocco dati esistente, selezionate il blocco all’interno della Tabella blocchi e premete il Pulsante Codice, oppure fate doppio clic sul rigo della tabella che contiene il blocco da editare.

Per creare un nuovo blocco dati, aprendone anche l’editor, utilizzate una delle seguenti procedure:

• scegliete il Comando Nuovo blocco (S5 100U e S7 300) dal Menu File;

• fate clic sul Pulsante Nuovo blocco della Barra strumenti di PC-Sim;

• fate clic sul Pulsante Nuovo nella Finestra Lista blocchi.

Le tre procedure sono equivalenti ed a tutte PC-Sim da seguito mostrando la finestra di dialogo Nuovo

blocco. Digitate la sigla del blocco da creare, se lo desiderate inserite un testo di commento al blocco ed, infine, premete il Pulsante Crea.

Se la sigla digitata è valida ed il blocco non è già presente nel progetto, esso viene aggiunto nella Tabella

blocchi e l’editor di dati viene aperto.

Chiusura dell’editor dati

La chiusura dell’editor di dati può essere effettuata premendo il pulsante di chiusura a destra nella barra del titolo. Se sono state effettuate modifiche dei dati nel blocco, PC-Sim vi richiede con un'apposita finestra di dialogo se intendete salvarle. Nel caso rispondiate affermativamente, ricordate che il salvataggio dei dati del blocco, così come modificati, non viene effettuato nel file progetto ma nella memoria di programma. Questa, che comprende il codice di tutti i blocchi del vostro progetto, sia ladder che AWL che dati, verrà registrata nel file solo su specifica richiesta di salvataggio del progetto. Vedere in merito il Comando Salva progetto del Menu File.

PC-Sim: il simulatore di PLC 3-41

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Se rispondete negativamente alla richiesta di salvataggio, le ultime modifiche effettuate non verranno salvate nella memoria di programma, verranno cioè perse. Se il blocco non era stato mai salvato dalla sua creazione, l’operazione di chiusura e la scelta di non salvare le modifiche comporteranno la perdita totale del blocco, che verrà eliminato anche dalla Tabella blocchi.

Un metodo equivalente per chiudere il blocco è premere la combinazione di tasti Alt+F4.

Salvataggio del blocco

Oltre che alla chiusura dell’editor, come appena visto, è possibile salvare in qualsiasi momento il contenuto di un blocco dati scegliendo il Comando Salva blocco dal Menu File. Anche in questo caso valgono le considerazioni fatte nel paragrafo precedente in merito al salvataggio, ed anche qui rimandiamo per ulteriori informazioni alla descrizione del Comando Salva progetto del menu File.

Composizione della finestra

Barra del titolo

La barra del titolo riporta la sigla ed il commento al blocco, così come digitati al momento della sua creazione o successivamente modificati.

Tabella dati

La Tabella dati contiene, suddivisi per righe, i dati del blocco e ne permette l’introduzione di nuovi e la modifica degli esistenti. Le sue dimensioni sono adeguate automaticamente a quelle della finestra. Quando queste non permettano la visualizzazione completa dei dati, PC-Sim mostra una barra di scorrimento verticale a destra della tabella.

L’ultimo rigo della tabella è sempre vuoto e consente l’aggiunta di un nuovo dato.

Colonna DW

Il campo in questa colonna non è modificabile dall’utente, come ricorda lo sfondo grigio. PC-Sim inserisce in esso il numero progressivo della data word, partendo da 0 fino al massimo consentito di 255.

Quando inserite o eliminate righe della tabella, i numeri in questa colonna vengono riordinati automaticamente.

3-42 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Colonna Tipo

Specifica il tipo di rappresentazione per il dato contenuto nella colonna successiva. I tipi riconosciuti, tutti a 16 bit, sono:

• KH numero esadecimale

• KF numero decimale con segno

• KT valore di tempo

• KZ valore di conteggio

• KY numero a doppio byte

• KM numero binario

Ogni cella di questa colonna è in realtà una casella combinata a discesa. Cioè potete immettere direttamente il testo, digitando una delle sigle valide, oppure fare clic sulla freccia a destra per visualizzare l’elenco delle scelte e selezionarne una.

Colonna Valore

Contiene il valore del dato nella rappresentazione stabilita nella Colonna Tipo. La formattazione del valore viene effettuata automaticamente. Una modifica al tipo di rappresentazione, specificato nella colonna precedente, comporta un adeguamento automatico del valore visualizzato. Se nella nuova base ha senso la rappresentazione del dato corrente, questa viene visualizzata, altrimenti verrà mostrato un valore nullo.

Colonna Commento

In questa colonna è possibile inserire facoltativamente un commento al dato sullo stesso rigo che serva di chiarimento o che ne rammenti la funzione.

Selettori di rigo

La parte della tabella a sinistra della prima colonna è formata dai selettori di rigo. Essi vi permettono di selezionare i righi della tabella e, nel contempo, forniscono informazioni sul rigo corrispondente mediante la visualizzazione di immagini:

rigo di aggiunta

rigo corrente

rigo corrente in editazione

Barra pulsanti

La Barra pulsanti è la parte inferiore della finestra di editor. Essa contiene i pulsanti necessari alle operazioni di inserimento ed eliminazione di righi di dati, singoli o multipli. Le procedure avviate premendo i pulsanti agiscono sui righi selezionati.

Per selezionare un singolo dato fate clic sul corrispondente selettore di rigo.

Per selezionare righi multipli contigui: selezionate il primo rigo come appena descritto, quindi premete e mantenete premuto il tasto Maiusc e fate clic sul selettore dell’ultimo rigo. Tutti i righi dal primo all’ultimo verranno selezionati e tutti saranno oggetto delle azioni dei pulsanti Elimina ed Inserisci.

E’ possibile, infine, effettuare selezioni multiple di righi non contigui: selezionate il primo quindi premete e mantenete il tasto Control e fate clic sui selettori dei righi da aggiungere alla selezione, uno alla volta. Un clic sul selettore di un rigo non selezionato aggiungerà il rigo alla selezione; mentre, un clic sul selettore di un rigo già selezionato eliminerà il rigo dalla selezione.

PC-Sim: il simulatore di PLC 3-43

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Pulsante Elimina

Il pulsante è abilitato solo se esiste una selezione nella tabella. Facendo clic su di esso si ottiene l’eliminazione dei righi selezionati, la ricompattazione della tabella e la riorganizzazione della numerazione nella colonna DW.

Pulsante Inserisci

Il pulsante è abilitato solo se esiste una selezione nella tabella. Facendo clic su di esso si ottiene l’inserimento di uno o più righi vuoti in corrispondenza del primo selezionato, lo spostamento verso il basso dei righi selezionati e di tutti i successivi e la riorganizzazione della numerazione della colonna DW. E’ possibile inserire più di un rigo per volta solo se la selezione è formata da righi contigui.

Editazione dei dati

Aggiunta di un dato

L’aggiunta di un dato si effettua sul rigo di aggiunta, cioè l’ultimo della tabella che ha campi completamente vuoti ed è contraddistinto da un asterisco sul selettore di rigo. All’apertura di un nuovo blocco questo è l’unico rigo presente.

Per aggiungere un dato alla tabella:

• Selezionate, nel rigo di aggiunta, la cella corrispondente alla Colonna Tipo, facendo clic su di essa,

• Digitate la sigla della rappresentazione oppure sceglietela dall’elenco a discesa. Automaticamente verrà compilata la cella nella colonna DW con il numero progressivo del dato. La selezione passerà alla cella immediatamente a destra.

• Digitate il valore del dato in maniera congruente con la base specificata e premete Invio. La cella selezionata diventa ora quella nella Colonna Commento.

• Facoltativamente digitate un testo che serva ad identificare il dato e premete Invio. Se non desiderate inserire alcun commento, premete soltanto il tasto Invio.

Il dato è aggiunto alla tabella, ed un nuovo rigo di aggiunta viene visualizzato alla fine di essa.

Modifica dei dati

Per modificare un dato occorre seguire la procedura qui descritta.

• Selezionate la cella da modificare facendo clic su di essa

• Se desiderate sovrascrivere interamente il nuovo valore, digitatelo direttamente nel campo

• Se volete modificare parte del valore preesistente, premete il tasto F2 che vi consente di entrare nell’editing della cella e quindi apportate le modifiche desiderate al campo

• Premete il tasto Invio tante volte quante necessarie al passaggio al rigo successivo.

L’editor dati (S7 300)

La finestra di editor dati, a differenza degli altri editor, non consente di redigere un programma ma dà la possibilità al programmatore di definire aree di dati, ogni dato rappresenta un valore numerico a 1, 8, 16 o 32 bit.

L’editor mostra una tabella in cui ogni rigo contiene un dato. Il numero di questi potrà essere definito liberamente, pur rimanendo al di sotto di un valore massimo. Anche il loro formato, cioè la base di

3-44 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

rappresentazione, è selezionabile dall’utente tra le diverse previste. Sono inoltre disponibili funzionalità per l’inserimento e l’eliminazione di righi singoli o multipli.

I dati così programmati potranno essere indirizzati, in lettura o in scrittura, nei blocchi di programma del progetto.

Ulteriori informazioni sui blocchi dati e sulle operazioni di accesso ad essi sono disponibili nel Capitolo 13.

Apertura dell’editor dati

Per aprire l’editor di un blocco dati esistente, selezionate il blocco all’interno della Tabella blocchi e premete il Pulsante Codice, oppure fate doppio clic sul rigo della tabella che contiene il blocco da editare.

Per creare un nuovo blocco dati, aprendone anche l’editor, utilizzate una delle seguenti procedure:

• scegliete il Comando Nuovo blocco (S5 100U e S7 300) dal Menu File;

• fate clic sul Pulsante Nuovo blocco della Barra strumenti di PC-Sim;

• fate clic sul Pulsante Nuovo nella Finestra Lista blocchi.

Le tre procedure sono equivalenti ed a tutte PC-Sim da seguito mostrando la finestra di dialogo Nuovo

blocco. Digitate la sigla del blocco da creare, se lo desiderate inserite un testo di commento al blocco ed, infine, premete il Pulsante Crea.

Se la sigla digitata è valida ed il blocco non è già presente nel progetto, esso viene aggiunto nella Tabella

blocchi e l’editor di dati viene aperto.

Chiusura dell’editor dati

La chiusura dell’editor di dati può essere effettuata premendo il pulsante di chiusura a destra nella barra del titolo. Se sono state effettuate modifiche dei dati nel blocco, PC-Sim vi richiede con un'apposita finestra di dialogo se intendete salvarle. Nel caso rispondiate affermativamente, ricordate che il salvataggio dei dati del blocco, così come modificati, non viene effettuato nel file progetto ma nella memoria di programma. Questa, che comprende il codice di tutti i blocchi del vostro progetto, sia ladder che AWL che dati, verrà registrata nel file solo su specifica richiesta di salvataggio del progetto. Vedere in merito il Comando Salva progetto del Menu File.

Se rispondete negativamente alla richiesta di salvataggio, le ultime modifiche effettuate non verranno salvate nella memoria di programma, verranno cioè perse. Se il blocco non era stato mai salvato dalla sua creazione, l’operazione di chiusura e la scelta di non salvare le modifiche comporteranno la perdita totale del blocco, che verrà eliminato anche dalla Tabella blocchi.

Un metodo equivalente per chiudere il blocco è premere la combinazione di tasti Alt+F4.

Salvataggio del blocco

Oltre che alla chiusura dell’editor, come appena visto, è possibile salvare in qualsiasi momento il contenuto di un blocco dati scegliendo il Comando Salva blocco dal Menu File. Anche in questo caso valgono le considerazioni fatte nel paragrafo precedente in merito al salvataggio, ed anche qui rimandiamo per ulteriori informazioni alla descrizione del Comando Salva progetto del menu File.

PC-Sim: il simulatore di PLC 3-45

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Composizione della finestra

Barra del titolo

La barra del titolo riporta la sigla ed il commento al blocco, così come digitati al momento della sua creazione o successivamente modificati.

Tabella dati

La Tabella dati contiene, suddivisi per righe, i dati del blocco e ne permette l’introduzione di nuovi e la modifica degli esistenti. Le sue dimensioni sono adeguate automaticamente a quelle della finestra. Quando queste non permettano la visualizzazione completa dei dati, PC-Sim mostra una barra di scorrimento verticale a destra della tabella.

L’ultimo rigo della tabella è sempre vuoto e consente l’aggiunta di un nuovo dato.

Colonna Indirizzo

Il campo in questa colonna non è modificabile dall’utente, come ricorda lo sfondo grigio. PC-Sim inserisce in esso il l’indirizzo del dato.

I dati sono organizzati in byte. L’indirizzo e composto da due numeri separati da un punto. Il primo numero identifica l’indirizzo di byte, il secondo quello di bit. Per dati booleani, in questo campo viene mostrato proprio l’indirizzo del bit come combinazione del byte a cui appartiene e del bit che lo identifica. Per dati a byte, la prima parte dell’indirizzo identifica proprio l’indirizzo del byte in questione, mentre l’indirizzo di bit vale sempre 0. Per dati a più byte (word e doppia word), l’indirizzo di byte specifica il primo dei byte che contengono il dato, l’indirizzo di bit vale 0 anche questa volta.

All’inserimento o all’eliminazione di righe della tabella, gli indirizzi vengono adeguati automaticamente.

Colonna Tipo

Specifica il tipo di dato contenuto nella riga. I tipi riconosciuti sono:

• BOOL dato booleano, 1 bit

• BYTE dato a byte

• WORD dato a word

• DWORD dato a doppia word

3-46 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Ogni cella di questa colonna è in realtà una casella combinata a discesa. Cioè potete immettere direttamente il testo, digitando uno dei tipi validi, oppure fare clic sulla freccia a destra per visualizzare l’elenco delle scelte e quindi selezionarne una.

Colonna Valore

Contiene il valore del dato nella rappresentazione stabilita nella Colonna Tipo. Per valore 0 non effettuare immissione nella casella premendo Invio.

Colonna Commento

In questa colonna è possibile inserire facoltativamente un commento al dato sullo stesso rigo che serva di chiarimento o che ne rammenti la funzione.

Selettori di rigo

La parte della tabella a sinistra della prima colonna è formata dai selettori di rigo. Essi vi permettono di selezionare i righi della tabella e, nel contempo, forniscono informazioni sul rigo corrispondente mediante la visualizzazione di immagini:

rigo di aggiunta

rigo corrente

rigo corrente in editazione

Barra pulsanti

La Barra pulsanti è la parte inferiore della finestra di editor. Essa contiene i pulsanti necessari alle operazioni di inserimento ed eliminazione di righi di dati, singoli o multipli. Le procedure avviate premendo i pulsanti agiscono sui righi selezionati.

Per selezionare un singolo dato fate clic sul corrispondente selettore di rigo.

Per selezionare righi multipli contigui: selezionate il primo rigo come appena descritto, quindi premete e mantenete premuto il tasto Maiusc e fate clic sul selettore dell’ultimo rigo. Tutti i righi dal primo all’ultimo verranno selezionati e tutti saranno oggetto delle azioni dei pulsanti Elimina ed Inserisci.

E’ possibile, infine, effettuare selezioni multiple di righi non contigui: selezionate il primo quindi premete e mantenete il tasto Control e fate clic sui selettori dei righi da aggiungere alla selezione, uno alla volta. Un clic sul selettore di un rigo non selezionato aggiungerà il rigo alla selezione; mentre, un clic sul selettore di un rigo già selezionato eliminerà il rigo dalla selezione.

Pulsante Elimina

Il pulsante è abilitato solo se esiste una selezione nella tabella. Facendo clic su di esso si ottiene l’eliminazione dei dati selezionati, la ricompattazione della tabella e la riorganizzazione degli indirizzi.

Pulsante Inserisci

Il pulsante è abilitato solo se esiste una selezione nella tabella. Facendo clic su di esso si ottiene l’inserimento di uno o più righi vuoti in corrispondenza del primo selezionato, lo spostamento verso il basso dei righi selezionati e di tutti i successivi e la riorganizzazione degli indirizzi. E’ possibile inserire più di un rigo per volta solo se la selezione è formata da righi contigui.

PC-Sim: il simulatore di PLC 3-47

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Editazione dei dati

Aggiunta di un dato

L’aggiunta di un dato si effettua sul rigo di aggiunta, cioè l’ultimo della tabella che ha campi completamente vuoti ed è contraddistinto da un asterisco sul selettore di rigo. All’apertura di un nuovo blocco questo è l’unico rigo presente.

Per aggiungere un dato alla tabella:

• Selezionare, nel rigo di aggiunta, la cella corrispondente alla Colonna Tipo, facendo clic su di essa,

• Digitare il tipo del dato oppure sceglierlo dall’elenco a discesa e premere Invio.

• Digitare il valore del dato in maniera congruente con il tipo specificato e premere Invio.

• Facoltativamente digitare un testo che serva ad identificare il dato e premete Invio. Se non si desidera inserire alcun commento, premere soltanto il tasto Invio.

Il dato è aggiunto alla tabella, ed un nuovo rigo di aggiunta viene visualizzato alla fine di essa.

Modifica dei dati

Per modificare un dato occorre seguire la procedura qui descritta.

• Selezionare la cella da modificare facendo clic su di essa

• Se si desidera sovrascrivere interamente il nuovo valore, digitarlo direttamente nel campo

• Se si vuole modificare parte del valore preesistente, premere il tasto F2 che consente di entrare nell’editing della cella, quindi apportare le modifiche desiderate al campo

• Premere il tasto Invio tante volte quante necessarie al passaggio al rigo successivo per convalidare il dato.

Finestra Tabella dei simboli

La Finestra Tabella dei simboli permette al programmatore la definizione delle corrispondenze tra operandi assoluti e simboli. Una volta definite tali corrispondenze, egli potrà utilizzare nella programmazione i secondi al posto dei primi, con un notevole vantaggio in termini di leggibilità del codice.

Le associazioni vengono introdotte in una apposita tabella, ed ogni introduzione è controllata da PC-Sim dal punto di vista della correttezza sintattica e della univocità. Per ogni associazione potrà essere inserito un testo descrittivo dell’operando. Sono inoltre disponibili funzionalità di inserimento ed eliminazione di righi singoli o multipli.

Operandi assoluti e simboli

Gli operandi assoluti sono quegli operandi la cui sintassi è in stretta relazione con la marca ed il modello del PLC, nonché con il numero del modulo e del canale del segnale a cui si riferiscono o con la sua posizione in memoria.

PC-Sim vi permette di utilizzare, durante la fase di editing dei programmi, oltre a quelli assoluti, anche gli operandi simbolici. Nel seguito del manuale si farà riferimento ad essi anche col solo nome di simboli. La sigla di questi, pur rispettando alcune regole, verrà definita a vostro piacimento e probabilmente richiamerà la funzione dell'oggetto collegato al PLC o della variabile interna che volete indirizzare.

PC-Sim provvederà automaticamente alla sostituzione dei simboli con i corrispettivi operandi assoluti nella memoria del PLC simulato ad ogni compilazione del programma utente, in maniera a voi assolutamente

3-48 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

trasparente: vedrete ed userete comodi simboli, mentre il PLC simulato lavorerà sui corrispondenti operandi assoluti.

I simboli utilizzabili in PC-Sim possono avere una lunghezza di 8 caratteri al massimo (16 con S7 300), il primo di questi deve necessariamente essere un carattere alfabetico in maiuscolo (da 'A' a 'Z'), gli altri possono essere sia alfabetici che numerici (da '0' a '9'). Ogni simbolo utilizzato nel programma dovrà essere preceduto dal carattere '-' (trattino o segno meno) che avvisa il compilatore che l’operando in esame è da considerare un simbolo e come tale dovrà essere trattato. Con S7 300 i simboli devono venire racchiusi tra virgolette ma, semplicemente lasciando uno spazio tra operazione ed operando, l’editor provvederà automaticamente all’inserimento delle virgolette.

Per poter utilizzare i simboli al posto degli operandi assoluti è necessario specificarne la corrispondenza nella Finestra Tabella dei simboli. Ogni associazione di un operando assoluto ad un simbolo verrà denotata in seguito come attribuzione.

Apertura della finestra

Per aprire la finestra Tabella dei simboli, o per portarla in primo piano, operate in uno dei seguenti modi:

• scegliete il Comando Tabella dei simboli dal Menu Finestra;

• fate clic sul pulsante Tabella dei simboli della Barra strumenti di PC-Sim ;

Questa finestra può essere ridimensionata e posizionata a piacimento. Le ultime impostazioni, di dimensione e posizione, verranno salvate con il file progetto cosicché, alla riapertura, PC-Sim provvederà a ripristinare le ultime caratteristiche salvate della finestra.

Chiusura della finestra

La finestra Tabella dei simboli si può chiudere facendo clic sul pulsante di chiusura all'estrema destra della barra del titolo. Va chiarito che la chiusura della finestra non corrisponde alla perdita delle attribuzioni ma solo alla scomparsa di questa dallo schermo.

Salvataggio delle attribuzioni

Come già spiegato le attribuzioni dei simboli vengono salvate nel file progetto insieme al codice del programma ed alle altre informazioni descritte nel paragrafo Composizione di un progetto.

In qualsiasi momento è possibile salvare le attribuzioni inserite nella finestra. Se desiderate salvare nel file progetto corrente scegliete il Comando Salva progetto del Menu File. Altrimenti, se desiderate salvare utilizzando un nome di progetto diverso, scegliete dallo stesso menu il Comando Salva progetto con nome...

Composizione della finestra

Tabella simboli

La Tabella simboli mostra la lista delle attribuzioni valide per il progetto. Essa è composta da 100 righe, nelle quali possono essere inserite altrettante attribuzioni.

PC-Sim: il simulatore di PLC 3-49

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Colonna Operando assoluto

Contiene l'operando assoluto al quale verrà associato il simbolo della colonna successiva. L'operando assoluto è composto da una o più lettere che ne indicano il tipo (es. E = bit di ingresso, MW = parola di memoria, ecc.) e da una o più cifre che ne specificano l'indirizzo (es. E1.2 = bit di ingresso 2 del modulo 1, MW60 = parola di memoria 60, ecc.).

Per una descrizione completa degli operandi assoluti utilizzabili nella programmazione fate riferimento al capitolo che riporta le note di programmazione del PLC che state utilizzando.

Colonna Simbolo

Contiene il simbolo che nella programmazione si userà al posto dell'operando assoluto della prima colonna. L'inserimento del simbolo in questa colonna avviene tralasciando il carattere iniziale '-', o le virgolette per S7 300, che è necessario utilizzare invece nella scrittura del programma. Se comunque digitate anche il trattino iniziale, PC-Sim provvederà a toglierlo automaticamente.

Colonna Commento

Contiene un commento descrittivo legato alla funzione dell'operando. L’introduzione in questo campo è facoltativa.

Selettori di rigo

La parte della tabella a sinistra della prima colonna è formata dai selettori di rigo. Essi vi permettono di selezionare i righi della tabella e, nel contempo, forniscono informazioni sul rigo corrispondente mediante la visualizzazione di immagini:

rigo corrente

rigo corrente in editazione

Barra pulsanti

La Barra pulsanti della finestra Tabella dei simboli contiene i pulsanti necessari alle operazioni di inserimento ed eliminazione di dichiarazioni singole o multiple.

Per selezionare una singola attribuzione fate clic sul selettore di rigo, alla sinistra del rigo della tabella che contiene la dichiarazione da selezionare.

Per selezionare righi multipli contigui: selezionate il primo rigo come appena descritto, quindi premete e mantenete premuto il tasto Maiusc e fate clic sul selettore dell’ultimo rigo. Tutti i righi dal primo all’ultimo verranno selezionati e tutti saranno oggetto delle azioni dei pulsanti Elimina ed Inserisci.

E’ possibile, infine, effettuare selezioni multiple di righi non contigui: selezionate il primo quindi premete e mantenete il tasto Control e fate clic sui selettori dei righi da aggiungere alla selezione, uno alla volta. Un clic

3-50 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

sul selettore di un rigo non selezionato aggiungerà il rigo alla selezione; mentre, un clic sul selettore di un rigo già selezionato eliminerà il rigo dalla selezione.

Pulsante Elimina

Utilizzate questo pulsante per eliminare le attribuzioni selezionate dalla lista. Selezionate il rigo o i righi della tabella contenenti le attribuzioni da eliminare e premete il Pulsante Elimina.

Il pulsante risulta abilitato solo se è presente una selezione nella tabella.

Pulsante Inserisci

Utilizzate questo pulsante per inserire uno o più righi vuoti nella tabella. Selezionate il rigo della tabella prima del quale si desidera inserire quindi selezionate se necessario ulteriori righi purché contigui e premete il Pulsante Inserisci.

Viene così creato un numero di righi vuoto pari al numero di righi selezionati ed i successivi vengono spostati verso il basso. Prestate attenzione al fatto che le attribuzioni che occupano gli ultimi righi della tabella, se presenti, verranno perse.

Il pulsante risulta abilitato solo se è presente una selezione nella tabella.

Editazione dei simboli

Introdurre un'attribuzione

Posizionate il puntatore del mouse su una cella nella colonna dell'operando assoluto e fate clic. Il rigo cliccato diventa il rigo corrente così come evidenzia il triangolo sul corrispondente selettore di rigo.

Digitate il nome dell'operando assoluto. Appena iniziate l'inserimento, l’immagine sul selettore di rigo da triangolo si trasforma in matita, indicandovi che il rigo corrente è in editazione.

Completato l'inserimento dell'operando assoluto, premete Invio o la freccia a destra per posizionare il cursore nel campo successivo. Digitate il simbolo e premete ancora Invio o freccia a destra per passare al campo commento. Inserite il commento e premete Invio per l'accettazione della attribuzione introdotta. Se corretta, la dichiarazione viene accettata, altrimenti una finestra di dialogo vi segnalerà l'errore.

PC-Sim controlla l'esattezza della dichiarazione introdotta segnalandovi eventuali errori con i seguenti messaggi:

• Nella dichiarazione manca l'operando assoluto

• Operando assoluto non corretto

• Nella dichiarazione manca il simbolo

• Operando assoluto già presente

• Operando simbolico già presente

• Attribuzione già presente

Per una spiegazione dettagliata rimandiamo al paragrafo Messaggi di avviso più avanti in questo capitolo.

Non è possibile associare ad un operando assoluto due o più simboli né ad un unico simbolo due o più operandi assoluti. Perciò l'inserimento delle vostre attribuzioni è controllato dal programma anche dal punto di vista dell'univocità nei termini appena citati.

PC-Sim: il simulatore di PLC 3-51

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Modificare un'attribuzione

Per modificare un'attribuzione occorre seguire la procedura qui descritta.

• selezionate la cella da modificare facendo clic su di essa

• se desiderate sovrascrivere interamente il nuovo testo, digitatelo direttamente nel campo

• se volete modificare parte del testo preesistente, premete il tasto F2 che vi consente di entrare nell’editing della cella e quindi apportate le modifiche desiderate al campo

• premete il tasto Invio tante volte quante necessarie al passaggio al rigo successivo.

Eliminare un'attribuzione

Selezionate l'attribuzione o le attribuzioni da eliminare nella Tabella simboli e premete il pulsante Elimina. L'attribuzione selezionata viene eliminata e le successive vengono scrollate in alto di una riga.

Importare le attribuzioni

PC-Sim vi consente inoltre di recuperare le attribuzioni che avete già effettuato in un altro progetto ed aggiungerle alla Tabella simboli di quello corrente. Per fare ciò scegliete il Comando Importa simboli... dal Menu File e quindi digitate o selezionate il nome del progetto da cui importare nella finestra di dialogo che viene presentata.

Menu di scelta rapida

Su tutta la Tabella simboli potete richiamare menu di scelta rapida facendo clic con il pulsante destro del mouse su di essa. I comandi attivabili da questo menu sono i seguenti.

Elimina

Stessa funzionalità del pulsante omonimo.

Inserisci

Stessa funzionalità del pulsante omonimo.

Barra pulsanti

Nasconde o visualizza la Barra pulsanti della finestra Tabella dei simboli. Se vi abituerete ad usare i menu di scelta rapida la Barra pulsanti non vi servirà più, potrete quindi nasconderla per guadagnare spazio per la visualizzazione della tabella.

3-52 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Finestra Stato variabili

Nella seguente descrizione intenderemo per ‘variabile’ un qualsiasi operando ad uno o più bit, valido per il PLC in uso.

‘Stato’ della variabile sarà il contenuto di un operando booleano e potrà assumere i valori 0 o 1.

‘Valore’ della variabile sarà il contenuto di un operando a più bit (8, 16 o 32) ed assumerà i valori rappresentabili in relazione al numero di bit.

La Finestra Stato variabili consente la lettura dello stato e/o del valore di tutte le variabili del PLC, quando la CPU si trova nello stato di STOP o di RUN. Si potrà conoscere lo stato e/o il valore di variabili di ingresso, di uscita, di memoria, dei contatori, dei temporizzatori, ecc. semplicemente digitandone la sigla, o il simbolo che la rappresenta, nella apposita tabella. Il contenuto di quest’ultima verrà aggiornato in tempo reale ed in relazione ai risultati dell’elaborazione del programma ed alle variazioni dei segnali a campo.

La tabella consentirà inoltre all’utente di impostare manualmente lo stato e/o il valore delle variabili introdotte.

Apertura della finestra

Per aprire la finestra Stato variabili, o per portarla in primo piano, operate in uno dei seguenti modi:

• scegliete il Comando Stato variabili dal Menu Finestra;

• fate clic sul Pulsante Stato variabili della Barra strumenti di PC-Sim ;

Questa finestra può essere ridimensionata e posizionata a piacimento. Le ultime impostazioni, di dimensione e posizione, vengono salvate con il file progetto cosicché, quando riaprirete il progetto, PC-Sim provvederà a ripristinare le ultime caratteristiche salvate della finestra.

Chiusura della finestra

La finestra Stato variabili si può chiudere facendo clic sul pulsante di chiusura all'estrema destra della barra del titolo. La chiusura della finestra non corrisponde alla perdita delle variabili in stato ma solo alla scomparsa di questa dallo schermo.

Salvataggio delle variabili

Come già spiegato, l'elenco delle variabili in stato viene salvato nel file progetto insieme al codice del programma ed alle altre informazioni descritte nel paragrafo Composizione di un progetto.

In qualsiasi momento è possibile salvare le variabili inserite nella finestra. Se desiderate salvare nel file progetto corrente scegliete il Comando Salva progetto del Menu File. Altrimenti, se desiderate salvare utilizzando un nome di progetto diverso, scegliete dallo stesso menu il Comando Salva progetto con nome...

Composizione della finestra

Tabella variabili

La Tabella variabili è organizzata su 100 righe, tante quante le variabili che possono essere messe in stato, e quattro colonne.

Colonna Operando assoluto

Mostra l'operando assoluto a cui sono relativi stato e/o valore espressi nelle celle delle colonne omonime della stessa riga.

PC-Sim: il simulatore di PLC 3-53

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Colonna Simbolo

Mostra, se dichiarato, il simbolo corrispondente all’operando assoluto della prima colonna così come definito nella Tabella simboli.

Colonna Stato

Ha significato solo per operandi a bit e mostra '0' oppure '1' a seconda che lo stato della variabile nel rigo sia basso oppure alto.

Se la variabile non è a bit la cella in questa colonna risulterà vuota.

Colonna Base

Questa colonna ha significato solo per operandi a più bit. In essa è possibile impostare il valore della base di rappresentazione della quantità visualizzata nella Colonna Valore.

Se la variabile è a bit la cella in questa colonna risulterà vuota.

Basi valide per FPC 404, PS3 e S7 300 sono le seguenti:

• 2 rappresentazione binaria

• 10 rappresentazione decimale senza segno

• ±10 rappresentazione decimale con segno

• 16 rappresentazione esadecimale

Basi valide per S5 100U sono le seguenti:

• KM rappresentazione binaria

• KF rappresentazione decimale con segno

• KH rappresentazione esadecimale

• KY rappresentazione doppio decimale senza segno

• KT rappresentazione valore di tempo

• KZ rappresentazione valore di conteggio

Ulteriori informazioni per i tipi di rappresentazione si trovano nei capitoli dedicati alle note di programmazione per i diversi PLC.

Colonna Valore

Ha significato solo per gli operandi a byte e a word nonché per i temporizzatori, contatori e registri di shift. Mostra il valore dell’operando specificato nella colonna Op.assoluto espresso nella base di rappresentazione specificata nella colonna Base.

3-54 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Selettori di rigo

La parte della tabella a sinistra della prima colonna è formata dai selettori di rigo. Essi permettono di selezionare i righi della tabella e, nel contempo, forniscono informazioni sul rigo corrispondente mediante la visualizzazione di immagini:

rigo corrente

rigo corrente in editazione

Barra pulsanti

La Barra pulsanti della finestra Stato variabili contiene i pulsanti necessari alle operazioni di inserimento ed eliminazione di variabili singole o multiple.

Per selezionare una singola variabile fate clic sul selettore di rigo, alla sinistra del rigo della tabella che contiene la variabile da selezionare.

Per selezionare righi multipli contigui: selezionate il primo rigo come appena descritto, quindi premete e mantenete premuto il tasto Maiusc e fate clic sul selettore dell’ultimo rigo. Tutti i righi dal primo all’ultimo verranno selezionati e tutti saranno oggetto delle azioni dei pulsanti Elimina ed Inserisci.

E’ possibile, infine, effettuare selezioni multiple di righi non contigui: selezionate il primo quindi premete e mantenete il tasto Control e fate clic sui selettori dei righi da aggiungere alla selezione, uno alla volta. Un clic sul selettore di un rigo non selezionato aggiungerà il rigo alla selezione; mentre, un clic sul selettore di un rigo già selezionato eliminerà il rigo dalla selezione.

Pulsante Elimina

Utilizzare il pulsante Elimina per eliminare una o più variabili dalla tabella. Selezionate i righi della tabella contenenti le variabile da eliminare e premere il pulsante Elimina.

Pulsante Inserisci

Utilizzate questo pulsante per inserire uno o più righi vuoti nella tabella. Selezionate il rigo della tabella prima del quale si desidera inserire, quindi selezionate se necessario ulteriori righi purché contigui e premete il Pulsante Inserisci.

I nuovi righi vuoti vengono inseriti in corrispondenza del primo rigo selezionato ed i successivi verranno scalati verso il basso. Prestate attenzione al fatto che le variabili negli ultimi righi utili della tabella potrebbero venire perse.

Introduzione di variabili

Per introdurre una variabile nella tabella fate clic su una casella vuota nella prima colonna e digitate l'operando assoluto o il simbolo (preceduto dal carattere '-' per PLC diversi da S7 300) e premete il tasto Invio. La procedura è valida anche se si desidera sovrascrivere una variabile introdotta in precedenza.

Indipendentemente dal fatto che abbiate digitato la sigla di un operando assoluto o un simbolo, l'operando assoluto prenderà posto nella prima colonna e il corrispondente simbolo, se attribuito, nella seconda.

Introduzione di data byte e data word (S5 100U)

L'introduzione di data byte e data word per il PLC S5 100U necessita di una descrizione a parte.

Perché PC-Sim recuperi il valore di tali variabili e lo mostri nella finestra, occorrerà informarlo circa il numero del blocco dati di appartenenza. Per fare ciò digitate in una cella della Colonna Operando assoluto la sigla del blocco dati e quindi nei righi successivi la o le variabili di dati da visualizzare.

PC-Sim: il simulatore di PLC 3-55

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Una volta digitata la sigla di un blocco dati, questo riferimento rimane attivo per tutte le righe seguenti, fino ad una nuova sigla di blocco dati. Il rigo in cui viene specificato il nome del blocco non viene utilizzata per mostrare alcun valore.

PC-Sim potrebbe non riuscire a recuperare il valore di un byte o di una parola dati se non avete specificato prima il blocco di appartenenza o se il blocco specificato non esiste nel progetto o se il dato non esiste, cioè se il numero del dato richiesto è maggiore dell'ultima data word inserita in quel blocco. In tale caso PC-Sim mostra nella corrispondente cella della Colonna Valore il testo '???'.

Per informazioni sull'utilizzo di blocchi dati vedere anche il Capitolo 11.

Introduzione di dati (S7 300)

Digitare l’operando (bit, byte, word o doppia word) specificando anche il blocco dati di appartenenza. Per esempio, se si desidera controllare il valore del byte 5 del blocco dati 22, digitare nella colonna Op.assoluto: DB22.DBB5.

Per informazioni sull'utilizzo di blocchi dati vedere anche il Capitolo 13.

Introduzione di costanti

Per quanto non appartengano in senso stretto alla categoria delle variabili, le costanti sono anch’esse operandi ammissibili nella programmazione dei PLC e, come tali, rientrano nella definizione data all’inizio di questo paragrafo. La colonna Op.assoluto accetta quindi anche operandi di questo tipo.

Potreste utilizzare questa caratteristica della tabella per conversioni di base. Per esempio se desideraste conoscere la rappresentazione esadecimale del numero decimale 2000 ed utilizzate il PLC PS3, digitate nella colonna Op.assoluto la costante KW2000 ed impostate la base esadecimale ('16') nella colonna Base. Nella colonna valore apparirà il valore convertito 7D0.

Introduzione multipla di variabili

Esiste un metodo di introduzione veloce di variabili successive. Se desiderate conoscere, ad esempio, il valore dei primi 8 ingressi del PLC PS3, fate clic su una cella della colonna Op.assoluto e digitate I0.0*8, dove I0.0 rappresenta il primo degli ingressi da introdurre, il carattere ‘*’ informa PC-Sim che desideriamo eseguire un’introduzione multipla ed il numero conclusivo lo informa di quanti operandi vogliamo introdurre. Premendo il tasto Invio, l’operando I0.0 verrà introdotto nella cella corrente e nei righi seguenti appariranno automaticamente gli operandi successivi, fino ad I0.7.

Il metodo descritto è valido per qualsiasi tipo di operando e per tutti i PLC.

Forzamento variabili

La finestra Stato variabili consente inoltre l'impostazione manuale del valore o dello stato di una variabile, cioè il forzamento della stessa.

E' possibile forzare bit, byte o word di memoria, valori dei contatori, ingressi, uscite, registri a scorrimento (PS3), data byte e data word (S5 100U e S7 300). Ricordate che, con CPU in RUN, le variabili appena forzate potrebbero essere riscritte dal programma utente, facendo sembrare inattiva questa funzionalità.

Forzamento di bit di merker (flag)

Per forzare un bit di merker (flag) fate clic sulla colonna stato corrispondente alla riga che contiene l'operando da forzare e digitate 1 se volete impostare un valore logico alto o 0 per un valore logico basso, quindi premete Invio.

3-56 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

In alternativa fate clic sulla medesima cella col pulsante destro del mouse e dal Menu di scelta rapida scegliete il comando relativo al valore che desiderate impostare.

Forzamento di byte, word e doppie word di merker (PS3, S5 100U e S7 300)

Per forzare un merker byte o una merker word fate clic sulla cella corrispondente alla riga che contiene l'operando da forzare in corrispondenza della colonna valore, digitate il nuovo valore e premete Invio. Il valore digitato dovrà essere coerente con la base di rappresentazione impostata per la variabile corrente e con il suo numero di bit. Per esempio, se state forzando un merker byte del PLC PS3 in rappresentazione decimale ('10' nella colonna Base) potrete inserire solo valori tra 0 e 255. Ogni inserimento al di fuori di questo campo verrà segnalato da un bip e l'indicazione della cella tornerà al valore precedente l'inserimento errato.

Forzamento di contatori

Per forzare il valore di conteggio di un contatore operate come descritto per le merker word. Anche lo stato del contatore verrà variato in conseguenza del valore inserito. Cioè, ad esempio, se forzate il valore del contatore Z15 del PLC S5 100U su 0 lo stato dello stesso contatore verrà automaticamente aggiornato ad 1.

Per il PLC S7 300 il forzamento dei contatori è possibile solo nella base esadecimale.

Per informazioni sul funzionamento dei contatori vedere i capitoli sulle note di programmazione dei PLC.

Forzamento di registri a scorrimento (PS3)

Per il PLC PS3 è possibile forzare il valore dei registri a scorrimento e quindi influenzare direttamente le uscite di questo modulo di sistema. Seguite quanto descritto per le merker word.

Forzamento di byte, word e doppie word di dati (S5 100U e S7 300)

Per i PLC S5 100U è possibile forzare il valore di data byte e data word e, solo per S7 300, anche doppie word. Operate come descritto per le merker word ma ricordate quando detto ai paragrafo Introduzione di data

byte e data word (S5 100U) e Introduzione di dati (S7 300).

Forzamento uscite (PS3, S5 100U e S7 300)

Con CPU nello stato di STOP è possibile effettuare il forzamento delle uscite, indirizzate come bit, byte, word o doppie word. Digitare il valore desiderato nella colonna stato per i bit o nella colonna Valore per i byte, le word o le doppie word e premere Invio. Le uscite verranno attivate o disattivate a seconda della introduzione effettuata ma l’indicazione nella cella non varierà poiché essa riporta il valore non già dei canali di uscita fisici ma dei corrispondenti bit della memoria immagine. Vedere in merito quanto descritto nel capitolo dedicato alle note di programmazione del PLC che si utilizza.

Al passaggio in RUN le uscite verranno cancellate.

Menu di scelta rapida

Facendo clic con il pulsante destro del mouse sulla Tabella delle variabili si attiva un menu di scelta rapida. I comandi contenuti in questo menu variano a seconda della colonna su cui si è cliccato.

Sulle colonne Op.assoluto e Simbolo vengono visualizzati i comandi Elimina ed Inserisci la cui azione è equivalente a quella dei pulsanti omonimi della barra.

Sulla colonna stato vengono visualizzati i comandi Forza a 0 e Forza a 1 che permettono di impostare manualmente il valore di un operando booleano.

Su tutte le colonne, invece, sono attivi comandi descritti di seguito.

PC-Sim: il simulatore di PLC 3-57

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Sempre in primo piano

Attivando questo comando la Finestra Stato variabili resterà sempre in primo piano, cioè non sarà più nascosta da altre finestre. Questo comando è molto utile quando si ha bisogno di continuare a controllare il valore di una o più variabili e nel contempo è necessario effettuare altre operazioni che potrebbero portare altre finestre a sovrapporsi a quella Stato variabili nascondendola del tutto o in parte.

Per disattivare questa funzionalità, scegliete ancora il comando dal menu di scelta rapida. Un segno di spunta in corrispondenza della voce di menu vi ricorda quando questa funzionalità è attiva.

Barra pulsanti

Nasconde o visualizza la Barra pulsanti della finestra Stato variabili. Se vi abituerete ad usare i menu di scelta rapida la Barra pulsanti non vi servirà più, potrete quindi nasconderla per guadagnare spazio per la visualizzazione della tabella.

3-58 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Finestra Impostazioni preset (FPC 404)

Questa finestra è da utilizzare per l’impostazione dei valori di tempo e di quelli di conteggio nella simulazione del PLC FPC 404. L’editor di programma di questo PLC non consente infatti direttamente queste operazioni come avviene per gli altri PLC simulati.

I valori impostati in questa finestra vengono salvati nel file progetto e verranno ripristinati ad una sua successiva apertura.

Apertura della finestra

Per aprire la finestra Impostazioni preset, o per portarla in primo piano, operate in uno dei seguenti modi:

• scegliete il Comando Impostazioni preset (FPC 404) dal Menu Finestra;

• fate clic sul pulsante Impostazione preset della Barra strumenti di PC-Sim ;

Chiusura della finestra

La finestra Impostazioni preset si può chiudere facendo clic sul pulsante di chiusura all'estrema destra della barra del titolo. La chiusura della finestra non comporta la perdita delle impostazioni ma solo la scomparsa di questa dallo schermo.

Salvataggio dei preset

Come già spiegato, i valori di preset vengono salvati nel file progetto insieme al codice del programma ed alle altre informazioni descritte nel paragrafo Composizione di un progetto.

In qualsiasi momento è possibile salvare i valori inseriti nella finestra. Se desiderate salvare nel file progetto corrente scegliete il Comando Salva progetto del Menu File. Altrimenti, se desiderate salvare utilizzando un nome di progetto diverso, scegliete dallo stesso menu il Comando Salva progetto con nome...

Composizione della finestra

Casella Tipo

Consente la scelta del tipo di operando per l'impostazione dei valori di preset.

Le scelte possibili sono: Temporizzatori e Contatori.

PC-Sim: il simulatore di PLC 3-59

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Tabelle dei preset

Le tabelle dei preset riportano l’elenco dei valori di tempo dei temporizzatori e di quelli di conteggio dei contatori presenti nel PLC. E’ visibile una sola delle due tabelle per volta. Per scegliere la tabella da visualizzare utilizzate la casella a discesa Tipo.

Colonna Operando

Riporta l’elenco delle sigle dei temporizzatori o dei contatori presenti nel PLC. Le celle di questa colonna non sono modificabili.

Colonna Preset

Elenca i valori di preset dei temporizzatori o dei contatori specificati nella prima colonna. I valori di tempo sono espressi in centesimi di secondo.

Impostazione dei preset

Impostazione di un preset di temporizzazione

Per impostare o modificare un valore di preset di tempo fate clic sulla colonna Preset in corrispondenza della riga che riporta la sigla del temporizzatore da impostare e digitate il nuovo valore, quindi premete Invio. Il valore essere espresso in centesimi di secondo quindi, se intendete impostare ad esempio un tempo di 5 secondi, digitate 500.

Il massimo valore impostabile è 65535, cioè 655.35 secondi.

Impostazione di un preset di conteggio

Per impostare o modificare un valore di preset di conteggio fate clic sulla colonna Preset in corrispondenza della riga che riporta la sigla del contatore da impostare e digitate il nuovo valore, quindi premete Invio.

Il massimo valore impostabile è 65535.

3-60 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Finestra PLC

Questa finestra mostra l’immagine del PLC e, ovviamente, il suo contenuto varia in funzione del modello che state utilizzando. Essa è stata studiata e realizzata per rappresentare una apparecchiatura quanto più possibile simile nelle forme esteriori al PLC reale. Questo, anche se inutile dal punto di vista funzionale, vi fornirà un passaggio più facile verso il PLC reale, quando decidiate di farlo. In tutte le finestre sono state riproposte le segnalazioni luminose a LED dello stato degli ingressi e delle uscite digitali. Come nel PLC reale l'accensione di un LED d'ingresso indica la chiusura del contatto ad esso collegato; l'accensione di un LED d'uscita indica l'attivazione dell'uscita corrispondente.

Stato della CPU

La CPU può trovarsi in uno dei seguenti stati:

OFF: la CPU non è alimentata, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di Off. In questo stato per i PLC S5 100U e S7 300 rimangono comunque alimentati i moduli di I/O, in effetti chiudendo uno degli interruttori di comando degli ingressi digitali si attiva il corrispondente LED. Per gli altri due PLC, invece, anche la periferia viene disalimentata e quindi non accade nulla premendo gli interruttori.

STOP: la CPU è alimentata ma il programma utente non viene eseguito, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di On, ed il commutatore di funzionamento si trova nella posizione di Stop. In questo stato per i PLC FPC 404 e PS3 viene alimentata la periferia: la chiusura degli interruttori di ingresso verrà segnalata con l’accensione dei LED corrispondenti.

RUN: la CPU è alimentata e viene eseguito il programma utente, il commutatore di accensione nella Barra

strumenti di PC-Sim si trova nella posizione di On ed il commutatore di funzionamento si trova nella posizione di Run.

Lo stato attuale della CPU viene visualizzato nella barra del titolo della Finestra PLC racchiuso tra parentesi quadre, insieme all’indicazione del modello.

Quando avviate PC-Sim, quando create un nuovo progetto o quando ne caricate uno esistente, la CPU viene portata automaticamente nello stato di OFF. Quando portate il commutatore di accensione su On la CPU si porta incondizionatamente nello stato di STOP. Quando, successivamente, portate il commutatore del modo di funzionamento su Run, il programma utente viene compilato e, se nessun errore viene riscontrato, viene trasferito nel PLC. Solo a questo punto la CPU passa nello stato di RUN ed inizia l’elaborazione del programma utente.

Se, partendo dallo stato di OFF, portate il commutatore del modo di funzionamento su Run non accade nulla. Quando, a questo punto, portate il commutatore di accensione su On il programma utente viene compilato e trasferito nel PLC e la CPU passa direttamente nello stato di RUN.

A seguito di un errore nell’esecuzione del programma utente, la CPU si porta automaticamente nello stato di STOP.

FPC 404

Nella simulazione dello FPC 404 la finestra contiene un PLC composto da due moduli:

• modulo 0 - CPU con 8 ingressi digitali e 8 uscite digitali;

• modulo 1 - I/O con 8 ingressi digitali e 8 uscite digitali.

Il tipo, il numero e la posizione dei moduli non sono modificabili.

Sul fronte del modulo 0 sono presenti i LED di segnalazione dello stato della CPU.

PC-Sim: il simulatore di PLC 3-61

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LED Stop

Il LED è di colore giallo e risulta acceso quando la CPU e’ alimentata, cioè quando il pulsante CPU On sulla Barra strumenti di PC-Sim è premuto ed il PLC è in Stop, cioè quando il pulsante CPU Stop è premuto

LED Run

Il LED è di colore giallo e risulta acceso quando la CPU è in Run, cioè quando i pulsanti CPU On e CPU Run

sulla Barra strumenti di PC-Sim sono premuti e nessun errore è stato riscontrato nel programma.

Trovate ulteriori informazioni su questo PLC nel Capitolo 7.

PS3

Questo PLC è un ‘compatto’ pertanto non ha una struttura modulare. Esso dispone di 16 ingressi digitali, 16 uscite digitali, 4 ingressi analogici ed 1 uscita analogica.

Sul fronte del modulo sono presenti i LED di segnalazione dello stato della CPU.

LED Power

Il LED è di colore giallo e risulta acceso quando la CPU e’ alimentata, cioè quando il pulsante CPU On sulla Barra strumenti di PC-Sim è premuto. Spento altrimenti.

LED Run

Il LED è di colore giallo e risulta acceso quando la CPU è in Run, cioè quando i pulsanti CPU On e CPU Run

sulla Barra strumenti di PC-Sim sono premuti e nessun errore è stato riscontrato nel programma.

Trovate ulteriori informazioni su questo PLC nel Capitolo 9.

S5 100U

Il PLC simulato è composto dai seguenti moduli:

• CPU;

• modulo 0: 8 ingressi digitali;

3-62 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

• modulo 1: 8 ingressi digitali;

• modulo 2: 8 uscite digitali;

• modulo 3: 8 uscite digitali;

• modulo 4: 4 ingressi analogici (non visualizzato)

• modulo 5: 4 uscite analogiche (non visualizzato)

Il tipo e la posizione dei moduli non sono modificabili.

In corrispondenza di ogni canale di ingresso o uscita sono presenti delle etichette per l’inserimento del tag del segnale a campo. Per scrivere una breve descrizione del segnale fate clic con mouse sulla etichetta e digitate; è consentita una lunghezza massima di cinque caratteri. Il contenuto delle etichette verrà salvato con il progetto e ricaricato ad una sua successiva riapertura.

Sul fronte del modulo CPU sono presenti i LED di segnalazione dello stato.

LED Stop

Il LED è di colore rosso e risulta acceso quando la CPU e’ alimentata e si trova in stato di Stop, cioè quando i pulsanti CPU On e CPU Stop sulla Barra strumenti di PC-Sim sono premuti. Spento altrimenti.

LED Run

Il LED è di colore verde e risulta acceso quando la CPU è in Run, cioè quando i pulsanti CPU On e CPU Run

sulla Barra strumenti di PC-Sim sono premuti e nessun errore è stato riscontrato nel programma.

LED Battery Off/Low

Il LED è di colore giallo e risulta acceso quando la CPU è alimentata e la batteria è scarica o non presente, cioè quando i pulsanti CPU On e Batteria fuori servizio della Barra strumenti di PC-Sim sono premuti.

S7 300

Il PLC simulato è composto nell’ordine dai seguenti moduli:

• CPU;

• modulo 0: 16 ingressi digitali;

• modulo 1: 16 uscite digitali;

• modulo 2: 4 ingressi analogici (non visualizzato)

• modulo 3: 4 uscite analogiche (non visualizzato)

Il tipo e la posizione dei moduli non sono modificabili.

PC-Sim: il simulatore di PLC 3-63

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Sul fronte del modulo CPU sono presenti i LED di segnalazione dello stato.

LED STOP

Il LED è di colore giallo e risulta acceso quando la CPU e’ alimentata e si trova in stato di Stop, cioè quando i pulsanti CPU On e CPU Stop sulla Barra strumenti di PC-Sim sono premuti. Spento altrimenti.

LED RUN

Il LED è di colore verde e risulta acceso quando la CPU è in Run, cioè quando i pulsanti CPU On e CPU Run

sulla Barra strumenti di PC-Sim sono premuti e nessun errore è stato riscontrato nel programma.

LED DC5V

Il LED è di colore verde e risulta acceso quando la CPU è in On, cioè quando il pulsante CPU On sulla Barra

strumenti di PC-Sim è premuto.

LED BATF

Il LED è di colore rosso e risulta acceso quando la CPU è alimentata e la batteria è scarica o non presente, cioè quando i pulsanti CPU On e Batteria fuori servizio della Barra strumenti di PC-Sim sono premuti.

Pulsanti/interruttori

Nella finestra di simulazione del PLC sono presenti 16 pulsanti/interruttori. Essi vengono utilizzati per il comando degli ingressi digitali quando usate il PLC senza impianto o quando non tutti gli ingressi del PLC sono collegati all’impianto.

Questi pulsanti/interruttori possono essere impostati sia come pulsanti che come interruttori; l'aspetto ne specificherà la funzione:

interruttore;

pulsante;

dove la doppia freccia indica la funzione bistabile, quella singola la funzione monostabile.

Per cambiare tra le impostazioni fate clic col pulsante destro del mouse sull'elemento che desiderate cambiare; esso commuta di funzione ad ogni pressione: se pulsante diventa interruttore e viceversa.

Quando l'interruttore assume questo aspetto:

disabilitato

esso risulta disabilitato: fare clic su di esso non produrrà alcun effetto.

3-64 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

PC-Sim disabilita automaticamente un interruttore o un pulsante quando al corrispondente ingresso del PLC viene collegato un sensore di un impianto (per esempio un finecorsa di cilindro o un livellostato di serbatoio) per evitare interferenze inopportune tra i contatti di componenti di quest'ultimo ed i pulsanti/interruttori locali.

Per abilitare nuovamente il pulsante/interruttore occorrerà scollegare l'ingresso del PLC dall’impianto. Leggete in merito la sezione Collegare gli impianti al PLC nel Capitolo 4.

PC-Sim: il simulatore di PLC 3-65

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Finestra Informazioni sul progetto

Questa finestra permette di ottenere o immettere delle informazioni sul progetto corrente. Essa vi mostra, in appositi campi, il nome del file progetto e la versione di PC-Sim con cui è stato realizzato. L’immissione negli altri campi è a cura dell’utente che potrà digitare il titolo dell’esercitazione svolta, il proprio nome, ecc.

Tutte queste informazioni verranno stampate con la documentazione del progetto e costituiranno validi riferimenti per l’archiviazione ed il riconoscimento.

Segue una breve descrizione dei campi che, comunque, non è obbligatorio compilare.

Campo File progetto

Il campo riporta il nome del file progetto attualmente in uso. Per aprire un nuovo progetto o cambiare nome a quello attuale vedere quanto detto a proposito dei comandi del Menu File di PC-Sim.

Il campo non è modificale e perciò appare con fondo grigio.

Campo Versione

Riporta la versione di PC-Sim con cui è stato realizzato il progetto o con cui è stato salvato l’ultima volta.

Anche questo campo non è modificale, l’aggiornamento è effettuato automaticamente da PC-Sim, e perciò appare con fondo grigio.

Campo Titolo

Inserite in questo campo il titolo che desiderate attribuire all’esercitazione che avete realizzato.

Campo Autore

Inserite il vostro nome o quelli degli appartenenti al gruppo di lavoro che ha realizzato l’esercitazione.

Campo Data

Il campo viene automaticamente impostato alla data odierna ad ogni apertura di un nuovo progetto. Se state modificando un progetto realizzato in precedenza premete il pulsante Aggiorna per inserire nel campo la data corrente oppure digitatela manualmente.

Campo Revisione

Inserite il numero di revisione del progetto. Ogni volta che vengono apportate modifiche al lavoro sarebbe bene incrementare questo numero per distinguerne gli aggiornamenti.

3-66 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Campo Note

Digitate in questa casella un testo di chiarimento o di commento all'esercizio svolto. In fase di stampa questo testo, se troppo lungo, verrà troncato fino ad occupare al massimo due righe nello specifico riquadro destinato alla stampa delle note.

Barra pulsanti

Pulsante Annulla

Chiude la finestra e annulla tutte le modifiche apportate dalla sua apertura.

Pulsante Ok

Chiude la finestra e convalida le modifiche apportate. Le modifiche verranno salvate su file solo al momento del salvataggio del progetto.

PC-Sim: il simulatore di PLC 3-67

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Finestra Informazioni su PC-Sim

Questa finestra viene mostrata ad ogni avviamento di PC-Sim ma è possibile richiamarla in qualsiasi momento scegliendo il Comando Informazioni su PC-Sim del Errore. L'origine riferimento non è stata

trovata..

Essa potrà essere chiusa premendo il Pulsante Ok.

Nella parte superiore di questa finestra è possibile reperire informazioni circa la versione del programma che state utilizzando, il modello del PLC simulato, il numero di autorizzazione della vostra chiave hardware.

Nella parte inferiore vengono mostrate, invece, informazioni sul produttore del software.

3-68 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Comandi dei menu

Menu File

Comando Nuovo progetto (S5 100U e S7 300)

Questo comando da inizio ad un nuovo progetto. A seguito della sua scelta, PC-Sim compie le seguenti azioni:

• chiede se si intende salvare il progetto corrente se questo ha subito modifiche;

• pone in OFF il PLC;

• cancella la memoria di programma;

• svuota la Tabella blocchi;

• cancella le attribuzioni dei simboli;

• inizializza il nome del progetto corrente;

• cancella gli operandi nella Tabella variabili;

• cancella le etichette del PLC;

• cancella le informazioni sul progetto.

E' possibile iniziare un nuovo progetto anche premendo il Pulsante Nuovo progetto nella Barra strumenti di PC-Sim.

Comando Nuovo progetto ladder (FPC 404 e PS3)

Questo comando da inizio ad un nuovo progetto utilizzando l’editor di programma ladder. A seguito della sua scelta, PC-Sim compie le seguenti azioni:

• chiede se si intende salvare il progetto corrente se questo ha subito modifiche;

• pone in OFF il PLC;

• cancella la memoria di programma;

• cancella le attribuzioni dei simboli;

• inizializza il nome del progetto corrente;

• cancella gli operandi nella Tabella variabili;

• inizializza i valori dei preset (FPC 404);

• cancella le informazioni sul progetto.

• apre l’editor di programma ladder e la casella strumenti.

Come alternativa a questo comando è possibile premere il Pulsante Nuovo progetto ladder nella Barra

strumenti di PC-Sim.

Comando Nuovo progetto AWL (PS3)

Questo comando da inizio ad un nuovo progetto utilizzando l’editor AWL. A seguito della sua scelta PC-Sim compie le seguenti azioni:

• chiede se si intende salvare il progetto corrente se questo ha subito modifiche;

• pone in OFF il PLC;

• cancella la memoria di programma;

PC-Sim: il simulatore di PLC 3-69

Autoware srl AW-SYS – software di simulazione di PLC e impianti

• cancella le attribuzioni dei simboli;

• inizializza il nome del progetto corrente;

• cancella gli operandi nella Tabella variabili;

• cancella le informazioni sul progetto.

• apre l’editor di programma AWL.

Come alternativa a questo comando è possibile premere il Pulsante Nuovo progetto AWL nella Barra

strumenti di PC-Sim.

Comando Apri progetto...

Questo comando permette di aprire un progetto realizzato e salvato in precedenza. In risposta alla scelta di questo comando, PC-Sim mostrerà la finestra di dialogo Apri progetto. In essa scegliete il percorso ed il nome del file progetto (.prj) da aprire e fate clic sul Pulsante Apri.

All'apertura di un progetto PC-Sim compie le seguenti azioni:

• chiede se si intende salvare il progetto corrente se questo ha subito modifiche;

• pone in OFF il PLC;

• carica l’elenco dei blocchi nella Tabella blocchi (S5 100U e S7 300);

• legge dal file il programma utente trasferendolo nella memoria di programma;

• carica le attribuzioni dei simboli;

• aggiorna il nome del progetto corrente;

• carica gli operandi nella Tabella variabili;

• carica le etichette del PLC (S5 100U);

• carica i valori dei preset (FPC 404);

• aggiorna le informazioni sul progetto.

• recupera le impostazioni di dimensione e posizione della Finestra Lista blocchi (S5 100U e S7 300), della Finestra Tabella dei simboli e della Finestra Stato variabili;

• apre l’editor di programma ladder o AWL a seconda del tipo di codice nella memoria di programma (FPC 404 e PS3)

E' possibile aprire un progetto anche premendo il Pulsante Apri progetto nella Barra strumenti di PC-Sim.

Opzioni della finestra di dialogo Apri progetto

Cerca in:

Selezionate il percorso in cui PC-Sim dovrà leggere il file che desiderate aprire.

Nome file

Digitate il nome del file che desiderate aprire oppure selezionatelo dall’elenco. Quest’ultimo riporta i file con l'estensione selezionata nella casella Tipo di file.

Tipo di file

Selezionate il tipo di file che si desidera visualizzare nell’elenco. Le scelte possibili sono:

• File collegamenti (*.prj) elenca i file con estensione ‘prj’ presenti nella cartella corrente.

• Tutti i file (*.*) elenca tutti i file della cartella corrente a prescindere dalla loro estensione.

3-70 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Comando Salva progetto

Questo comando permette di salvare su disco il progetto corrente. In riposta alla sua scelta, PC-Sim controlla che il progetto corrente abbia un nome. Se il progetto corrente non è ancora stato nominato, cioè se lo state salvando per la prima volta, apre la finestra di dialogo Salva con nome che vi consentirà di assegnare un nome al progetto corrente (vedi Comando Salva progetto con nome...).

Dopo aver nominato il progetto, o se il progetto corrente possiede già un nome, PC-Sim compie le seguenti azioni:

• registra il contenuto dell’editor di programma aperto, se modificato, nella memoria di programma (FPC 404 e PS3);

• registra il contenuto di tutti i blocchi aperti e modificati nella memoria di programma (S5 100U e S7 300);

• salva sul file le informazioni sul progetto;

• salva le impostazioni di dimensione e posizione della Finestra Lista blocchi (S5 100U e S7 300), della Finestra Tabella dei simboli e della Finestra Stato variabili.

• salva le attribuzioni dei simboli;

• salva gli operandi della Tabella variabili;

• salva i testi delle etichette del PLC (S5 100U);

• salva i valori dei preset (FPC 404);

• salva il programma utente registrato nella memoria di programma.

Il progetto corrente può essere salvato in qualsiasi momento durante l'utilizzo del software.

E' possibile salvare un progetto anche premendo il Pulsante Salva progetto nella Barra strumenti di PC-Sim.

Comando Salva progetto con nome...

Consente di salvare un progetto con un nome diverso da quello corrente o consente di nominare e salvare un progetto senza nome.

Scegliendo questo comando, PC-Sim propone la finestra di dialogo Salva con nome. Selezionate o digitate il percorso ed il nome del file in cui intendete salvare il progetto e premete il pulsante Salva. Il progetto verrà salvato nel file dal nuovo nome. Per una descrizione dettagliata delle operazioni di salvataggio vedere quanto detto in precedenza per il Comando Salva progetto.

Opzioni della finestra di dialogo Salva progetto con nome

Salva in:

Selezionate la cartella in cui si desidera salvare il progetto.

Nome file

Digitate un nuovo nome di file per salvare il progetto con un nome diverso oppure selezionatene uno dall'elenco per salvare con un nome di file esistente. PC-Sim provvede ad aggiungere l'estensione prj se non specificata.

L’elenco riporta solo i file della cartella che hanno l'estensione selezionata nella casella Tipo di file.

Tipo di file

Selezionate il tipo di file che si desidera visualizzare nell’elenco. Le scelte possibili sono:

• File progetto (*.prj) elenca i file con estensione ‘prj’ presenti nella cartella corrente.

• Tutti i file (*.*) elenca tutti i file della cartella corrente a prescindere dalla loro estensione.

PC-Sim: il simulatore di PLC 3-71

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Comando Nuovo blocco (S5 100U e S7 300)

Consente di creare un nuovo blocco nel programma. Alla scelta di questo comando viene mostrata la finestra di dialogo Nuovo blocco. Inserite il nome del blocco, fate clic se necessario sul pulsante opzione per scegliere il tipo di editor da utilizzare (AWL o Ladder), facoltativamente inserite un testo di commento nella casella relativa, quindi premete il pulsante Crea per aprire l'editor del blocco.

Non è consentito creare un blocco che abbia lo stesso nome di un altro già presente nel progetto. Tale operazione viene segnalata da PC-Sim con un messaggio di errore.

Metodi equivalenti per creare un nuovo blocco sono:

• fare clic sul Pulsante Nuovo della Finestra Lista blocchi (S5 100U e S7 300);

• fare clic sul Pulsante Nuovo blocco della Barra strumenti di PC-Sim;

• premere la combinazione di tasti Ctrl+N.

Comando Apri blocco (S5 100U e S7 300)

Apre l'editor del blocco selezionato nella Tabella blocchi o lo porta in primo se già aperto. Scegliere questo comando è equivalente a premere il Pulsante Codice della Finestra Lista blocchi (S5 100U e S7 300).

Comando Salva blocco (S5 100U e S7 300)

Salva il blocco selezionato nella Tabella blocchi all’interno della memoria di programma.

Ricordiamo che il salvataggio nella memoria di programma non comporta la registrazione su file. Questa verrà effettuata soltanto dopo un Comando Salva progetto. Fate riferimento per maggiori informazioni a quanto detto a proposito di quest'ultimo comando.

Comando Elimina blocco (S5 100U e S7 300)

Elimina la sigla del blocco selezionato dalla Tabella blocchi ed il suo codice dalla memoria di programma.

Se nessun blocco è stato ancora creato il comando risulta disabilitato.

Per ulteriori informazioni fate riferimento a quanto descritto per il Pulsante Elimina della Finestra Lista blocchi

(S5 100U e S7 300) che risulta equivalente al comando in oggetto.

Comando Importa simboli...

Consente di importare nel progetto corrente i simboli già definiti in precedenza in un altro progetto. Alla scelta di questo comando PC-Sim risponde con la visualizzazione della finestra di dialogo Importa simboli che vi consente di specificare il percorso ed il nome del file progetto dal quale recuperare i simboli.

PC-Sim controlla l’univocità delle attribuzioni importate rispetto a quelle eventualmente già presenti e, se non in contrasto, le aggiunge a quest’ultime.

Al termine dell'operazione un messaggio vi informerà circa il numero delle attribuzioni importate.

3-72 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Comando Importa programma...

Utilizzate questo comando quando volete aggiungere al progetto corrente del codice già sviluppato in precedenza. In risposta ad esso PC-Sim mostra la finestra di dialogo Importa programma. In essa digitate o selezionate il nome del file progetto da cui importare e premete il Pulsante Apri.

Per i PLC FPC 404 e PS3 la procedura è terminata; se il progetto indicato contiene codice compatibile con quello attuale (cioè se è dello stesso tipo, ladder o AWL), il programma viene letto ed inserito nell’editor corrente. Se l’editor è AWL il codice verrà inserito in corrispondenza della posizione del cursore, se l’editor è ladder i nuovi percorsi verranno inseriti prima del percorso selezionato o, se non esiste un percorso selezionato, alla fine dello schema.

Per i PLC S5 100U e S7 300 la procedura comporta, invece, un ulteriore passo: PC-Sim legge il file progetto prescelto ed estrae la lista dei blocchi, quindi mostra la finestra di dialogo Scelta blocchi da importare che riporta sigla e commento di ogni blocco trovato.

Selezionate i blocchi che desiderate importare e premete il pulsante Importa. E’ possibile la selezione multipla di blocchi contigui con il tasto Maiusc o non contigui con il tasto Control.

Purché nel progetto corrente non esistano blocchi con la stessa sigla, PC-Sim aggiunge la sigla di ogni blocco alla Tabella blocchi e registra il relativo codice nella memoria di programma.

Comando Imposta stampante...

Utilizzate questo comando per selezionare una stampante da impiegare nella stampa del progetto corrente ed un collegamento per essa.

Opzioni della finestra di dialogo

Stampante: Selezionate la stampante che desiderate utilizzare. Appariranno solo le stampanti installate. È possibile installare le stampanti e configurare i collegamenti relativi tramite il Pannello di

controllo di Windows. Per informazioni sull'installazione delle stampanti, leggete la documentazione del vostro Windows.

Proprietà: Mostra una finestra di dialogo che permette di controllare le impostazioni della stampante selezionata.

Comando Stampa documentazione...

Permette di stampare il progetto corrente o parte di esso. A questo argomento si è dedicato un intero paragrafo dal titolo Stampa della documentazione, più avanti in questo capitolo, al quale rimandiamo per dettagliate spiegazioni.

PC-Sim: il simulatore di PLC 3-73

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Ultimi file progetto aperti

I nomi degli ultimi file progetto che avete utilizzato con PC-Sim, per un massimo di sei, vengono memorizzati in una sezione del Menu File.

L'ultimo progetto aperto occupa la prima posizione, segue il penultimo e così via. L'elenco di questi file viene aggiornato automaticamente ad ogni apertura, creazione o registrazione di progetto. I nomi dei progetti antecedenti al sestultimo vengono persi.

Per aprire uno dei progetti nell'elenco, fate clic sul comando che ne riporta il nome. Questo metodo risulta molto più veloce dell'apertura classica con il Comando Apri progetto... dello stesso menu.

Comando Esci

Esce dalla sessione corrente di PC-Sim. Prima della chiusura, PC-Sim compie le seguenti azioni:

• chiude l’editor di programma e, se vi sono variazioni non registrate, vi chiede se intendete salvare le modifiche nella memoria di programma (FPC 404 e PS3);

• chiude tutti gli editor di blocco aperti e, se vi sono variazioni nel codice dei blocchi, vi chiede singolarmente se intendete salvare le modifiche nella memoria di programma (S5 100U e S7 300);

• se il progetto è stato variato, cioè se sono variate la memoria di programma o le variabili in stato o i simboli o le etichette del PLC (S5 100U) o, ancora, le impostazioni di preset (FPC 404), chiede se si intende registrare le modifiche su file;

• in caso di risposta affermativa, e se non è stato già assegnato un nome al progetto, mostra la finestra di dialogo Salva progetto con nome per l'assegnazione del nome del file e quindi salva il progetto nel file specificato (vedere Comando Salva progetto con nome...);

• se il progetto corrente ha già un nome, e rispondete affermativamente alla richiesta di salvataggio, PC-Sim salva il progetto direttamente in quel file (vedere Comando Salva progetto);

• infine aggiorna la lista degli ultimi progetti aperti nel file di inizializzazione del programma.

Menu Modifica

Comando Elimina

Nell’editor AWL del PLC PS3 elimina il rigo corrente, scalando di una posizione verso l’alto il restante programma.

Per i PLC S5 100U e S7 300, invece, cancella la selezione corrente nell'editor AWL di blocco. Il comando risulta abilitato solo se nella finestra corrente di editor esiste una selezione di testo. In queste condizioni, la scelta del comando porta all'eliminazione del testo selezionato.

Se il blocco (S5 100U e S7 300) o il progetto (FPC 404 e PS3) è invece di tipo ladder, il comando risulta abilitato solo se nella finestra corrente di editor è selezionato un percorso. La scelta di questo comando porta alla eliminazione del percorso selezionato e allo spostamento verso l'alto ed alla rinumerazione dei percorsi successivi.

Comando Inserisci

Se l’editor corrente è di tipo ladder, inserisce un percorso vuoto in corrispondenza della selezione. Il comando risulta abilitato solo se nella finestra di editor è selezionato un percorso. La scelta di questo comando porta allo spostamento verso il basso ed alla rinumerazione progressiva dei percorsi a partire da quello selezionato ed all'inserimento di un nuovo percorso vuoto.

Per l’editor AWL del PLC PS3 questo comando inserisce un rigo vuoto nella posizione corrente.

3-74 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Per l’editor AWL dei PLC S5 100U e S7 300 questo comando non è abilitato.

Comando Aggiungi

Se l’editor corrente è di tipo ladder, aggiunge un percorso vuoto alla fine dello schema e lo numera.

Se l'editor corrente è di tipo AWL questo comando risulta disabilitato.

Comando Taglia

Compie un'operazione di eliminazione sull’editor e copia in memoria.

Per i PLC S5 100U e S7 300, se l’editor corrente è di tipo AWL, il comando risulta attivo solo se parte del testo è selezionata. In queste condizioni scegliere questo comando, porta ad eliminare la parte di testo selezionata ed a trasferirla negli Appunti. Questo testo potrà essere successivamente reinserito con il Comando Incolla in un altro punto dello stesso blocco, in un altro blocco AWL dello stesso progetto, in un altro blocco AWL di un altro progetto, o in un'altra applicazione Windows (es. Blocco note).

Per il PLC PS3, invece, l’operazione di eliminazione viene effettuata sul rigo corrente, anche se non è presente una selezione. Non è possibile tagliare più di un rigo per volta.

Se l’editor corrente è invece di tipo ladder, il comando risulta attivo quando è selezionato un percorso nello schema. La scelta di questo comando porta all'eliminazione del percorso dallo schema e alla sua copia in memoria (non negli Appunti). Il percorso tagliato potrà essere successivamente incollato nello stesso editor, o in un editor di un diverso blocco nello stesso progetto (S5 100U e S7 300) o in un altro progetto, ma non in un'altra applicazione Windows.

Vedere il Comando Incolla per ulteriori informazioni.

Se desiderate solo cancellare, senza copiare in memoria, quanto evidenziato nel blocco corrente, premete il tasto Canc.

Tastiera: Ctrl+X

Comando Copia

Compie un'operazione di copia in memoria.

Per i PLC S5 100U e S7 300, se l’editor corrente è di tipo AWL, il comando risulta attivo solo se parte del testo è selezionata. In queste condizioni scegliere questo comando porta a copiare la parte di testo selezionata negli Appunti. Questo testo potrà essere successivamente reinserito con il Comando Incolla in un altro punto dello stesso blocco, in un altro blocco AWL dello stesso progetto, in un altro blocco AWL di un altro progetto, o in un'altra applicazione Windows (es. Blocco note).

Per il PLC PS3, invece, l’operazione di copia ha per oggetto il rigo corrente, anche se non è presente una selezione. E’ possibile copiare un solo rigo per volta.

Se il blocco corrente è invece di tipo ladder, il comando risulta attivo quando è selezionato un percorso nello schema. La scelta di questo comando porta alla copia del percorso in memoria (non negli Appunti). Il percorso copiato potrà essere successivamente incollato nello stesso editor, o in un editor di un diverso blocco nello stesso progetto (S5 100U e S7 300) o in un altro progetto, ma non in un'altra applicazione Windows.

Tastiera: Ctrl+C

PC-Sim: il simulatore di PLC 3-75

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Comando Incolla

Permette di inserire nell’editor corrente una parte di programma precedentemente tagliata o copiata (vedere Comando Taglia e Comando Copia dello stesso menu).

Per i PLC S5 100U e S7 300, se l’editor corrente è di tipo AWL, l'operazione di copia porta all'inserimento del testo nella posizione del cursore. Il testo potrebbe essere stato copiato o tagliato anche da un'altra applicazione Windows.

Per il PLC PS3, invece, l’operazione porta all’inserimento dell’istruzione, copiata o tagliata in precedenza, nella posizione corrente del cursore.

Se il blocco corrente è Ladder l'inserimento del percorso avviene in corrispondenza della selezione o, se nessuna selezione è presente, alla fine del blocco.

Tastiera: Ctrl+V

Comando Mostra simboli

Scegliete questo comando quando è vostra intenzione far uso di operandi simbolici nella programmazione. Per informazioni sui tipi di operandi vedere il paragrafo Operandi assoluti e simboli. Un segno di spunta a fianco del comando vi indica che questo tipo di visualizzazione è attiva.

Per usare gli operandi simbolici è indispensabile che abbiate scritto delle attribuzioni di simboli o che le abbiate importate da un altro progetto. Vedere in merito quanto riportato a proposito della Finestra Tabella

dei simboli o del Comando Importa simboli... del menu File.

Quando impostate questa modalità di visualizzazione, viene effettuata la conversione degli operandi su tutti gli editor aperti e, in ogni editor che aprirete successivamente, verranno già visualizzati gli operandi simbolici. Ogni nuovo operando che andrete ad inserire in un editor ladder o AWL sarà automaticamente convertito nella forma attiva. Cioè, se in modalità di visualizzazione simboli inserite un operando assoluto, questo verrà convertito da PC-Sim nel corrispondente simbolo.

Se non avete definito dei simboli, l’impostazione di questa modalità non porterà ad alcuna variazione di visualizzazione: non essendo disponibili simboli da sostituire agli operandi assoluti, PC-Sim continuerà a mostravi questi ultimi.

Se, invece, esiste una lista delle attribuzioni attiva, ma non tutti gli operandi usati nel programma hanno dei simboli attribuiti, PC-Sim sostituirà solo gli operandi assoluti per i quali avete dichiarato un simbolo, lasciando i restanti inalterati.

Tastiera: Ctrl+Q

Comando Mostra operandi assoluti

Scegliete questo comando quando intendete programmare usando gli operandi assoluti. Per informazioni sui tipi di operandi vedere il paragrafo Operandi assoluti e simboli. Un segno di spunta a fianco del comando vi indica che questo tipo di visualizzazione è attiva. La visualizzazione preimpostata con PC-Sim è quella che mostra gli operandi assoluti, quindi all'avvio del programma sarà questa la visualizzazione utilizzata.

Quando impostate questa modalità di visualizzazione, PC-Sim effettua la conversione di tutti i simboli presenti in tutti gli editor aperti. Inoltre, in ogni in editor che aprirete successivamente, verranno già visualizzati gli operandi assoluti. Ogni nuovo operando che andrete ad inserire in un editor ladder o AWL sarà automaticamente convertito nella forma attiva. In questo caso cioè, essendo attiva la modalità di visualizzazione degli operandi assoluti, se digitate un simbolo, questo verrà convertito da PC-Sim nel corrispondente operando assoluto.

Tastiera: Ctrl+W

3-76 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Comando Trova operando...

Questo comando vi permette di ricercare tutte le occorrenze di un dato operando all'interno del vostro programma.

In risposta ad esso, PC-Sim mostra la finestra di dialogo Trova operando. Inserite la sigla dell'operando da ricercare nella casella Trova; potete inserire sia operandi assoluti che simboli, ma ricordate di far precedere questi ultimi dal trattino.

Per PLC S5 100U o S7 300, scegliete quindi l'area di ricerca facendo clic sul pulsante opzione Blocco

selezionato o su quello Intero programma. Facendo clic sul primo, la ricerca verrà effettuata solo sul blocco correntemente selezionato nella Tabella blocchi; facendo clic sul secondo, questa verrà compiuta in tutti i blocchi del progetto senza riguardo al tipo di editor (AWL o ladder). Per le altre simulazioni di PLC, il pulsante opzione Blocco selezionato è disabilitato e la ricerca verrà effettuata all’interno dell’unico editor disponibile.

Fate clic sul pulsante Trova per cominciare la ricerca a partire dall'inizio dell'area specificata, inizio del blocco selezionato o inizio del primo blocco della Tabella blocchi (S5 100U e S7 300) o inizio del programma (FPC404 e PS3). Se l'operando viene trovato PC-Sim mostrerà l’editor che lo contiene e attiverà la selezione del nome dell'operando. La finestra Trova operando continua a rimanere aperta e, per ogni clic sul pulsante Trova successivo, PC-Sim mostrerà l'occorrenza successiva trovata. Un messaggio vi avviserà quando la ricerca sarà arrivata al termine dell'area prevista. Un altro messaggio vi avviserà se nessuna occorrenza dell'operando in ricerca è stata trovata.

Se necessario, PC-Sim converte automaticamente l’operando inserito nella modalità di visualizzazione impostata con il Comando Mostra simboli o il Comando Mostra operandi assoluti. Cioè se, ad esempio, è attiva la modalità di visualizzazione dei simboli ed inserite per la ricerca un operando assoluto, questo verrà sostituito dal corrispondente simbolo, se ve n’è uno definito.

Per terminare la ricerca e chiudere la finestra premete il pulsante Annulla.

Per attivare la sostituzione dell'operando trovato con un operando nuovo premete il pulsante Sostituisci. Per informazioni sulla sostituzione vedere la descrizione del Comando Sostituisci operando....

Per i PLC S5 100U e S7 300 il comando Trova operando risulta disabilitato se nel progetto non esiste alcun blocco.

Per i PLC FPC 404 e PS3 il pulsante opzione Blocco selezionato risulta disabilitato in quanto il programma non può essere strutturato in blocchi.

Tastiera: Ctrl+F

Comando Sostituisci operando...

Da utilizzare per la ricerca di un determinato operando e la sostituzione con un altro assegnato.

In risposta al comando, PC-Sim mostra la finestra di dialogo Sostituisci operando. Inserite il nome dell'operando da ricercare nella casella Trova ed il nome dell'operando da sostituire nella casella Sostituisci

con. Potete inserire sia operandi assoluti che simboli, ma ricordate di far precedere questi ultimi dal trattino.

PC-Sim: il simulatore di PLC 3-77

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Per PLC S5 100U o S7 300, scegliete quindi l'area di ricerca facendo clic sul pulsante opzione Blocco

selezionato o su quello Intero programma. Facendo clic sul primo, la sostituzione verrà effettuata solo sul blocco correntemente selezionato nella Tabella blocchi; facendo clic sul secondo, invece, questa verrà compiuta in tutti i blocchi del progetto senza riguardo al tipo di editor (AWL o ladder). Per le altre simulazioni di PLC, il pulsante opzione Blocco selezionato è disabilitato.

Fate clic sul pulsante Sostituisci per sostituire la prima occorrenza dell'operando in ricerca. Ad ogni clic su questo pulsante PC-Sim provvederà ad un'unica sostituzione ed inizierà la ricerca dell'occorrenza successiva.

Fate clic sul pulsante Trova successivo per saltare la sostituzione dell'operando appena trovato ed iniziare la ricerca di una nuova occorrenza.

Fate clic su Sostituisci tutto per sostituire automaticamente tutte le occorrenze dell'operando nell'area di ricerca specificata.

Se necessario, PC-Sim converte automaticamente gli operandi inseriti nella modalità di visualizzazione impostata con il Comando Mostra simboli o il Comando Mostra operandi assoluti. Cioè se, ad esempio, è attiva la modalità di visualizzazione dei simboli ed inserite un operando assoluto, questo verrà sostituito dal corrispondente simbolo, se ve n’è uno definito.

Per terminare la sostituzione e chiudere la finestra premete il pulsante Annulla.

Per i PLC S5 100U e S7 300 il comando Sostituisci operando risulta disabilitato se nel progetto non esiste alcun blocco.

Per i PLC FPC 404 e PS3 il pulsante opzione Blocco selezionato risulta disabilitato in quanto il programma non può essere strutturato in blocchi.

Tastiera: Ctrl+H

Comando Rappresentazione (S5 100U e S7 300)

Consente di scegliere la lingua di rappresentazione delle operazioni AWL e degli operandi tra le due possibili: tedesco (default) e inglese. Un segno di spunta su una delle due sottovoci denota quella correntemente attiva.

Occorre riavviare PC-Sim per rendere operativo il cambio di rappresentazione.

Menu Finestra

Comando Codice (FPC 404 e PS3)

Apre o porta in primo piano l’editor di programma. Se attiva la visualizzazione del debug ritorna alla condizione di editazione. Ricordate che è possibile editare un programma solo se la CPU si trova nello stato di OFF o in quello di STOP. Vedere in merito il paragrafo Stato della CPU ed i comandi del Menu CPU.

3-78 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Per i PLC S5 100U e S7 300 utilizzate invece il Pulsante Codice nella Finestra Lista blocchi (S5 100U e S7 300) o il Comando Apri blocco (S5 100U e S7 300) del menu File dopo aver selezionato il blocco nella Tabella blocchi.

Comando Debug (FPC 404 e PS3)

Porta la visualizzazione dell’editor di programma in debug. Questo comando è disabilitato se la CPU si trova nello stato di OFF. Per riportare l’editor nella visualizzazione normale utilizzate il Comando Codice (FPC 404

e PS3) nello stesso menu.

Per ulteriori informazioni vedere i paragrafi Debug nelle finestre Ladder, Debug nella finestra AWL, Stato

della CPU ed i comandi del Menu CPU.

Per i PLC S5 100U e S7 300 utilizzate invece il Pulsante Debug nella Finestra Lista blocchi (S5 100U e S7 300) dopo aver selezionato il blocco nella Tabella blocchi.

Comando Lista blocchi (S5 100U e S7 300)

Apre o porta in primo piano la Finestra Lista blocchi (S5 100U e S7 300). Equivale a premere il Pulsante

Finestra Lista blocchi nella Barra strumenti di PC-Sim.

Tastiera: Ctrl+B

Comando Tabella dei simboli

Apre o porta in primo piano la Finestra Tabella dei simboli. Equivale a premere il Pulsante Finestra Tabella

dei simboli nella Barra strumenti di PC-Sim.

Tastiera: Ctrl+A

Comando Stato variabili

Apre o porta in primo piano la Finestra Stato variabili. Equivale a premere il Pulsante Finestra Stato variabili

nella Barra strumenti di PC-Sim.

Comando Impostazioni preset (FPC 404)

Apre o porta in primo piano la Finestra Impostazioni preset. Equivale a premere il pulsante Finestra

Impostazioni preset nella Barra strumenti di PC-Sim.

Comando Casella strumenti

Apre o porta in primo piano la Casella strumenti per l'editing dello schema ladder. Per il PLC PS3 questo comando non è attivo se il progetto corrente è di tipo AWL. Equivale a premere il Pulsante Casella strumenti

nella Barra strumenti di PC-Sim.

Tastiera: F9

Comando PLC

Apre o porta in primo piano la Finestra PLC. Equivale a premere il Pulsante Finestra PLC nella Barra

strumenti di PC-Sim.

Tastiera: F11

PC-Sim: il simulatore di PLC 3-79

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Comando Informazioni sul progetto

Apre o porta in primo piano la Finestra Informazioni sul progetto. Equivale a premere il Pulsante Finestra

Informazioni sul progetto nella Barra strumenti di PC-Sim.

Tastiera: F12

Comando Impianto corrente

Porta in primo piano la finestra dell'impianto correntemente aperto. Se nessun impianto risulta aperto il comando è disabilitato. Equivale a premere il Pulsante Impianto corrente nella Barra strumenti di PC-Sim.

Tastiera: Ctrl+J

Menu CPU

Comando CPU Off

Premete questo pulsante per simulare la disinserzione dell'alimentazione alla CPU. Quando si toglie alimentazione alla CPU vengono compiute le seguenti operazioni:

• vengono spenti il LED di stato della CPU;

• vengono disattivate le uscite e spenti i LED relativi.

Le CPU dei PLC S5 100U e S7 300 hanno un alimentatore, o per lo meno un interruttore, diverso da quello della periferia. Quindi, togliendo tensione alla CPU, quest’ultima continua ad essere alimentata: ecco perché i LED di ingresso continuano a rimanere accesi se i contatti ad essi collegati sono chiusi.

Gli altri PLC hanno un unico interruttore di alimentazione per la CPU e per la periferia per cui, togliendo alimentazione alla CPU, i LED di segnalazione dello stato degli ingressi vengono spenti.

Comando CPU On

Premete questo pulsante per dare alimentazione al CPU.

Le operazioni compiute dal PLC virtuale sono le seguenti:

FPC 404

• accensione del LED Stop della CPU;

e, se il pulsante di Run sulla Barra strumenti di PC-Sim è già premuto:

• compilazione del programma in codice macchina;

e, se la compilazione avviene correttamente:

• cancellazione dei temporizzatori, dei contatori e dei flag;

• accensione del LED Run della CPU;

• spegnimento del LED Stop;

• elaborazione ciclica del programma utente.

PS3

• accensione del LED Power della CPU;

e, se il pulsante di Run sulla Barra strumenti di PC-Sim è già premuto:

• compilazione del programma in codice macchina;

e, se la compilazione avviene correttamente:

• cancellazione delle immagini di processo e dei merker non ritentivi, inizializzazione dei moduli di sistema;

3-80 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

• accensione del LED Run della CPU;

• lettura della IPI (vedere Immagini di processo nel Capitolo 9);

• elaborazione del programma utente;

• emissione della IPU (vedere Immagini di processo nel Capitolo 9).

Gli ultimi tre passi si ripetono fino ad un successivo passaggio in STOP o in OFF e costituiscono l'elaborazione ciclica.

S5 100U

• accensione del LED Stop della CPU;

e, se manca la batteria:

• accensione del LED Battery Off/Low;

e, se il pulsante di Run sulla Barra strumenti di PC-Sim è già premuto:

• compilazione del programma in codice macchina;

e, se la compilazione avviene correttamente:

• cancellazione delle immagini di processo, dei temporizzatori, dei contatori non ritentivi e dei merker non ritentivi;

• accensione del LED Run della CPU;

• elaborazione blocco di avviamento OB22 (vedere Blocchi Organizzativi (OB) nel Capitolo 11);

• spegnimento del LED Stop;

• lettura della IPI (vedere Immagini di processo nel Capitolo 11);

• elaborazione dell'OB1 (vedere Blocchi Organizzativi (OB) nel Capitolo 11);

• emissione della IPU (vedere Immagini di processo nel Capitolo 11).

Gli ultimi tre passi si ripetono fino ad un successivo passaggio in STOP o in OFF e costituiscono l'elaborazione ciclica.

S7 300

• accensione del LED DC5V della CPU;

• accensione del LED STOP della CPU;

e, se manca la batteria:

• accensione del LED BATF;

e, se il pulsante di Run sulla Barra strumenti di PC-Sim è già premuto:

• compilazione del programma in codice macchina;

e, se la compilazione avviene correttamente:

• cancellazione delle immagini di processo, dei temporizzatori, dei contatori non ritentivi e dei merker non ritentivi;

• accensione del LED RUN della CPU;

• elaborazione blocco di avviamento OB100 (vedere Blocchi Organizzativi (OB) nel Capitolo 13);

• spegnimento del LED STOP della CPU;

• lettura della IPI (vedere Immagini di processo nel Capitolo 13);

• elaborazione dell'OB1 (vedere Blocchi Organizzativi (OB) nel Capitolo 13);

• emissione della IPU (vedere Immagini di processo nel Capitolo 13).

Gli ultimi tre passi si ripetono fino ad un successivo passaggio in STOP o in OFF e costituiscono l'elaborazione ciclica.

PC-Sim: il simulatore di PLC 3-81

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Comando CPU Stop

Con la CPU alimentata ed in stato di RUN:

• viene spento il LED Run

• viene acceso il LED Stop (FPC 404, S5 100U e S7 300);

• vengono disattivate le uscite e spenti i LED relativi:

• viene terminata l’elaborazione del programma utente.

Comando CPU Run

Se la CPU non è alimentata (pulsante CPU Off premuto) la scelta di questo comando non ha alcun effetto. Se, invece, la CPU è alimentata (pulsante CPU On premuto) vengono compiuti i seguenti passi:

FPC 404

• compilazione del programma in codice macchina;

e, se la compilazione avviene correttamente:

• cancellazione dei temporizzatori, dei contatori e dei flag;

• accensione del LED Run;

• spegnimento del LED Stop;

• elaborazione ciclica del programma utente.

PS3

• compilazione del programma in codice macchina;

e, se la compilazione avviene correttamente:

• cancellazione delle immagini di processo e inizializzazione dei moduli di sistema;

• accensione del LED di Run della CPU;

• lettura della IPI (vedere Immagini di processo nel Capitolo 9);

• elaborazione del programma utente;

• emissione della IPU (vedere Immagini di processo nel Capitolo 9).

Gli ultimi tre passi si ripetono fino ad un successivo passaggio in STOP o in OFF e costituiscono l'elaborazione ciclica.

S5 100U

• compilazione del programma in codice macchina del PLC;

e, se la compilazione avviene correttamente:

• cancellazione delle immagini di processo, dei temporizzatori, dei contatori non ritentivi e dei merker non ritentivi;

• accensione del LED Run della CPU;

• elaborazione blocco di avviamento OB21 (vedere Blocchi Organizzativi (OB) nel Capitolo 11);

• spegnimento del LED Stop;

• lettura della IPI (vedere Immagini di processo nel Capitolo 11);

• elaborazione dell'OB1 (vedere Blocchi Organizzativi (OB) nel Capitolo 11);

• emissione della IPU (vedere Immagini di processo nel Capitolo 11).

Gli ultimi tre passi si ripetono fino ad un successivo passaggio in STOP o in OFF e costituiscono l'elaborazione ciclica.

3-82 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

S7 300

• compilazione del programma in codice macchina del PLC;

e, se la compilazione avviene correttamente:

• cancellazione delle immagini di processo, dei temporizzatori, dei contatori non ritentivi e dei merker non ritentivi;

• accensione del LED RUN della CPU;

• elaborazione blocco di avviamento OB100 (vedere Blocchi Organizzativi (OB) nel Capitolo 13);

• spegnimento del LED STOP;

• lettura della IPI (vedere Immagini di processo nel Capitolo 13);

• elaborazione dell'OB1 (vedere Blocchi Organizzativi (OB) nel Capitolo 13);

• emissione della IPU (vedere Immagini di processo nel Capitolo 13).

Gli ultimi tre passi si ripetono fino ad un successivo passaggio in STOP o in OFF e costituiscono l'elaborazione ciclica.

Comando Batteria in servizio

Fate clic su questo comando per simulare l'inserimento di una nuova batteria tampone nella CPU del PLC. Quando la batteria è inserita, le variabili residenti nella memoria RAM tamponata vengono mantenute anche in caso di mancanza di alimentazione al PLC simulato.

Per il PLC S5 100U, al ritorno in servizio della batteria non viene più elaborato il blocco OB34 all'inizio di ogni ciclo (vedere Blocchi Organizzativi (OB) nel Capitolo 11).

Per il PLC S7 300, al ritorno in servizio della batteria non viene più elaborato il blocco OB81 all'inizio di ogni ciclo (vedere Blocchi Organizzativi (OB) nel Capitolo 13).

Comando Batteria fuori servizio

Questo comando serve a simulare la disinserzione o l'esaurimento della batteria tampone. Quando la batteria è disinserita, le variabili residenti nella memoria RAM vengono azzerate in caso di mancanza di alimentazione.

Per il PLC S5 100U, in queste condizioni e prima dell'inizio di ogni ciclo, la CPU del PLC simulato elaborerà il blocco OB34, se programmato, fino al reinserimento della batteria tampone (vedere Blocchi Organizzativi

(OB) nel Capitolo 11).

Per il PLC S7 300, in queste condizioni e prima dell'inizio di ogni ciclo, la CPU del PLC simulato elaborerà il blocco OB81, se programmato, fino al reinserimento della batteria tampone (vedere Blocchi Organizzativi

(OB) nel Capitolo 13).

Menu Impianti

Attraverso questo menu è possibile avviare gli impianti di PL-Sim. Ognuna delle voci rappresenta e richiama uno specifico impianto. PC-Sim controlla al suo avviamento gli impianti presenti sul vostro PC e, per tutti quelli previsti e non trovati, provvede a disabilitare il relativo comando.

Inoltre, da questo menu possono essere avviate le interfacce verso gli impianti autocostruiti (PL-Lab).

Per avviare un impianto è sufficiente scegliere la voce che ne individua il nome ed il numero progressivo. All’avviamento di un impianto il menu viene disabilitato per evitare la contemporanea esecuzione di più impianti. Esso tornerà ad essere abilitato alla chiusura dell’impianto che verrà effettuata dalla relativa finestra.

PC-Sim: il simulatore di PLC 3-83

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Comando Elettropneumatica 1

Avvia l'impianto n.1, Elettropneumatica 1, che simula un banco di elettropneumatica composto da tre cilindri pneumatici a doppio effetto e tre distributori bistabili a comando elettrico.

Per maggiori informazioni vedere Impianto n.1: Elettropneumatica 1 nel Capitolo 4.

Comando Elettropneumatica 2

Avvia l'impianto n.2, Elettropneumatica 2, che simula un banco di elettropneumatica composto da tre cilindri pneumatici a doppio effetto e tre distributori monostabili a comando elettrico.

Per maggiori informazioni vedere Impianto n.2: Elettropneumatica 2 nel Capitolo 4.

Comando Elettropneumatica 3

Avvia l'impianto n.3, Elettropneumatica 3, che simula un banco di elettropneumatica composto da tre cilindri pneumatici a semplice effetto e tre distributori monostabili a comando elettrico.

Per maggiori informazioni vedere Impianto n.3: Elettropneumatica 3 nel Capitolo 4.

Comando Automazione cancello

Avvia l'impianto n.4, Automazione cancello, che simula una classica applicazione dell’automazione in campo civile, l’automazione di un cancello elettrico. Sono disponibili finecorsa, fotocellula, telecomando, motore e lampeggiatore.

Per maggiori informazioni vedere Impianto n.4: Automazione cancello nel Capitolo 4.

Comando Controllo livello serbatoio

Avvia l'impianto n.5, Controllo livello serbatoio, che rappresenta una classica applicazione dell’automazione industriale. Sono disponibili i livellostati di funzionamento e di allarme, le valvole ed un pannello per la gestione degli allarmi.

Per maggiori informazioni vedere nel Impianto n.5: Controllo livello serbatoio Capitolo 4.

Comando Nastri trasportatori

Avvia l'impianto n.6, Nastri trasportatori, che simula un impianto di smistamento scatole con nastri trasportatori. Sono presenti sensori, fotocellule, finecorsa, motori ed un pannello per il comando dell’impianto e la gestione degli allarmi.

Per maggiori informazioni Impianto n.6: Nastri trasportatori vedere nel Capitolo 4.

Comando Ascensore

Avvia l'impianto n.7, Ascensore, un’altra classica applicazione dell’automazione all’impiantistica civile. Si tratta di un impianto di ascensore a quattro piani con finecorsa, pulsanti di chiamata e di mandata, lampade di segnalazione, fotocellula, motore.

Per maggiori informazioni vedere Impianto n.7: Ascensore nel Capitolo 4.

Comando Miscelatore liquidi

Avvia l’impianto n.8, Miscelatore liquidi, che permette di elaborare esercitazioni sull’automazione di ricette che hanno come componenti tre diversi liquidi. Fanno parte di questo impianto: livellostati, termostato, valvole ed elettropompe, sonde di livello e temperatura, nonché un pannello operatore per la gestione del ciclo di funzionamento e degli allarmi.

3-84 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Per maggiori informazioni vedere Impianto n.8: Miscelatore Liquidi nel Capitolo 4.

Comando Incrocio semaforizzato

Avvia l’impianto n.9, Incrocio semaforizzato, che permette di elaborare esercitazioni sull’automazione di un impianto semaforico con modi di funzionamento automatico, manuale e notturno.

Per maggiori informazioni vedere Impianto n.9: Incrocio semaforizzato nel Capitolo 4.

Comando PL-Lab

Avvia l'interfaccia verso gli impianti autocostruiti PL-Lab.

PL-Lab permette il collegamento tra i PLC simulati di PC-Sim ed InTouch, il noto pacchetto di supervisione della Wonderware, mediante il quale potrete costruire per vostro conto nuove finestre di simulazione di impianti.

Per maggiori informazioni vedere il Capitolo 5.

Comando guida

Avvia la guida a PC-Sim.

La guida di PC-Sim ha le funzionalità proprie delle guide di Windows: è sensibile al contesto e possiede le funzioni di scorrimento avanti-indietro, sommario, cronologia, ricerca. E' possibile, inoltre, stampare un argomento, copiare per poi incollare, definire dei segnalibro.

La guida è composta da due finestre. La finestra principale mostra il sommario degli argomenti, la finestra secondaria mostra gli argomenti specifici richiamati, di volta in volta, dalla prima.

Sebbene PC-Sim sia stato studiato per essere facile da usare e comprensibile intuitivamente ed immediatamente, utilizzate la guida diffusamente: vi sarà molto utile all'inizio della vostra pratica.

Tastiera: F1

Comando Autoware su Internet

Richiama la guida in linea alla voce che fornisce informazioni sul sito WEB di Autoware.

Comando Servizio Supporto Tecnico Utenti AW-SYS

Richiama la guida in linea alla voce che fornisce informazioni sulle modalità di assistenza agli utenti di AW-SYS.

Comando Informazioni su PC-Sim

Mostra la finestra delle informazioni sul programma PC-Sim.

Da questa finestra potrete avere informazioni circa la versione del programma in vostro possesso, il tipo di PLC simulato e sul produttore del software.

La finestra delle informazioni viene mostrata anche ad ogni avviamento di PC-Sim.

Per chiudere la finestra premere il pulsante Ok.

PC-Sim: il simulatore di PLC 3-85

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Barra del titolo

La barra del titolo della finestra principale di PC-Sim contiene, oltre al nome del programma che specifica anche il modello di PLC in uso, il nome e l’estensione del file del progetto corrente.

Se si è appena lanciato PC-Sim, o si è iniziato un nuovo progetto e non lo si è ancora salvato, quindi in tutti i casi in cui il progetto corrente non ha ancora un nome, nella barra del titolo al posto del nome del progetto verrà indicato il testo “[Senza nome]”.

3-86 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Barra strumenti

I pulsanti della barra strumenti di PC-Sim vi permettono di compiere alcune azioni, già viste per i comandi dei menu, ma in modo più veloce. Nella barra sono stati raggruppati quei comandi che si richiamano più spesso nell’uso di PC-Sim. Per spiegazioni a riguardo il lettore farà riferimento a quanto già detto negli equivalenti comandi dei menu.

Nella Tabella 2 riportiamo l’elenco dei pulsanti, del nome del comando equivalente e del menu di appartenenza, nonché il modello di PLC simulato per cui sono disponibili.

Tabella 2: Elenco pulsanti della barra strumenti di PC-Sim e comandi equivalenti

Pulsante Descrizione Comando equivalente Menu FPC 404

PS 3

S5 100U

S7 300

Nuovo progetto Nuovo progetto File

Nuovo progetto ladder Nuovo progetto ladder File

Nuovo progetto AWL Nuovo progetto AWL File

Nuovo blocco Nuovo blocco File

Apri progetto Apri progetto File

Salva progetto Salva progetto File

Finestra Codice Codice Finestra

Finestra Lista blocchi Lista blocchi Finestra

Finestra Tabella dei simboli Tabella dei simboli Finestra

Finestra Stato variabili Stato variabili Finestra

Finestra Impostazioni di preset Impostazioni preset Finestra

Finestra PLC PLC Finestra

Finestra Informazioni sul progetto Informazioni sul progetto Finestra

Casella strumenti Casella strumenti Finestra

Trova operando Trova operando Modifica

Impianto corrente: Impianto corrente Finestra

CPU Off CPU Off CPU

CPU On CPU On CPU

CPU Stop CPU Stop CPU

CPU Run CPU Run CPU

Batteria in servizio Batteria in servizio CPU CPU

Batteria fuori servizio Batteria fuori servizio CPU

PC-Sim: il simulatore di PLC 3-87

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Scelte rapide da tastiera

Su tutto PC-Sim sono attive diverse scelte rapide da tastiera che permettono di richiamare alcuni comandi evitando l’uso dei menu. Per attivare il comando è sufficiente premere il tasto o la combinazione di tasti specificata.

In Tabella 3 forniamo l’elenco dei tasti per la loro attivazione.

Tabella 3: Elenco delle scelte rapide da tastiera di PC-Sim

Tasto Funzione

Ctrl+A Richiama la finestra Tabella dei simboli

Ctrl+B Richiama la finestra Lista blocchi

Ctrl+C Copia selezione

Ctrl+F Avvia la ricerca operandi

Ctrl+H Avvia sostituzione operandi

Ctrl+J Richiama l'impianto corrente

Ctrl+N Crea nuovo blocco

Ctrl+S Salva progetto

Ctrl+V Incolla selezione

Ctrl+X Taglia selezione

Alt+F4 Chiude la finestra corrente o termina la sessione di PC-Sim

Canc Cancella selezione

F1 Attiva la guida

F2 Editing di cella in tabella

F5 CPU Off

F6 CPU On

F7 CPU Stop

F8 CPU Run

F9 Richiama la Casella strumenti

F11 Richiama finestra PLC

3-88 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Stampa della documentazione

Alla scelta del Comando Stampa documentazione... PC-Sim risponde mostrando a video la finestra di dialogo Stampa documentazione che permette di scegliere le parti di programma da stampare e le modalità della stampa.

Nel presente paragrafo esaminiamo in dettaglio queste opzioni.

Stampa del programma

Questo riquadro consente la scelta di quali parti del programma debbano essere stampate ed in quale modalità. Fate clic sui pulsanti di opzione in base alle descrizioni seguenti.

Senza programma

Non verrà stampato il codice di alcun blocco presente nel progetto (S5 100U e S7 300) o non verrà stampato il programma (FPC 404 e PS3).

Tutto il programma

Verrà stampato il codice di tutti i blocchi presenti nel progetto, sia ladder che AWL che dati (S5 100U e S7 300) o verrà stampato il programma (FPC 404 e PS3).

Blocco selezionato (S5 100U e S7 300)

Verrà stampato solamente il codice relativo al blocco correntemente selezionato nella Tabella blocchi.

Blocchi: (S5 100U e S7 300)

Permette di inserire, nella casella a fianco, l’elenco dei blocchi da stampare. Le sigle dei blocchi devono essere separate da virgole e sono consentiti anche i caratteri speciali ‘-’ e ‘*’. Di seguito riportiamo alcuni esempi che chiariranno l’utilizzo della casella.

PB45: viene stampato il codice del solo blocco PB45.

OB1,OB34,PB45: vengono stampati i codici dei tre blocchi menzionati.

FB10-FB14: viene stampato il codice dei blocchi da FB10 a FB14 cioè: FB10, FB11, FB12, FB13 e FB14.

OB*: viene stampato il codice di tutti i blocchi organizzativi (OB) presenti nel programma.

Ma sono possibili anche inserimenti multipli ad es. OB*,PB12-PB14,DB35 che permette di stampare tutti gli OB, i PB 12, 13, 14 ed il DB35.

PC-Sim: il simulatore di PLC 3-89

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Tipo operandi

Consente di scegliere, indipendentemente dalla modalità di visualizzazione corrente, il tipo di operandi da stampare tra assoluti e simboli (vedere Operandi assoluti e simboli in questo capitolo).

Stampa della documentazione aggiuntiva

Oltre al listato del programma, PC-Sim permette la stampa di ulteriori elementi del progetto corrente. In questo riquadro possono essere effettuate le scelte delle parti da aggiungere alla stampa del programma secondo quanto chiarito nel seguito.

Elenco blocchi e struttura programma (S5 100U e S7 300)

L'attivazione di questa casella di controllo consente di stampare la lista dei blocchi presenti nel programma, contenente le colonne Blocco, Tipo e Commento, così come presenti nella Tabella blocchi.

Essa consente di stampare anche la struttura del programma, cioè l’albero delle chiamate ai blocchi. Gli alberi hanno come radice (blocco generante) i blocchi chiamati da sistema operativo cioè OB1, OB21, OB22 ed OB34. Saranno presenti nella stampa solo gli alberi relativi ai blocchi radice programmati. Cioè se, ad esempio, non avete programmato l’OB34 per reagire alla scarica o disinserzione della batteria tampone, l’albero relativo non sarà stampato perché inesistente.

Tabella dei simboli

Consente la stampa della lista delle attribuzioni corrente così definita come nella Finestra Tabella dei simboli, organizzata in tabella con colonne per l’operando assoluto, quello simbolico ed il commento.

Liste incrociate

Con l'attivazione di questa casella di controllo si otterrà la stampa delle liste incrociate degli operandi, verranno cioè stampati tutti gli operandi trovati nel programma ed, in corrispondenza di ognuno di essi, verranno riportati i blocchi in cui sono stati trovati (S5 100U e S7 300) ed il numero di percorso, per i blocchi Ladder, o il numero di linea, per i blocchi AWL, che contengono l’operando considerato. La lista incrociata è estremamente importante in fase di debug del programma perché, come appena spiegato, vi consente di conoscere le posizioni di ogni singolo operando all’interno del programma.

La casella di controllo Liste incrociate, una volta abilitata, vi consente inoltre di decidere per quali operandi eseguire e stampare la ricerca. Sarà possibile abilitarla per gli ingressi, le uscite, i merker o flag, i temporizzatori e contatori (FPC 404, S5 100 e S7 300) o per i moduli di sistema (PS3).

Le liste incrociate per gli ingressi, le uscite ed i merker per i PLC PS3, S5 100U e S7 300 forniscono informazioni non solo per gli operandi specifici indirizzati a bit, ma anche per gli stessi tipi di operandi indirizzati a byte ed a word.

Tabelle di occupazione

L'attivazione di questa casella di controllo della finestra Stampa documentazione permette la stampa di griglie in cui ogni cella individua uno specifico operando. Le griglie sono organizzate per byte o per word a seconda del PLC, ogni riga corrisponde infatti ad un byte o word d’ingresso, d’uscita o di memoria merker (flag). Le colonne individuano all’interno di ciascun byte o word uno specifico bit corrispondente al numero della colonna; ove possibile altre colonne individuano l’intero byte e l’intera word.

Le celle relative agli operandi utilizzati nel programma vengono annerite. Una rapida occhiata a questa stampa permetterà di capire se avete già utilizzato un certo operando nel programma o di individuare, ad esempio, un merker libero da utilizzare.

3-90 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Cioè, ad esempio, se nel programma per S5 100U viene indirizzato l’ingresso E1.4, la cella corrisponde alla riga EB1 ed alla colonna 4 risulterà annerita; così come la cella corrispondente alla riga AB2 ed alla colonna B se nel programma avete utilizzato il byte di uscita AB2; ancora, se nel programma avete utilizzato la MW40, le celle corrispondenti alle righe MB40 e MB41 ed alla colonna W risulteranno annerite.

Anche in questo caso è possibile abilitare singolarmente la stampa delle griglie relative agli ingressi, uscite, merker (flag), temporizzatori e contatori (FPC 404, S5 100U e S7 300) o ai moduli di sistema (PS3).

Messaggi di avviso

In questo paragrafo riportiamo l’elenco di alcuni dei messaggi con cui PC-Sim risponde ad azioni o situazioni anomale. Vengono riportati solo quelli per cui è necessario qualche chiarimento. Per ognuno di essi vengono descritte le procedure per risolvere o evitare il problema.

Chiave hardware assente o errata

La chiave hardware fornita nella confezione di PC-Sim non è stata inserita nella porta parallela del vostro computer. Se il vostro computer è dotato di più di una porta parallela inserite la chiave in una qualsiasi di queste, PC-Sim è in grado di ricercare la chiave su qualunque porta parallela.

Oppure, la porta parallela su cui avete inserito la chiave non viene vista da Windows, controllate le impostazioni di sistema dal pannello di controllo.

La chiave hardware è per una versione precedente di PC-Sim

Avete inserito nella porta parallela del vostro PC una chiave hardware per la versione 1 di PC-Sim. Contattate Autoware srl – servizio commerciale per informazioni sulle modalità di aggiornamento di AW-SYS.

AW-SYS potrebbe non girare correttamente con questa modalità video. E’ consigliabile impostare

‘caratteri piccoli’ nelle proprietà dello schermo.

L’utilizzo di una modalità video ‘caratteri grandi’ o ‘caratteri molto grandi’ potrebbe portare ad irregolarità nella visualizzazione delle immagini. Chiudete PC-Sim ed impostate una modalità ‘caratteri piccoli’ nella finestra di dialogo Proprietà Schermo richiamabile dal Pannello di controllo di Windows.

Il file [nome progetto] è per un modello diverso di PLC. Impossibile aprire il progetto.

Il file progetto specificato nella finestra di dialogo Apri progetto è stato realizzato con la versione di PC-Sim dedicata alla simulazione di un altro PLC. Chiudere la sessione corrente di PC-Sim, lanciare il simulatore dell’altro PLC e riprovare ad aprire il progetto.

Il file [nome progetto] non è un progetto di PC-Sim.

Il file specificato nella finestra di dialogo Apri progetto non è un progetto di PC-Sim. E’ impossibile caricare il file.

Non è possibile localizzare il file progetto [nome file].

Il nome del progetto inserito nella finestra di dialogo Apri progetto, o scelto direttamente dal Menu File, non è valido o comunque non è presente alcun progetto con quel nome. Correggere il nome del file e riprovare.

PC-Sim: il simulatore di PLC 3-91

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Non è possibile localizzare il percorso [nome percorso].

Il nome del percorso del file inserito nella finestra di dialogo Apri progetto, o scelto direttamente dal Menu

File, non è valido o non esiste alcun percorso con quel nome. Correggere il nome del percorso e riprovare.

Errore durante il salvataggio. Il file potrebbe essere a sola lettura.

Si è tentato di sovrascrivere un file impostato a sola lettura. Salvare con un altro nome oppure rimuovere l'attributo 'Sola lettura' dal file utilizzando la scheda Proprietà.

Errore nell'apertura del progetto.

Durante l’apertura del progetto si è verificato un errore indeterminato. Contattare il Servizio Supporto Tecnico

Utenti AW-SYS.

Il file progetto esiste già! Sovrascrivere?

Dopo aver avviato il Comando Salva progetto con nome... dal Menu File, si sta chiedendo di salvare il progetto corrente con un nome di file già esistente.

Rispondere:

• Si se si desidera sovrascrivere il preesistente progetto;

• No se si desidera cambiare il nome del file scelto per la registrazione e quindi non sovrascrivere il vecchio progetto;

• Annulla se si intende annullare la registrazione del progetto corrente.

Il progetto corrente non è stato salvato. Registrare le modifiche prima di chiuderlo?

E’ stata chiesta la chiusura del progetto corrente, con uno dei comandi Nuovo progetto, Apri progetto o Esci

del Menu File o con una delle azioni equivalenti, ma questo contiene modifiche non ancora registrate. PC-Sim vi invita a registrare le modifiche prima di abbandonare il progetto.

Rispondere:

• Si se si desidera salvare il progetto;

• No se si non si desidera salvare il progetto, perdendo quindi le ultime modifiche apportate ad esso;

• Annulla se si intende annullare l’operazione di chiusura del progetto corrente.

Il progetto corrente è salvato in un vecchio formato. Aggiornarlo al formato attuale?

E’ stata chiesta la chiusura del progetto corrente, con uno dei comandi Nuovo progetto, Apri progetto o Esci

del menu File o con una delle azioni equivalenti, ma questo è stato realizzato con una versione precedente di PC-Sim. Vi viene chiesto se intendete aggiornare il file progetto al nuovo formato.

Rispondere:

• Si se si desidera aggiornare il progetto al nuovo formato;

• No se si desidera lasciare il file progetto nel vecchio formato;

• Annulla se si intende annullare l’operazione di chiusura del progetto corrente.

La (nuova) sigla del blocco non è valida.

Nella creazione o nella rinominazione di un blocco è stato inserita, nella casella Blocco, una sigla non valida.

Le sigle di blocco valide per S5 100U vanno da OB0 a OB63 per i blocchi organizzativi, da PB0 a PB63 per i blocchi di programma, da FB0 a FB63 per i blocchi funzionali e da DB2 a DB63 per i blocchi dati.

3-92 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Le sigle di blocco valide per S7 300 vanno da OB0 a OB127 per i blocchi organizzativi, da FC0 a FB127 per le funzioni e da DB2 a DB127 per i blocchi dati.

Correggere la sigla e riprovare.

Il blocco è già presente nel progetto!

Nella creazione di un blocco, o nella rinominazione di uno esistente, si è usata la sigla di un blocco già presente nella Tabella blocchi. Ciò non è possibile: la sigla di ogni blocco dev’essere univoca. Assegnare un nome univoco al blocco che si sta creando o rinominando.

Raggiunto il numero massimo di blocchi consentito in un progetto

E’ impossibile creare un ulteriore blocco nel progetto corrente perché quelli già presenti sono già il massimo numero che PC-Sim per S5 100U o S7 300 può gestire: 100.

E’ stata raggiunta la dimensione massima consentita del {blocco | programma}. Impossibile eseguire

il comando.

L’operazione avviata, generazione di un ramo parallelo, introduzione di un temporizzatore, introduzione di un contatore ecc. porterebbe a superare la dimensione massima prevista per l’editor ladder di 999 rami. Per S5 100U o S7 300, dividete il blocco in due collegando il secondo al primo con una chiamata incondizionata come ultima istruzione. Per gli altri PLC non avete possibilità di intervento.

Il programma {AWL | ladder} è stato modificato. Salvare i cambiamenti correnti?

E’ in uso la simulazione per FPC 404 o PS3 e si sta chiudendo un editor di programma il cui contenuto non è stato salvato, o le cui ultime modifiche non sono state registrate.

Rispondere:

• Si se si desidera salvare il codice nella memoria di programma.

• No se non si desidera registrare il codice, perdendo così le variazioni successive all’ultimo salvataggio.

• Annulla se si intende annullare l’operazione, cioè la chiusura dell’editor di programma.

Il blocco [sigla blocco] è stato modificato. Salvare i cambiamenti correnti?

E’ in uso la simulazione di S5 100U o S7 300 e si sta chiudendo un editor di blocco il cui contenuto non è stato salvato, o le cui ultime modifiche non sono state registrate.

Rispondere:

• Si se si desidera salvare il blocco nella memoria di programma.

• No se non si desidera registrare il blocco, perdendo così le variazioni successive all’ultimo salvataggio. Se il blocco non è mai stato salvato dalla sua creazione, verrà completamente perso e la sua sigla eliminata dalla Tabella blocchi.

• Annulla se si intende annullare l’operazione, cioè la chiusura dell’editor di blocco.

Eliminare il blocco [sigla blocco]?

Si è chiesto di eliminare un blocco dal progetto corrente. Il messaggio ve ne chiede la conferma per sicurezza. Una volta eliminato un blocco, non ne sarà più possibile il recupero.

PC-Sim: il simulatore di PLC 3-93

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Attenzione! Il programma contiene delle chiamate al blocco da eliminare. Eliminare comunque?

Dopo aver confermato l’eliminazione di un blocco, PC-Sim controlla che nel restante programma non vi siano operazioni di chiamata al blocco in eliminazione. Se vengono trovate chiamate, questo messaggio vi avviserà chiedendovi ancora conferma dell’eliminazione.

Infatti, le chiamate ad un blocco non presente, pur non provocando un errore nella compilazione e nell’esecuzione del programma, costituiscono sicuramente un’anomalia di programmazione. Per trovare rapidamente tutte le chiamate al blocco all’interno del programma, utilizzate il Comando Trova operando... del menu Modifica digitando nella casella Trova la sigla del blocco eliminato.

Impossibile rinominare un blocco aperto. Chiudere il blocco e riprovare.

Si è chiesto di rinominare un blocco in Edit o in Debug, così come è indicato nella Colonna Stato della Tabella blocchi. L’operazione è impossibile. Chiudere il blocco e riprovare a rinominare.

Aggiornare anche tutte le chiamate al blocco con la nuova sigla?

Si è rinominato un blocco cambiandone la sigla. PC-Sim vi chiede se desiderate che aggiorni automaticamente le eventuali chiamate al blocco rinominato sostituendo in esse la nuova sigla del blocco.

Se non aggiornate le chiamate automaticamente (rispondendo affermativamente alla domanda) o manualmente (rispondendo negativamente), al momento della compilazione, nel passaggio in Run del PLC, PC-Sim potrebbe segnalarvi la presenza di chiamate a blocco inesistente, se il blocco rinominato era un blocco funzionale.

Rispondere:

• Si se si desidera aggiornare automaticamente tutte le chiamate al blocco col vecchio nome presenti nel programma

• No se si desidera lasciare inalterate le chiamate al blocco col vecchio nome

Nella attribuzione manca l’operando assoluto!

Durante la fase di input di una nuova attribuzione nella Tabella simboli si è omesso di compilare il campo relativo all’operando assoluto, oppure durante la modifica di una attribuzione esistente si è cancellato lo stesso campo. Inserire un operando assoluto valido nel campo.

Operando assoluto non corretto!

Durante la fase di input di una attribuzione si è digitato un nome di operando non valido nel campo operando assoluto della Tabella simboli. Correggere l’operando.

L’elenco completo degli operandi validi è riportato nei paragrafi Indirizzamento all’interno dei capitoli dedicati alle note di programmazione dei diversi PLC simulati.

Nella attribuzione manca il simbolo!

Durante la fase di input di una nuova attribuzione nella Tabella simboli si omesso di compilare il campo relativo al simbolo, oppure durante la modifica di una attribuzione esistente si è cancellato lo stesso campo. Inserire il nome di un simbolo valido nella casella.

Simbolo non corretto!

Durante la fase di input o di modifica di una attribuzione nella Tabella simboli si è digitato un operando simbolico non valido nel campo Simbolo. Correggere il simbolo.

3-94 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Consultate il paragrafo Operandi assoluti e simboli in questo capitolo per informazioni sulla sintassi degli operandi simbolici.

Operando assoluto già presente!

L’operando assoluto che si sta utilizzando nel rigo corrente della Tabella simboli è già stato usato in un’altra attribuzione. PC-Sim non consente l’attribuzione di più simboli ad un unico operando assoluto. Desistere dalla attribuzione o utilizzare un altro operando assoluto.

Simbolo già presente!

Il simbolo che si sta utilizzando nel rigo corrente della Tabella simboli è già stato usato in un’altra attribuzione. PC-Sim non consente l’attribuzione di un unico simbolo a più operandi assoluti. Inserire un simbolo diverso.

Attribuzione già presente!

L’intera attribuzione, cioè la coppia operando assoluto e simbolo, è già presente nella Tabella simboli ed è quindi già valida all’interno del progetto. Annullare l’inserimento.

L’operando inserito per lo stato non è valido!

Durante la fase di input nel campo Op.assoluto della Tabella variabili si è digitata la sigla di un operando assoluto o simbolico non valido. Correggere l’operando.

L’elenco completo degli operandi assoluti validi è riportato nei paragrafi Indirizzamento all’interno dei capitoli dedicati alle note di programmazione dei diversi PLC simulati.

Le regole sintattiche per la definizione dei simboli sono riportate nel paragrafo Operandi assoluti e simboli in questo capitolo.

L'operando inserito per la ricerca non è valido!

Nel campo Trova della finestra di dialogo Trova operando è stato digitato un operando assoluto o simbolico non valido. Correggere l’operando.

L’elenco completo degli operandi assoluti validi è riportato nei paragrafi Indirizzamento all’interno dei capitoli dedicati alle note di programmazione dei diversi PLC simulati.

Le regole sintattiche per i simboli sono riportate nel paragrafo Operandi assoluti e simboli in questo capitolo.

Ricerca completata nell’area specificata.

PC-Sim ha terminato la ricerca dell’operando indicato nella casella Trova delle finestre di dialogo Trova

Operando o Sostituisci operando all’interno dell’area specificata. Tutte le occorrenze dell’operando presenti nel programma sono state trovate.

Ricerca completata nell’area specificata. Nessuna corrispondenza trovata.

PC-Sim ha terminato la ricerca dell’operando indicato nella casella Trova delle finestre di dialogo Trova

Operando o Sostituisci operando all’interno dell’area specificata, senza trovare nessuna occorrenza dell’operando.

PC-Sim: il simulatore di PLC 3-95

Autoware srl AW-SYS – software di simulazione di PLC e impianti

L'operando inserito per la sostituzione non è valido!

Nel campo Sostituisci con della finestra di dialogo Sostituisci operando è stato digitato un operando assoluto o simbolico non valido. Correggere l’operando.

L’elenco completo degli operandi assoluti validi è riportato nei paragrafi Indirizzamento all’interno dei capitoli dedicati alle note di programmazione dei diversi PLC simulati.

Le regole sintattiche per i simboli sono riportate nel paragrafo Operandi assoluti e simboli in questo capitolo.

Tipo operandi non compatibile! Impossibile sostituire.

La casella Sostituisci con della finestra di dialogo Sostituisci operando contiene un operando incompatibile con quello contenuto nella casella Trova. La sostituzione è impossibile.

Due operandi sono compatibili quando hanno lo stesso numero di bit e, per i moduli di sistema del PS3, quando sono dello stesso tipo.

Sostituzione completata nell’area specificata. Effettuate [numero] sostituzioni.

La sostituzione di operando è avvenuta con successo all’interno dell’area specificata. L’operando contenuto nella casella Trova della finestra di dialogo Sostituisci operando è stato sostituito con quello nella casella Sostituisci con il numero indicato di volte.

Sostituzione completata nell’area specificata. Nessuna corrispondenza trovata.

La sostituzione di operando non è avvenuta. Nessuna occorrenza dell’operando indicato nella casella Trova

della finestra di dialogo Sostituisci operando è stata trovata all’interno dell’area specificata.

Il blocco è troppo lungo per la visualizzazione dello stato.

PC-Sim per S5 100U o S7 300 ammettono un limite di 200 linee per la lunghezza dei blocchi AWL che possono supportare la funzionalità di debug. Se il blocco supera questo limite, non è possibile effettuare il debug e questo messaggio vi avvisa dell’evenienza. Provare a dividere il blocco in due parti, richiamando il secondo al termine del primo, con un’istruzione di richiamo incondizionato di blocco e ad attivare per entrambi il debug.

La casella ‘Blocchi:’ contiene dati non validi.

Nella casella Blocchi: della finestra di dialogo Stampa documentazione è stato inserito un elenco blocchi non valido. Correggere l’inserimento.

Informazioni circa la compilazione della casella sono reperibili nel paragrafo Stampa della documentazione nel presente capitolo.

Il progetto specificato non contiene un programma AWL.

L’operazione di importazione di un programma AWL non è stata conclusa con successo poiché il progetto specificato nella finestra di dialogo Importa programma non contiene codice in questo linguaggio. Il programma AWL corrente è rimasto inalterato.

Il progetto specificato non contiene un programma ladder.

L’operazione di importazione di un programma ladder non è stata conclusa con successo poiché il progetto specificato nella finestra di dialogo Importa programma non contiene codice in questo linguaggio. Lo schema a contatti corrente è rimasto inalterato.

3-96 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

L’operando assoluto [sigla operando] è già associato al simbolo [sigla simbolo] nella Tabella simboli

corrente. Si desidera aggiornare il commento?

Durante una procedura di importazione di simboli, PC-Sim ha rilevato che la coppia di [sigla operando] [sigla simbolo] fa già parte della Tabella simboli corrente con un commento diverso e vi chiede se deve aggiornare il commento dell’attribuzione a quello presente nel file specificato per l’importazione.

Rispondere:

• Si se si desidera sovrascrivere il commento attuale con quello prelevato dal file

• No se si desidera lasciare inalterato il commento attuale.

L’operando assoluto [sigla operando] è già presente nella tabella simboli corrente in associazione al

simbolo [sigla simbolo]. Si desidera aggiornare l’attribuzione col nuovo simbolo?

Durante una procedura di importazione di simboli, PC-Sim ha rilevato che l’operando assoluto dell’attribuzione che si sta importando è già presente nella Tabella simboli corrente associato ad un diverso simbolo. Un operando assoluto può essere associato ad un solo simbolo, pertanto vi viene chiesto se intendete sostituire l’esistente con il nuovo.

Rispondere:

• Si se si desidera sovrascrivere il simbolo attuale con quello prelevato dal file

• No se si desidera lasciare inalterato il simbolo attuale.

Il simbolo [sigla simbolo] è già presente nella Tabella simboli corrente! Impossibile importare

l’attribuzione.

Durante una procedura di importazione di simboli, PC-Sim ha rilevato che il simbolo che si sta importando è già presente nella Tabella simboli corrente, associato ad un diverso operando assoluto. Un simbolo può essere associato ad un solo operando assoluto, pertanto non è possibile importare l’attribuzione.

Operazione completata! Nessuna attribuzione importata o aggiornata.

L’operazione di importazione di simboli è stata completata senza che PC-Sim sia riuscito ad importare nuove attribuzioni o ad aggiornarne di esistenti.

Operazione completata! Importate o aggiornate [numero] attribuzioni.

L’operazione di importazione di simboli è stata completata. PC-Sim ha importato o aggiornato il numero di attribuzioni indicato e le ha inserite nella Tabella simboli.

Operazione di edit attiva su una tabella della finestra. Si vuole veramente chiudere?

Si sta chiudendo la Finestra Tabella simboli, o la Finestra Stato variabili, o un editor dati oppure un editor AWL di un blocco funzionale ma è ancora pendente un’operazione di edit sulla tabella nella finestra.

Rispondere:

• Si se si desidera chiudere la finestra perdendo quanto si stava editando

• No se si desidera continuare e terminare l’operazione di edit

PC-Sim: il simulatore di PLC 3-97

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Tipo blocchi non compatibile! Impossibile rinominare.

E' stata richiesta la rinominazione di un blocco ma la nuova sigla digitata non è compatibile con la precedente.

Fare riferimento alla tabella sottostante per chiarimenti sulla compatibilità tra sigle per S5 100U. Vecchia sigla Nuova sigla

OB OB, PB, FB (*) PB OB, PB, FB (*) FB FB

DB DB

(*) Un blocco OB o PB può essere rinominato in FB solo se l'editor utilizzato è AWL.

Fare riferimento alla tabella sottostante per chiarimenti sulla compatibilità tra sigle per S7 300. Vecchia sigla Nuova sigla

OB OB, FC FC OB, FC (*)

DB DB

(*) con perdita degli eventuali parametri.

Vedere anche Programmazione strutturata nel Capitolo 11.

3-98 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Errori di compilazione

Al passaggio allo stato di RUN della CPU, PC-Sim compila il programma utente nel codice macchina eseguibile dal PLC simulato. Durante questa operazione, vengono effettuati controlli sulla correttezza del codice. In caso di errore, il PLC non verrà avviato e verrà mostrato un messaggio.

In questa sezione elenchiamo e descriviamo i messaggi di errore che possono essere mostrati a video e, quando possibile, suggeriamo una soluzione al problema.

Istruzione non riconosciuta

L’istruzione del programma o del blocco AWL è errata, oppure non appartiene al set di istruzioni del PLC simulato. Correggere l’istruzione o sostituirla, se possibile, con una o più istruzioni comprese nel set.

Programma utente troppo lungo

Il programma utente, una volta compilato, eccede i limiti di memoria del PLC simulato. Se possibile, accorciare il programma e riavviare la compilazione.

Numero di parametri errato nella chiamata a blocco funzionale o funzione

Il numero dei parametri nell’istruzione di chiamata a blocco funzionale o funzione parametrizzato non corrisponde a quello atteso dal blocco. Aggiungere i parametri mancanti o eliminare quelli in eccesso.

Vedere Blocchi Funzionali (FB) nel Capitolo 11 o Funzioni (FC) ne Capitolo 13 per maggiori informazioni sulla parametrizzazione dei blocchi.

Tipo di parametro errato nella chiamata a blocco funzionale o funzione

Il tipo di uno dei parametri nell’istruzione di chiamata a blocco funzionale o funzione parametrizzato non corrisponde a quello atteso dal blocco.

Vedere Blocchi Funzionali (FB) nel Capitolo 11 o Funzioni (FC) nel Capitolo 13 per maggiori informazioni sulla parametrizzazione dei blocchi.

Rilevata assenza dell’istruzione di fine blocco

In un blocco di programma per S5 100U o S7 300 manca il terminatore di blocco, cioè l’operazione BE. Digitare l’operazione alla fine del blocco e riavviare la compilazione riportando in Run la CPU.

Etichetta non trovata

Il compilatore del programma utente non riesce a rintracciare all’interno del blocco l’etichetta di arrivo di un’istruzione di salto. Verificare il codice del blocco ed inserire l’etichetta.

Per S5 100U vedere anche i paragrafi Introduzione di etichette nel presente capitolo e Operazioni di salto nel Capitolo 11.

Per S7 300 vedere anche i paragrafi Introduzione di etichette nel presente capitolo e Operazioni di salto nel Capitolo 13.

PC-Sim: il simulatore di PLC 3-99

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Operazione integrativa in blocco organizzativo o di programma

Un blocco organizzativo (OB) o di programma (PB) di un programma per PLC S5 100U contiene un’operazione del set integrativo. Queste operazioni possono essere programmate solo all’interno di blocchi funzionali (FB). Sostituire se possibile l’operazione con una o più operazioni del set fondamentale oppure rinominare il blocco assegnando ad esso la sigla di un blocco funzionale.

Per maggiori informazioni vedere il paragrafo Programmazione strutturata, la Tabella 21: Operazioni

fondamentali implementate e la Tabella 22: Operazioni integrative implementate nel Capitolo 11 e quanto detto a proposito del Pulsante Rinomina della Finestra Lista blocchi (S5 100U e S7 300) nel presente capitolo.

Utilizzo multiplo di modulo di sistema

All’interno del programma utente esistono due o più riferimenti allo stesso modulo di sistema. Cambiare gli operandi ripetuti per risolvere il problema.

Per maggiori informazioni sull’argomento vedere Moduli di sistema nel Capitolo 9

Operando non specificato

Nel programma o nel blocco ladder o AWL non è stato inserito l’operando in corrispondenza di un’operazione o di un elemento dello schema. Inserire l’operando e riavviare la compilazione riportando in Run la CPU.

Operando non riconosciuto

Nel programma o nel blocco ladder o AWL è stato inserito un operando non riconosciuto dal compilatore in corrispondenza di un’operazione o di un elemento dello schema. Correggere l’operando e riavviare la compilazione riportando in Run la CPU.

Per un elenco degli operandi supportati dai PLC simulati vedere i paragrafi Indirizzamento nel capitolo dedicato alle note di programmazione del PLC che state utilizzando.

Tipo di operando errato

Nel programma o nel blocco ladder o AWL è stato inserito un operando non valido in corrispondenza di un’operazione o di un elemento dello schema. Correggere l’operando e riavviare la compilazione riportando in Run la CPU.

Per un elenco degli operandi supportati dai PLC simulati vedere i paragrafi Indirizzamento nel capitolo dedicato alle note di programmazione del PLC che state utilizzando.

Istruzione non compatibile con la sequenza

All’interno di una sequenza AWL per PLC PS3 è stata utilizzata un’istruzione con tipo di dati differente rispetto a quello della sequenza. Correggere l’istruzione.

Per maggiori informazioni vedere il paragrafo Sequenza nel Capitolo 9.

Superamento della capacità dello stack

All’interno di una sequenza AWL binaria per PLC PS3 sono state utilizzate più di 8 operazioni di caricamento consecutive. In questa situazione il registro di stack verrebbe saturato nell’esecuzione del programma. Spezzare la sequenza binaria in sequenze più corte, appoggiando i risultati intermedi in merker bit.

Per maggiori informazioni vedere Registro di stack e l’operazione L (Caricamento) nel Capitolo 9.

3-100 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

Richiesta dati da stack vuoto

All’interno di una sequenza AWL binaria per PLC PS3, il numero di operazioni con il registro di stack è maggiore del suo contenuto. Correggere la sequenza binaria.

Per maggiori informazioni vedere Registro di stack e le operazioni A (And), O (Or) e XO (Or esclusivo) nel Capitolo 9.

Registro di stack non vuoto alla fine di una sequenza binaria

All’interno di una sequenza AWL binaria per PLC PS3, il numero di operazioni con il registro di stack è minore del suo contenuto. Correggere la sequenza binaria.

Per maggiori informazioni vedere Registro di stack e le operazioni L (Caricamento), A (And), O (Or) e XO (Or

esclusivo) nel Capitolo 9.

Operazione di inizio sequenza non valida

All’interno di un programma AWL per PS3, una sequenza viene iniziata con un’operazione non prevista per questo scopo. Quella di caricamento è l’unica operazione valida per l’inizio di una sequenza. Correggere l’istruzione.

Per maggiori informazioni vedere Sequenza e l’operazione L (Caricamento) nel Capitolo 9.

Chiamata di blocco funzionale non presente nel progetto

E’ programmata una chiamata a blocco funzionale non presente nel progetto. A differenza di quanto accade per le chiamate a blocchi organizzativi o di programma (OB e PB), quelle a blocchi funzionali (FB) necessitano che il blocco sia presente nel progetto per il controllo dei parametri. Eliminare la chiamata o creare il blocco all’interno del progetto.

Vedere Programmazione strutturata ed Operazioni sui blocchi nel Capitolo 11 e Comando Nuovo blocco (S5

100U e S7 300) nel presente capitolo.

Mancata corrispondenza del numero di parentesi

Un blocco AWL, con la simulazione del PLC S5 100U o S7 300, contiene un numero di operazioni di apertura parentesi ‘U(‘, ‘O(‘ o ‘X(‘ diverso dal numero di quelle di chiusura ‘)’.

Controllare il blocco specificato e correggerlo rendendo uguali i numeri delle parentesi.

PC-Sim: il simulatore di PLC 3-101

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Errori di esecuzione

Gli errori elencati di seguito non possono, per loro natura, essere intercettati in fase di compilazione del programma utente e vengono rilevati solo durante la sua esecuzione. Quando PC-Sim incontra uno di questi errori porta automaticamente in STOP la CPU.

Superato il massimo numero possibile di chiamate di blocco annidate

Il sistema operativo del PLC simulato ha riscontrato il superamento del limite di 16 per le chiamate di blocco annidate e segnala l’errore. Correggere il programma utente.

Per maggiori informazioni vedere:

• S5 100U Programmazione strutturata ed Operazioni sui blocchi nel Capitolo 11.

• S7 300 Programmazione strutturata ed Operazioni di controllo del programma nel Capitolo 13.

Blocco dati inesistente

Nell’esecuzione del programma utente è stata incontrata un’operazione di apertura di blocco dati che fa riferimento ad un blocco non presente nel progetto. Programmare il DB richiesto all’interno del progetto oppure correggere l’operando dell’istruzione modificando la sigla con quella di un DB esistente.

Vedere anche:

• S5 100U il paragrafo Blocchi Dati (DB) e la descrizione dell’operazione A (Apertura di un blocco dati) nel Capitolo 11 e il Comando Nuovo blocco (S5 100U e S7 300) nel presente capitolo.

• S7 300 il paragrafo Blocchi Dati (DB) e la descrizione dell’operazione AUF [OPN] (Apertura di un

blocco dati) nel Capitolo 13 e il Comando Nuovo blocco (S5 100U e S7 300) nel presente capitolo.

Nessun blocco dati aperto

Per S5 100U: nell’esecuzione del programma utente è stata incontrata un’operazione di accesso a dati senza che sia correntemente aperto nessun blocco di questo tipo. Correggere il programma aprendo il blocco dati richiesto, con l’istruzione A DB, prima dell’operazione di accesso a dati.

Vedere il paragrafo Blocchi Dati (DB) e la descrizione dell’operazione A (Apertura di un blocco dati) nel Capitolo 11.

Per S7 300: nell’esecuzione del programma utente è stata incontrata un’operazione di accesso a dati, nel cui operando non è specificato il blocco dati, senza che sia correntemente aperto nessun blocco di questo tipo. Correggere il programma aprendo il blocco dati richiesto, con l’istruzione AUF DB, prima dell’operazione di accesso a dati oppure specificare il blocco dato nell’operando.

Vedere Indirizzamento e Blocchi Dati (DB) e la descrizione dell’operazione AUF [OPN] (Apertura di un blocco dati) nel Capitolo 13.

Superato il numero massimo di data word nel blocco dati corrente

Nell’esecuzione del programma utente è stata incontrata un’operazione di accesso a dati che fa riferimento ad una data word oltre l’ultima programmata nel blocco dati. Correggere il programma, verificando anche l’apertura del blocco dati desiderato, o aumentare il numero di data word nel blocco dati in questione.

Vedere Blocchi Dati (DB) nel Capitolo 11.

Vedere anche:

• S5 100U Blocchi Dati (DB) nel Capitolo 11

3-102 PC-Sim: il simulatore di PLC

AW-SYS – software di simulazione PLC e impianti Autoware srl

• S7 300 Blocchi Dati (DB) nel Capitolo 13

Operazione non prevista dopo un’operazione di elaborazione B MW o B DW

Durante l’esecuzione del programma utente per S5 100U è stata incontrata un’operazione di elaborazione seguita da un’istruzione non indicizzabile. Correggere il programma.

Per ulteriori informazioni vedere la descrizione dell’operazione B (Elaborazione di parola dati o merker) nel Capitolo 11

Indirizzamento indiretto oltre i limiti dell'area

In una operazione di indirizzamento indiretto per PLC S7 300, il puntatore fa riferimento ad una variabile al di fuori del campo massimo indirizzabile.

Controllare il puntatore, esso contiene un valore troppo alto o negativo.

Per maggiori informazioni fare riferimento al paragrafo Indirizzamento nel Capitolo 13.

Il Programma Utente non restituisce il controllo al sistema operativo del PLC simulato. Portare in

Stop la CPU?

Apparentemente la CPU, a causa delle operazioni di salto programmate, continua ad eseguire sempre la stessa parte di codice, senza ritornare a sistema operativo per circa 10 secondi. PC-Sim ha rilevato questo problema e vi chiede se intendete terminare l’elaborazione del programma utente.

Rispondere:

• Si se si desidera terminare portando in Stop la CPU.

• No se si desidera attendere per altri 10 secondi che il programma si sblocchi.

Per ulteriori informazioni leggere il paragrafo Controllo del tempo di ciclo nel capitolo dedicato alle note di programmazione dello specifico PLC che state utilizzando.

Chiamata indiretta a blocco funzionale parametrizzato

In un programma per S5 100U, un’operazione di elaborazione è seguita da una chiamata a blocco funzionale, ma quest’ultimo risulta essere parametrizzato. L’operazione non è possibile.

Controllare il contenuto della data word o della merker word indirizzata nella operazione di elaborazione o eliminare i parametri del blocco funzionale.

Per maggiori informazioni vedere i paragrafi Operazioni di elaborazione nel Capitolo 11 e Parametrizzazione

di blocchi funzionali nel presente capitolo.

Chiamata indiretta a blocco funzionale inesistente

In un programma per S5 100U, un’operazione di elaborazione è seguita da una chiamata a blocco funzionale, ma quest’ultimo non è presente nel progetto corrente. L’operazione non è possibile.

Controllare il contenuto della data word o della merker word indirizzata nella operazione di elaborazione o aggiungere il blocco funzionale nel progetto.

Vedere il paragrafo Operazioni di elaborazione nel Capitolo 11 per maggiori informazioni.

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 44 PL-SIM: IL SIMULATORE DI IMPIANTI

Introduzione

PL-Sim è il modulo di AW-SYS dedicato alla simulazione degli impianti.

Gli impianti di PL-Sim sono stati ideati e realizzati tenendo sempre presente la loro finalità didattica, sono semplici da usare e, generalmente, offrono la possibilità di realizzare diverse esercitazioni. Spaziano in diversi campi: dalle semplici simulazioni di banchi di elettropneumatica a più complesse applicazioni dell’automazione nell’impiantistica civile ed industriale.

Rispetto ai bachi di simulazione o alla modellistica reale, gli impianti simulati hanno il vantaggio di essere semplici da usare, di non richiedere tarature e, non meno importante, di poter essere usati e riusati senza rompersi mai! Alcuni degli impianti simulati, poi, sarebbero quasi impossibili da realizzare come modelli reali, se non a prezzi estremamente proibitivi in termini di spazio occupato, costi di realizzazione e manutenzione. Immaginate, per esempio, quello che potrebbe costare la realizzazione o l’acquisto di un modellino di ascensore o, peggio, di un impianto di miscelazione, del tipo di quello descritto più avanti in questo capitolo e fornito, come gli altri, nel pacchetto AW-SYS.

Il compito dell’utente di AW-SYS sarà quello di progettare e scrivere, una volta scelto uno dei PLC ed uno degli impianti, un programma per il primo che risolva il compito di rendere automatico il funzionamento del secondo.

In questo capitolo vengono descritti i diversi impianti che compongono PL-Sim e le modalità di collegamento dei loro componenti ai PLC simulati.

Avvio degli impianti

Gli impianti di PL-Sim possono essere avviati solo attraverso il Menu Impianti di PC-Sim: è sufficiente fare clic sulla voce del menu che descrive l’impianto da avviare. Esso verrà avviato ed il menu verrà disabilitato per impedire il funzionamento contemporaneo di più impianti. Il Menu Impianti verrà abilitato nuovamente solo alla chiusura dell'impianto.

4-2 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Impianto n.1: Elettropneumatica 1

Composizione dell’impianto

Questo impianto di PL-Sim simula un banco per esercitazioni di elettropneumatica. Esso è composto da tre cilindri pneumatici a doppio effetto (A, B e C) pilotati ognuno da un distributore 5/2 bistabile. Il comando dei distributori è di tipo elettrico, ognuno di essi è fornito sia di solenoide positivo (A+, B+ e C+) che negativo (A-, B- e C-). Tutti i cilindri sono equipaggiati con finecorsa negativi (a0, b0 e c0) e positivi (a1, b1 e c1). Finecorsa dei cilindri e solenoidi dei distributori sono dotati di LED di segnalazione dello stato. L’accensione del LED indica l’eccitazione del finecorsa o l’attivazione del solenoide. I distributori sono forniti di pulsanti di comando manuale.

A partire da una condizione di cilindro a finecorsa negativo, l’attivazione del solenoide positivo fa commutare il distributore e l’aria compressa può affluire nella camera positiva del cilindro e fuoriuscire da quella negativa. Il pistone si muoverà, abbandonando il finecorsa negativo; quindi, compiendo la corsa positiva, raggiungerà il finecorsa positivo.

Al contrario, l’attivazione del solenoide negativo fa commutare nuovamente il distributore e l’aria compressa può affluire, questa volta, nella camera negativa e fuoriuscire da quella positiva. Il pistone si muoverà, abbandonando il finecorsa positivo; quindi, compiendo la corsa negativa, raggiungerà il finecorsa negativo.

Appena eccitato un solenoide, il distributore commuta e, essendo bistabile, permane in quella posizione, anche togliendo l’alimentazione al solenoide, fino a quando non viene eccitato il solenoide opposto. L’eccitazione contemporanea dei due solenoidi porta alla indeterminazione dello stato del distributore, e quindi della posizione del cilindro, e costituisce una condizione da evitare nella programmazione del PLC. D’altro canto, l’eccitazione di un solenoide quando sia già attivo quello opposto non fa commutare il distributore, che rimane nel suo stato fino all’eliminazione del comando all'altro solenoide.

I pulsanti di comando ai lati di ogni distributore ne consentono la commutazione manuale e risultano perciò utili in fase di messa a punto del programma. Premendo questi pulsanti potrete far commutare il distributore, facendo compiere al cilindro la corsa positiva o quella negativa.

PL-Sim: il simulatore di impianti 4-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Barra strumenti

La Barra strumenti è la parte estrema verso il basso della finestra. In essa sono raggruppati i controlli generali dell’impianto.

Segue l'elenco relativo a questo impianto.

Pulsante Controllo audio

Abilita o disabilita l'emissione di suoni attraverso la scheda audio. Si ricorda che potrete ascoltare i suoni soltanto se sul vostro computer è installata una scheda audio e i driver audio di Windows sono stati correttamente caricati. Per informazioni su come caricare i driver consultare il manuale del vostro Windows.

Pulsante Run

Consente l'avvio della base tempi dell’impianto e disabilita il funzionamento a passi. Normalmente deve essere premuto al fine di consentire il movimento dei distributori e dei cilindri.

Pulsante Stop

Consente di fermare la base tempi dell’impianto cioè congela la posizione attuale dei componenti pneumatici. Abilita il funzionamento a passi.

Pulsante Passo

Consente l’avanzamento a passi dell’impianto ed è di aiuto quando si debba esaminare attentamente il l’evolvere del ciclo che si è realizzato. Ad ogni clic su questo pulsante la pneumatica avanza di un passo. Durante il funzionamento a passi viene disabilitato l'audio.

Selettore di velocità

Consente di regolare la velocità di movimento dei cilindri. Spostate il cursore a sinistra per rallentare la velocità di funzionamento della pneumatica o a destra per accelerarla.

Collegamenti con il PLC

La tabella seguente elenca i componenti dell’impianto che possono essere collegati al PLC, suddivisi in ingressi ed uscite.

Ingressi digitali (6) Uscite digitali (6)

Finecorsa negativo a0 Solenoide A+

Finecorsa positivo a1 Solenoide A-

Finecorsa negativo b0 Solenoide B+

Finecorsa positivo b1 Solenoide B-

Finecorsa negativo c0 Solenoide C+

Finecorsa positivo c1 Solenoide C-

Ogni finecorsa è dotato di contatto deviato e, durante l’operazione di collegamento al PLC, sarà possibile scegliere il tipo di contatto da utilizzare, NA o NC.

4-4 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Per effettuare i collegamenti procedere secondo quanto descritto nel paragrafo Collegare gli impianti al PLC più avanti in questo capitolo. Nei pressi di ogni componente comparirà l'indirizzo del canale collegato: in blu per gli ingressi, in rosso per le uscite.

Ricordate che non è possibile collegare due sensori dell'impianto allo stesso canale di ingresso del PLC. Questa eventualità viene segnalata da PL-Sim con un messaggio di errore.

Test dell'automazione

Per verificare la correttezza del programma realizzato, mettete in Run il PLC e controllate che i movimenti dei cilindri avvengano secondo la sequenza prefissata. Se necessario, riducete la velocità o avanzate passo-passo, come spiegato in precedenza. Se avete utilizzato merker (flag), temporizzatori o contatori nel vostro programma, potrà tornarvi utile la Finestra Stato variabili di PC-Sim per controllarne stato e/o valore. Se il ciclo non funziona correttamente, o non funziona per nulla, vi potranno tornare molto utili le potenzialità di debug offerte dall’editor che avete utilizzato per scrivere il programma.

Se utilizzate una simulazione di PLC FPC 404 la Finestra Impostazioni preset vi servirà per impostare valori di temporizzazione e conteggio.

PL-Sim: il simulatore di impianti 4-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Impianto n.2: Elettropneumatica 2

Composizione dell’impianto

Questo impianto di PL-Sim simula un ulteriore banco per esercitazioni di elettropneumatica. Esso è composto da tre cilindri pneumatici a doppio effetto (A, B e C) pilotati ognuno da un distributore 5/2 monostabile. Il comando dei distributori è di tipo elettrico, ognuno di essi è fornito di solenoide positivo (A+, B+ e C+), il ritorno è di tipo meccanico a molla. Tutti i cilindri sono equipaggiati con finecorsa negativi (a0, b0 e c0) e positivi (a1, b1 e c1). Finecorsa dei cilindri e solenoidi dei distributori sono dotati di LED di segnalazione dello stato. L’accensione del LED indica l’eccitazione del finecorsa o l’attivazione del solenoide. I distributori sono forniti di pulsante di comando manuale.

A partire da una condizione di cilindro a finecorsa negativo, l’attivazione del solenoide fa commutare il distributore e l’aria compressa può affluire nella camera positiva del cilindro e fuoriuscire da quella negativa. Il pistone si muoverà, abbandonando il finecorsa negativo; quindi, compiendo la corsa positiva, raggiungerà il finecorsa positivo.

Al contrario, la disattivazione del solenoide permette alla molla di commutare nuovamente il distributore, e riportarlo nella posizione stabile. L’aria compressa può affluire, questa volta, nella camera negativa e fuoriuscire da quella positiva. Il pistone si muoverà, abbandonando il finecorsa positivo; quindi, compiendo la corsa negativa, raggiungerà il finecorsa negativo.

Appena eccitato il solenoide, il distributore commuta e, essendo monostabile, permane in quella posizione, finché il solenoide rimane alimentato. Togliendo l’alimentazione, il distributore si riporta nella posizione originaria.

Il pulsante di comando al lato di ogni distributore ne consente la commutazione manuale e risulta perciò utile in fase di messa a punto del programma. Premendo questo pulsante potrete far commutare il distributore, facendo compiere al cilindro la corsa positiva; rilasciando il pulsante il distributore commuterà nuovamente ed il cilindro compirà la corsa negativa.

4-6 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Barra strumenti

La Barra strumenti è la parte estrema verso il basso della finestra. In essa sono raggruppati i controlli generali dell’impianto.

Segue l'elenco relativo a questo impianto.

Pulsante Controllo audio

Abilita o disabilita l'emissione di suoni attraverso la scheda audio. Si ricorda che potrete ascoltare i suoni soltanto se sul vostro computer è installata una scheda audio e i driver audio di Windows sono stati correttamente caricati. Per informazioni su come caricare i driver consultare il manuale del vostro Windows.

Pulsante Run

Consente l'avvio della base tempi dell’impianto e disabilita il funzionamento a passi. Normalmente deve essere premuto al fine di consentire il movimento dei distributori e dei cilindri.

Pulsante Stop

Consente di fermare la base tempi dell’impianto cioè congela la posizione attuale dei componenti pneumatici. Abilita il funzionamento a passi.

Pulsante Passo

Consente l’avanzamento a passi dell’impianto ed è di aiuto quando si debba esaminare attentamente il l’evolvere del ciclo che si è realizzato. Ad ogni clic su questo pulsante la pneumatica avanza di un passo. Durante il funzionamento a passi viene disabilitato l'audio.

Selettore di velocità

Consente di regolare la velocità di movimento dei cilindri. Spostate il cursore a sinistra per rallentare la velocità di funzionamento della pneumatica o a destra per accelerarla.

Collegamenti con il PLC

La tabella seguente elenca i componenti dell’impianto che possono essere collegati al PLC, suddivisi in ingressi ed uscite.

Ingressi digitali (6) Uscite digitali (3)

Finecorsa negativo a0 Solenoide A+

Finecorsa positivo a1 Solenoide B+

Finecorsa negativo b0 Solenoide C+

Finecorsa positivo b1

Finecorsa negativo c0

Finecorsa positivo c1

Ogni finecorsa è dotato di contatto deviato e, durante l’operazione di collegamento al PLC, sarà possibile scegliere il tipo di contatto da utilizzare, NA o NC.

PL-Sim: il simulatore di impianti 4-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Per effettuare i collegamenti procedere secondo quanto descritto nel paragrafo Collegare gli impianti al PLC più avanti in questo capitolo. Nei pressi di ogni componente comparirà l'indirizzo del canale collegato: in blu per gli ingressi, in rosso per le uscite.

Ricordate che non è possibile collegare due sensori dell'impianto allo stesso canale di ingresso del PLC. Questa eventualità viene segnalata da PL-Sim con un messaggio di errore.

Test dell'automazione

Per verificare la correttezza del programma realizzato, mettete in Run il PLC e controllate che i movimenti dei cilindri avvengano secondo la sequenza prefissata. Se necessario, riducete la velocità o avanzate passo-passo, come spiegato in precedenza. Se avete utilizzato merker (flag), temporizzatori o contatori nel vostro programma, potrà tornarvi utile la Finestra Stato variabili di PC-Sim per controllarne stato e/o valore. Se il ciclo non funziona correttamente, o non funziona per nulla, vi potranno tornare molto utili le potenzialità di debug offerte dall’editor che avete utilizzato per scrivere il programma.

Se utilizzate una simulazione di PLC FPC 404 la Finestra Impostazioni preset vi servirà per impostare valori di temporizzazione e conteggio.

4-8 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Impianto n.3: Elettropneumatica 3

Composizione dell’impianto

Questo impianto di PL-Sim simula l’ultimo banco per esercitazioni di elettropneumatica. Esso è composto da tre cilindri pneumatici a semplice effetto (A, B e C) pilotati ognuno da un distributore 3/2 monostabile. Il comando dei distributori è di tipo elettrico, ognuno di essi è fornito di solenoide positivo (A+, B+ e C+), il ritorno è di tipo meccanico a molla. Tutti i cilindri sono equipaggiati con finecorsa negativi (a0, b0 e c0) e positivi (a1, b1 e c1). Finecorsa dei cilindri e solenoidi dei distributori sono dotati di LED di segnalazione dello stato. L’accensione del LED indica l’eccitazione del finecorsa o l’attivazione del solenoide. I distributori sono forniti di pulsante di comando manuale.

A partire da una condizione di cilindro a finecorsa negativo, l’attivazione del solenoide fa commutare il distributore e l’aria compressa può affluire nella camera positiva del cilindro. Il pistone si muoverà, abbandonando il finecorsa negativo; quindi, compiendo la corsa positiva e comprimendo la molla, raggiungerà il finecorsa positivo.

Al contrario, la disattivazione del solenoide permette alla molla di commutare nuovamente il distributore, e riportarlo nella posizione stabile. L’aria compressa può ora fuoriuscire dalla camera positiva e la molla del cilindro porterà indietro il pistone; questo, abbandonando il finecorsa positivo, compirà la corsa negativa, fino a raggiungere il finecorsa negativo.

Appena eccitato il solenoide, il distributore commuta e, essendo monostabile, permane in quella posizione, finché il solenoide rimane alimentato. Togliendo l’alimentazione, il distributore si riporta nella posizione originaria.

Il pulsante di comando al lato di ogni distributore ne consente la commutazione manuale e risulta perciò utile in fase di messa a punto del programma. Premendo questo pulsante potrete far commutare il distributore, facendo compiere al cilindro la corsa positiva; rilasciando il pulsante il distributore commuterà nuovamente ed il cilindro compirà la corsa negativa.

PL-Sim: il simulatore di impianti 4-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Barra strumenti

La Barra strumenti è la parte estrema verso il basso della finestra. In essa sono raggruppati i controlli generali dell’impianto.

Segue l'elenco relativo a questo impianto.

Pulsante Controllo audio

Abilita o disabilita l'emissione di suoni attraverso la scheda audio. Si ricorda che potrete ascoltare i suoni soltanto se sul vostro computer è installata una scheda audio e i driver audio di Windows sono stati correttamente caricati. Per informazioni su come caricare i driver consultare il manuale del vostro Windows.

Pulsante Run

Consente l'avvio della base tempi dell’impianto e disabilita il funzionamento a passi. Normalmente deve essere premuto al fine di consentire il movimento dei distributori e dei cilindri.

Pulsante Stop

Consente di fermare la base tempi dell’impianto cioè congela la posizione attuale dei componenti pneumatici. Abilita il funzionamento a passi.

Pulsante Passo

Consente l’avanzamento a passi dell’impianto ed è di aiuto quando si debba esaminare attentamente il l’evolvere del ciclo che si è realizzato. Ad ogni clic su questo pulsante la pneumatica avanza di un passo. Durante il funzionamento a passi viene disabilitato l'audio.

Selettore di velocità

Consente di regolare la velocità di movimento dei cilindri. Spostate il cursore a sinistra per rallentare la velocità di funzionamento della pneumatica o a destra per accelerarla.

Collegamenti con il PLC

La tabella seguente elenca i componenti dell’impianto che possono essere collegati al PLC, suddivisi in ingressi ed uscite.

Ingressi digitali (6) Uscite digitali (3)

Finecorsa negativo a0 Solenoide A+

Finecorsa positivo a1 Solenoide A-

Finecorsa negativo b0 Solenoide B+

Finecorsa positivo b1

Finecorsa negativo c0

Finecorsa positivo c1

Ogni finecorsa è dotato di contatto deviato e, durante l’operazione di collegamento al PLC, sarà possibile scegliere il tipo di contatto da utilizzare, NA o NC.

4-10 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Per effettuare i collegamenti procedere secondo quanto descritto nel paragrafo Collegare gli impianti al PLC più avanti in questo capitolo. Nei pressi di ogni componente comparirà l'indirizzo del canale collegato: in blu per gli ingressi, in rosso per le uscite.

Ricordate che non è possibile collegare due sensori dell'impianto allo stesso canale di ingresso del PLC. Questa eventualità viene segnalata da PL-Sim con un messaggio di errore.

Test dell'automazione

Per verificare la correttezza del programma realizzato, mettete in Run il PLC e controllate che i movimenti dei cilindri avvengano secondo la sequenza prefissata. Se necessario, riducete la velocità o avanzate passo-passo, come spiegato in precedenza. Se avete utilizzato merker (flag), temporizzatori o contatori nel vostro programma, potrà tornarvi utile la Finestra Stato variabili di PC-Sim per controllarne stato e/o valore. Se il ciclo non funziona correttamente, o non funziona per nulla, vi potranno tornare molto utili le potenzialità di debug offerte dall’editor che avete utilizzato per scrivere il programma.

Se utilizzate una simulazione di PLC FPC 404 la Finestra Impostazioni preset vi servirà per impostare valori di temporizzazione e conteggio.

PL-Sim: il simulatore di impianti 4-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Impianto n.4: Automazione cancello

Composizione dell’impianto

Questo impianto di PL-Sim vi propone una classica applicazione dell'automazione nel campo civile: un cancello elettrico.

La parte superiore della finestra mostra lo scenario di un ingresso ad una abitazione. In primo piano notiamo il cancello che è provvisto di finecorsa di apertura e chiusura, fotocellula, motore elettrico e lampeggiatore.

Nella parte inferiore, invece, sono rappresentati il telecomando, con i pulsanti di apertura e chiusura, la morsettiera del quadro elettrico, destinata ad effettuare i collegamenti dei componenti dell’impianto con gli ingressi e le uscite del PLC, e i pulsanti per il movimento manuale.

La morsettiera è suddivisa in due parti: a sinistra sono raccolti i segnali di ingresso, a destra quelli di uscita. Per ognuno di essi è presente un LED di segnalazione dello stato di colore verde, la cui accensione corrisponde all’eccitazione dell’ingresso o all’attivazione dell’uscita.

Gli ultimi due LED, di colore giallo, ci informano lampeggiando dell’avvenuto intervento di una delle protezioni, termica o magnetica, del circuito di alimentazione del motore.

Il lampeggiatore non è dotato di circuito di lampeggio autonomo cioè, quando alimentato, rimane continuamente acceso. Sempre con un occhio di riguardo alla didattica, sarete voi a dover realizzare il lampeggio attraverso un’opportuna programmazione del PLC.

I pulsanti di comando manuale vi consentono di muovere e posizionare il cancello manualmente e non rientrano nell'automazione, cioè non vanno collegati al PLC.

La corsa del cancello viene fermata meccanicamente in corrispondenza del finecorsa di chiusura e leggermente oltre il finecorsa di apertura. Continuare ad alimentare il motore in queste condizioni porterebbe al sovraccarico ed al conseguente intervento del relè termico di protezione. L’intervento del termico, che viene segnalato per mezzo del lampeggio del relativo LED, mantiene in apertura i contattori di comando del motore fino al suo ripristino. Quest’ultimo potrà essere effettuato solo manualmente premendo il pulsante R. Perciò, prestate attenzione nella realizzazione dell’automazione a togliere l’alimentazione al motore quando il cancello raggiunge una posizione di finecorsa.

4-12 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Analogamente se attivate contemporaneamente i contattori di apertura e chiusura non essendo questi dotati di interblocco, né elettrico né meccanico, si genera un cortocircuito che provocherà l’intervento del relè magnetico dell’interruttore di protezione. Questa condizione, segnalata con il lampeggio del relativo LED, impedirà l’alimentazione del motore fino al ripristino che potrà essere effettuato dallo stesso pulsante R.

Di seguito riportiamo la descrizione delle sigle usate nella morsettiera elettrica virtuale e delle funzioni che i corrispondenti segnali svolgono.

Sigla Descrizione

FCC finecorsa chiusura cancello, viene eccitato quando il cancello è completamente chiuso.

FCA finecorsa apertura cancello, viene eccitato quando il cancello è completamente aperto.

FOTOC. fotocellula, viene eccitata dalla simulazione dell’interruzione del raggio.

TELESX contatto eccitato dalla pressione del pulsante sinistro del telecomando.

TELEDX contatto eccitato dalla pressione del pulsante destro del telecomando.

CHIUSURA attuazione del motore (chiusura cancello), attivando questa uscita viene avviato il motore con senso di rotazione che permette la chiusura del cancello.

APERTURA attuazione del motore (apertura cancello), attivando questa uscita viene avviato il motore con senso di rotazione che permette l'apertura del cancello.

LAMPEG. comando lampeggiatore.

TERMICO segnalazione lampeggiante dell’intervento del relè termico.

MAGNETICO segnalazione lampeggiante dell’intervento del relè magnetico.

Test degli ingressi

Per testare l’eccitazione del finecorsa FCA, premete il comando manuale per l’apertura del cancello fino alla completa apertura, il corrispondente LED verrà attivato.

Per il finecorsa FCC premete il comando manuale di chiusura fino alla completa chiusura, il LED corrispondente verrà attivato.

Per simulare l’intervento della fotocellula, portate il puntatore del mouse tra i rilevatori, in una zona di apertura del cancello. Il puntatore si trasforma per informarvi che in questa posizione è possibile interrompere il raggio. Fate clic, il raggio si interrompe ed il LED corrispondente alla fotocellula nella morsettiera si accende.

Premete i pulsanti del telecomando per testare l’eccitazione dei contatti TELESX e TELEDX e verificate l’accensione del LED corrispondente..

Barra strumenti

La Barra strumenti è la parte estrema verso il basso della finestra. In essa sono raggruppati i controlli generali dell’impianto.

L'unico presente in questo impianto è:

Pulsante Controllo audio

Abilita o disabilita l'emissione di suoni attraverso la scheda audio. Si ricorda che potrete ascoltare i suoni soltanto se sul vostro computer è installata una scheda audio e i driver audio di Windows sono stati correttamente caricati. Per informazioni su come caricare i driver consultare il manuale del vostro Windows.

Modalità di utilizzo

Lo scopo dell’esercitazione è scrivere un programma per PLC che permetta un funzionamento corretto del cancello. Cioè l’automazione deve realizzare le seguenti funzioni:

PL-Sim: il simulatore di impianti 4-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

• apertura del cancello su di comando di apertura da telecomando;

• chiusura del cancello su di comando di chiusura da telecomando;

• arresto del motore al raggiungimento dei finecorsa;

• comando temporizzato della chiusura;

• inversione della marcia del cancello se durante la fase di chiusura viene interrotto il raggio della fotocellula;

• accensione del lampeggiatore durante le fasi di movimento del cancello.

Con questo impianto vengono forniti due esempi di programmazione che ne realizzano l’automazione. La descrizione delle procedure di caricamento e di test è riportata nella Guida in linea di PC-Sim.

Collegamenti con il PLC

La tabella seguente elenca i componenti dell’impianto che possono essere collegati al PLC, suddivisi in ingressi ed uscite.

Ingressi digitali (5) Uscite digitali (3)

Finecorsa chiusura cancello Comando motore per chiusura

Finecorsa apertura cancello Comando motore per apertura

Fotocellula Lampeggiatore

Chiusura da telecomando

Apertura da telecomando

Ogni ingresso è dotato di contatto deviato e, durante l’operazione di collegamento al PLC, sarà possibile scegliere il tipo di contatto da utilizzare, NA o NC.

Per effettuare i collegamenti procedere secondo quanto descritto nel paragrafo Collegare gli impianti al PLC più avanti in questo capitolo. Nei pressi di ogni componente comparirà l'indirizzo del canale collegato: in blu per gli ingressi, in rosso per le uscite.

Ricordate che non è possibile collegare due sensori dell'impianto allo stesso canale di ingresso del PLC. Questa eventualità viene segnalata da PL-Sim con un messaggio di errore.

Test dell'automazione

Dopo aver scritto il vostro programma o caricato l'esempio, mettete in RUN il PLC. Premete, quindi, il pulsante di apertura. Il motore dovrà essere comandato in apertura e contemporaneamente si dovrà attivare il lampeggiatore fino al raggiungimento del finecorsa di apertura.

Attendete per il tempo impostato il cancello dovrà chiudersi.

Provate a testare ora il comando di chiusura da telecomando. Se il cancello è aperto o sta aprendosi dovrà iniziare la corsa di chiusura.

Se durante una fase di chiusura interrompete il raggio della fotocellula, come descritto in precedenza, il cancello dovrà invertire la sua marcia.

Durante tutte le fasi di movimento del cancello il lampeggiatore dovrà accendersi.

Se avete utilizzato merker (flag), temporizzatori o contatori nel vostro programma, potrà tornarvi utile la Finestra Stato variabili di PC-Sim per controllarne stato e/o valore. Se l’automazione non funziona correttamente, o non funziona per nulla, vi potranno tornare molto utili le potenzialità di debug offerte dall’editor che avete utilizzato per scrivere il programma.

Se utilizzate una simulazione di PLC FPC 404 la Finestra Impostazioni preset vi servirà per impostare valori di temporizzazione e conteggio.

4-14 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Impianto n.5: Controllo livello serbatoio

Descrizione

Questo impianto vi propone il compito di regolare il livello di un serbatoio di liquido in modo da garantire un sufficiente accumulo per gli impianti a valle. Quando la quantità di liquido diventasse troppo poca o quando si rischiasse la tracimazione del serbatoio occorrerà generare e gestire degli allarmi.

La finestra contiene nella parte superiore il serbatoio equipaggiato con quattro livellostati per le funzioni descritte di seguito.

Livellostato Funzione

HH alto livello di allarme, se il liquido supera questo livello occorrerà generare un allarme per avvisare l’operatore di una prossima tracimazione del serbatoio;

H alto livello di funzionamento, rappresenta il livello massimo che il liquido potrà raggiungere durante il normale funzionamento;

L basso livello di funzionamento, rappresenta il livello minimo che il liquido potrà raggiungere durante il normale funzionamento;

LL basso livello di allarme, se il livello del liquido va al di sotto di questo livellostato occorrerà generare un allarme per avvisare l’operatore che il serbatoio non ha più una sufficiente scorta per gli impianti.

Ogni livellostato si eccita quando l’altezza del liquido nel serbatoio supera il proprio livello. L’eccitazione viene segnalata dall’accensione del LED: nell'esempio in figura risultano eccitati LL ed L e diseccitati H ed HH.

La tubazione di adduzione, quella superiore, è intercettata dalla valvola d'ingresso. L'attuatore di quest'ultima è comandato dal selettore del modo di funzionamento con le seguenti possibilità:

Posizione Modo di funzionamento

1 funzionamento manuale: valvola in posizione di apertura;

0 funzionamento manuale: valvola in posizione di chiusura;

A funzionamento automatico: la posizione della valvola è determinata dall’uscita del PLC a cui essa è collegata.

PL-Sim: il simulatore di impianti 4-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

La tubazione di uscita, quella inferiore, è intercettata dalla valvola di uscita. L'attuatore di quest'ultima è comandato dal selettore del modo di funzionamento con le seguenti possibilità:

Posizione Modo di funzionamento

1 funzionamento manuale: valvola in posizione di apertura;

0 funzionamento manuale: valvola in posizione di chiusura;

A funzionamento automatico: la posizione della valvola è comandata automaticamente ed in maniera casuale per simulare le condizioni variabili di prelievo degli impianti a valle.

Non è possibile, né avrebbe senso per lo scopo proposto, comandare questa valvola dal PLC.

La parte inferiore della finestra mostra il quadro di segnalazione e gestione degli allarmi; su esso sono disponibili i componenti elencati di seguito.

Pulsante Reset

Permette di resettare un allarme. Deve spegnere le segnalazioni di allarme se la causa che le ha provocate è cessata.

Pulsante Tacitazione

Permette la tacitazione della sirena. Deve spegnere la sirena fino alla generazione di un nuovo allarme.

Lampada di segnalazione allarme massimo livello

E' la rappresentazione di un segnalatore ottico di allarme di massimo livello. Ammette due rappresentazioni grafiche:

lampada spenta con uscita del PLC a zero.

lampada accesa con uscita del PLC a uno.

Lampada di segnalazione allarme minimo livello

E' la rappresentazione di un segnalatore ottico di allarme di massimo livello. Ammette due rappresentazioni grafiche:

lampada spenta con uscita del PLC a zero.

lampada accesa con uscita del PLC a uno.

Sirena

E' la rappresentazione della sirena di allarme. Essa può essere collegata ad una qualsiasi uscita del PLC. Ammette due rappresentazioni grafiche:

sirena spenta con uscita del PLC a zero

sirena accesa con uscita del PLC a uno.

Se nel vostro PC è installata una scheda audio potrete udirne il suono, altrimenti vi orienterete con la rappresentazione grafica.

Barra strumenti

La Barra strumenti è la parte estrema verso il basso della finestra. In essa sono raggruppati i controlli generali dell’impianto.

4-16 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Segue l'elenco relativo a questo impianto.

Pulsante Controllo audio

Abilita o disabilita l'emissione di suoni attraverso la scheda audio. Si ricorda che potrete ascoltare i suoni soltanto se sul vostro computer è installata una scheda audio e i driver audio di Windows sono stati correttamente caricati. Per informazioni su come caricare i driver consultare il manuale del vostro Windows.

Pulsante Registratore

Mostra la simulazione del registratore a carta che riporta l'andamento temporale (il trend) del segnale del trasmettitore di livello.

Finestra Registratore

Simula un componente molto comune nelle applicazioni industriali: il registratore a carta. Su un supporto cartaceo, graduato in verticale in percentuale ed in orizzontale con una scala di tempi, viene tracciato, istante per istante, il punto corrispondente al valore del livello nel serbatoio. Viene così a formarsi graficamente l'andamento nel tempo (il trend) del segnale di livello che vi consente di valutare la bontà della regolazione attuata.

Una volta esaurito lo spazio di visualizzazione, la finestra scrolla: i campioni più vecchi vengono perduti e viene procurato spazio per i nuovi in arrivo.

Modalità di utilizzo

Lo scopo dell’esercitazione è scrivere un programma per PLC che permetta di mantenere il livello del serbatoio tra i livelli H ed L e generi degli allarmi quando il livello sia superiore ad HH o inferiore ad LL. La gestione degli allarmi potrebbe, ad esempio, avvenire con le seguenti modalità:

• se il livello è al di sopra di HH o al di sotto di LL si dovrà azionare la sirena e la lampada corrispondente all'allarme (min o max)

• la sirena dovrà spegnersi se viene premuto il Pulsante Tacitazione o se il livello ritorna al di fuori delle condizioni di allarme

• la lampada dovrà spegnersi se il livello ritorna al di fuori delle condizioni di allarme e se si fa clic sul Pulsante Reset. Ciò garantisce la memoria dell’allarme ed il fatto che ad un operatore, momentaneamente distratto, non sfugga l’evento di un’attivazione di allarme e successivo rientro.

Il programma potrebbe essere poi migliorato facendo lampeggiare le lampade di segnalazione min e MAX durante la condizione di allarme e accendendole fisse quando questo rientra. Lo spegnimento avverrà sempre a seguito della pressione sul Pulsante Reset.

PL-Sim: il simulatore di impianti 4-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Collegamenti con il PLC

La tabella seguente elenca i componenti dell’impianto che possono essere collegati al PLC, suddivisi in ingressi ed uscite.

Ingressi digitali (6) Uscite digitali (4)

Livellostato HH Attuatore valvola d'ingresso

Livellostato H Lampada di allarme di massimo

Livellostato L Lampada di allarme di minimo

Livellostato LL Sirena

Pulsante Reset

Pulsante Tacitazione

Ogni ingresso è dotato di contatto deviato e, durante l’operazione di collegamento al PLC, sarà possibile scegliere il tipo di contatto da utilizzare, NA o NC.

Per effettuare i collegamenti procedere secondo quanto descritto nel paragrafo Collegare gli impianti al PLC più avanti in questo capitolo. Nei pressi di ogni componente comparirà l'indirizzo del canale collegato: in blu per gli ingressi, in rosso per le uscite.

Ricordate che non è possibile collegare due sensori dell'impianto allo stesso canale di ingresso del PLC. Questa eventualità viene segnalata da PL-Sim con un messaggio di errore.

Test dell'automazione

Per verificare la correttezza del programma realizzato mettete in Run il PLC ed in automatico le valvole di ingresso e di uscita e osservate il livello del serbatoio: superato il livello H la valvola di ingresso dovrà chiudersi, il serbatoio si svuoterà progressivamente in funzione delle richieste degli impianti a valle. Quando il livello diventerà inferiore ad L la valvola di ingresso dovrà riaprirsi.

Per verificare l'allarme di massimo mettete in condizione di apertura manuale la valvola d'ingresso (selettore su 1) ed eventualmente chiudete la valvola di uscita (selettore su 0), simulando così un malfunzionamento degli organi a campo. Il livello del serbatoio aumenterà progressivamente e, una volta superato il livello HH, dovranno accendersi la sirena e l'indicatore di massimo (MAX). La prima dovrà spegnersi alla pressione sul pulsante di tacitazione, il secondo alla pressione del pulsante di reset allarmi una volta che la causa di allarme sia scomparsa.

Per far scomparire la causa di allarme occorre che il livello torni ad essere compreso tra LL ed HH. Per ottenere ciò, rimettete in automatico entrambe le valvole (selettori su A) ed aspettate.

Per verificare l'allarme di minimo mettete in condizione di chiusura manuale la valvola d'ingresso (selettore su 0) ed eventualmente aprite la valvola di uscita (selettore su 1) simulando così un malfunzionamento degli organi a campo. Il livello del serbatoio diminuirà progressivamente e, una volta superato il livello LL, dovranno accendersi la sirena e l'indicatore di minimo (min). La prima dovrà spegnersi alla pressione sul pulsante di tacitazione, il secondo alla pressione del pulsante di reset allarmi una volta che la causa di allarme sia scomparsa.

Per far scomparire la causa di allarme occorre che il livello torni ad essere compreso tra LL ed HH. Per ottenere ciò, rimettete in automatico entrambe le valvole (selettori su A) ed aspettate.

Se avete utilizzato merker (flag), temporizzatori o contatori nel vostro programma, potrà tornarvi utile la Finestra Stato variabili di PC-Sim per controllarne stato e/o valore. Se l’automazione non funziona correttamente, o non funziona per nulla, vi potranno tornare molto utili le potenzialità di debug offerte dall’editor che avete utilizzato per scrivere il programma.

4-18 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Se utilizzate una simulazione di PLC FPC 404, infine, la Finestra Impostazioni preset vi servirà per impostare valori di temporizzazione e conteggio.

Come ultima possibilità, provate a confrontare la vostra soluzione con quella proposta da Autoware caricando uno degli esempi fornito per questo impianto. La descrizione delle procedure di caricamento e di test è riportata nella Guida in linea di PC-Sim.

PL-Sim: il simulatore di impianti 4-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Collegare gli impianti al PLC

Quanto riportato in questo paragrafo vale solo per gli impianti fin qui descritti. Per i successivi le modalità di collegamento saranno diverse e verranno descritte in un apposito paragrafo.

Impostare i collegamenti

Per impostare un collegamento tra un componente di un impianto ed il PLC, procedete secondo i seguenti passi:

• Fate clic sul componente dell’impianto che si vuole collegare al PLC per far comparire la finestra di dialogo Scelta collegamento per gli ingressi o per le uscite.

PL-Sim determina automaticamente il tipo in conseguenza del componente cliccato. Inoltre, la numerazione dei canali varia automaticamente in funzione del PLC simulato in uso.

• Selezionate il pulsante opzione che riporta l’indirizzo del canale che si vuole collegare.

• Solo per gli ingressi, selezionare il tipo di contatto che si desidera utilizzare, normalmente aperto (NA) o normalmente chiuso (NC).

• Premete OK per confermare.

In corrispondenza del componente prescelto appare l’indirizzo del collegamento al PLC, in blu per gli ingressi o in rosso per le uscite.

Nel caso si sia effettuato un collegamento ad un ingresso del PLC, PC-Sim provvede a disabilitare il pulsante/interruttore collegato a tale ingresso. Il LED del canale corrispondente assumerà lo stato (acceso o spento) in conseguenza dello stato del contatto (chiuso o aperto) del componente collegato. Vedere Pulsanti/interruttori nel paragrafo Finestra PLC del Capitolo 3.

E' possibile collegare ad una stessa uscita del PLC due o più attuatori dell'impianto, ma ad ogni ingresso dovrà essere collegato non più di un sensore; l'operazione di collegamento di un sensore ad un ingresso già utilizzato viene segnalata da un messaggio di errore.

Modificare i collegamenti

Per modificare un collegamento tra un componente di un impianto ed il PLC, procedete secondo i seguenti passi:

• fate clic sul componente dell’impianto di cui si vuole modificare il collegamento per far comparire la finestra di dialogo Scelta collegamento per gli ingressi o per le uscite.

PL-Sim determina automaticamente il tipo in conseguenza del componente cliccato.

Le scelte fatte in precedenza per il canale ed eventualmente per il tipo di contatto appaiono già selezionate.

• selezionate il pulsante opzione che riporta l’indirizzo del nuovo canale che si vuole collegare;

4-20 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

• solo per gli ingressi, selezionare il nuovo tipo di contatto che si desidera utilizzare, normalmente aperto (NA) o normalmente chiuso (NC);

• premete OK per confermare.

PL-Sim provvede ad aggiornare il collegamento nella sua memoria ed il riferimento accanto al componente. Se si trattava di un sensore, PC-Sim provvede a riabilitare il pulsante/interruttore relativo al vecchio collegamento ed a disabilitare quello del nuovo. Vedere Pulsanti/interruttori nel paragrafo Finestra PLC del Capitolo 3.

Rimuovere i collegamenti

Per rimuovere un collegamento tra un componente dell’impianto ed il PLC, procedete secondo i seguenti passi:

• fate clic sul componente dell’impianto di cui si vuole rimuovere il collegamento per far comparire la finestra di dialogo Scelta collegamento per gli ingressi o per le uscite; PL-Sim determina automaticamente il tipo in conseguenza del componente cliccato;

• premete il pulsante Scollega.

PL-Sim provvede a eliminare il collegamento dalla sua memoria, a cancellare il riferimento situato nei pressi del componente. Se si trattava di sensore, PC-Sim provvede a riabilitare il pulsante/interruttore relativo. Vedere Pulsanti/interruttori nel paragrafo Finestra PLC del Capitolo 3.

Comandi dei menu

I primi cinque impianti di PL-Sim, quelli descritti finora, sono dotati di menu che servono principalmente per la gestione dei collegamenti con il PLC. In questo paragrafo forniamo una descrizione dei comandi contenuti in essi.

Menu File

Nel menu File sono raggruppati i comandi per la gestione (apertura, chiusura, salvataggio) dei file contenenti i collegamenti tra l’impianto ed il PLC. E’ inoltre presente il comando per la chiusura impianto.

Comando Elimina collegamenti

Utilizzate questo comando per cancellare l'intero set di collegamenti tra impianto e PLC.

Se i collegamenti non sono stati registrati, PL-Sim vi chiederà se intendete salvarli prima di eliminarli. In caso di vostra risposta affermativa, se un file di collegamenti è già aperto PL-Sim salva i collegamenti in questo file, altrimenti vi chiederà il nome di un nuovo file con l'opportuna finestra di dialogo. Se rispondete negativamente, PL-Sim non provvederà al salvataggio dei collegamenti attuali.

Dopo la cancellazione dei collegamenti vengono abilitati nuovamente tutti i pulsanti/interruttori del PLC.

Per dettagli su come effettuare collegamenti vedere Collegare gli impianti al PLC in questo capitolo.

Comando Carica collegamenti

Questo comando vi permette di caricare un set di collegamenti tra l’impianto ed il PLC salvato in precedenza con il Comando Salva collegamenti dello stesso menu.

Dopo il caricamento, PC-Sim provvede a disabilitare i pulsanti/interruttori degli ingressi del PLC per cui è previsto un collegamento all’impianto.

PL-Sim: il simulatore di impianti 4-21

Autoware srl AW-SYS – software di simulazione di PLC e impianti

I file dei collegamenti hanno estensione lin.

Per dettagli su come effettuare collegamenti vedere Collegare gli impianti al PLC in questo capitolo.

Opzioni della finestra di dialogo

Cerca in:

Selezionate il percorso in cui PL-Sim dovrà leggere il file che desiderate aprire.

Nome file

Digitate il nome del file che desiderate aprire oppure selezionatelo dall’elenco. Quest’ultimo riporta i file con l'estensione selezionata nella casella Tipo di file.

Tipo di file

Selezionate il tipo di file che si desidera visualizzare nell’elenco. Le scelte possibili sono:

• File collegamenti (*.lin) elenca i file con estensione ‘lin’ presenti nella cartella corrente.

• Tutti i file (*.*) elenca tutti i file della cartella corrente a prescindere dalla loro estensione.

Comando Salva collegamenti

Utilizzate questo comando per salvare un set di collegamenti realizzati tra impianto e PLC. In seguito, sarà possibile ricaricare il set con il comando Carica collegamenti dello stesso menu.

I file dei collegamenti hanno estensione lin.

Per dettagli su come effettuare collegamenti vedere Collegare gli impianti al PLC in questo capitolo.

Opzioni della finestra di dialogo

Salva in:

Selezionate la cartella in cui si desidera salvare i collegamenti.

Nome file

Digitate un nuovo nome di file per salvare i collegamenti con un nome diverso. Oppure selezionatene uno dall'elenco per salvare con un nome di file esistente. PL-Sim provvede ad aggiungere l'estensione lin se non specificata.

L’elenco riporta solo i file della cartella che hanno l'estensione selezionata nella casella Tipo di file.

Tipo di file

Selezionate il tipo di file che si desidera visualizzare nell’elenco. Le scelte possibili sono:

• File collegamenti (*.lin) elenca i file con estensione ‘lin’ presenti nella cartella corrente.

• Tutti i file (*.*) elenca tutti i file della cartella corrente a prescindere dalla loro estensione.

Comando Esci

Questo comando consente di chiudere l'impianto. Se i collegamenti non sono stati registrati, PL-Sim vi chiede se intendete salvarli prima di uscire.

In caso di vostra risposta affermativa, se esiste un nome di file corrente PL-Sim salva i collegamenti in questo file, altrimenti vi chiederà il nome di un nuovo file con l'opportuna finestra di dialogo. Se rispondete negativamente, PL-Sim non provvede al salvataggio dei collegamenti correnti.

Dopo la chiusura dell’impianto vengono abilitati nuovamente tutti i pulsanti/interruttori del PLC ed il menu Impianti di PC-Sim.

La chiusura di PC-Sim provoca automaticamente la chiusura dell’impianto.

Tastiera: Alt+F4

4-22 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Menu ?

Sono raggruppati in questo menu i comandi per ottenere informazioni sull'impianto e sul suo funzionamento.

Comando Guida

Avvia la guida all’impianto.

La guida di PL-Sim ha le funzionalità delle guide di Windows. E' sensibile al contesto e possiede le funzioni di scorrimento avanti-indietro, sommario, cronologia e ricerca. E' possibile, inoltre, annotare, stampare un argomento, copiare per poi incollare, definire dei segnalibro.

La guida è composta da due finestre. La finestra principale mostra il sommario degli argomenti, la finestra secondaria mostra gli argomenti specifici richiamati, di volta in volta, dalla prima.

Sebbene gli impianti di PL-Sim siano stati studiati per essere facili da usare e comprensibili intuitivamente ed immediatamente, utilizzate la guida diffusamente: vi sarà molto utile all'inizio della vostra pratica.

Tastiera: F1, se desiderate informazioni su un particolare comando portatevi su di esso usando la tastiera e premete F1. La guida, sensibile al contesto, si aprirà alla voce da voi suggerita.

Comando Guida rapida

Attiva la modalità di Guida rapida cambiando il puntatore del mouse in quello di guida rapida (freccia e punto interrogativo). In queste condizioni, fate clic su un qualsiasi elemento dell’impianto per ricevere attraverso una finestra popup informazioni specifiche.

Tastiera: Maiusc+F1

Comando Su [nome impianto]

Mostra la finestra delle informazioni sull’impianto corrente. Dove [nome impianto] è uno degli impianti descritti finora.

In essa potrete trovare informazioni sulla versione del programma, sul nome dell’impianto e sul produttore del software. Per chiudere la finestra premete il pulsante OK.

PL-Sim: il simulatore di impianti 4-23

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Impianto n.6: Nastri trasportatori

Descrizione

Questo impianto mostra un classico scenario industriale. Esso è costituito da due nastri trasportatori, ognuno movimentato da un motore elettrico trifase. Il primo nastro, quello orizzontale, può scorrere in una sola direzione; il secondo, quello verticale, può farlo in entrambi i sensi.

Il loro compito è di trasportare le scatole che vengono immesse sulla linea all’inizio del primo nastro. Questo provvede ad una prima movimentazione e scarica le scatole sul secondo nastro. Da qui potranno essere movimentate in due direzioni, a seconda del verso di rotazione del motore M2. Le scatole hanno due possibili lunghezze e, corrispondentemente, due colori. La differenza di lunghezza potrà essere rilevata dai sensori come vedremo più avanti; la differenza di colore è un mero attributo estetico, che in nessun modo rientra nell’automazione ma che aiuta l’operatore al riconoscimento visivo del tipo di scatola.

Motori

I motori rappresentati nello scenario sono di tipo asincrono trifase e vengono comandati attraverso dei contattori. La chiusura dei contattori e la rotazione dei motori vengono visualizzati graficamente: per i primi si noterà lo spostamento dei contatti, per i secondi comparirà una freccia ad indicare il verso di rotazione.

Il primo motore (M1) movimenta il nastro orizzontale in un unica direzione ed è alimentato attraverso il contattore K1.

Il secondo (M2) comanda la traslazione del nastro verticale nelle due direzioni. Per realizzare l'inversione della marcia del secondo motore, vengono utilizzati due contattori (K2 e K3). Questi operano lo scambio delle fasi L1 ed L3 dell'alimentazione. Quando chiude K3 la sequenza delle fasi sul motore M2 è L1-L2-L3, quando chiude K2 la sequenza si inverte in L3-L2-L1.

Per questo motivo, prestate attenzione a che i due contattori non vengano eccitati contemporaneamente; questo causerebbe un cortocircuito tra le fasi dell'alimentazione. Tale evento, nella realtà impiantistica, non

4-24 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

potrebbe accadere, poiché la buona norma impone che venga effettuato un interblocco tra i due contattori. Infatti, i contattori di inversione devono essere interbloccati elettricamente attraverso i contatti ausiliari normalmente chiusi e possono essere interbloccati anche meccanicamente. In questo modo si impedisce che vengano chiusi contemporaneamente entrambi i contattori, situazione che causerebbe un cortocircuito tra due fasi. Il blocco meccanico tiene il contattore di inversione sicuramente in posizione di aperto se il contattore diretto è ancora chiuso anche in presenza di forti vibrazioni meccaniche.

Qui, invece, non è stato effettuato intenzionalmente alcun interblocco per permetterne l'implementazione a livello logico (nel programma del PLC) e per poterne verificare il corretto funzionamento. Come conseguenza, un programma errato potrebbe eccitare contemporaneamente i contattori in questione e provocare così un cortocircuito tra le fasi dell'alimentazione, determinando la rottura dei fusibili di protezione.

Provate a provocare volontariamente un cortocircuito: ad esempio, collegate ad una stessa uscita del PLC i contattori K2 e K3. Quindi scrivete un semplice programma che attivi quest’uscita alla chiusura di un determinato ingresso. Mettere in Run il PLC e chiudete l'ingresso.

Fusibili

Sulla linea di alimentazione sono posti dei fusibili di tipo aM (accompagnamento motori) come protezione dai cortocircuiti e forti sovraccarichi.

Se provocate accidentalmente un cortocircuito sull'alimentazione, i fusibili si interrompono. In questa situazione i motori non ricevono alimentazione, anche se le apparecchiature di controllo continuano ad essere alimentate.

Per sostituire virtualmente i fusibili, fate clic su di essi. I fusibili si ripristineranno consentendo nuovamente l'alimentazione dei motori .

Carico scatole

Il carico delle scatole sul nastro orizzontale avviene secondo due modalità di funzionamento la cui scelta viene effettuata attraverso un apposito selettore.

Nella posizione ‘manuale’, la scelta dell’istante di caricamento della scatola e del colore di questa viene lasciata all’operatore. In queste modalità i pulsanti di carico a fianco del selettore sono abilitati e sarà sufficiente premere il pulsante giallo per caricare una scatola corta, o il pulsante blu per una lunga.

Se, invece, il selettore del modo di funzionamento viene posizionato su ‘automatico’, i pulsanti di caricamento vengono disabilitati e le scatole, il cui colore (e quindi la dimensione) viene determinata in maniera casuale, verranno caricate continuamente ed automaticamente sul primo nastro. Ogni volta che la una scatola esce dal secondo nastro ne viene caricata una nuova sul primo.

PL-Sim: il simulatore di impianti 4-25

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Presenza rete

La presenza dell'alimentazione, viene testata da un apposito relè di linea (R1) installato a valle dei fusibili.

Se i fusibili si interrompono, R1 si diseccita ed il suo contatto si apre; viceversa se è presente alimentazione a valle dei fusibili il contatto associato al relè R1 sarà chiuso. Questo contatto è collegato al PLC ed è possibile testarne lo stato nel vostro programma di automazione al fine di segnalare un allarme attivando la lampada contrassegnata da ‘ALIMENT.’ ed eventualmente la sirena.

Relè termici

La protezione dai deboli sovraccarichi viene effettuata attraverso i relè termici F1 ed F2 posti a monte di ciascuno dei motori. E’ possibile simularne l'intervento facendo clic su di essi.

La norma impone che il contatto ausiliario normalmente chiuso del relè termico sia inserito in serie nel circuito della bobina di comando del contattore in modo che sia impedito, dopo l'intervento del termico, il riavviamento del motore. Anche questo accorgimento non è stato volutamente adottato nell’impianto per permetterne l'implementazione e l'eventuale verifica a livello logico, cioè nel programma del PLC.

Pannello Pulsanti

Questo pannello è composto da quattro pulsanti di cui suggeriamo di seguito una possibilità di utilizzo.

Avvio del ciclo automatico di smistamento scatole

Interruzione ciclo o emergenza

Riconoscimento allarmi

Tacitazione sirena

Pannello Allarmi

Nel pannello allarmi sono disponibili tre lampade di segnalazione. Vi suggeriamo anche per esse una possibilità di utilizzo coerente con le etichette poste al fianco delle lampade.

Segnalazione luminosa dell'intervento del termico F1

Segnalazione luminosa dell'intervento del termico F2

Segnalazione luminosa dell'intervento dei fusibili di protezione

Sirena

E' disponibile nell'impianto una sirena che può essere attivata in caso di allarme. Essa ammette due rappresentazioni grafiche:

sirena spenta con uscita del PLC a zero

sirena accesa con uscita del PLC a uno.

Se nel vostro PC è installata una scheda audio potrete udirne il suono, altrimenti vi orienterete con la rappresentazione grafica.

4-26 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Sensori

Completano l’impianto una serie di sensori necessari per la realizzazione dell’automazione. Eccone un elenco con un suggerimento sul loro utilizzo.

• Fotocellule B1 e B2 all'inizio del primo nastro per la rilevazione della presenza e della dimensione della scatola. B1 viene eccitato appena caricata una nuova scatola sulla linea. B2 è posto ad una distanza da B1 superiore alla lunghezza delle scatole più corte, ma inferiore a quella delle scatole più lunghe. Così, dopo l’avviamento del primo nastro, la chiusura contemporanea dei contatti delle fotocellule indicherà che la scatola attuale è lunga, al contrario essa sarà corta.

• Finecorsa S1 a metà del secondo nastro: rilevazione del passaggio della scatola sul secondo nastro.

• Finecorsa S2 e S3 alle estremità del secondo nastro: rilevazione dell'uscita della scatola dal nastro.

• Fotocellule B3 e B4 in posizione intermedia sul secondo nastro: rilevazione passaggio scatole per eventuale conteggio.

Barra strumenti

La Barra strumenti costituisce a parte superiore della finestra. In essa sono raggruppati i controlli generali dell’impianto. Segue l'elenco relativo a questo impianto.

Pulsante Esci

Premendo questo pulsante potrete chiudere l'impianto.

Dopo la chiusura dell’impianto vengono abilitati nuovamente tutti i pulsanti/interruttori del PLC ed il menu Impianti di PC-Sim.

La chiusura di PC-Sim provoca automaticamente la chiusura dell’impianto.

Pulsante Guida

Carica la guida all’impianto corrente.

Sebbene gli impianti di PL-Sim siano stati studiati per essere facili da usare e comprensibili intuitivamente ed immediatamente, utilizzate la guida diffusamente: vi sarà molto utile all'inizio della vostra pratica.

Pulsante Controllo audio

Abilita o disabilita l'emissione di suoni attraverso la scheda audio. Si ricorda che potrete ascoltare i suoni soltanto se sul vostro computer è installata una scheda audio e i driver audio di Windows sono stati correttamente caricati. Per informazioni su come caricare i driver consultare il manuale del vostro Windows.

Modalità di utilizzo

Potete rendere automatico questo impianto in vari modi. Ad esempio provate a smistare sul secondo nastro le scatole blu (più lunghe) in una direzione e le scatole gialle (più corte) in quella opposta. Contate quante scatole sono state smistate in totale, quante di colore blu e quante di colore giallo.

Oppure potete smistare le scatole non tenendo conto della dimensione ma solo del numero: per esempio cinque verso l’alto ed altrettante verso il basso.

Siamo sicuri che altri possibili modi di funzionamento potranno essere suggeriti dalla vostra fantasia.

Troverete esempi di programmazione per questo impianto nella cartella Esempi del PLC che utilizzate e le loro descrizioni nella Guida in linea di PC-Sim.

PL-Sim: il simulatore di impianti 4-27

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Collegamenti con il PLC

La tabella seguente elenca i componenti dell’impianto che possono essere collegati al PLC, suddivisi in ingressi ed uscite.

Ingressi digitali (14) Uscite digitali (7)

Fotocellula B1 Contattore K1

Fotocellula B2 Contattore K2

Fotocellula B3 Contattore K3

Fotocellula B4 Allarme termico F1

Finecorsa S1 Allarme termico F2

Finecorsa S2 Allarme mancanza alimentazione

Finecorsa S3 Sirena

Relè termico F1

Relè termico F2

Relè di linea R1

Pulsante di start

Pulsante di Stop

Pulsante di reset

Pulsante di tacitazione

I collegamenti dei sensori e degli attuatori al PLC si effettuano per mezzo degli appositi selettori posti nei pressi di ogni componente collegabile. Il testo che compare in essi indica l'indirizzo del canale di ingresso o di uscita del PLC al quale è collegato l'elemento dell'impianto. In blu vengono riportati i collegamenti ad ingressi del PLC ed in rosso i collegamenti alle uscite.

selettore indirizzo canale di ingresso (caratteri in blu);

selettore indirizzo canale di uscita (caratteri in rosso).

Per modificare un indirizzo di uscita o di ingresso:

• fate clic sul selettore del collegamento da modificare e mantenete la pressione;

compare l’elenco degli ingressi o uscite nella notazione propria del PLC che state utilizzando;

• muovendo il mouse posizionatevi sull'indirizzo prescelto;

• rilasciate il pulsante del mouse.

Oppure:

• fate clic sui pulsanti col triangolo a sinistra del selettore: in alto per ottenere l’incremento dell’indirizzo, in basso per il suo decremento.

Se desiderate scollegare un elemento d’impianto posizionate il selettore, in uno dei due modi appena visti, su ‘NC’,

L‘impianto propone comunque, al suo caricamento, un set di collegamenti di default. Potrete utilizzarlo o cambiarlo ma, in quest’ultima ipotesi, ricordate che non sarà possibile salvare i collegamenti modificati; in atre parole, ad ogni nuovo avviamento della finestra di questo impianto verranno proposti comunque i collegamenti di default.

A differenza dei primi cinque impianti di PL-Sim, questo non controlla l’univocità del collegamento ad un ingresso del PLC. Quindi prestate molta attenzione ad evitare questa eventualità. In ogni caso, se collegate due sensori allo stesso ingresso del PLC, essi realizzeranno una connessione logica OR, cioè i loro contatti

4-28 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

saranno collegati in parallelo; cioè ancora, sarà necessario e sufficiente che uno dei due sia chiuso per ottenere la chiusura dell’ingresso del PLC.

Test dell'automazione

Per verificare la correttezza del programma realizzato mettete in Run il PLC e verificate che i movimenti dei nastri trasportatori avvengano secondo la sequenza prefissata.

Se avete utilizzato merker (flag), temporizzatori o contatori nel vostro programma, potrà tornarvi utile la Finestra Stato variabili di PC-Sim per controllarne stato e/o valore. Se l’automazione non funziona correttamente, o non funziona per nulla, vi potranno tornare molto utili le potenzialità di debug offerte dall’editor che avete utilizzato per scrivere il programma.

Se utilizzate una simulazione di PLC FPC 404 la Finestra Impostazioni preset vi servirà per impostare valori di temporizzazione e conteggio.

Guida rapida

Se desiderate ottenere informazioni relativamente ad uno specifico elemento dell'impianto, operate nel seguente modo:

• posizionate il puntatore del mouse sull'elemento;

• premete la combinazione di tasti Ctrl+H;

a questo punto comparirà, se prevista per lo specifico elemento, una finestra di guida rapida che ne riporta una breve descrizione.

La guida rapida è sensibile al contesto cioè, muovendo il puntatore del mouse su un altro elemento, la descrizione nella finestra verrà aggiornata in funzione del nuovo elemento puntato.

Se desiderate fissare il contenuto della finestra rendendolo indipendente dalla posizione del puntatore, premete la combinazione dei tasti Ctrl+G. Per rendere nuovamente variabile la descrizione nella finestra in funzione del contesto, premete ancora una volta Ctrl+G.

Premendo, infine, ancora la combinazione di tasti Ctrl+H, la finestra di guida rapida verrà chiusa.

PL-Sim: il simulatore di impianti 4-29

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Impianto n.7: Ascensore

Descrizione

Lo scenario di questo impianto mostra una palazzina di quattro piani dotata di ascensore di tipo tradizionale, costituito cioè da una cabina con contrappeso movimentata da un motore elettrico. Il motore è sito in apposito locale al di sopra del vano di scorrimento della cabina. Sulla sinistra, per ogni piano, sono riportati i finecorsa, i pulsanti di chiamata e le lampade di segnalazione.

In basso è riportato l’ingresso della cabina, non visibile nella rappresentazione della palazzina, che permetterà di controllare lo stato ed il movimento delle porte, la presenza di persone e l’interruzione del raggio della fotocellula. A sinistra di esso è rappresentato il pannello di comando interno alla cabina che qui, per comodità di rappresentazione ed utilizzo, ne è stato portato al di fuori.

Comando cabina

La cabina dell’ascensore viene movimentata da un motore asincrono trifase azionato attraverso un teleinvertitore, formato dai contattori K1 e K2. L’eccitazione del contattore K1 determina la rotazione del motore e la salita della cabina; l’eccitazione del contattore K2 determina la rotazione in senso contrario del motore e la conseguente discesa della cabina.

Comando porte

La cabina è dotata di porte automatiche. Per aprire e chiudere le porte basta comandare con un impulso rispettivamente le bobine dei contattori K3 e K4.

4-30 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Comandi manuali

E’ possibile comandare manualmente la salita e la discesa della cabina dell’ascensore attraverso gli appositi pulsanti situati rispettivamente in prossimità delle segnalazioni di stato dei contattori K1 e K2.

Utilizzate invece i pulsanti che si trovano nei pressi delle bobine K3 e K4 per azionare manualmente l’apertura e la chiusura delle porte della cabina.

Controlli di piano

Ad ogni piano sono associati i seguenti controlli:

pulsante di chiamata al piano;

lampada di segnalazione;

finecorsa di presenza cabina al piano (S0, S1, S2, S3).

Controlli di cabina

La cabina dell’ascensore è dotata dei seguenti controlli:

S4 finecorsa di chiusura porte;

S5 fotocellula porte;

S6 sensore di peso.

Per provocare l’intervento della fotocellula, fate clic all’interno della cabina, al di sotto del raggio giallo. Il raggio si interromperà e l’indicatore S5 cambierà di stato.

Analogo funzionamento si ottiene premendo il tasto funzionale F5.

Per diseccitare il sensore fate clic nuovamente al disotto della linea gialla.

Per simulare l’ingresso di persone in cabina, fate clic all’interno della cabina al di sopra della linea gialla. Compariranno delle persone all’interno della cabina e potrete osservare il cambiamento dello stato del sensore di peso S6.

Per simulare l’uscita delle persone fate clic nuovamente al sopra della linea gialla.

All’interno della cabina è presente una pulsantiera composta da:

pulsanti di mandata al piano (0, 1, 2, 3);

pulsante Stop;

lampade per segnalazione piano attuale (0, 1, 2, 3).

PL-Sim: il simulatore di impianti 4-31

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Convenzioni per gli ingressi e le uscite

Ogni ingresso o uscita digitale è dotata di LED di segnalazione dello stato, l’accensione del LED indica l’eccitazione dell’ingresso o l’attivazione dell’uscita.

Barra strumenti

La Barra strumenti costituisce a parte superiore della finestra. In essa sono raggruppati i controlli generali dell’impianto. Segue l'elenco relativo a questo impianto.

Pulsante Esci

Premendo questo pulsante potrete chiudere l'impianto.

Dopo la chiusura dell’impianto vengono abilitati nuovamente tutti i pulsanti/interruttori del PLC ed il menu Impianti di PC-Sim.

La chiusura di PC-Sim provoca automaticamente la chiusura dell’impianto aperto.

Pulsante Guida

Carica la guida all’impianto corrente.

Sebbene gli impianti di PL-Sim siano stati studiati per essere facili da usare e comprensibili intuitivamente ed immediatamente, utilizzate la guida diffusamente: vi sarà molto utile all'inizio della vostra pratica.

Pulsante Controllo audio

Abilita o disabilita l'emissione di suoni attraverso la scheda audio. Si ricorda che potrete ascoltare i suoni soltanto se sul vostro computer è installata una scheda audio e i driver audio di Windows sono stati correttamente caricati. Per informazioni su come caricare i driver consultare il manuale del vostro Windows.

Modalità di utilizzo

Con questo impianto si possono realizzare tutte le modalità di funzionamento di un tipico ascensore. Si può partire con semplici e tradizionali gestioni ed arrivare a più complessi programmi che implementano le funzioni di prenotazione della chiamata e della mandata al piano, con ottimizzazione delle fermate. Tutto è lasciato, come sempre, all’inventiva dell’utilizzatore di AW-SYS.

Troverete esempi di programmazione per questo impianto nella cartella Esempi del PLC che utilizzate. La descrizione delle procedure di caricamento e di test è riportata nella Guida in linea di PC-Sim.

Collegamenti con il PLC

La tabella seguente elenca i componenti dell’impianto che possono essere collegati al PLC, suddivisi in ingressi ed uscite.

I collegamenti dei sensori e degli attuatori al PLC si effettuano per mezzo degli appositi selettori posti nei pressi di ogni componente collegabile. Il testo che compare in essi indica l'indirizzo del canale di ingresso o di uscita del PLC al quale è collegato l'elemento dell'impianto. In blu vengono riportati i collegamenti ad ingressi del PLC ed in rosso i collegamenti alle uscite.

selettore indirizzo canale di ingresso (caratteri in blu);

selettore indirizzo canale di uscita (caratteri in rosso).

Per modificare un indirizzo di uscita o di ingresso:

4-32 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

• fate clic sul selettore del collegamento da modificare e mantenete la pressione;

compare l’elenco degli ingressi o uscite nella notazione propria del PLC che state utilizzando;

• muovendo il mouse posizionatevi sull'indirizzo prescelto;

• rilasciate il pulsante del mouse.

Oppure:

• fate clic sui pulsanti col triangolo a sinistra del selettore: in alto per ottenere l’incremento dell’indirizzo, in basso per il suo decremento.

Ingressi digitali (16) Uscite digitali (12)

Pulsante di mandata piano 0 Contattore K1 salita cabina

Pulsante di mandata piano 1 Contattore K2 discesa cabina

Pulsante di mandata piano 2 Relè K3 apertura porte

Pulsante di mandata piano 3 Relè K4 chiusura porte

Pulsante Stop Lampada di cabina piano 0

Pulsante di chiamata piano 0 Lampada di cabina piano 1

Pulsante di chiamata piano 1 Lampada di cabina piano 2

Pulsante di chiamata piano 2 Lampada di cabina piano 3

Pulsante di chiamata piano 3 Lampada piano 0

Finecorsa piano 0 S0 Lampada piano 1

Finecorsa piano 1 S1 Lampada piano 2

Finecorsa piano 2 S2 Lampada piano 3

Finecorsa piano 3 S3

Finecorsa di chiusura porte S4

Fotocellula porte S5

Sensore di presenza S6

Se desiderate scollegare un elemento d’impianto posizionate il selettore, in uno dei due modi appena visti, su ‘NC’,

L‘impianto propone comunque, al suo caricamento, un set di collegamenti di default. Potrete utilizzarlo o cambiarlo ma, in quest’ultima ipotesi, ricordate che non sarà possibile salvare i collegamenti modificati; in atre parole, ad ogni nuovo avviamento della finestra di questo impianto verranno proposti comunque i collegamenti di default.

A differenza dei primi cinque impianti di PL-Sim, questo non controlla l’univocità del collegamento ad un ingresso del PLC. Quindi prestate molta attenzione ad evitare questa eventualità. In ogni caso, se collegate due sensori allo stesso ingresso del PLC, essi realizzeranno una connessione logica OR, cioè i loro contatti saranno collegati in parallelo; cioè ancora, sarà necessario e sufficiente che uno dei due sia chiuso per ottenere la chiusura dell’ingresso del PLC.

Test dell'automazione

Per verificare la correttezza del programma realizzato mettete in Run il PLC e verificate che i movimenti dei nastri trasportatori avvengano secondo la sequenza prefissata.

Se avete utilizzato merker (flag), temporizzatori o contatori nel vostro programma, potrà tornarvi utile la Finestra Stato variabili di PC-Sim per controllarne stato e/o valore. Se l’automazione non funziona correttamente, o non funziona per nulla, vi potranno tornare molto utili le potenzialità di debug offerte dall’editor che avete utilizzato per scrivere il programma.

PL-Sim: il simulatore di impianti 4-33

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Se utilizzate una simulazione di PLC FPC 404 la Finestra Impostazioni preset vi servirà per impostare valori di temporizzazione e conteggio.

Guida rapida

Se desiderate ottenere informazioni relativamente ad uno specifico elemento dell'impianto, operate nel seguente modo:

• posizionate il puntatore del mouse sull'elemento;

• premete la combinazione di tasti Ctrl+H;

a questo punto comparirà, se prevista per lo specifico elemento, una finestra di guida rapida che ne riporta una breve descrizione.

La guida rapida è sensibile al contesto cioè, muovendo il puntatore del mouse su un altro elemento, la descrizione nella finestra verrà aggiornata in funzione del nuovo elemento puntato.

Se desiderate fissare il contenuto della finestra rendendolo indipendente dalla posizione del puntatore, premete la combinazione dei tasti Ctrl+G. Per rendere nuovamente variabile la descrizione nella finestra in funzione del contesto, premete ancora una volta Ctrl+G.

Premendo, infine, ancora la combinazione di tasti Ctrl+H, la finestra di guida rapida verrà chiusa.

4-34 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Impianto n.8: Miscelatore Liquidi

Descrizione

Questo impianto di PL-Sim simula una parte di stabilimento industriale che ha il compito di produrre e stoccare un composto destinato ad essere utilizzato altrove nel ciclo produttivo. Lo scenario ha come elementi principali due serbatoi. Nel primo, denominato Mixer, vengono miscelati e riscaldati tre diversi liquidi che costituiscono gli ingredienti della ricetta. Il secondo, denominato Prodotto, viene utilizzato per lo stoccaggio del composto.

Il mixer è alimentato da tre diverse tubazioni, ognuna di esse adduce al suo interno un diverso ingrediente. Le valvole e le pompe su queste tubazioni, nonché i livellostati ed il trasmettitore di livello che equipaggiano il serbatoio, ne permettono un dosaggio accurato. I tre ingredienti sono rispettivamente di colore rosso, verde e blu. La miscela assume un colore che è funzione delle percentuali dei diversi liquidi che la compongono, secondo le leggi della colorimetria. Per esempio, se vengono versate uguali quantità di rosso e di verde nel serbatoio, la miscela risultante avrà un colore giallo.

Con l’attivazione del riscaldatore e la rilevazione dello stato del termostato o la lettura del valore del trasmettitore di temperatura, il composto potrà essere riscaldato fino alla temperatura desiderata.

Una coppia pompa-valvola permette il travaso del prodotto finito dal primo al secondo serbatoio, dove verrà stoccato. La coppia pompa-valvola, in uscita dal serbatoio prodotto, serve ad alimentare impianti dello stabilimento che utilizzano il prodotto, qui non rappresentati e che non fanno parte dell’automazione. Nel serbatoio prodotto dovrà sempre rimanere una quantità di composto sufficiente a coprire le richieste fino al completamento di un nuovo ciclo di produzione.

Nella parte superiore della finestra è presente un pannello operatore nel quale sono raggruppati pulsanti e lampade per il comando dell’impianto e la segnalazione del suo stato.

Un ulteriore riquadro raggruppa le segnalazioni di stato e le regolazioni dei sensori ON-OFF installati sui serbatoi.

PL-Sim: il simulatore di impianti 4-35

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Valvole

La valvola è un dispositivo attraverso il quale è possibile controllare una corrente di fluido. Nell'impianto sono presenti cinque valvole, tutte di tipo ON-OFF. Le prime tre sono dedicate al controllo del flusso degli ingredienti nel serbatoio Mixer. La quarta valvola controlla il trasferimento della miscela nel serbatoio di stoccaggio. L’ultima controlla il prelievo del prodotto finito dal serbatoio di stoccaggio.

Elettropompe

Con l'azionamento di una elettropompa è possibile spingere un fluido attraverso una tubazione. Nell’impianto sono presenti quattro elettropompe. Due all’ingresso del Mixer, una tra i due serbatoi e l’ultima in uscita dallo stoccaggio.

Riscaldatore

L’accensione del riscaldatore elettrico permette il riscaldamento della miscela nel serbatoio Mixer. Una volta spento la temperatura del liquido diminuirà gradualmente a causa delle dispersioni termiche. Anche l’ingresso di nuovo liquido, supposto a 20ºC, all’interno del serbatoio produce un abbassamento della temperatura.

Sirena

E' disponibile nell'impianto una sirena che può essere attivata in caso di allarme. Essa ammette due rappresentazioni grafiche:

sirena spenta con uscita del PLC a zero

sirena accesa con uscita del PLC a uno.

Se nel vostro PC è installata una scheda audio potrete udirne il suono, altrimenti vi orienterete con la rappresentazione grafica.

Sensori ON/OFF

L'impianto è dotato di sensori ON/OFF. Parte di questi sensori possono essere utilizzati in alternativa ai trasmettitori di livello e di temperatura presenti sull'impianto e collegati a canali di ingresso analogici del PLC. Ciò da la possibilità di scegliere se effettuare l'automazione dell'impianto utilizzando i sensori digitali oppure quelli analogici. Nell'impianto sono presenti i seguenti sensori ON/OFF:

Sensore Descrizione

LM1 1° livellostato di servizio del serbatoio Mixer, attivazione al raggiungimento della quantità desiderata del primo ingrediente.

LM2 2° livellostato di servizio del serbatoio Mixer, attivazione al raggiungimento della quantità desiderata del secondo ingrediente.

LM3 3° livellostato di servizio del serbatoio Mixer, attivazione al raggiungimento della quantità desiderata del terzo ingrediente.

LM-MAX livellostato di massimo del serbatoio Mixer, generazione allarme.

LM-Min livellostato di minimo del serbatoio Mixer, generazione allarme.

LP1 livellostato di servizio del serbatoio Prodotto, attivazione per la richiesta di un nuovo ciclo di produzione.

LP-MAX livellostato di massimo del serbatoio Prodotto, generazione allarme.

4-36 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

LP-Min livellostato di minimo del serbatoio Prodotto, generazione allarme.

T1 termostato del serbatoio Mixer, attivazione al raggiungimento della temperatura di miscela.

T1-MAX termostato di massima temperatura del serbatoio Mixer, generazione allarme.

L’impostazione dei livelli di intervento dei livellostati LM1, LM2 e LM3 deve essere incrementale. Supponiamo, cioè, di voler produrre una miscela secondo una ricetta che abbia come ingredienti 500 l del primo ingrediente, 300 l del secondo e 200 l del terzo. Il livellostato LM1 dovrà essere tarato per intervenire a 500 l, LM2 a 800 l (500+300) e LM3 a 1000 l (500+300+200).

Ogni sensore è dotato di una isteresi pari al 2% del campo di regolazione, cioè:

Sensore Isteresi

Livellostati serbatoio Mixer ±15 litri

Livellostati serbatoio Prodotto ±30 litri

Termostati serbatoio Mixer ±1°C

Trasduttori

Il trasduttore è una apparecchiatura in grado di trasformare una grandezza fisica in una grandezza elettrica. Nell’impianto sono presenti un trasduttore di temperatura che misura la temperatura della miscela presente nel serbatoio Mixer e due trasduttori di livello per la misura del livello dei due serbatoi.

Ognuno di essi produce un segnale analogico proporzionale alla grandezza misurata. Questo segnale può essere acquisito dai PLC di PC-Sim che supportano canali analogici (PS3, S5 100U e S7 300).

Prelievo prodotto

E' possibile intervenire sulla modalità di prelievo del prodotto finito agendo sull'apposito selettore.

In modo AUTO è possibile affidare il prelievo del prodotto al PLC oppure selezionare una modalità di prelievo casuale.

In modo MANU è possibile comandare manualmente il prelievo del prodotto.

Pannello operatore

Nel pannello operatore sono disponibili per il collegamento con il PLC quattro pulsanti di cui suggeriamo una possibilità di utilizzazione:

Pulsante Utilizzazione

START avvio processo produttivo

STOP interruzione processo produttivo o emergenza

RESET riconoscimento allarme

TACITAZIONE tacitazione sirena

Nel pannello è presente inoltre una lampada che potrete utilizzare per segnalare un allarme verificatosi durante il processo produttivo, per esempio un allarme di alta temperatura o massimo livello.

Convenzioni per gli ingressi e le uscite digitali

Ogni ingresso o uscita digitale è dotata di LED di segnalazione dello stato, l’accensione del LED indica l’eccitazione dell’ingresso o l’attivazione dell’uscita.

PL-Sim: il simulatore di impianti 4-37

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Barra strumenti

La Barra strumenti costituisce a parte superiore della finestra. In essa sono raggruppati i controlli generali dell’impianto. Segue l'elenco relativo a questo impianto.

Pulsante Esci

Premendo questo pulsante potrete chiudere l'impianto.

Dopo la chiusura dell’impianto vengono abilitati nuovamente tutti i pulsanti/interruttori del PLC ed il menu Impianti di PC-Sim.

La chiusura di PC-Sim provoca automaticamente la chiusura dell’impianto aperto.

Pulsante Guida

Carica la guida all’impianto corrente.

Sebbene gli impianti di PL-Sim siano stati studiati per essere facili da usare e comprensibili intuitivamente ed immediatamente, utilizzate la guida diffusamente: vi sarà molto utile all'inizio della vostra pratica.

Pulsante Registratore

Mostra la simulazione del registratore a carta che riporta l'andamento temporale (il trend) dei segnali dei trasmettitori di livello e di quello di temperatura.

Pulsante controllo audio

Abilita o disabilita l'emissione di suoni attraverso la scheda audio. Si ricorda che potrete ascoltare i suoni soltanto se sul vostro computer è installata una scheda audio ed il driver di Windows è stato correttamente caricato. Per informazioni su come caricare i driver consultare la vostra guida di Windows.

Finestra Registratori

Simula un componente molto comune nelle applicazioni industriali: il registratore a carta.

Nel riquadro superiore viene tracciato l’andamento dei livelli nei due serbatoi, il colore della penna utilizzata è differente per consentire l’immediato riconoscimento della traccia.

In quello inferiore viene riportato l’andamento della temperatura nel serbatoio Mixer, tra i limiti di 0 e 100°C.

4-38 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Modalità di utilizzo

Provate a miscelare i tre ingredienti secondo dei rapporti prefissati. Riscaldate per un certo tempo ad una certa temperatura la miscela ottenuta e travasatela nel serbatoio Prodotto. Siamo sicuri che altri possibili modi di utilizzo potranno essere suggeriti dalla vostra fantasia.

Per le prime applicazioni non è detto che dobbiate usare tutti i segnali previsti a campo. Potreste usare solo due ingredienti, saltare la fase di riscaldamento ed evitare la generazione di allarmi. Man mano poi, potreste aggiungere queste funzionalità ed altre ancora quali, ad esempio, la gestione di più ricette.

Troverete esempi di programmazione per questo impianto nella cartella Esempi del PLC che utilizzate. La descrizione delle procedure di caricamento e di test è riportata nella Guida in linea di PC-Sim.

Collegamenti con il PLC

La tabella seguente elenca i componenti dell'impianto che possono essere collegati al PLC, suddivisi in ingressi ed uscite.

Ingressi digitali (14) Uscite digitali (12) Ingressi analogici (3)

Pulsante di Start Allarme Temperatura miscela

Pulsante di Stop Sirena Livello serbatoio Mixer

Pulsante di Reset Valvola 1° ingrediente Livello serbatoio Prodotto

Pulsante di Tacitazione Elettropompa 2° ingrediente

1° livellostato – Mixer Valvola 2° ingrediente

2° livellostato – Mixer Elettropompa 3° ingrediente

3° livellostato – Mixer Valvola 3° ingrediente

Livellostato di massimo - Mixer Elettropompa prelievo miscela

Livellostato di minimo - Mixer Valvola prelievo miscela

Livellostato – Prodotto Elettropompa prelievo prodotto

Livellostato di massimo – Prodotto Valvola prelievo prodotto

Livellostato di minimo - Prodotto Riscaldatore

Termostato

Termostato di massimo

I collegamenti dei sensori e degli attuatori al PLC si effettuano per mezzo degli appositi selettori posti nei pressi di ogni componente collegabile. Il testo che compare in essi indica l'indirizzo del canale di ingresso o di uscita del PLC al quale è collegato l'elemento dell'impianto. In blu vengono riportati i collegamenti ad ingressi del PLC ed in rosso i collegamenti alle uscite.

selettore indirizzo di ingresso (caratteri in blu);

selettore indirizzo di uscita (caratteri in rosso).

Per modificare un indirizzo di uscita o di ingresso:

• fate clic sul selettore del collegamento da modificare e mantenete la pressione;

compare l’elenco degli ingressi o uscite nella notazione propria del PLC che state utilizzando;

• muovendo il mouse posizionatevi sull'indirizzo prescelto;

• rilasciate il pulsante del mouse.

PL-Sim: il simulatore di impianti 4-39

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Oppure:

• fate clic sui pulsanti col triangolo a sinistra del selettore: in alto per ottenere l’incremento dell’indirizzo, in basso per il suo decremento.

Se desiderate scollegare un elemento d’impianto posizionate il selettore, in uno dei due modi appena visti, su ‘NC’,

L‘impianto propone comunque, al suo caricamento, un set di collegamenti di default. Potrete utilizzarlo o cambiarlo ma, in quest’ultima ipotesi, ricordate che non sarà possibile salvare i collegamenti modificati; in atre parole, ad ogni nuovo avviamento della finestra di questo impianto verranno proposti comunque i collegamenti di default.

A differenza dei primi cinque impianti di PL-Sim, questo non controlla l’univocità del collegamento ad un ingresso del PLC. Quindi prestate molta attenzione ad evitare questa eventualità. In ogni caso se collegate due elementi dell’impianto allo stesso ingresso del PLC, essi realizzeranno una connessione logica OR, cioè i loro contatti saranno collegati in parallelo; cioè ancora, sarà necessario e sufficiente che uno dei due sia chiuso per ottenere la chiusura dell’ingresso del PLC.

Test dell'automazione

Per verificare la correttezza del programma realizzato mettete in Run il PLC e verificate che il processo si svolga secondo la sequenza prefissata.

Se avete utilizzato merker (flag), temporizzatori o contatori nel vostro programma, potrà tornarvi utile la Finestra Stato variabili di PC-Sim per controllarne stato e/o valore. Se l’automazione non funziona correttamente, o non funziona per nulla, vi potranno tornare molto utili le potenzialità di debug offerte dall’editor che avete utilizzato per scrivere il programma.

Se utilizzate una simulazione di PLC FPC 404 la Finestra Impostazioni preset vi servirà per impostare valori di temporizzazione e conteggio.

Guida rapida

Se desiderate ottenere informazioni relativamente ad uno specifico elemento dell'impianto, operate nel seguente modo:

• posizionate il puntatore del mouse sull'elemento;

• premete la combinazione di tasti Ctrl+H;

a questo punto comparirà, se prevista per lo specifico elemento, una finestra di guida rapida che ne riporta una breve descrizione.

La guida rapida è sensibile al contesto cioè, muovendo il puntatore del mouse su un altro elemento, la descrizione nella finestra verrà aggiornata in funzione del nuovo elemento puntato.

Se desiderate fissare il contenuto della finestra rendendolo indipendente dalla posizione del puntatore, premete la combinazione dei tasti Ctrl+G. Per rendere nuovamente variabile la descrizione nella finestra in funzione del contesto, premete ancora una volta Ctrl+G.

Premendo, infine, ancora la combinazione di tasti Ctrl+H, la finestra di guida rapida verrà chiusa.

4-40 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Impianto n.9: Incrocio semaforizzato

Descrizione

Questa finestra di simulazione vi propone uno scenario costituito da un incrocio (o intersezione) con relativo impianto semaforico. Anche se ormai il semaforo è entrato a far parte della nostra vita quotidiana sia di pedoni che di automobilisti e non sarebbe certo necessario spiegare di che cosa si tratta, ci sembra opportuno proporre delle considerazioni di ordine generale che servono a meglio inquadrare il problema della semaforizzazione.

Gli impianti semaforici svolgono la funzione di regolazione del traffico nelle intersezioni stradali. Vengono utilizzati sia nei centri urbani, dove sono ormai strumento obbligatorio nella regolazione del traffico, che nelle arterie extraurbane.

Essi sono costituiti da:

• un impianto di segnalazione;

• una centralina semaforica.

Impianto di segnalazione

E' costituito da un semaforo a quattro facce. Le facce sono singolarmente visibili nella parte superiore della finestra e sono numerate progressivamente da F1 a F4.

• F1 individua la faccia semaforica relativa a Via Petrarca lato Ovest

• F2 individua la faccia semaforica relativa a Via Dante lato Sud

• F3 individua la faccia semaforica relativa a Via Petrarca lato Est

• F4 individua la faccia semaforica relativa a Via Dante lato Nord

PL-Sim: il simulatore di impianti 4-41

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Centralina semaforica

La centralina semaforica è costituita dal PLC simulato di PC-Sim e da un Pannello di Comando visualizzato in una apposita finestra e di cui diremo più avanti.

Caratteristiche dell'incrocio

La finestra di simulazione mostra la planimetria dell'incrocio, le canalizzazioni adottate e la segnaletica orizzontale che individua i flussi veicolari. Pur fornendo una configurazione di default, questa segnaletica può essere variata a vostro piacimento: posizionatevi con il mouse su di un segnale e premete il tasto sinistro, quindi selezionate un nuovo tipo di segnaletica e rilasciate il pulsante del mouse. Naturalmente cercate di scegliere configurazioni che siano coerenti con le regole della circolazione stradale.

Fasi e temporizzazioni

Per l'analisi del problema ed il successivo sviluppo del software vi consigliamo di suddividere il movimento veicolare in più fasi: ad ogni fase corrisponde il movimento di determinate correnti di traffico. Costruite uno schema di fasatura in cui ciascuna fase è associata all'indicazione delle correnti di transito. Successivamente costruite un diagramma di fasatura in cui schematizzare le temporizzazioni del segnale cromatico associato a ciascuna faccia semaforica che comanda il movimento veicolare.

Barra strumenti

La Barra strumenti costituisce la parte superiore della finestra. In essa sono raggruppati i controlli generali dell’impianto. Segue l'elenco relativo a questo impianto.

Pulsante Esci

Premendo questo pulsante potrete chiudere l'impianto.

Dopo la chiusura dell’impianto vengono abilitati nuovamente tutti i pulsanti/interruttori del PLC ed il menu Impianti di PC-Sim.

La chiusura di PC-Sim provoca automaticamente la chiusura dell’impianto aperto.

Pulsante Guida

Carica la guida all’impianto corrente.

Sebbene gli impianti di PL-Sim siano stati studiati per essere facili da usare e comprensibili intuitivamente ed immediatamente, utilizzate la guida diffusamente: vi sarà molto utile all'inizio della vostra pratica.

Pulsante Pannello di Comando

Apre una finestra contenente la simulazione del Pannello di Comando della centralina semaforica.

4-42 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Finestra Pannello di Comando

Contiene il Pannello di comando della centralina semaforica. Il Pannello di comando è costituito da:

• pulsante Conferma

• pulsante Manuale

• selettore con le seguenti tre posizioni:

• M -> Manuale

• A -> Automatico

• GL -> Giallo Lampeggiante

Modi di funzionamento

L'impianto semaforico può funzionare in 3 modi selezionabili manualmente con il selettore posto nel Pannello

di comando; posizionando il selettore sulla funzione desiderata e premendo il pulsante Conferma si attiva la modalità prescelta.

Modo di funzionamento automatico:

• selettore in posizione A;

• il PLC esegue sequenzialmente le fasi semaforiche rispettando le temporizzazioni riportate nel diagramma di fasatura.

Modo di funzionamento manuale:

• selettore in posizione M;

• il PLC esegue sequenzialmente le fasi semaforiche. Il passaggio da una fase a quella successiva è attivato esclusivamente dalla pressione del pulsante Manuale effettuata da voi.

Modo di funzionamento notturno:

• selettore in posizione GL;

• il PLC forza lo stato di giallo lampeggiante su tutte le correnti veicolari.

PL-Sim: il simulatore di impianti 4-43

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Schema di fasatura

Le figure sottostanti mostrano le due fasi in cui è stato suddiviso il ciclo. Ad ogni fase corrisponde il movimento di determinate correnti di traffico scelte in modo tale da limitare al massimo le situazioni conflittuali. Naturalmente quello riportato è l’esempio più semplice: per limitare ancora le situazioni conflittuali potreste provare ad aumentare il numero delle fasi.

Fase A Fase B

Diagramma di fasatura

Le colonne rappresentano le fasi di movimento, così come sono state definite nello schema di fasatura. Le righe rappresentano le facce semaforiche. Nell’ultima riga vengono riportati le durate di ogni fase espresse in secondi.

Fasi Faccia semaforica A B

F1 Verde Giallo Rosso Rosso

F2 Rosso Verde Giallo Rosso

F3 Verde Giallo Rosso Rosso

F4 Rosso Verde Giallo Rosso

Tempo in sec 80 6 5 80 6 5

4-44 PL-Sim: il simulatore di impianti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Collegamenti con il PLC

La tabella seguente elenca i componenti dell'impianto che possono essere collegati al PLC, suddivisi in ingressi ed uscite.

Ingressi digitali (5) Uscite digitali (12)

Pulsante Conferma Lampada Rosso F1

Pulsante Manuale Lampada Giallo F1

Selettore posizione M Lampada Verde F1

Selettore posizione A Lampada Rosso F2

Selettore posizione GL Lampada Giallo F2

Lampada Verde F2

Lampada Rosso F3

Lampada Giallo F3

Lampada Verde F3

Lampada Rosso F4

Lampada Giallo F4

Lampada Verde F4

I collegamenti dei sensori e degli attuatori al PLC si effettuano per mezzo degli appositi selettori posti nei pressi di ogni componente collegabile. Il testo che compare in essi indica l'indirizzo del canale di ingresso o di uscita del PLC al quale è collegato l'elemento dell'impianto. In blu vengono riportati i collegamenti ad ingressi del PLC ed in rosso i collegamenti alle uscite.

selettore indirizzo di ingresso (caratteri in blu);

selettore indirizzo di uscita (caratteri in rosso).

Per modificare un indirizzo di uscita o di ingresso:

• fate clic sul selettore del collegamento da modificare e mantenete la pressione;

compare l’elenco degli ingressi o uscite nella notazione propria del PLC che state utilizzando;

• muovendo il mouse posizionatevi sull'indirizzo prescelto;

• rilasciate il pulsante del mouse.

Oppure:

• fate clic sui pulsanti col triangolo a sinistra del selettore: in alto per ottenere l’incremento dell’indirizzo, in basso per il suo decremento.

Se desiderate scollegare un elemento d’impianto posizionate il selettore, in uno dei due modi appena visti, su ‘NC’,

L‘impianto propone comunque, al suo caricamento, un set di collegamenti di default. Potrete utilizzarlo o cambiarlo ma, in quest’ultima ipotesi, ricordate che non sarà possibile salvare i collegamenti modificati; in atre parole, ad ogni nuovo avviamento della finestra di questo impianto verranno proposti comunque i collegamenti di default.

A differenza dei primi cinque impianti di PL-Sim, questo non controlla l’univocità del collegamento ad un ingresso del PLC. Quindi prestate molta attenzione ad evitare questa eventualità. In ogni caso se collegate due elementi dell’impianto allo stesso ingresso del PLC, essi realizzeranno una connessione logica OR, cioè i loro contatti saranno collegati in parallelo; cioè ancora, sarà necessario e sufficiente che uno dei due sia chiuso per ottenere la chiusura dell’ingresso del PLC.

PL-Sim: il simulatore di impianti 4-45

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Test dell'automazione

Per verificare la correttezza del programma realizzato mettete in Run il PLC e verificate che il processo si svolga secondo la sequenza prefissata.

Se avete utilizzato merker (flag), temporizzatori o contatori nel vostro programma, potrà tornarvi utile la Finestra Stato variabili di PC-Sim per controllarne stato e/o valore. Se l’automazione non funziona correttamente, o non funziona per nulla, vi potranno tornare molto utili le potenzialità di debug offerte dall’editor che avete utilizzato per scrivere il programma.

Se utilizzate una simulazione di PLC FPC 404 la Finestra Impostazioni preset vi servirà per impostare valori di temporizzazione e conteggio.

Guida rapida

Se desiderate ottenere informazioni relativamente ad uno specifico elemento dell'impianto, operate nel seguente modo:

• posizionate il puntatore del mouse sull'elemento;

• premete la combinazione di tasti Ctrl+H;

a questo punto comparirà, se prevista per lo specifico elemento, una finestra di guida rapida che ne riporta una breve descrizione.

La guida rapida è sensibile al contesto cioè, muovendo il puntatore del mouse su un altro elemento, la descrizione nella finestra verrà aggiornata in funzione del nuovo elemento puntato.

Se desiderate fissare il contenuto della finestra rendendolo indipendente dalla posizione del puntatore, premete la combinazione dei tasti Ctrl+G. Per rendere nuovamente variabile la descrizione nella finestra in funzione del contesto, premete ancora una volta Ctrl+G.

Premendo, infine, ancora la combinazione di tasti Ctrl+H, la finestra di guida rapida verrà chiusa.

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 55 PL-LAB: INTERFACCIA VERSO IMPIANTI AUTOCOSTRUITI

Introduzione

Ulteriore componente del mondo AW-SYS è PL-Lab, interfaccia tra PC-Sim o InTouch.

Come mostrato nella figura seguente, PL-Lab permette lo scambio dati, e quindi il collegamento, tra i PLC simulati di PC-Sim ed InTouch, il noto pacchetto di supervisione della Wonderware, mediante il quale potrete costruire per vostro conto nuove finestre di simulazione di impianti.

Con PL-Lab vengono forniti il sorgente di un impianto prototipo ed alcuni esempi applicativi di impianti realizzati con InTouch.

In questo capitolo, oltre a descrivere il funzionamento di PL-Lab, verranno presentati degli esempi di impianti realizzati con esso. Per quanto le procedure di costruzione dei medesimi verranno descritte in dettaglio, non saranno fornite spiegazioni specifiche sull'utilizzo di InTouch. A meno che non siate già utenti esperti di InTouch, sarà quindi conveniente integrare la lettura di questo capitolo con le informazioni riportate nei manuali di InTouch.

Avvio del sistema

Avvio di PL-Lab

Per avviare PL-Lab scegliete il Comando PL-Lab dal Menu Impianti di PC-Sim.

PL-Lab viene visto da PC-Sim come se fosse uno degli impianti simulati presenti nel pacchetto perciò, subito dopo il suo avvio, il Menu Impianti viene disabilitato per impedire l'apertura contemporanea di un altro impianto. Esso verrà riabilitato solo alla chiusura di PL-Lab.

5-2 PL-Lab: interfaccia verso impianti autocostruiti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Descrizione di PL-Lab

La finestra di PL-Lab contiene una serie di caselle che mostrano i valori degli ingressi e delle uscite del PLC. Le caselle di ingresso consentono all'impianto di assegnare il valore degli ingressi digitali ed analogici del PLC. Dalle caselle di uscita, invece, l'impianto potrà leggere i valori delle uscite digitali ed analogiche del PLC.

In particolare, la casella IW0 contiene il valore, espresso in base decimale, dei 16 ingressi digitali del PLC, con limiti quindi da 0 a 65535. Analoga cosa si può dire per la casella QW0, che contiene il valore delle 16 uscite del PLC.

Per il PLC PS3 simulato, lo stato di ognuno dei canali di I/O occupa nella specifica word il corrispondente bit. Quindi, il canale di ingresso I0.0 occupa il bit 0 della word IW0, il canale I0.1 il bit 1, e così via per terminare con il canale I0.15 che, nella medesima word, occupa il bit di peso maggiore: il 15. Similmente accade ai canali di uscita nella composizione di QW0.

Word IW0

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Ingresso I0.15 I0.14 I0.13 I0.12 I0.11 I0.10 I0.9 I0.8 I0.7 I0.6 I0.5 I0.4 I0.3 I0.2 I0.1 I0.0

Word QW0

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Uscita Q0.1

5 Q0.14 Q0.13 Q0.12 Q0.11 Q0.10 Q0.9 Q0.8 Q0.7 Q0.6 Q0.5 Q0.4 Q0.3 Q0.2 Q0.1 Q0.0

Per il PLC FPC 404 gli otto canali di ingresso del modulo 0 occupano il byte meno significativo della IW0, conservando il loro ordine al suo interno. Il byte più significativo è invece composto in modo analogo dagli ingressi del modulo 1. Una rappresentazione simile ammettono le uscite dei medesimi moduli all'interno della word QW0.

PL-Lab: interfaccia verso impianti autocostruiti 5-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Word IW0

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Ingresso I1.7 I1.6 I1.5 I1.4 I1.3 I1.2 I1.1 I1.0 I7 I6 I5 I4 I3 I2 I1 I0

Word QW0

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Uscita O1.7 O1.6 O1.5 O1.4 O1.3 O1.2 O1.1 O1.0 O7 O6 O5 O4 O3 O2 O1 O0

Per il PLC S5 100U la formattazione delle word è simile a quella appena vista, fatta salva la differente numerazione dei moduli di uscita: 2 e 3.

Word IW0

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Ingresso E1.7 E1.6 E1.5 E1.4 E1.3 E1.2 E1.1 E1.0 E0.7 E0.6 E0.5 E0.4 E0.3 E0.2 E0.1 E0.0

Word QW0

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Uscita A3.7 A3.6 A3.5 A3.4 A3.3 A3.2 A3.1 A3.0 A2.7 A2.6 A2.5 A2.4 A2.3 A2.2 A2.1 A2.0

Per il PLC S7 300 la formattazione delle word è invece la seguente.

Word IW0

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Ingresso E1.7 E1.6 E1.5 E1.4 E1.3 E1.2 E1.1 E1.0 E0.7 E0.6 E0.5 E0.4 E0.3 E0.2 E0.1 E0.0

Word QW0

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Uscita A5.7 A5.6 A5.5 A5.4 A5.3 A5.2 A5.1 A5.0 A4.7 A4.6 A4.5 A4.4 A4.3 A4.2 A4.1 A4.0

Le caselle da IA0 a IA3 visualizzano invece il valore degli ingressi analogici del PLC. Tale valore, indipendentemente dal modello del PLC simulato, è normalizzato tra 0 e 10000. Esso verrà poi scalato, in dipendenza del PLC collegato, per essere disponibile a questo in maniera congruente con la rappresentazione attesa. Per esempio, per il PLC PS3 il valore 0-10000 verrà convertito in un valore 0-255, coerentemente con la rappresentazione su 8 bit degli ingressi analogici di questo PLC. Per ulteriori informazioni sulla codifica degli ingressi analogici, leggete quanto detto nei capitoli dedicati alle note di programmazione dei PLC PS3, S5 100U e S7 300; nella simulazione del PLC FPC 404 non sono stati implementati canali analogici.

Scambio dati con InTouch

PL-Lab è sostanzialmente un server DDE da cui l'impianto personalizzato realizzato con InTouch, comportandosi come client del DDE, potrà prelevare o impostare i dati.

Il protocollo DDE identifica un elemento dati attraverso una convenzione semantica formata da tre parti: Application Name, Topic Name e Item Name. Per ottenere dati da una applicazione server DDE, il programma client DDE apre un canale verso di essa specificando questi tre elementi.

5-4 PL-Lab: interfaccia verso impianti autocostruiti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Quindi, per acquisire dati da un'altra applicazione, InTouch dovrà conoscere il nome dell'applicazione che fornisce i dati, il nome del topic all'interno del quale il dato è contenuto ed il nome dello specifico item all'interno del topic che identifica univocamente il dato. Inoltre, per la gestione interna, sarà necessario specificare il tipo di dato: Discrete, Integer, Real o Message. Il complesso di queste informazioni specifica il DDE per il tag quando questo viene definito nel database di InTouch. Una volta stabilito tutto ciò e lanciato l'ambiente runtime, verranno eseguite automaticamente tutte le azioni per acquisire e mantenere aggiornato il dato di questo tag.

Nel dettaglio, per scambiare dati con PL-Lab, dovranno essere specificate le seguenti stringhe:

• Application Name PLLAB

• Topic Name PLCIO

Lo Item Name dipenderà invece dal particolare dato a cui si vuole fare riferimento, come riassunto di seguito:

• Ingressi digitali del PLC IW0

• Uscite digitali del PLC QW0

• Ingressi analogici del PLC IA0, IA1, IA2, IA3

• Uscite analogiche del PLC QA0, QA1, QA2, QA3

Costruzione di un primo impianto

Dopo aver analizzato le specifiche dello scambio dati tra InTouch e PL-Lab passiamo a cimentarci nella costruzione di un primo impianto.

Sinceratevi che PC-Sim e PL-Lab siano in esecuzione quindi avviate InTouch e create una nuova applicazione premendo il pulsante Create Directory… e, nella finestra di dialogo Create InTouch Application, compilate i campi come mostrato nella figura seguente.

Dove il percorso specificato nella casella Application Directory Name dipende dall'aver voluto inserire la nuova directory nella cartella di InTouch, ma potreste inserire qui un nome valido a vostro piacimento.

Premete Ok per chiudere la finestra.

Premete ora il pulsante di avvio del WindowMaker per entrare nell'ambiente di sviluppo.

Vediamo qual'è la procedura da seguire per impostare un tag del database perché il suo valore rifletta il contenuto della word QW0, cioè la word delle uscite digitali del PLC.

Dal menu Special di WindowMaker scegliete il comando Tagname Dictionary. Viene mostrata la finestra di definizione del tag.

PL-Lab: interfaccia verso impianti autocostruiti 5-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Per dichiarare un nuovo tag premete il pulsante New. Nella casella Tagname digitate "QW0" ed in quella Comment digitate "Uscite digitali PLC (word)".

Per definire il tipo di dato e la sua posizione, premete il pulsante Type e, nella finestra che compare, scegliete DDE Integer facendo doppio clic su di esso.

A seguito di questa operazione la finestra Tagname Definition viene ampliata per far posto alle specifiche di accesso al DDE.

Fate clic sul pulsante DDE Access Name per far comparire la finestra di dialogo DDE Access Name

Definition.

Fate clic sul pulsante Add. Compilate le caselle come nella figura che segue in modo da definire due dei tre parametri del DDE: Application Name (PLLAB) e Topic Name (PLCIO) ed associare all'insieme un nome identificativo (PL-Lab).

5-6 PL-Lab: interfaccia verso impianti autocostruiti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Quindi premete il pulsante OK. Il nuovo nome di accesso al DDE viene aggiunto nella lista. Fate clic sul pulsante Done per chiudere la finestra.

Correggiamo i valori preimpostati per la caselle Max EU e Max Raw digitando in esse 65535: il valore massimo di QW0 che si ottiene quando tutti i sedici bit di uscita del PLC sono impostati a 1.

Per finire, selezionate il pulsante opzione Use Tagname as Item Name, definendo così l'ultimo elemento del DDE: come Item Name verrà utilizzato lo stesso nome già specificato per il tag (QW0). A questo punto la finestra Tagname Definition vi apparirà così.

Abbiamo terminato la definizione del tag QW0, ogni riferimento a questo tag porterà ad ottenere il valore della word di uscita del PLC simulato. Chiudete la finestra facendo clic sul pulsante Done. Siamo pronti per sperimentare quanto realizzato.

Dal menu File del WindowMaker scegliete il comando New Window e nella casella Name della finestra di dialogo Window Property digitate "Mio impianto", lasciando inalterato il resto delle impostazioni.

Fate clic sul pulsante OK per confermare ed aprire la nuova finestra.

PL-Lab: interfaccia verso impianti autocostruiti 5-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Se la Toolbox non è aperta, apritela scegliendo il comando Toolbox Show/Hide dal menu Special.

In essa selezionate lo strumento Text e quindi quello Left Justify poi fate clic nella finestra Mio impianto, quindi digitate "Valore della word delle uscite digitali:". Selezionate nuovamente lo strumento testo e fate clic ancora sulla finestra. Digitate ora "#" per specificare ad InTouch che il campo sarà utilizzato per visualizzare un valore numerico. Fate clic al di fuori del testo appena inserito per terminare la fase di input. Spostate se necessario i due oggetti per ottenere una visualizzazione simile a quella mostrata nella figura seguente.

Definiamo ora le caratteristiche di animazione dell'ultimo oggetto inserito. Fate doppio clic su di esso, oppure selezionatelo e premete Invio, per richiamare la finestra di dialogo di definizione dell'animazione.

Fate clic sul pulsante Analog nel pannello Value Display. Nella casella Expression della finestra di dialogo che viene visualizzata digitate "QW0": in runtime al simbolo # verrà così sostituita la visualizzazione del valore di QW0.

Fate clic su OK. Il pulsante opzione al lato del pulsante Analog cliccato in precedenza sarà ora selezionato ad indicare che un assegnazione per tale caratteristica è stata effettuata.

Premete il pulsante Done per terminare.

Siamo ora pronti per testare il funzionamento del DDE. Fate clic sul menu Runtime!, all'estrema destra della barra dei menu del WindowMaker, per avviare l'ambiente runtime di InTouch. La figura che segue mostra quanto vi apparirà.

5-8 PL-Lab: interfaccia verso impianti autocostruiti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Il numero visualizzato come valore della word delle uscite digitali dipende dall'aver attivato tutte le uscite del PLC. Per far variare la visualizzazione provate a forzare le uscite con valori diversi. Fate riferimento a quanto detto nel paragrafo Forzamento variabili nel Capitolo 3.

Arricchiamo ora l'impianto, che per il momento non fa assolutamente onore a questo nome, inserendo due lampade che verranno comandate dalle prime due uscite del PLC.

Ritorniamo alla modalità di progettazione facendo clic sul menu Development! all'estrema destra della barra dei menu della finestra WindowViewer.

Nella Toolbox selezionate lo strumento Ellipse quindi tracciate un cerchio nella finestra Mio impianto. Tracciatene un altro uguale, oppure selezionate il primo e scegliete il comando Duplicate dal menu Edit. Disponete e ridimensionate i due cerchi per ottenere qualcosa di simile a quanto illustrato nella figura che segue.

Nella maniera illustrata in precedenza, inserite quattro testi per migliorare la leggibilità, al fine di ottenere quanto illustrato nella figura seguente.

L1 ed L2 saranno le sigle delle due lampade, mentre OUT0 e OUT1 ci ricorderanno a quali uscite del PLC sono rispettivamente collegate. Per l'allineamento dei testi con i cerchi saranno utili i comandi del menu Arrange - Align.

Definiamo ora le caratteristiche di animazione per le due lampade. Fate doppio clic sulla prima per richiamare la finestra di dialogo dell'animazione. Quindi in quest'ultima fate clic sul pulsante Discrete del pannello Fill color.

Nella casella Expression della finestra di dialogo Fill Color digitate "QW0.00" per specificare che il bit 0 della word QW0 determinerà il colore della lampada. Impostate quindi due colori diversi per le caselle FALSE e

PL-Lab: interfaccia verso impianti autocostruiti 5-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

TRUE del pannello Colors, ad esempio verde scuro e verde chiaro rispettivamente. La finestra vi apparirà come segue.

Fate clic sul pulsante Done per terminare.

Ripetete le operazioni precedenti per la seconda lampada, specificando come espressione "QW0.01" cioè il bit 1 della word delle uscite del PLC e, se preferite, selezionando due colori diversi.

Avviate il WindowViewer scegliendo il comando RunTime!. Nella figura che segue è rappresentato quanto dovreste vedere. La visualizzazione è stata ottenuto con un valore di QW0 pari a 3 cioè con bit 0 e bit 1 entrambi veri.

Variando lo stato delle uscite del PLC le lampade cambieranno colore, simulando così l'accensione e lo spegnimento.

Aggiungiamo ora dei pulsanti per comandare due ingressi del PLC. Selezionate lo strumento Button nella Toolbox del WindowViewer. Nella finestra Mio impianto disegnate due pulsanti, ridimensionateli e spostateli per ottenere il risultato mostrato nella figura che segue. Quindi aggiungete e modificate i testi.

I testi all'interno dei pulsanti possono essere modificati selezionandoli singolarmente e scegliendo il comando Substistute Strings dal menu Special.

Occupiamoci del collegamento dei pulsanti al PLC, cominciando da P1. Fate doppio clic su di esso per far apparire la finestra di dialogo per la scelta dell'animazione. Quindi fate clic sul pulsante Discrete value nel gruppo Touch Pushbuttons del pannello Touch Links.

5-10 PL-Lab: interfaccia verso impianti autocostruiti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Nella casella Tagname digitate "IW0.00", per indicare che il bit da cambiare alla pressione del pulsante è il bit 0 della word degli ingressi digitali del PLC, e premete OK. Non essendo ancora definito il tag IW0, InTouch vi chiede se intendete farlo ora, rispondete affermativamente.

Nella casella Tagname della nuova finestra di dialogo che compare è già mostrato "IW0". Fate clic sul pulsante Type e selezionate dall'elenco il tipo DDE Integer e premete OK. Il contenuto delle caselle Max EU e Max Raw dovrebbe già essere al valore corretto: l'ultimo impostato per la word di uscita e cioè 65535. Se così non fosse digitate in esse il giusto valore. Per finire, selezionate il pulsante opzione Use Tagname as

Item Name e premete il pulsante Done.

Ripetete l'operazione per il pulsante P2, il valore da impostare per il Tagname è IW0.01 cioè il bit 1 della word degli ingressi. Non vi verrà chiesto di definire il tag IW0 in quanto è stato appena fatto per l'altro pulsante.

Bene! L'impianto è pronto, possiamo avviarlo portando InTouch in runtime.

Per verificare il funzionamento degli ingressi proviamo a premere il pulsante P1. La casella IW0 di PL-Lab mostrerà il valore 1, informandoci che è attivo il bit 0. Facendo clic su P2 la stessa casella mostrerà il valore 2 segnalandoci che, questa volta, è attivo il bit 1. In accordo col valore di questi bit, i primi LED di segnalazione dello stato degli ingressi del PLC si accenderanno o si spegneranno.

E' arrivato il tempo di scrivere un programma sul PLC per verificare il funzionamento dell'intero impianto e dei collegamenti. Poniamoci l'obbiettivo di far accendere la lampada L1 con il pulsante P1 e di farla spegnere con P2. La lampada L2 si accenderà invece ogniqualvolta si preme uno dei due pulsanti

Supponiamo di utilizzare il PLC simulato PS3. Il programma ladder da disegnare è il seguente:

PL-Lab: interfaccia verso impianti autocostruiti 5-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Avviate il PLC e provate a premere i due pulsanti per testare il funzionamento dell'impianto e del programma.

Se la procedura fin qui descritta è stata eseguita correttamente, lo stato delle lampade simulate varierà in funzione della pressione sui pulsanti come specificato in precedenza. Se, invece, l'impianto non dovesse funzionare correttamente, controllate dapprima lo stato degli ingressi e delle uscite del PLC osservando lo stato dei rispettivi LED sul fronte dell'apparecchiatura e quindi verificate la correttezza delle impostazioni dei tag di InTouch.

Costruzione di un impianto più complesso

Realizziamo ora un altro impianto, di complessità maggiore. Esso ripropone un serbatoio alimentato attraverso una tubazione di adduzione e dal quale è possibile prelevare liquido da due tubazioni di uscita. La prima tubazione è intercettata dalla valvola VIN comandata dal PLC, le seconde sono intercettate dalle valvole VOUT1 e VOUT2 che possono essere comandate manualmente mediante due pulsanti: P1 e P2.

Come fatto per l'esempio precedente, create una nuova applicazione scegliendo una nuova directory. Quindi lanciate il WindowMaker e create la finestra dell'impianto scegliendo il comando New Window dal menu File

e digitando "Serbatoio" nella casella Name.

Nella finestra appena creata disegnate il serbatoio selezionando lo strumento Rounded Rectangle nella Toolbox del WindowMaker e tracciando un rettangolo più alto che largo.

Quindi selezionate lo strumento Polygon e tracciate la parte inferiore del simbolo di una valvola e, utilizzando gli strumenti Line e Rectangle completatene il disegno come mostrato nella figura seguente.

Selezionate ora l'intera valvola e scegliete il comando Make symbol dal menu Arrange: la valvola composta prima da diverse parti è diventata ora un unico elemento.

5-12 PL-Lab: interfaccia verso impianti autocostruiti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Duplicate per due volte la valvola, spostate gli oggetti e completate il disegno tracciando le linee delle tubazioni ed aggiungendo i testi al fine di ottenere quanto illustrato nella figura che segue.

Con lo strumento Button disegnate quindi i due pulsanti P1 e P2 e con quello Ellipse disegnate due cerchi che andranno a rappresentare i livellostati. Completate scrivendo o modificando i testi ed inserendo al di sotto del serbatoio il particolare testo "#" che permetterà di visualizzare in formato numerico il livello del liquido contenuto al suo interno.

La finestra Serbatoio si presenterà a questo punto come mostrato nella figura seguente.

Definiamo ora le caratteristiche di animazione dei singoli oggetti. Ricordate che l'accesso alla finestra di dialogo per la definizione dell'animazione si ottiene facendo doppio clic sull'oggetto. Non descriveremo più questa procedura ma faremo direttamente riferimento alle specifiche caratteristiche di animazione dell'oggetto volta per volta in esame. Cominciamo da quelle del serbatoio.

PL-Lab: interfaccia verso impianti autocostruiti 5-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Fate clic sul pulsante Vertical nel pannello Percent Fill della finestra di definizione dell'animazione e compilate i campi come segue.

Premendo il pulsante OK vi verrà chiesto di definire il tag LEVEL. Impostate nella finestra di dialogo Tagname

Definition i valori riportati nella figura seguente, facendo attenzione a scegliere il tipo Memory Integer.

Le impostazioni specificano, tra l'altro, che la quantità massima di liquido nel serbatoio sarà di 10000 unità e che l'impianto verrà avviato con serbatoio pieno a metà (5000 unità).

Passiamo ora alla definizione dell'animazione dei pulsanti. Per P1 fate clic sul pulsante Discrete Value nel gruppo Touch Pushbuttons del pannello Touch Links ed impostate il Tagname su "P1", quindi premete OK.

Vi verrà chiesto di definire il tag P1. L'unica impostazione da effettuare è quella del tipo: Memory Discrete. Seguite un analogo procedimento per il pulsante P2, dichiarando come tag "P2".

Passiamo ora alle valvole. La valvola VIN avrà la proprietà Fill Color - Discrete impostata come nella figura seguente.

.

5-14 PL-Lab: interfaccia verso impianti autocostruiti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Il colore di riempimento dipenderà quindi dal tag Q0, cioè dal canale di uscita del PLC. I colori scelti sono grigio per lo stato Off e verde chiaro per lo stato On.

Premete OK per chiudere la finestra. Vi verrà chiesto di definire il tag Q0. L'unica impostazione da effettuare è quella del tipo: Memory Discrete..

Analoghe impostazioni vanno effettuate per le valvole VOUT1 e VOUT2 che assocerete rispettivamente ai tag P1 e P2.

Le impostazioni per i livellostati sono semplici: si tratta di definire per essi la proprietà Fill Color – Discrete in relazione ai tag I0 per L1 e I1 per L2. Questa impostazione consentirà, attraverso la variazione del colore del livellostato, la visualizzazione dello stato dell'ingresso del PLC specifico. L'impostazione dell'ingresso, come valore vero o falso, sarà invece effettuata in seguito.

Rimane da animare soltanto l'indicatore numerico di livello. Definiamo per esso la proprietà Value Display –

Analog associandola al tag LEVEL.

Definiamo ora le funzioni che ci permetteranno di passare dalle word di ingresso/uscita ai singoli bit, limitatamente a quelli utilizzati nel presente impianto.

Scegliete il comando Special – Scripts – Data Change Scripts… e compilate i campi come nella figura seguente.

Ad ogni variazione del valore di QW0, Q0 sarà aggiornato con il contenuto del bit 0 della word.

Premete ora il pulsante New e nella casella Tagname digitate 'I0'. Quindi inserite il seguente script:

IW0.00=I0;

Ad ogni variazione di I0 il bit 0 della word IW0 verrà aggiornato in base del primo.

Seguite la stessa procedura per il tag I1, definendo lo script: IW0.01=I1;

Si tratta ora di scrivere poche espressioni che consentiranno ai diversi componenti dell'impianto di interagire tra di loro. Cioè il livello del serbatoio dovrà aumentare se la valvola VIN viene aperta e diminuire quando lo diventano VOUT1 e/o VOUT 2. Inoltre i contatti dei livellostati dovranno chiudersi a determinati livelli di liquido nel serbatoio e, di conseguenza, gli ingressi del PLC che ad essi sono collegati dovranno attivarsi.

PL-Lab: interfaccia verso impianti autocostruiti 5-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Per fare ciò scegliete il comando Special / Scripts / Application Scripts… e, nella finestra di dialogo che compare, compilate i campi come mostrato nella seguente figura.

La prima parte dello script, che viene eseguito ogni 20 ms come specificato nella casella Every, e cioè: IF Q0 AND LEVEL <=9980 THEN

LEVEL=LEVEL+20;

ENDIF;

provvede ad aumentare di 20 unità il livello del serbatoio quando la valvola di ingresso è aperta e vi è spazio sufficiente in esso. Il codice che segue, e cioè: IF P1 AND LEVEL >=10 THEN

LEVEL=LEVEL - 10;

ENDIF;

IF P2 AND LEVEL >15 THEN

LEVEL=LEVEL - 15;

ENDIF;

serve, al contrario, a diminuire il livello quando sono aperte una o entrambe le valvole sulle tubazioni di uscita e nel serbatoio esiste ancora una quantità di minima liquido. Il livello verrà diminuito di 10 unità per VOUT1 aperta e di 15 per VOUT2 aperta. La seconda tubazione avrà quindi una portata maggiore.

L'ultima parte dello script, cioè: I0=LEVEL>7050;

I1=LEVEL>8750;

provvede all'impostazione degli ingressi del PLC collegati ai livellostati. Le quantità di confronto sono state ricavate sperimentalmente per fare in modo che la commutazione avvenga in corrispondenza dei livellostati nel disegno e, quindi, nell'impianto da voi realizzato i valori corretti potrebbero risultare diversi.

Per trovare sperimentalmente i valori corretti da inserire, operate nel seguente modo: chiudete le valvole di uscita e riempite il serbatoio fino al livellostato L1, forzando l'uscita del PLC a cui è collegato l'attuatore della valvola VIN. In queste condizioni il valore indicato dal testo al di sotto del serbatoio è quello da inserire nel primo confronto. Se inavvertitamente doveste superare tale livello, potreste svuotare un po’ il serbatoio azionando P1. Ripetete il procedimento per L2 per ricavare il secondo valore di confronto.

Scriviamo ora un programma per PLC, ad esempio il PS3, che comandi la valvola VIN in modo da mantenere il livello nel serbatoio tra L1 ed L2. La cosa è molto semplice ed è mostrata nella seguente figura.

5-16 PL-Lab: interfaccia verso impianti autocostruiti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Avviamo ora l'impianto passando alla modalità runtime. Avviamo anche il PLC simulato portandolo in Run.

Nella figura seguente è mostrato quanto dovreste vedere. Potete aprire o chiudere le due valvole VOUT1 e VOUT2 facendo clic sui rispettivi pulsanti di comando. Il PLC, comandando la valvola VIN, provvederà a mantenere il livello tra i due livellostati. A meno che non apriate contemporaneamente le valvole di uscita. In tal caso la portata della tubazione di ingresso sarà minore della complessiva in uscita ed il livello nel serbatoio, lentamente ma inesorabilmente, diminuirà.

Gli impianti descritti in questo capitolo sono presenti nelle cartelle AW-SYS\PL-Lab\DdeTest e AW-SYS\PL-

Lab\Tank del CD di installazione di AW-SYS. Per provarli, copiate l'intera cartella nell'hard disk del vostro PC, quindi eliminate per tutti i file in essa presenti l'attributo 'Sola lettura' ed aprite l'applicazione con InTouch.

Gli esempi sono stati realizzati usando una risoluzione video di 800x600 pixel. Se aperti con una risoluzione diversa, InTouch vi chiederà l'autorizzazione alla conversione della risoluzione. A seguito di questa operazione potrebbero verificarsi lievi irregolarità nella visualizzazione delle immagini.

PL-Lab: interfaccia verso impianti autocostruiti 5-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

L'impianto prototipo

Nella cartella AW-SYS\PL-Lab\Prototyp del CD-ROM di AW-SYS è presente un impianto senza alcuna finestra, in cui sono già stati implementati i tag e gli script per la gestione del DDE con i PLC simulati. Per sfruttare queste potenzialità, copiate la cartella nell'hard disk del vostro PC, rinominandola eventualmente in modo consono all'impianto che intendete realizzare, ed eliminate per tutti i file in essa presenti l'attributo 'Sola lettura'. Quindi lanciate InTouch e fate clic sul pulsante Modify Directory List…. Nella finestra che compare fate clic sul pulsante Add… e digitate il nome del cartella, o cercatela cliccando su Browse…., quindi premete OK e poi ancora Done.

La cartella ora compare nella lista; selezionatela e premete il pulsante per l'avvio del WindowMaker.

Per generare una finestra scegliete il comando New Window… dal menu File e compilate i campi Name e Comment con nomi adeguati, quindi premete OK. Vi viene mostrata la finestra vuota del vostro impianto. Si tratterà ora di disegnare i componenti e di definirne le caratteristiche di animazione e gli eventuali script per le interconnessioni. Ricordate comunque di utilizzare i tag predefiniti per far riferimento alle variabili di ingresso e di uscita del PLC.

La Tabella 4 che segue illustra l'elenco di questi tag, con una breve descrizione, e mostra la corrispondenza con gli operandi di ognuno dei PLC simulati. Mentre gli ingressi e le uscite digitali sono disponibili per tutti, gli ingressi ed uscite analogici lo sono a seconda delle peculiarità del PLC simulato.

5-18 PL-Lab: interfaccia verso impianti autocostruiti

AW-SYS – software di simulazione PLC e impianti Autoware srl

Tabella 4: Tag predefiniti dell'impianto prototipo di PL-Lab

Tag Name Descrizione FPC 404 PS3 S5 100U S7 300

I0 Canale di ingresso digitale 0 I0 I0.0 E0.0 E0.0

I1 Canale di ingresso digitale 1 I1 I0.1 E0.1 E0.1

I2 Canale di ingresso digitale 2 I2 I0.2 E0.2 E0.2

I3 Canale di ingresso digitale 3 I3 I0.3 E0.3 E0.3

I4 Canale di ingresso digitale 4 I4 I0.4 E0.4 E0.4

I5 Canale di ingresso digitale 5 I5 I0.5 E0.5 E0.5

I6 Canale di ingresso digitale 6 I6 I0.6 E0.6 E0.6

I7 Canale di ingresso digitale 7 I7 I0.7 E0.7 E0.7

I8 Canale di ingresso digitale 8 I1.0 I0.8 E1.0 E1.0

I9 Canale di ingresso digitale 9 I1.1 I0.9 E1.1 E1.1

I10 Canale di ingresso digitale 10 I1.2 I0.10 E1.2 E1.2

I11 Canale di ingresso digitale 11 I1.3 I0.11 E1.3 E1.3

I12 Canale di ingresso digitale 12 I1.4 I0.12 E1.4 E1.4

I13 Canale di ingresso digitale 13 I1.5 I0.13 E1.5 E1.5

I14 Canale di ingresso digitale 14 I1.6 I0.14 E1.6 E1.6

I15 Canale di ingresso digitale 15 I1.7 I0.15 E1.7 E1.7

Q0 Canale di uscita digitale 0 O0 Q0.0 A2.0 A4.0

Q1 Canale di uscita digitale 1 O1 Q0.1 A2.1 A4.1

Q2 Canale di uscita digitale 2 O2 Q0.2 A2.2 A4.2

Q3 Canale di uscita digitale 3 O3 Q0.3 A2.3 A4.3

Q4 Canale di uscita digitale 4 O4 Q0.4 A2.4 A4.4

Q5 Canale di uscita digitale 5 O5 Q0.5 A2.5 A4.5

Q6 Canale di uscita digitale 6 O6 Q0.6 A2.6 A4.6

Q7 Canale di uscita digitale 7 O7 Q0.7 A2.7 A4.7

Q8 Canale di uscita digitale 8 O1.0 Q0.8 A3.0 A5.0

Q9 Canale di uscita digitale 9 O1.1 Q0.9 A3.1 A5.1

Q10 Canale di uscita digitale 10 O1.2 Q0.10 A3.2 A5.2

Q11 Canale di uscita digitale 11 O1.3 Q0.11 A3.3 A5.3

Q12 Canale di uscita digitale 12 O1.4 Q0.12 A3.4 A5.4

Q13 Canale di uscita digitale 13 O1.5 Q0.13 A3.5 A5.5

Q14 Canale di uscita digitale 14 O1.6 Q0.14 A3.6 A5.6

Q15 Canale di uscita digitale 15 O1.7 Q0.15 A3.7 A5.7

IA0 Canale di ingresso analogico 0 — IA0 EW96

IA1 Canale di ingresso analogico 1 — IA1 EW98

IA2 Canale di ingresso analogico 2 — IA2 EW100

IA3 Canale di ingresso analogico 3 — IA3 EW102

QA0 Canale di uscita analogico 0 — QA0 AW104

QA1 Canale di uscita analogico 1 — — AW106

QA2 Canale di uscita analogico 2 — — AW108

QA3 Canale di uscita analogico 3 — — AW110

PL-Lab: interfaccia verso impianti autocostruiti 5-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Gli script preimpostati nell'impianto prototipo assolvono ad un duplice compito: da un lato aggiornano i tag da Q0 a Q15, quelli che corrispondono alle uscite digitali del PLC, ad ogni variazione della word QW0 che li rappresenta nel complesso; dall'altro aggiornano la word IW0 ad ogni variazione dei tag da I0 a I15, quelli che corrispondono ai singoli ingressi del PLC e che detta word idealmente vanno a formare.

Per accedere ad essi scegliete il comando Scripts – Data Change Scripts… dal menu Scripts del WindowMaker.

Nella Tabella 5 che segue riportiamo questi script ed il nome del tag il cui evento Change porta in esecuzione.

Tabella 5: Script preimpostati per l'impianto prototipo di PL-Lab

TAGNAME SCRIPT

QW0

Q0=QW0.00; Q1=QW0.01; Q2=QW0.02; Q3=QW0.03; Q4=QW0.04; Q5=QW0.05; Q6=QW0.06; Q7=QW0.07; Q8=QW0.08; Q9=QW0.09; Q10=QW0.10; Q11=QW0.11; Q12=QW0.12; Q13=QW0.13; Q14=QW0.14; Q15=QW0.15;

I0 IW0.00=I0;

I1 IW0.01=I1;

I2 IW0.02=I2;

I3 IW0.03=I3;

I4 IW0.04=I4;

I5 IW0.05=I5;

I6 IW0.06=I6;

I7 IW0.07=I7;

I8 IW0.08=I8;

I9 IW0.09=I9;

I10 IW0.10=I10;

I11 IW0.11=I11;

I12 IW0.12=I12;

I13 IW0.13=I13;

I14 IW0.14=I14;

I15 IW0.15=I15;

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 66 REALIZZIAMO INSIEME LA PRIMA APPLICAZIONE

Operazioni preliminari

In questo capitolo vi seguiremo, passo dopo passo, nella realizzazione della vostra prima applicazione con AW-SYS utilizzando tutti i PLC simulati: FPC 404, PS3, S5 100U e S7 300.

Ci poniamo l’obbiettivo della realizzazione di un ciclo quadro che utilizzi i cilindri A e B dell’impianto Elettropneumatica 1. L’interruttore 0.7 sulla Finestra PLC servirà da consenso al ciclo: inserendo l’interruttore il ciclo verrà avviato, disinserendolo il ciclo terminerà una volta che i cilindri siano ritornati alla posizione iniziale.

Procedete secondo i passi elencati di seguito.

1. Dal menu Start di Windows lanciate PC-Sim per il PLC che desiderate utilizzare, scegliendolo tra quelli presenti nella cartella Aw-sys.

2. Premete il Pulsante Ok per chiudere la Finestra Informazioni su PC-Sim.

3. Avviate l’impianto scegliendo dal Menu Impianti il Comando Elettropneumatica 1.

Compare la finestra di simulazione del banco di elettropneumatica con cilindri doppio effetto e distributori bistabili.

4. Aprite la Finestra PLC scegliendo dal Menu Finestra il Comando PLC.

A questo punto avrete visualizzato sul monitor sia il PLC che l’impianto da automatizzare. Procedete leggendo tra i paragrafi che seguono quello dedicato al PLC che avete scelto di utilizzare. Quindi continuate con la lettura col paragrafo Test del programma.

PLC FPC 404

Collegamento ingressi e uscite

La scrittura del programma utente dovrà essere preceduta dalla definizione dei collegamenti tra il PLC ed i componenti dell’impianto, in questo caso i contatti dei finecorsa ed i solenoidi dei distributori. Cominceremo con i segnali d’ingresso, più avanti poi ci occuperemo di quelli di uscita.

La tabella seguente riporta i collegamenti che realizzeremo per i finecorsa dei cilindri.

Finecorsa Canale d’ingresso

a0 I0

a1 I1

b0 I2

b1 I3

6-2 Realizziamo insieme la prima applicazione

AW-SYS – software di simulazione PLC e impianti Autoware srl

Procedete come segue.

1. Fate clic sull’impianto in corrispondenza del finecorsa negativo del cilindro A (a0).

PL-Sim risponde mostrando a video la finestra di dialogo Scelta collegamento per gli ingressi del PLC. Il tipo di finestra da visualizzare viene automaticamente decisa da PC-Sim poiché riconosce come ingresso o come uscita il componente dell’impianto cliccato.

2. Selezionate l’ingresso I0.0 (modulo 0 e canale 0) e premete il Pulsante Ok.

La finestra viene chiusa e sull’impianto di elettropneumatica, in corrispondenza del finecorsa negativo del cilindro A, viene mostrato l’indirizzo del collegamento in colorazione blu, come riportato nella figura seguente.

3. Impostate in successione i collegamenti per gli altri finecorsa, come fatto per il primo e secondo quanto specificato nella tabella precedente.

Occupiamoci ora dei solenoidi, che andremo a collegare ai canali di uscita del PLC secondo quanto riportato nella tabella seguente.

Solenoide Canale d’uscita

A- O0

A- O1

B+ O2

B- O3

4. Fate clic sull’impianto in corrispondenza del solenoide positivo del cilindro A (A+).

PL-Sim risponde mostrando a video la finestra di dialogo Scelta collegamento per le uscite del PLC.

5. In essa selezionate l’uscita O0.0 (modulo 0 e canale 0) e premete il Pulsante Ok.

Realizziamo insieme la prima applicazione 6-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

La finestra viene chiusa e sull’impianto di elettropneumatica, in corrispondenza del solenoide positivo del cilindro A, viene mostrato l’indirizzo del collegamento in colorazione rossa, come riportato nella seguente figura.

6. Impostate in successione i collegamenti per gli altri solenoidi come fatto per il primo e secondo quanto specificato nella tabella precedente.

Abbiamo così terminato i collegamenti. Gli indirizzi di collegamento per i primi due cilindri dell’impianto appariranno come in figura. Ricordiamo che la colorazione blu individua i collegamenti a canali d’ingresso e quella rossa i collegamenti a canali di uscita.

Scrittura del programma

1. Dal Menu File di PC-Sim scegliete il Comando Nuovo progetto ladder (FPC 404 e PS3).

Viene aperta la finestra dell’editor di programma ladder all’interno della quale è già predisposto il primo percorso di corrente vuoto.

2. Selezionate lo strumento di inserimento di contatti NA ( ) nella Casella strumenti.

3. Fate clic sul percorso di corrente nella prima posizione di inserimento;

Viene disegnato un contatto normalmente aperto.

4. Fate ancora clic nella seconda posizione di inserimento.

Un secondo contatto normalmente aperto viene disegnato in serie al primo.

Questo è quanto dovreste vedere sullo schermo a questo punto della fase di introduzione del programma.

6-4 Realizziamo insieme la prima applicazione

AW-SYS – software di simulazione PLC e impianti Autoware srl

Passiamo all’introduzione degli operandi per ognuno degli elementi di schema presenti: i due contatti e la bobina.

5. Fate clic nel campo con sfondo grigio al di sopra del primo contatto.

6. Digitate l’operando I7 e premete Invio.

Il cursore di inserimento caratteri si sposta sul campo operando del contatto successivo; l’operando sul primo contatto ha ora uno sfondo bianco.

7. Digitate l’operando I2 e premete Invio;

Il cursore di inserimento caratteri si sposta sul campo operando della bobina.

8. Digitate O0 (lettera O e numero 0) e premete Invio.

Abbiamo così terminato il disegno del primo percorso di corrente che vi apparirà così sullo schermo.

Aggiungiamo ora un nuovo percorso di corrente.

9. Dal Menu Modifica di PC-Sim scegliete il Comando Aggiungi.

Un percorso di corrente vuoto viene aggiunto alla fine dello schema.

10. Disegnate un contatto NA in prima posizione, come abbiamo imparato a fare disegnando il primo percorso.

11. Digitate gli operandi I1 e O2 come indicato nello schema seguente.

12. Aggiungete ancora due percorsi come fatto in precedenza.

Realizziamo insieme la prima applicazione 6-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

13. Disegnate i contatti.

14. Digitate gli operandi I3, O1, I0 e O3, come mostrato nell’ultimo schema sottostante.

Lo schema ladder è ora completo e la descrizione specifica per questo PLC è così terminata. Continuate la lettura dal paragrafo Test del programma più avanti in questo capitolo.

PLC PS3

Collegamento ingressi e uscite

La scrittura del programma utente dovrà essere preceduta dalla definizione dei collegamenti tra il PLC ed i componenti dell’impianto, in questo caso i contatti dei finecorsa ed i solenoidi dei distributori. Cominceremo con i segnali d’ingresso, più avanti poi ci occuperemo di quelli di uscita.

La tabella seguente riporta i collegamenti che realizzeranno per i finecorsa dei cilindri.

Finecorsa Canale d’ingresso

a0 I0.0

a1 I0.1

b0 I0.2

b1 I0.3

Procedete come segue.

1. Fate clic sull’impianto in corrispondenza del finecorsa negativo del cilindro A (a0).

PL-Sim risponde mostrando a video la finestra di dialogo Scelta collegamento per gli ingressi del PLC. Il tipo di finestra da visualizzare viene automaticamente decisa da PC-Sim poiché riconosce come ingresso o come uscita il componente dell’impianto cliccato.

2. Selezionate l’ingresso I0.0 (canale 0) e premete il Pulsante Ok.

6-6 Realizziamo insieme la prima applicazione

AW-SYS – software di simulazione PLC e impianti Autoware srl

La finestra viene chiusa e sull’impianto di elettropneumatica, in corrispondenza del finecorsa negativo del cilindro A, viene mostrato l’indirizzo del collegamento in colorazione blu, come riportato nella figura seguente.

3. Impostate in successione i collegamenti per gli altri finecorsa, come fatto per il primo e secondo quanto specificato nella tabella precedente.

Occupiamoci ora dei solenoidi, che andremo a collegare ai canali di uscita del PLC secondo quanto riportato nella tabella seguente.

Solenoide Canale d’uscita

A- Q0.0

A- Q0.1

B+ Q0.2

B- Q0.3

4. Fate clic sull’impianto in corrispondenza del solenoide positivo del cilindro A (A+).

PL-Sim risponde mostrando a video la finestra di dialogo Scelta collegamento per le uscite del PLC.

5. In essa selezionate l’uscita Q0.0 (canale 0) e premete il Pulsante Ok.

La finestra viene chiusa e sull’impianto di elettropneumatica, in corrispondenza del solenoide positivo del cilindro A, viene mostrato l’indirizzo del collegamento in colorazione rossa, come riportato nella seguente figura.

6. Impostate in successione i collegamenti per gli altri solenoidi, come fatto per il primo e secondo quanto specificato nella tabella precedente.

Realizziamo insieme la prima applicazione 6-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Abbiamo così terminato i collegamenti. Gli indirizzi di collegamento per i primi due cilindri dell’impianto appariranno come in figura. Ricordiamo che la colorazione blu individua i collegamenti a canali d’ingresso e quella rossa i collegamenti a canali di uscita.

Scrittura del programma AWL

1. Dal Menu File di PC-Sim scegliete il Comando Nuovo progetto AWL (PS3).

Viene aperta la finestra dell’editor di programma AWL.

2. Digitate il codice che segue, premendo Invio al termine di ogni istruzione. 000: L I0.7 001: A I0.2 002: = Q0.0 003: L I0.1 004: = Q0.2 005: L I0.3 006: = Q0.1 007: L I0.0 008: = Q0.3

La fase di introduzione del programma è così terminata e si può avviare il PLC e testare l’automazione. Continuate la lettura col paragrafo Test del programma.

Scrittura del programma ladder

1. Dal Menu File di PC-Sim scegliete il Comando Nuovo progetto ladder (FPC 404 e PS3).

Viene aperta la finestra dell’editor di programma ladder all’interno della quale è già predisposto il primo percorso di corrente vuoto.

2. Selezionate lo strumento di inserimento di contatti NA ( ) nella Casella strumenti.

3. Fate clic sul percorso di corrente nella prima posizione di inserimento;

Viene disegnato un contatto normalmente aperto.

4. Fate ancora clic nella seconda posizione di inserimento.

Un secondo contatto normalmente aperto viene disegnato in serie al primo.

6-8 Realizziamo insieme la prima applicazione

AW-SYS – software di simulazione PLC e impianti Autoware srl

Questo è quanto dovreste vedere sullo schermo a questo punto della fase di introduzione del programma.

Passiamo all’introduzione degli operandi per ognuno degli elementi di schema presenti: i due contatti e la bobina.

5. Fate clic nel campo con sfondo grigio al di sopra del primo contatto.

6. Digitate l’operando I0.7 e premete Invio.

Il cursore di inserimento caratteri si sposta sul campo operando del contatto successivo; l’operando sul primo contatto ha ora uno sfondo bianco.

7. Digitate l’operando I0.2 e premete Invio;

Il cursore di inserimento caratteri si sposta sul campo operando della bobina.

8. Digitate Q0.0 e premete Invio.

Abbiamo così terminato il disegno del primo percorso di corrente che vi apparirà così sullo schermo.

Aggiungiamo ora un nuovo percorso di corrente.

9. Dal Menu Modifica di PC-Sim scegliete il Comando Aggiungi.

Un percorso di corrente vuoto viene aggiunto alla fine dello schema.

10. Disegnate un contatto NA in prima posizione, come abbiamo imparato a fare disegnando il primo percorso.

11. Digitate gli operandi I0.1 e Q0.2 come indicato nello schema seguente.

Realizziamo insieme la prima applicazione 6-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

12. Aggiungete ancora due percorsi come fatto in precedenza.

13. Disegnate i contatti.

14. Digitate gli operandi I0.3, Q0.1, I0.0 e Q0.3, come mostrato nell’ultimo schema sottostante.

Lo schema ladder è ora completo e la descrizione specifica per questo PLC è così terminata. Continuate la lettura dal paragrafo Test del programma più avanti in questo capitolo.

PLC S5 100U

Collegamento ingressi e uscite

La scrittura del programma utente dovrà essere preceduta dalla definizione dei collegamenti tra il PLC ed i componenti dell’impianto, in questo caso i contatti dei finecorsa ed i solenoidi dei distributori. Cominceremo con i segnali d’ingresso, più avanti poi ci occuperemo di quelli di uscita.

La tabella seguente riporta i collegamenti che attueremo per i finecorsa dei cilindri.

Finecorsa Canale d’ingresso

a0 E0.0

a1 E0.1

b0 E0.2

b1 E0.3

Procedete come segue.

1. Fate clic sull’impianto in corrispondenza del finecorsa negativo del cilindro A (a0).

PL-Sim risponde mostrando a video la finestra di dialogo Scelta collegamento per gli ingressi del PLC. Il tipo di finestra da visualizzare viene automaticamente decisa da PC-Sim poiché riconosce come ingresso o come uscita il componente dell’impianto cliccato.

6-10 Realizziamo insieme la prima applicazione

AW-SYS – software di simulazione PLC e impianti Autoware srl

2. Selezionate l’ingresso E0.0 (modulo 0 e canale 0) e premete il Pulsante Ok.

La finestra viene chiusa e sull’impianto di elettropneumatica, in corrispondenza del finecorsa negativo del cilindro A, viene mostrato l’indirizzo del collegamento in colorazione blu, come riportato nella figura seguente.

3. Impostate in successione i collegamenti per gli altri finecorsa come fatto per il primo e secondo quanto specificato nella tabella precedente.

Occupiamoci ora dei solenoidi, che andremo a collegare ai canali di uscita del PLC secondo quanto riportato nella tabella seguente.

Solenoide Canale d’uscita

A+ A2.0

A- A2.1

B+ A2.2

B- A2.3

4. Fate clic sull’impianto in corrispondenza del solenoide positivo del cilindro A (A+).

PL-Sim risponde mostrando a video la finestra di dialogo Scelta collegamento per le uscite del PLC.

5. In essa selezionate l’uscita A2.0 (modulo 2 e canale 0) e premete il Pulsante Ok.

La finestra viene chiusa e sull’impianto di elettropneumatica, in corrispondenza del solenoide positivo del cilindro A, viene mostrato l’indirizzo del collegamento in colorazione rossa, come riportato nella seguente figura.

6. Impostate in successione i collegamenti per gli altri solenoidi, come fatto per il primo e secondo quanto specificato nella tabella precedente.

Realizziamo insieme la prima applicazione 6-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Abbiamo così terminato i collegamenti. Gli indirizzi di collegamento per i primi due cilindri dell’impianto appariranno come in figura. Ricordiamo che la colorazione blu individua i collegamenti a canali d’ingresso e quella rossa i collegamenti a canali di uscita.

Scrittura del programma in AWL

1. Dal Menu File di PC-Sim scegliete il Comando Nuovo progetto (S5 100U e S7 300).

2. Nella Finestra Lista blocchi (S5 100U e S7 300) fate clic sul Pulsante Nuovo oppure scegliete il Comando

Nuovo blocco (S5 100U e S7 300) dal Menu File.

In risposta, PC-Sim mostra la finestra di dialogo Nuovo blocco.

3. Inserite i dati secondo quanto riportato in figura; il tipo blocco AWL è la selezione predefinita.

4. Premete il Pulsante Crea.

Viene aperto l’editor AWL per il blocco appena creato (OB1) e la sua sigla viene aggiunta nella Tabella

blocchi.

5. Digitate il codice seguente, premendo Invio al termine di ogni istruzione. Gli spazi di separazione vengono aggiunti automaticamente.

U E0.7 U E0.2 = A2.0 U E0.1 = A2.2 U E0.3 = A2.1 U E0.0 = A2.3 BE

La fase di introduzione del programma è così terminata e si può avviare il PLC e testare l’automazione. Proseguite la lettura con il paragrafo Test del programma più avanti in questo capitolo.

Scrittura del programma in ladder

1. Dal Menu File di PC-Sim scegliete il Comando Nuovo progetto (S5 100U e S7 300).

6-12 Realizziamo insieme la prima applicazione

AW-SYS – software di simulazione PLC e impianti Autoware srl

2. Nella Finestra Lista blocchi (S5 100U e S7 300) fate clic sul Pulsante Nuovo oppure scegliete il Comando

Nuovo blocco (S5 100U e S7 300) dal Menu File.

In risposta, PC-Sim mostra la finestra di dialogo Nuovo blocco.

3. Inserite i dati secondo quanto riportato in figura; notate che occorre selezionare Ladder come editor di blocco.

4. Premete il pulsante Crea.

La sigla del blocco appena creato viene aggiunta nella Tabella blocchi e vengono aperte la finestra di editor ladder per il blocco specificato e la Casella strumenti. Nell’editor è già presente il primo percorso di corrente vuoto.

5. Selezionate lo strumento di inserimento di contatti NA ( ) nella Casella strumenti.

6. Fate clic sul percorso di corrente nella prima posizione di inserimento;

Viene disegnato un contatto normalmente aperto.

7. Fate ancora clic nella seconda posizione di inserimento.

Un secondo contatto normalmente aperto viene disegnato in serie al primo.

Questo è quanto dovreste vedere sullo schermo a questo punto della fase di editing.

Passiamo all’inserimento degli operandi per ognuno degli elementi di schema presenti: i due contatti e la bobina.

8. Fate clic nel campo con sfondo grigio al di sopra del primo contatto.

9. Digitate l’operando E0.7 e premete Invio.

Realizziamo insieme la prima applicazione 6-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Il cursore di inserimento caratteri si sposta sul campo operando del contatto successivo; l’operando sul primo contatto ha ora uno sfondo bianco.

10. Digitate l’operando E0.2 e premete Invio.

Il cursore di inserimento caratteri si sposta sul campo operando della bobina.

11. Digitate A2.0 e premete Invio.

Abbiamo così terminato il disegno del primo percorso di corrente che vi apparirà così sullo schermo.

Aggiungiamo ora un nuovo percorso di corrente.

12. Dal Menu Modifica di PC-Sim scegliete il Comando Aggiungi.

Un percorso di corrente vuoto viene aggiunto alla fine dello schema.

13. Disegnate un contatto NA in prima posizione, come abbiamo imparato a fare disegnando il primo percorso.

14. Digitate gli operandi E0.1 e A2.2 come indicato nello schema seguente.

15. Aggiungete ancora due percorsi come fatto in precedenza.

16. Disegnate i contatti.

17. Digitate gli operandi E0.3, A2.1, E0.0 e A2.3, come mostrato nell’ultimo schema sottostante.

6-14 Realizziamo insieme la prima applicazione

AW-SYS – software di simulazione PLC e impianti Autoware srl

PLC S7 300

Collegamento ingressi e uscite

La scrittura del programma utente dovrà essere preceduta dalla definizione dei collegamenti tra il PLC ed i componenti dell’impianto, in questo caso i contatti dei finecorsa ed i solenoidi dei distributori. Cominceremo con i segnali d’ingresso, più avanti poi ci occuperemo di quelli di uscita.

La tabella seguente riporta i collegamenti che attueremo per i finecorsa dei cilindri.

Finecorsa Canale d’ingresso

a0 E0.0

a1 E0.1

b0 E0.2

b1 E0.3

Procedete come segue.

1. Fate clic sull’impianto in corrispondenza del finecorsa negativo del cilindro A (a0).

PL-Sim risponde mostrando a video la finestra di dialogo Scelta collegamento per gli ingressi del PLC. Il tipo di finestra da visualizzare viene automaticamente decisa da PC-Sim poiché riconosce come ingresso o come uscita il componente dell’impianto cliccato.

2. Selezionate l’ingresso E0.0 (modulo 0 e canale 0) e premete il Pulsante Ok.

La finestra viene chiusa e sull’impianto di elettropneumatica, in corrispondenza del finecorsa negativo del cilindro A, viene mostrato l’indirizzo del collegamento in colorazione blu, come riportato nella figura seguente.

3. Impostate in successione i collegamenti per gli altri finecorsa come fatto per il primo e secondo quanto

specificato nella tabella precedente.

Occupiamoci ora dei solenoidi, che andremo a collegare ai canali di uscita del PLC secondo quanto riportato nella tabella seguente.

Realizziamo insieme la prima applicazione 6-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Solenoide Canale d’uscita

A+ A4.0

A- A4.1

B+ A4.2

B- A4.3

4. Fate clic sull’impianto in corrispondenza del solenoide positivo del cilindro A (A+).

PL-Sim risponde mostrando a video la finestra di dialogo Scelta collegamento per le uscite del PLC.

5. In essa selezionate l’uscita A4.0 (byte 4 e canale 0) e premete il Pulsante Ok.

La finestra viene chiusa e sull’impianto di elettropneumatica, in corrispondenza del solenoide positivo del cilindro A, viene mostrato l’indirizzo del collegamento in colorazione rossa, come riportato nella seguente figura.

6. Impostate in successione i collegamenti per gli altri solenoidi, come fatto per il primo e secondo quanto

specificato nella tabella precedente.

Abbiamo così terminato i collegamenti. Gli indirizzi di collegamento per i primi due cilindri dell’impianto appariranno come in figura. Ricordiamo che la colorazione blu individua i collegamenti a canali d’ingresso e quella rossa i collegamenti a canali di uscita.

6-16 Realizziamo insieme la prima applicazione

AW-SYS – software di simulazione PLC e impianti Autoware srl

Scrittura del programma in AWL

1. Dal Menu File di PC-Sim scegliete il Comando Nuovo progetto (S5 100U e S7 300).

2. Nella Finestra Lista blocchi (S5 100U e S7 300) fate clic sul Pulsante Nuovo oppure scegliete il Comando

Nuovo blocco (S5 100U e S7 300) dal Menu File.

In risposta, PC-Sim mostra la finestra di dialogo Nuovo blocco.

3. Inserite i dati secondo quanto riportato in figura; il tipo blocco AWL è la selezione predefinita.

4. Premete il Pulsante Crea.

Viene aperto l’editor AWL per il blocco appena creato (OB1) e la sua sigla viene aggiunta nella Tabella

blocchi.

5. Digitate il codice seguente, premendo Invio al termine di ogni istruzione. Gli spazi di separazione

vengono aggiunti automaticamente.

U E0.7 U E0.2 = A2.0 U E0.1 = A2.2 U E0.3 = A2.1 U E0.0 = A2.3 BE

La fase di introduzione del programma è così terminata e si può avviare il PLC e testare l’automazione. Proseguite la lettura con il paragrafo Test del programma più avanti in questo capitolo.

Scrittura del programma in ladder

1. Dal Menu File di PC-Sim scegliete il Comando Nuovo progetto (S5 100U e S7 300).

2. Nella Finestra Lista blocchi (S5 100U e S7 300) fate clic sul Pulsante Nuovo oppure scegliete il Comando

Nuovo blocco (S5 100U e S7 300) dal Menu File.

In risposta, PC-Sim mostra la finestra di dialogo Nuovo blocco.

3. Inserite i dati secondo quanto riportato in figura; notate che occorre selezionare Ladder come editor di blocco.

Realizziamo insieme la prima applicazione 6-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

4. Premete il pulsante Crea.

La sigla del blocco appena creato viene aggiunta nella Tabella blocchi e vengono aperte la finestra di editor ladder per il blocco specificato e la Casella strumenti. Nell’editor è già presente il primo percorso di corrente vuoto.

5. Selezionate lo strumento di inserimento di contatti NA ( ) nella Casella strumenti.

6. Fate clic sul percorso di corrente nella prima posizione di inserimento;

Viene disegnato un contatto normalmente aperto.

7. Fate ancora clic nella seconda posizione di inserimento.

Un secondo contatto normalmente aperto viene disegnato in serie al primo.

Questo è quanto dovreste vedere sullo schermo a questo punto della fase di editing.

Passiamo all’inserimento degli operandi per ognuno degli elementi di schema presenti: i due contatti e la bobina.

8. Fate clic nel campo con sfondo grigio al di sopra del primo contatto.

9. Digitate l’operando E0.7 e premete Invio.

Il cursore di inserimento caratteri si sposta sul campo operando del contatto successivo; l’operando sul primo contatto ha ora uno sfondo bianco.

10. Digitate l’operando E0.2 e premete Invio.

Il cursore di inserimento caratteri si sposta sul campo operando della bobina.

6-18 Realizziamo insieme la prima applicazione

AW-SYS – software di simulazione PLC e impianti Autoware srl

11. Digitate A2.0 e premete Invio.

Abbiamo così terminato il disegno del primo percorso di corrente che vi apparirà così sullo schermo.

Aggiungiamo ora un nuovo percorso di corrente.

12. Dal Menu Modifica di PC-Sim scegliete il Comando Aggiungi.

Un percorso di corrente vuoto viene aggiunto alla fine dello schema.

13. Disegnate un contatto NA in prima posizione, come abbiamo imparato a fare disegnando il primo percorso.

14. Digitate gli operandi E0.1 e A2.2 come indicato nello schema seguente.

15. Aggiungete ancora due percorsi come fatto in precedenza.

16. Disegnate i contatti.

17. Digitate gli operandi E0.3, A2.1, E0.0 e A2.3, come mostrato nell’ultimo schema sottostante.

Realizziamo insieme la prima applicazione 6-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Test del programma

1. Date alimentazione al PLC virtuale premendo il pulsante CPU On ( ) nella Barra strumenti di PC-Sim.

2. Avviate il PLC virtuale premendo il pulsante CPU Run ( ) nella stessa barra.

3. Avviate il ciclo premendo l’interruttore 0.7 ( ) nella Finestra PLC.

Se tutte le fasi precedenti sono state eseguite correttamente vedrete i cilindri A e B muoversi secondo un ciclo quadro, fintanto che l’interruttore 0.7 rimane inserito.

4. Fermate il ciclo disinserendo l’interruttore 0.7.

5. Attendete che i cilindri si portino nella posizione iniziale per constatare la fermata del ciclo.

6. Riavviate il ciclo reinserendo l’interruttore 0.7.

7. Provate ad attivare il debug: premete il Pulsante Debug della Finestra Lista blocchi (S5 100U e S7 300) oppure scegliete dal Menu Finestra il Comando Debug (FPC 404 e PS3).

Se avete programmato in AWL nella finestra di editor, in corrispondenza di ciascuna istruzione potrete leggere lo stato dell’operando ed il valore corrente dei registri.

Se, invece, avete programmato in ladder lo schema a contatti si animerà: il colore dei contatti, delle bobine e delle linee di corrente varierà nel tempo indicandovi i contatti e le bobine eccitati ed i percorsi attraversati da corrente.

8. Provate ora a variare la base tempi dell’impianto agendo sul selettore di velocità ( ) nella Barra strumenti dell’impianto.

Provate ancora il funzionamento a passi.

9. Premete il Pulsante di Stop ( ) nella Barra strumenti dell’impianto.

10. Premete ripetutamente il Pulsante di passo ( ).

Ad ogni clic l’impianto avanzerà di un passo, permettendovi così di esaminare con attenzione il funzionamento del ciclo.

Siete ora pronti a sperimentare altri cicli con questo e con gli altri impianti di elettropneumatica e quindi le automazioni degli altri impianti di PL-Sim. Ricordate che, in caso di difficoltà, potrete consultare la Guida in linea di PC-Sim e quella di PL-Sim o il presente manuale. Potrete inoltre caricare i numerosi esempi forniti insieme con gli impianti.

Se proprio non riuscite a risolvere il problema di automazione che state affrontando contattate il Servizio

Supporto Tecnico Utenti AW-SYS della Autoware, saremo lieti di aiutarvi.

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 77 NOTE SULLA PROGRAMMAZIONE DEL PLC FPC 404

Premessa

Le note fornite in questa sezione si riferiscono unicamente al PLC simulato, cioè a PC-Sim per FPC 404. Molto spesso comunque, e proprio perché in tutta la simulazione in AW-SYS si è cercato di avvicinarsi quanto più possibile alla realtà, esse trovano riscontro anche nel PLC reale. Si consiglia vivamente l’utilizzo dei manuali originali del PLC e dell’apparecchiatura di programmazione per tutte le informazioni necessarie alla programmazione del dispositivo reale.

Alcuni degli argomenti trattati, per loro natura, sono comuni ai diversi PLC simulati. Si è preferito però ripetere le stesse descrizioni per tutti al fine di far diventare ognuno di questi capitoli un’entità autonoma: un comodo ed indispensabile manuale da tenere a portata di mano durante la programmazione del PLC simulato.

Generalità sul PLC FPC 404

L’FPC 404 è un PLC modulare e, nella simulazione, è costituito dai seguenti moduli:

Nr.modulo Tipo

0 CPU + 8 ingressi digitali + 8 uscite ditali

1 8 ingressi digitali + 8 uscite ditali

La CPU è dotata di un commutatore di accensione (On-Off) e un commutatore del modo di funzionamento (Stop-Run). Due LED, STOP di colore giallo e RUN di colore verde, segnalano lo stato attuale della CPU. L’accensione del LED giallo indica che la CPU è alimentata è si trova nello stato di STOP. L’accensione del LED verde indica che la CPU è alimentata e si trova in stato di RUN.

Ogni ingresso ed ogni uscita digitale dispone del LED di segnalazione dello stato: LED acceso per stato attivo, LED spento per stato disattivo.

Indirizzamento

Sotto il nome di indirizzamento va la serie di regole sintattiche che si deve osservare nel far riferimento a variabili o costanti durante la scrittura di un programma applicativo per PLC. L’indirizzamento nella simulazione del PLC FPC 404 si effettua in accordo alle regole esposte di seguito e riassunte nella Tabella 6.

Ingressi - Uscite

La sigla per l’indirizzamento degli ingressi e delle uscite in questo modello di PLC è composta da:

• lettera che individua gli ingressi (I) o le uscite (O);

• numero di modulo;

• punto di separazione;

• numero di canale.

7-2 Note sulla programmazione del PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

Nell’indirizzamento dell’I/O del modulo 0 viene usata la forma abbreviata con la omissione del numero del modulo e del punto di separazione.

Quindi, ad esempio:

• I1.4 individua il canale di ingresso 4 del modulo 1;

• O1.3 individua il canale di uscita 3 del modulo 1;

• I2 individua il canale di ingresso 2 del modulo 0;

• O3 individua il canale di uscita 3 del modulo 0;

Allora, riassumendo:

gli 8 ingressi del modulo 0 corrispondono agli indirizzi abbreviati I0 ÷ I7;

gli 8 ingressi del modulo 1 corrispondono agli indirizzi I1.0 ÷ I1.7;

le 8 uscite del modulo 0 corrispondono agli indirizzi abbreviati O0 ÷ O7;

le 8 uscite del modulo 1 corrispondono agli indirizzi O1.0 ÷ O1.7.

Flag

La memoria flag è composta da 16 word. Ogni bit di questa memoria è indirizzabile singolarmente con le sigle composte come segue:

• lettera che individua i flag (F);

• numero di word;

• punto di separazione;

• numero di bit.

Il campo dei flag indirizzabili va quindi da F0.0 a F15.15.

Trattazione separata merita il flag FI. Con questa sigla è possibile indirizzare un flag che il sistema provvede a impostare a 1 all’inizio del primo ciclo di elaborazione del programma e a portare a zero al ciclo successivo e che poi rimarrà in questo stato fino ad un nuovo riavviamento. Questo flag è utilizzabile solo con operazioni di test, cioè come operando di contatti, e viene utilizzato per le impostazioni iniziali che debbano essere effettuate al passaggio in RUN.

Temporizzatori

Sono stati implementati nel PLC simulato i 40 temporizzatori presenti in quello reale; gli indirizzi vanno da T0 a T39.

Contatori

Sono stati implementati nel PLC simulato i 48 contatori presenti in quello reale; gli indirizzi vanno da C0 a C47.

Tabella 6: Riepilogo operandi per FPC 404

Tipo Q.tà Min Max

Ingressi a bit 16 I0 (I0.0) I1.7

Uscite a bit 16 O0 (O0.0) O1.7

Flag bit 256 F0.0 F15.15

Flag primo ciclo 1 FI

Temporizzatori 40 T0 T39

Contatori 49 C0 C47

Note sulla programmazione del PLC FPC 404 7-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elaborazione del programma utente

Sistema operativo

Il cuore del funzionamento del PLC è il suo Sistema Operativo: un programma che gestisce il funzionamento di base dell’apparecchiatura, registrato in ROM dalla casa costruttrice.

Una disamina puntale delle funzioni del Sistema Operativo non rientra nei compiti di questo manuale, ed anche nei manuali dei PLC reali è difficile trovare chiarimenti dettagliati a riguardo; tra l’altro, il fatto che questo programma venga eseguito è completamente trasparente al programmatore che, per certi versi, può addirittura ignorarne l’esistenza.

Elenchiamo comunque, per completezza, alcune delle funzioni da esso svolte, quelle che riteniamo più importanti ai fini della trattazione seguente:

• controllo del tempo di ciclo (watch-dog)

• test dell’hardware e della memoria

• richiamo del programma utente

• gestione presa di programmazione

Stato della CPU

La CPU può trovarsi in uno dei seguenti stati:

OFF: il PLC non è alimentato, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di Off. I LED Stop e Run sul fronte del PLC sono spenti.

STOP: il PLC è alimentato ma il programma utente non viene eseguito, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di On ed il commutatore di funzionamento si trova nella posizione di Stop. Il LED Stop è acceso, il LED Run è spento.

RUN: Il PLC è alimentato e viene eseguito il programma utente, il commutatore di accensione nella Barra

strumenti di PC-Sim si trova nella posizione di On ed il commutatore di funzionamento si trova nella posizione di Run. Il LED Stop è spento, il LED Run è acceso.

Lo stato attuale della CPU viene visualizzato nella barra del titolo della Finestra PLC racchiuso tra parentesi quadre.

Controllo del tempo di ciclo

Il sistema operativo, subito prima di effettuare il richiamo del programma utente, avvia un monostabile che ha in genere una durata che va da qualche decina fino a pochissime centinaia di millisecondi. Supponiamo che il programma utente richieda per la sua esecuzione un tempo inferiore a quello del monostabile. In questa situazione, prima di ogni suo successivo richiamo il monostabile verrebbe avviato nuovamente e, come risultato, l’uscita di quest’ultimo rimarrebbe continuamente alta.

Se, invece, il programma utente richiedesse per la sua esecuzione più tempo della durata del monostabile, allora l’uscita di questo si porterebbe allo stato basso, provocando l’immediato passaggio in Stop del PLC.

Un programma realizzato male potrebbe portare la CPU ad eseguire indefinitamente, o per un tempo eccessivo ai fini della rapidità del controllo dell’impianto, un ciclo chiuso di istruzioni senza tornare all’elaborazione del sistema operativo. Questa condizione potrebbe portare danni all’impianto e grave pericolo per il personale che vi opera. Il controllo del tempo di ciclo, che nella letteratura tecnica specializzata trovate anche col nome di watch-dog, evita proprio questo problema.

7-4 Note sulla programmazione del PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

Anche PC-Sim controlla che il vostro programma non generi un ciclo chiuso ma, in questo caso, i molteplici e mutabili compiti di un PC, impongono tempi più lunghi per la rilevazione del problema, dell’ordine di qualche secondo.

Programmazione in Ladder

Tabella 7: Elementi del ladder per FPC 404 per ingressi, uscite e flag

Elemento Descrizione

Zona condizionale

Contatto normalmente aperto, test sullo stato 1 dell’operando.

Il contatto sullo schema si chiude quando l’operando corrispondente si trova allo stato logico alto. Per esempio, se l’operando è un ingresso digitale del PLC, il contatto è chiuso quando l’ingresso è chiuso e viceversa.

Contatto normalmente chiuso, test sullo stato 0 dell’operando.

Il contatto sullo schema si chiude quando l’operando corrispondente si trova allo stato logico basso. Per esempio, se l’operando è un ingresso digitale del PLC, il contatto è chiuso quando l’ingresso è aperto e viceversa.

Zona esecutiva

Bobina diretta

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico alto. Se la bobina non è attiva, all’operando viene assegnato il valore logico basso.

Bobina inversa

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico basso. Se la bobina non è attiva, all’operando viene assegnato il valore logico alto.

Bobina di set

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico alto. Se la bobina non è attiva, nessuna azione è compiuta sullo stato dell’operando.

Bobina di reset

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico basso. Se la bobina non è attiva, nessuna azione è compiuta sullo stato dell’operando.

Operazioni di temporizzazione

L’avviamento di un tempo si effettua utilizzando una bobina ed immettendo come operando una sigla valida per temporizzatore.

Se l’operazione di avviamento del tempo si effettua con la bobina di set verrà generato un impulso prolungato. Sul fronte di attivazione della bobina, il valore di preset viene caricato nel temporizzatore e viene iniziato il conteggio del tempo. Lo stato del temporizzatore è a 1 durante tutto lo scorrere del tempo. Trascorso il tempo, lo stato viene portato a 0.

Note sulla programmazione del PLC FPC 404 7-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Se l’operazione di avviamento del tempo si effettua, invece, con la bobina diretta verrà generato un impulso. Sul fronte di attivazione della bobina, il valore di preset viene caricato nel temporizzatore e viene iniziato il conteggio del tempo. Lo stato del temporizzatore è a 1 durante tutto lo scorrere del tempo. Trascorso il tempo, viene messo a 0. Se durante lo scorrere del tempo la bobina viene disattivata, il tempo viene cancellato e lo stato viene portato immediatamente a 0.

Il test sullo stato del temporizzatore si effettua utilizzando un contatto (NA o NC) a cui viene assegnato come operando la sigla del temporizzatore.

Tabella 8: Elementi del ladder per FPC 404 per temporizzatori

Elemento Descrizione

Zona condizionale

Contatto normalmente aperto, test sullo stato 1 dell’operando.

Il contatto sullo schema si chiude quando l’operando temporizzatore si trova allo stato logico alto.

Contatto normalmente chiuso, test sullo stato 0 dell’operando.

Il contatto sullo schema si chiude quando l’operando temporizzatore si trova allo stato logico basso.

Zona esecutiva

Bobina diretta

Alla attivazione della bobina (fronte di salita), cioè alla chiusura di una catena di contatti verso la linea sinistra di alimentazione, il tempo viene avviato. Durante lo scorrere del tempo lo stato del temporizzatore è alto. Alla apertura della catena o al termine del tempo lo stato del temporizzatore viene riportato a zero.

Bobina inversa

Alla disattivazione della bobina (fronte di discesa), cioè alla apertura di una catena di contatti verso la linea sinistra di alimentazione, il tempo viene avviato. Durante lo scorrere del tempo lo stato del temporizzatore è alto. Alla chiusura della catena o al termine del tempo lo stato del temporizzatore viene riportato a 0.

Bobina di set

Alla attivazione della bobina (fronte di salita), cioè alla chiusura di una catena di contatti verso la linea sinistra di alimentazione, il tempo viene avviato. Durante lo scorrere del tempo lo stato del temporizzatore è alto. Al termine del tempo lo stato del temporizzatore viene riportato a 0.

Bobina di reset

Alla attivazione della bobina (fronte di salita), cioè alla chiusura di una catena di contatti verso la linea sinistra di alimentazione, il tempo viene azzerato e lo stato viene portato a 0.

7-6 Note sulla programmazione del PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazioni di conteggio

Le operazioni di conteggio si programmano utilizzando diversi tipi di bobina e riportando in corrispondenza operandi validi di contatori.

Con questo PLC è possibile effettuare operazioni di conteggio sia in avanti che all’indietro utilizzando i 47 contatori implementati. Occorrerà tener presente le regole seguenti.

• L’attivazione di una bobina di set con operando contatore azzera il valore di conteggio e porta lo stato a 1.

• L’attivazione di una bobina di reset con operando contatore agisce solo sullo stato, portandolo a 0.

• L’attivazione di una bobina di preset con operando contatore carica come conteggio il valore di preset e porta lo stato a 1.

• L’attivazione di una bobina di decremento con operando contatore diminuisce di 1 il valore di conteggio

• L’attivazione di una bobina di incremento con operando contatore aumenta di 1 al valore di conteggio.

• Il test sullo stato del contatore si effettua utilizzando un contatto (NA o NC) a cui viene assegnato l’operando del contatore.

Conteggio in avanti

Per costruire un contatore per conteggio in avanti, bisogna eseguire innanzitutto un set dello stesso. Questa operazione porta il valore di conteggio a 0 e l’uscita a 1. Incrementando il valore di conteggio, lo stato continua a permanere ad 1 fino al raggiungimento del valore di preset, in corrispondenza del quale l’uscita passa a 0.

Conteggio all’indietro

Per costruire un contatore per conteggio all’indietro, è necessario eseguire dapprima un preset del medesimo. Questa operazione imposta il valore di conteggio a quello di preset e l’uscita a 1. Successivamente è possibile decrementare. Lo stato permane ad 1 fino a quando il valore di conteggio raggiunge lo 0, in corrispondenza di ciò l’uscita passa a 0.

L'impostazione del valore di preset di un contatore nel PLC reale avviene in maniera differente. Nella logica di uniformare per quanto possibile i diversi simulatori di PLC, in particolare nella metodologia di programmazione ladder, si è scelto di introdurre la bobina di preset che, in questi termini precisi, non trova corrispondenza nel linguaggio ladder dello FPC 404 reale.

Note sulla programmazione del PLC FPC 404 7-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Tabella 9: Elementi del ladder per FPC 404 per contatori

Elemento Descrizione

Zona condizionale

Contatto normalmente aperto, test sullo stato 1 dell’operando.

Il contatto sullo schema si chiude quando l’operando contatore si trova allo stato logico alto.

Contatto normalmente chiuso, test sullo stato 0 dell’operando.

Il contatto sullo schema si chiude quando l’operando contatore si trova allo stato logico basso.

Zona esecutiva

Bobina di set

Alla attivazione della bobina (fronte di salita), cioè alla chiusura di una catena di contatti chiusi verso la linea sinistra di alimentazione, il valore di conteggio del contatore indicato come operando viene azzerato ed il suo stato viene impostato ad 1.

Bobina di reset

Alla attivazione della bobina (fronte di salita), cioè alla chiusura di una catena di contatti chiusi verso la linea sinistra di alimentazione, lo stato del contatore indicato come operando viene portato a 0.

Bobina di incremento

Alla attivazione della bobina (fronte di salita), cioè alla chiusura di una catena di contatti verso la linea sinistra di alimentazione, il valore di conteggio del contatore indicato come operando viene incrementato di 1.

Bobina di decremento

Alla attivazione della bobina (fronte di salita), cioè alla chiusura di una catena di contatti verso la linea sinistra di alimentazione, il valore di conteggio del contatore indicato come operando viene decrementato di 1.

Bobina di preset

Alla attivazione della bobina (fronte di salita), cioè alla chiusura di una catena di contatti verso la linea sinistra di alimentazione, il valore di conteggio del contatore indicato come operando viene impostato al valore di preset.

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 88 ESEMPI DI PROGRAMMAZIONE PER PLC FPC 404

In questo capitolo vengono affrontati, in ordine crescente di complessità, numerosi esercizi di programmazione per il PLC FPC 404, la soluzione dei quali viene fornita sotto forma di schema a contatti. Per la verifica del funzionamento saranno necessari solo di interruttori o pulsanti per il comando degli ingressi del PLC. Lo stato delle uscite potrà essere valutato dai LED presenti sul fronte del dispositivo. Tutti gli elementi necessari si trovano nella finestra PLC di PC-Sim.

Se durante l’installazione di AW-SYS è stato scelto di installare anche gli esempi, troverete tutti quelli qui presentati nella cartella Aw-sys\Fpc404\Esempi del vostro computer. Essi possono essere caricati e testati con PC-Sim per FPC 404.

Il nome del file progetto da caricare ha il seguente Fxx-yyyL.prj, dove:

F individua un progetto per FPC 404;

xx sono due cifre che valgono sempre 00;

yyy è il numero progressivo dell’esempio espresso su tre cifre;

L specifica che si tratta di un progetto ladder.

Cioè, se desiderate caricare l’esempio di programmazione 8 aprite il progetto F00-008L.prj.

Nella stessa cartella saranno presenti anche diversi file progetto in cui le cifre xx sono diverse da 00. In questo caso gli esempi sono relativi agli impianti e xx individua il numero progressivo dell’impianto, così come appare nel Menu Impianti. Informazioni su come caricare e testare questi esempi potranno essere trovate nella Guida in linea di PC-Sim.

8-2 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 1: combinazione AND

Realizzare O2 = I0 AND I1

L’uscita O2 deve essere attivata se, e solo se, entrambi gli interruttori collegati agli ingressi I0 e I1 sono chiusi.

LADDER

La soluzione si ottiene mettendo in serie due contatti, con operandi I0 e I1, e la bobina O2. Infatti la combinazione logica AND, tradotta in linguaggio ladder, equivale alla serie di due contatti: ai capi della serie 'si legge’ la chiusura del circuito solo quando entrambi sono chiusi; questa è quindi l’unica condizione che attiva la bobina.

Esempio 2: combinazione OR

Realizzare O2 = I0 OR I1

L’uscita O2 deve essere attivata se almeno uno degli interruttori collegati agli ingressi I0 o I1 è chiuso.

LADDER

La soluzione si ottiene mettendo in serie alla bobina O2 il parallelo di due contatti, con operandi I0 e I1. Infatti la combinazione logica OR, tradotta in linguaggio ladder, equivale al parallelo di due contatti: ai capi del parallelo 'si legge’ la chiusura del circuito quando almeno uno dei contatti è chiuso; questa è quindi la condizione che porta all’eccitazione della bobina.

Esempio 3: combinazione AND di OR

Realizzare O7 = (I0 OR I1) AND (I2 OR I3)

LADDER

La soluzione dovrebbe essere intuitiva dopo aver realizzato gli esercizi precedenti: vengono messi in serie (AND) due paralleli (OR) di contatti, riportando opportunamente gli operandi in corrispondenza di questi e della bobina.

Esempi di programmazione per PLC FPC 404 8-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 4: combinazione OR di AND

Realizzare O7 = (I0 AND I1) OR (I2 AND I3). Dove le parentesi, sebbene non necessarie in quanto

l’operazione AND ha precedenza sulla OR, sono state aggiunte per chiarezza.

LADDER

La soluzione proposta mette in parallelo (OR) due serie (AND) di contatti, riportando opportunamente gli operandi in corrispondenza di questi e della bobina.

Esempio 5: combinazione XOR

Realizzare O2 = I0 XOR I1

L’operazione logica XOR applicata a due variabili booleane dà risultato vero solo quando solo una delle due variabili è vera.

LADDER

La prima serie di contatti del programma ladder è chiusa solo quando I0 è chiuso ed I1 è aperto; la seconda serie è chiusa solo quando, al contrario, I0 è aperto ed I1 è chiuso. Realizzando il parallelo delle due si ottiene la funzione desiderata. Cioè, la bobina viene eccitata solo quando un ingresso è chiuso e l’altro è aperto.

Esempio 6: autoritenuta

Un pulsante collegato all’ingresso I0 deve attivare l’uscita O1.7; un secondo pulsante collegato all’ingresso

I1 deve disattivarla.

LADDER

Nel programma ladder proposto viene realizzato un circuito con autoritenuta. Premendo il pulsante collegato a I0 la bobina O1.7 viene attivata, quindi il contatto con lo stesso operando sul secondo rigo si chiude (immaginate che il contatto e la bobina siano parti dello stesso relè O1.7) continuando a mantenere eccitata

8-4 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

la bobina anche dopo l’apertura di I0. La chiusura del pulsante all’ingresso I1 provoca l’apertura del contatto normalmente chiuso sullo schema, diseccitando la bobina e facendo cadere l’autoritenuta.

Esempio 7: set e reset

Un pulsante collegato all’ingresso I0 deve attivare l’uscita O1.7; un secondo pulsante, collegato all’ingresso

I1, deve disattivarla

L’esercizio è identico al precedente ma, questa volta, nella soluzione vengono usate bobine di set e reset.

LADDER

L’utilizzo del flag di appoggio F0.15 è necessario per impedire le oscillazioni dell’uscita quando sono chiusi entrambi gli ingressi. Infatti, in questa condizione ed a causa della mancanza dell'immagine delle uscite, il collegamento diretto delle bobine di set e reset ai contatti I0 ed I1 porterebbe ad avere, per ogni ciclo di esecuzione, prima l’eccitazione dell’uscita fisica O1.7 e poi la sua diseccitazione. Utilizzando un flag come operando delle bobine e sempre nell’ipotesi di entrambi i pulsanti eccitati, esso continua ancora ad oscillare assumendo lo stato alto e successivamente quello basso ma, l’unico valore a passare in uscita, al terzo percorso, sarà l’ultimo assunto: quello basso.

Con questa scrittura di programma abbiamo quindi realizzato una prevalenza del reset rispetto al set. Se desiderate ottenere il contrario, vi basterà invertire la posizione dei primi due percorsi nello schema a contatti.

Esempio 8: rilevazione fronti

Attivare le uscite O1.6 ed O1.7 in corrispondenza rispettivamente del fronte di salita e di quello di discesa

dell’ingresso I0.

Notiamo che l’ultimo percorso dello schema ladder impone l’eguaglianza del flag F0.0 all’ingresso I0 al termine dell’esecuzione del programma. Ma, in corrispondenza dei fronti e per i percorsi precedenti, accade che lo stato delle due variabili sia opposto e solo alla fine dell’elaborazione diventi uguale.

LADDER

Tutto ciò viene rappresentato nelle prime due righe del diagramma di Figura 1 con un ritardo temporale di F0.0 rispetto ad I0 che vale un ciclo di esecuzione.

Esempi di programmazione per PLC FPC 404 8-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Figura 1: diagramma temporale rilevatore fronti

La bobina O1.6 è attiva per un ciclo di programma quando I0 è a 1 e F0.0 è a 0, cioè in corrispondenza del fronte di salita di I0, come mostrato al terzo rigo del diagramma.

Al contrario, la bobina O1.7 è attiva per un ciclo di programma quando I0 è a 0 e F0.0 è a 1, cioè in corrispondenza del fronte di discesa di I0, come mostrato al quarto rigo del diagramma.

Esempio 9: temporizzatore ad impulso

L’uscita O5 viene attivata alla chiusura dell’ingresso I0 e disattivata 5 secondi dopo. Se l’ingresso viene

riaperto in questo periodo, l’uscita viene disattivata immediatamente.

Figura 2: diagramma temporale temporizzatore ad impulso

Il funzionamento del temporizzatore ad impulso è illustrato nel diagramma temporale di Figura 2. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo quello di uscita.

La bobina diretta, utilizzata per l’eccitazione di temporizzatore, è sensibile sia al fronte di salita che a quello di discesa dell’ingresso I0. Sul fronte di salita lo stato di T2 viene impostato ad 1 e viene avviato il tempo. Al termine della temporizzazione lo stato torna a 0. Se, durante lo scorrere del tempo, l’ingresso viene aperto cioè viene generato un fronte di discesa, lo stato del temporizzatore viene portato a 0 ed il tempo cancellato.

Il valore di preset del temporizzatore deve essere impostato a 500 centesimi di secondo nella Finestra

Impostazioni preset (FPC 404).

8-6 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER

Esempio 10: temporizzatore ad impulso prolungato

L’uscita O5 viene attivata alla chiusura dell’ingresso I0 e disattivata 5 secondi dopo, indipendentemente dal

fatto che l’ingresso venga riaperto o meno in questo periodo.

Il funzionamento del temporizzatore ad impulso prolungato è illustrato nel diagramma temporale di Figura 3. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo la corrispondente uscita.

A differenza di quanto fatto nell’esempio precedente, qui viene utilizzata una bobina di set per l’avvio del temporizzatore. Questa, a differenza della bobina diretta, è sensibile solo al fronte di salita per l’avviamento di un temporizzatore.

Figura 3: diagramma temporale del temporizzatore ad impulso prolungato

Come prima, sul fronte di salita di I0 lo stato di T2 viene impostato a 1 ed il tempo viene avviato. Al termine della temporizzazione lo stato di T2 torna a 0. Ma, durante lo scorrere del tempo, l’eventuale apertura dell’ingresso non viene sentita, cioè il fronte di discesa viene ignorato non influenzando l’uscita del temporizzatore che tornerà a zero solo a tempo esaurito.

LADDER

Il valore di preset del temporizzatore deve essere impostato a 500 centesimi di secondo nella Finestra

Impostazioni preset (FPC 404).

Esempi di programmazione per PLC FPC 404 8-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 11: temporizzatore con ritardo all’eccitazione

L’uscita O5 viene attivata 3,5 secondi dopo la chiusura dell’ingresso I0. Quando l’ingresso viene riaperto

l’uscita viene disattivata.

Il diagramma temporale di Figura 4 illustra il funzionamento della temporizzazione mostrando al primo rigo l’ingresso ed all’ultimo l’uscita. Il secondo rigo rappresenta, invece, lo stato del temporizzatore T2 che, come si evince dallo schema ladder è collegato per funzionare da impulso (vedi esempio relativo in precedenza).

Figura 4: diagramma temporale temporizzatore con ritardo alla eccitazione

Dal confronto degli andamenti, notiamo come O5 debba essere vero quando l’ingresso è vero e T2 è falso; cioè:

T2I0O5 ⋅=

Abbiamo appreso in precedenza a tradurre questa espressione in un diagramma ladder, è sufficiente disegnare un percorso in cui si pilota la bobina di O5 con due contatti in serie, uno NA di I0 ed uno NC (per via della negazione) di T2.

LADDER

Il valore di preset del temporizzatore deve essere impostato a 350 centesimi di secondo nella Finestra

Impostazioni preset (FPC 404).

8-8 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 12: temporizzatore con ritardo alla diseccitazione

L’uscita O5 deve essere attivata contemporaneamente alla chiusura dell’ingresso I0 e disattivata 5 secondi

dopo la sua riapertura.

Figura 5: diagramma temporale temporizzatore con ritardo alla diseccitazione

La soluzione viene costruita avviando un temporizzatore in corrispondenza del fronte di discesa del segnale di ingresso. La rilevazione del fronte è costituita dalla serie di contatti sul primo percorso e dall’intero ultimo percorso, come abbiamo già imparato a fare in uno degli esempi precedenti e come mostrato nei primi tre righi del diagramma.

Il quarto rigo riporta l’andamento dello stato del temporizzatore ad impulso prolungato (vedere esempio relativo) così come ottenuta avviando il temporizzatore in corrispondenza del fronte di discesa di I0.

Osserviamo che l’uscita O5 deve essere vera quando è vero l’ingresso o è vero T2, cioè in termini di espressione booleana:

O5 = I0 + T2

Il che, in termini di diagramma ladder, equivale a pilotare la bobina di O5 con il parallelo di due contatti NA con operandi I0 e T2.

LADDER

Il valore di preset del temporizzatore deve essere impostato a 500 centesimi di secondo nella Finestra

Impostazioni preset (FPC 404).

Esempi di programmazione per PLC FPC 404 8-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 13: temporizzatore con ritardo all’eccitazione con memoria

L’uscita O5 viene attivata 5 secondi dopo la chiusura dell’ingresso I0 (anche se quest’ultimo nel frattempo

torna viene riaperto) e disattivata in corrispondenza della chiusura dell’ingresso I1.

Il funzionamento del temporizzatore con ritardo all’eccitazione con memoria si ottiene dal confronto dei primi due righi e dell’ultimo del diagramma temporale di Figura 6. I primi rappresentano i segnali di ingresso, l’ultimo l’uscita a questi corrispondente.

Figura 6: diagramma temporale per temporizzatore con ritardo all'eccitazione con memoria e reset

Il terzo rigo del diagramma temporale mostra l’andamento del flag F0.0 così come ottenuto dall’elaborazione dei primi due percorsi dello schema ladder (vedere set e reset tra gli esempi precedenti). Questo flag avvia, al terzo percorso, un temporizzatore ad impulso il cui andamento temporale è mostrato al quarto rigo.

Ancora una volta, come negli esempi precedenti, confrontiamo gli andamenti per ricavare l’espressione logica che descrive il comportamento di O5 in termini delle variabili sui righi precedenti:

T2F0.0O5 ⋅=

L’espressione è stata implementata al quarto percorso dello schema a contatti.

LADDER

Il valore di preset del temporizzatore deve essere impostato a 500 centesimi di secondo nella Finestra

Impostazioni preset (FPC 404).

8-10 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione

L’uscita O1.3 viene attivata 2 secondi dopo la chiusura dell’ingresso I1 e disattivata 7 secondi dopo la sua

riapertura.

Figura 7: diagramma temporale temporizzatore con ritardo all'eccitazione ed alla diseccitazione

La Figura 7 illustra, al primo ed all’ultimo rigo del diagramma, l’andamento dei due segnali della traccia. Nel rigo intermedio è stato disegnato l’andamento di un flag che rappresenta lo stato di un temporizzatore con ritardo all’eccitazione attivato proprio da I1. Notiamo come l’andamento dell’uscita O5, rispetto all’andamento del flag, rappresenti un ritardo alla diseccitazione.

Il gioco è fatto! Si tratta di realizzare un programma contenente due temporizzatori: il primo, ritardo all’eccitazione da 2s, attivato da I1, il secondo, ritardo alla diseccitazione da 7s, attivato dal primo.

Osservando la soluzione proposta, notiamo che i primi due percorsi implementano un temporizzatore con ritardo all’eccitazione con ingresso I1 ed uscita F0.0. Gli altri tre percorsi implementano, invece, un temporizzatore con ritardo alla diseccitazione che ha come ingresso F0.0 ed uscita O1.3. Il flag F0.1 è necessario per la rilevazione del fronte di discesa di F0.0. L’esercizio è risolto!

LADDER

Il valore di preset del temporizzatore T0 deve essere impostato a 500 e quello di T1 a 700 centesimi di secondo nella Finestra Impostazioni preset (FPC 404).

Esempi di programmazione per PLC FPC 404 8-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 15: impulso ritardato

L’uscita O7 viene attivata 2 secondi l'apertura dell’ingresso I5 per una durata di 1 secondo.

Il diagramma in Figura 8 illustra al primo rigo l’andamento dell’ingresso ed all’ultimo quello della uscita del temporizzatore richiesto. Il secondo ed il terzo rigo rappresentano gli andamenti dello stato di due temporizzatori (T10 e T11) con ritardo alla diseccitazione (da 2s e 3s) che abbiamo già imparato ad realizzare negli esempi precedenti. Dal confronto è possibile ricavare l'espressione booleana che descrive l'uscita:

T11T10O7 ⋅=

Il primo e l’ultimo percorso dello schema implementano i due temporizzatori con ritardo alla diseccitazione, il secondo implementa l’espressione logica.

Figura 8: diagramma temporale dell'impulso ritardato

LADDER

Il valore di preset del temporizzatore T10 deve essere impostato a 200 e quello di T11 a 300 centesimi di secondo nella Finestra Impostazioni preset (FPC 404).

8-12 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 16: treno di impulsi

L’uscita O4 deve attivarsi per un istante ogni secondo.

Figura 9: diagramma temporale del treno di impulsi

L’esercizio viene risolto utilizzando un temporizzatore (T3) che si autoavvia ciclicamente. Ogni volta che il tempo arriva a zero lo stato del temporizzatore va basso, quindi il contatto NC si chiude e T3 si riavvia, il suo stato torna alto ed il contatto si riapre, e così via.

In parallelo alla bobina di T3 ne è stata inserita una di O4 per comandare l’uscita, come richiesto dalla traccia.

LADDER

Il valore di preset del temporizzatore deve essere impostato a 100 centesimi di secondo nella Finestra

Impostazioni preset (FPC 404).

Esempio 17: conteggio all’indietro

Il contatore C4 viene impostato sul valore 10 in corrispondenza dell’attivazione dell’ingresso I1.0 e viene

decrementato ad ogni chiusura dell’ingresso I1.1. L’uscita O1.7 viene attivata in corrispondenza del valore

0 del conteggio.

Nel primo percorso del programma ladder, il contatore C4 è utilizzato come operando di una bobina di preset. Il suo valore di conteggio viene impostato al preset alla chiusura dell'ingresso I1.0. Corrispondentemente il suo stato diventa vero.

Nel secondo percorso, la bobina di decremento provvede a diminuire di 1 il valore di conteggio di C4 ad ogni attivazione dell'ingresso I1.1. Al raggiungimento dello zero lo stato del contatore diventa falso.

Nell'ultimo percorso, l'uscita O1.7 viene comandata con il complemento dello stato del contatore.

LADDER

Il valore di preset del contatore deve essere impostato a 10 nella Finestra Impostazioni preset (FPC 404).

Esempi di programmazione per PLC FPC 404 8-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 18: conteggio in avanti

Il contatore C4 viene incrementato ad ogni chiusura dell’ingresso I1.2 e riportato a zero in corrispondenza

dello stato alto dell’ingresso I1.3. L’uscita O1.6 viene attivata quando il valore di conteggio raggiunge 10.

Nel primo percorso del programma ladder, il contatore C4 è utilizzato come operando di una bobina di set. Il suo valore di conteggio viene portato a zero alla chiusura dell'ingresso I1.3. Corrispondentemente il suo stato diventa vero.

Nel secondo percorso, la bobina di incremento provvede ad aumentare di 1 il valore di conteggio di C4 ad ogni attivazione dell'ingresso I1.2. Al raggiungimento del preset lo stato del contatore diventa falso.

Nell'ultimo percorso, l'uscita O1.6 viene comandata con il complemento dello stato del contatore.

LADDER

Il valore di preset del contatore deve essere impostato a 10 nella Finestra Impostazioni preset (FPC 404).

8-14 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)

Determinare per quanti secondi l’ingresso I5 rimane chiuso ed utilizzare l’ingresso I6 per azzerare il

conteggio del tempo.

Occorre realizzare innanzitutto una base tempi da un secondo, cioè un treno di impulsi con periodo da un secondo. Quindi occorrerà contare quanti impulsi di base tempi vengono generati durante la chiusura dell’ingresso, cioè gli istanti in cui sono contemporaneamente veri l’ingresso e la base tempi.

Figura 10: diagramma temporale del contatore tempo di chiusura ingresso

Il percorso 2 genera il treno di impulsi, così come chiarito nell’esempio 16. Il primo percorso ha il compito di incrementare il conteggio ogni secondo in corrispondenza della chiusura di I5. L’ultimo percorso esegue l’azzeramento del conteggio sulla chiusura di I6.

LADDER

Il valore di preset del temporizzatore deve essere impostato a 100 centesimi di secondo nella Finestra

Impostazioni preset (FPC 404).

Esempi di programmazione per PLC FPC 404 8-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi)

Determinare per quante ore, minuti e secondi l’ingresso I5 rimane chiuso ed utilizzare l’ingresso I6 per

azzerare il conteggio del tempo.

LADDER

Osserviamo anzitutto, alla fine del programma, la costruzione di un treno di impulsi col temporizzatore T3, che fungerà da base tempi. Per ottenere un periodo di 1 s il valore di preset deve essere pari a 100.

Al percorso 4 viene incrementato il contatore C5 quando, durante la chiusura dell’ingresso, si verifica un impulso di base tempi, cioè quando sono veri I5 e T3 contemporaneamente. Pertanto, con ingresso chiuso, C5 viene incrementato ogni secondo e quindi rappresenta il contatore dei secondi.

Quando il conteggio di C5 raggiunge il valore di preset, impostato su 60, lo stato del contatore va basso. Due contatti NC di esso, che in questo momento si chiudono, sono presenti sullo schema ai percorsi 1 e 5. Il primo, per mezzo della bobina di set, azzera C5; il secondo incrementa il contatore C6. Quest’ultimo viene incrementato di 1, quindi, ogni volta che C5 raggiunge il suo preset, cioè ogni 60 secondi. C6 pertanto rappresenta il contatore dei minuti.

Anche C6 ha un valore di preset pari a 60 e, quando viene raggiunto, lo stato del contatore diventa basso. Nella schema, ai percorsi 2 e 6, sono presenti due contatti NC di C6 che, in questa condizione, azzerano il valore di conteggio di C6 e incrementano C7. Quest’ultimo viene incrementato di 1, quindi, ogni volta che C6 raggiunge il suo preset, cioè ogni 60 minuti. C7 pertanto rappresenta il contatore delle ore.

I contatti NA di I6, presenti nei paralleli dei primi tre percorsi, provvedono alla funzione di azzeramento dei tre contatori a seguito della chiusura dell’ingresso, cioè all’azzeramento dell’intero contatempo. Identica

8-16 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

funzione viene svolta dai contatti con operando FI che eseguono l’azzeramento all’avvio del PLC, passaggio Stop-Run.

Concludendo, i contatori dei secondi e dei minuti vengono azzerati al raggiungimento del valore 60, quando si chiude l’ingresso I6 e durante il primo ciclo di elaborazione. Il contatore delle ore, invece, viene azzerato a seguito degli ultimi due eventi e non ha un limite di conteggio, se non la lunghezza del registro interno a 16bit. Il contatempo software costruito ci consente di contare, quindi, fino a 65535 ore, 59 minuti e 59 secondi (per la precisione!). Ammesso che si possa considerare un valore così preciso, su un tempo tanto lungo, tenendo presenti gli inevitabili errori dell’orologio interno sia del PLC reale che del PC su cui ‘gira’ quello simulato.

Nella Finestra Impostazioni preset (FPC 404) occorre impostare il valore di preset del temporizzatore a 100 centesimi di secondo e quelli dei contatori C5 e C6 a 60.

Esempio 21: generatore di onda quadra

L’uscita O7 deve essere comandata da un segnale ad onda quadra con Ton = 0.5s e Toff = 1.5s.

LADDER

Nella soluzione proposta vengono utilizzati due temporizzatori che si ‘rimpallano’ l’eccitazione. Inizialmente i due temporizzatori sono fermi. La prima elaborazione del percorso 1 dello schema a contatti attiva il temporizzatore T1 poiché il contatto NC di T2 è chiuso, in quanto T2 è disattivo. L’elaborazione del percorso successivo trova quindi T1 già avviato, il suo contatto NC allora è aperto e T2 non viene avviato. Nulla cambia fino allo scadere del tempo di T1. A questo punto il contatto sul percorso 2 si chiude ed avvia T2, di conseguenza il contatto sul percorso 1 si apre. Scaduto T2 il contatto sul percorso 1 si richiude e T1 riparte … e così via.

Il risultato di ciò è mostrato nel diagramma temporale di Figura 11 dove l’andamento di T2 rappresenta proprio la forma d’onda richiesta dalla traccia.

Potremmo aggiungere un percorso 3 nello schema in cui un contatto NA di T2 pilota una bobina dell’uscita O7. Abbiamo preferito invece sfruttare il contatto di T2 già presente, ma essendo quest’ultimo di tipo NC è stato necessario invertire anche la bobina per ottenere un risultato identico.

Nella Finestra Impostazioni preset (FPC 404) occorre impostare il valore di preset del temporizzatore T1 a 150 e quello di T2 a 50 centesimi di secondo. Modificando opportunamente tali valori è possibile variare Ton e Toff realizzando un’onda quadra con diversi duty cycle e frequenza.

Esempi di programmazione per PLC FPC 404 8-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Figura 11: diagramma temporale generatore di onda quadra

Esempio 22: comando temporizzato luci

Un pulsante collegato all’ingresso I0 attiva per tre minuti un gruppo di lampade collegate all’uscita O1,

insieme a queste viene attivata una spia collegata all’uscita O2 che, 15 secondi prima dello spegnimento delle

lampade, inizia a lampeggiare per avvisare dell’imminente scadere del tempo. La spia si spegne

definitivamente insieme con le lampade.

Per la soluzione di questo esercizio sono stati utilizzati 4 temporizzatori. T2 e T3 vengono usati come generatore di onda quadra con valori di preset di 0.5s, in modo che l’onda abbia un periodo di 1s ed un duty cycle del 50% (vedere esempio 21). Questo segnale verrà utilizzato per il comando del lampeggio della spia. I temporizzatori T0 e T1 vengono invece avviati come impulsi prolungati (percorso 3) dal medesimo segnale d’ingresso (I0). T0 ha un valore di preset di 3 minuti e verrà utilizzato per comandare direttamente il gruppo di lampade all’uscita O1 (percorso 4). Osserviamo dal confronto del secondo, terzo e quarto rigo del diagramma con l’ultimo che l’uscita O2 deve essere attiva quando è attivo T0 o quando, contemporaneamente, è attivo T1, non attivo T0 ed attivo T2, cioè in termini di espressione booleana:

T2T0T1T0O2 ⋅⋅+=

Riportando questa espressione in termini elettrici, si ottiene il percorso 5 dello schema.

Figura 12: diagramma temporale del comando luci temporizzato

8-18 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER

Nella Finestra Impostazioni preset (FPC 404) occorre impostare il valore di preset dei temporizzatori T2 e T3 a 50, quello di T0 a 1800 e quello di T1 a 1650 centesimi di secondo.

Esempio 23: divisore di frequenza (x4)

Realizzare un divisore di frequenza per 4: ogni quattro impulsi in ingresso viene attivato un impulso sull’uscita

O1.7.

LADDER

Il primo percorso realizza contemporaneamente tre funzioni:

• generare impulsi con periodo di 1 secondo che costituiranno il segnale da dividere (vedere esempio 16);

• comandare l’uscita O1.6 con il segnale generato;

• decrementare il contatore C3.

Il secondo percorso assolve invece alla duplice funzione di:

• ripristinare il contatore al valore di preset (4) quando il conteggio giunge a zero;

• trasferire all’uscita O1.7 il segnale diviso.

E’ sufficiente cambiare il valore di preset di C3 per dividere per un numero qualsiasi di volte (fino a 65535).

Esempi di programmazione per PLC FPC 404 8-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Figura 13: Diagramma temporale divisore di frequenza per 4

Nella Finestra Impostazioni preset (FPC 404) occorre impostare il valore di preset del contatore a 4 e quello del temporizzatore ad un valore conveniente per la valutazione del funzionamento. Impostando 100, il treno di impulsi avrà un periodo di 1 secondo e il LED dell'uscita si accenderà ogni 4 secondi.

Esempio 24: semaforo per Formula 1

Alla attivazione del pulsante collegato all’ingresso I0 le cinque lampade di un semaforo devono accendersi in

progressione, una ogni secondo. Un secondo dopo la completa accensione, le lampade devono spegnersi.

Nel programmare la soluzione di questo problema si è fatto uso di simboli. La loro corrispondenza con gli operandi assoluti è stata stabilita secondo la seguente tabella.

Op. assoluto Simbolo Commento

I0 START Pulsante di avvio

O1.0 L1 Lampada 1

O1.1 L2 Lampada 2

O1.2 L3 Lampada 3

O1.3 L4 Lampada 4

O1.4 L5 Lampada 5

8-20 Esempi di programmazione per PLC FPC 404

AW-SYS – software di simulazione PLC e impianti Autoware srl

Figura 14: diagramma temporale per semaforo di Formula 1

Il diagramma temporale di Figura 14 mostra nelle ultime 5 righe l’andamento delle uscite del PLC che comandano le lampade del semaforo in funzione dell’ingresso START riportato al primo rigo.

L’esercizio è stato risolto avviando cinque temporizzatori ad impulso prolungato con l’ingresso START (percorso 1), il contatto NC di T1 è stato inserito in serie all’attivazione per evitare riavviamenti in caso di ripetute chiusure di START durante il ciclo di accensione. Il valore di preset di T1 è stato impostato a 5s quelli dei temporizzatori da T2 a T5 vanno da 1s a 4s con incrementi di 1 secondo. L’andamento temporale di questi viene mostrato nei righi da 2 a 6 della stessa figura.

Raffrontando i righi relativi ai temporizzatori con quelli che rappresentano le uscite per le lampade, si nota che:

T5T1L5

T4T1L4

T3T1L3

T2T1L2

T1L1

⋅=

⋅=

⋅=

⋅=

=

I percorsi dal 2 al 6 dello schema a contatti implementano queste espressioni.

Esempi di programmazione per PLC FPC 404 8-21

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LADDER

Nella Finestra Impostazioni preset (FPC 404) occorre impostare il valore di preset del temporizzatore T1 a 500, di T2 a 100, di T3 a 200, di T4 a 300 e quello di T5 a 400 centesimi di secondo.

Portate in Run il PLC, trasformate l’interruttore 0.1 in un pulsante, premete il pulsante e … vinca il migliore!

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 99 NOTE SULLA PROGRAMMAZIONE DEL PLC PS3

Premessa

Le note fornite in questa sezione si riferiscono unicamente al PLC simulato, cioè a PC-Sim per PS3. Molto spesso, comunque, e proprio perché in tutta la simulazione in AW-SYS si è cercato di avvicinarsi quanto più possibile alla realtà, esse trovano riscontro anche nel PLC reale. Si consiglia vivamente l’utilizzo dei manuali originali del PLC e dell’apparecchiatura di programmazione per tutte le informazioni necessarie alla programmazione del dispositivo reale.

Alcuni degli argomenti trattati, per loro natura, sono comuni ai diversi PLC simulati. Si è preferito però ripetere le stesse descrizioni per tutti al fine di far diventare ognuno di questi capitoli un’entità autonoma: un comodo ed indispensabile manuale da tenere a portata di mano durante la programmazione del PLC simulato.

Generalità sul PLC PS3

Il PS3 è un PLC compatto, racchiude in un unico contenitore CPU, memoria, e circuiteria di ingresso/uscita (I/O). E’ dotato dei seguenti canali di I/O:

• 16 ingressi digitali

• 16 uscite digitali

• 4 ingressi analogici

• 1 uscita analogica

Ognuno dei canali digitali è provvisto di LED per la visualizzazione dello stato: LED acceso per stato attivo, LED spento per stato disattivo.

Altri due LED, presenti sul fronte del PLC, sono dedicati alle segnalazioni di presenza dell’alimentazione e stato di Run.

Il PLC è provvisto di alloggiamento per batterie che tamponano parte della RAM durante le mancanze di alimentazione.

Indirizzamento

Sotto il nome di indirizzamento va la serie di regole sintattiche che si deve osservare nel far riferimento a variabili o costanti durante la scrittura di un programma utente per PLC. L’indirizzamento nella simulazione del PLC PS3 si effettua in accordo alle regole descritte di seguito.

La sigla che compone ogni riferimento ad operando è costituita da una parte letterale seguita da una parte numerica. La lettera iniziale specifica la natura dell’operando: essa sarà una ‘I’ per gli ingressi, una ‘Q’ per le uscite, una ‘M’ per i merker, ecc.

Per grandezze a byte, a questa lettera viene fatta seguire una B, per grandezze a word una W, mentre una A servirà ad individuare un canale analogico. Nessuna lettera successiva è utilizzata per l’indirizzamento di bit.

9-2 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Quindi la parte letterale ci informa (o meglio informa la macchina) circa la natura ed il numero di bit dell’operando. La successiva parte numerica individua in modo univoco lo specifico operando tra tutti quelli della stessa natura e numero di bit. Così, allora, per individuare la merker word 20 occorrerà scrivere MW20; ‘M’ per merker, ‘W’ per word ed il numero della merker word ‘20’. Poiché l’organizzazione della memoria di questo PLC è strutturata a word, il riferimento ad operandi a 16 bit risulta immediato: numero della word dell’operando.

Per indirizzare un singolo bit occorrerà specificare la word di appartenenza e la posizione del bit all’interno di essa, separando con un punto le due informazioni. Ad esempio, il bit 10 della merker word 20 avrà indirizzo M20.10.

L’indirizzamento dei byte viene effettuato in maniera simile. Ogni byte è individuato dal numero della word di appartenenza e dal numero del bit meno significativo tra quelli che lo compongono. Allora, il byte alto della merker word 20 sarà MB20.8, mentre quello basso MB20.0.

Caso particolare è l’indirizzamento delle costanti che, comunque, segue regole abbastanza simili. La lettera che specifica la natura di un operando come costante è la ‘K’, che dovrà essere seguita da una ‘B’ per le costanti di byte o da una ‘W’ per le costanti di word. A questa prima parte dovrà seguire il valore numerico della costante, con i limiti propri della rappresentazione nel numero di bit che la compongono.

Esaminiamo ora più in dettaglio l’indirizzamento con riferimento alle diverse tipologie di operandi. Quanto espresso è stato riassunto in Tabella 10 per comodità di consultazione.

Ingressi

I sedici ingressi digitali del PLC corrispondono agli indirizzi da I0.0 a I0.15. La word completa formata da questi 16 bit viene indirizzata con IW0. I due byte che la compongono hanno indirizzi IB0.0 quello meno significativo e IB0.8 quello più significativo.

I quattro ingressi analogici corrispondono agli indirizzi da IA0.0 a IA0.3. Ognuno dei canali è rappresentato in un byte; può quindi assumere 256 diversi valori, da 0 a 255.

Al dispositivo reale possono essere collegati in rete altri tre PLC identici. Ingressi ed uscite di questi ultimi, denominati espansioni e numerati progressivamente da 1 a 3, diventano così accessibili dal primo, denominato apparecchiatura base e identificato dal numero 0.I canali di ingresso delle espansioni assumono sigle da I1.0 a I3.15, per i digitali, e da IA1.0 fino a IA3.3, per gli analogici. Per tutti la prima cifra della parte numerica individua il numero di espansione così come lo 0 nell’indirizzamento dei canali interni individua l’apparecchiatura base. Le word di ingresso delle espansioni assumono indirizzi IW1, IW2 e IW3. Mentre i 6 byte che le compongono verranno identificati con sigle da IB1.0 a IB3.8.

Al PLC simulato non è possibile collegare espansioni ma gli indirizzi relativi vengono comunque accettati dagli editor e compilati. Il test di un ingresso di una apparecchiatura ampliamento comporterà sempre il risultato 0.

Uscite

Le sedici uscite digitali del PLC corrispondono agli indirizzi da Q0.0 a Q0.15. La word completa formata da questi 16 bit viene indirizzata con QW0. I due byte che la compongono hanno indirizzi QB0.0 quello meno significativo e QB0.8 quello più significativo.

L’unico canale di uscita analogica ha indirizzo QA0.0. Esso viene rappresentato in un byte; può quindi assumere 256 diversi valori, da 0 a 255.

Considerazioni analoghe a quelle riportate per gli ingressi, in merito alle apparecchiature di ampliamento, possono essere ripetute per le uscite. Nel PLC simulato, l’impostazione di una di queste uscite non causa alcun effetto.

Note sulla programmazione del PLC PS3 9-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Merker

La memoria merker è composta da 36 parole merker (merker word) indirizzabili con sigle da MW0 a MW35.

Ogni bit di esse è indirizzabile singolarmente con sigle operando da M0.0 fino a M35.15. Dove la ‘M’ individua l’operando merker, la prima cifra il numero della word e la seconda la posizione del bit all’interno di quest’ultima.

Ognuno dei byte che compongono le merker word può essere indirizzato con sigle che vanno da MB0.0 a MB35.8.

Per chiarezza, riportiamo come esempio nello schema seguente l’indirizzamento a word, byte e bit per la merker word 2.

MW2

MB2.8 MB2.0 M2.15 M2.14 M2.13 M2.12 M2.11 M2.10 M2.9 M2.8 M2.7 M2.6 M2.5 M2.4 M2.3 M2.2 M2.1 M2.0

Funzione particolare assolvono i merker M34.14 e M34.15: essi sono infatti due multivibratori che oscillano con periodi di 100ms e 2s rispettivamente.

Costanti

Nella programmazione possono essere utilizzate due costanti booleane (a bit).

K0 valore falso

K1 valore vero

Sono richiamabili nel programma anche costanti a 8 bit, con sigle da KB0 a KB255, e a 16 bit, con sigle da KW0 a KW65535, nelle quali la parte numerica individua proprio il valore della costante.

Temporizzatori

Sono presenti nel PLC 32 temporizzatori di tipo a ritardo all’eccitazione con indirizzi da TR0 a TR31. Il ritardo impostabile varia tra 0 e 6553.5 secondi.

Contatori

I contatori disponibili per la programmazione sono 32 ed hanno indirizzi da C0 a C31. Il valore di conteggio ha un campo tra 0 e 65535 e possono essere effettuate sia operazioni di conteggio in avanti che all’indietro.

Registri di scorrimento

Sono presenti 32 registri a scorrimento (shift register) i cui indirizzi vanno da SR0 a SR31. Il numero di bit di ogni registro è 16 ed è possibile effettuare scorrimenti sia a sinistra che a destra.

Comparatori

Sono infine presenti 32 comparatori i cui indirizzi vanno da CP0 a CP31.

Tabella 10: Riepilogo operandi per PS3 (apparecchiatura base)

Tipo Q.tà Min Max

Ingressi a bit 16 I0.0 I0.15

Ingressi a byte 2 IB0.0 IB0.8

Ingressi a word 1 IW0

Ingressi analogici 4 IA0.0 IA0.3

9-4 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Tipo Q.tà Min Max

Uscite a bit 16 Q0.0 Q0.15

Uscite a byte 2 QB0.0 QB0.8

Uscite a word 1 QW0

Uscite analogiche 1 QA0.0

Merker bit (ritentivi) 64 M0.0 M3.15

Merker bit (non ritentivi) 512 M4.0 M35.15

Merker byte (ritentivi) 8 MB0.0 MB3.8

Merker byte (non ritentivi) 64 MB4.0 MB35.8

Merker word (ritentive) 4 MW0 MW3

Merker word (non ritentive) 32 MW4 MW35

Temporizzatori 32 TR0 TR31

Contatori 32 C0 C31

Registri di shift 32 SR0 SR31

Comparatori 32 CP0 CP31

Costanti di bit 2 K0 K1

Costante di byte 256 KB0 KB255

Costante di word 65536 KW0 KW65535

Note sulla programmazione del PLC PS3 9-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elaborazione del programma utente

Sistema operativo

Il cuore del funzionamento del PLC è il suo Sistema Operativo: un programma che gestisce il funzionamento di base dell’apparecchiatura, registrato in ROM dalla casa costruttrice.

Una disamina puntale delle funzioni del Sistema Operativo non rientra nei compiti di questo manuale, ed anche nei manuali dei PLC reali è difficile trovare molti chiarimenti a riguardo; tra l’altro, il fatto che questo programma venga eseguito è completamente trasparente al programmatore che, per certi versi, può addirittura ignorarne l’esistenza.

Elenchiamo comunque, per completezza, alcune delle funzioni da esso svolte, quelle che riteniamo più importanti ai fini della trattazione seguente:

• controllo del tempo di ciclo (watch-dog)

• test dell’hardware e della memoria

• richiamo del programma utente

• aggiornamento dell’immagine degli ingressi

• trasferimento dell’immagine delle uscite

• gestione presa di programmazione

• controllo della batteria tampone.

Stato della CPU

La CPU può trovarsi in uno dei seguenti stati:

OFF: il PLC non è alimentato, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di Off. I LED Power e Run sul fronte del PLC sono spenti.

STOP: il PLC è alimentato ma il programma utente non viene eseguito, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di On ed il commutatore di funzionamento si trova nella posizione di Stop. Il LED Power è acceso, il LED Run è spento.

RUN: Il PLC è alimentato e viene eseguito il programma utente, il commutatore di accensione nella Barra

strumenti di PC-Sim si trova nella posizione di On ed il commutatore di funzionamento si trova nella posizione di Run. I LED Power e Run sul fronte del PLC sono accesi.

Lo stato attuale della CPU viene visualizzato nella barra del titolo della Finestra PLC racchiuso tra parentesi quadre.

Immagini di processo

Una parte della RAM della PLC è destinata al compito di fungere da memoria intermedia per l’accesso alla periferia. Questa memoria prende il nome di immagine di processo e si divide in due parti: immagine di processo degli ingressi ed immagine di processo delle uscite (nel seguito denominate solo immagine degli ingressi ed immagine delle uscite).

Prima dell’elaborazione del programma utente, tutti gli ingressi del PLC vengono letti ed il loro stato copiato nell’immagine degli ingressi. Al termine dell’elaborazione del programma utente, la memoria immagine delle uscite è ricopiata nelle uscite del PLC.

Durante l’elaborazione del programma, ogni acceso agli ingressi o alle uscite non viene riferito all’effettivo canale fisico ma ad un bit, corrispondente a quel canale, nella memoria immagine di processo. Quando si richiede la lettura di un ingresso, quello che si legge è in realtà un bit di memoria che, in precedenza, è stato

9-6 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

copiato dall’ingresso effettivo. Quando si scrive su un’uscita, in realtà non si scrive direttamente sul canale di uscita, ma viene scritto un bit di memoria che solo successivamente verrà ricopiato sul canale fisico di uscita.

Il microprocessore all’interno del PLC dovrà pertanto dividere il suo tempo tra diversi compiti: eseguire il Sistema operativo, aggiornare l’immagine degli ingressi, eseguire il programma applicativo e trasferire l’immagine delle uscite. Il diagramma a torta della Figura 15 illustra queste attività. Il senso di percorrenza del diagramma è quello illustrato dalla freccia. Le rispettive percentuali di tempo sono del tutto indicative ed, in particolare, quella dedicata all’esecuzione del programma utente è variabile con le dimensioni dello stesso cioè, in generale, quanto più lungo è il programma tanto più tempo occorrerà alla CPU per eseguirlo (escludendo da questa considerazione programmi che contengono operazioni di salto e diramazione).

Figura 15: ripartizione tempo del microprocessore del PLC

Controllo del tempo di ciclo

Il sistema operativo, subito prima di effettuare il richiamo del programma utente, avvia un monostabile che ha in genere una durata che va da qualche decina fino a pochissime centinaia di millisecondi. Supponiamo che il programma utente richieda per la sua esecuzione un tempo inferiore a quello del monostabile. In questa situazione, prima di ogni suo successivo richiamo il monostabile verrebbe avviato nuovamente e, come risultato, l’uscita di quest’ultimo rimarrebbe continuamente alta.

Se, invece, il programma utente richiedesse per la sua esecuzione più tempo della durata del monostabile, allora l’uscita di questo si porterebbe allo stato basso, provocando l’immediato passaggio in Stop del PLC.

Un programma realizzato male potrebbe portare la CPU ad eseguire indefinitamente, o per un tempo eccessivo ai fini della rapidità del controllo dell’impianto, un ciclo chiuso di istruzioni senza tornare all’elaborazione del sistema operativo. Questa condizione potrebbe portare danni all’impianto e grave pericolo per il personale che vi opera. Il controllo del tempo di ciclo, che nella letteratura tecnica specializzata trovate anche col nome di watch-dog, evita proprio questo problema.

Anche PC-Sim controlla che il vostro programma non generi un ciclo chiuso ma, in questo caso, i molteplici e mutabili compiti di un PC, impongono tempi più lunghi per la rilevazione del problema, dell’ordine di qualche secondo.

Note sulla programmazione del PLC PS3 9-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Registri

Il PLC PS3 utilizza i registri elencati di seguito per memorizzazioni temporanee durante l’esecuzione del programma utente.

Registro generale (RA)

Viene utilizzato come memoria di lavoro nell’elaborazione del programma utente. In esso vengono depositati i risultati delle operazioni di caricamento o delle operazioni logiche e da esso vengono prelevati i valori per le operazioni di assegnazione.

Questo registro ha una lunghezza variabile: sarà a 16 bit in sequenze di istruzioni che lavorano su word, ad 8 bit in sequenze di istruzioni che lavorano su byte, infine sarà ad 1 bit in sequenze di istruzioni binarie. Vedere più avanti la descrizione di una sequenza.

Registro ausiliario (RH)

E’ un registro ad 8 bit che viene utilizzato nelle operazioni di moltiplicazione e divisione.

Registro di stato

Il registro di stato è un registro a 2 bit. Il primo, Bit di overflow (C), è portato al valore 1 quando un’operazione aritmetica genera un overflow; il secondo, Bit di zero (Z), viene impostato ad 1 quando, dopo un’operazione aritmetica, il registro generale è nullo. Come vedremo in seguito, le operazioni di diramazione testano lo stato di questi due bit per valutare se occorre compiere il salto all’etichetta specificata.

Registro di stack

Il PLC possiede un registro di stack da 8 bit con struttura LIFO (Last In First Out) nel quale vengono memorizzati i risultati intermedi per l’implementazione di funzioni logiche che necessitano di parentesi (vedere i dettagli nelle descrizioni delle operazioni logiche e negli esempi di programmazione).

9-8 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Programmazione in AWL

La modalità di programmazione AWL o Lista istruzioni costituisce una delle due metodologie di implementazione di programmi utente in questo PLC. Essa consiste nella scrittura di istruzioni consecutive; ognuna di esse è la più piccola unità di programma e costituisce un compito elementare per la CPU.

Istruzioni

Ogni istruzione è composta, come illustrato nella Figura 16, da una parte operazione e, generalmente, da una parte operando. Di quest’ultima abbiamo già parlato nel paragrafo dedicato all’indirizzamento. La prima è composta a sua volta da una operazione e da un eventuale complemento. Le operazioni che questo PLC supporta sono di caricamento (L), di assegnazione (=, R, S), aritmetiche (ADD, SUB, MUL, DIV), di salto e diramazione (JP, JC, JCN, BC, BNC, BZ, BNZ), su registri (NOT, GOR).

Figura 16: composizione di un'istruzione AWL

Una descrizione dettagliata delle operazioni, presentate in ordine alfabetico, viene effettuata più avanti in questo paragrafo. Per comodità di consultazione da parte del programmatore, in Tabella 11 ne viene fornito un riepilogo con le operazioni raggruppate secondo il tipo.

Sequenza

Una sequenza è una successione di più istruzioni di programma AWL (almeno due) che devono soddisfare le regole seguenti.

• La prima istruzione di una sequenza deve essere una istruzione di caricamento.

• Il tipo di operando di questa prima istruzione (bit, byte o word) determina il tipo di dati dell’intera sequenza.

• Il tipo di dati non può essere cambiato all’interno di una sequenza. Ogni istruzione seguente la prima, cioè, deve far riferimento ad un operando dello stesso numero di bit.

• Una sequenza può essere terminata da una o più operazioni di assegnazione, set/reset o salto condizionato.

A quest’ultima regola fa eccezione l’istruzione GOR. L’effetto di chiusura di sequenza di una istruzione di assegnazione a byte viene annullato se a seguirla è un’istruzione GOR che riapre, quindi, la sequenza di byte.

Esempio di una sequenza binaria: L I0.2 Apertura di una sequenza binaria con istruzione di caricamento di bit A I0.3 Operazione logica binaria ON I0.5 Operazione logica binaria = Q0.14 Chiusura della sequenza binaria con istruzione di assegnazione

Esempio di una sequenza di byte: L MB20.8 Apertura di una sequenza di byte con istruzione di caricamento di byte DIV KB10 Operazione aritmetica di byte = MB21.0 Chiusura della sequenza di byte con istruzione di assegnazione

Note sulla programmazione del PLC PS3 9-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

GOR Riapertura della sequenza di byte = MB21.8 Chiusura definitiva della sequenza di byte con istruzione di assegnazione

Descrizione delle operazioni

In ordine alfabetico vengono qui descritte le operazioni AWL che possono essere programmate in questo PLC e che verranno successivamente riepilogate, suddivise per tipo, in Tabella 11.

= (Assegnazione)

Il contenuto del registro generale viene copiato nell’operando indicato.

Solo per operazioni a bit, se presente l’operatore di complemento ‘N’, viene copiato il complemento del registro generale.

Il registro generale ed il registro ausiliario non vengono modificati.

La tabella che segue illustra i tipi di operandi ammessi.

Operazione Tipo dati Operandi ammessi

Q0.0 – Q0.15 Bit M0.0 – M35.15

QB0.0 – QB0.8

MB0.0 – MB34.8

Byte

QA0.0 – QA0.3

QW0

=

Word MW0 – MW35

Q0.0 – Q0.15 =N Bit M0.0 – M35.15

A (And)

Se viene specificato un operando, esegue l’operazione logica AND tra l’operando, eventualmente negato, e il registro generale. Il risultato viene depositato nel registro generale. L’operando non viene modificato. Per operazione AND su byte viene effettuato l’AND bit a bit dei due termini.

Se non viene specificato alcun operando, l’operazione AND viene effettuata tra l’ultimo valore binario inserito nel registro di stack, eventualmente negato, ed il contenuto del registro generale. Il risultato viene depositato ancora nel registro generale.

Operazione Tipo dati Operandi ammessi

I0.0 – I0.15

Q0.0 – Q0.15

M0.0 – M35.15

Bit

K0 – K1

IB0.0 – IB0.8

IA0.0 – IA0.3

QB0.0 – QB0.8

QA0.0

MB0.0 – MB34.8

A

Byte

KB0 – KB255

AN Bit I0.0 – I0.15

9-10 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazione Tipo dati Operandi ammessi

Q0.0 – Q0.15

M0.0 – M35.15

K0 – K1

Registro di stato Attualizzazione

Bit di overflow non viene modificato

1 Se il contenuto del registro generale dopo l’esecuzione dell’operazione è 0

Bit di zero (Z)

0 Se il contenuto del registro generale dopo l’operazione è diverso da 0

ADD (Addizione)

Esegue l’addizione tra l’operando specificato e il registro generale. L’operazione può essere utilizzata solo in sequenze di byte. Il risultato viene depositato nel registro generale. L’operando non viene modificato.

Il registro ausiliario non viene modificato dall’operazione di addizione.

Operazione Tipo dati Operandi ammessi

IB0.0 – IB0.8

IA0.0 – IA0.3

QB0.0 – QB0.8

QA0.0

MB0.0 – MB35.8

ADD Byte

KB0 – KB255

Registro di stato Attualizzazione

1 Se si è avuto un overflow, cioè se il risultato è maggiore di 255

Bit di overflow (C)

0 Se non si è avuto overflow, cioè se il risultato è minore o uguale di 255

1 Se il contenuto del registro generale dopo l’esecuzione dell’operazione è 0

Bit di zero (Z)

0 Se il contenuto del registro generale dopo l’operazione è diverso da 0

B… (Diramazioni condizionate)

Il contenuto del registro di stato viene confrontato con la condizione di diramazione. In caso di concordanza il programma viene continuato dall’istruzione specificata nell’operando.

Operazione Condizione di diramazione Operandi ammessi

BC C = 1 Numero di linea di un’istruzione

BNC C = 0 Numero di linea di un’istruzione

BZ Z = 1 Numero di linea di un’istruzione

BNZ Z = 0 Numero di linea di un’istruzione

Note sulla programmazione del PLC PS3 9-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Le diramazioni condizionate sono ammesse solo in sequenze di byte ed hanno senso solo dopo operazioni che influenzano i bit del registro di stato.

I registri non sono influenzati dalle operazioni di diramazione.

DIV (Divisione)

Esegue la divisione del contenuto del registro generale per l’operando specificato. Il risultato viene depositato nel registro generale, il resto nel registro ausiliario. I valori sono interpretati come numeri interi positivi in rappresentazione ad 1 byte (da 0 a 255). L’operazione può essere programmata solo in sequenze di byte. L’operando non viene modificato.

Il contenuto del registro ausiliario potrà essere successivamente elaborato con un'istruzione GOR.

L’operazione di divisione per 0 non viene eseguita.

Operazione Tipo dati Operandi ammessi

IB0.0 – IB0.8

IA0.0 – IA0.3

QB0.0 – QB0.8

QA0.0

MB0.0 – MB35.8

DIV Byte

KB0 – KB255

Registro di stato Attualizzazione

Bit di overflow non viene modificato

1 Se il contenuto del registro generale dopo l’esecuzione dell’operazione è 0

Bit di zero (Z)

0 Se il contenuto del registro generale dopo l’operazione è diverso da 0

GOR (Caricamento del registro ausiliario)

Copia il contenuto del registro ausiliario nel registro generale.

L’operazione è ammessa solo in sequenze di byte e la sua applicazione assume significato solo dopo operazioni che influenzano il registro ausiliario (moltiplicazione e divisione).

Il contenuto dei registri ausiliario e di stato non viene modificato.

JC (Salto condizionato)

Se il contenuto del registro generale di bit è concorde con l’operazione specificata, l’elaborazione riprende dall’istruzione il cui numero è specificato come operando, altrimenti l’elaborazione continua dall’istruzione successiva.

L’operazione è ammessa solo in sequenze di bit.

Il contenuto del registro generale e del registro ausiliario non viene modificato.

Operazione Condizione di salto Operandi ammessi

JC RA = 1 Numero di linea di un’istruzione

JCN RA = 0 Numero di linea di un’istruzione

9-12 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Registro di stato Attualizzazione

Bit di overflow non viene modificato

1 Se il contenuto del registro generale è 0 Bit di zero (Z)

0 Se il contenuto del registro generale è diverso da 0

JP (Salto assoluto)

L’elaborazione del programma viene continuata incondizionatamente dall’istruzione il cui numero è specificato nell’operando.

Il contenuto del registro generale e del registro ausiliario non viene modificato.

L (Caricamento)

Carica il valore dell’operando nel registro generale.

Se l’operazione si trova all’interno di una sequenza di bit, cioè se la sequenza non è stata ancora conclusa con una delle operazioni previste, il contenuto originario del registro generale viene depositato nel registro di stack.

Il contenuto del registro ausiliario non viene modificato.

Operazione Tipo dati Operandi ammessi

I0.0 – I0.15

Q0.0 – Q0.15

M0.0 – M35.15

Bit

K0 – K1

IB0.0 – IB0.8

IA0.0 – IA0.3

QB0.0 – QB0.8

QA0.0

MB0.0 – MB34.8

Byte

KB0 – KB255

IW0

QW0

MW0 – MW35

L

Word

KW0 – KW65535

I0.0 – I0.15

Q0.0 – Q0.15

M0.0 – M35.15

LN Bit

K0 – K1

Note sulla programmazione del PLC PS3 9-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

MUL (Moltiplicazione)

Esegue la moltiplicazione tra il contenuto del registro generale e l’operando specificato. I valori sono interpretati come numeri interi positivi in rappresentazione ad 1 byte (da 0 a 255). Il risultato viene depositato nel registro generale (byte meno significativo) e nel registro ausiliario (byte più significativo). Il contenuto del registro ausiliario potrà essere elaborato utilizzando un’operazione GOR.

L’operando non viene modificato.

L’operazione è ammessa solo in sequenze di byte.

Operazione Tipo dati Operandi ammessi

IB0.0 – IB0.8

IA0.0 – IA0.3

QB0.0 – QB0.8

QA0.0

MB0.0 – MB35.8

MUL Byte

KB0 – KB255

Registro di stato Attualizzazione

1 Se si è avuto un overflow, cioè se il risultato è maggiore di 255

Bit di overflow (C)

0 Se non si è avuto overflow, cioè se il risultato è minore o uguale di 255

1 Se il contenuto del registro generale dopo l’esecuzione dell’operazione è 0

Bit di zero (Z)

0 Se il contenuto del registro generale dopo l’operazione è diverso da 0

NOT (Negazione)

Il contenuto del registro generale viene negato, cioè ne viene eseguito il complemento ad 1.

Il contenuto del registro ausiliario non viene modificato.

L’operazione è ammessa solo in sequenze di byte.

Registro di stato Attualizzazione

Bit di overflow non viene modificato

1 Se il contenuto del registro generale dopo l’esecuzione dell’operazione è 0

Bit di zero (Z)

0 Se il contenuto del registro generale dopo l’operazione è diverso da 0

O (Or)

Se viene specificato un operando, esegue l’operazione logica OR tra l’operando, eventualmente negato, e il registro generale. Il risultato viene depositato nel registro generale. L’operando non viene modificato. Per operazione OR su byte viene effettuato l’OR bit a bit dei due termini.

Se non viene specificato alcun operando, l’operazione OR viene effettuata tra l’ultimo valore binario inserito nel registro di stack, eventualmente negato, ed il contenuto del registro generale. Il risultato viene depositato ancora nel registro generale.

9-14 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazione Tipo dati Operandi ammessi

I0.0 – I0.15

Q0.0 – Q0.15

M0.0 – M35.15

Bit

K0 – K1

IB0.0 – IB0.8

IA0.0 – IA0.3

QB0.0 – QB0.8

QA0.0

MB0.0 – MB34.8

O

Byte

KB0 – KB255

I0.0 – I0.15

Q0.0 – Q0.15

M0.0 – M35.15

ON Bit

K0 – K1

Registro di stato Attualizzazione

Bit di overflow non viene modificato

1 Se il contenuto del registro generale dopo l’esecuzione dell’operazione è 0

Bit di zero (Z)

0 Se il contenuto del registro generale dopo l’operazione è diverso da 0

R (Reset)

Il bit specificato dall’operando viene cancellato se il contenuto del registro generale di bit e uguale ad 1. Altrimenti nessuna modifica dell’operando viene eseguita.

L’operazione è ammessa solo in sequenze di bit.

Il contenuto del registro generale e del registro ausiliario non viene modificato.

Operazione Tipo dati Operandi ammessi

Q0.0 – Q0.15 R Bit M0.0 – M35.15

S (Set)

Il bit specificato dall’operando viene impostato a 1 se il contenuto del registro generale di bit e uguale ad 1. Altrimenti nessuna modifica dell’operando viene eseguita.

L’operazione è ammessa solo in sequenze di bit.

Il contenuto del registro generale e del registro ausiliario non viene modificato.

Operazione Tipo dati Operandi ammessi

Q0.0 – Q0.15 S Bit M0.0 – M35.15

Note sulla programmazione del PLC PS3 9-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

SUB (Sottrazione)

L’operando specificato viene sottratto dal contenuto del registro generale. Il risultato viene depositato nel registro generale. L’operando non viene modificato.

Il contenuto del registro ausiliario non viene modificato dall’operazione di sottrazione.

L’operazione è ammessa solo in sequenze di byte.

Operazione Tipo dati Operandi ammessi

IB0.0 – IB0.8

IA0.0 – IA0.3

QB0.0 – QB0.8

QA0.0

MB0.0 – MB35.8

SUB Byte

KB0 – KB255

Registro di stato Attualizzazione

1 Se è stato necessario un prestito, cioè se il minuendo era inferiore al sottraendo (RAb<op)

Bit di overflow (C)

0 Se non è stato necessario un prestito, cioè se il minuendo era maggiore o uguale al sottraendo (RAb≥op)

1 Se il contenuto del registro generale dopo l’esecuzione dell’operazione è 0

Bit di zero (Z)

0 Se il contenuto del registro generale dopo l’operazione è diverso da 0

XO (Or esclusivo)

Se viene specificato un operando, esegue l’operazione logica OR esclusivo (XOR) tra l’operando, eventualmente negato, e il registro generale. Il risultato viene depositato nel registro generale. L’operando non viene modificato. Per operazione XOR su byte viene effettuato l’XOR bit a bit dei due termini.

Se non viene specificato alcun operando, l’operazione XOR viene effettuata tra l’ultimo valore binario inserito nel registro di stack, eventualmente negato, ed il contenuto del registro generale. Il risultato viene depositato ancora nel registro generale.

Operazione Tipo dati Operandi ammessi

I0.0 – I0.15

Q0.0 – Q0.15

M0.0 – M35.15

Bit

K0 – K1

IB0.0 – IB0.8

IA0.0 – IA0.3

QB0.0 – QB0.8

QA0.0

MB0.0 – MB34.8

XO

Byte

KB0 – KB255

9-16 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazione Tipo dati Operandi ammessi

I0.0 – I0.15

Q0.0 – Q0.15

M0.0 – M35.15

XON Bit

K0 – K1

Registro di stato Attualizzazione

Bit di overflow non viene modificato

1 Se il contenuto del registro generale dopo l’esecuzione dell’operazione è 0

Bit di zero (Z)

0 Se il contenuto del registro generale dopo l’operazione è diverso da 0

Riepilogo delle operazioni

La tabella che segue riporta il riepilogo delle descrizione delle operazioni viste nelle pagine precedenti ordinate per tipo. Le abbreviazioni in essa utilizzate hanno il seguente significato.

Sigla Significato

RA registro generale di bit

RAb registro generale di byte

RAw registro generale di word

RS registro di stack

RH registro ausiliario

C flag di overflow

Z flag di zero

Op operando

Tabella 11: Riepilogo operazioni per PS3

Operazione Operando Descrizione

Operazioni di caricamento

L I, Q, M, K Carica lo stato dell’operando nel registro generale (bit)

RS = RA

RA = Op

L IB, IA, QB, QA, MB, KB

Carica lo stato dell’operando nel registro generale (byte)

RAb = Op

L IW, QW, MW

Carica lo stato dell’operando nel registro generale (word)

RAw = Op

LN I, Q, M, K Carica il complemento dell’operando nel registro generale (bit)

RS = RA

RA = Op

Operazioni di assegnazione

= Q, M Assegna all’operando il valore del registro generale (bit)

Op = RA

= QB, QA, MB Assegna all’operando il valore del registro generale (byte)

Op = RAb

= QW, MW Assegna all’operando il valore del registro generale (word)

Op = RAw

Note sulla programmazione del PLC PS3 9-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Operazione Operando Descrizione

=N Q, M Assegna all’operando il valore del complemento del registro generale (bit)

Op = RA

R Q, M Assegna all’operando il valore 0 se il registro generale (bit) è 1

Se RA = 1 allora Op = 0

S Q, M Assegna all’operando il valore 1 se il registro generale (bit) è 1

Se RA = 1 allora Op = 1

Operazioni logiche

A I, Q, M, K Esegue l’AND tra il registro generale (bit) e l’operando, pone il risultato nel registro generale (bit)

RA = RA · Op

A IB, IA, QB, QA, MB, KB

Esegue l’AND bit a bit tra il registro generale (byte) e l’operando e pone il risultato nel registro generale (byte)

RAb = RAb · Op

A Esegue l’AND tra lo stack e il registro generale (bit) e pone il risultato nel registro generale (bit)

RA = RS · RL

AN I, Q, M, K Esegue l’AND tra il registro generale (bit) e il complemento dell’operando e pone il risultato nel registro generale (bit)

RA = RA Op⋅

AN Esegue l’AND tra lo stack e il complemento del registro generale (bit) e pone il risultato nel registro generale (bit)

RA = RS RA⋅

O I, Q, M, K Esegue l’OR tra il registro generale (bit) e l’operando e pone il risultato nel registro di lavoro (bit)

RA = RA + Op

O IB, IA, QB, QA, MB, KB

Esegue l’OR bit a bit tra il registro generale (byte) e l’operando e pone il risultato nel registro generale (byte)

RAb = RAb + Op

O Esegue l’OR tra lo stack e il registro generale (bit) e pone il risultato nel registro generale (bit)

RA = RS + RA

ON I, Q, M, K Esegue l’OR tra il registro generale (bit) e il complemento dell’operando e pone il risultato nel registro generale (bit)

RA = RA + Op

ON Esegue l’OR tra lo stack e il complemento del registro generale (bit) e pone il risultato nel registro generale (bit)

RA = RS +RA

XO I, Q, M, K Esegue l’XOR tra il registro generale (bit) e l’operando e pone il risultato nel registro generale (bit)

RA = RA ⊕ Op

XO IB, IA, QB, QA, MB, KB

Esegue l’XOR bit a bit tra il registro generale (byte) e l’operando e pone il risultato nel registro generale (byte)

RAb = RAb ⊕ Op

XO Esegue l’XOR tra lo stack e il registro generale (bit) e pone il risultato nel registro generale (bit)

RA = RS ⊕ RA

XON I, Q, M, K Esegue l’XOR tra il registro generale (bit) e il complemento dell’operando e pone il risultato nel registro generale (bit)

RA = RA Op⊕

XON Esegue l’XOR tra lo stack e il complemento del registro generale (bit) e pone il risultato nel registro generale (bit)

RA = RS RA⊕

9-18 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazione Operando Descrizione

Operazioni aritmetiche

ADD IB, IA, QB, QA, MB, KB

Il contenuto del registro generale (byte) viene addizionato all’operando ed il risultato depositato nel registro generale (byte)

RAb = RAb + Op

DIV IB, IA, QB, QA, MB, KB

Il contenuto del registro generale (byte) viene diviso per l’operando, il risultato viene depositato nel registro generale (byte) ed il resto nel registro ausiliario

RAb = RAb / Op

RH = Resto( RAb / Op)

MUL IB, IA, QB, QA, MB, KB

Il contenuto del registro generale (byte) viene moltiplicato per l’operando ed il risultato depositato nel registro generale (parte bassa) e nel registro ausiliario (parte alta)

RAb = RAb x Op (L)

RH = RAb x Op (H)

SUB IB, IA, QB, QA, MB, KB

L’operando viene sottratto dal contenuto del registro generale ed il risultato viene depositato nel registro generale

RAb = RAb – Op

Operazioni di salto e di diramazione

BC N.istruzione Salta all’istruzione specificata se flag C = 1

BNC N.istruzione Salta all’istruzione specificata se flag C = 0

BZ N.istruzione Salta all’istruzione specificata se flag Z = 1

BNZ N.istruzione Salta all’istruzione specificata se flag Z = 0

JC N.istruzione Salta all’istruzione specificata se il registro generale (bit) è 1

JCN N.istruzione Salta all’istruzione specificata se il registro generale (bit) è 0

JP N.istruzione Salto incondizionato all’istruzione specificata

Operazioni su registri

GOR Il contenuto del registro ausiliario è caricato nel registro generale (byte)

RAb = RH

NOT Il contenuto del registro generale (byte) viene negato bit a bit

RAb =RAb

Note sulla programmazione del PLC PS3 9-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Programmazione in Ladder

Elemento Descrizione

Zona condizionale

Contatto normalmente aperto, test sullo stato 1 dell’operando.

Il contatto sullo schema si chiude quando l’operando corrispondente si trova allo stato logico alto. Per esempio, se l’operando è un ingresso digitale del PLC, il contatto è chiuso quando l’ingresso è chiuso e viceversa.

Contatto normalmente chiuso, test sullo stato 0 dell’operando.

Il contatto sullo schema si chiude quando l’operando corrispondente si trova allo stato logico basso. Per esempio, se l’operando è un ingresso digitale del PLC, il contatto è chiuso quando l’ingresso è aperto e viceversa.

Zona esecutiva

Bobina diretta

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico alto. Se la bobina non è attiva, all’operando viene assegnato il valore logico basso.

Bobina inversa

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico basso. Se la bobina non è attiva, all’operando viene assegnato il valore logico alto.

Bobina con azione di set

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico alto. Se la bobina non è attiva, nessuna azione è compiuta sullo stato dell’operando.

Bobina con azione di reset

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico basso. Se la bobina non è attiva, nessuna azione è compiuta sullo stato dell’operando.

Salto incondizionato

L’elaborazione del programma viene continuata dal percorso il cui numero identificativo è riportato come operando.

Salto condizionato su RA=1

Se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, l’elaborazione del programma viene continuata dal percorso il cui numero identificativo è riportato come operando. Altrimenti l’elaborazione continua normalmente.

Salto condizionato su RA=0

Se non esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, l’elaborazione del programma viene continuata dal percorso il cui numero identificativo è riportato come operando. Altrimenti l’elaborazione continua

9-20 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elemento Descrizione

normalmente.

Moduli di sistema

Generalità

Il PLC PS3 simulato mette a disposizione i seguenti moduli di sistema:

• 32 Temporizzatori

• 32 Contatori

• 32 Registri a scorrimento

• 32 Comparatori

Tutti i moduli sono unità di programma finite e a se stanti ed all’interno di essi non sono permesse operazioni.

Un determinato modulo può essere utilizzato una sola volta nel programma. Non è necessario utilizzare i moduli in ordine crescente di numero.

Tutti i moduli sono rimanenti: conservano il valore al ritorno tensione se presente la batteria tampone.

Per poter funzionare devono essere collegati al programma utente. Questa operazione viene compiuta scrivendo opportunamente degli operandi validi nelle righe che seguono la chiamata al modulo e che vengono aggiunte automaticamente dall’editor AWL. Oppure, se si sta programmando in ladder, collegando contatti agli ingresso del modulo e bobine alle sue uscite e attribuendo loro degli operandi. Le bobine collegate alle uscite possono essere solo di tipo diretto o inverso, gli altri tipi non sono consentiti. Se risulta necessario il collegamento di bobine di set, di reset, o salti occorre memorizzare temporaneamente l’uscita del modulo in un merker bit e quindi, nel percorso successivo, utilizzare un contatto del merker per comandare la bobina o il salto desiderati.

Se un ingresso non viene collegato questo prenderà di default il valore basso (0).

Temporizzatori

Il PLC mette a disposizione del programmatore 32 temporizzatori con ritardo all’eccitazione con indirizzi da TR0 a TR31.

La rappresentazione del modulo è la seguente.

LADDER AWL

000: TR5

*S:

*STP:

*IW:

*EQ:

Dove:

S (ingresso): sul fronte di salita il temporizzatore viene inizializzato al valore di preset e avviato.

STOP (ingresso): allo stato alto congela lo scorrere del tempo.

Note sulla programmazione del PLC PS3 9-21

Autoware srl AW-SYS – software di simulazione di PLC e impianti

WI (ingresso): valore di preset di tempo su 16 bit (da 0 a 65535) con base tempi fissa da 0.1s. La temporizzazione può essere impostata quindi tra 0 e 6553.5s (poco più di due ore).

EQ (uscita): uscita del temporizzatore, vale 1 se l’ingresso S è a 1 e se è trascorso il tempo.

Al fronte positivo sull’ingresso S viene attivata la temporizzazione per il tempo espresso all’ingresso WI. Allo scadere del tempo viene attivata l’uscita Q. L’uscita viene disattivata in corrispondenza della disattivazione dell’ingresso S.

Uno stato alto all’ingresso STOP congela la temporizzazione che ritornerà a scorrere, dal punto dove si era fermata, al ritorno allo stato 0 di questo ingresso.

La figura che segue chiarisce maggiormente il funzionamento del temporizzatore, in essa T1 + T2 = T.

Figura 17: Diagramma temporale del temporizzatore predefinito del PS3

Contatori

Il PLC mette a disposizione del programmatore 32 contatori con indirizzi da C0 a C31.

La rappresentazione del modulo nei due linguaggi è la seguente.

LADDER AWL

000: C10

*U:

*D:

*S:

*R:

*IW:

*Z:

*QW:

Dove:

U (ingresso): sul fronte di salita viene incrementato di 1 il valore di conteggio.

D (ingresso): sul fronte di salita viene decrementato di 1 il valore di conteggio.

S (ingresso): sul fronte di salita il valore di conteggio viene impostato al valore di preset.

R (ingresso): allo stato alto, il valore di conteggio viene portato a zero.

WI (ingresso): valore di preset, da 0 a 65535.

Z (uscita): uscita del contatore, allo stato alto quando il conteggio attuale vale 0.

QW (uscita): uscita a word del contatore, riporta il valore attuale del conteggio.

9-22 Note sulla programmazione del PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Sul fronte di salita all’ingresso S il valore attribuito all’ingresso IW viene trasferito nel contatore. Per ogni fronte di salita all’ingresso D il valore del contatore viene decrementato di 1 (conteggio indietro); per ogni fronte di salita all’ingresso U il valore del contatore viene incrementato di 1 (conteggio avanti). Un livello alto all’ingresso R cancella il valore del contatore ed inibisce ogni conteggio.

L’uscita Z sarà 1 quando il valore di conteggio è 0.

La Figura 18 chiarisce maggiormente il funzionamento del contatore.

Figura 18: Diagramma temporale del contatore del PS3

Registri a scorrimento

Il PLC mette a disposizione del programmatore 32 registri a scorrimento con indirizzi da SR0 a SR31.

La rappresentazione del modulo è la seguente.

LADDER AWL

000: SR0

*U:

*D:

*R:

*IU:

*ID:

*Q0:

*Q1:

*Q2:

*Q3:

*Q4:

*Q5:

*Q6:

*Q7:

*Q8:

*Q9:

*Q10:

*Q11:

*Q12:

*Q13:

*Q14:

*Q15:

Dove:

Note sulla programmazione del PLC PS3 9-23

Autoware srl AW-SYS – software di simulazione di PLC e impianti

U (ingresso): in corrispondenza del fronte di salita, sposta il contenuto del registro di un bit a sinistra.

D (ingresso): in corrispondenza del fronte di salita, sposta il contenuto del registro di un bit a destra.

R (ingresso): allo stato alto, azzera il contenuto del registro e quindi tutte le uscite.

IU (ingresso): valore del bit meno significativo per la successiva operazione di scorrimento a sinistra.

ID (ingresso): valore del bit più significativo per la successiva operazione di scorrimento a destra.

Q0 (uscita): uscita 0 pari al valore del bit 0 del registro.

Q1 (uscita): uscita 1 pari al valore del bit 1 del registro.

Q15 (uscita): uscita a 15 pari al valore del bit 15 del registro.

Ad ogni fronte di salita dell’ingresso U il registro viene fatto scorrere di una posizione a sinistra, il bit meno significativo prende il valore di IU mentre il bit più significativo viene perso. Ad ogni fronte di salita dell’ingresso D il registro viene fatto scorrere di una posizione a destra, il bit più significativo prende il valore di ID mentre il bit meno significativo viene perso. In corrispondenza dello stato alto all’ingresso R il registro viene azzerato.

Le 16 uscite, da Q0 a Q15, hanno il valore del corrispondente bit del registro.

Comparatori

Il PLC mette a disposizione del programmatore 32 comparatori con indirizzi da CP0 a CP31.

La rappresentazione del modulo è la seguente.

LADDER AWL

000: CP0

*I1W:

*I2W:

*GT:

*EQ:

*LT:

Dove:

I1(W) (ingresso): valore di confronto 1

I2(W) (ingresso): valore di confronto 2

GT (uscita): è 1 se I1(W) > I2(W)

EQ (uscita): è 1 se I1(W) = I2(W)

LT (uscita): è 1 se I1(W) < I2(W)

Gli ingressi sono in formato word; le uscite in formato bit.

Il modulo confronta i valori agli ingressi I1 ed I2 ed imposta le uscite come specificato in tabella.

Ingressi LT EQ GT

I1 < I2 1 0 0

I1 = I2 0 1 0

I1 > I2 0 0 1

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 1100 ESEMPI DI PROGRAMMAZIONE PER PLC PS3

In questo capitolo vengono affrontati, in ordine crescente di complessità, numerosi esercizi di programmazione per il PLC PS3. La soluzione viene fornita sia sotto forma di schema a contatti che di lista istruzioni. Per la verifica del funzionamento saranno necessari solo di interruttori o pulsanti per il comando degli ingressi del PLC. Lo stato delle uscite potrà essere valutato dai LED presenti sul fronte del dispositivo. Tutti gli elementi necessari si trovano nella finestra PLC di PC-Sim.

Se durante l’installazione di AW-SYS è stato scelto di installare anche gli esempi, troverete tutti quelli qui presentati nella cartella Aw-sys\Ps3\Esempi del vostro computer. Essi possono essere caricati e testati con PC-Sim per PS3.

Il nome del file progetto da caricare ha il formato Pxx-yyyZ.prj, dove:

P individua un progetto per PS3;

xx sono due cifre che valgono sempre 00;

yyy è il numero progressivo dell’esempio espresso su tre cifre;

Z è una lettera che specifica il tipo di editor usato nel progetto (L=ladder, A=AWL).

Cioè, se desiderate caricare l’esempio di programmazione 8 in ladder aprite il progetto P00-008L.prj.

Nella stessa cartella saranno presenti anche diversi file progetto in cui le cifre xx sono diverse da 00. In questo caso gli esempi sono relativi agli impianti e xx individua il numero progressivo dell’impianto, così come appare nel Menu Impianti. Informazioni su come caricare e testare questi esempi potranno essere trovate nella Guida in linea di PC-Sim.

10-2 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 1: combinazione AND

Realizzare Q0.2 = I0.1 AND I0.1

L’uscita Q0.2 deve essere attivata se, e solo se, entrambi gli interruttori collegati agli ingressi I0.0 e I0.1 sono chiusi.

La soluzione ladder si ottiene pilotando la bobina Q0.2 attraverso la serie due contatti con operandi I0.0 e I0.1. Infatti la combinazione logica AND, tradotta in linguaggio ladder, equivale alla serie di due contatti: ai capi della serie 'si legge’ la chiusura del circuito solo quando entrambi i contatti sono chiusi; questa è quindi l’unica condizione che attiva la bobina.

LADDER AWL

000: L I0.0

001: A I0.1

002: = Q0.2

La soluzione AWL si ottiene caricando dapprima lo stato di I0.0 nel registro generale di bit (L I0.0), quindi viene effettuata una AND tra quest’ultimo e l’ingresso I0.1 (A I0.1) ed il risultato viene ancora depositato nel registro generale. L’ultima istruzione (= Q0.2) provvede a trasferire il contenuto del registro generale, che a questo punto rappresenta la combinazione logica I0.0 · I0.1, all’uscita Q0.2.

Esempio 2: combinazione OR

Realizzare Q0.2 = I0.1 OR I0.3

L’uscita Q0.2 deve essere attivata se almeno uno degli interruttori collegati agli ingressi I0.0 o I0.1 è chiuso.

La soluzione ladder si ottiene pilotando la bobina Q0.2 attraverso il parallelo di due contatti, con operandi I0.0 e I0.1. Infatti la combinazione logica OR, tradotta in linguaggio ladder, equivale al parallelo di due contatti: ai capi del parallelo 'si legge’ la chiusura del circuito quando almeno uno dei contatti è chiuso; questa è quindi la condizione che porta all’eccitazione della bobina.

LADDER AWL

000: L I0.1

001: O I0.3

002: = Q0.2

La soluzione AWL si ottiene caricando dapprima lo stato di I0.0 nel registro generale di bit (L I0.0), quindi viene effettuata una OR tra quest’ultimo e l’ingresso I0.1 (O I0.1) ed il risultato viene ancora depositato nel registro generale. L’ultima istruzione (= Q0.2) provvede a trasferire il contenuto del registro generale, che a questo punto rappresenta la combinazione logica I0.0 + I0.1, all’uscita Q0.2.

Esempi di programmazione per PLC PS3 10-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 3: combinazione AND di OR

Realizzare Q0.0 = (I0.0 OR I0.1) AND (I0.2 OR I0.3)

La soluzione ladder dovrebbe essere intuitiva dopo aver realizzato gli esercizi precedenti: la bobina Q0.0 viene pilotata dalla serie (AND) di due paralleli (OR) di contatti, in corrispondenza dei quali sono stati opportunamente riportati gli operandi.

LADDER AWL

000: L I0.0

001: O I0.1

002: L I0.2

003: O I0.3

004: A

005: = Q0.0

La soluzione AWL richiede, invece, qualche chiarimento poiché è stata introdotta una nuova operazione che utilizza il registro di stack. Notiamo anzitutto che dopo l’esecuzione dell’istruzione 001, il registro generale di bit contiene il risultato della combinazione logica OR tra I0.0 e I0.1 (vedi Esempio di programmazione 2). La successiva operazione di caricamento, non essendo ancora conclusa la sequenza, immette dapprima il contenuto del registro generale nel registro di stack, quindi carica lo stato dell’operando specificato nel registro generale. Dopo l’esecuzione dell’istruzione 003 il registro di stack contiene ancora, in prima posizione, il valore precedentemente calcolato I0.0 + I0.1 ed il registro generale contiene il valore di I0.2 + I0.3, così come ottenuto eseguendo le istruzioni 002 e 003. L’istruzione 004, una AND senza operando, richiede alla CPU del PLC di eseguire una AND tra il registro di stack ed il registro generale cioè, in questo caso, tra i risultati delle due combinazioni OR e di depositare ancora il risultato nel registro generale. Non rimane che copiare il contenuto di quest’ultimo nell’uscita Q0.0 con l’ultima istruzione.

Esempio 4: combinazione OR di AND

Realizzare Q0.0 = (I0.0 AND I0.1) OR (I0.2 AND I0.3). Dove le parentesi, sebbene non necessarie in

quanto l’operazione AND ha precedenza sulla OR, sono state aggiunte per chiarezza.

Nella soluzione ladder la bobina Q0.0 viene pilotata dal parallelo (OR) di due serie (AND) di contatti, in corrispondenza dei quali sono stati opportunamente riportati gli operandi.

LADDER AWL

000: L I0.0

001: A I0.1

002: L I0.2

003: A I0.3

004: O

005: = Q0.0

Nella soluzione AWL notiamo anzitutto che, dopo l’esecuzione dell’istruzione 001, il registro generale di bit contiene il risultato della combinazione logica AND tra I0.0 e I0.1 (vedi Esempio di programmazione 1). La successiva operazione di caricamento, non essendo ancora conclusa la sequenza, immette dapprima il contenuto del registro generale nel registro di stack, quindi carica lo stato dell’operando specificato nel registro generale. Dopo l’esecuzione dell’istruzione 003 il registro di stack contiene ancora, in prima posizione, il valore precedentemente calcolato I0.0 · I0.1 ed il registro generale contiene il valore di I0.2 · I0.3, così come ottenuto eseguendo le istruzioni 002 e 003. L’istruzione 004, una OR senza

10-4 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

operando, richiede alla CPU del PLC di eseguire una OR tra il registro di stack ed il registro generale, cioè in questo caso tra i risultati delle due combinazioni AND e di depositare ancora il risultato nel registro generale. Non rimane che copiare il contenuto di quest’ultimo nell’uscita Q0.0 con l’ultima istruzione.

Esempio 5: combinazione XOR

Realizzare Q0.0 = I0.1 XOR I0.2

L’operazione logica XOR applicata a due variabili booleane dà risultato vero solo quando solo una delle due variabili è vera.

La prima serie di contatti del programma ladder è chiusa solo quando I0.1 è chiuso e I0.2 è aperto; la seconda serie è chiusa solo quando, al contrario, I0.1 è aperto e I0.2 è chiuso. Realizzando il parallelo delle due si ottiene la funzione desiderata: la bobina viene eccitata solo quando un ingresso è chiuso e l’altro è aperto.

LADDER AWL

000: L I0.1

001: AN I0.2

002: LN I0.1

003: A I0.2

004: O

005: = Q0.2

000: L I0.1

001: XO I0.2

002: = Q0.2

La prima soluzione AWL altro non è che la traduzione del programma ladder ed è molto simile nel funzionamento all’esempio precedente. La seconda soluzione utilizza, invece, l’operazione XO che realizza direttamente la XOR tra gli operandi.

Esempio 6: autoritenuta

Un pulsante collegato all’ingresso I0.0 deve attivare l’uscita Q0.15; un secondo pulsante collegato

all’ingresso I0.1 deve disattivarla.

Nel programma ladder proposto viene realizzato un circuito con autoritenuta. Premendo il pulsante collegato a I0.0, la bobina Q0.15 viene attivata, quindi il contatto con lo stesso operando sul secondo rigo si chiude (immaginate che il contatto e la bobina siano parti dello stesso relè Q0.15) continuando a mantenere eccitata la bobina anche dopo l’apertura di I0.0. La chiusura del pulsante all’ingresso I0.1 provoca l’apertura del contatto normalmente chiuso sullo schema, diseccitando la bobina e facendo cadere l’autoritenuta.

LADDER AWL

000: L I0.0

001: O Q0.15

002: AN I0.1

003: = Q0.15

Esempi di programmazione per PLC PS3 10-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Il programma AWL propone la conversione di quanto appena descritto. Il valore dell’uscita Q0.15 nell’ultima istruzione viene calcolato caricando lo stato di I0.0, quindi valutandone la OR con Q0.5 ed infine ponendo in AND il risultato con il complemento di I0.1.

Esempio 7: set e reset

Un pulsante collegato all’ingresso I0.0 deve attivare l’uscita Q0.15; un secondo pulsante, collegato

all’ingresso I0.1, deve disattivarla

L’esercizio è identico al precedente ma, questa volta, nella soluzione vengono usate bobine di set e reset della stessa uscita Q0.15 pilotate separatamente da contatti di I0.0 e I0.1.

LADDER AWL

000: L I0.0

001: S Q0.15

002: L I0.1

003: R Q0.15

Facendo girare il programma, notiamo come la pressione contemporanea sui due pulsanti comporti la disattivazione dell’uscita. In effetti, in entrambi i linguaggi, quando sono contemporaneamente valide le condizioni di test, l’operando Q0.15 viene dapprima attivato, nel percorso 1 o con le prime due istruzioni, quindi disattivato, nel percorso 2 o con la terza e quarta istruzione. Ma ricordiamo che Q0.15 non rappresenta effettivamente l’uscita fisica del PLC, ma il corrispondente bit all’interno della memoria delle immagini di processo. Tale bit di memoria viene effettivamente portato a 1 e poi a 0 ma, solo alla fine dell’elaborazione del programma utente, il valore elaborato per esso viene trasferito al canale fisico di uscita corrispondente, che rimane quindi costantemente al valore basso quando entrambi gli ingressi sono chiusi.

Con questa scrittura di programmi abbiamo quindi realizzato una prevalenza del reset rispetto al set. Se desiderate ottenere il contrario, vi basterà invertire la posizione dei percorsi nello schema a contatti o la prima sequenza con la seconda nel programma AWL.

Esempio 8: rilevazione fronti

Attivare le uscite Q0.8 e Q0.9 in corrispondenza rispettivamente del fronte di salita e di quello di discesa

dell’ingresso I0.0.

Notiamo che l’ultimo percorso dello schema ladder e le ultime due istruzioni del programma AWL impongono, al termine dell’esecuzione del programma, l’eguaglianza del merker bit M0.0 allo stato dell’ingresso I0.0. Ma, in corrispondenza dei fronti e per i percorsi o per le istruzioni precedenti, accade che lo stato delle due variabili sia opposto e solo alla fine dell’elaborazione del programma utente diventi uguale. Ciò viene rappresentato nelle prime due righe del diagramma di Figura 19 con un ritardo temporale tra di M0.0 rispetto ad I0.0 che vale un ciclo di esecuzione.

10-6 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

000: L I0.0

001: AN M0.0

002: = Q0.8

003: LN I0.0

004: A M0.0

005: = Q0.9

006: L I0.0

007: = M0.0

La parte iniziale dei due programmi attiva la bobina Q0.8, per un ciclo di esecuzione, quando I0.0 è a 1 e M0.0 è a 0, cioè in corrispondenza del fronte di salita di I0.0, come mostrato al terzo rigo del diagramma.

Figura 19: diagramma temporale rilevatore fronti

Invece, la bobina Q0.9 sarà attivata al secondo percorso o alla seconda sequenza, sempre per un ciclo di esecuzione, quando I0.0 è a 0 e M0.0 è a 1, cioè in corrispondenza del fronte di discesa di I0.0, come mostrato al quarto rigo del diagramma.

Esempio 9: temporizzatore con ritardo all’eccitazione

L’uscita Q0.0 viene attivata 5 secondi dopo l’attivazione dell’ingresso I0.2. Quando l’ingresso torna basso

l’uscita viene disattivata.

I programmi che seguono risolvono il problema in Ladder e AWL.

LADDER AWL

000: TR2

*S: I0.0

*STP:

*IW: KW50

*EQ: Q0.5

La soluzione è estremamente semplice poiché esiste un modulo di sistema che realizza proprio la funzionalità richiesta dalla traccia: il temporizzatore con ritardo all’eccitazione, unico tipo di temporizzatore che questo PLC possiede (vedere Figura 17).

In ladder si tratta di collegare gli ingressi e l’uscita del modulo di sistema a contatti e bobine. In corrispondenza di questi occorrerà riportare gli operandi appropriati. Cosi, l’ingresso S è stato collegato ad un

Esempi di programmazione per PLC PS3 10-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

contatto NA di I0.0 mentre l’uscita EQ e’ stata collegata ad una bobina di Q0.5; l’ingresso I(W) è stato collegato ad un contatto con operando KW50 (50 decimi di secondo).

Le operazioni da compiere per la scrittura del programma AWL sono simili. Dopo aver inserito la sigla del temporizzatore, occorre digitare gli operandi da cui il modulo dovrà prendere i dati o a cui il modulo dovrà inviare i comandi.

Sia nel programma ladder che in quello AWL l’ingresso STOP non viene utilizzato. Nel primo caso è sufficiente non collegare nulla all’ingresso, nel secondo basta lasciare vuoto il rigo relativo. In entrambi l’ingresso del modulo sarà automaticamente posto a valore logico basso.

Esempio 10: temporizzatore con ritardo alla diseccitazione

L’uscita Q0.5 deve essere attivata contemporaneamente alla chiusura dell’ingresso I0.0 e disattivata 5

secondi dopo la sua apertura.

Per risolvere questo problema, non essendo dotato questo PLC di temporizzatori di questo tipo, è necessario utilizzare l’unico temporizzatore fornito, ritardo all’eccitazione, e scrivere un programma che ne modifichi il funzionamento. Osservate la Figura 20 che chiarisce il metodo usato per risolvere questo problema.

Figura 20: Diagramma temporale temporizzatore con ritardo alla diseccitazione

Il primo e l’ultimo rigo del diagramma rappresentano l’andamento temporale dell’ingresso e dell’uscita di un temporizzatore con ritardo alla diseccitazione: l’uscita viene attivata in corrispondenza del fronte di salita dell’ingresso e viene disattivata dopo un tempo prefissato dal fronte di discesa dello stesso segnale.

Il secondo rigo del diagramma rappresenta il segnale che si ottiene complementando l’ingresso. Il terzo rigo rappresenta invece l’uscita di un temporizzatore con ritardo all’eccitazione che ha come in ingresso il segnale al rigo superiore (vedere Figura 17). Notiamo come questo segnale rappresenti il complemento di quello cercato.

Quindi, in conclusione, un temporizzatore con ritardo alla diseccitazione si ottiene da uno con ritardo all’eccitazione semplicemente negando i segnali di ingresso ed uscita.

10-8 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

000: TR2

*S: N I0.0

*STP:

*IW: KW50

*EQ: N Q0.5

In ladder la negazione di un ingresso si ottiene utilizzando un contatto normalmente chiuso (test sullo stato negato del segnale) e la negazione di un’uscita si ottiene utilizzando una bobina inversa. In AWL basta far precedere gli operandi dall’indicatore di complemento ‘N’.

Esempio 11: temporizzatore ad impulso

L’uscita Q0.0 viene attivata alla chiusura dell’ingresso I0.0 e disattivata 5 secondi dopo. Se l’ingresso viene

riaperto in questo periodo, l’uscita viene disattivata immediatamente.

Figura 21: Diagramma temporale temporizzatore ad impulso

Il diagramma temporale di Figura 21 riporta al primo rigo l’ingresso del temporizzatore ad impulso ed all’ultimo la sua uscita.

Anche in questo caso dobbiamo utilizzare l’unico temporizzatore che questo PLC possiede, il ritardo alla eccitazione, per ricavare un temporizzatore del tipo desiderato. Allo scopo è stato costruito il rigo intermedio del diagramma che rappresenta l’uscita di un temporizzatore con ritardo all’eccitazione al cui ingresso sia collegato il segnale del primo rigo.

Notiamo allora che l’uscita Q0.5 deve essere vera (stato logico 1) quando l’ingresso I0.0 è allo stato alto e, contemporaneamente, l’uscita del temporizzatore si trova allo stato basso; in termini di espressione booleana: TR2I0.0Q0.5 ⋅= .

Esempi di programmazione per PLC PS3 10-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LADDER AWL

000: TR2

*S: I0.0

*STP:

*IW: KW50

*EQ: M0.0

001: L I0.0

002: AN M0.0

003: = Q0.5

La soluzione in ladder prevede allora la scrittura di un primo percorso per l’attivazione di un temporizzatore con ritardo all’eccitazione con ingressi (S) I0.0 e (IW) KW50 (5 secondi), l’uscita viene appoggiata in un merker bit (M0.0). Nel secondo percorso di corrente, la bobina dell'uscita Q0.5 viene pilotata dalla serie dell’ingresso e del complemento di M0.0 che corrisponde all’uscita del temporizzatore.

La soluzione AWL, pur nella diversa scrittura, è analoga a quella ladder.

Esempio 12: temporizzatore ad impulso prolungato

L’uscita Q0.5 viene attivata alla chiusura dell’ingresso I0.0 e disattivata 5 secondi dopo, indipendente-

mente dal fatto che l’ingresso venga riaperto o meno in questo periodo.

Il funzionamento del temporizzatore ad impulso prolungato si evince dal confronto del primo e dell’ultimo rigo del diagramma temporale di Figura 22. Nel primo rigo è rappresentato il segnale di ingresso, nell’ultimo la corrispondente uscita.

Anche in questo caso dobbiamo utilizzare l’unico temporizzatore che questo PLC possiede, il ritardo alla eccitazione, per ricavare un temporizzatore del tipo desiderato. Il compito è portare allo stato alto (eccitare) l’uscita Q0.5 quando l’ingresso va alto e portarla allo stato basso (diseccitarla) quando sia trascorso il tempo.

LADDER AWL

000: L I0.0

001: S Q0.5

002: TR2

*S: Q0.5

*STP:

*IW: KW50

*EQ: M0.0

003: L M0.0

004: R Q0.5

Il primo percorso del diagramma ladder provvede al primo compito: attivare l’uscita quando l’ingresso è alto. Il temporizzatore del percorso successivo viene avviato tramite un contatto della medesima uscita e, dopo 5 secondi, provvede ad attivare il merker M0.0. Nell’ultimo percorso, il medesimo merker riporta a 0 l’uscita Q0.5. L’appoggio dell’uscita di TR2 in M0.0 è necessario soltanto perché non è possibile utilizzare la bobina di reset di Q0.5 direttamente all’uscita del temporizzatore. Ricordiamo che, alle uscite dei moduli di sistema, possono essere collegate solo bobine dirette o inverse.

10-10 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

La Figura 22 rappresenta il diagramma temporale degli operandi principali presenti in questo esempio. Oltre all’ingresso ed all’uscita del PLC, sul primo e l’ultimo rigo rispettivamente, è rappresentata nel rigo intermedio l’uscita del temporizzatore TR2 (corrispondente perfettamente al merker M0.0). Notate come questo segnale rimanga attivo per un tempo molto breve, un solo ciclo di esecuzione del programma, che nel diagramma è stato allungato per motivi di leggibilità. In effetti non appena attiva, l’uscita del temporizzatore provvede alla diseccitazione di Q0.0 ma, poiché questi rappresenta il suo ingresso, alla successiva elaborazione del programma si ottiene l’azzeramento anche dello stato del temporizzatore.

Figura 22: Diagramma temporale del temporizzatore ad impulso prolungato

Notiamo infine come, in realtà, nel primo percorso si continui ad impostare l’uscita per tutto il tempo in cui l’ingresso è alto ma il successivo reset al percorso 3 sovrascrive l’immagine delle uscite, impedendo che lo stato alto in questa condizione si propaghi alla periferia durante il trasferimento dell’immagine.

Il programma AWL, ancora una volta, è la fedele traduzione di quello ladder.

Esempio 13: temporizzatore con ritardo all’eccitazione con memoria

L’uscita Q0.5 viene attivata 5 secondi dopo la chiusura dell’ingresso I0.0 (anche se quest’ultimo nel

frattempo viene riaperto) e disattivata in corrispondenza della chiusura dell’ingresso I0.1.

Il funzionamento del temporizzatore con ritardo all’eccitazione con memoria si evince raffrontando i primi due righi del diagramma temporale di Figura 23 con l’ultimo. I primi rappresentano i segnali di ingresso, l’ultimo riporta la corrispondente uscita.

Figura 23: Diagramma temporale per temporizzatore con ritardo all'eccitazione con memoria

Anche in questo caso dobbiamo utilizzare l’unico temporizzatore che questo PLC possiede, il ritardo alla eccitazione, per ricavare un temporizzatore del tipo desiderato. Allo scopo utilizziamo un merker che viene

Esempi di programmazione per PLC PS3 10-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

settato da I0.0 e resettato da I0.1, il cui andamento è riportato al terzo rigo del diagramma, e notiamo come l’uscita Q0.5, rispetto al quest’ultimo, altro non sia che un ritardo all’eccitazione: la soluzione è stata trovata!

LADDER AWL

000: L I0.0

001: S M0.0

002: L I0.1

003: R M0.0

004: TR2

*S: M0.0

*STP:

*IW: KW50

*EQ: Q0.5

Nello schema a contatti, i primi due percorsi hanno lo scopo di impostare lo stato del merker M0.0. Da questo, nel terzo percorso, viene ricavata l’uscita, attraverso un temporizzatore con ritardo all’eccitazione.

Il programma AWL è la traduzione di quello ladder.

Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione

L’uscita Q0.7 viene attivata 2 secondi dopo la chiusura dell’ingresso I0.1 e disattivata 7 secondi dopo la

sua riapertura.

Figura 24: Diagramma temporale temporizzatore con ritardo all'eccitazione ed alla diseccitazione

La Figura 24 illustra al primo ed ultimo rigo del diagramma l’andamento dei due segnali della traccia. Il rigo intermedio riporta l’andamento di un merker che sia l’uscita di un temporizzatore con ritardo all’eccitazione avente per ingresso proprio I0.1. Notiamo che l’andamento dell’uscita Q0.13, rispetto all’andamento del merker, rappresenta un ritardo alla diseccitazione. Il temporizzatore con ritardo all’eccitazione è presente nel PLC mentre, in uno degli esempi precedenti, abbiamo imparato a costruire quello con ritardo alla diseccitazione. Il gioco è fatto! Si tratta quindi di scrivere un programma contenente due temporizzatori: il primo, un ritardo all’eccitazione, ha come ingresso I0.1 e come uscita M0.0; il secondo, un ritardo alla diseccitazione, che ha come ingresso M0.0 e come uscita Q0.13.

I programmi ladder ed AWL riportati di seguito implementano questa soluzione.

10-12 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

000: TR1

*S: I0.1

*STP:

*IW: KW30

*EQ: M0.0

001: TR2

*S: N M0.0

*STP:

*IW: KW70

*EQ: N Q0.13

Esempio 15: impulso ritardato

L’uscita Q0.7 viene attivata 2 secondi dopo l'apertura dell’ingresso I0.13 per una durata di 1 secondo.

Il diagramma in Figura 25 illustra al primo rigo l’andamento dell’ingresso ed all’ultimo quello della uscita del temporizzatore richiesto. Il secondo rigo riporta invece l’andamento del complemento di I0.13. Questo segnale verrà usato per avviare due temporizzatori con ritardo all’eccitazione TR10 e TR11, da 2 e 3 secondi rispettivamente, i cui segnali di uscita sono riportati nei righi seguenti del diagramma.

Figura 25: Diagramma temporale dell'impulso ritardato

Notiamo allora che l’uscita Q0.7 deve essere vera quando accadono contemporaneamente le condizioni: uscita di TR10 vera e uscita di TR11 falsa quindi, in termini di espressione booleana:

TR11TR10Q0.7 ⋅=

Nel programma ladder, i primi due percorsi sono dedicati ai temporizzatori: entrambi hanno per ingresso il complemento di I0.13 (contatto NC = test sullo stato 0); le uscite sono appoggiate in due merker. Nel terzo percorso viene implementata l'espressione logica appena ricavata: i due contatti posti in serie svolgono la

Esempi di programmazione per PLC PS3 10-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

funzione dell'operazione AND; in particolare, per il secondo è stato usato il tipo NC al fine di eseguire il complemento del suo operando.

Nella soluzione AWL, in maniera analoga, vengono richiamati e collegati al programma utente i due temporizzatori. Quindi la sequenza finale elabora il valore dell’uscita.

LADDER AWL

000: TR10

*S: N I0.13

*STP:

*IW: KW20

*EQ: M0.0

001: TR11

*S: N I0.13

*STP:

*IW: KW30

*EQ: M0.1

002: L M0.0

003: AN M0.1

004: = Q0.7

Esempio 16: treno di impulsi

L’uscita Q0.4 deve attivarsi per un istante ogni secondo.

Figura 26: Diagramma temporale del treno di impulsi

L’esercizio viene risolto utilizzando un temporizzatore che si autoavvia ciclicamente.

Al primo ciclo di esecuzione, il complemento di Q0.4 è alto. La temporizzazione parte e, fintanto che il tempo scorre, l’uscita di TR3 rimane bassa. Quando il tempo arriva a zero, l’uscita di TR3 diventa alta e così lo stato di Q0.4 ad essa collegato. Al ciclo successivo, l’ingresso del temporizzatore sarà nuovamente basso e lo diventerà anche la sua uscita.

Siamo così tornati alle condizioni iniziali: il funzionamento descritto si ripeterà indefinitamente generando il treno di impulsi richiesto dalla traccia.

10-14 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

000: TR3

*S: N Q0.4

*STP:

*IW: KW10

*EQ: Q0.4

Esempio 17: conteggio all’indietro

Il contatore C4 viene impostato sul valore 10 in corrispondenza dell’attivazione dell’ingresso I0.10 e viene

decrementato ad ogni chiusura dell’ingresso I0.11. L’uscita Q0.15 viene attivata in corrispondenza del

valore 0 del conteggio.

Il programma ladder è molto semplice. La costante KW10, assegnata all’ingresso IW, fornirà il valore di preset 10. L’ingresso di set (S) del contatore C4 viene collegato ad un contatto di I0.10, mentre quello di decremento (D) viene collegato ad un contatto di I0.11. Sul fronte di chiusura di I0.10 avviene l’impostazione del valore di conteggio a 10; ad ogni fronte di chiusura di I0.11 il conteggio viene invece decrementato di 1. L’uscita del contatore (Q) è alta quando il valore di conteggio uguale a 0. Sarà quindi sufficiente collegare ad essa una bobina dell’uscita Q0.15 del PLC.

LADDER AWL

000: C4

*U:

*D: I0.11

*S: I0.10

*R:

*IW: KW10

*QW: Q0.15

L’istruzione 000 del programma AWL costituisce una chiamata al modulo di sistema C4 che viene collegato in maniera analoga a quanto fatto per il programma ladder.

Esempio 18: conteggio in avanti

Il contatore C12 viene incrementato ad ogni chiusura dell’ingresso I0.12 e riportato a zero in corrispondenza

dello stato alto dell’ingresso I0.13. L’uscita Q0.15 è attiva quando il valore di conteggio è diverso da zero.

L’ingresso di reset (R) del contatore C12 viene collegato ad un contatto di I0.13, mentre quello di incremento (U) viene collegato ad un contatto di I0.12. Sul fronte di chiusura di I0.13 avviene il reset del contatore, cioè l’impostazione del valore di conteggio a 0; ad ogni fronte di chiusura di I0.12 il conteggio viene invece incrementato di 1. L’uscita del contatore (Q) è alta quando il valore di conteggio è uguale a 0.

Esempi di programmazione per PLC PS3 10-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Sarà quindi sufficiente collegare ad essa una bobina inversa dell’uscita Q0.15 del PLC per ottenere il funzionamento desiderato.

LADDER AWL

000: C12

*U: I0.12

*D:

*S:

*R: I0.13

*IW:

*QW: N Q0.15

L’istruzione 000 del programma AWL costituisce una chiamata al modulo di sistema C12 che viene collegato in maniera analoga a quanto fatto per il programma ladder.

10-16 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)

Determinare per quanti secondi l’ingresso I0.5 rimane chiuso ed utilizzare l’ingresso I0.6 per azzerare il

conteggio del tempo.

Occorre realizzare innanzitutto una base tempi da un secondo, cioè un treno di impulsi che abbia questo periodo. Quindi sarà necessario contare quanti impulsi di base tempi vengono generati durante la chiusura dell’ingresso, cioè contare gli istanti in cui sono contemporaneamente veri l’ingresso e l’impulso (vedere Figura 27).

Figura 27: diagramma temporale del contatore tempo di chiusura ingresso

LADDER AWL

000: TR3

*S: N M0.0

*STP:

*IW: KW10

*EQ: M0.0

001: L I0.5

002: A M0.0

003: = M0.1

004: C5

*U: M0.1

*D:

*S:

*R: I0.6

*IW:

*Z:

*QW:

Il percorso 1 del programma ladder genera il treno di impulsi con periodo di 1 secondo, così come visto nell’esempio 16. Questa volta viene però utilizzato un merker (M0.0) come ingresso/uscita del

Esempi di programmazione per PLC PS3 10-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

temporizzatore, non essendo richiesto di portare all’esterno del PLC il segnale generato. Il merker M0.1 viene impostato invece alla combinazione logica AND (serie di contatti nel diagramma) tra l’ingresso ed il treno d’impulsi, esso rappresenta cioè proprio gli impulsi da contare. Questo merker viene utilizzato nel percorso successivo per pilotare l’ingresso di conteggio avanti del contatore C5. L’ingresso I0.6 pilota invece il reset del contatore, al fine di ottenere l’azzeramento del conteggio come richiesto.

Il programma AWL realizza le stesse funzioni in modo analogo.

Il valore del contatore C5 rappresenterà il numero dei secondi per cui l’ingresso è rimasto chiuso, con il limite di 65535 proprio dei contatori di questo PLC.

Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi)

Determinare per quante ore, minuti e secondi l’ingresso I0.5 rimane chiuso ed utilizzare l’ingresso I0.6 per

azzerare il conteggio del tempo.

I programmi proposti come soluzione terminano con la costruzione di un treno di impulsi sul merker M0.0, che fungerà da base tempi con periodo di 1 secondo. All’inizio degli stessi, invece, viene elaborato il valore del merker M0.1, che risulterà impostato ad 1 in presenza di un impulso di base tempi quando il contatto all’ingresso I0.5 è chiuso. M0.1 viene attivato quindi ogni secondo durante la chiusura dell’ingresso: il conteggio degli impulsi di questo merker ci permetterà di valutare il tempo come richiesto nella traccia.

In effetti, l’ingresso di conteggio in avanti (U) del contatore C5 è pilotato proprio M0.1; pertanto C5 costituisce il contatore dei secondi. Il valore attuale del conteggio, presente alla sua uscita QW, viene depositato nella merker word MW10.

Successivamente alla chiamata di C5, troviamo quella dell’altro modulo di sistema CP0 (comparatore) che viene utilizzato per confrontare MW10, cioè il numero dei secondi contati, con la costante numerica 60 (KW60). Quando le due quantità risultano uguali, cioè quando i secondi contati sono 60, il merker M0.2 collegato all’uscita EQ viene impostato ad 1.

Quest’ultimo merker pilota l’ingresso U del contatore C6 che verrà in tal modo incrementato ogni 60 secondi. Pertanto C6 costituirà il contatore dei minuti. Il numero dei minuti contati viene depositato in MW11.

Il comparatore CP1 svolge una funzione analoga a CP0: porta a 1 il merker M0.4 quando i minuti contati raggiungono il valore 60. Il contatore C7, che ha M0.4 collegato all’ingresso U, conterà quindi le ore di chiusura del contatto e ne depositerà il conteggio in MW12.

Rimane da analizzare come i contatori dei secondi e dei minuti vengano azzerati al sessantesimo impulso d’ingresso. Notiamo come l’ingresso di reset (R) di C5 sia collegato al merker M0.3 e come questo valga 1 se I0.6 o M0.2 sono a 1 (percorso 7). Ricordiamo come quest’ultimo merker sia l’uscita del comparatore dei secondi. Quindi il contatore dei secondi verrà azzerato o in corrispondenza della chiusura dell’ingresso I0.6, come richiesto nella traccia, o quando il conteggio dei secondi arriva a 60.

10-18 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

000: L I0.5

001: A M0.0

002: = M0.1

003: C5

*U: M0.1

*D:

*S:

*R: M0.3

*IW:

*Z:

*QW: MW10

004: CP0

*I1W: MW10

*I2W: KW60

*GT:

*EQ: M0.2

*LT:

005: C6

*U: M0.2

*D:

*S:

*R: M0.5

*IW:

*Z:

*QW: MW11

006: CP1

*I1W: MW11

*I2W: KW60

*GT:

*EQ: M0.4

*LT:

007: C7

*U: M0.4

*D:

*S:

*R: I0.6

*IW:

*Z:

*QW: MW12

008: L I0.6

009: O M0.2

010: = M0.3

011: L I0.6

012: O M0.4

013: = M0.5

014: TR3

*S: N M0.0

*STP:

*IW: KW10

*EQ: M0.0

Esempi di programmazione per PLC PS3 10-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LADDER AWL

Analogamente, osservando l’elaborazione del merker M0.5 nel percorso 8, il contatore dei minuti verrà azzerato in corrispondenza della chiusura di I0.6 o quando il conteggio dei minuti raggiunge il valore 60.

Il contatore delle ore, invece, viene azzerato solo a seguito della chiusura dell’ingresso I0.6.

Concludendo, quindi, il contatempo software costruito ci consente di contare fino a 65535 ore, 59 minuti e 59 secondi (per la precisione!). Ammesso che si possa considerare un valore così preciso, su un tempo tanto lungo, tenendo presenti gli inevitabili errori dell’orologio interno sia dell’eventuale PLC reale che del PC su cui 'gira' quello simulato.

Per esercizio, potreste provare a modificare il programma aggiungendo un contatore dei giorni che viene incrementato di 1 ogni 24 ore.

Per testare il programma, senza dover attendere tempi lunghissimi, potreste diminuire la costante di tempo nel caricamento di TR3, aumentando così la frequenza del treno di impulsi, oppure forzare manualmente valori di conteggio prossimi a quelli di comparazione.

10-20 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 21: generatore di onda quadra

L’uscita Q0.7 deve essere comandata da un segnale ad onda quadra con Toff=1.5s e Ton=0.5s.

Nella soluzione proposta vengono utilizzati due temporizzatori che si ‘rimpallano’ l’eccitazione. Il merker M0.0, inizialmente disattivo, avvia il temporizzatore TR1 per un tempo di 1.5s. A tempo scaduto, l’uscita Q0.7 viene attivata da TR1. Il contatto di nel percorso 2 Q0.7 avvia quindi il temporizzatore TR2 con un tempo di 0.5s durante il quale Q0.7 rimane attivo. Scaduto anche questo tempo, il merker M0.0 viene impostato ad 1 quindi, al successivo ciclo di esecuzione, l’ingresso S di TR1 si porta a livello 0 e così anche la sua uscita. Anche l’ingresso S di TR2 si porta a livello logico basso e la sua uscita M0.0 con esso.

Finora l’uscita Q0.7 è rimasta disattiva per 1.5s ed attiva per 0.5s, abbiamo cioè analizzato un intero periodo del segnale. Ma, a questo punto, il sistema si è riportato nelle sue condizioni iniziali, come mostra il diagramma di Figura 28, e il tutto riprende nuovamente e ciclicamente, realizzando il generatore desiderato.

Impostando opportunamente il valore delle due costanti di word è possibile variare Ton e Toff, realizzando un’onda quadra con frequenza e duty cycle diversi.

Figura 28: Diagramma temporale generatore di onda quadra

LADDER AWL

000: TR1

*S: N M0.0

*STP:

*IW: KW15

*EQ: Q0.7

001: TR2

*S: Q0.7

*STP:

*IW: KW5

*EQ: M0.0

Esempi di programmazione per PLC PS3 10-21

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 22: altro generatore di onda quadra

L’uscita Q0.7 deve essere comandata da un segnale ad onda quadra con Toff=1.5s e Ton=0.5s.

La soluzione qui presentata si differenzia da quella proposta nell’esempio precedente avente la medesima traccia. Il temporizzatore TR1 è usato per generare un treno di impulsi con periodo di due secondi. In Figura 29 è riportato nel primo rigo l’andamento della sua uscita e nel secondo il complemento del merker M0.0 ad essa collegato. Questo segnale viene applicato all’ingresso di un temporizzatore con ritardo alla eccitazione, alla cui uscita è collegata una bobina di Q0.7. L'andamento di Q0.7 è mostrato nell’ultimo rigo del diagramma e rappresenta la soluzione al problema.

Anche in questo caso, impostando opportunamente le due costanti di tempo, è possibile variare frequenza e duty cycle dell’onda quadra.

Figura 29: Diagramma temporale generatore di onda quadra

LADDER AWL

000: TR1

*S: N M0.0

*STP:

*IW: KW20

*EQ: M0.0

001: TR2

*S: N M0.0

*STP:

*IW: KW15

*EQ: Q0.7

10-22 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 23: comando temporizzato luci

Un pulsante collegato all’ingresso I0.0 attiva per tre minuti un gruppo di lampade collegate all’uscita Q0.1,

insieme a queste viene attivata una spia collegata all’uscita Q0.2 che, 15 secondi prima dello spegnimento

delle lampade, inizia a lampeggiare per avvisare dell’imminente scadere del tempo. La spia si spegne

definitivamente insieme con le lampade.

Vengono utilizzati due temporizzatori collegati al programma utente per funzionare come ritardi alla diseccitazione. Il primo, caricato con un tempo di 3 minuti (KW1800 cioè 1800 decimi di secondo), comanda direttamente l’uscita del gruppo di lampade. Il secondo, caricato con un tempo inferiore di 15 secondi (KW1650), attiva un merker di appoggio.

Figura 30: Diagramma temporale del comando luci temporizzato

Gli andamenti temporali di Q0.1 ed M0.0, a seguito dell’impulso su I0.0, sono riportati nel secondo e terzo rigo del diagramma di Figura 30. Il quarto rigo riporta l’andamento non in scala del merker M34.15 che funge da multivibratore astabile con periodo di 2 secondi, direttamente controllato dal Sistema Operativo del PLC. Questo merker tornerà utile per il lampeggio della spia.

Osservando il quinto rigo del diagramma, si nota che la lampada spia deve essere accesa o quando è attivo M0.0 o, ancora, quando sono attivi Q0.1 e M34.15 e contemporaneamente M0.0 è disattivo. Cioè in termini di funzione booleana:

)M34.14M0.0Q0.1(M0.0Q0.2 ⋅⋅+=

Le soluzioni proposte implementano precisamente quanto descritto.

Nella prima, realizzata in ladder, vengono utilizzati i primi due percorsi per la gestione dei temporizzatori con ritardo alla diseccitazione. L’ultimo percorso è dedicato invece alla costruzione della logica per il funzionamento della spia.

Nel programma AWL le prime due istruzioni riportano le chiamate ai moduli di sistema temporizzatori e le successive implementano la logica di funzionamento della spia.

Esempi di programmazione per PLC PS3 10-23

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LADDER AWL

000: TR1

*S: N I0.0

*STP:

*IW: KW1800

*EQ: N Q0.1

001: TR2

*S: N I0.0

*STP:

*IW: KW1650

*EQ: N M0.0

002: L Q0.1

003: AN M0.0

004: A M34.15

005: O M0.0

006: = Q0.2

10-24 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 24: divisore di frequenza (x4)

Realizzare un divisore di frequenza per 4: ogni quattro impulsi in ingresso viene attivato un impulso sull’uscita

Q0.1.

La prima parte delle soluzioni proposte genera un treno d’impulsi, così come abbiamo imparato a fare negli esempi precedenti, mostrandone il segnale sull’uscita Q0.0. Questo costituirà il segnale da dividere.

La seconda parte implementa effettivamente il divisore. Esso è costituito da un contatore che viene decrementato ad ogni impulso del generatore (ingresso D collegato a Q0.0) e che, al raggiungimento dello zero, si autopresetta al valore 4 (uscita Z riportata su ingresso S attraverso Q0.1) .

Ogni 4 impulsi di Q0.0, per un solo ciclo di esecuzione, il conteggio si azzera. In questo ciclo, l’uscita del contatore si attiva e così l’uscita Q0.1 del PLC ad essa collegata.

Figura 31: diagramma temporale divisore di frequenza per 4

LADDER AWL

000: TR1

*S: N Q0.0

*STP:

*IW: KW5

*EQ: Q0.0

001: C3

*U:

*D: Q0.0

*S: Q0.1

*R:

*IW: KW4

*Z: Q0.1

*QW:

Esempi di programmazione per PLC PS3 10-25

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 25: semaforo per Formula 1

Alla attivazione del pulsante collegato all’ingresso I0.0 le cinque lampade di un semaforo devono

accendersi in progressione, una ogni secondo. Un secondo dopo la completa accensione, le lampade

devono spegnersi.

Nel programmare la soluzione di questo problema si è fatto uso di simboli. La loro corrispondenza con gli operandi assoluti è stata stabilita secondo la seguente tabella.

Op. assoluto Simbolo Commento

I0.0 START Pulsante di avvio

Q0.1 L1 Lampada 1

Q0.2 L2 Lampada 2

Q0.3 L3 Lampada 3

Q0.4 L4 Lampada 4

Q0.5 L5 Lampada 5

Il diagramma temporale di Figura 32 mostra nei righi da 2 a 6 l’andamento delle uscite del PLC che comandano le lampade del semaforo, in funzione dell’ingresso START riportato al primo rigo.

Figura 32: Diagramma temporale per semaforo di Formula 1

Alla chiusura dell’ingresso START viene settato il merker M0.0, che quindi rimarrà attivo anche alla riapertura dell’ingresso come mostrato ai righi 1 e 2 del diagramma. Con questo merker viene comandata la lampada L1, che è la prima ad accendersi contemporaneamente all’attivazione dell’ingresso START, e vengono avviati cinque temporizzatori con ritardo all’eccitazione con tempi progressivi da 1 a 5 secondi. I primi 4 hanno la funzione di comandare direttamente l’uscita della rispettiva lampada, l’ultimo la funzione di resettare il merker M0.0 e quindi portare a zero l’ingresso di tutti i temporizzatori e, di conseguenza, spegnere le cinque lampade collegate alle rispettive uscite.

Portate in Run il PLC, trasformate l’interruttore 0.1 in un pulsante, premete il pulsante e …vinca il migliore!

10-26 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

000: L -START

001: S M0.0

002: S -L1

003: L -END

004: R M0.0

005: R -L1

006: TR1

*S: M0.0

*STP:

*IW: KW10

*EQ: -L2

007: TR2

*S: M0.0

*STP:

*IW: KW20

*EQ: -L3

008: TR3

*S: M0.0

*STP:

*IW: KW30

*EQ: -L4

009: TR4

*S: M0.0

*STP:

*IW: KW40

*EQ: -L5

010: TR5

*S: M0.0

*STP:

*IW: KW50

*EQ: -END

Esempi di programmazione per PLC PS3 10-27

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 26: luci sequenziali a 4 canali

Costruire un sequenziatore a 4 canali che preveda il seguente schema di accensione.

Figura 33: Schema di accensione per sequenziatore a 4 canali

Lo schema stabilisce la sequenza di accensione delle lampade collegate ai quattro canali: i cerchi pieni segnalano l’attivazione del canale durante lo specifico passo. Così durante il passo 0 sarà attivo il canale 0, durante il passo 1 il canale 1, e così via. Se le lampade vengono posizionate in linea, l’effetto sarà quello di uno spostamento della fonte luminosa dalla prima all’ultima posizione e poi al contrario.

Al passo 6 succede un passo 7 identico allo 0 e poi un altro identico al passo 1, cioè il diagramma viene percorso ciclicamente. Immaginate di ritagliarlo ed avvolgerlo a cilindro facendo combaciare i lembi opposti del passo 0 e del 5, esso sarebbe simile al tamburo di un carillon: terminato il motivetto, comincia nuovamente.

Continuando con il parallelo sonoro, perché un carillon funzioni abbiamo bisogno di un cilindro con delle camme disposte in modo opportuno sulla sue superficie laterale e di un meccanismo che lo faccia girare.

Cominciamo proprio a costruire quest’ultimo. Il meccanismo di avanzamento del sequenziatore sarà un treno di impulsi con periodo di 0.2 secondi, cioè una base tempi con periodo scelto in modo da portare ad avere una velocità di spostamento della fonte luminosa ritenuta idonea. Il temporizzatore TIMER provvede a questa funzione nella maniera già descritta nell'esempio 16.

Il cilindro invece sarà costituito da un contatore che, partendo dal valore 6, viene decrementato ad ogni impulso. L’uscita di TIMER viene inviata, tramite il merker M10.0, all’ingresso D del contatore COUNTER. Il valore attuale del conteggio viene depositato nella merker word MW9. L’uscita del contatore viene riportata all’ingresso di set tramite il merker M10.1 e quindi esso si autopresetta a 6 appena arrivato a 0.

Prima di sistemare le camme sul cilindro, identifichiamo gli spicchi del cilindro che corrispondono ad ogni specifico passo. I comparatore CP0 imposta ad 1 il merker PASSO0 quando il contatore vale 6, identificando tra i possibili valori del contatore quello corrispondente a tale passo. I successivi comparatori impostano il merker corrispondente a ciascuno degli altri passi. Così, alla fine, ogni 0.2s sarà attivo un merker diverso, andando ad 1 in successione da PASSO0 a PASSO5 e, quindi, riprendendo da PASSO0.

Ora che abbiamo identificato le posizioni possiamo inserire le camme. Cominciamo dal canale 0, osserviamo nuovamente la griglia di Figura 33, il canale 0 è attivo solo durante il passo 0, quindi CH0=PASSO0.

Il canale 1 deve essere attivo sia durante la passo 1 che durante il passo 5, cioè CH1=PASSO1+PASSO5

Proseguendo così, per gli altri due canali, fino a terminare il carillon o, abbandonando a questo punto il parallelo didattico, il sequenziatore.

In questo esempio è possibile aumentare o diminuire la durata dei passi semplicemente cambiando la costante con cui viene caricato il temporizzatore, producendo l’effetto di variare la velocità dello spostamento apparente della fonte luminosa. E’ possibile modificare il numero dei passi, cambiando la costante con cui viene caricato il contatore ed aggiungendo altri confronti per discriminare i passi aggiunti. E’ possibile, infine,

10-28 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

cambiare la sequenza di accensione delle lampade, modificando le condizioni nei gruppi di OR che costituiscono l’ultima parte del programma.

LADDER AWL

000: -TIMER

*S: N M10.0

*STP:

*IW: KW1

*EQ: M10.0

001: -COUNTER

*U:

*D: M10.0

*S: M10.1

*R:

*IW: KW6

*Z: M10.1

*QW: MW9

002: CP0

*I1W: MW9

*I2W: KW6

*GT:

*EQ: M0.0

*LT:

003: CP1

*I1W: MW9

*I2W: KW5

*GT:

*EQ: -FASE1

*LT:

004: CP2

*I1W: MW9

*I2W: KW4

*GT:

*EQ: -FASE2

*LT:

005: CP3

*I1W: MW9

*I2W: KW3

*GT:

*EQ: -FASE3

*LT:

006: CP4

*I1W: MW9

*I2W: KW2

*GT:

*EQ: -FASE4

*LT:

007: CP5

*I1W: MW9

*I2W: KW1

*GT:

*EQ: -FASE5

*LT:

008: L M0.0

009: = -CH0

010: L -FASE1

011: O -FASE5

012: = -CH1

013: L -FASE2

014: O -FASE4

015: = -CH2

016: L -FASE3

017: = -CH3

Esempi di programmazione per PLC PS3 10-29

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LADDER AWL

10-30 Esempi di programmazione per PLC PS3

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 27: conteggio ingressi chiusi

Contare il numero degli ingressi chiusi tra i primi 8.

MB20.0 è destinata a contenere Il numero contato di ingressi chiusi. Tale merker byte viene inizializzata a 0 all’inizio del programma. MB10.0 rappresenta invece una maschera ad 8 bit, uno solo dei quali per volta sarà ad 1. Il valore iniziale è 1 cioè (00000001)2 dove solo il bit 0 è vero.

Le istruzioni 004 e 005 eseguono la AND bit a bit della maschera e del byte di ingresso meno significativo del PLC. Al primo passaggio, col valore della maschera appena visto, la AND da risultato diverso da 0 solo se E0.0 è chiuso. Quindi la diramazione su zero prevista dall’istruzione successiva viene eseguita solo per ingresso aperto.

Se l’ingresso è chiuso, viene incrementiamo il byte di conteggio MB20.0, caricandone il valore nel registro generale (L MB20.0), sommando 1 (ADD KB1) e trasferendo il risultato nuovamente in MB20.0 (= MB20.0).

In un caso o nell’altro i due percorsi di elaborazione si ricongiungono all'istruzione 010 dove, dopo aver caricato la maschera nel registro generale di byte (L MB10.0), si provvede allo scorrimento a sinistra di una posizione, che equivale ad una moltiplicazione per 2 (MUL KB2). Il risultato dello scorrimento viene ritrasferito nuovamente in MB10.0. La maschera ora vale 2, cioè (00000010)2, dove solo il bit 1 è vero e, essendo diversa da 0, l’operazione di diramazione su 0 (BNZ 4) viene eseguita e l’elaborazione continua dall’istruzione 004 per l'esame dell’ingresso successivo.

Per ognuno degli ingressi trovati chiusi il merker byte MB20.0 viene incrementato di 1.

Dopo 8 scorrimenti, il bit allo stato alto, che si è man mano spostato nella maschera, esce da sinistra e MB10.0 diventa 0. In questa condizione, l’ultima operazione di diramazione viene ignorata ed il ciclo termina. MB20.0 in questo momento ha un valore che rappresenta il numero degli ingressi trovati chiusi.

LADDER AWL

000: L KB0

001: = MB20.0

002: L KB1

003: = MB10.0

004: L MB10.0

005: A IB0.0

006: BZ 10

007: L MB20.0

008: ADD KB1

009: = MB20.0

010: L MB10.0

011: MUL KB2

012: = MB10.0

013: BNZ 4

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 1111 NOTE SULLA PROGRAMMAZIONE DEL PLC S5 100U

Premessa

Le note fornite in questa sezione si riferiscono unicamente al PLC simulato, cioè a PC-Sim per S5 100U. Molto spesso comunque, e proprio perché in tutta la simulazione in AW-SYS si è cercato di avvicinarsi quanto più possibile alla realtà, esse trovano riscontro anche nel PLC reale. Comunque, si consiglia vivamente l’utilizzo dei manuali originali Siemens del PLC reale e dell’apparecchiatura di programmazione per tutte le informazioni necessarie alla programmazione del dispositivo reale.

Alcuni degli argomenti trattati, per loro natura, sono comuni ai diversi PLC simulati. Si è preferito però ripetere le stesse descrizioni per tutti al fine di far diventare ognuno di questi capitoli un’entità autonoma: un comodo ed indispensabile manuale da tenere a portata di mano durante la programmazione del PLC simulato.

Generalità sul PLC S5 100U

L’S5 100U è un PLC modulare e, nella simulazione, è costituito dalla CPU e dai seguenti moduli di ingresso/uscita:

Nr.modulo Tipo

0 CPU

1 8 ingressi digitali

2 8 uscite digitali

3 8 uscite digitali

4 4 ingressi analogici (non visualizzato nella Finestra PLC)

5 4 uscite analogiche (non visualizzato nella Finestra PLC)

La CPU è dotata di un commutatore di accensione (On-Off) e di un commutatore del modo di funzionamento (Stop-Run). Due LED, STOP di colore rosso e RUN di colore verde, segnalano lo stato attuale della CPU. L’accensione del LED rosso indica che la CPU è alimentata è si trova nello stato di Stop. L’accensione del LED verde indica che la CPU è alimentata e si trova in stato di Run. E’ presente anche un LED, di colore giallo, la cui accensione segnala la mancanza della batteria.

Ogni ingresso ed ogni uscita digitale dispone del LED di segnalazione dello stato: LED acceso per stato attivo, LED spento per stato disattivo.

11-2 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Indirizzamento

Sotto il nome di indirizzamento va la serie di regole sintattiche che si deve osservare nel far riferimento a variabili o costanti durante la scrittura di un programma utente per PLC. L’indirizzamento nella simulazione del PLC S5 100U si effettua in accordo alle regole esposte di seguito e riassunte nella Tabella 14.

Ingressi–Uscite digitali

La sigla per l’indirizzamento degli ingressi e delle uscite digitali in questo modello di PLC è composta da:

• lettera che individua gli ingressi (E) o le uscite (A)

• numero di modulo

• punto di separazione

• numero di canale

I moduli vengono numerati in successione: il modulo più vicino alla CPU assume il numero 0, quello successivo il numero 1 e così via.

I moduli digitali adottati nella simulazione sono quattro e assumono numeri identificativi compresi tra 0 e 3. Sia quelli di ingresso che quelli di uscita sono del tipo a 8 canali. I canali disponibili su ogni modulo assumono un identificativo compreso tra 0 e 7.

Quindi, ad esempio:

• E1.4 individua il canale di ingresso 4 del modulo di periferia 1;

• A2.3 individua il canale di uscita 3 del modulo di periferia 2.

Il PLC simulato è composto, oltre che dalla CPU, da quattro moduli digitali di periferia: nell’ordine due di ingresso e due di uscita. Quindi gli indirizzi per i canali di questi moduli sono:

• da E0.0 a E1.7 per gli ingressi digitali

• da A2.0 a A3.7 per le uscite digitali.

Vedremo in seguito che questa modalità di indirizzamento non fa riferimento diretto agli ingressi ed alle uscite fisiche del PLC, ma alla loro immagine che il sistema operativo costruisce all’interno della memoria della CPU. In realtà, le immagini della periferia sono state riproposte interamente nella CPU simulata; così all’interno del vostro programma potrete indirizzare, senza generare alcun errore, tutta l’immagine degli ingressi da E0.0 a E127.7 e tutta l’immagine delle uscite da A0.0 a A127.7. L’indirizzamento di variabili nelle immagini di processo, non corrispondenti a moduli di I/O, porta semplicemente a test o impostazioni di bit, byte o word di memoria senza condurre ad attivazione di uscite o valutazione di stato degli ingressi.

Ingressi e uscite (da intendersi sempre come immagine di processo degli ingressi e immagine di processo delle uscite) sono indirizzabili anche a byte ed a word.

EB0 rappresenta il byte di ingresso del modulo 0; EB1 rappresenta il byte di ingresso del modulo1 e così via fino a EB127. Con l’ovvia limitazione che solo i byte a cui corrispondono effettivamente moduli di ingresso assumono significato pratico.

AB2 e AB3 rappresentano invece i byte di uscita per i moduli digitali presenti nel PLC simulato anche se, ancora una volta, il campo ammesso per questo tipo di operando va da AB0 ad AB127.

EW0 rappresenta la word di ingresso 0, composta dai byte EB0 ed EB1. Il campo indirizzabile in questo PLC arriva fino ad EW126.

AW2 rappresenta la parola di uscita 2, composta dai byte AB2 ed AB3. Il campo indirizzabile in questo PLC va da AW0 ad AW126.

Note sulla programmazione del PLC Siemens S5 100U 11-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Ingressi–Uscite analogici

Il modulo 4 possiede quattro canali analogici di ingresso che vengono mappati nella immagine degli ingressi in corrispondenza delle word EW96, EW98, EW100 ed EW102. La codifica del valore utilizza 12 dei 16 bit disponibili. Come indicato in figura, il bit meno significativo della codifica (B0) occupa il bit 3 della word, B1 occupa il bit 4 e così via fino a B11 che occupa il bit 14. I bit 15, 2, 1 e 0 sono sempre a zero nella simulazione.

Tabella 12: Codifica valori dei canali analogici di ingresso per S5 100U

Bit di EW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Codifica 0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 0 0 0

Al valore minimo dell’ingresso (es. 0V) corrisponde una codifica B11-B0 pari a 0; al valore massimo corrisponde una codifica di 2048. Quindi, concludendo, il valore di una delle word dell’immagine può variare da 0 a 2048x8=16384. Dove la moltiplicazione per 8 deriva dallo scorrimento di 3 posti a sinistra (23=8) che prevede la codifica.

Il modulo 5 possiede quattro canali analogici di uscita che vengono mappati nella immagine delle uscite in corrispondenza delle word AW104, AW106, AW108 ed AW110. La codifica del valore utilizza 11 dei 16 bit disponibili. Come indicato nello schema seguente, il bit meno significativo della codifica (B0) occupa il bit 4 della word, B1 occupa il bit 5 e così via fino a B10 che occupa il bit 14. I bit 15, 3, 2, 1 e 0 sono ininfluenti al fine dell’emissione di un certo valore di tensione.

Tabella 13: Codifica valori dei canali analogici di uscita per S5 100U

Bit di AW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Codifica X B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X X

Per ottenere il valore minimo in uscita (es. 0V) occorre una codifica B10-B0 pari a 0; il valore massimo si ottiene invece con una codifica di 1024. Quindi, concludendo, il valore che è possibile scrivere in una delle word dell’immagine può variare da 0 a 1024x16=16384. Dove la moltiplicazione per 16 deriva dallo scorrimento di 4 posti a sinistra (24=16) che prevede la codifica.

Merker

I merker o flag costituiscono una parte della memoria RAM della CPU. Essa è direttamente accessibile da programma utente e da questo viene utilizzata per memorizzazioni intermedie di risultati di calcoli o temporanee di dati. In questo PLC essa è composta da 128 byte (merker byte). Ogni byte di questa memoria è indirizzabile attraverso la sigla MBx, dove x è il numero progressivo di byte. Ad esempio, MB100 identifica il byte 100 della memoria merker. Gli indirizzi possibili vanno quindi da MB0 a MB127.

Ogni bit della stessa memoria è indirizzabile singolarmente con la sigla Mx.y, dove x è ancora il numero di byte e y è il numero del bit all’interno del byte. Quindi sono possibili gli indirizzi da M0.0 a M127.7.

Infine, la memoria merker può essere indirizzata a word utilizzando la sigla MWx dove x è il numero di word. La MW0 (merker word numero 0) è composta dai merker byte MB0 e MB1, la MW1 da MB1 e MB2, e così via. Il campo operandi possibile va da MW0 a MW126. Infatti la MW126, che raggruppa MB126 e MB127, è l’ultima merker word disponibile, essendo MB127 l’ultimo byte indirizzabile.

I merker byte da MB0 a MB63 sono ritentivi, cioè conservano il loro valore dopo una mancanza di alimentazione e così pure lo sono, ovviamente, i merker bit che contengono e le merker word che compongono.

11-4 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

I merker byte da MB64 a MB127 sono non ritentivi, perdono quindi il loro valore dopo una mancanza di alimentazione alla CPU, cioè vengono azzerati. Lo stesso dicasi per i merker bit contenuti in essi e le merker word da essi composte.

Temporizzatori

All’interno del programma utente è possibile l’utilizzo di 64 temporizzatori con indirizzi da T0 a T63. Tutti i temporizzatori sono non ritentivi.

Contatori

Sono disponibili al programmatore 64 contatori, indirizzabili con le sigle da Z0 a Z63. I primi 8 (da Z0 a Z7) sono ritentivi i restanti (da Z8 a Z63) sono non ritentivi.

Tabella 14: Riepilogo indirizzamento per S5 100U

Tipo Min Max

Ingressi a bit E0.0 E127.7

Ingressi a byte EB0 EB127

Ingressi a word EW0 EW126

Uscite a bit A0.0 A127.7

Uscite a byte AB0 AB127

Uscite a word AW0 AW126

Merker bit (ritentivi) M0.0 M63.7

Merker bit (non ritentivi) M64.0 M127.7

Merker byte (ritentivi) MB0 MB63

Merker byte (non ritentivi) MB64 MB127

Merker word (ritentive) MW0 MW62

Merker word (non ritentive) MW64 MW126

Data byte (sinistro) DL0 DL255

Data byte (destro) DR0 DR255

Data word DW0 DW255

Temporizzatori T0 T63

Contatori (ritentivi) Z0 Z7

Contatori (non ritentivi) Z8 Z63

Costante di byte KB0 KB255

Costante in virgola fissa KF –32768 KF +32767

Costante esadecimale KH 0000 KH FFFF

Costante binaria KM 00000000 00000000 KM 11111111 11111111

Costante a due byte KY 0,0 KY 255,255

Costante di tempo KT 0.1 KT 999.3

Costante di conteggio KZ 0 KZ 999

Blocchi organizzativi OB 0 OB 63

Blocchi di programma PB 0 PB 63

Blocchi funzionali FB 0 FB 63

Blocchi dati DB 2 DB 63

Note sulla programmazione del PLC Siemens S5 100U 11-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Costanti

E’ data la possibilità di utilizzare nel programma delle costanti, per assegnare valori a merker word, per caricare temporizzatori e contatori, per operazioni di confronto, ecc. Le costanti definite per questo PLC sono di vario genere per adattarsi alle diverse esigenze che si riscontrano in fase di programmazione. Eccone di seguito un elenco.

Costanti di byte

Sono costanti costituite da un solo byte; il loro valore va da 0 a 255 e la sigla corrispondente da KB0 a KB255. Per esempio, KB100 è una costante di byte dal valore di (100)10.

Costanti in virgola fissa

Sono costanti espresse su sedici bit compreso segno; i numeri negativi sono rappresentati in complemento a due. Le sigle per queste costanti vanno da KF –32768 a KF +32767. Per esempio, la costante KF -1200 identifica una costante a sedici bit con valore (-1200)10.

Costanti esadecimali

Sono costanti espresse su 16 bit in formato esadecimale da KH 0000 a KH FFFF. Per esempio, KH 0120 identifica una costante che vale (120)16 o , se preferite, (288)10.

Costanti binarie

Sono costanti espresse su 16 bit con descrizione diretta binaria; la rappresentazione va da KM 00000000 00000000 a KM 11111111 11111111. Per esempio, KM 00100000 11100111 identifica una costante del valore (0010000011100111)2 o, in base esadecimale, (20E7)16.

Costanti a due byte

Esprimono costanti a 16 bit come combinazione dei valori dei due byte. La sigla ha come limiti KY 0,0 e KY 255,255. Per esempio, la costante KY 25,100 identifica una costante a 16 bit il cui byte superiore vale (25)10 e quello inferiore (100)10.

Costanti di tempo

Esprimono costanti per il caricamento dei temporizzatori. Esse sono composte dalla sigla KT seguita da un numero che identifica gli intervalli di tempo, da un punto di separazione e da un altro numero che identifica la base tempi. I valori ammissibili hanno per limiti KT 0.0 e KT 999.3. Per maggiori dettagli vedere più avanti Operazioni di temporizzazione.

Costanti di conteggio

Esprimono costanti a 16 bit formattate in BCD per l’impostazione dei contatori. Valori da KZ 0 a KZ 999. Vedere più avanti Operazioni di conteggio.

11-6 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elaborazione del programma utente

Sistema operativo

Il cuore del funzionamento del PLC è il suo Sistema Operativo: un programma che gestisce il funzionamento di base dell’apparecchiatura, registrato nella ROM dalla casa costruttrice.

Una disamina puntale delle funzioni del Sistema Operativo non rientra nei compiti di questo manuale, ed anche nei manuali dei PLC reali è difficile trovare molti chiarimenti a riguardo; tra l’altro, il fatto che questo programma venga eseguito è completamente trasparente al programmatore che, per certi versi, può addirittura ignorarne l’esistenza.

Elenchiamo comunque, per completezza, alcune delle funzioni da esso svolte, quelle che riteniamo più importanti ai fini della trattazione seguente:

• controllo del tempo di ciclo (watch-dog)

• test dell’hardware e della memoria

• richiamo del programma utente

• aggiornamento dell’immagine degli ingressi

• trasferimento dell’immagine delle uscite

• gestione presa di programmazione

• controllo della batteria tampone.

Stato della CPU

La CPU può trovarsi in uno dei seguenti stati:

OFF: la CPU non è alimentata, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di Off. I LED Stop e Run sul fronte della CPU sono spenti.

STOP: la CPU è alimentata ma il programma utente non viene eseguito, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di On ed il commutatore di funzionamento si trova nella posizione di Stop. Il LED Stop è acceso, il LED Run è spento.

RUN: la CPU è alimentata e viene eseguito il programma utente, il commutatore di accensione nella Barra

strumenti di PC-Sim si trova nella posizione di On ed il commutatore di funzionamento si trova nella posizione di Run. Il LED Stop è spento, il LED Run è acceso.

Lo stato attuale della CPU viene visualizzato nella barra del titolo della Finestra PLC racchiuso tra parentesi quadre.

Immagini di processo

Una parte della RAM della CPU è destinata al compito di fungere da memoria intermedia per l’accesso alla periferia. Questa memoria prende il nome di immagine di processo e si divide in due parti: immagine di processo degli ingressi ed immagine di processo delle uscite (nel seguito denominate solo immagine degli ingressi ed immagine delle uscite).

Prima dell’elaborazione del programma utente, tutti gli ingressi del PLC vengono letti ed il loro stato copiato nell’immagine degli ingressi. Al termine dell’elaborazione del programma utente, la memoria immagine delle uscite è ricopiata nelle uscite del PLC.

Durante l’elaborazione del programma, ogni acceso agli ingressi o alle uscite non viene riferito all’effettivo canale fisico ma ad un bit, corrispondente a quel canale, nella memoria immagine di processo. Quando si richiede la lettura di un ingresso, quello che si legge è in realtà un bit di memoria che, in precedenza, è stato

Note sulla programmazione del PLC Siemens S5 100U 11-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

copiato dall’ingresso effettivo. Quando si scrive su un’uscita, in realtà non si scrive direttamente sul canale di uscita, ma viene scritto un bit di memoria che solo successivamente verrà ricopiato sul canale fisico di uscita. Vedremo come si possa anche scrivere un ingresso e leggere un’uscita, ma questo non cambia i termini della questione.

Il microprocessore all’interno del PLC dovrà pertanto dividere il suo tempo tra diversi compiti: eseguire il Sistema operativo, aggiornare l’immagine degli ingressi, eseguire il programma applicativo e trasferire l’immagine delle uscite. Il diagramma a torta della Figura 15 illustra queste attività. Il senso di percorrenza del diagramma è quello illustrato dalla freccia. Le rispettive percentuali di tempo sono del tutto casuali ed, in particolare, quella dedicata all’esecuzione del programma utente è variabile con le dimensioni dello stesso cioè, in generale, quanto più lungo è il programma tanto più tempo occorrerà alla CPU per eseguirlo (escludendo da questa considerazione i programmi che contengono operazioni di salto).

Figura 34: Ripartizione tempo del microprocessore del PLC

Controllo del tempo di ciclo

Il sistema operativo, subito prima di effettuare il richiamo del programma utente, avvia un monostabile che ha in genere una durata che va da qualche decina fino a pochissime centinaia di millisecondi. Supponiamo che il programma utente richieda per la sua esecuzione un tempo inferiore a quello del monostabile. In questa situazione, prima di ogni suo successivo richiamo il monostabile verrebbe avviato nuovamente e, come risultato, l’uscita di quest’ultimo rimarrebbe continuamente alta.

Se, invece, il programma utente richiedesse per la sua esecuzione più tempo della durata del monostabile, allora l’uscita di questo si porterebbe allo stato basso, provocando l’immediato passaggio in Stop del PLC.

Un programma realizzato male potrebbe portare la CPU ad eseguire indefinitamente, o per un tempo eccessivo ai fini della rapidità del controllo dell’impianto, un ciclo chiuso di istruzioni senza tornare all’elaborazione del sistema operativo. Questa condizione potrebbe portare danni all’impianto e grave pericolo per il personale che vi opera. Il controllo del tempo di ciclo, che nella letteratura tecnica specializzata trovate anche col nome di watch-dog, evita proprio questo problema.

Anche PC-Sim controlla che il vostro programma non generi un ciclo chiuso ma, in questo caso, i molteplici e mutabili compiti di un PC, impongono tempi più lunghi per la rilevazione del problema, dell’ordine di qualche secondo.

11-8 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Programmazione strutturata

Il programma per questo PLC può essere redatto dividendone il contenuto in più parti. Ognuna di queste prende il nome di blocco. Esistono blocchi organizzativi (OB), blocchi di programma (PB), blocchi funzionali (FB) e blocchi dati (DB). I diversi blocchi possono essere richiamati l’uno dall’altro utilizzando le operazioni di chiamata o di apertura che saranno trattate nel paragrafo dedicato alla descrizione delle operazioni. Un programma scritto secondo questo criterio prende il nome di programma strutturato.

L’operazione di divisione del programma in blocchi, cioè la sua strutturazione, non è indispensabile: il programma può essere tranquillamente redatto in un unico blocco e funzionare perfettamente. Questo è quanto faremo all’inizio della nostra pratica con il PLC. Nel capitolo seguente sono riportati una serie di programmi la maggioranza dei quali, i più semplici, sono scritti in un unico blocco. Ma, quando i programmi diventano lunghi, la divisione può assumere diversi vantaggi:

• Accorpamento di parti identiche di codice in un blocco e richiamo di questo da dove necessario. Del tutto simile alla scrittura di sottoprogrammi in linguaggi di programmazione evoluti per PC.

• Trasportabilità di blocchi con funzioni specifiche da un progetto all’altro.

• Aumento della leggibilità del programma e, quindi, della semplicità di manutenzione successiva.

In questa sezione verranno descritti i diversi tipi di blocchi, le loro peculiarità e le loro funzioni. La Tabella 15 riassume le caratteristiche principali dei diversi tipi di blocco.

Tabella 15: Riepilogo tipi di blocchi per S5 100U

OB PB FB DB

Numero 0…63 0…63 0…63 2…63

Lunghezza max 256 word

Set operazioni Fondamentali Fondamentali Fondamentali ed integrative

Programmazione Ladder e AWL Ladder e AWL Solo AWL

Blocchi Organizzativi (OB)

I blocchi organizzativi rappresentano l’interfaccia tra il sistema operativo ed il programma utente. Sono cioè blocchi che l’utente può programmare ma che normalmente vengono chiamati da sistema operativo ciclicamente o a seguito del verificarsi di specifiche condizioni. Essi possono essere programmati in ladder o in AWL con il set di istruzioni fondamentali. Di seguito elenchiamo i blocchi organizzativi che il sistema operativo del PLC simulato chiama e le condizioni per cui tale chiamata si verifica.

OB1 Elaborazione ciclica del programma

Il blocco organizzativo OB1 è richiamato ciclicamente da sistema operativo subito dopo l’aggiornamento dell’immagine di processo degli ingressi. Ogni programma dovrà contenere questo blocco ed esso potrà contenere, eventualmente, richiami di altri blocchi. Se intendete scrivere tutto il programma in un unico blocco e se il set di istruzioni fondamentali vi è sufficiente, è proprio l’OB1 che dovrete programmare.

OB21 Inserimento manuale (Stop → Run)

All’inserimento del selettore del modo di funzionamento Stop-Run (passaggio in Run) vengono cancellati l’immagine di processo, i temporizzatori, i contatori non ritentivi ed i merker non ritentivi, quindi viene elaborato, se programmato, il blocco OB21. Successivamente verrà eseguito il normale programma ciclico (richiamo dell’OB1). Durante l’elaborazione dell’OB21 il LED rosso di Stop e quello verde di Run sono accesi contemporaneamente.

Note sulla programmazione del PLC Siemens S5 100U 11-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Questo blocco può essere utilizzato per le impostazioni iniziali che eventuali merker debbano assumere al riavviamento della CPU.

OB22 Ritorno tensione (Off → On)

All’inserimento del selettore di alimentazione Off-On (passaggio in On), se il selettore del modo di funzionamento si trova già in Run, vengono cancellati l’immagine di processo, i temporizzatori, i contatori non ritentivi ed i merker non ritentivi, quindi viene elaborato, se programmato, il blocco OB22. Successivamente verrà eseguito il normale programma ciclico (richiamo dell’OB1). Durante l’elaborazione dell’OB22 il LED rosso di Stop e quello verde di Run sono accesi contemporaneamente.

Questo blocco può essere utilizzato per le impostazioni iniziali che eventuali merker debbano assumere dopo una mancanza di tensione.

OB34 Fuori servizio batteria

La CPU del PLC simulato controlla continuamente lo stato della batteria. Quando la batteria viene disinserita (non è possibile simulare in senso stretto che la batteria si scarichi) viene elaborato prima di ogni ciclo, se programmato, l’OB34. In esso è possibile scrivere la reazione che il programma utente deve avere in caso di batteria fuori servizio.

L’OB34 continuerà ad essere elaborato, prima di ogni ciclo, fino al reinserimento della batteria tampone.

La funzione della batteria nel PLC reale è quella di mantenere il programma in RAM quando la CPU non è alimentata e di mantenere, nelle stesse condizioni, il valore dei merker e dei contatori ritentivi. Nella simulazione è stato riproposto un analogo comportamento perché lo si è ritenuto importante dal punto di vista didattico.

Blocchi di Programma (PB)

Sono blocchi in cui è possibile scrivere il programma utilizzando il linguaggio ladder o quello AWL con il set di istruzioni fondamentale. Essi rappresentano parti compiute di programma. Affinché siano eseguiti essi dovranno essere richiamati da altri blocchi con operazioni SPA o SPB.

Blocchi Funzionali (FB)

Sono blocchi in cui è possibile scrivere il programma utilizzando solo il linguaggio AWL. Rappresentano parti compiute di programma ed in essi è programmabile l’intero set di operazioni (fondamentali e integrative). Affinché siano eseguiti essi dovranno essere richiamati da altri blocchi con operazioni SPA o SPB.

Questi blocchi sono inoltre parametrizzabili, ossia ad essi possono essere passati dei parametri dal blocco chiamante. Per le istruzioni che ne fanno uso, i parametri verranno sostituiti nel blocco chiamato agli operandi formali. Il massimo numero di parametri per blocco è di 40. Ogni parametro deve essere dichiarato all’inizio del blocco nell’apposita griglia dell’editor AWL specificandone la sigla, la specie ed eventualmente il tipo. I parametri nelle operazioni SPA FB o SPB FB devono corrispondere per tipo e numero a quelli attesi. Vedere in merito L'editor AWL per il PLC S5 100U nel Capitolo 3.

La Tabella 16 riassume i possibili parametri e gli operandi attuali corrispondenti.

Blocchi Dati (DB)

In questi blocchi possono essere immagazzinati dati che serviranno nell’elaborazione del programma utente. I blocchi dati sono strutturati in word, a partire dalla numero 0 fino alla numero 255, al massimo. L’accesso ai dati potrà essere effettuato con operazioni di lettura e scrittura a word (DW) o a byte (sinistro DL, destro DR). In fase di editing del blocco sono memorizzabili tutti i tipi di costanti a 16 bit.

11-10 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

E' necessaria l'apertura del blocco mediante l'istruzione A DBn, dove n è il numero del blocco, prima di accedere ai dati in esso contenuti. Operazioni di accesso a dati con blocco non aperto, o accesso a dati oltre la lunghezza del blocco, provocano errore di esecuzione e portano la CPU in Stop.

Tabella 16: Specie e tipo dei parametri per blocco funzionale di S5 100U

Specie Tipo Operandi attuali

E

A

BI (operandi a bit)

M

EB

AB

MB

DR

BY (operandi a byte)

DL

EW

AW

MW

E, A

W (operandi a word)

DW

KB

KF

KH

KM

KT

KY

D

KZ

OB

PB

FB (non parametrizzati)

B Non è ammessa l’indicazione del tipo

DB

T Non è ammessa l’indicazione del tipo T

Z Non è ammessa l’indicazione del tipo Z

Note sulla programmazione del PLC Siemens S5 100U 11-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Programmazione in AWL

La modalità di programmazione AWL o Lista istruzioni costituisce una delle due metodologie di implementazione di programmi utente in questo PLC. Essa consiste nella scrittura consecutiva di istruzioni; ognuna di esse costituisce la più piccola unità di programma e rappresenta un compito elementare per la CPU nella elaborazione del programma utente.

Istruzioni

Ogni istruzione AWL è composta da una operazione e, dove necessario, da un operando. Di questi ultimi abbiamo già parlato nel paragrafo dedicato all’indirizzamento. Nei paragrafi seguenti forniamo, invece, una descrizione dettagliata delle operazioni, raggruppate per tipologia. Vengono inoltre fornite, per comodità di consultazione da parte del programmatore, due tabelle riepilogative che raggruppano le operazioni in funzione del set di appartenenza. Le operazioni del set fondamentale possono essere programmate in qualunque blocco, escluso ovviamente i DB che, per loro stessa natura, non supportano istruzioni ma dati. Le operazioni integrative possono essere programmate, invece, solo nei blocchi funzionali.

Registri

Per l’esecuzione del programma utente la CPU utilizza diversi registri allo scopo di memorizzare risultati intermedi di calcolo e/o valutare se eseguire o meno certe operazioni. Forniamo di seguito l’elenco e la descrizione di questi registri.

RLC

E’ un registro ad 1 bit e viene utilizzato come memoria di lavoro nell’elaborazione del programma utente. In esso vengono depositati i risultati delle operazioni logiche o delle operazioni di test sullo stato e da esso vengono prelevati i valori per le operazioni di memorizzazione.

Accumulatori

Sono due registri a 16 bit denotati con le sigle ACCU1 ed ACCU2. In ACCU1 vengono depositati i valori letti con operazioni di caricamento, ottenuti da operazioni logiche su word, aritmetiche e di conversione e da esso viene prelevato il valore da ricopiare nelle operazioni di trasferimento e di impostazione di temporizzatori e contatori. ACCU2 serve come registro ausiliario ad ACCU1 nelle operazioni logiche su word, di confronto ed aritmetiche.

Indicatori

La CPU utilizza infine tre registri ad un bit (indicatori):

• ANZ 0

• ANZ 1

• OV

Essi vengono influenzati da operazioni di confronto, calcolo, scorrimento e conversione e vengono testati dalle operazioni di salto.

Vedere la Tabella 23 per informazioni sull’influenza delle operazioni sugli indicatori ANZ 0 ed ANZ 1.

Il bit di overflow (OV) va alto se in un’operazione di calcolo il risultato è maggiore di +32767 o minore di -32768.

11-12 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazioni logiche

U (And o test sullo stato 1)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la AND tra il contenuto di RLC e lo stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, lo stato dell’operando viene copiato in RLC.

Consultate la Tabella 21 e la Tabella 22 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, T, Z.

O (Or o test sullo stato 1)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la OR tra il contenuto di RLC e lo stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, lo stato dell’operando viene copiato in RLC.

Consultate la Tabella 21 e la Tabella 22 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, T, Z.

UN (And Not o test sullo stato 0)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la AND tra il contenuto di RLC e il complemento dello stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, il complemento dello stato dell’operando viene copiato in RLC.

Consultate la Tabella 21 e la Tabella 22 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, T, Z.

ON (Or Not o test sullo stato 0)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la OR tra il contenuto di RLC e il complemento dello stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, il complemento dello stato dell’operando viene copiato in RLC.

Consultate la Tabella 21 e la Tabella 22 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, T, Z.

O (Or di AND)

Il risultato logico combinatorio RLC attuale viene accantonato per essere messo in OR con l’RLC corrente alla prima operazione RLC limitante. Il risultato viene depositato in RLC.

Operandi ammessi: nessuno

U( (Apertura di parentesi in combinazione And)

L’RLC corrente viene accantonato per essere ripreso alla chiusura della parentesi e messo in AND con l’RLC risultante dal calcolo dell’espressione entro parentesi.

Operandi ammessi: nessuno

Note sulla programmazione del PLC Siemens S5 100U 11-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

O( (Apertura di parentesi in combinazione Or)

L’RLC corrente viene accantonato per essere ripreso alla chiusura della parentesi e messo in OR con l’RLC risultante dal calcolo dell’espressione entro parentesi.

Operandi ammessi: nessuno

) (Parentesi di chiusura)

Indica la fine di un’espressione entro parentesi. L’RLC accantonato con un’operazione di apertura parentesi viene recuperato e messo in AND o in OR con l’RLC attuale, a seconda che l’operazione che ha dato inizio all’espressione entro parentesi sia una U( o una O(. Il risultato viene depositato in RLC.

Operandi ammessi: nessuno

Operazioni di memorizzazione

S (Set)

Se RLC=1, l’operando viene impostato ad 1. Se RLC=0, l’operando non viene modificato. L’operazione limita l’RLC, cioè costituisce un’operazione di chiusura di sequenza e la successiva operazione logica U, O, UN o ON verrà interpretata come un test sullo stato dell’operando.

Operandi ammessi: E, A, M

R (Reset)

Se RLC=1, l’operando viene impostato ad 0. Se RLC=0 l’operando non viene modificato. L’operazione limita l’RLC, cioè costituisce un’operazione di chiusura di sequenza e la successiva operazione logica U, O, UN o ON verrà interpretata come un test sullo stato dell’operando.

Operandi ammessi: E, A, M

= (Assegnazione)

Il valore di RLC viene copiato nell’operando. L’operazione limita l’RLC, cioè costituisce un’operazione di chiusura di sequenza e la successiva operazione logica U, O, UN o ON verrà interpretata come un test sullo stato dell’operando.

Operandi ammessi: E, A, M

Operazioni di caricamento e trasferimento

L (Caricamento)

Con le operazioni di caricamento è possibile ricopiare nel registro ACCU1 il valore di operandi a byte ed a word. Prima di ogni caricamento, il valore di ACCU1 viene trasferito in ACCU2.

Per operazioni di caricamento di byte, il valore dell’operando viene ricopiato nel byte meno significativo di ACCU1, mentre il byte più significativo viene azzerato.

Operandi ammessi: EB, EW, AB, AW, MB, MW, DR, DL, DW, T, Z, KM, KH, KF, KY, KB, KT, KZ

La Figura 35 illustra le modifiche che avvengono negli accumulatori a seguito di due operazioni consecutive di caricamento. Il primo rigo mostra uno stato precedente alla prima operazione di caricamento in cui i valori degli accumulatori sono stati assunti a zero. Il secondo ed il terzo rigo mostrano rispettivamente il contenuto di ACCU1 ed ACCU2 dopo l’operazione di caricamento sullo stesso rigo. Al termine dell’esecuzione delle due istruzioni, il primo valore caricato si trova in ACCU2 ed il secondo in ACCU1.

11-14 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Figura 35: Illustrazione operazioni di caricamento

LC (Caricamento BCD)

Con questa operazione viene caricato nel registro ACCU1 il valore dell’operando con codifica BCD. Prima del caricamento il valore di ACCU1 viene trasferito in ACCU2.

Operandi ammessi: T, Z

T (Trasferimento)

Con le operazioni di trasferimento è possibile ricopiare in operandi a byte ed a word il valore del registro ACCU1. Nel caso di operando a byte, viene ricopiato solo il byte meno significativo di ACCU1.

Operandi ammessi: EB, EW, AB, AW, MB, MW, DR, DL, DW

Operazioni di temporizzazione

Premettiamo alla descrizione delle operazioni di temporizzazione alcuni chiarimenti riguardo alla codifica dei tempi.

Quando si avvia un temporizzatore con una delle operazioni illustrate più avanti in questa sezione, il valore in ACCU1 verrà utilizzato per l’impostazione del tempo come mostrato nel seguente schema.

Tabella 17: Codifica valori di tempo per S5 100U

Bit di ACCU1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Codifica B1 B0 T11 T10 T9 T8 T7 T6 T5 T4 T3 T2 T1 T0

I bit 13 e 12 determinano la base tempi; quelli da 0 ad 11, in codifica BCD, determinano il numero di intervalli in detta base. I bit 14 e 15 non sono significativi. La base viene determinata nel modo specificato nella tabella seguente:

Tabella 18: Codifica dei valori di base tempo per S5 100U

B1 B0 Valore Base

0 0 0 0.01 s

0 1 1 0.1

1 0 2 1s

1 1 3 10s

In realtà le cose sono più semplici di quanto possano far pensare queste premesse, essendo possibile caricare un valore di tempo codificato direttamente con l'operazione di caricamento di costante di tempo (L KT).

Una costante di tempo è costituita come segue:

• Sigla KT

• Numero che esprime gli intervalli di tempo (da 0 a 999)

• Carattere punto (.)

Note sulla programmazione del PLC Siemens S5 100U 11-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

• Numero che esprime la base tempi (da 0 a 3)

Quindi, la costante KT 250.1 esprime un tempo di 25 secondi (250x0.1s) e, viceversa, se desideriamo impostare un tempo di 10 secondi potremo scegliere tra le costanti KT 100.1, KT 10.2 e KT 1.3. In realtà, essendo l’errore massimo che si commette in una temporizzazione pari ad un intervallo di base tempi, la rappresentazione più conveniente risulta essere la prima, quella con la base più piccola.

Il più piccolo tempo rappresentabile è KT1.0 (1 centesimo di secondo); il più grande è KT999.3 (9990 secondi).

SI (Impulso)

La temporizzazione viene attivata sul fronte di salita di RLC con il tempo specificato e codificato in ACCU1 e continua a scorrere fintanto che RLC=1. Se RLC diventa 0, il tempo viene impostato su 0.

Lo stato del temporizzatore è alto per tutto lo scorrere del tempo.

Operandi ammessi: T

Figura 36:Temporizzatore ad impulso per S5 100U

SV (Impulso prolungato)

La temporizzazione viene attivata sul fronte di salita di RLC con il tempo specificato e codificato in ACCU1. Lo stato di RLC non influenza ulteriormente la temporizzazione.

Lo stato del temporizzatore è alto per tutto lo scorrere del tempo.

Operandi ammessi: T

Figura 37: Temporizzatore ad impulso prolungato per S5 100U

11-16 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

SE (Ritardo all’eccitazione)

La temporizzazione viene attivata in corrispondenza del fronte di salita di RLC con il tempo specificato e codificato in ACCU1. Se RLC diventa 0, il tempo viene impostato su 0.

Lo stato del temporizzatore è alto quando il tempo è trascorso e RLC si trova ancora allo stato alto.

Operandi ammessi: T

Figura 38: Temporizzatore con ritardo all'eccitazione per S5 100U

SS (Ritardo all’eccitazione con memoria)

La temporizzazione viene attivata in corrispondenza del fronte di salita di RLC con il tempo specificato e codificato in ACCU1. Se RLC diventa 0, il tempo non viene influenzato.

Lo stato del temporizzatore è alto quando il tempo è trascorso. Esso ritorna allo stato basso solo dopo un reset del temporizzatore con operazione R.

Operandi ammessi: T

Figura 39: Temporizzatore con ritardo all'eccitazione con memoria per S5 100U

Note sulla programmazione del PLC Siemens S5 100U 11-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

SA (Ritardo alla diseccitazione)

La temporizzazione viene attivata in corrispondenza del fronte di discesa di RLC con il tempo specificato e codificato in ACCU1. Se RLC diventa 1, il tempo viene reimpostato al valore iniziale.

Lo stato del temporizzatore è alto quando RLC = 1 oppure quando il tempo sta scorrendo.

Operandi ammessi: T

Figura 40: Temporizzatore con ritardo alla diseccitazione per S5 10U

R (Reset di un temporizzatore)

Se RLC=1, il tempo viene reimpostato al valore iniziale. Se RLC=0, l’operazione viene ignorata.

Lo stato del temporizzatore è basso fin quando il tempo è ripristinato (RLC=0).

Operandi ammessi: T

Operazioni di conteggio

Premettiamo alla descrizione delle operazioni alcuni chiarimenti riguardo alla codifica dei valori di impostazione dei contatori.

Quando si imposta un contatore, occorre specificarne il valore preset in ACCU1 come mostrato nel seguente schema.

Tabella 19: Codifica valori di conteggio per S5 100U

Bit di ACCU1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Codifica X X X X C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0

I bit da 0 ad 11, in codifica BCD, rappresentano il valore iniziale del conteggio. I bit da 12 a 15 non sono significativi.

S (Set di un contatore)

Il conteggio viene impostato al valore in ACCU1 in corrispondenza del fronte di salita di RLC.

Lo stato del contatore va alto se il valore di conteggio impostato è diverso da 0.

Operandi ammessi: Z

R (Reset di un contatore)

Fintanto che RLC = 1, il valore di conteggio viene impostato a 0 e lo stato del contatore va basso.

Operandi ammessi: Z

11-18 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

ZV (Conteggio in avanti)

Il valore di conteggio viene incrementato di 1 in corrispondenza del fronte di salita di RLC.

Lo stato del contatore va o rimane alto.

Operandi ammessi: Z

ZR (Conteggio indietro)

Il valore di conteggio viene decrementato di 1 in corrispondenza del fronte di salita di RLC.

Lo stato del contatore va basso se il valore di conteggio diventa 0.

Operandi ammessi: Z

Operazioni di confronto

!=F (Confronto su uguale)

Se ACCU2 è uguale ad ACCU1, l’RLC viene impostato ad 1, altrimenti viene impostato a 0.

Operandi ammessi: nessuno

><F (Confronto su diverso)

Se ACCU2 è diverso da ACCU1, l’RLC viene impostato ad 1, altrimenti viene impostato a 0.

Operandi ammessi: nessuno

>F (Confronto su maggiore)

Se ACCU2 è maggiore di ACCU1, l’RLC viene impostato ad 1, altrimenti viene impostato a 0.

Operandi ammessi: nessuno

>=F (Confronto su maggiore o uguale)

Se ACCU2 è maggiore o uguale di ACCU1, l’RLC viene impostato ad 1, altrimenti viene impostato a 0.

Operandi ammessi: nessuno

<F (Confronto su minore)

Se ACCU2 è minore di ACCU1, l’RLC viene impostato ad 1, altrimenti viene impostato a 0.

Operandi ammessi: nessuno

<=F (Confronto su minore o uguale)

Se ACCU2 è minore o uguale di ACCU1, l’RLC viene impostato ad 1, altrimenti viene impostato a 0.

Operandi ammessi: nessuno

Operazioni aritmetiche

+F (Addizione)

I contenuti di ACCU1 ed ACCU2 vengono sommati come numeri a 16 bit con segno. Il risultato viene memorizzato in ACCU1.

Operandi ammessi: nessuno

Note sulla programmazione del PLC Siemens S5 100U 11-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

-F (Sottrazione)

Il contenuto di ACCU1 viene sottratto da ACCU2. I valori vengono interpretati come numeri a 16 bit con segno. Il risultato viene memorizzato in ACCU1.

Operandi ammessi: nessuno

ADD (Addizione di una costante)

La costante specificata come operando, a byte (BF) o a word (KF), viene sommata ad ACCU1. Il risultato viene memorizzato in ACCU1.

Operandi ammessi: BF, KF

Operazioni sui blocchi

SPA (Chiamata assoluta a blocco)

Indipendentemente da RLC, l’elaborazione del programma viene fatta proseguire dalla prima istruzione del blocco specificato come operando. A seguito dell’elaborazione di un’istruzione BE, BEB o BEA in quest’ultimo, l’elaborazione torna al blocco chiamante in corrispondenza dell’istruzione successiva.

In caso di chiamata di blocco funzionale parametrizzato occorre specificare, tra parentesi e separati dal carattere ‘;’ (punto e virgola), gli operandi da passare al blocco chiamato.

Operandi ammessi: OB, PB, FB

SPB (Chiamata condizionata a blocco)

Se RLC=1, l’elaborazione del programma viene fatta proseguire dalla prima istruzione del blocco specificato come operando. A seguito dell’elaborazione di un’istruzione BE, BEB o BEA in quest’ultimo, l’elaborazione torna al blocco chiamante in corrispondenza dell’istruzione successiva.

Se RLC=0, l’operazione viene ignorata, RLC viene impostato ad 1 e l’elaborazione continua con l’istruzione successiva.

In caso di chiamata di blocco funzionale parametrizzato occorre specificare, tra parentesi e separati dal carattere ‘;’ (punto e virgola), gli operandi da passare al blocco chiamato.

Operandi ammessi: OB, PB, FB

A (Apertura di un blocco dati)

Indipendentemente da RLC, viene impostato il blocco dati attuale, cioè il blocco a cui faranno riferimento tutte le operazioni di lettura e scrittura dati sia a byte che a word. Il blocco aperto rimane attivo fino all’apertura di un nuovo blocco. In caso di successiva chiamata a blocco con operazioni SPA o SPB il blocco dati eventualmente aperto rimane attivo anche nel blocco chiamato.

Ogni accesso a dati, senza che sia stato preventivamente aperto un blocco di questo tipo, genera errore.

Operandi ammessi: DB

BE (Fine blocco)

E’ l’istruzione di chiusura, cioè l’ultima, di un blocco. Indipendentemente da RLC, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Il valore di RLC, non modificato, viene riportato nel blocco chiamante. Nel caso dell’OB1, dopo l'elaborazione di questa istruzione, il controllo ritorna a Sistema Operativo.

Operandi ammessi: nessuno

11-20 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

BEA (Fine blocco incondizionata)

Indipendentemente da RLC, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Il valore di RLC, non modificato, viene riportato nel blocco chiamante. Nel caso dell’OB1, dopo l'elaborazione di questa istruzione, il controllo ritorna a Sistema Operativo. L'operazione BEA, a differenza della precedente, può essere utilizzata anche all’interno di un blocco.

Operandi ammessi: nessuno

BEB (Fine blocco condizionata)

Se RLC=1, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Il valore di RLC (1 in questo caso), non modificato, viene riportato nel blocco chiamante. Nel caso dell’OB1, dopo l'elaborazione di questa istruzione, il controllo ritorna a Sistema Operativo.

Se RLC=0, l’operazione non viene eseguita, RLC viene impostato ad 1 e l’elaborazione continua con l’istruzione successiva.

Operandi ammessi: nessuno

Operazioni logiche su parole

UW (And su word)

Esegue la combinazione logica AND bit a bit di ACCU1 e ACCU2. Il risultato viene depositato in ACCU1.

Operandi ammessi: nessuno

OW (Or su word)

Esegue la combinazione logica OR bit a bit di ACCU1 e ACCU2. Il risultato viene depositato in ACCU1.

Operandi ammessi: nessuno

XOW (Xor su word)

Esegue la combinazione logica XOR bit a bit di ACCU1 e ACCU2. Il risultato viene depositato in ACCU1.

Operandi ammessi: nessuno

Operazioni di scorrimento

SLW (Scorrimento a sinistra)

Scorrimento dei bit di ACCU1 a sinistra del numero di posizioni espresse dal parametro. I bit fuorusciti da sinistra vengono persi, mentre da destra entrano zeri. In caso di operando uguale a 0, nessuno scorrimento viene compiuto e l’istruzione viene sostanzialmente ignorata.

Operandi ammessi: numero da 0 a 15

SRW (Scorrimento a destra)

Scorrimento dei bit di ACCU1 a destra del numero di posizioni espresse dal parametro. I bit fuorusciti da destra vengono persi, mentre da sinistra entrano zeri. In caso di operando uguale a 0, nessuno scorrimento viene compiuto e l’istruzione viene sostanzialmente ignorata.

Operandi ammessi: numero da 0 a 15

Note sulla programmazione del PLC Siemens S5 100U 11-21

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Operazioni di conversione

KEW (Complemento ad 1)

ACCU1 viene trasformato nel suo complemento ad 1, cioè ogni bit viene invertito.

Operandi ammessi: nessuno

KZW (Complemento ad 2)

ACCU1 viene trasformato nel suo complemento ad 2, cioè prima ogni bit viene invertito e successivamente ad esso viene sommato +1.

Operandi ammessi: nessuno

Operazioni di incremento/decremento

D (Decremento)

Il contenuto del byte meno significativo di ACCU1 viene diminuito del valore dell’operando. Il byte più significativo non subisce modifiche, viene trascurato anche l’eventuale prestito.

Operandi ammessi: numero da 0 a 255

I (Incremento)

Il contenuto del byte meno significativo di ACCU1 viene aumentato del valore dell’operando. Il byte più significativo non subisce modifiche, viene trascurato anche l’eventuale riporto.

Operandi ammessi: numero da 0 a 255

Operazioni di elaborazione

B (Elaborazione di parola dati o merker)

Con questa operazione si possono compiere indicizzazioni di molte delle altre operazioni. Il contenuto dell’operando dell’istruzione viene utilizzato per ricavare l’operando dell’istruzione successiva. Le operazioni indicizzabili sono quelle di caricamento, trasferimento, richiamo blocchi, logiche, di memorizzazione, di temporizzazione e di scorrimento.

In caso di indicizzazione di operazioni binarie, l’indirizzo di bit dovrà essere presente nel byte più significativo e l’indirizzo di byte in quello meno significativo.

Operandi ammessi: MW, DW

Per esempio, la coppia di istruzioni

B MW100

L MB0

carica in accumulatore, per effetto della seconda, il merker byte il cui numero è contenuto nell’operando della prima. Se il contenuto di MW100 fosse (36)10, allora l’effetto delle due istruzioni combinate sarebbe L MB36, cioè il caricamento in accumulatore del contenuto di MB36. Se, al ciclo di esecuzione successivo, provvediamo ad incrementare di 1 il contenuto di MW100

L MW100

I 1

T MW100

la coppia di istruzioni precedenti equivarrà ora a L MB37.

11-22 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Un altro esempio: ammettendo che sia già aperto un blocco dati, la coppia di istruzioni

B DW4

U E0.0

esegue una AND con RLC del bit d’ingresso specificato nella data word. Se DW4 contiene (0701)16 allora l’ingresso indirizzato sarà il canale 7 del modulo 1. Cioè la coppia di istruzioni avrà lo stesso effetto di U E1.7.

In realtà la combinazione tra il contenuto del primo operando e la parte numerica del secondo è di tipo OR bit a bit, e solo nei casi in cui quest’ultimo è nullo, cioè uguale a 0 o 0.0, la combinazione OR da risultato proprio uguale al contenuto dell’operando della prima istruzione. Se ciò non accade, l’indicizzazione continua a funzionare, ma occorre molta cautela nel valutarne pienamente gli effetti.

B = (Elaborazione di blocco)

Richiama il blocco passato come parametro. Se il blocco è OB, PB o FB, l’elaborazione continua dalla prima istruzione di questo. Se DB, il blocco dati viene aperto. Gli FB possono essere richiamati solo se in essi non sono stati definiti parametri.

Operandi ammessi: formale (Specie parametro: B). Vedere Tabella 16.

Operazioni di salto

SPA = (Salto incondizionato)

L’elaborazione viene proseguita dall’istruzione identificata dall’etichetta specificata come operando.

Operandi ammessi: etichetta

SPB = (Salto condizionato)

Se RLC=1, l’elaborazione viene proseguita dall’istruzione identificata dall’etichetta specificata come operando.

Se RLC=0, il salto viene ignorato, RLC viene impostato ad 1 e l’elaborazione continua dall’istruzione successiva.

Operandi ammessi: etichetta

SPZ = (Salto su 0)

Il salto viene eseguito quando ANZ1=0 e ANZ0=0. RLC non viene modificato. Vedere Tabella 23.

Operandi ammessi: etichetta

SPN = (Salto su non 0)

Il salto viene eseguito quando ANZ1 è diverso da ANZ0. RLC non viene modificato. Vedere Tabella 23.

Operandi ammessi: etichetta

SPP = (Salto su positivo)

Il salto viene eseguito quando ANZ1=1 e ANZ0=0. RLC non viene modificato. Vedere Tabella 23.

Operandi ammessi: etichetta

Note sulla programmazione del PLC Siemens S5 100U 11-23

Autoware srl AW-SYS – software di simulazione di PLC e impianti

SPM = (Salto su negativo)

Il salto viene eseguito quando ANZ0=1 e ANZ0=1. RLC non viene modificato. Vedere Tabella 23.

Operandi ammessi: etichetta

SPO = (Salto su overflow)

Il salto viene eseguito quando si verifica un overflow, bit OV=1. RLC non viene modificato.

Operandi ammessi: etichetta

Operazioni logiche su operando formale

U = (And o test sullo stato 1)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la AND tra il contenuto di RLC e lo stato dell’operando formale specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, lo stato dell’operando formale viene copiato in RLC.

Consultate la Tabella 21 e la Tabella 22 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: formale (Specie parametro: E, A, T, Z; Tipo parametro: BI dove ammesso). Vedere Tabella 16.

O = (Or o test sullo stato 1)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la OR tra il contenuto di RLC e lo stato dell’operando formale specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, lo stato dell’operando formale viene copiato in RLC.

Consultate la Tabella 21 e la Tabella 22 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: formale (Specie parametro: E, A, T, Z; Tipo parametro: BI dove ammesso). Vedere Tabella 16.

UN = (And Not o test sullo stato 0)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la AND tra il contenuto di RLC e il complemento dello stato dell’operando formale specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, il complemento dello stato dell’operando formale viene copiato in RLC.

Consultate la Tabella 21 e la Tabella 22 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: formale (Specie parametro: E, A, T, Z; Tipo parametro: BI dove ammesso). Vedere Tabella 16.

11-24 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

ON = (Or Not o test sullo stato 0)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la OR tra il contenuto di RLC e il complemento dello stato dell’operando formale specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, il complemento dello stato dell’operando formale viene copiato in RLC.

Consultate la Tabella 21 e la Tabella 22 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: formale (Specie parametro: E, A, T, Z; Tipo parametro: BI dove ammesso). Vedere Tabella 16.

Operazioni di memorizzazione su operando formale

S = (Set)

Se RLC = 1, l’operando formale viene impostato ad 1. Se RLC=0, l’operando formale non viene modificato. L’operazione limita RLC cioè costituisce un’operazione di chiusura di sequenza e la successiva operazione logica verrà interpretata come un test sullo stato dell’operando.

Operandi ammessi: formale (Specie parametro: E, A; Tipo parametro: BI). Vedere Tabella 16.

RB = (Reset)

Se RLC = 1, l’operando formale viene impostato ad 0. Se RLC=0, l’operando formale non viene modificato. L’operazione limita RLC cioè costituisce un’operazione di chiusura di sequenza e la successiva operazione logica verrà interpretata come un test sullo stato dell’operando.

Operandi ammessi: formale (Specie parametro: E, A; Tipo parametro: BI). Vedere Tabella 16.

= = (Assegnazione)

Il valore di RLC viene copiato nell’operando formale. L’operazione limita RLC cioè costituisce un’operazione di chiusura di sequenza e la successiva operazione logica verrà interpretata come un test sullo stato dell’operando.

Operandi ammessi: formale (Specie parametro: E, A; Tipo parametro: BI) . Vedere Tabella 16.

Operazioni di caricamento e trasferimento di operando formale

L = (Caricamento)

Con le operazioni di caricamento è possibile ricopiare nel registro ACCU1 il valore di operandi formali a byte ed a word. Prima di ogni caricamento, il valore di ACCU1 viene trasferito in ACCU2.

Per operazioni di caricamento di byte il valore dell’operando viene ricopiato nel byte meno significativo di ACCU1, mentre il byte più significativo viene azzerato.

Operandi ammessi: formale (Specie parametro: E, A, T, Z; Tipo parametro: BY, W dove ammesso). Vedere Tabella 16.

LC = (Caricamento BCD)

Con questa operazione viene caricato nel registro ACCU1 il valore dell’operando formale con codifica BCD. Prima del caricamento il valore di ACCU1 viene trasferito in ACCU2.

Operandi ammessi: formale (Specie parametro: T, Z). Vedere Tabella 16.

Note sulla programmazione del PLC Siemens S5 100U 11-25

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LW = (Caricamento di costante)

Viene caricato nel registro ACCU1 il valore dell’operando formale costante. Prima del caricamento il valore di ACCU1 viene trasferito in ACCU2.

Operandi ammessi: formale (Specie parametro: D; Tipo parametro: KF, KH, KM, KY, KT, KZ). Vedere Tabella 16.

T = (Trasferimento)

Con le operazioni di trasferimento è possibile ricopiare in operandi formali a byte ed a word il valore del registro ACCU1. In caso di operando a byte, viene ricopiato solo il byte meno significativo di ACCU1.

Operandi ammessi: formale (Specie parametro: E, A Tipo parametro: BY, W). Vedere Tabella 16.

Operazioni di temporizzazione e conteggio con operando formale

SI = (Impulso)

Il temporizzatore specificato come operando formale viene avviato in corrispondenza del fronte di salita di RLC con il tempo specificato in ACCU1. Il tempo continua a scorrere fintanto che RLC=1. Se RLC diventa 0 il valore del tempo viene impostato su 0.

Lo stato del temporizzatore è alto per tutto lo scorrere del tempo.

Operandi ammessi: formale (Specie parametro: T). Vedere Tabella 16.

SE = (Ritardo all’eccitazione)

Il temporizzatore specificato come operando formale viene avviato in corrispondenza del fronte di salita di RLC con il tempo specificato in ACCU1. Il tempo continua a scorrere fintanto che RLC=1. Se RLC diventa 0 il tempo viene impostato su 0.

Lo stato del temporizzatore è alto quando il tempo è trascorso e RLC si trova ancora allo stato alto.

Operandi ammessi: formale (Specie parametro: T). Vedere Tabella 16.

SVZ = (Impulso prolungato o set di contatore)

Se l’operando formale è un temporizzatore, esso viene attivato in corrispondenza del fronte di salita di RLC con il tempo specificato in ACCU1. Lo stato di RLC non influenza ulteriormente la temporizzazione. Lo stato del temporizzatore è alto per tutto lo scorrere del tempo.

Se l’operando formale è un contatore, il conteggio viene impostato al valore in ACCU1 in corrispondenza del fronte di salita di RLC. Lo stato del contatore va alto se il valore di conteggio impostato è diverso da 0.

Operandi ammessi: formale (Specie parametro: T, Z). Vedere Tabella 16.

SSV = (Ritardo all’eccitazione con memoria o conteggio in avanti)

Se l’operando formale è un temporizzatore, esso viene attivato in corrispondenza del fronte di salita di RLC con il tempo specificato in ACCU1. Se RLC diventa 0, il tempo non viene influenzato. Lo stato del temporizzatore è alto quando il tempo è trascorso. Esso ritorna allo stato basso solo dopo un reset del temporizzatore con operazione R.

Se l’operando formale è un contatore, il valore di conteggio viene incrementato di 1 in corrispondenza del fronte di salita di RLC. Lo stato del contatore va o rimane alto.

Operandi ammessi: formale (Specie parametro: T, Z). Vedere Tabella 16.

11-26 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

SAR = (Ritardo alla diseccitazione o conteggio indietro)

Se l’operando formale è un temporizzatore, esso viene attivato in corrispondenza del fronte di discesa di RLC con il tempo specificato in ACCU1. Se RLC diventa 1, il tempo viene reimpostato al valore iniziale. Lo stato del temporizzatore è alto quando RLC = 1 oppure quando il tempo sta scorrendo.

Se l’operando formale è un contatore, il valore di conteggio viene decrementato di 1 in corrispondenza del fronte di salita di RLC. Lo stato del contatore va stato basso se il valore di conteggio diventa 0.

Operandi ammessi: formale (Specie parametro: T, Z). Vedere Tabella 16.

RD = (Reset di temporizzatore o contatore)

Se RLC=1 l'operando formale temporizzatore o contatore viene resettato.

Operandi ammessi: formale (Specie parametro: T, Z). Vedere Tabella 16.

Operazioni speciali

STP (Stop a fine ciclo)

L’elaborazione del programma viene continuata fino alla fine del ciclo di esecuzione corrente, l’immagine delle uscite viene trasferita, quindi la CPU viene portata in stato di Stop.

Operandi ammessi: nessuno

STS (Stop immediato)

La CPU viene portata in stato di Stop immediatamente.

Operandi ammessi: nessuno

TAK (Scambio accumulatori)

I contenuti di ACCU1 ed ACCU2 vengono scambiati.

Operandi ammessi: nessuno

NOP 0 (Operazione nulla)

L’operazione è ignorata. Nessuna azione viene intrapresa.

Operandi ammessi: nessuno

NOP 1 (Operazione nulla)

L’operazione è ignorata. Nessuna azione viene intrapresa.

Operandi ammessi: nessuno

Note sulla programmazione del PLC Siemens S5 100U 11-27

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Set di operazioni

Le operazioni AWL implementate nel PLC simulato, cioè quelle che il compilatore interno di PC-Sim riconosce e compila correttamente, costituiscono, come abbiamo appena visto, un ampia parte del set di operazioni del corrispondente PLC reale.

La Tabella 21 riporta sinteticamente l’elenco delle operazioni fondamentali implementate nel PLC simulato, mentre la Tabella 22 riporta quello delle integrative. Ricordiamo che queste ultime sono disponibili per la programmazione solo in blocchi funzionali (FB).

Le colonne relative al risultato logico combinatorio (RLC) hanno il significato espresso in Tabella 20.

Tabella 20: Collegamento tra operazioni ed RLC

RLC Significato Valori Spiegazione

S L’esecuzione dell’operazione dipende dal valore di RLC; per RLC=1 viene eseguita, per RLC=0 non viene eseguita.

S↑ L’esecuzione dell’operazione dipende dal valore di RLC. Essa viene eseguita soltanto in corrispondenza del fronte di salita di RLC.

S↓ L’esecuzione dell’operazione dipende dal valore di RLC. Essa viene eseguita soltanto in corrispondenza del fronte di discesa di RLC.

D Dipendente

N L’esecuzione dell’operazione non dipende dal valore di RLC. Essa viene eseguita sempre.

S L’elaborazione dell’operazione influisce sul valore di RLC. Il nuovo RLC dipenderà dal tipo di operazione, dallo stato dell’operando e dal precedente RLC.

I Influente

N L’elaborazione dell’operazione non influisce sul valore di RLC che rimane quindi inalterato.

1 L’elaborazione dell’istruzione influisce sul valore di RLC che viene posto incondizionatamente a 1.

S L’operazione è limitante nel calcolo di RLC. Quando si incontrerà la prossima operazione RLC influente, il valore di RLC dipenderà soltanto dal tipo di operazione e dallo stato dell’operando, ma non dal precedente valore di RLC.

L Limitante

N L’operazione non è limitante nel calcolo di RLC. Quando si incontrerà la prossima operazione RLC influente, il calcolo del nuovo RLC verrà effettuato in base al tipo di operazione, allo stato dell’operando ed al precedente valore di RLC.

11-28 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Tabella 21: Operazioni fondamentali implementate

RLC Operazione AWL

Operandi ammessi D I L

Descrizione

Operazioni logiche

U E, A, M, T, Z N S N Combinazione AND o test sullo stato “1”

UN E, A, M, T, Z N S N Combinazione AND o test sullo stato “0”

O E, A, M, T, Z N S N Combinazione OR o test sullo stato “1”

ON E, A, M, T, Z N S N Combinazione OR o test sullo stato “0”

O N S S Combinazione OR di funzioni AND

U( N S S Combinazione AND di espressione tra parentesi

O( N S S Combinazione OR di espressione tra parentesi

) N S N Fine di un’espressione tra parentesi

Operazioni di memorizzazione

S E, A, M S N S Attivazione dell’operando su RLC=1

R E, A, M S N S Disattivazione dell’operando su RLC=1

= E, A, M N N S Assegnazione dell’operando al valore di RLC

Operazioni di caricamento

L EB N N N Caricamento di un byte dell’IPI in ACCU1

L AB N N N Caricamento di un byte dell’IPU in ACCU1

L EW N N N Caricamento di una word dell’IPI in ACCU1

L AW N N N Caricamento di una word dell’IPU in ACCU1

L MB N N N Caricamento di un merker byte in ACCU1

L MW N N N Caricamento di una merker word in ACCU1

L DL N N N Caricamento del byte di sinistra di una data word in ACCU1

L DR N N N Caricamento del byte di destra di una data word in ACCU1

L DW N N N Caricamento di una data word in ACCU1

L KB N N N Caricamento di una costante di byte in ACCU1

L KF N N N Caricamento di una costante in virgola fissa in ACCU1

L KH N N N Caricamento di una costante esadecimale in ACCU1

L KM N N N Caricamento di una costante binaria in ACCU1

L KY N N N Caricamento di una costante a doppio byte in ACCU1

L KT N N N Caricamento di una costante di tempo in ACCU1

L KZ N N N Caricamento di una costante di conteggio in ACCU1

L T,Z N N N Caricamento di un valore di tempo o di conteggio in ACCU1

LC T,Z N N N Caricamento di un valore di tempo o di conteggio, codificato BCD, in ACCU1

Note sulla programmazione del PLC Siemens S5 100U 11-29

Autoware srl AW-SYS – software di simulazione di PLC e impianti

RLC Operazione AWL

Operandi ammessi D I L

Descrizione

Operazioni di trasferimento

T EB N N N Trasferimento del contenuto di ACCU1 in un byte dell’IPI

T AB N N N Trasferimento del contenuto di ACCU1 in un byte dell’IPU

T EW N N N Trasferimento del contenuto di ACCU1 in una word dell’IPI

T AW N N N Trasferimento del contenuto di ACCU1 in una word dell’IPU

T MB N N N Trasferimento del contenuto di ACCU1 in un merker byte

T MW N N N Trasferimento del contenuto di ACCU1 in una merker word

T DL N N N Trasferimento del contenuto di ACCU1 nel byte di sinistra di una data word

T DR N N N Trasferimento del contenuto di ACCU1 nel byte di destra di una data word

T DW N N N Trasferimento del contenuto di ACCU1 in una data word

Operazioni di temporizzazione

SI T S↑ N S Attivazione di un temporizzatore ad impulso

SV T S↑ N S Attivazione di un temporizzatore ad impulso prolungato

SE T S↑ N S Attivazione di un temporizzatore con ritardo all’eccitazione

SS T S↑ N S Attivazione di un temporizzatore con ritardo all’eccitazione con memoria

SA T S↓ N S Attivazione di un temporizzatore con ritardo alla diseccitazione

R T S N S Reset di un temporizzatore

Operazioni di conteggio

ZV Z S↑ N S Incremento di contatore

ZR Z S↑ N S Decremento di contatore

S Z S↑ N S Impostazione di un contatore

R Z S N S Reset di un contatore

Operazioni aritmetiche

+F N N N Addizione di due numeri in virgola fissa (ACCU2 + ACCU1)

-F N N N Sottrazione di due numeri in virgola fissa (ACCU2 – ACCU1)

11-30 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

RLC Operazione AWL

Operandi ammessi D I L

Descrizione

Operazioni di confronto

!=F N S N Confronto di uguaglianza di due numeri in virgola fissa (ACCU2 = ACCU1)

><F N S N Confronto di disuguaglianza di due numeri in virgola fissa (ACCU2 ≠ ACCU1)

>F N S N Confronto di maggioranza di due numeri in virgola fissa (ACCU2 > ACCU1)

>=F N S N Confronto di maggioranza o uguaglianza di due numeri in virgola fissa (ACCU2 ≥ ACCU1)

<F N S N Confronto di minoranza di due numeri in virgola fissa (ACCU2 < ACCU1)

<=F N S N Confronto di minoranza o uguaglianza di due numeri in virgola fissa (ACCU2 ≤ ACCU1)

Operazioni di richiamo di blocchi

SPA PB N N S Salto assoluto ad un blocco di programma

SPA FB N N S Salto assoluto ad un blocco funzionale

SPA OB N N S Salto assoluto ad un blocco organizzativo

SPB PB S 1 S Salto condizionato ad un blocco di programma

SPB FB S 1 S Salto condizionato ad un blocco funzionale

SPB OB S 1 S Salto condizionato ad un blocco organizzativo

A DB N N N Apertura di un blocco dati

Operazioni di salto di ritorno

BE N N S Fine blocco

BEB S 1 S Fine blocco condizionata

BEA N N S Fine blocco assoluta

Operazioni speciali

NOP0 N N N Nessuna operazione

NOP1 N N N Nessuna operazione

STP N N N Stop dell’elaborazione. La CPU viene portata in Stop alla fine del ciclo

Note sulla programmazione del PLC Siemens S5 100U 11-31

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Tabella 22: Operazioni integrative implementate

RLC Operazione AWL

Operandi ammessi D I L

Descrizione

Operazioni logiche su operando formale

U= Operando formale E, A, M, T, Z

N S N Combinazione AND o test sullo stato “1”

UN= Operando formale E, A, M, T, Z

N S N Combinazione AND o test sullo stato “0”

O= Operando formale E, A, M, T, Z

N S N Combinazione OR o test sullo stato “1”

ON= Operando formale E, A, M, T, Z

N S N Combinazione OR test sullo stato “0”

Operazioni logiche su word

UW N N N Combinazione AND (bit a bit) tra ACCU1 e ACCU2 con risultato in ACCU1

OW N N N Combinazione OR (bit a bit) tra ACCU1 e ACCU2 con risultato in ACCU1

XOW N N N Combinazione XOR (bit a bit) tra ACCU1 e ACCU2 con risultato in ACCU1

Operazioni di memorizzazione su operando formale

S = Operando formale E, A, M

S N S Attivazione dell’operando formale su RLC=1

RB = Operando formale E, A, M

S N S Disattivazione dell’operando formale su RLC=1

= = Operando formale E, A, M

S N S Assegnazione dell’operando formando al valore di RLC

Operazioni di caricamento e trasferimento di operando formale

L = Operando formale E, A, M, T, Z

N N N Caricamento in ACCU1 del valore dell’operando formale

LC = Operando formale T, Z

N N N Caricamento in ACCU1 del valore codificato BCD dell’operando formale

LW = Operando formale D

N N N Caricamento in ACCU1 del valore dell’operando formale costante

T = Operando formale E, A, M

N N N Trasferimento del valore in ACCU1 all’operando formale

Operazioni di temporizzazione e conteggio con operando formale

SI = Operando formale T

S↑ N S Attivazione di un temporizzatore ad impulso

SE = Operando formale T

S↑ N S Attivazione di un temporizzatore con ritardo all’eccitazione

SVZ = Operando formale T, Z

S↑ N S Attivazione di un temporizzatore ad impulso prolungato oppure impostazione di un contatore

SSV = Operando formale T, Z

S↑ N S Attivazione di un temporizzatore con ritardo all’eccitazione con memoria oppure conteggio in avanti di un contatore

11-32 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

RLC Operazione AWL

Operandi ammessi D I L

Descrizione

SAR = Operando formale T, Z

S↓ S↑

(*)

N S Attivazione di un temporizzatore con ritardo alla diseccitazione oppure conteggio all’indietro di un contatore

RD = Operando formale T, Z

S N S Disattivazione dell’operando formale su RLC=1

Operazioni aritmetiche

ADD BF N N N Somma ad ACCU1 la costante a byte con segno (-128…+127), risultato in ACCU1

ADD KF N N N Somma ad ACCU1 la costante a word con segno (-32768…+32767), risultato in ACCU1

Operazioni di conversione

KEW N N N Complemento a 1 di ACCU1

KZW N N N Complemento a 2 di ACCU1

Operazioni di scorrimento

SLW n = 0…15 N N N Scorrimento verso sinistra del contenuto di ACCU1 per il numero di bit indicato nel parametro. I posti liberi vengono riempiti con 0.

SRW n = 0…15 N N N Scorrimento verso destra del contenuto di ACCU1 per il numero di bit indicato nel parametro. I posti liberi vengono riempiti con 0.

Operazioni di salto

SPA = Etichetta N N N Salto assoluto all’etichetta

SPB = Etichetta S 1 S Salto condizionato all’etichetta (se RLC=1)

SPZ = Etichetta N N N Salto se risultato nullo

SPN = Etichetta N N N Salto se risultato non nullo

SPP = Etichetta N N N Salto se positivo

SPM = Etichetta N N N Salto se negativo

SPO = Etichetta N N N Salto per overflow

Operazioni di incremento/decremento

D n = 0…255 N N N Decremento del byte inferiore di ACCU1 di n

I n = 0…255 N N N Incremento del byte inferiore di ACCU1 di n

Operazioni di elaborazione

B DW N N N Elaborazione di parola dati: l’istruzione successiva viene combinata con il parametro ed eseguita

B MW N N N Elaborazione di parola merker: l’istruzione successiva viene combinata con il parametro ed eseguita

B= Operando formale B

N N N Elaborazione del blocco per OB, PB e FB; apertura del blocco per DB

(*) S↓ in caso di operando temporizzatore, S↑ in caso di operando contatore

Note sulla programmazione del PLC Siemens S5 100U 11-33

Autoware srl AW-SYS – software di simulazione di PLC e impianti

RLC Operazione AWL

Operandi ammessi D I L

Descrizione

Operazioni speciali

STS N N N Stop dell’elaborazione. La CPU viene portata in Stop immediatamente

TAK N N N Scambio del contenuto di ACCU1 ed ACCU2

Tabella 23: Influenza delle operazioni su ANZ 1 ed ANZ 0

Operazioni Indicatori

Aritmetiche Logiche Confronto Scorrimento Conversione ANZ 1 ANZ 0

Risultato=0 Risultato=0 ACCU2=ACCU1 Bit spostato=0 Risultato=0 0 0

Risultato<0 ACCU2<ACCU1 Risultato<0 0 1

Risultato>0 Risultato≠0 ACCU2>ACCU1 Bit spostato=1 Risultato>0 1 0

11-34 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Programmazione in Ladder

Tabella 24: Elementi del ladder per S5 100U

Elemento Descrizione

Zona condizionale

Contatto normalmente aperto, test sullo stato 1 dell’operando. Il contatto sullo schema si chiude quando l’operando corrispondente si trova allo stato logico alto. Per esempio, se l’operando è un ingresso digitale del PLC, il contatto è chiuso quando l’ingresso è chiuso e viceversa.

Contatto normalmente chiuso, test sullo stato 0 dell’operando. Il contatto sullo schema si chiude quando l’operando corrispondente si trova allo stato logico basso. Per esempio, se l’operando è un ingresso digitale del PLC, il contatto è chiuso quando l’ingresso è aperto e viceversa.

Zona esecutiva

Bobina diretta

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico alto. Se la bobina non è attiva, all’operando viene assegnato il valore logico basso.

Bobina con azione di set

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico alto. Se la bobina non è attiva, nessuna azione è compiuta sullo stato dell’operando.

Bobina con azione di reset

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico basso. Se la bobina non è attiva, nessuna azione è compiuta sullo stato dell’operando.

Temporizzatori e contatori

Temporizzatore SI (impulso) Ingressi/uscite:

ingresso di avviamento del temporizzatore TW ingresso per costante di tempo R ingresso di reset Q uscita del temporizzatore La temporizzazione viene attivata sul fronte di chiusura verso l’alimentazione dell’ingresso (vedere Figura 42) con il tempo specificato all’ingresso TW, se l’ingresso viene riaperto il tempo viene azzerato. Lo stato del temporizzatore è alto quando il tempo sta scorrendo e l’ingresso è a potenziale alto. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Quando l’ingresso di reset viene collegato alla linea di alimentazione il tempo viene azzerato e l’uscita si porta a potenziale basso.

Note sulla programmazione del PLC Siemens S5 100U 11-35

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elemento Descrizione

Temporizzatore SV (impulso prolungato) Ingressi/uscite:

ingresso di avviamento del temporizzatore TW ingresso per costante di tempo R ingresso di reset Q uscita del temporizzatore La temporizzazione viene avviata sul fronte di chiusura verso l’alimentazione dell’ingresso (vedere Figura 43) con il tempo specificato all’ingresso TW. Lo stato del temporizzatore è alto quando il tempo sta scorrendo. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Quando l’ingresso di reset viene collegato alla linea di alimentazione il tempo viene azzerato e l’uscita si porta a potenziale basso.

Temporizzatore SE (ritardo all’eccitazione) Ingressi/uscite:

ingresso di avviamento del temporizzatore TW ingresso per costante di tempo R ingresso di reset Q uscita del temporizzatore La temporizzazione viene avviata sul fronte di chiusura verso l’alimentazione dell’ingresso (vedere Figura 44) con il tempo specificato all’ingresso TW. Lo stato del temporizzatore è alto quando il tempo è trascorso e quando l’ingresso è a potenziale alto. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Quando l’ingresso di reset viene collegato alla linea di alimentazione il tempo viene azzerato e l’uscita si porta a potenziale basso.

Temporizzatore SS (ritardo all’eccitazione con memoria) Ingressi/uscite:

ingresso di avviamento del temporizzatore TW ingresso per costante di tempo R ingresso di reset Q uscita del temporizzatore La temporizzazione viene avviata sul fronte di chiusura verso l’alimentazione dell’ingresso (vedere Figura 45) con il tempo specificato all’ingresso TW. Lo stato del temporizzatore è alto quando il tempo è trascorso e rimane in questo stato fino all’attivazione dell’ingresso reset. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando.

Temporizzatore SA (ritardo alla diseccitazione) Ingressi/uscite:

ingresso di avviamento del temporizzatore TW ingresso per costante di tempo R ingresso di reset Q uscita del temporizzatore La temporizzazione viene avviata sul fronte di apertura verso l’alimentazione dell’ingresso (vedere Figura 46) con il tempo specificato all’ingresso TW. Lo stato del temporizzatore è alto quando l’ingresso è a potenziale alto o quando il tempo sta scorrendo. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Quando l’ingresso di reset viene collegato alla linea di alimentazione il tempo viene azzerato e l’uscita si porta a potenziale basso.

11-36 Note sulla programmazione del PLC Siemens S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elemento Descrizione

Contatore Ingressi/uscite: ZR ingresso conteggio indietro ZV ingresso conteggio avanti S ingresso di impostazione ZW ingresso per costante di conteggio R ingresso di reset Q uscita del contatore Sul fronte di chiusura verso l’alimentazione dell’ingresso ZR il conteggio viene decrementato di 1, sul fronte di chiusura verso l’alimentazione dell’ingresso ZV il conteggio viene incrementato di 1. Sul fronte di chiusura verso l’alimentazione dell’ingresso S il conteggio viene impostato al valore specificato all’ingresso ZW. Sulla chiusura dell’ingresso R il conteggio viene azzerato. L’uscita è a potenziale alto se il valore di conteggio è diverso da 0. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando.

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 1122 ESEMPI DI PROGRAMMAZIONE PER PLC S5 100U

In questo capitolo vengono affrontati, in ordine crescente di complessità, numerosi esercizi di programmazione per il PLC S5 100U. La soluzione viene fornita sia sotto forma di schema a contatti che di lista istruzioni. Per la verifica del funzionamento saranno necessari solo gli interruttori o pulsanti per il comando degli ingressi del PLC. Lo stato delle uscite potrà essere valutato dai LED presenti sul fronte del dispositivo. Tutti gli elementi necessari si trovano nella finestra PLC di PC-Sim.

Se durante l’installazione di AW-SYS è stato scelto di installare anche gli esempi, troverete tutti quelli qui presentati nella cartella Aw-sys\S5100\Esempi del vostro computer. Essi possono essere caricati e testati con PC-Sim per S5 100U.

Il nome del file progetto da caricare ha il formato Sxx-yyyZ.prj, dove:

S individua un progetto per S5 100U;

xx sono due cifre che valgono sempre 00;

yyy è il numero progressivo dell’esempio espresso su tre cifre;

Z è una lettera che specifica il tipo di editor usato nel progetto (L=ladder, A=AWL).

Cioè, se desiderate caricare l’esempio di programmazione 8 in ladder aprite il progetto S00-008L.prj.

Nella stessa cartella saranno presenti anche diversi file progetto in cui le cifre xx sono diverse da 00. In questo caso gli esempi sono relativi agli impianti e xx individua il numero progressivo dell’impianto, così come appare nel Menu Impianti. Informazioni su come caricare e testare questi esempi potranno essere trovate nella Guida in linea di PC-Sim.

Esempio 1: combinazione AND

Realizzare A2.2 = E0.0 AND E0.1

L’uscita A2.2 deve essere attivata se e solo se entrambi gli interruttori collegati agli ingressi E0.0 e E0.1 sono chiusi.

La soluzione ladder si ottiene pilotando la bobina A2.2 attraverso la serie di due contatti con operandi E0.0 e E0.1. Infatti la combinazione logica AND, tradotta in linguaggio ladder, equivale alla serie di due contatti: ai capi della serie 'si legge’ la chiusura del circuito solo quando entrambi i contatti sono chiusi; questa è quindi l’unica condizione che attiva la bobina.

LADDER AWL

: U E0.0

: U E0.1

: = A2.2

: BE

La soluzione AWL si ottiene caricando dapprima lo stato di E0.0 nel registro RLC (U E0.0). In effetti l’operazione, in senso stretto, è una AND ma qui, essendo la prima di una sequenza, viene interpretata come un’operazione di caricamento di bit e quindi lo stato dell’operando viene copiato in RLC. Successivamente viene effettuata una AND tra quest’ultimo e lo stato dell’ingresso E0.1 (U E0.1) ed il risultato viene ancora

12-2 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

depositato in RLC. Questa istruzione non è la prima di una sequenza e quindi l’operazione viene interpretata effettivamente come una AND. L’ultima istruzione (= A2.2) provvede a trasferire il contenuto di RLC, che a questo punto rappresenta la combinazione logica E0.0 · E0.1, all’uscita A2.2.

Esempio 2: combinazione OR

Realizzare A2.2 = E0.0 OR E0.1

L’uscita A2.2 deve essere attivata se almeno uno degli interruttori collegati agli ingressi E0.0 o E0.1 è chiuso.

La soluzione ladder si ottiene pilotando la bobina A2.2 attraverso il parallelo di due contatti con operandi E0.0 ed E0.1. Infatti la combinazione logica OR, tradotta in schema a contatti, equivale al parallelo di due contatti: ai capi del parallelo 'si legge’ la chiusura del circuito quando almeno uno dei contatti è chiuso; questa è quindi la condizione che porta all’eccitazione della bobina.

LADDER AWL

: O E0.0

: O E0.1

: = A2.2

: BE

La soluzione AWL si ottiene caricando dapprima lo stato di E0.0 nel registro RLC (O E0.0). In effetti l’operazione in senso stretto è una OR ma qui, essendo la prima di una sequenza, viene interpretata come una operazione di caricamento di bit e quindi lo stato dell’operando viene copiato in RLC. In questo caso l’istruzione è perfettamente equivalente alla U E0.0, che potrà essere sostituita ad essa ottenendo un programma dall’identico funzionamento. Quindi viene effettuata una OR tra l'RLC e l’ingresso E0.1 (O E0.1), che deposita ancora il risultato in RLC. Questa istruzione non è la prima di una sequenza e l’operazione quindi viene interpretata effettivamente come una OR. L’ultima istruzione (= A2.2) provvede a trasferire il contenuto di RLC, che a questo punto rappresenta la combinazione logica E0.0 + E0.1, all’uscita A2.2.

Esempio 3: combinazione AND di OR

Realizzare A2.0 = (E0.0 OR E0.1) AND (E0.2 OR E0.3)

La soluzione ladder dovrebbe essere intuitiva dopo aver realizzato gli esercizi precedenti: la bobina A2.0

viene pilotata dalla serie (AND) di due paralleli (OR) di contatti, in corrispondenza dei quali sono stati opportunamente riportati gli operandi.

LADDER AWL

: O E0.0

: O E0.1

: U(

: O E0.2

: O E0.3

: )

: = A2.0

: BE

La soluzione AWL richiede invece qualche chiarimento poiché sono state introdotte due nuove operazioni. Notiamo anzitutto che, dopo l’esecuzione della seconda istruzione, RLC contiene il risultato della

Esempi di programmazione per PLC S5 100U 12-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

combinazione logica OR tra E0.0 ed E0.1 (vedi Esempio 2). La successiva operazione è un’apertura di parentesi, l’RLC attuale viene accantonato momentaneamente per essere successivamente combinato in AND con il risultato dell’espressione entro parentesi. L’operazione U( è RLC limitante (vedi Tabella 21) e quindi l’istruzione successiva sarà la prima di una nuova sequenza, così la quarta istruzione (O E0.2) verrà interpretata come un caricamento in RLC dello stato di E0.2 e, dopo l’esecuzione dell’istruzione seguente, RLC conterrà il risultato della combinazione logica E0.2 + E0.3. La seguente istruzione di chiusura di parentesi farà eseguire al PLC la combinazione AND (la terza era U() tra l’RLC attuale, cioè il risultato della OR in parentesi, con l’RLC accantonato in precedenza, cioè il risultato della prima OR. L’ultima istruzione (= A2.0) provvede a trasferire il contenuto di RLC, che a questo punto rappresenta la combinazione logica (E0.0 + E0.1) · (E0.2 + E0.3), all’uscita A2.0.

Esempio 4: combinazione OR di AND

Realizzare A2.0 = (E0.0 AND E0.1) OR (E0.2 AND E0.3). Dove le parentesi, sebbene non necessarie in

quanto l’operazione AND ha precedenza sulla OR, sono state aggiunte per chiarezza.

Nella soluzione ladder la bobina A2.0 viene pilotata dal parallelo (OR) di due serie (AND) di contatti, in corrispondenza dei quali sono stati opportunamente riportati gli operandi.

LADDER AWL

: U E0.0

: U E0.1

: O(

: U E0.2

: U E0.3

: )

: = A2.0

: BE

Per quanto riguarda la soluzione AWL, notiamo anzitutto che, dopo l’esecuzione della seconda istruzione, RLC contiene il risultato della combinazione logica AND tra E0.0 ed E0.1 (vedi Esempio 1). La successiva operazione è un’apertura di parentesi, l’RLC attuale viene accantonato momentaneamente per essere successivamente combinato in OR con il risultato dell’espressione entro parentesi. L’operazione O( è RLC limitante (vedi Tabella 21) e quindi l’istruzione successiva sarà la prima di una nuova sequenza, così la quarta istruzione (U E0.2) verrà interpretata come un caricamento in RLC dello stato di E0.2 e, dopo l’esecuzione dell’istruzione successiva, RLC conterrà il risultato della combinazione logica E0.2 · E0.3. La seguente istruzione di chiusura di parentesi farà eseguire al PLC la combinazione OR (la terza era O() tra l’RLC attuale, cioè il risultato della AND in parentesi, con l’RLC accantonato in precedenza, cioè il risultato della prima AND. L’ultima istruzione (= A2.0) provvede a trasferire il contenuto di RLC, che a questo punto rappresenta la combinazione logica (E0.0 · E0.1) + (E0.2 · E0.3), all’uscita A2.0.

Esempio 5: combinazione XOR

Realizzare A2.2 = E0.1 XOR E0.2

L’operazione logica XOR applicata a due variabili booleane dà risultato vero solo quando solo una delle due variabili è vera.

La prima serie di contatti del programma ladder è chiusa solo quando E0.1 è chiuso ed E0.2 è aperto; la seconda serie è chiusa solo quando, al contrario, E0.1 è aperto e E0.2 è chiuso. Realizzando il parallelo delle due si ottiene la funzione desiderata: la bobina viene eccitata solo quando un ingresso è chiuso e l’altro è aperto.

12-4 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

: U E0.1

: UN E0.2

: O(

: UN E0.1

: U E0.2

: )

: = A2.2

: BE

La soluzione AWL altro non è che la traduzione del programma ladder ed è molto simile nel funzionamento a quella dell’esempio precedente con la differenza che, in corrispondenza dei contatti NC, vengono programmate delle operazioni UN, test sullo stato negato dell’operando.

Esempio 6: autoritenuta

Un pulsante collegato all’ingresso E0.0 deve attivare l’uscita A3.7; un secondo pulsante collegato

all’ingresso E0.1 deve disattivarla.

Nel programma ladder proposto come soluzione viene realizzato un circuito con autoritenuta. Premendo il pulsante collegato a E0.0 la bobina A3.7 viene attivata, quindi il contatto con lo stesso operando sul secondo rigo si chiude (immaginate che il contatto e la bobina siano parti dello stesso relè A3.7) continuando a mantenere eccitata la bobina anche dopo l’apertura di E0.0. La chiusura del pulsante all’ingresso E0.1 provoca l’apertura del contatto normalmente chiuso sullo schema, diseccitando la bobina e facendo cadere l’autoritenuta.

LADDER AWL

: U E0.0

: O A3.7

: UN E0.1

: = A3.7

: BE

Il programma AWL propone la conversione di quanto appena descritto. Il valore dell’uscita A3.7 nell’ultima istruzione viene calcolato caricando lo stato di E0.0, quindi valutandone la OR con A3.7 e successivamente ponendo in AND il risultato con il complemento di E0.1.

Esempio 7: set e reset

Un pulsante collegato all’ingresso E0.0 deve attivare l’uscita A3.7; un secondo pulsante collegato

all’ingresso E0.1 deve disattivarla

L’esercizio è identico al precedente ma, questa volta, nella soluzione vengono usate bobine di set e reset della stessa uscita A3.7 pilotate separatamente da contatti di E0.0 e E0.1.

LADDER AWL

: U E0.0

: S A3.7

: U E0.1

: R A3.7

: BE

Esempi di programmazione per PLC S5 100U 12-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Facendo girare il programma, notiamo come la pressione contemporanea sui due pulsanti comporti l’azzeramento dell’uscita. In effetti, in entrambi i linguaggi ed essendo valide le condizioni di test, l’operando A3.7 viene dapprima attivato, nel percorso 1 o con le prime due istruzioni, quindi disattivato, nel percorso 2 o con la terza e quarta istruzione. Ma ricordiamo che A3.7 non rappresenta effettivamente l’uscita fisica del PLC, ma il corrispondente bit all’interno della memoria delle immagini di processo. Tale bit di memoria viene effettivamente portato a 1 e poi a 0 ma, solo alla fine dell’elaborazione del programma utente, il valore elaborato per esso viene trasferito al canale fisico di uscita corrispondente, che rimane quindi costantemente al valore basso quando entrambi gli ingressi sono chiusi.

Con questa scrittura di programmi abbiamo quindi realizzato una prevalenza del reset rispetto al set. Se desiderate ottenere il contrario, vi basterà invertire la posizione dei percorsi nello schema a contatti o il primo gruppo di due istruzioni con il secondo nel programma AWL.

Esempio 8: rilevazione fronti

Attivare le uscite A2.0 e A2.1 in corrispondenza rispettivamente del fronte di salita e di quello di discesa

dell’ingresso E0.0.

Notiamo che l’ultimo percorso dello schema ladder e le ultime due istruzioni del programma AWL impongono, al termine dell’esecuzione del programma, l’eguaglianza del merker bit M0.0 allo stato dell’ingresso E0.0. Ma, in corrispondenza dei fronti, per i percorsi o per le istruzioni precedenti, accade che lo stato delle due variabili sia opposto e, solo alla fine dell’elaborazione del programma utente, diventi uguali. Ciò viene rappresentato nelle prime due righe del diagramma di Figura 41 con un ritardo temporale di M0.0 rispetto ad E0.0 che vale un ciclo di esecuzione.

La parte iniziale del programma attiva la bobina A2.0, per un ciclo di esecuzione, quando E0.0 è a 1 ed M0.0 è a 0, cioè in corrispondenza del fronte di salita di E0.0, come mostrato al terzo rigo del diagramma.

LADDER

AWL

: U E0.0 'rilevazione fronte

: UN M0.0 'di salita

: = A2.0

: UN E0.0 'rilevazione fronte

: U M0.0 'di discesa

: = A2.1

: U E0.0 'memoria rilevazione

: = M0.0 'fronti

: BE

12-6 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Figura 41: Diagramma temporale rilevatore fronti

Invece, la bobina A2.1 sarà attivata, sempre per un ciclo di esecuzione, quando E0.0 è a 0 ed M0.0 è a 1, cioè in corrispondenza del fronte di discesa di E0.0, come mostrato al quarto rigo del diagramma.

Esempio 9: temporizzatore ad impulso

L’uscita A2.5 viene attivata alla chiusura dell’ingresso E0.0 e disattivata 5 secondi dopo. Se l’ingresso viene

riaperto in questo periodo, l’uscita viene disattivata immediatamente.

Figura 42: Diagramma temporale temporizzatore ad impulso

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 42. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo la sua uscita.

Il programma ladder è stato realizzato utilizzando un temporizzatore SI (impulso) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo e uscita collegata alla bobina di A2.5.

LADDER AWL

: U E0.0

: L KT 500.0

: SI T2

: U T2

: = A2.5

: BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come impulso (SI T2) a seguito di un fronte di salita dell’ingresso (U E0.0), con la costante di tempo di 5 secondi caricata nell’accumulatore 1 (L KT500.0). Il secondo gruppo di istruzioni copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A2.5).

Esempi di programmazione per PLC S5 100U 12-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 10: temporizzatore ad impulso prolungato

L’uscita A2.5 viene attivata alla chiusura dell’ingresso E0.0 e disattivata 5 secondi dopo indipendentemente

dal fatto che l’ingresso venga riaperto o meno in questo periodo.

Figura 43: Diagramma temporale del temporizzatore ad impulso prolungato

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 43. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo la sua uscita

Il programma ladder è stato realizzato utilizzando un temporizzatore SV (impulso prolungato) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo e uscita collegata alla bobina di A2.5.

LADDER AWL

: U E0.0

: L KT 500.0

: SV T2

: U T2

: = A2.5

: BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come impulso prolungato (SV T2) a seguito di un fronte di salita dell’ingresso (U E0.0), con la costante di tempo di 5 secondi caricata nell’accumulatore 1 (L KT500.0). Il secondo gruppo di istruzioni copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A2.5).

Esempio 11: temporizzatore con ritardo all’eccitazione

L’uscita A2.5 viene attivata 5 secondi dopo la chiusura dell’ingresso E0.0. Quando l’ingresso viene riaperto

l’uscita viene disattivata.

Figura 44: Diagramma temporale del temporizzatore con ritardo all’eccitazione

12-8 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 44. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo l’uscita che se ne ricava.

Il programma ladder è stato realizzato utilizzando un temporizzatore SE (ritardo all’eccitazione) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo e uscita collegata alla bobina di A2.5.

LADDER AWL

: U E0.0

: L KT 500.0

: SE T2

: U T2

: = A2.5

: BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come ritardo all’eccitazione (SE T2) a seguito di un fronte di salita dell’ingresso (U E0.0), con la costante di tempo di 5 secondi caricata nell’accumulatore 1 (L KT500.0). Il secondo gruppo di istruzioni copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A2.5).

Esempio 12: temporizzatore con ritardo all’eccitazione con memoria e reset

L’uscita A2.5 viene attivata 5 secondi la chiusura dell’ingresso E0.0 (anche se quest’ultimo nel frattempo

viene riaperto) e disattivata in corrispondenza della chiusura dell’ingresso E0.1.

Figura 45: Diagramma temporale per temporizzatore con ritardo all'eccitazione con memoria e reset

Il funzionamento del temporizzatore con ritardo all’eccitazione con memoria e reset si ricava dal confronto dei primi due righi del diagramma temporale di Figura 45 con l’ultimo. Nei primi sono rappresentati i segnali di ingresso, nell’ultimo la corrispondente uscita.

Il programma ladder è stato realizzato utilizzando un temporizzatore SS (ritardo all’eccitazione con memoria) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo, l'ingresso di reset collegato ad un contatto NA di E0.1 e l’uscita collegata alla bobina di A2.5.

Esempi di programmazione per PLC S5 100U 12-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LADDER AWL

: U E0.0

: L KT 500.0

: SS T2

: U E0.1

: R T2

: U T2

: = A2.5

: BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come ritardo alla eccitazione con memoria (SS T2) a seguito di un fronte di salita dell’ingresso E0.0 (U E0.0), con la costante di tempo di 5 secondi caricata nell’accumulatore 1 (L KT500.0). Il secondo gruppo di istruzioni provvede al reset del temporizzatore (R T2) in corrispondenza dello stato alto di E0.1 (U E0.1). L’ultimo gruppo copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A2.5).

Esempio 13: temporizzatore con ritardo alla diseccitazione

L’uscita A2.5 deve essere attivata alla chiusura dell’ingresso E0.0 e disattivata 5 secondi dopo la sua

riapertura.

Figura 46: Diagramma temporale temporizzatore con ritardo alla diseccitazione

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 46. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo la corrispondente uscita.

Il programma ladder è stato realizzato utilizzando un temporizzatore SA (ritardo alla diseccitazione) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo e uscita collegata alla bobina di A2.5.

LADDER AWL

: U E0.0

: L KT 500.0

: SA T2

: U T2

: = A2.5

: BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come ritardo alla diseccitazione (SA T2) a seguito di un fronte di discesa dell’ingresso (U E0.0), con la costante di tempo

12-10 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

di 5 secondi caricata nell’accumulatore 1 (L KT500.0). Il secondo gruppo di istruzioni copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A2.5).

Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione

L’uscita A3.3 viene attivata 3 secondi dopo la chiusura dell’ingresso E0.1 e disattivata 7 secondi dopo la

sua riapertura.

Figura 47: Diagramma temporale temporizzatore con ritardo all'eccitazione ed alla diseccitazione

La Figura 47 illustra, al primo ed ultimo rigo del diagramma, l’andamento dei due segnali descritti nella traccia. Nel rigo intermedio è stato disegnato l’andamento di un temporizzatore con ritardo all’eccitazione avente come ingresso proprio E0.1. Notiamo come l’andamento dell’uscita A3.3, rispetto all’andamento di T0, rappresenti un ritardo alla diseccitazione. Il gioco è fatto! Si tratta quindi di scrivere un programma contenente due temporizzatori: il primo, un ritardo all’eccitazione da 3s, ha come ingresso E0.1; il secondo, un ritardo alla diseccitazione da 7s, ha come ingresso lo stato del primo temporizzatore e come uscita A3.3.

I programmi ladder ed AWL riportati di seguito implementano questa soluzione.

LADDER AWL

: U E0.1

: L KT 300.0

: SE T0

: U T0

: L KT 700.0

: SA T1

: U T1

: = A3.3

: BE

Esempi di programmazione per PLC S5 100U 12-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 15: impulso ritardato

L’uscita A2.7 viene attivata 2 secondi dopo l'apertura dell’ingresso E1.5 per una durata di 1 secondo.

Il diagramma in Figura 48 illustra al primo rigo l’andamento dell’ingresso ed all’ultimo quello della uscita che si desidera ottenere. Il secondo e terzo rigo rappresentano l’andamento di due temporizzatori con ritardo alla diseccitazione T10 e T11, da 2 e 3 secondi rispettivamente, che hanno come segnale d’ingresso proprio E1.5.

Notiamo allora che l’uscita deve essere vera quando accadono contemporaneamente le condizioni: T11 vero e T10 falso. Quindi, in termini di espressione booleana:

T10T11A2.7 ⋅=

Figura 48: Diagramma temporale dell'impulso ritardato

LADDER AWL

: U E1.5

: L KT 200.0

: SA T10

: L KT 300.0

: SA T11

: U T11

: UN T10

: = A2.7

: BE

Nel programma ladder i primi due percorsi sono dedicati all’attivazione dei temporizzatori, entrambi hanno per ingresso il segnale E1.5. Nel terzo percorso viene implementata l'espressione logica appena ricavata: i due contatti posti in serie svolgono la funzione dell'operazione AND; in particolare, per il secondo è stato usato il tipo NC al fine di eseguire il complemento del suo operando

12-12 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Analogamente, per il programma AWL, il primo gruppo di istruzioni attiva i due temporizzatori sul segnale di ingresso. Il secondo gruppo calcola il valore dell’espressione booleana e lo assegna all’uscita.

Esempio 16: treno di impulsi

L’uscita A2.4 deve attivarsi ogni secondo per un istante.

Figura 49: Diagramma temporale del treno di impulsi

L’esercizio viene risolto utilizzando un temporizzatore che si autoavvia ciclicamente. Concentriamoci dapprima sul percorso 2 del ladder e sul secondo gruppo di istruzioni dell’AWL. La prima esecuzione del programma trova il temporizzatore fermo, quindi il suo contatto NC nello schema ladder è chiuso ed il test sullo stato basso nel programma AWL è soddisfatto. In entrambi i casi l’uscita del temporizzatore con ritardo alla diseccitazione si porta allo stato alto. A causa di ciò, al ciclo successivo, i test appena descritti non saranno più verificati. L’ingresso del temporizzatore si è quindi portato a zero ed il tempo comincia a scorrere. Per tutto questo periodo l’uscita permane alta. Scaduto il tempo essa viene azzerata, quindi le condizioni di test sull’ingresso del temporizzatore ritornano ad essere verificate e tutto si ripete come descritto.

Il diagramma di Figura 49 descrive al primo rigo l’andamento dell’uscita del temporizzatore che risulta essere il segnale opposto a quello richiesto dalla traccia. Non resta quindi che invertire questo segnale e assegnarlo all’uscita A2.4. Il primo percorso dello schema a contatti ed il primo gruppo di istruzioni del programma AWL provvedono a questo compito.

LADDER AWL

: UN T3

: = A2.4

: UN T3

: L KT 100.0

: SA T3

: BE

Rimane da chiarire che il percorso di assegnazione di A2.4 deve precedere necessariamente quello per l’attivazione del temporizzatore. Infatti, se così non fosse, il tempo verrebbe riavviato prima che A2.4 possa essere impostato a 1. A2.4 rimarrebbe perennemente allo stato basso poiché lo stato di T3, visto a questo punto dell’elaborazione del programma, apparirebbe sempre alto. Lo stesso dicasi per il programma AWL, nel quale il gruppo di istruzioni di assegnazione di A2.4 deve precedere, per le stesse ragioni, quello per l’avviamento di T3. Queste considerazioni saranno da ricordare ogni volta che utilizzeremo negli esempi successivi un treno di impulsi.

Esempi di programmazione per PLC S5 100U 12-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 17: conteggio all’indietro

Il contatore Z4 viene impostato sul valore 10 in corrispondenza della chiusura dell’ingresso E1.3 e viene

decrementato ad ogni chiusura dell’ingresso E1.2. L’uscita A2.7 viene disattivata alla fine del conteggio

(valore 0).

Il programma ladder è molto semplice. La costante KZ10, assegnata all’ingresso ZW, fornirà il valore di preset 10 al contatore. Il suo ingresso di set (S) è stato collegato ad un contatto di E1.3, mentre quello di decremento (ZR) ad un contatto di E1.2. Sul fronte di chiusura di E1.3 avviene l’impostazione del valore di conteggio a 10, ad ogni fronte di chiusura di E1.2 il conteggio viene decrementato di 1. L’uscita del contatore (Q) è alta quando il valore di conteggio è diverso da 0. Sarà quindi sufficiente pilotare con essa l’uscita A2.7 del PLC.

LADDER AWL

: U E1.2

: ZR Z4

: U E1.3

: L KZ 10

: S Z4

: U Z4

: = A2.7

: BE

Il primo gruppo di istruzioni del programma AWL provvede ad incrementare di 1 il valore di conteggio del contatore Z4 ad ogni fronte di salita di E1.2. Il secondo effettua l’impostazione del conteggio al valore caricato in ACCU1 (10) in corrispondenza del fronte di salita di E1.3. L’ultimo gruppo provvede a trasferire lo stato del contatore all’uscita A2.7.

Esempio 18: conteggio in avanti

Il contatore Z12 viene incrementato ad ogni chiusura dell’ingresso E0.0 e riportato a zero in corrispondenza

della chiusura dell’ingresso E0.1. L’uscita A2.0 è attiva quando il valore di conteggio è zero.

L’ingresso di reset (R) del contatore Z12 è stato collegato ad un contatto di E0.1, mentre quello di incremento (ZV) ad un contatto di E0.0. Sul fronte di chiusura di E0.1 avviene il reset del contatore, cioè l’impostazione del valore di conteggio a 0, ad ogni fronte di chiusura di E0.0 il conteggio viene incrementato di 1. L’uscita del contatore (Q) è alta quando il valore di conteggio è diverso da 0. Sarà quindi sufficiente invertirla per pilotare l’uscita A2.0 del PLC, come fatto nel percorso 2.

12-14 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

: U E0.0

: ZV Z12

: U E0.1

: R Z12

: UN Z12

: = A2.0

: BE

Il primo gruppo di istruzioni del programma AWL provvede ad incrementare di 1 il valore di conteggio del contatore Z12 ad ogni fronte di salita di E0.0. Il secondo effettua il reset del conteggio in corrispondenza dello stato alto di E0.1. L’ultimo gruppo provvede a trasferire il complemento dello stato del contatore all’uscita A2.0.

Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)

Determinare per quanti secondi l’ingresso E0.5 rimane chiuso ed utilizzare l’ingresso E0.6 per azzerare il

conteggio del tempo.

Occorre realizzare innanzitutto una base tempi da un secondo, cioè un treno di impulsi che abbia questo periodo. Quindi sarà sufficiente contare quanti impulsi di base tempi vengono generati durante la chiusura dell’ingresso, cioè gli istanti in cui sono contemporaneamente veri l’ingresso e l’impulso (vedere Figura 50).

Figura 50: Diagramma temporale del contatore tempo di chiusura ingresso

Il percorso 2 dello schema a contatti implementa il treno di impulsi da 1 secondo di periodo, così come abbiamo visto nell’esempio 16. Al percorso 1 notiamo che l’ingresso ZV del contatore viene pilotato dalla combinazione logica AND (serie di contatti nel diagramma) tra l’ingresso E0.5 ed il treno d’impulsi, cioè

Esempi di programmazione per PLC S5 100U 12-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

viene pilotato proprio dagli impulsi da contare. Un contatto di E0.6 comanda invece l’ingresso reset del contatore per l’azzeramento del conteggio, così come richiesto dalla traccia.

LADDER AWL

: U E0.5

: UN T3

: ZV Z5

: UN T3

: L KT 100.0

: SA T3

: U E0.6

: R Z5

: BE

Nel programma AWL, il primo gruppo di istruzioni si occupa dell’incremento del contatore in corrispondenza del fronte di salita della AND tra E0.5 ed il treno di impulsi generato da T3 nel secondo gruppo di istruzioni. L’ultimo gruppo opera il reset del conteggio sullo stato alto dell’ingresso E0.6.

Il valore di conteggio di Z5 rappresenta il numero dei secondi per cui l’ingresso è rimasto chiuso, con il limite proprio dei contatori di questo PLC di 999.

Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi)

Determinare per quante ore, minuti e secondi l’ingresso E0.5 rimane chiuso ed utilizzare l’ingresso E0.6 per

azzerare il conteggio del tempo.

Nel programmare la soluzione di questo problema si è fatto uso di simboli. La loro corrispondenza con gli operandi assoluti è stata stabilita secondo la seguente tabella.

Op. assoluto Simbolo Commento

E0.5 INGRESSO Ingresso per conteggio tempo

E0.6 RESET Ingresso per reset conteggio

T3 CLOCK Treno di impulsi con periodo 1s

Z5 SEC Contatore dei secondi

Z6 MIN Contatore dei minuti

Z7 ORE Contatore delle ore

Il programma proposto termina con la costruzione di un treno di impulsi col temporizzatore CLOCK, che fungerà da base tempi con periodo di 1 secondo. All’inizio dello stesso, invece, le prime tre istruzioni fanno avanzare il conteggio del contatore SEC quando un impulso di CLOCK viene rilevato durante la chiusura di INGRESSO. SEC, ovvero Z5, è quindi il contattore dei secondi.

12-16 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Il secondo gruppo di istruzioni provvede al caricamento del valore dei secondi in ACCU2 e della costante 60 in ACCU1, quindi i due valori vengono comparati per l’uguaglianza e, in caso di test affermativo, il contatore MIN viene incrementato e quello SEC riazzerato. Il contatore MIN viene incrementato quindi ogni 60 secondi e costituisce così il contatore dei minuti.

Il terzo gruppo di istruzioni provvede al caricamento del valore dei minuti in ACCU2 e della costante 60 in ACCU1, quindi i due valori vengono comparati per l’uguaglianza e, in caso di test affermativo, il contatore ORE viene incrementato e quello MIN riazzerato. Il contatore ORE viene incrementato quindi ogni 60 minuti e costituisce così il contatore delle ore.

Concludendo, quindi, il contatempo software costruito ci consente di contare fino a 999 ore, 59 minuti e 59 secondi (per la precisione!). Ammesso che si possa considerare un valore così preciso, su un tempo tanto lungo, tenendo presenti gli inevitabili errori dell’orologio interno sia dell'eventuale PLC reale che del PC su cui gira quello simulato.

Per esercizio, potreste provare a modificare il programma aggiungendo un contatore GIORNI che viene incrementato di 1 ogni 24 ore.

Per testare il programma, senza dover attendere tempi lunghissimi, potreste diminuire la costante di tempo nel caricamento di CLOCK, aumentando così la frequenza del treno di impulsi, oppure forzare manualmente valori di conteggio prossimi a quelli di comparazione.

AWL

: U -INGRESSO 'ogni secondo incrementa il contatore

: UN -CLOCK 'dei secondi

: ZV -SEC

: L -SEC 'se arrivato a 60 secondi

: L KF +60

: !=F

: ZV -MIN 'incrementa il contatore dei minuti

: R -SEC 'e resetta quello dei secondi

: L -MIN 'se arrivato a 60 minuti

: L KF +60

: !=F

: ZV -ORE 'incrementa il contatore delle ore

: R -MIN 'e resetta quello dei minuti

: U -RESET 'azzera i contatori a seguito della

: R -SEC 'chiusura ingresso RESET

: R -MIN

: R -ORE

: UN -CLOCK 'costruzione treno di impulsi con

: L KT 100.0 'periodo di 1 secondo

: SA -CLOCK

: BE

Esempio 21: generatore di onda quadra

L’uscita A2.7 deve essere comandata da un segnale ad onda quadra con Toff =1.5s e Ton =0.5s.

Nella soluzione proposta vengono utilizzati due temporizzatori che si ‘rimpallano’ l’eccitazione.

Alla prima elaborazione del programma ladder il contatto NC di T2 è chiuso, pertanto l’uscita del temporizzatore T1 (ritardo alla diseccitazione) viene attivata. Ora anche il contatto NA di T1 sul percorso 2 è chiuso ed anche l’uscita di T2 viene attivata.

Al ciclo successivo, il contatto NC di T1 questa volta è aperto e quindi il tempo di T1 inizia a scorrere, la sua uscita continua a rimanere alta lasciando T2 nello stesso stato.

Esempi di programmazione per PLC S5 100U 12-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Terminato il tempo di T1 (1.5s) l’uscita dello stesso va bassa ed il contatto NA sul percorso 2 si apre, il temporizzatore T2 viene avviato ed il suo tempo inizia a scorrere mentre la sua uscita continua a rimanere alta.

Trascorso il tempo T2, l’uscita del temporizzatore va bassa. Siamo tornati così nella condizione iniziale ed il ciclo si ripete come già descritto, indefinitamente.

L’andamento temporale dei segnali T1 e T2 è mostrato ai primi due righi della Figura 51; mentre il terzo rigo mostra l’andamento che dovrebbe avere l’uscita A2.7. Notiamo come questa uscita sia il complemento del segnale T1, a meno della piccola differenza di tempo pari ad un ciclo di esecuzione che, per motivi di chiarezza, è stata volutamente esagerata nel diagramma. Concludiamo il programma implementando al terzo percorso l'assegnazione dell’uscita del PLC secondo questo criterio.

Figura 51: Diagramma temporale generatore di onda quadra

Il programma AWL è la semplice conversione di quello ladder e riteniamo che, a questo punto, non dovrebbe essere di difficile comprensione.

Impostando opportunamente il valore delle due costanti di tempo è possibile variare Ton e Toff realizzando un’onda quadra con diversi duty cycle e frequenza.

LADDER

AWL

: UN T2 'attivazione tempo OFF

: L KT 150.0

: SA T1

: U T1 'attivazione tempo ON

: L KT 50.0

: SA T2

12-18 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

: UN T1

: = A2.7 'impostazione uscita

: BE

Esempio 22: altro generatore di onda quadra

L’uscita A2.7 deve essere comandata da un segnale ad onda quadra con Toff =1.5s e Ton =0.5s.

La soluzione qui presentata si differenzia da quella proposta nell’esempio precedente avente la medesima traccia. In effetti, qui è utilizzato un unico temporizzatore ad autoavviamento che viene impostato, nel primo gruppo di istruzioni, con un tempo pari al periodo del segnale richiesto (2s). Nel suo scorrere quindi, il tempo varia quindi tra 200 e 0 centesimi di secondo. Tra i valori 200 e 50 l’uscita A2.7 deve essere impostata allo stato basso, mentre per valori minori di 50 la medesima dovrà assumere lo stato alto.

Il secondo gruppo di istruzioni provvede al confronto del valore di tempo attuale con la costante 50 e se minore attiva l’uscita.

Anche in questo caso è possibile cambiare sia il periodo del segnale, variando la costante di tempo di T3, che il tempo allo stato alto, variando la costante decimale di confronto.

AWL

: UN T3 'avvio temporizzatore

: L KT 200.0 'periodo onda quadra

: SA T3

: L T3 'confronto con tempo

: L KF +50 'allo stato ON

: <F

: = A2.7 'attivazione uscita

: BE

Esempio 23: comando temporizzato luci

Un pulsante collegato all’ingresso E0.0 attiva per tre minuti un gruppo di lampade collegate all’uscita A2.1.

Insieme a queste viene attivata una spia collegata all’uscita A2.2 che, 15 secondi prima dello spegnimento

delle lampade, inizia a lampeggiare per avvisare dell’imminente scadere del tempo. La spia si spegne

definitivamente insieme con le lampade.

I temporizzatori T2 e T3 vengono utilizzati per generare un’onda quadra con periodo di 1s e duty cycle del 50%. Entrambi sono caricati con una costante di tempo da 50 centesimi di secondo. Vedere in merito il primo esempio sulla generazione di un’onda quadra.

Vengono utilizzati inoltre altri due temporizzatori ad impulso prolungato. T1, caricato con un tempo di 3 minuti (KT180.2 cioè 180 secondi), comanda direttamente l’uscita del gruppo di lampade. T0, caricato con un tempo inferiore di 15 secondi (KT165.2), sarà utilizzato per discriminare l’istante di inizio lampeggio della spia.

Esempi di programmazione per PLC S5 100U 12-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Figura 52: Diagramma temporale del comando luci temporizzato

Gli andamenti temporali di T0 e T1 a seguito dell’impulso su E0.0 sono riportati rispettivamente nel secondo e terzo rigo del diagramma di Figura 52. Il quarto rigo riporta l’andamento, non in scala, del temporizzatore T2.

Osservando l’ultimo rigo si nota che la lampada spia deve essere accesa o quando è attivo T0 o, ancora, quando sono attivi A2.1 e T2 e contemporaneamente T0 è disattivo. Cioè in termini di espressione booleana:

)T2T0A2.1(T0A2.2 ⋅⋅+=

Le soluzioni proposte implementano precisamente quanto descritto.

Nella prima, realizzata in ladder, vengono utilizzati i primi due percorsi per la costruzione del segnale ad onda quadra. I successivi due attivano i temporizzatori delle lampade e della spia. L’ultimo costituisce l’implementazione della espressione logica che determina lo stato di accensione di quest’ultima.

Nel programma AWL, il primo gruppo di istruzioni genera il segnale ad onda quadra. Il secondo avvia i temporizzatori per le lampade e la spia. Il terzo accende le lampade e, infine, il quarto accende la spia secondo le modalità determinate dall’espressione trovata in precedenza.

12-20 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER

AWL

: UN T3 'oscillatore 1Hz

: L KT 50.0

: SA T2

: U T2

: L KT 50.0

: SA T3

: U E0.0 'avvio temporizzatore

: L KT 165.2 'per inizio lampeggio

: SV T0

: L KT 180.2 'avvio temporizzatore luci

: SV T1

: U T1 'accensione luci

: = A2.1

: U T1 'accensione e

: UN T0 'lampeggio spia

: U T2

: O T0

: = A2.2

: BE

Esempi di programmazione per PLC S5 100U 12-21

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 24: divisore di frequenza (x4)

Realizzare un divisore di frequenza per 4: ogni quattro impulsi in ingresso viene attivato un impulso sull’uscita

A2.1.

La prima parte delle soluzioni proposte realizza un treno d’impulsi, così come abbiamo imparato a fare negli esempi precedenti, e ne mostra il segnale sull’uscita A2.0. La seconda parte implementa effettivamente il divisore. Esso è costituito da un contatore che viene decrementato ad ogni impulso del generatore (ingresso ZR pilotato da A2.0) e, al raggiungimento dello zero, si autopresetta al valore 4 (uscita Q riportata su ingresso S attraverso M0.0).

Ogni quattro impulsi di A2.0, per un solo ciclo di esecuzione, il conteggio si azzera. In questo ciclo l’uscita del contatore si disattiva e così il merker M0.0 ad essa collegato. Al contrario, l’uscita A2.1 del PLC si attiva, a causa della negazione del contatto di M0.0 che la comanda.

Figura 53: Diagramma temporale divisore di frequenza per 4

12-22 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER

AWL

: UN T1 'conteggio impulsi

: ZR Z3

: = A2.0 'attivazione uscita ogni 0.5 secondi

: UN Z3

: = A2.1 'attivazione uscita ogni 2 secondi

: L KZ 4 'ripristino contatore a 4

: S Z3

: UN T1 'costruzione treno di impulsi

: L KT 50.0 'da dividere

: SA T1

: BE

Esempi di programmazione per PLC S5 100U 12-23

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 25: conteggio ingressi chiusi (I soluzione)

Contare il numero degli ingressi chiusi del modulo 0.

Per risolvere questo esempio sono necessarie operazioni che appartengono al set integrativo (vedere Tabella 22). Pertanto è necessario scrivere il programma in un blocco funzionale e poi richiamare questo dall’OB1 per permetterne l’esecuzione ciclica. Non sarà quindi possibile programmare in ladder.

Depositeremo in MB80 il numero degli ingressi chiusi ed utilizzeremo MW10 come puntatore all’ingresso correntemente in esame. La prima parte del programma in OB1 consiste nell’inizializzazione a 0 di queste due variabili. L’istruzione successiva chiama il blocco FB4 che contiene il nucleo del programma. Come conseguenza dell’istruzione di chiamata di blocco incondizionata, l’elaborazione del programma prosegue dalla prima istruzione di FB4.

Le prime due istruzioni di questo blocco permettono di caricare in RLC il complemento dell’ingresso puntato da MW10, con indirizzo di canale nel byte alto e indirizzo di modulo nel byte basso. Al primo passaggio, essendo MW10 a 0, verrà caricato il complemento dello stato di E0.0.

L’istruzione successiva è un salto condizionato: se RLC=1, cioè se il complemento di E0.0 è uguale ad 1, cioè se l’ingresso è aperto, l’elaborazione viene proseguita dall’etichetta INC. Se l’ingresso è chiuso, invece, il salto non viene effettuato e l’elaborazione continua con l’istruzione seguente.

In quest'ultimo caso, le quattro istruzioni successive incrementano il valore di MB80, cioè del numero che rappresenta il conteggio di ingressi trovati chiusi, caricandone dapprima il valore in ACCU1, quindi sommando a questo 1 e, infine, trasferendo il risultato di nuovo in MB80. Il compito complessivo di queste istruzioni e delle precedenti è quello di incrementare la variabile MB80 se l’ingresso è chiuso e di non incrementarla se l’ingresso è aperto.

In un caso o nell’altro l’elaborazione arriva al gruppo di istruzioni individuato dall’etichetta INC che provvede, come prima azione, ad incrementare il byte alto di MW10, cioè MB10 e cioè il byte che rappresenta il numero del canale dell’ingresso nell’operazione di caricamento indicizzato che abbiamo già visto (a scopo didattico, abbiamo utilizzato un’operazione diversa per ottenere l’incremento del byte). Quindi, viene confrontato il valore appena ottenuto con il valore 7. Se minore o uguale, l’ingresso puntato esiste e dobbiamo valutarne il suo stato tornando all’etichetta TEST, come specificato dall’istruzione di salto condizionato. Altrimenti, nel caso il valore sia 8, il canale non esiste e dobbiamo uscire dal blocco, avendo esaminato tutti gli otto gli ingressi possibili, da E0.0 a E0.7.

La parte di programma che va dall’etichetta TEST all’istruzione SPB =TEST viene quindi eseguita otto volte, prima di ritornare al blocco chiamante OB1 per mezzo dell’ultima istruzione BE. Ogni volta MW10 conterrà un valore diverso: in successione e in esadecimale 0000, 0100, 0200, 0300, 0400, 0500, 0600, 0700; ed ogni volta il gruppo di istruzioni B MW10 e UN E0.0 caricherà in RLC il complemento di un diverso ingresso del modulo, dal primo fino all’ultimo.

La parte di programma che va da L MB80 fino a T MB80 viene elaborata soltanto se l’ingresso testato correntemente è chiuso, col risultato di eseguire un incremento di MB80 soltanto in questa condizione e, siccome il valore iniziale di questo merker byte è pari a 0, alla fine dell’esecuzione del blocco, esso conterrà effettivamente il numero degli ingressi chiusi.

Se desiderate analizzare gli ingressi chiusi del modulo 1 sarà sufficiente caricare 1 come valore di inizializzazione per MW10. E’ anche possibile valutare il totale degli ingressi chiusi per i due moduli. Si tratta di richiamare due volte l’FB4, la prima inizializzando MW10 a 0, la seconda inizializzandola ad 1. Per MB80 occorrerà invece una sola inizializzazione a 0 all’inizio dell’OB1. Lasciamo al lettore la realizzazione di questo programma.

12-24 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

AWL

OB1

: L KF +0 'impostazioni iniziali

: T MB80

: T MW10

: SPA FB4 ()

: BE

FB4

TEST: B MW10 'indicizzazione ingresso

: UN E0.0

: SPB =INC

: L MB80 'l'ingresso è attivo:

: L KF +1 'incremento del merker byte

: +F 'di conteggio

: T MB80

INC : L MB10 'incremento indice per

: I 1 'esame ingresso successivo

: T MB10

: L KF +7 'controllo se finito

: <=F

: SPB =TEST

: BE

Esempio 26: conteggio ingressi chiusi (II soluzione)

Contare il numero degli ingressi chiusi del modulo 0.

In questo esercizio, allo scopo di utilizzare un’operazione di scorrimento, affrontiamo una soluzione differente rispetto a quella programmata nell’esempio precedente.

Il contatore di ingressi chiusi è ancora MB80 ed il suo valore viene ancora inizializzato a 0 all’inizio dell’OB1. MB10 rappresenta invece una maschera a 8 bit, uno solo dei quali per volta sarà ad 1. Il suo valore iniziale è 1 cioè (00000001)2, dove solo il bit 0 è vero.

Le prime tre istruzione del blocco FB4 caricano negli accumulatori i valori della maschera e del byte di ingresso relativo al modulo 0 e ne eseguono la AND bit a bit. Al primo passaggio, col valore della maschera appena visto, la AND dà risultato diverso da 0 solo se E0.0 è chiuso. Quindi il salto su zero previsto dall’istruzione successiva viene effettuato solo per ingresso aperto.

Se l’ingresso è chiuso, come fatto per l’esempio precedente, incrementiamo il byte di conteggio MB80.

In un caso o nell’altro i due percorsi di elaborazione si ricongiungono all’etichetta INC dove, dopo aver caricato la maschera in ACCU1, si provvede allo scorrimento a sinistra di una posizione. Il risultato dello scorrimento o, meglio, la parte bassa di esso, viene ritrasferito in MB10.

Dopo l’istruzione L KF+256, ACCU1 conterrà il valore 256 e ACCU2 conterrà il risultato dello scorrimento. Se il bit di maschera, dopo 8 scorrimenti, è finito in posizione 8 nel registro a 16 bit dell’accumulatore, il valore di quest’ultimo sarà 28=256 e quindi l’istruzione di salto condizionato viene ignorata e l’elaborazione del blocco termina. Se il bit occupa posizioni inferiori, e quindi il contenuto dell’accumulatore risulta minore di 256, il salto all’etichetta TEST viene eseguito per ripetere l’elaborazione al fine di esaminare l’ingresso successivo.

AWL

OB1

: L KF +0 'inizializzazione merker byte

: T MB80 'di conteggio

Esempi di programmazione per PLC S5 100U 12-25

Autoware srl AW-SYS – software di simulazione di PLC e impianti

: L KF +1 'inizializzazione maschera

: T MB10

: SPA FB4 ()

: BE

FB4

TEST: L MB10 'controllo dell'ingresso

: L EB0 'non mascherato

: UW

: SPZ =INC

: L MB80 'l'ingresso è attivo:

: L KF +1 'incremento del merker byte

: +F 'di conteggio

: T MB80

INC : L MB10 'shift della maschera per

: SLW 1 'esame ingresso successivo

: T MB10

: L KF +256 'controllo se finito

: <F

: SPB =TEST

: BE

Esempio 27: semaforo per Formula 1

Alla attivazione del pulsante collegato all’ingresso E0.0 le cinque lampade di un semaforo devono

accendersi in progressione, una ogni secondo. Un secondo dopo la completa accensione, le lampade

dovranno spegnersi.

Nel programmare la soluzione di questo problema si è fatto uso di simboli. La loro corrispondenza con gli operandi assoluti è stata stabilita secondo la seguente tabella.

Op. assoluto Simbolo Commento

E0.0 START Pulsante di avvio

A2.0 L1 Lampada 1

A2.1 L2 Lampada 2

A2.2 L3 Lampada 3

A2.3 L4 Lampada 4

A2.4 L5 Lampada 5

Il diagramma temporale di Figura 54 mostra, nelle righe intermedie, l’andamento delle uscite del PLC che comandano le lampade del semaforo in funzione dell’ingresso START riportato al primo rigo.

12-26 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Figura 54: Diagramma temporale per semaforo di Formula 1

La chiusura di questo ingresso, oltre a settare l’uscita che comanda la prima lampada, determinandone l'immediata accensione, attiva cinque temporizzatori con ritardo all’eccitazione con memoria, impostati con tempi da 1 a 5 secondi. L’uscita di ognuno di essi, T1 escluso, trascorso il tempo programmato, si porterà allo stato alto attivando la rispettiva lampada e ottenendo così facilmente la sequenza di accensione. Il temporizzatore T1, invece, provvede allo spegnimento di tutte le lampade resettando L1 e tutti i temporizzatori, ivi compreso se stesso.

Portate in Run il PLC, trasformate l’interruttore 0.1 in un pulsante, premete il pulsante e …vinca il migliore!

Esempi di programmazione per PLC S5 100U 12-27

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LADDER

12-28 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

AWL

: U -START 'impostazione temporizzatori per sequenza

: L KT 100.0

: SS T2

: L KT 200.0

: SS T3

: L KT 300.0

: SS T4

: L KT 400.0

: SS T5

: L KT 500.0

: SS T1

: U -START 'impostazione uscite

: S -L1

: U T2

: = -L2

: U T3

: = -L3

: U T4

: = -L4

: U T5

: = -L5

: U T1 'reset temporizzatori

: R -L1

: R T1

: R T2

: R T3

: R T4

: R T5

: BE

Esempio 28: luci sequenziali a 4 canali

Costruire un sequenziatore a 4 canali che preveda il seguente schema di accensione.

Figura 55: Schema di accensione per sequenziatore a 4 canali

Lo schema stabilisce la sequenza di accensione delle lampade collegate ai quattro canali: i cerchi pieni segnalano l’attivazione del canale durante lo specifico passo. Così durante il passo 0 sarà attivo il canale 0, durante il passo 1 il canale 1 e così via. Se le lampade vengono posizionate in linea, l’effetto sarà quello di uno spostamento della fonte luminosa dalla prima all’ultima posizione e poi al contrario.

Al passo 5 succede un passo 6 identico allo 0 e poi un altro identico al passo 1, cioè il diagramma viene percorso ciclicamente. Immaginate di ritagliarlo ed avvolgerlo a cilindro, facendo combaciare i lembi opposti del passo 0 e del 5, esso sarebbe simile al tamburo di un carillon: terminato il motivetto, comincia nuovamente.

Continuando con il parallelo sonoro, perché un carillon funzioni abbiamo bisogno di un cilindro con delle camme disposte in modo opportuno sulla sua superficie laterale e di un meccanismo che lo faccia girare.

Esempi di programmazione per PLC S5 100U 12-29

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Cominciamo proprio a costruire quest’ultimo. Il meccanismo di avanzamento del nostro sequenziatore sarà un treno di impulsi con periodo di 0.2 secondi, cioè una base tempi con periodo scelto in modo da portare ad avere una velocità di spostamento della fonte luminosa ritenuta idonea. Le istruzioni

UN –TIMER

L KT20.0

SA –TIMER

costruiscono un treno di impulsi, così come abbiamo imparato a fare in precedenza. Il cilindro invece sarà costituito da un contatore che, partendo da 0, viene incrementato ad ogni impulso.

UN –TIMER

ZV –COUNTER

Arrivato a 6, cioè dopo l’ultimo passo, esso dovrà essere reimpostato al valore 0 di partenza, essendo il passo 6 identico al passo 0 per l’appunto.

L –COUNTER

L KF+6

!=F

R –COUNTER

Prima di sistemare le camme sul cilindro identifichiamo gli spicchi del cilindro che corrispondono ad ogni specifico passo. Le istruzioni

L –COUNTER

L KF+0

!=F

= -PASSO0

impostano ad 1 il merker PASSO0 quando il contatore vale 0, identificando tra i possibili valori del contatore quello corrispondente a tale passo. I successivi gruppi di istruzioni impostano i merker corrispondenti a ciascuno degli altri passi. Così, alla fine, ogni 0.2s sarà attivo un merker diverso, in successione da PASSO0 a PASSO5 e, quindi, riprendendo da PASSO0.

Ora che abbiamo identificato le posizioni possiamo inserire le camme. Cominciamo dal canale 0, osserviamo nuovamente la griglia di Figura 55, il canale 0 è attivo solo durante il passo 0, quindi:

O -PASSO0

= -CH0

Il canale 1 deve essere attivo sia durante il passo 1 che durante il passo 5: O -PASSO1

O -PASSO5

= CH1

Proseguendo così, per gli altri due canali, fino a terminare la costruzione del carillon o, abbandonando il parallelo didattico, del sequenziatore.

12-30 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

AWL

: UN -TIMER 'avanzamento passo

: ZV -COUNTER

: UN -TIMER 'costruzione base tempi

: L KT 10.0

: SA -TIMER

: L -COUNTER 'reinizializzazione ciclo

: L KF +6

: !=F

: R -COUNTER

: L -COUNTER 'test passo 0

: L KF +0

: !=F

: = -PASSO0

: L -COUNTER 'test passo 1

: L KF +1

: !=F

: = -PASSO1

: L -COUNTER 'test passo 2

: L KF +2

: !=F

: = -PASSO2

: L -COUNTER 'test passo 3

: L KF +3

: !=F

: = -PASSO3

: L -COUNTER 'test passo 4

: L KF +4

: !=F

: = -PASSO4

: L -COUNTER 'test passo 5

: L KF +5

: !=F

: = -PASSO5

: O -PASSO0 'impostazione canale 0

: = -CH0

: O -PASSO1 'impostazione canale 1

: O -PASSO5

: = -CH1

: O -PASSO2 'impostazione canale 2

: O -PASSO4

: = -CH2

: O -PASSO3 'impostazione canale 3

: = -CH3

: BE

In questo esempio è possibile aumentare o diminuire la durata dei passi semplicemente cambiando la costante con cui viene caricato il temporizzatore, producendo l’effetto di variare la velocità dello spostamento apparente della fonte luminosa. E’ possibile modificare il numero dei passi, cambiando la costante con cui viene confrontato il valore di conteggio per l’azzeramento del contatore ed aggiungendo altri confronti per discriminare i nuovi passi. E’ possibile, ancora, cambiare la sequenza di accensione delle lampade, modificando le condizioni nei gruppi di OR che costituiscono l’ultima parte del programma.

Sicuramente quella presentata non è l’unica soluzione al problema e, in genere, man mano che questo diventa più complesso, le soluzioni possibili aumentano. Probabilmente non è neppure la migliore in termini di

Esempi di programmazione per PLC S5 100U 12-31

Autoware srl AW-SYS – software di simulazione di PLC e impianti

versatilità, semplicità di manutenzione o di eleganza di programmazione, anche se nel prossimo esempio proporremo una soluzione che meglio risponde a questi requisiti. Ma è l’approccio più semplice, che utilizza cioè le istruzioni più comuni, che siamo riusciti a produrre e questo è un requisito fondamentale per il compito che questo capitolo del manuale si propone: accompagnarvi nei primi passi nel mondo della programmazione dei PLC.

Esempio 29: luci sequenziali a barra

Costruire un sequenziatore a 8 canali che preveda il seguente schema di accensione.

L’effetto ottico, se le lampade sono disposte in linea verticale, così come i LED del modulo del PLC, è quello di un progressivo riempimento della barra dovuto a fonti luminose che compaiono in alto e man mano scendono fino ad occupare l’ultima posizione libera, cioè spenta. Una volta illuminata tutta la barra il ciclo riparte spegnendo le lampade e ricominciando il riempimento.

La sequenza è sufficientemente più complicata della precedente da spingerci a trovare una soluzione diversa, più funzionale e, magari, più versatile. Quella prevista utilizza un blocco dati per memorizzare le combinazioni di accensione della sequenza. Ogni data word contiene nel byte basso il codice di accensione delle lampade. L’ultima word contiene il dato (FFFF)16 che funge da terminatore di sequenza con le modalità che vedremo tra poco.

12-32 Esempi di programmazione per PLC S5 100U

AW-SYS – software di simulazione PLC e impianti Autoware srl

Il cuore del programma è costituito dal blocco FB10 che viene richiamato ogni 2 decimi di secondo e che provvedere a leggere i dati ed inviarli al modulo di uscita. Vediamo come.

MW100 costituisce il puntatore alla data word attuale. Il suo valore iniziale è 0. Il gruppo di istruzioni all’etichetta READ, successivo all’apertura del DB20, carica dapprima il valore (FFFF)16 in accumulatore, quindi il valore della data word corrente utilizzando un’istruzione indicizzata, e confronta i due valori: se diversi l’elaborazione continua trasferendo il contenuto di ACCU1, il dato della sequenza, al modulo 2 di uscita. In seguito, dopo l’incrementato del valore del puntatore, si ritorna al blocco chiamante cosicché, quando nuovamente richiamato FB4, la data word caricata sarà quella successiva.

Se il valore letto è invece uguale a (FFFF)16, l’elaborazione continua dapprima all’etichetta INIT dove si provvede all’azzeramento dell’indice per il ritorno all’inizio sequenza, quindi all’etichetta READ per la nuova lettura della prima combinazione della sequenza, DW0.

AWL

OB1 (Principale)

: UN T0 'chiamata a tempo del FB10

: SPB FB10 ()

: UN T0 'base tempi da 0.2 secondi

: L KT 20.0

: SA T0

: BE

OB21 (Inizializzazione su STOP-RUN)

: L KF +0 'reinizializzazione indice

: T MW100

: BE

OB22 (Inizializzazione su OFF-ON)

: L KF +0 'reinizializzazione indice

: T MW100

: BE

FB10 (Accensione luci)

: A DB20 'apertura blocco dati

READ: L KH FFFF 'caricamento codice fine ciclo

: B MW100 'lettura del dato corrente

: L DW0 'e controllo se fine ciclo

: !=F

: SPB =INIT

: T AB2 'accensione lampade

: L MW100 'incremento dell'indice

: L KF +1

: +F

: T MW100

: BEA

INIT: L KF +0 'reinizializzazione indice

: T MW100

: SPA =READ

: BE

DB20 (Dati per la sequenza)

0 KM 00000000 00000000 Dati del ciclo

1 KM 00000000 00000001

2 KM 00000000 00000010

Esempi di programmazione per PLC S5 100U 12-33

Autoware srl AW-SYS – software di simulazione di PLC e impianti

AWL 3 KM 00000000 00000100

4 KM 00000000 00001000

5 KM 00000000 00010000

6 KM 00000000 00100000

7 KM 00000000 01000000

8 KM 00000000 10000000

9 KM 00000000 10000001

10 KM 00000000 10000010

11 KM 00000000 10000100

12 KM 00000000 10001000

13 KM 00000000 10010000

14 KM 00000000 10100000

15 KM 00000000 11000000

16 KM 00000000 11000001

17 KM 00000000 11000010

18 KM 00000000 11000100

19 KM 00000000 11001000

20 KM 00000000 11010000

21 KM 00000000 11100000

22 KM 00000000 11100001

23 KM 00000000 11100010

24 KM 00000000 11100100

25 KM 00000000 11101000

26 KM 00000000 11110000

27 KM 00000000 11110001

28 KM 00000000 11110010

29 KM 00000000 11110100

30 KM 00000000 11111000

31 KM 00000000 11111001

32 KM 00000000 11111010

33 KM 00000000 11111100

34 KM 00000000 11111101

35 KM 00000000 11111110

36 KM 00000000 11111111

37 KH FFFF Terminatore di ciclo

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 1133 NOTE SULLA PROGRAMMAZIONE DEL PLC S7 300

Premessa

Le note fornite in questa sezione si riferiscono unicamente al PLC simulato, cioè a PC-Sim per S7 300. Molto spesso comunque, esse trovano riscontro anche nel PLC reale, poiché in tutte le simulazioni di AW-SYS si è cercato di avvicinare quanto più possibile la realtà. Comunque, si consiglia vivamente l’utilizzo dei manuali originali Siemens del PLC reale e dell’apparecchiatura di programmazione per tutte le informazioni necessarie alla programmazione del dispositivo reale.

Per loro natura, alcuni degli argomenti trattati, sono comuni ai diversi PLC simulati. Si è preferito però ripetere le stesse descrizioni per tutti al fine di far diventare ognuno di questi capitoli un’entità autonoma: un comodo ed indispensabile manuale da tenere a portata di mano durante la programmazione del PLC simulato.

Generalità sul PLC S7 300

L’S7 300 è un PLC modulare cioè, sulla base di montaggio, è possibile affiancare all’alimentatore (posto connettore 1) e alla CPU (posto 2) una serie di moduli di ingresso/uscita a partire dal posto connettore 4. Il posto connettore 3 viene lasciato libero nel PLC reale per l’inserzione della eventuale interfaccia per la connessione ai rack di ampliamento. Nella simulazione il PLC è costituito, oltre che dalla CPU, dai moduli di ingresso/uscita elencati in Tabella 25.

Tabella 25: Composizione del PLC S7 300

Posto connettore Tipo modulo Numero canali

4 Ingressi digitali 16

5 Uscite digitali 16

6 Ingressi analogici 4

7 Uscite analogiche 4

I moduli ai posti connettore 6 e 7 non vengono visualizzati nella Finestra PLC.

La CPU è dotata di un commutatore di accensione (On-Off) e di un commutatore del modo di funzionamento (Stop-Run). Due LED, STOP di colore giallo e RUN di colore verde, segnalano lo stato attuale della CPU. L’accensione del LED STOP indica che la CPU è alimentata è si trova nello stato di Stop. L’accensione del LED RUN indica che la CPU è alimentata e si trova in stato di Run. Il LED DC5V di colore verde segnala la presenza di alimentazione alla CPU. Infine è presente un LED, di colore rosso, la cui accensione segnala la mancanza della batteria. Gli altri LED presenti sul fronte della CPU non sono utilizzati nella simulazione.

Ogni ingresso ed ogni uscita digitale dispone del LED di segnalazione dello stato: LED acceso per stato attivo, LED spento per stato disattivo.

13-2 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Indirizzamento

Sotto il nome di indirizzamento va la serie di regole sintattiche che il programmatore deve osservare nel far riferimento a variabili o costanti durante la scrittura di un programma utente per PLC. L’indirizzamento, nella simulazione del PLC S7 300, si effettua in accordo alle regole esposte di seguito e riassunte nella Tabella 14.

Ingressi–Uscite digitali

La sigla per l’indirizzamento degli ingressi e delle uscite digitali in questo modello di PLC è composta da:

• lettera che individua gli ingressi (E) o le uscite (A)

• indirizzo di byte

• punto di separazione

• indirizzo di bit

Ad ogni posto connettore vengono riservati 4 byte consecutivi. Al posto connettore 4, dove è installato il primo modulo di I/O del PLC simulato, sono ad esempio riservati i byte 0, 1, 2 e 3. Al posto connettore 5 i byte 4, 5, 6 e 7, e così via. La tabella seguente riassume la corrispondenza tra posto connettore e indirizzi iniziali di byte riservati per i primi otto moduli.

Tabella 26: Corrispondenza posto connettore - indirizzo di byte per S7 300

Numero posto connettore 4 5 6 7 8 9 10 11

Indirizzo iniziale moduli digitali 0 4 8 12 16 20 24 28

Indirizzo iniziale moduli analogici 256 272 288 304 320 336 352 368

Il primo modulo del PLC simulato, essendo dotato di solo 16 canali di ingresso digitale, occupa allora gli indirizzi di byte 0 e 1, il secondo modulo occupa invece gli indirizzi 4 e 5. Rimangono quindi inutilizzati gli indirizzi di byte 2, 3, 6 e 7.

I 16 canali disponibili su ognuno dei moduli assumono un indirizzo di bit compreso tra 0 e 7 in corrispondenza del primo byte e del secondo byte, secondo quando riportato nella Tabella 27.

Il PLC simulato è composto, oltre che dalla CPU, da due moduli digitali di periferia: nell’ordine uno di ingresso ed uno di uscita. Quindi gli indirizzi per i canali di questi moduli sono:

• da E0.0 a E1.7 per gli ingressi digitali

• da A4.0 a A5.7 per le uscite digitali.

Vedremo in seguito che questa modalità di indirizzamento non fa riferimento diretto agli ingressi ed alle uscite fisiche del PLC, cioè alla periferia, ma alla immagine che di essi il sistema operativo costruisce all’interno della memoria della CPU. Le immagini della periferia sono state riproposte interamente nella CPU simulata; così all’interno del vostro programma potrete indirizzare, senza generare alcun errore, tutta l’immagine degli ingressi da E0.0 a E255.7 e tutta l’immagine delle uscite da A0.0 a A255.7. L’indirizzamento di variabili nelle immagini di processo, non corrispondenti a moduli di I/O, porta semplicemente a test o impostazioni di bit, byte o word di memoria senza condurre ad attivazione di uscite o valutazione di stato degli ingressi.

Ingressi e uscite (da intendersi sempre come immagine di processo degli ingressi ed immagine di processo delle uscite) sono indirizzabili anche a byte, a word ed a doppia word.

EB0 rappresenta il byte 0 dell’immagine degli ingressi e nel caso del PLC simulato il byte basso del modulo di ingressi digitali al posto connettore 4; EB1 rappresenta il byte successivo, quello corrispondente al byte alto dello stesso modulo e così via fino a EB255. Con l’ovvia limitazione che solo i byte a cui corrispondono effettivamente canali di ingresso su moduli assumono significato pratico.

Note sulla programmazione del PLC S7 300 13-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

AB4 e AB5 rappresentano invece i byte di uscita, rispettivamente alto e basso, per il modulo di uscite digitali nel posto connettore 5 anche se, ancora una volta, il campo ammesso per questo tipo di operando va da AB0 ad AB255.

Tabella 27: Indirizzi di bit per moduli nei posti connettore 4 e 5 per S7 300

Posto connettore 4 Posto connettore 5

Byte Bit Byte Bit

0 0

1 1

2 2

3 3

4 4

5 5

6 6

0

7

4

7

0 0

1 1

2 2

3 3

4 4

5 5

6 6

1

7

5

7

EW0 rappresenta la word di ingresso 0, composta dai byte EB0 ed EB1 che contiene l’intera informazione dei canali del modulo di ingresso. Il campo indirizzabile in questo PLC arriva fino ad EW254.

AW4 rappresenta la parola di uscita 4, composta dai byte AB4 ed AB5, che quindi rappresenta l’intera informazione per il modulo di uscita digitale. Il campo indirizzabile in questo PLC va da AW0 ad AW254.

Le doppie word di ingresso e di uscita contengono ognuna quattro byte a partire da quello con indirizzo uguale a quello della doppia word. Così, ad esempio, la doppia word ED0 sarà composta dai byte EB0, EB1, EB2 ed EB3. Il campo dei valori indirizzabili va da ED0 ad ED252, per gli ingressi, e da AD0 ad AD252, per le uscite.

Ingressi–Uscite analogici

Il modulo al posto connettore 6 possiede quattro canali analogici di ingresso che vengono mappati nella immagine degli ingressi in corrispondenza delle word EW288, EW290, EW292 ed EW294, vedi Tabella 26. La codifica del valore utilizza 12 dei 16 bit disponibili. Come indicato in figura, il bit meno significativo della codifica (B0) occupa il bit 3 della word, B1 occupa il bit 4 e così via fino a B11 che occupa il bit 14. I bit 15, 2, 1 e 0 sono sempre a zero nella simulazione.

Tabella 28: Codifica valori dei canali analogici di ingresso per S7 300

Bit di EW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Codifica 0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X

13-4 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Al valore minimo dell’ingresso (es. 0V) corrisponde una codifica B11-B0 pari a 0; al valore massimo corrisponde una codifica di (2048)10. Quindi, concludendo, il valore di una delle word dell’immagine può variare da 0 a 2048x8=16384. Dove la moltiplicazione per 8 deriva dallo scorrimento di 3 posti a sinistra (23=8) che prevede la codifica.

Il modulo al posto connettore 7 possiede quattro canali analogici di uscita che vengono mappati nella immagine delle uscite in corrispondenza delle word AW304, AW306, AW308 ed AW310. La codifica del valore utilizza 11 dei 16 bit disponibili. Come indicato nello schema seguente, il bit meno significativo della codifica (B0) occupa il bit 4 della word, B1 occupa il bit 5 e così via fino a B10 che occupa il bit 14. I bit 15, 3, 2, 1 e 0 sono ininfluenti al fine dell’emissione di un certo valore di tensione.

Tabella 29:Codifica valori dei canali analogici di uscita per S7 300

Bit di AW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Codifica X B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X X

Per ottenere il valore minimo in uscita (es. 0V) occorre una codifica B10-B0 pari a 0; il valore massimo si ottiene invece con una codifica di 1024. Quindi, concludendo, il valore che è possibile scrivere in una delle word dell’immagine può variare da 0 a 1024x16=16384. Dove la moltiplicazione per 16 deriva dallo scorrimento di 4 posti a sinistra (24=16) che prevede la codifica.

Merker

I merker costituiscono una parte della memoria RAM della CPU. Essa è direttamente accessibile da programma utente e da questo viene utilizzata per memorizzazioni temporanee di dati, o intermedie di risultati di calcoli. La memoria merker di questo PLC è composta da 256 byte (merker byte). Ogni byte di questa memoria è indirizzabile attraverso la sigla MBx, dove x è il numero progressivo di byte. Ad esempio, MB100 identifica il byte 100 della memoria merker. Gli indirizzi possibili vanno quindi da MB0 a MB255.

Ogni bit della stessa memoria è indirizzabile singolarmente con la sigla Mx.y, dove x è ancora il numero di byte e y è il numero del bit all’interno del byte. Quindi sono possibili gli indirizzi da M0.0 a M255.7.

Inoltre, la memoria merker può essere indirizzata a word utilizzando la sigla MWx dove x è il numero di word. La MW0 (merker word numero 0) è composta dai merker byte MB0 e MB1, la MW1 da MB1 e MB2, e così via. Il campo operandi possibile va da MW0 a MW254. Infatti la MW254, che raggruppa MB254 e MB255, è l’ultima merker word disponibile, essendo MB255 l’ultimo byte indirizzabile.

Infine tale memoria è indirizzabile a doppia word: da MD0, che raggruppa MB0, MB1, MB2 e MB3, a MD252, ultima doppia word indirizzabile.

I merker byte da MB0 a MB63 sono ritentivi, cioè conservano il loro valore dopo una mancanza di alimentazione con batteria inserita, e così pure lo sono i merker bit che contengono e le merker word o le doppie merker word che compongono.

I merker byte da MB64 a MB127 sono non ritentivi, perdono quindi il loro valore dopo una mancanza di alimentazione alla CPU, cioè vengono azzerati. Lo stesso dicasi per i merker bit contenuti in essi e le merker word o le doppie merker word da essi composte.

Temporizzatori

All’interno del programma utente è possibile l’utilizzo di 64 temporizzatori con indirizzi da T0 a T63. Tutti i temporizzatori sono non ritentivi.

Note sulla programmazione del PLC S7 300 13-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Contatori

Sono disponibili al programmatore 64 contatori, indirizzabili con le sigle da Z0 a Z63. I primi 8 (da Z0 a Z7) sono ritentivi i restanti (da Z8 a Z63) sono non ritentivi.

Costanti

E’ data la possibilità di utilizzare nel programma delle costanti, per assegnare valori a merker, per caricare temporizzatori e contatori, per operazioni di confronto, ecc. Le costanti definite per questo PLC sono di vario genere per adattarsi alle diverse esigenze che si riscontrano in fase di programmazione. Eccone di seguito un elenco.

Costanti decimali a 16 bit

Sono costanti espresse su sedici bit compreso segno; i numeri negativi sono rappresentati in complemento a due. I valori di queste costanti vanno da –32768 a +32767.

Costanti decimali a 32 bit

Sono costanti espresse su trentadue bit compreso segno; i numeri negativi sono rappresentati in complemento a due. I valori di queste costanti vanno da L#-2147483648 a L#2147483647.

Costanti esadecimali a 8 bit

Sono costanti espresse su 8 bit in formato esadecimale da B#16#00 a B#16#FF. Dove B sta per byte (8 bit) e 16 indica la base esadecimale. Per esempio, B#16#7E identifica una costante che vale (7E)16 o , in decimale, (126)10.

Costanti esadecimali a 16 bit

Sono costanti espresse su 16 bit in formato esadecimale da W#16#0000 a W#16#FFFF. Dove W sta per word (16 bit) e 16 indica la base esadecimale. Per esempio, W#16#0120 identifica una costante che vale (120)16 o , se preferite, (288)10.

Costanti esadecimali a 32 bit

Sono costanti espresse su 32 bit in formato esadecimale da DW#16#0000_0000 a DW#16#FFFF_FFFF. Dove DW sta per doppia word (32 bit) e 16 indica la base esadecimale. Per esempio, DW#16#0A34_0120 identifica una costante che vale (A340120)16 che vale in base esadecimale (171180320)10.

Costanti binarie a 16 bit

Sono costanti espresse su 16 bit con descrizione diretta binaria; la rappresentazione va da 2#0000_0000_0000_0000 a 2#1111_1111_1111_1111. Per esempio, 2#0010_0000_1110_0111 identifica una costante del valore (0010000011100111)2 o, in base esadecimale, (20E7)16.

Costanti binarie a 32 bit

Sono costanti espresse su 16 bit con descrizione diretta binaria; la rappresentazione va da 2#0000_0000_0000_0000_0000_0000_0000_0000 a 2#1111_1111_1111_1111_1111_1111_1111 _1111. Per esempio, 2#1110_0111_1011_0011_0010_0000_1110_0111 identifica una costante del valore (11100111101100110010000011100111)2 o, in base esadecimale, (E7D520E7)16.

Costanti di tempo

Esprimono costanti per il caricamento dei temporizzatori. Esse sono composte dalla sigla S5TIME# seguita da una stringa alfanumerica che identifica il numero di ore, minuti, secondi e millesimi di secondo. I valori

13-6 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

ammissibili hanno per limiti S5TIME#0H_0M_0S_0M e S5TIME#2H_46M_30S_0MS. Per maggiori dettagli vedere più avanti Operazioni di temporizzazione.

Costanti di conteggio

Esprimono costanti a 16 bit codificate in BCD per l’impostazione dei contatori. Valori da Z#000 a Z#999. Vedere più avanti Operazioni di conteggio.

Tabella 30: riepilogo indirizzamento variabili PC-Sim per Siemens S7 300

Tipo Min Max

Bit di ingresso E0.0 E127.7

Byte di ingresso EB0 EB127

Word di ingresso EW0 EW126

Doppia word di ingresso ED0 ED124

Bit di uscita A0.0 A127.7

Byte di uscita AB0 AB127

Word di uscita AW0 AW126

Doppia word di uscita AD0 AD124

Bit di merker (ritentivi) M0.0 M15.7

Bit di merker (non ritentivi) M64.0 M255.7

Byte di merker (ritentivi) MB0 MB15

Byte di merker (non ritentivi) MB16 MB255

Word di merker (ritentive) MW0 MW14

Word di merker (non ritentive) MW16 MW254

Doppia word di merker (ritentive) MW0 MW12

Doppia word di merker (non ritentive) MD16 MD252

Data bit DBX0.0 DBX255.7

Data byte DBB0 DBB255

Data word DBW0 DBW254

Doppia data word DBD0 DBD252

Temporizzatori T0 T63

Contatori (ritentivi) Z0 Z7

Contatori (non ritentivi) Z8 Z63

Costante decimale a 16 bit -32768 32767

Costante decimale a 32 bit L#-2147483648 L#2147483647

Costante esadecimale a 8 bit B#16#00 B#16#FF

Costante esadecimale a 16 bit W#16#0000 W#16#FFFF

Costante esadecimale a 32 bit DW#16#0000_0000 DW#16#FFFF_FFFF

Costante binaria a 16 bit 2#0000_0000_0000_0000 2#1111_1111_1111_1111

Costante binaria a 32 bit 2#0000_0000_0000_0000

_0000_0000_0000_0000

2#1111_1111_1111_1111

_1111_1111_1111_1111

Costante di conteggio Z#000 Z#999

Costante di tempo S5TIME#0H_0M_0S_0MS S5TIME#2H_46M_30S_0MS

Blocchi organizzativi OB 0 OB 127

Funzioni FC 0 FC 127

Note sulla programmazione del PLC S7 300 13-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Tipo Min Max

Blocchi dati DB 2 DB 127

Indirizzamento dati

I dati sono variabili a uno o più bit memorizzate in appositi blocchi. L'accesso ad essi, in lettura o scrittura, può essere effettuato con due modalità. La prima consiste nell'indirizzamento dei dati previa apertura del blocco di appartenenza con l'operazione AUF DBn, dove n rappresenta il numero del blocco. Una volta aperto un blocco dati, ogni istruzione di accesso a dati farà riferimento a quelli in esso contenuti. E' possibile tenere aperto un solo blocco dati per volta. Una successiva operazione di apertura di blocco dati farà in modo che le seguenti operazioni di accesso a dati saranno riferite solo all'ultimo blocco aperto.

L'accesso ai dati in un blocco dati aperto può essere effettuato a bit, byte, word e doppia word.

I blocchi dati sono composti, al massimo, da 256 byte (data byte). Ogni byte è indirizzabile attraverso la sigla DBBx, dove x è il numero progressivo di byte. Ad esempio, DBB10 identifica il byte 10 del blocco. Gli indirizzi possibili vanno quindi da DBB0 a DBB255.

Ogni data bit è indirizzabile singolarmente con la sigla DBXx.y, dove x è il numero di data byte e y è il numero del bit all’interno di tale byte. Quindi sono possibili gli indirizzi da DBX0.0 a DBX255.7.

Inoltre, i dati possono essere indirizzati a word utilizzando la sigla DBWx dove x è il numero di word. La DBW0 (data word numero 0) è composta dai data byte DBB0 e DBB1, la DBW1 da DBB1 e DBB2, e così via. Il campo operandi possibile va da DBW0 a DBW254. Infatti la DBW254, che raggruppa DBB254 e DBB255, è l’ultima data word disponibile, essendo DBB255 l’ultimo byte indirizzabile.

Infine i dati sono indirizzabili a doppia word: da DBD0, che raggruppa DBB0, DBB1, DBB2 e DBB3, a DBD252, ultima doppia word indirizzabile.

La seconda modalità consiste nell'accesso diretto ai dati di un blocco, anche non aperto. Nella scrittura dell'operando, occorre far precedere la sigla del dato, da leggere o da scrivere, dalla sigla del blocco di appartenenza. E così, ad esempio, la sigla DB25.DBW20 indirizza la data word 20 del blocco dati 25, e la sigla DB42.DBX3.6 indirizza il bit 6 del data byte 3 del blocco dati 42.

Occorre infine sottolineare che i succitati limiti di indirizzamento dei dati sono altresì limitati dalla effettiva lunghezza del blocco programmato. Cioè ad esempio, in un blocco contenente 12 data byte, sarà possibile indirizzare solo da DBB0 a DBB11, e ogni accesso a data byte di numero superiore provocherà uno specifico errore nell'esecuzione del programma utente. Analoghe considerazioni possono essere svolte i dati a 1, 16 o 32 bit.

Indirizzamento indiretto

Nell’indirizzamento indiretto, l’operando è composto da due parti. La prima costituisce l’identificatore dell’operando (E, A, M, MB, EB, AB, MW, ecc.), e specifica l’area dell’operando che l’operazione andrà ad utilizzare. La seconda parte specifica, tra parentesi quadre, la merker word o data word che contiene l’esatto indirizzo di bit, byte, word o doppia word all’interno dell’area prescelta.

Ad esempio nel seguente programma:

L +6

T MW100

L MW[MW100]

le prime due istruzioni assegnano alla MW100 il valore 6; la terza istruzione carica in accumulatore il valore della merker word puntata dalla MW100, cioè la MW6. Variando il contenuto della MW100 è possibile caricare in accumulatore il contenuto di merker word diverse, ogni volta quella puntata dalla MW100.

Se nell’indirizzamento indiretto di variabili a più bit è sufficiente utilizzare un puntatore a 16 bit, per l’indirizzamento indiretto di variabili a singolo bit è invece necessario utilizzare puntatori a 32 bit. I 3 bit meno

13-8 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

significativi costituiranno l’indirizzo di bit, mentre i bit dalla posizione 3 alla 18 verranno interpretati come indirizzo di byte.

Per esempio il programma:

L 2#0000_0000_0000_0000_0000_0000_0000_1011

T MD44

U E[MD44]

consente di testare il valore del bit 3 (011 come bit meno significativi) del modulo di ingressi digitali 1 (valore dei bit dal 3 al 18 dell’accumulatore 1).

Elaborazione del programma utente

Sistema operativo

Il cuore del funzionamento del PLC è il suo Sistema Operativo: un programma che gestisce il funzionamento di base dell’apparecchiatura, registrato nella ROM dalla casa costruttrice.

Una disamina puntale delle funzioni del Sistema Operativo non rientra nei compiti di questo manuale, ed anche nei manuali dei PLC reali è difficile trovare molti chiarimenti a riguardo; tra l’altro, il fatto che questo programma venga eseguito è completamente trasparente al programmatore che, per certi versi, può addirittura ignorarne l’esistenza.

Elenchiamo comunque, per completezza, alcune delle funzioni da esso svolte, quelle che riteniamo più importanti ai fini della trattazione seguente:

• controllo del tempo di ciclo (watch-dog)

• test dell’hardware e della memoria

• richiamo del programma utente

• aggiornamento dell’immagine degli ingressi

• trasferimento dell’immagine delle uscite

• gestione presa di programmazione

• controllo della batteria tampone.

Stato della CPU

La CPU può trovarsi in uno dei seguenti stati:

OFF: la CPU non è alimentata, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di Off. I LED STOP, RUN e DC5V sul fronte della CPU sono spenti.

STOP: la CPU è alimentata ma il programma utente non viene eseguito, il commutatore di accensione nella Barra strumenti di PC-Sim si trova nella posizione di On ed il commutatore di funzionamento si trova nella posizione di Stop. Il LED STOP è acceso, il LED RUN è spento. Il LED DC5V è acceso.

RUN: la CPU è alimentata e viene eseguito il programma utente, il commutatore di accensione nella Barra

strumenti di PC-Sim si trova nella posizione di On ed il commutatore di funzionamento si trova nella posizione di Run. Il LED STOP è spento, il LED RUN è acceso. Il LED DC5V è acceso.

Lo stato attuale della CPU viene visualizzato nella barra del titolo della Finestra PLC racchiuso tra parentesi quadre.

Note sulla programmazione del PLC S7 300 13-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Immagini di processo

Una parte della RAM della CPU è destinata al compito di fungere da memoria intermedia per l’accesso alla periferia. Questa memoria prende il nome di immagine di processo e si divide in due parti: immagine di processo degli ingressi ed immagine di processo delle uscite (nel seguito denominate solo immagine degli ingressi ed immagine delle uscite).

Prima dell’elaborazione del programma utente, tutti gli ingressi del PLC vengono letti ed il loro stato viene copiato nell’immagine degli ingressi. Al termine dell’elaborazione del programma utente, la memoria immagine delle uscite è ricopiata nelle uscite del PLC.

Durante l’elaborazione del programma, ogni acceso agli ingressi o alle uscite non viene riferito all’effettivo canale fisico ma ad un bit, corrispondente a quel canale, nella memoria immagine di processo. Quando si richiede la lettura di un ingresso, quello che si legge è in realtà un bit di memoria che, in precedenza, è stato copiato dall’ingresso effettivo. Quando si scrive su un’uscita, in realtà non si scrive direttamente sul canale di uscita, ma viene scritto un bit di memoria che solo successivamente verrà ricopiato sul canale fisico di uscita. Vedremo come si possa anche scrivere un ingresso e leggere un’uscita, ma questo non cambia i termini della questione.

Il microprocessore all’interno del PLC dovrà pertanto dividere il suo tempo tra diversi compiti: eseguire il Sistema operativo, aggiornare l’immagine degli ingressi, eseguire il programma applicativo e trasferire l’immagine delle uscite. Il diagramma a torta della Figura 56 illustra queste attività. Il senso di percorrenza del diagramma è quello illustrato dalla freccia. Le rispettive percentuali di tempo sono del tutto casuali ed, in particolare, quella dedicata all’esecuzione del programma utente è variabile con le dimensioni dello stesso cioè, in generale, quanto più lungo è il programma tanto più tempo occorrerà alla CPU per eseguirlo (escludendo da questa considerazione i programmi che contengono operazioni di salto).

Figura 56: ripartizione tempo del microprocessore del PLC

Controllo del tempo di ciclo

Il sistema operativo, subito prima di effettuare il richiamo del programma utente, avvia un monostabile che ha in genere una durata che va da qualche decina fino a pochissime centinaia di millisecondi. Supponiamo che il programma utente richieda per la sua esecuzione un tempo inferiore a quello del monostabile. In questa situazione, prima di ogni suo successivo richiamo il monostabile verrebbe avviato nuovamente e, come risultato, l’uscita di quest’ultimo rimarrebbe continuamente alta.

Se, invece, il programma utente richiedesse per la sua esecuzione più tempo della durata del monostabile, allora l’uscita di questo si porterebbe allo stato basso, provocando l’immediato passaggio in Stop del PLC.

Un programma realizzato male potrebbe portare la CPU ad eseguire indefinitamente, o per un tempo eccessivo ai fini della rapidità del controllo dell’impianto, un ciclo chiuso di istruzioni senza tornare

13-10 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

all’elaborazione del sistema operativo. Questa condizione potrebbe portare danni all’impianto e grave pericolo per il personale che vi opera. Il controllo del tempo di ciclo, che nella letteratura tecnica specializzata trovate anche col nome di watch-dog, evita proprio questo problema.

Anche PC-Sim controlla che il vostro programma non generi un ciclo chiuso ma, in questo caso, i molteplici e mutabili compiti di un PC, impongono tempi più lunghi per la rilevazione del problema, dell’ordine di qualche secondo.

Programmazione strutturata

Il programma per questo PLC può essere redatto dividendone il contenuto in più parti. Ognuna di queste prende il nome di blocco. Esistono blocchi organizzativi (OB), funzioni (FC) e blocchi dati (DB). I diversi blocchi possono essere richiamati l’uno dall’altro utilizzando le operazioni di chiamata o di apertura che saranno trattate nel paragrafo dedicato alla descrizione delle operazioni. Un programma scritto secondo questo criterio prende il nome di programma strutturato.

L’operazione di divisione del programma in blocchi, cioè la sua strutturazione, non è indispensabile: il programma può essere tranquillamente redatto in un unico blocco e funzionare perfettamente. Questo è quanto faremo all’inizio della nostra pratica con il PLC. Nel capitolo seguente sono riportati una serie di programmi la maggioranza dei quali, i più semplici, sono scritti in un unico blocco. Ma, quando i programmi diventano lunghi, la suddivisione può assumere diversi vantaggi:

• Accorpamento di parti identiche di codice in un blocco e richiamo di questo da dove necessario. Del tutto simile alla scrittura di sottoprogrammi in linguaggi di programmazione evoluti per PC.

• Trasportabilità di blocchi con funzioni specifiche da un progetto all’altro.

• Aumento della leggibilità del programma e, quindi, della semplicità di manutenzione successiva.

In questa sezione verranno descritti i diversi tipi di blocchi, le loro peculiarità e le loro funzioni. La Tabella 31 riassume le caratteristiche principali dei diversi tipi di blocco.

Tabella 31: riepilogo tipi di blocchi

OB FC DB

Numero 0…255 0…255 2…255

Lunghezza max 256 byte

Programmazione Ladder e AWL Ladder e AWL Dati

Blocchi Organizzativi (OB)

I blocchi organizzativi rappresentano l’interfaccia tra il sistema operativo ed il programma utente. Sono cioè blocchi che l’utente può programmare ma che normalmente vengono chiamati da sistema operativo ciclicamente o a seguito del verificarsi di specifiche condizioni. Essi possono essere programmati in ladder o in AWL. Di seguito elenchiamo i blocchi organizzativi che il sistema operativo del PLC simulato chiama e le condizioni per cui tale chiamata si verifica.

OB1 Elaborazione ciclica del programma

Il blocco organizzativo OB1 è richiamato ciclicamente da sistema operativo subito dopo l’aggiornamento dell’immagine di processo degli ingressi. Ogni programma dovrà contenere questo blocco ed esso potrà contenere, eventualmente, richiami di altri blocchi. Se intendete scrivere tutto il programma in un unico blocco è proprio l’OB1 che dovrete programmare.

Note sulla programmazione del PLC S7 300 13-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

OB100 Nuovo avviamento (Stop → Run)

All’inserimento del selettore del modo di funzionamento Stop-Run (passaggio in Run) vengono cancellati l’immagine di processo, i temporizzatori, i contatori non ritentivi ed i merker non ritentivi, quindi viene elaborato, se programmato, il blocco OB101. Successivamente verrà eseguito il normale programma ciclico (richiamo dell’OB1). Durante l’elaborazione dell’OB101 il LED rosso STOP e quello verde di RUN sono accesi contemporaneamente.

Questo blocco può essere utilizzato per le impostazioni iniziali che eventuali merker debbano assumere al riavviamento della CPU.

OB81 Fuori servizio batteria

La CPU del PLC simulato controlla continuamente lo stato della batteria. Quando la batteria viene disinserita (non è possibile simulare in senso stretto che la batteria si scarichi) viene elaborato prima di ogni ciclo, se programmato, l’OB81. In esso è possibile scrivere la reazione che il programma utente deve avere in caso di batteria fuori servizio.

L’OB81 continuerà ad essere elaborato, prima di ogni ciclo, fino al reinserimento della batteria tampone.

La funzione della batteria nel PLC reale è quella di mantenere il programma in RAM quando la CPU non è alimentata e di mantenere, nelle stesse condizioni, il valore dei merker e dei contatori ritentivi. Nella simulazione è stato riproposto un analogo comportamento perché lo si è ritenuto importante dal punto di vista didattico.

Funzioni (FC)

Sono blocchi che rappresentano parti compiute di programma. Affinché siano eseguiti essi dovranno essere richiamati da altri blocchi con operazioni UC, CC o CALL.

Le funzioni sono parametrizzabili, ossia ad esse possono essere passati dei parametri dal blocco chiamante. Per le istruzioni che ne fanno uso, i parametri verranno sostituiti agli operandi formali nel blocco chiamato. Il massimo numero di parametri per blocco è di 40. Ogni parametro deve essere dichiarato nell’apposita griglia dell’editor AWL specificandone il nome, la dichiarazione ed il tipo. I parametri nelle istruzioni CALL FC devono corrispondere per tipo e numero a quelli attesi.

La Tabella 32 riassume i possibili parametri e gli operandi attuali corrispondenti.

Tabella 32: Dichiarazione e tipo dei parametri per funzione e operandi attuali ammessi

Dichiarazione Tipo Operandi attuali

BOOL Costanti, E, A, M, DBX, T, Z

BYTE EB, AB, MB, DBB

WORD EW, AW, MW, DBW In

DWORD ED, AD, MD, DBD

BOOL E, A, M, DBX

BYTE EB, AB, MB, DBB

WORD EW, AW, MW, DBW Out

DWORD ED, AD, MD, DBD

BOOL E, A, M, DBX

BYTE EB, AB, MB, DBB

WORD EW, AW, MW, DBW In_out

DWORD ED, AD, MD, DBD

13-12 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Blocchi Dati (DB)

In questi blocchi possono essere immagazzinati dati che serviranno nell’elaborazione del programma utente. I blocchi dati sono strutturati in byte, a partire dal numero 0 fino al numero 255, al massimo. L’accesso ai dati può essere effettuato con operazioni di lettura e scrittura a byte (DBB), a word (DBW) ed a doppia word (DBD) oppure di test e memorizzazione di bit (DBX).

E' necessaria l'apertura del blocco mediante l'istruzione AUF (es. AUF DB20), prima di accedere ai dati in esso contenuti in modo diretto (es. L DBB6). Altrimenti è possibile accedere ai dati di un blocco non aperto specificando prima del dato il blocco di appartenenza (es. L DB20.DBB6).

Operazioni di accesso a dati oltre la lunghezza del blocco provocano errore di esecuzione e portano la CPU in Stop.

Note sulla programmazione del PLC S7 300 13-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Programmazione in AWL

La modalità di programmazione AWL o Lista istruzioni costituisce una delle due metodologie di implementazione di programmi utente in questo PLC. Essa consiste nella scrittura consecutiva di istruzioni; ognuna di queste costituisce la più piccola unità di programma e rappresenta un compito elementare per la CPU nella elaborazione del programma utente.

Istruzioni

Ogni istruzione AWL è composta da una operazione e, dove necessario, da un operando. Di questi ultimi abbiamo già parlato nel paragrafo dedicato all’indirizzamento. Nei paragrafi seguenti forniamo, invece, una descrizione dettagliata delle operazioni raggruppate per tipologia ed elencate in rappresentazione Simatic. In parentesi quadre, dove differenti, vengono riportate le equivalenti operazioni in rappresentazione internazionale. Viene infine fornita, per comodità di consultazione da parte del programmatore, una tabella riepilogativa delle operazioni.

Registri

Per l’esecuzione del programma utente la CPU utilizza diversi registri allo scopo di memorizzare risultati intermedi di calcolo e/o valutare se eseguire o meno certe operazioni. Forniamo di seguito l’elenco e la descrizione di questi registri.

RLC

E’ un registro ad 1 bit che viene utilizzato come memoria di lavoro nell’elaborazione del programma utente. In esso vengono depositati i risultati delle operazioni logiche su bit o delle operazioni di test sullo stato e da esso vengono prelevati i valori per le operazioni di memorizzazione.

Accumulatori

Sono due registri a 32 bit denotati con le sigle ACCU1 ed ACCU2. In ACCU1 vengono depositati i valori letti con operazioni di caricamento, ottenuti da operazioni logiche su word, matematiche e di conversione, e da esso viene prelevato il valore da ricopiare nelle operazioni di trasferimento e di impostazione di temporizzatori e contatori. ACCU2 serve come registro ausiliario ad ACCU1 nelle operazioni logiche su parola, di confronto e matematiche.

Indicatori

La CPU utilizza infine tre registri ad un bit (indicatori):

• A0

• A1

• OV

Essi vengono influenzati da operazioni di confronto, calcolo, scorrimento e conversione e vengono testati dalle operazioni di salto. In particolare il bit OV viene portato a 1 i presenza di overflow.

Vedere la Tabella 38 per informazioni sull’influenza delle operazioni sugli indicatori A0 ed A1.

13-14 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazioni sugli accumulatori

TAK (Scambio accumulatori)

I contenuti di ACCU1 ed ACCU2 vengono scambiati.

Operandi ammessi: nessuno

INC (Incremento)

Il contenuto del byte basso della parola bassa di ACCU1 viene incrementato della quantità specificata dall’operando. I restanti byte non subiscono modifiche, viene trascurato anche l’eventuale riporto.

Operandi ammessi: numero da 0 a 255

DEC (Decremento)

Il contenuto del byte basso della parola bassa di ACCU1 viene decrementato della quantità specificata dall’operando. I restanti byte non subiscono modifiche, viene trascurato anche l’eventuale prestito.

Operandi ammessi: numero da 0 a 255

NOP0 (Operazione nulla)

L’operazione è ignorata. Nessuna azione viene intrapresa.

Operandi ammessi: nessuno

NOP1 (Operazione nulla)

L’operazione è ignorata. Nessuna azione viene intrapresa.

Operandi ammessi: nessuno

Operazioni logiche a bit

U [A] (And o test sullo stato 1)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la AND tra il contenuto di RLC e lo stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, lo stato dell’operando viene copiato in RLC.

Consultare la Tabella 37 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, DBX, T, Z.

UN [AN] (And Not o test sullo stato 0)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la AND tra il contenuto di RLC e il complemento dello stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, il complemento dello stato dell’operando viene copiato in RLC.

Consultare la Tabella 37 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, DBX, T, Z.

Note sulla programmazione del PLC S7 300 13-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

O (Or o test sullo stato 1)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la OR tra il contenuto di RLC e lo stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, lo stato dell’operando viene copiato in RLC.

Consultare la Tabella 37 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, DBX, T, Z.

ON (Or Not o test sullo stato 0)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue la OR tra il contenuto di RLC e il complemento dello stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, il complemento dello stato dell’operando viene copiato in RLC.

Consultare la Tabella 37 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, DBX, T, Z.

X (Xor o test sullo stato 1)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue l’OR esclusivo tra il contenuto di RLC e lo stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, lo stato dell’operando viene copiato in RLC.

Consultare la Tabella 37 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, DBX, T, Z.

XN (Xor Not o test sullo stato 0)

Se l’istruzione non è la prima di una sequenza, cioè se l’istruzione precedente non è RLC limitante, esegue l’OR esclusivo tra il contenuto di RLC e il complemento dello stato dell’operando specificato e pone il risultato in RLC.

Se l’istruzione è la prima di una sequenza, cioè se l’istruzione precedente è RLC limitante, il complemento dello stato dell’operando viene copiato in RLC.

Consultare la Tabella 37 per conoscere quali operazioni sono RLC limitanti.

Operandi ammessi: E, A, M, DBX, T, Z.

O (Or di AND)

Il risultato logico combinatorio RLC attuale viene accantonato per essere messo in OR con l’RLC corrente alla prima operazione RLC limitante. Il risultato viene depositato in RLC.

Operandi ammessi: nessuno

U( [A(] (Apertura di parentesi in combinazione And)

L’RLC corrente viene accantonato per essere ripreso alla chiusura della parentesi e messo in AND con l’RLC risultante dal calcolo dell’espressione entro parentesi.

Operandi ammessi: nessuno

13-16 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

UN( [AN(] (Apertura di parentesi in combinazione And Not)

L’RLC corrente viene accantonato per essere ripreso alla chiusura della parentesi e messo in AND con il complemento dell’RLC risultante dal calcolo dell’espressione entro parentesi.

Operandi ammessi: nessuno

O( (Apertura di parentesi in combinazione Or)

L’RLC corrente viene accantonato per essere ripreso alla chiusura della parentesi e messo in OR con l’RLC risultante dal calcolo dell’espressione entro parentesi.

Operandi ammessi: nessuno

ON( (Apertura di parentesi in combinazione Or Not)

L’RLC corrente viene accantonato per essere ripreso alla chiusura della parentesi e messo in OR con il complemento dell’RLC risultante dal calcolo dell’espressione entro parentesi.

Operandi ammessi: nessuno

X( (Apertura di parentesi in combinazione Xor)

L’RLC corrente viene accantonato per essere ripreso alla chiusura della parentesi e messo in OR esclusivo con l’RLC risultante dal calcolo dell’espressione entro parentesi.

Operandi ammessi: nessuno

XN( (Apertura di parentesi in combinazione Xor Not)

L’RLC corrente viene accantonato per essere ripreso alla chiusura della parentesi e messo in XOR con il complemento dell’RLC risultante dal calcolo dell’espressione entro parentesi.

Operandi ammessi: nessuno

) (Chiusura di parentesi)

Indica la fine di un’espressione entro parentesi. L’RLC accantonato con un’operazione di apertura parentesi viene recuperato e messo in AND, OR o in XOR con l’RLC attuale, a seconda che l’operazione che ha dato inizio all’espressione entro parentesi sia una U(, una O( oppure una XO(. Il risultato viene depositato in RLC.

Operandi ammessi: nessuno

FP (Fronte di salita)

Confronta lo stato di RLC prima dell’esecuzione dell’operazione con lo stato dell’operando. Attiva RLC se il primo è 1 ed il secondo è 0, quindi memorizza RLC nell’operando. In questo modo l’operazione consente di rilevare il fronte di salita di un segnale. Per dettagli vedere l’esempio “Rilevazione fronti” proposto nel capitolo successivo.

Operandi ammessi: M, DBX

FN (Fronte di discesa)

Confronta lo stato di RLC prima dell’esecuzione dell’operazione con lo stato dell’operando. Attiva RLC se il primo è 0 ed il secondo è 1, quindi memorizza RLC nell’operando. In questo modo l’operazione consente di rilevare il fronte di discesa di un segnale. Per dettagli vedere l’esempio “Rilevazione fronti” proposto nel capitolo successivo.

Operandi ammessi: M, DBX

Note sulla programmazione del PLC S7 300 13-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

NOT

Lo stato di RLC viene negato.

SET

Lo stato di RLC viene impostato incondizionatamente a 1.

CLR

Lo stato di RLC viene resettato incondizionatamente a 0.

S (Set)

Se RLC=1, l’operando viene impostato ad 1. Se RLC=0, l’operando non viene modificato. L’operazione limita l’RLC, cioè costituisce un’operazione di chiusura di sequenza e la successiva operazione logica U, O, XO, UN, ON o XON verrà interpretata come un test sullo stato dell’operando.

Operandi ammessi: E, A, M, DBX

R (Reset)

Se RLC=1, l’operando viene resettato ad 0. Se RLC=0 l’operando non viene modificato. L’operazione limita l’RLC, cioè costituisce un’operazione di chiusura di sequenza e la successiva operazione logica U, O, XO, UN, ON o XON verrà interpretata come un test sullo stato dell’operando.

Operandi ammessi: E, A, M, DBX

= (Assegnazione)

Il valore di RLC viene copiato nell’operando. L’operazione limita l’RLC, cioè costituisce un’operazione di chiusura di sequenza e la successiva operazione logica U, O, XO, UN, ON o XON verrà interpretata come un test sullo stato dell’operando.

Operandi ammessi: E, A, M, DBX

Operazioni di caricamento e trasferimento

L (Caricamento)

Con le operazioni di caricamento è possibile ricopiare nel registro ACCU1 il valore di operandi a byte, a word ed a doppia word. Prima di ogni caricamento, il contenuto di ACCU1 viene trasferito in ACCU2.

Per operazioni di caricamento di byte, il valore dell’operando viene ricopiato nel byte basso della parola bassa di ACCU1; gli altri byte di ACCU1 vengono azzerati.

Per operazioni di caricamento di word, il valore dell’operando viene ricopiato nella parola bassa di ACCU1; la parola alta viene azzerata.

Per operazioni di caricamento di temporizzatori o contatori, il valore di tempo o di conteggio attuale viene caricato nella parte bassa di ACCU1 in codifica naturale.

Operandi ammessi: Costanti, EB, EW, ED, AB, AW, AD, MB, MW, MD, DBB, DBW, DBD, T, Z

LC (Caricamento BCD)

Con questa operazione, il valore di tempo o di conteggio, codificato BCD, dell’operando specificato viene caricato nella parola bassa di ACCU1. Prima del caricamento il contenuto di ACCU1 viene trasferito in ACCU2.

13-18 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operandi ammessi: T, Z

T (Trasferimento)

Con le operazioni di trasferimento è possibile ricopiare in operandi a byte, a word ed a doppia word il contenuto del registro ACCU1. L’esecuzione dell'operazione non modifica i contenuti di ACCU1 e ACCU2.

Per operazioni di trasferimento di byte, viene ricopiato solo il byte basso della parola bassa di ACCU1.

Per operazioni di trasferimento di word, viene ricopiato solo la parola bassa di ACCU1.

Operandi ammessi: EB, EW, ED, AB, AW, AD, MB, MW, MD, DBB, DBW, DBD

Operazioni di temporizzazione

Premettiamo alla descrizione delle operazioni di temporizzazione alcuni chiarimenti riguardo alla codifica dei tempi.

Quando si avvia un temporizzatore con una delle operazioni illustrate più avanti, il valore della parola bassa di ACCU1 verrà utilizzato per l’impostazione del tempo come mostrato nel seguente schema.

Tabella 33: Codifica valori di tempo per S7 300

Bit di ACCU1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Codifica B1 B0 T11 T10 T9 T8 T7 T6 T5 T4 T3 T2 T1 T0

I bit 13 e 12 determinano la base tempi; i bit da 0 ad 11, in codifica BCD, determinano il numero di intervalli di detta base che costituiscono la durata della temporizzazione. I bit 14 e 15 vengono trascurati.

La base è codificata nel modo specificato nella tabella seguente.

Tabella 34: Codifica dei valori di base tempo per S7 300

B1 B0 Valore Base

0 0 0 0.01s

0 1 1 0.1s

1 0 2 1s

1 1 3 10s

Quindi, il più piccolo tempo rappresentabile è 1 centesimo di secondo, un intervallo con base da un centesimo di secondo; il più grande è 9990 secondi, 999 intervalli da 10 secondi: quasi 3 ore.

Se, ad esempio, si desidera avviare un temporizzatore da 350s occorrerà caricare in ACCU1 il valore (0010_0011_0101_0000)2, o l’equivalente esadecimale (2350)16, con un’istruzione L W#16#2350.

L’errore massimo che si commette in una temporizzazione è pari ad un intervallo della base tempi utilizzata; quindi, quando possibile, è sempre conveniente utilizzare la rappresentazione con la base più piccola. Dovendo avviare un temporizzatore da 9 secondi, è quindi preferibile il caricamento di una costante che esprima detto tempo come 900 intervalli da un centesimo (W#16#0900), piuttosto che 90 da un decimo (W#16#1090) o, peggio ancora, 9 intervalli da un secondo (W#16#2009).

Una seconda possibilità di impostazione di tempo, più comoda, è offerta con il caricamento di costante tipo S5TIME. Tale costante ha il formato S5TIME#aH_bbM_ccS_dddMS; dove ‘a’ rappresenta il numero delle ore (H), ‘bb’ il numero dei minuti (M), ‘cc’ il numero dei secondi (S) e ‘ddd’ il numero dei millisecondi (MS) del tempo da impostare. La base tempo ed il numero degli intervalli in detta base che approssimano il tempo impostato, vengono calcolati automaticamente dal compilatore del linguaggio.

Note sulla programmazione del PLC S7 300 13-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Nell’esempio precedente, l’istruzione da utilizzare per il caricamento di una costante di tempo da 350s sarebbe L S5TIME#5M_50S; dopo l’operazione di caricamento il contenuto della parola bassa dell’accumulatore 1 sarà ancora una volta (2350)16.

SI [SP] (Impulso)

Attivazione di un temporizzatore ad impulso. La temporizzazione viene attivata sul fronte di salita di RLC con il tempo codificato specificato nella parola bassa di ACCU1. Il tempo continua a scorrere fintanto che RLC=1. Se RLC diventa 0, il tempo viene impostato su 0.

Lo stato del temporizzatore è alto per tutto lo scorrere del tempo.

Operandi ammessi: T

Figura 57: Temporizzatore ad impulso per S7 300

SV [SE] (Impulso prolungato)

Attivazione di un temporizzatore ad impulso prolungato. La temporizzazione viene attivata sul fronte di salita di RLC con il tempo codificato specificato nella parola bassa di ACCU1. Lo stato di RLC non influenza ulteriormente la temporizzazione.

Lo stato del temporizzatore è alto per tutto lo scorrere del tempo.

Operandi ammessi: T

Figura 58:Temporizzatore ad impulso prolungato per S7 300

SE [SD] (Ritardo all’eccitazione)

Attivazione di un temporizzatore con ritardo all’eccitazione. La temporizzazione viene attivata in corrispondenza del fronte di salita di RLC con il tempo codificato specificato nella parola bassa di ACCU1. Se RLC diventa 0, il tempo viene impostato su 0.

13-20 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Lo stato del temporizzatore è alto quando il tempo è trascorso e RLC si trova ancora allo stato alto.

Operandi ammessi: T

Figura 59: Temporizzatore con ritardo all’eccitazione per S7 300

SS (Ritardo all’eccitazione con memoria)

Attivazione di un temporizzatore con ritardo all’eccitazione con memoria. La temporizzazione viene attivata in corrispondenza del fronte di salita di RLC con il tempo codificato specificato nella parola bassa di ACCU1. Se RLC diventa 0, il tempo non viene influenzato.

Lo stato del temporizzatore è alto quando il tempo è trascorso. Esso ritorna allo stato basso solo dopo un reset del temporizzatore con operazione R.

Operandi ammessi: T

Figura 60:Temporizzatore con ritardo all’eccitazione con memoria per S7 300

SA [SF] (Ritardo alla diseccitazione)

Attivazione di un temporizzatore con ritardo alla diseccitazione. La temporizzazione viene attivata in corrispondenza del fronte di discesa di RLC con il tempo codificato specificato nella parola bassa di ACCU1. Se RLC diventa 1, il tempo viene reimpostato al valore iniziale.

Lo stato del temporizzatore è alto quando RLC = 1 oppure quando il tempo sta scorrendo.

Operandi ammessi: T

Figura 61: Temporizzatore con ritardo alla diseccitazione per S7 300

Note sulla programmazione del PLC S7 300 13-21

Autoware srl AW-SYS – software di simulazione di PLC e impianti

R (Reset di un temporizzatore)

Se RLC=1, il tempo viene azzerato. Se RLC=0, l’operazione viene ignorata.

Operandi ammessi: T

Operazioni di conteggio

Premettiamo alla descrizione delle operazioni alcuni chiarimenti riguardo alla codifica dei valori per l’impostazione dei contatori.

Quando si imposta un contatore, occorre specificarne il valore preset in ACCU1 come mostrato nel seguente schema.

Tabella 35: Codifica valori di conteggio per S7 300

Bit di ACCU1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Codifica X X X X C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0

I bit da 0 ad 11, in codifica BCD, rappresentano il valore iniziale del conteggio che potrà quindi essere compreso tra 0 e 999. I bit da 12 a 15 non sono significativi.

Il valore potrà essere caricato in ACCU1 con una istruzione di caricamento di costante esadecimale, binaria o di conteggio. Ad esempio, le istruzioni L W#16#0050, L 2#0000_0000_0101_0000 e L Z#50 caricano tutte in ACCU1 il valore 50 codificato BCD.

S (Set di un contatore)

Il conteggio viene impostato al valore in ACCU1 in corrispondenza del fronte di salita di RLC.

Lo stato del contatore va alto se il valore di conteggio impostato è diverso da 0.

Operandi ammessi: Z

R (Reset di un contatore)

Fintanto che RLC = 1, il valore di conteggio viene impostato a 0 e lo stato del contatore va basso.

Operandi ammessi: Z

ZV [CU] (Conteggio in avanti)

Il valore di conteggio viene incrementato di 1 in corrispondenza del fronte di salita di RLC.

Lo stato del contatore va o rimane alto.

Operandi ammessi: Z

ZR [CD] (Conteggio indietro)

Il valore di conteggio viene decrementato di 1 in corrispondenza del fronte di salita di RLC.

Lo stato del contatore va basso se il valore di conteggio diventa 0.

Operandi ammessi: Z

Operazioni matematiche con numeri interi

+ (Addizione di intero)

Con operando a 16 bit, somma il contenuto della parola bassa di ACCU1 con la costante specificata. Il contenuto di ACCU2 e la parola alta di ACCU1 rimangono inalterati. La parola alta di ACCU1 non subisce modifiche.

13-22 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Con operando a 32 bit, somma il contenuto di ACCU1 con la costante specificata e deposita il risultato in ACCU1.

In entrambe i casi, il contenuto di ACCU2 rimane inalterato. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: costanti a 16 o 32 bit

+I (Addizione a 16 bit)

Le parole basse di ACCU2 ed ACCU1 vengono sommate come numeri a 16 bit con segno. Il risultato viene memorizzato nella parola bassa di ACCU1. Il contenuto di ACCU2 e la parola alta di ACCU1 rimangono inalterati. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: nessuno

-I (Sottrazione a 16 bit)

La parola bassa di ACCU1 viene sottratta dalla parola bassa ACCU2. I valori vengono interpretati come numeri a 16 bit con segno. Il risultato viene memorizzato nella parola bassa ACCU1. Il contenuto di ACCU2 e la parola alta di ACCU1 rimangono inalterati. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: nessuno

*I (Moltiplicazione a 16 bit)

La parola bassa di ACCU1 viene moltiplicata per la parola bassa ACCU2. I valori vengono interpretati come numeri a 16 bit con segno. Il risultato viene memorizzato in ACCU1 su 32 bit. Il contenuto di ACCU2 rimane inalterato. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: nessuno

/I (Divisione a 16 bit)

La parola bassa di ACCU2 viene divisa per la parola bassa ACCU1. I valori vengono interpretati come numeri a 16 bit con segno. Il quoziente viene memorizzato nella parola bassa di ACCU1; il resto viene memorizzato nella parola alta di ACCU1. Il contenuto di ACCU2 rimane inalterato. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: nessuno

+D (Addizione a 32 bit)

I contenuti di ACCU2 ed ACCU1 vengono sommati come numeri a 32 bit con segno. Il risultato viene memorizzato nella parola bassa in ACCU1. Il contenuto di ACCU2 rimane inalterato. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: nessuno

-D (Sottrazione a 32 bit)

Il contenuto di ACCU1 viene sottratto dal contenuto di ACCU2. I valori vengono interpretati come numeri a 32 bit con segno. Il risultato viene memorizzato in ACCU1. Il contenuto di ACCU2 rimane inalterato. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: nessuno

Note sulla programmazione del PLC S7 300 13-23

Autoware srl AW-SYS – software di simulazione di PLC e impianti

*D (Moltiplicazione a 32 bit)

Il contenuto di ACCU1 viene moltiplicato per il contenuto di ACCU2. I valori vengono interpretati come numeri a 32 bit con segno. Il risultato viene memorizzato in ACCU1 su 32 bit. Il contenuto di ACCU2 rimane inalterato. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: nessuno

/D (Divisione a 32 bit)

Il contenuto di ACCU2 viene diviso per il contenuto di ACCU1. I valori vengono interpretati come numeri a 32 bit con segno. Il risultato viene memorizzato in ACCU1. Il contenuto di ACCU2 rimane inalterato. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: nessuno

MOD (Modulo)

Il contenuto di ACCU2 viene diviso per il contenuto di ACCU1. I valori vengono interpretati come numeri a 32 bit con segno. Il resto viene memorizzato in ACCU1. Il contenuto di ACCU2 rimane inalterato. Vengono influenzati i bit di stato A1, A0 e OV.

Operandi ammessi: nessuno

Operazioni di confronto

==I (Confronto su uguale a 16 bit)

Se la parola bassa di ACCU2 è uguale alla parola bassa di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

><I (Confronto su diverso a 16 bit)

Se la parola bassa di ACCU2 è diversa dalla parola bassa di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

>I (Confronto su maggiore a 16 bit)

Se la parola bassa di ACCU2 è maggiore della parola bassa di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

>=I (Confronto su maggiore o uguale a 16 bit)

Se la parola bassa di ACCU2 è maggiore o uguale alla parola bassa di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

<I (Confronto su minore a 16 bit)

Se la parola bassa di ACCU2 è minore della parola bassa di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

13-24 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

<=I (Confronto su minore o uguale a 16 bit)

Se la parola bassa di ACCU2 è minore o uguale alla parola bassa di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

==D (Confronto su uguale a 32 bit)

Se il contenuto di ACCU2 è uguale al contenuto di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

><D (Confronto su diverso a 32 bit)

Se il contenuto di ACCU2 è diverso dal contenuto di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

>D (Confronto su maggiore a 32 bit)

Se il contenuto di ACCU2 è maggiore del contenuto di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

>=D (Confronto su maggiore o uguale a 32 bit)

Se il contenuto di ACCU2 è maggiore o uguale al contenuto di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

<D (Confronto su minore a 32 bit)

Se il contenuto di ACCU2 è minore del contenuto di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

<=D (Confronto su minore o uguale a 32 bit)

Se il contenuto di ACCU2 è minore o uguale al contenuto di ACCU1, l’RLC viene impostato ad 1, altrimenti viene portato a 0. I bit di stato A1 e A0 vengono influenzati.

Operandi ammessi: nessuno

Operazioni di conversione

INVI (Complemento a 1 a 16 bit)

Il contenuto della parola bassa di ACCU1 viene trasformato nel suo complemento ad 1, cioè ogni bit viene invertito. La parola alta non viene modificata.

Operandi ammessi: nessuno

Note sulla programmazione del PLC S7 300 13-25

Autoware srl AW-SYS – software di simulazione di PLC e impianti

NEGI (Complemento a 2 a 16 bit)

Il contenuto della parola bassa di ACCU1 viene trasformato nel suo complemento ad 2, cioè prima viene invertito ogni bit e successivamente all’insieme viene sommato +1. La parola alta non viene modificata.

I bit di stato A1 e A0 vengono influenzati. Il bit di overflow viene impostato solo nel caso in cui la parola bassa di ACCU1 prima dell’esecuzione dell’operazione vale (-32768)10, cioè (8000)16.

Operandi ammessi: nessuno

INVD (Complemento ad 1 a 32 bit)

Il contenuto di ACCU1 viene trasformato nel suo complemento ad 1, cioè ogni bit viene invertito.

Operandi ammessi: nessuno

NEGD (Complemento ad 2 a 32 bit)

Il contenuto di ACCU1 viene trasformato nel suo complemento ad 2, cioè prima viene invertito ogni bit e successivamente all’insieme viene sommato +1.

Il bit di overflow viene impostato solo nel caso in cui la parola bassa di ACCU1 prima dell’esecuzione dell’operazione vale (-2147483648)10, cioè (80000000)16.

Operandi ammessi: nessuno

Operazioni logiche su parola

UW [AW] (And su word)

Esegue la combinazione logica AND bit a bit tra la parola bassa di ACCU1 e la parola bassa di ACCU2. Il risultato viene depositato nella parola bassa di ACCU1. Il contenuto di ACCU2 e la parola alta di ACCU1 rimangono inalterati.

Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Operandi ammessi: nessuno

OW (Or su word)

Esegue la combinazione logica OR bit a bit tra la parola bassa di ACCU1 e la parola bassa di ACCU2. Il risultato viene depositato nella parola bassa di ACCU1. Il contenuto di ACCU2 e la parola alta di ACCU1 rimangono inalterati.

Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Operandi ammessi: nessuno

XOW (Xor su word)

Esegue la combinazione logica OR esclusivo bit a bit tra la parola bassa di ACCU1 e la parola bassa di ACCU2. Il risultato viene depositato nella parola bassa di ACCU1. Il contenuto di ACCU2 e la parola alta di ACCU1 rimangono inalterati.

Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Operandi ammessi: nessuno

13-26 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

UD [AD] (And su doppia word)

Esegue la combinazione logica AND bit a bit tra il contenuto di ACCU1 ed il contenuto di ACCU2. Il risultato viene depositato in ACCU1. Il contenuto di ACCU2 non viene modificato.

Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Operandi ammessi: nessuno

OD (Or su doppia word)

Esegue la combinazione logica OR bit a bit tra il contenuto di ACCU1 ed il contenuto di ACCU2. Il risultato viene depositato in ACCU1. Il contenuto di ACCU2 non viene modificato.

Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Operandi ammessi: nessuno

XOD (Xor su doppia word)

Esegue la combinazione logica OR esclusivo bit a bit tra il contenuto di ACCU1 ed il contenuto di ACCU2. Il risultato viene depositato in ACCU1. Il contenuto di ACCU2 non viene modificato.

Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Operandi ammessi: nessuno

Operazioni di scorrimento e rotazione

SLW (Scorrimento a sinistra su 16 bit)

Scorrimento a sinistra dei bit della parola bassa di ACCU1 del numero di posizioni espresse nell’operando come numero da 0 a 15.

I bit fuoriusciti da sinistra vengono persi, mentre le posizioni liberate a destra vengono riempite con zeri. Il bit fuoriuscito per ultimo viene memorizzato in A1, mentre i bit A0 e OV vengono resettati. Le operazioni di salto che verificano lo stato di A1 possono essere efficacemente utilizzate subito dopo un’operazione di scorrimento.

In caso di operando uguale a 0, nessuno scorrimento viene compiuto e l’istruzione viene sostanzialmente ignorata. In assenza di operando, il numero di posizioni dello scorrimento viene letto nel byte basso della parola bassa di ACCU2. In questo caso, il campo dei valori di scorrimento possibile diviene 0-255 ma, per tutti i valori superiori a 16, l’operazione di scorrimento dà come risultato (0000)16.

Operandi ammessi: numero da 0 a 15 / nessuno

SRW (Scorrimento a destra su 16 bit)

Scorrimento a destra dei bit della parola bassa di ACCU1 del numero di posizioni espresse nell’operando come numero da 0 a 15.

I bit fuoriusciti da destra vengono persi, mentre le posizioni liberate a sinistra vengono riempite con zeri. Il bit fuoriuscito per ultimo viene memorizzato in A1, mentre i bit A0 e OV vengono resettati. Le operazioni di salto che verificano lo stato di A1 possono essere efficacemente utilizzate subito dopo un’operazione di scorrimento.

Note sulla programmazione del PLC S7 300 13-27

Autoware srl AW-SYS – software di simulazione di PLC e impianti

In caso di operando uguale a 0, nessuno scorrimento viene compiuto e l’istruzione viene sostanzialmente ignorata. In assenza di operando, il numero di posizioni dello scorrimento viene letto nel byte basso della parola bassa di ACCU2. In questo caso, il campo dei valori di scorrimento possibile diviene 0-255 ma, per tutti i valori superiori a 16, l’operazione di scorrimento dà come risultato (0000)16.

Operandi ammessi: numero da 0 a 15 / nessuno

SLD (Scorrimento a sinistra su 32 bit)

Scorrimento a sinistra dei bit di ACCU1 del numero di posizioni espresse nell’operando come numero da 0 a 32.

I bit fuoriusciti da sinistra vengono persi, mentre le posizioni liberate a destra vengono riempite con zeri. Il bit fuoriuscito per ultimo viene memorizzato in A1, mentre i bit A0 e OV vengono resettati a 0. Le operazioni di salto che verificano lo stato di A1 potranno essere utilmente utilizzate subito dopo un’operazione di scorrimento.

In caso di operando uguale a 0, nessuno scorrimento viene compiuto e l’istruzione viene sostanzialmente ignorata. In assenza di operando, il numero di posizioni dello scorrimento viene letto nel byte basso della parola bassa di ACCU2. In questo caso, il campo dei valori di scorrimento possibile diviene 0-255 ma, per tutti i valori superiori a 32, l’operazione di scorrimento dà come risultato (00000000)16.

Operandi ammessi: numero da 0 a 32 / nessuno

SRD (Scorrimento a destra su 32 bit)

Scorrimento a destra dei bit di ACCU1 del numero di posizioni espresse nell’operando come numero da 0 a 32.

I bit fuoriusciti da destra vengono persi, mentre le posizioni liberate a sinistra vengono riempite con zeri. Il bit fuoriuscito per ultimo viene memorizzato in A1, mentre i bit A0 e OV vengono resettati. Le operazioni di salto che verificano lo stato di A1 possono essere efficacemente utilizzate subito dopo un’operazione di scorrimento.

In caso di operando uguale a 0, nessuno scorrimento viene compiuto e l’istruzione viene sostanzialmente ignorata. In assenza di operando, il numero di posizioni dello scorrimento viene letto nel byte basso della parola bassa di ACCU2. In questo caso, il campo dei valori di scorrimento possibile diviene 0-255 ma, per tutti i valori superiori a 32, l’operazione di scorrimento dà come risultato (00000000)16.

Operandi ammessi: numero da 0 a 32 / nessuno

RLD (Rotazione a sinistra su 32 bit)

Rotazione a sinistra dei bit di ACCU1 del numero di posizioni espresse nell’operando come numero da 0 a 32.

I bit fuoriusciti da sinistra vengono reinseriti nelle posizioni liberate a destra. Il bit fuoriuscito per ultimo viene anche memorizzato in A1, mentre i bit A0 e OV vengono resettati. Le operazioni di salto che verificano lo stato di A1 possono essere efficacemente utilizzate subito dopo un’operazione di rotazione.

In caso di operando uguale a 0, nessuno scorrimento viene compiuto e l’istruzione viene sostanzialmente ignorata. In assenza di operando, il numero di posizioni dello scorrimento viene letto nel byte basso della parola bassa di ACCU2. In questo caso, il campo dei valori di scorrimento possibile diviene 0-255.

Operandi ammessi: numero da 0 a 32 / nessuno

RRD (Rotazione a destra su 32 bit)

Rotazione a destra dei bit di ACCU1 del numero di posizioni espresse nell’operando come numero da 0 a 32.

13-28 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

I bit fuoriusciti da destra vengono reinseriti nelle posizioni liberate a sinistra. Il bit fuoriuscito per ultimo viene anche memorizzato in A1, mentre i bit A0 e OV vengono resettati. Le operazioni di salto che verificano lo stato di A1 possono essere efficacemente utilizzate subito dopo un’operazione di rotazione.

In caso di operando uguale a 0, nessuno scorrimento viene compiuto e l’istruzione viene sostanzialmente ignorata. In assenza di operando, il numero di posizioni dello scorrimento viene letto nel byte basso della parola bassa di ACCU2. In questo caso, il campo dei valori di scorrimento possibile diviene 0-255.

Operandi ammessi: numero da 0 a 32 / nessuno

Operazioni per blocchi dati

AUF [OPN] (Apertura di un blocco dati)

Indipendentemente da RLC, il blocco dati specificato come operando diviene il blocco dati attuale, cioè il blocco a cui faranno riferimento tutte le operazioni di lettura e scrittura dati a bit, byte, word e doppia word. Il blocco aperto rimane attivo fino all’apertura di un nuovo blocco. In caso di successivo richiamo di blocco con operazioni UC, CC o CALL il blocco dati eventualmente aperto rimane attivo anche nel blocco richiamato.

Operandi ammessi: DB

Operazioni di salto

SPA [JU] (Salto incondizionato)

L’elaborazione viene proseguita incondizionatamente dall’istruzione identificata dall’etichetta specificata come operando.

Operandi ammessi: etichetta

SPB [JC] (Salto se RLC=1)

Se RLC=1, l’elaborazione prosegue dall’istruzione identificata dall’etichetta specificata come operando.

Se RLC=0, il salto viene ignorato, RLC viene impostato ad 1 e l’elaborazione continua con l’istruzione successiva.

Operandi ammessi: etichetta

SPBN [JCN] (Salto se RLC=0)

Se RLC=0, l’elaborazione prosegue dall’istruzione identificata dall’etichetta specificata come operando.

Se RLC=1, il salto viene ignorato e l’elaborazione continua con l’istruzione successiva.

Operandi ammessi: etichetta

SPO [JO] (Salto su overflow)

Se si è verificato un overflow, bit OV=1, l’elaborazione del programma continua dall’istruzione identificata dall’etichetta specificata come operando; in caso contrario l’elaborazione prosegue con l’istruzione successiva. RLC non viene modificato.

Operandi ammessi: etichetta

SPZ [JZ] (Salto su risultato nullo)

Se A1=0 e A0=0 l’elaborazione del programma continua dall’istruzione identificata dall’etichetta specificata come operando; altrimenti l’elaborazione prosegue con l’istruzione successiva. RLC non viene modificato.

Note sulla programmazione del PLC S7 300 13-29

Autoware srl AW-SYS – software di simulazione di PLC e impianti

La condizione A1=0 e A0=0 indica che il risultato di un’operazione matematica o di conversione è uguale a 0, oppure che ACCU2=ACCU1 per una operazione di confronto, oppure che l’ultimo bit spostato in un’operazione di scorrimento o rotazione è 0, oppure ancora che il risultato di un’operazione logica su parola è uguale a 0. Vedere Tabella 38.

Operandi ammessi: etichetta

SPN [JN] (Salto su risultato non nullo)

Se A1 è diverso da A0 l’elaborazione del programma continua dall’istruzione identificata dall’etichetta specificata come operando; altrimenti l’elaborazione prosegue con l’istruzione successiva. RLC non viene modificato.

La condizione A1≠A0 indica che il risultato di un’operazione matematica o di conversione è diverso da 0, oppure che ACCU2≠ACCU1 per una operazione di confronto. Vedere Tabella 38.

Operandi ammessi: etichetta

SPP [JP] (Salto su risultato positivo)

Se A1=1 e A0=0 l’elaborazione del programma continua dall’istruzione identificata dall’etichetta specificata come operando; altrimenti l’elaborazione prosegue con l’istruzione successiva. RLC non viene modificato.

La condizione A1=1 e A0=0 indica che il risultato di un’operazione matematica o di conversione è maggiore di 0, oppure che ACCU2>ACCU1 per una operazione di confronto, oppure che l’ultimo bit spostato in un’operazione di scorrimento o rotazione è 1, oppure ancora che il risultato di un’operazione logica su parola è diverso da 0. Vedere Tabella 38.

Operandi ammessi: etichetta

SPM [JM] (Salto su risultato negativo)

Se A1=0 e A0=1 l’elaborazione del programma continua dall’istruzione identificata dall’etichetta specificata come operando; altrimenti l’elaborazione prosegue con l’istruzione successiva. RLC non viene modificato.

La condizione A1=0 e A0=1 indica che il risultato di un’operazione matematica o di conversione è minore di 0, oppure che ACCU2<ACCU1 per una operazione di confronto. Vedere Tabella 38.

Operandi ammessi: etichetta

SPMZ [JMZ] (Salto su risultato negativo o nullo)

Se A1=0 l’elaborazione del programma continua dall’istruzione identificata dall’etichetta specificata come operando; altrimenti l’elaborazione prosegue con l’istruzione successiva. RLC non viene modificato.

A1=0 indica che il risultato di un’operazione matematica o di conversione è minore o uguale a 0, oppure che ACCU2≤ACCU1 per una operazione di confronto, oppure che l’ultimo bit spostato in un’operazione di scorrimento o rotazione è 0, oppure ancora che il risultato di un’operazione logica su parola è 0. Vedere Tabella 38.

Operandi ammessi: etichetta

SPPZ [JPZ] (Salto su risultato positivo o nullo)

Se A0=0 l’elaborazione del programma continua dall’istruzione identificata dall’etichetta specificata come operando; altrimenti l’elaborazione prosegue con l’istruzione successiva. RLC non viene modificato.

A0=0 indica che il risultato di un’operazione matematica o di conversione è maggiore o uguale a 0, oppure che ACCU2≥ACCU1 per una operazione di confronto. Vedere Tabella 38.

Operandi ammessi: etichetta

13-30 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazioni di controllo del programma

UC (Richiamo incondizionato di blocco)

Indipendentemente da RLC, l’elaborazione del programma viene fatta proseguire dalla prima istruzione del blocco specificato come operando. A seguito dell’elaborazione di un’istruzione BE, BEB o BEA in quest’ultimo, l’elaborazione torna al blocco chiamante in corrispondenza dell’istruzione successiva. Non è possibile la parametrizzazione.

Operandi ammessi: FC

CC (Richiamo condizionato di blocco)

Se RLC=1, l’elaborazione del programma viene fatta proseguire dalla prima istruzione del blocco specificato come operando. A seguito dell’elaborazione di un’istruzione BE, BEB o BEA in quest’ultimo, l’elaborazione torna al blocco chiamante in corrispondenza dell’istruzione successiva.

Se RLC=0, l’operazione viene ignorata, RLC viene impostato ad 1 e l’elaborazione continua con l’istruzione successiva.

Non è possibile la parametrizzazione.

Operandi ammessi: FC

CALL (Richiamo di blocco con parametri)

Indipendentemente dallo stato di RLC, viene richiamata la funzione specificata come operando. L’elaborazione del programma viene fatta proseguire dalla prima istruzione della funzione. A seguito dell’elaborazione di un’istruzione BE, BEB o BEA in quest’ultima, l’elaborazione torna al blocco chiamante in corrispondenza dell’istruzione successiva.

Racchiusi tra parentesi e separati da punto e virgola, devono essere specificati gli operandi attuali da passare alla funzione che verranno utilizzati all’interno di essa al posto degli operandi formali, secondo la corrispondenza specificata nella tabella parametri della funzione.

Prima del richiamo, lo stato o il valore degli operandi attuali corrispondenti a parametri di “in” e “in_out” viene ricopiato nei corrispondenti operandi formali. Al ritorno dalla funzione, lo stato o il valore degli operandi formali corrispondenti a parametri di “out” e “in_out” viene ricopiato nei corrispondenti operandi attuali.

Operandi ammessi: FC (p1; p2; …)

BE (Fine blocco)

E’ l’istruzione di chiusura, cioè l’ultima, di un blocco. Indipendentemente da RLC, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Il valore di RLC, non modificato, viene riportato nel blocco chiamante. Nel caso dell’OB1, dopo l'elaborazione di questa istruzione, il controllo ritorna al Sistema Operativo del PLC simulato.

Operandi ammessi: nessuno

BEA [BEU] (Fine blocco incondizionata)

Indipendentemente da RLC, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Il valore di RLC, non modificato, viene riportato nel blocco chiamante. Nel caso dell’OB1, dopo l'elaborazione di questa istruzione, il controllo ritorna al Sistema Operativo del PLC simulato. L'operazione BEA, a differenza dell’operazione BE, può essere utilizzata anche all’interno di un blocco.

Operandi ammessi: nessuno

Note sulla programmazione del PLC S7 300 13-31

Autoware srl AW-SYS – software di simulazione di PLC e impianti

BEB [BEC] (Fine blocco condizionata)

Se RLC=1, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Il valore di RLC (1 in questo caso), non modificato, viene riportato nel blocco chiamante. Nel caso dell’OB1, dopo l'elaborazione di questa istruzione, il controllo ritorna al Sistema Operativo del PLC simulato.

Se RLC=0, l’operazione non viene eseguita, RLC viene impostato ad 1 e l’elaborazione continua con l’istruzione successiva.

Operandi ammessi: nessuno

Tabella 36: collegamento tra operazioni ed RLC

RLC Significato Valori Spiegazione

S L’esecuzione dell’operazione dipende dal valore di RLC; per RLC=1 viene eseguita, per RLC=0 non viene eseguita.

S↑ L’esecuzione dell’operazione dipende dal valore di RLC. Essa viene eseguita soltanto in corrispondenza del fronte di salita di RLC.

S↓ L’esecuzione dell’operazione dipende dal valore di RLC. Essa viene eseguita soltanto in corrispondenza del fronte di discesa di RLC.

D Dipendente

N L’esecuzione dell’operazione non dipende dal valore di RLC. Essa viene eseguita sempre.

S L’elaborazione dell’operazione influisce sul valore di RLC. Il nuovo RLC dipenderà dal tipo di operazione, dallo stato dell’operando e dal precedente RLC.

I Influente

N L’elaborazione dell’operazione non influisce sul valore di RLC che rimane quindi inalterato.

1 L’elaborazione dell’istruzione influisce sul valore di RLC che viene posto incondizionatamente a 1.

S L’operazione è limitante nel calcolo di RLC. Quando si incontrerà la prossima operazione RLC influente, il valore di RLC dipenderà soltanto dal tipo di operazione e dallo stato dell’operando, ma non dal precedente valore di RLC.

L Limitante

N L’operazione non è limitante nel calcolo di RLC. Quando si incontrerà la prossima operazione RLC influente, il calcolo del nuovo RLC verrà effettuato in base al tipo di operazione, allo stato dell’operando ed al precedente valore di RLC.

13-32 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Set di operazioni

Le operazioni AWL implementate nel PLC simulato, cioè quelle che il compilatore interno di PC-Sim riconosce e compila correttamente, costituiscono, come abbiamo appena visto, un ampia parte del set di operazioni del corrispondente PLC reale.

La Tabella 37 riporta sinteticamente l’elenco delle operazioni implementate nel PLC simulato In essa, le colonne relative al risultato logico combinatorio (RLC) hanno il significato espresso in Tabella 36.

Le differenze di scrittura tra la notazione Simatic e quella internazionale per la stessa operazione sono evidenziate nelle colonne S ed I.

Tabella 37: Set di operazioni per S7 300

Operazione RLC

Sim. Int. Operandi ammessi

D I L Descrizione

Operazioni sugli accumulatori

TAK N N N Scambia il contenuto di ACCU1 con quello di ACCU2

INC n = 0…255 N N N Incrementa di n il byte basso della parola bassa di ACCU1

DEC n = 0…255 N N N Decrementa di n il byte basso della parola bassa di ACCU1

NOP0 N N N Nessuna operazione

NOP1 N N N Nessuna operazione

Operazioni logiche a bit

U A E, A, M, DBX, T, Z N S N Combinazione AND o test sullo stato “1”

UN AN E, A, M, DBX, T, Z N S N Combinazione AND con negazione operando o test sullo stato “0”

O E, A, M, DBX, T, Z N S N Combinazione OR o test sullo stato “1”

ON E, A, M, DBX, T, Z N S N Combinazione OR con negazione operando o test sullo stato “0”

X E, A, M, DBX, T, Z N S N Combinazione XOR o test sullo stato “1”

XN E, A, M, DBX, T, Z N S N Combinazione XOR con negazione operando o test sullo stato “0”

O N S S Combinazione OR di funzioni AND

U( A( N S S Combinazione AND di espressione tra parentesi

UN( AN( N S S Combinazione AND NOT di espressione tra parentesi

O( N S S Combinazione OR di espressione tra parentesi

ON( N S S Combinazione OR NOT di espressione tra parentesi

X( N S S Combinazione XOR di espressione tra parentesi

XN( N S S Combinazione XOR NOT di espressione tra parentesi

) N S N Fine di un’espressione tra parentesi

FP M, DBX N S N Fronte di salita

FN M, DBX N S N Fronte di discesa

NOT N S N Inverte RLC

SET N 1 N Imposta a 1 RLC

CLR N 0 N Resetta a 0 RLC

Note sulla programmazione del PLC S7 300 13-33

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Operazione RLC

Sim. Int. Operandi ammessi

D I L Descrizione

S E, A, M, DBX S N S Attivazione dell’operando su RLC=1

R E, A, M, DBX S N S Disattivazione dell’operando su RLC=1

= E, A, M, DBX N N S Assegnazione dell’operando al valore di RLC

Operazioni di caricamento e trasferimento

L ±n N N N Caricamento di una costante a 16 bit in ACCU1

L L#±n N N N Caricamento di una costante a 32 bit in ACCU1

L B#16#hh N N N Caricamento di una costante esadecimale a 8 bit in ACCU1

L W#16#hhhh N N N Caricamento di una costante esadecimale a 16 bit in ACCU1

L DW#16#hhhh_hhhh N N N Caricamento di una costante esadecimale a 32 bit in ACCU1

L 2#bbbb_bbbb_bbbb_bbbb

N N N Caricamento di una costante binaria a 16 bit in ACCU1

L 2#bbbb_bbbb_bbbb_bbbb_bbbb_bbbb_bbbb_bbbb

N N N Caricamento di una costante binaria a 32 bit in ACCU1

L S5TIME#aH_bbM_ccS_dddMS

N N N Caricamento di una costante di tempo in ACCU1 espressa in ore, minuti, secondi e millesimi di secondo

L Z#n N N N Caricamento di una costante di conteggio in ACCU1

L EB N N N Caricamento di un byte dell’IPI in ACCU1

L EW N N N Caricamento di una word dell’IPI in ACCU1

L ED N N N Caricamento di una doppia word dell’IPI in ACCU1

L AB N N N Caricamento di un byte dell’IPU in ACCU1

L AW N N N Caricamento di una word dell’IPU in ACCU1

L AD N N N Caricamento di una doppia word dell’IPU in ACCU1

L MB N N N Caricamento di un merker byte in ACCU1

L MW N N N Caricamento di una merker word in ACCU1

L MD N N N Caricamento di una doppia merker word in ACCU1

L DBB N N N Caricamento di un byte di dati in ACCU1

L DBW N N N Caricamento di una data word in ACCU1

L DBD N N N Caricamento di una doppia data word in ACCU1

L T,Z N N N Caricamento di un valore di tempo o di conteggio in ACCU1

LC T,Z N N N Caricamento di un valore di tempo o di conteggio, codificato BCD, in ACCU1

T EB N N N Trasferimento del contenuto di ACCU1 in un byte dell’IPI

T EW N N N Trasferimento del contenuto di ACCU1 in una word dell’IPI

T ED N N N Trasferimento del contenuto di ACCU1 in una doppia word dell’IPI

T AB N N N Trasferimento del contenuto di ACCU1 in un byte dell’IPU

13-34 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazione RLC

Sim. Int. Operandi ammessi

D I L Descrizione

T AW N N N Trasferimento del contenuto di ACCU1 in una word dell’IPU

T AD N N N Trasferimento del contenuto di ACCU1 in una doppia word dell’IPU

T MB N N N Trasferimento del contenuto di ACCU1 in un merker byte

T MW N N N Trasferimento del contenuto di ACCU1 in una merker word

T MD N N N Trasferimento del contenuto di ACCU1 in una doppia merker word

T DBB N N N Trasferimento del contenuto di ACCU1 in un byte di dati

T DBW N N N Trasferimento del contenuto di ACCU1 in una data word

T DBD N N N Trasferimento del contenuto di ACCU1 in una doppia data word

Operazioni di temporizzazione

SI SP T S↑ N S Attivazione di un temporizzatore ad impulso

SV SE T S↑ N S Attivazione di un temporizzatore ad impulso prolungato

SE SD T S↑ N S Attivazione di un temporizzatore con ritardo all’eccitazione

SS T S↑ N S Attivazione di un temporizzatore con ritardo all’eccitazione con memoria

SA SF T S↓ N S Attivazione di un temporizzatore con ritardo alla diseccitazione

R T S N S Reset di un temporizzatore

Operazioni di conteggio

ZV CU Z S↑ N S Incrementa il contatore

ZR CD Z S↑ N S Decrementa il contatore

S Z S↑ N S Impostazione del contatore

R Z S N S Reset del contatore

Operazioni matematiche con numeri interi

+I N N N Somma la parola bassa di ACCU1 alla parola bassa di ACCU2 con risultato nella parola bassa di ACCU1

-I N N N Sottrae la parola bassa di ACCU1 dalla parola bassa di ACCU2 con risultato nella parola bassa di ACCU1

*I N N N Moltiplica la parola bassa di ACCU1 per la parola bassa di ACCU2 con risultato in ACCU1 (32 bit)

/I N N N Divide la parola bassa di ACCU2 per la parola bassa di ACCU1, il risultato viene memorizzato nella parola bassa di ACCU1, il resto nella parola alta di ACCU1.

+D N N N Somma il contenuto di ACCU1 a quello di ACCU2 con risultato in ACCU1

-D N N N Sottrae il contenuto di ACCU1 da quello di ACCU2 con risultato in ACCU1

Note sulla programmazione del PLC S7 300 13-35

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Operazione RLC

Sim. Int. Operandi ammessi

D I L Descrizione

*D N N N Moltiplica il contenuto di ACCU1 quello di ACCU2 con risultato in ACCU1

/D N N N Divide il contenuto di ACCU2 per quello di ACCU1 con risultato in ACCU1

MOD N N N Divide il contenuto di ACCU2 per quello di ACCU1 e memorizza il resto in ACCU1

+ ±n N N N Somma la costante a 16 bit alla parola bassa di ACCU1 e memorizza il risultato in ACCU1

+ L#±n N N N Somma la costante a 32 bit al contenuto di ACCU1 e memorizza il risultato in ACCU1

Operazioni di confronto

==I N S N Verifica se la parola bassa di ACCU2 è uguale alla parola bassa di ACCU2

<>I N S N Verifica se la parola bassa di ACCU2 è diversa dalla parola bassa di ACCU2

>I N S N Verifica se la parola bassa di ACCU2 è maggiore della parola bassa di ACCU2

<I N S N Verifica se la parola bassa di ACCU2 è minore della parola bassa di ACCU2

>=I N S N Verifica se la parola bassa di ACCU2 è maggiore o uguale alla parola bassa di ACCU2

<=I N S N Verifica se la parola bassa di ACCU2 è minore o uguale alla parola bassa di ACCU2

==D N S N Verifica se il contenuto di ACCU2 è uguale al contenuto di ACCU2

<>D N S N Verifica se il contenuto di ACCU2 è diverso dal contenuto di ACCU2

>D N S N Verifica se il contenuto di ACCU2 è maggiore del contenuto di ACCU2

<D N S N Verifica se il contenuto di ACCU2 è minore del contenuto di ACCU2

>=D N S N Verifica se il contenuto di ACCU2 è maggiore o uguale del contenuto di ACCU2

<=D N S N Verifica se il contenuto di ACCU2 è minore o uguale del contenuto di ACCU2

Operazioni di conversione

INVI N N N Esegue il complemento a 1 la parola bassa ACCU1

NEGI N N N Esegue il complemento a 2 la parola bassa di ACCU1

INVD N N N Esegue il complemento a 1 il contenuto di ACCU1

NEGD N N N Esegue il complemento a 2 il contenuto di ACCU1

Operazioni logiche su parola

UW AW N N N Combinazione AND (bit a bit) tra la parola bassa di ACCU1 e quella di ACCU2 con risultato in ACCU1

OW N N N Combinazione OR (bit a bit) tra la parola bassa di ACCU1 e quella di ACCU2 con risultato in ACCU1

13-36 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Operazione RLC

Sim. Int. Operandi ammessi

D I L Descrizione

XOW N N N Combinazione XOR (bit a bit) tra la parola bassa ACCU1 e quella di ACCU2 con risultato in ACCU1

UD AD N N N Combinazione AND (bit a bit) tra ACCU1 e ACCU2 con risultato in ACCU1

OD N N N Combinazione OR (bit a bit) tra ACCU1 e ACCU2 con risultato in ACCU1

XOD N N N Combinazione XOR (bit a bit) tra ACCU1 e ACCU2 con risultato in ACCU1

Operazioni di scorrimento e rotazione

SLW n = 0…15 N N N Scorrimento verso sinistra della parola bassa di ACCU1 per il numero di bit indicato nell’operando. Le posizioni liberate vengono riempite con 0.

SLW N N N Scorrimento verso sinistra della parola bassa di ACCU1 per il numero di bit indicato nel byte basso della parola bassa di ACCU2. Le posizioni liberate vengono riempite con 0.

SRW n = 0…15 N N N Scorrimento verso destra della parola bassa di ACCU1 per il numero di bit indicato nell’operando. Le posizioni liberate vengono riempite con 0.

SRW N N N Scorrimento verso destra della parola bassa di ACCU1 per il numero di bit indicato nel byte basso della parola bassa di ACCU2. Le posizioni liberate vengono riempite con 0.

SLD n = 0…32 N N N Scorrimento verso sinistra del contenuto di ACCU1 per il numero di bit indicato nell’operando. Le posizioni liberate vengono riempite con 0.

SLD N N N Scorrimento verso sinistra del contenuto di ACCU1 per il numero di bit indicato nel byte basso della parola bassa di ACCU2. Le posizioni liberate vengono riempite con 0.

SRD n = 0…15 N N N Scorrimento verso destra del contenuto di ACCU1 per il numero di bit indicato nell’operando. Le posizioni liberate vengono riempite con 0.

SRD N N N Scorrimento verso destra del contenuto di ACCU1 per il numero di bit indicato nel byte basso della parola bassa di ACCU2. Le posizioni liberate vengono riempite con 0.

RLD n = 0…32 N N N Rotazione verso sinistra del contenuto di ACCU1 per il numero di bit indicato nell’operando. Le posizioni liberate vengono riempite con i bit traslati fuori dall’accumulatore.

RLD N N N Rotazione verso sinistra del contenuto di ACCU1 per il numero di bit indicato nel byte basso della parola bassa di ACCU2. Le posizioni liberate vengono riempite con i bit traslati fuori dall’accumulatore.

RRD n = 0…32 N N N Rotazione verso destra del contenuto di ACCU1 per il numero di bit indicato nell’operando. Le posizioni liberate vengono riempite con i bit traslati fuori dall’accumulatore.

Note sulla programmazione del PLC S7 300 13-37

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Operazione RLC

Sim. Int. Operandi ammessi

D I L Descrizione

RRD N N N Rotazione verso destra del contenuto di ACCU1 per il numero di bit indicato nel byte basso della parola bassa di ACCU2. Le posizioni liberate vengono riempite con i bit traslati fuori dall’accumulatore.

Operazioni per blocchi dati

AUF OPN DB N N N Apre il blocco dati specificato come operando

Operazioni di salto

SPA JU Etichetta N N N Salto assoluto all’etichetta

SPB JC Etichetta S 1 S Salto condizionato all’etichetta (se RLC=1)

SPBN JCN Etichetta S 1 S Salto condizionato all’etichetta (se RLC=0)

SPO JO Etichetta N N N Salto per overflow

SPZ JZ Etichetta N N N Salto se risultato nullo

SPN JN Etichetta N N N Salto se risultato non nullo

SPP JP Etichetta N N N Salto se risultato positivo

SPM JM Etichetta N N N Salto se risultato negativo

SPMZ JMZ Etichetta N N N Salto se risultato negativo o nullo

SPPZ JPZ Etichetta N N N Salto se risultato positivo o nullo

Operazioni di controllo del programma

CC FC N N N Richiamo condizionato di un blocco (se RLC=1)

UC FC N N N Richiamo incondizionato di un blocco

CALL FC N N N Richiamo incondizionato di un blocco

BE N N S Fine blocco

BEB BEC S 1 S Fine blocco condizionata

BEA BEU N N S Fine blocco assoluta

Tabella 38: influenza delle operazioni su A1 ed A0

Operazioni Indicatori

Matematiche Logiche Confronto Scorrimento Conversione A1 A0

Risultato=0 Risultato=0 ACCU2=ACCU1 Bit spostato=0 Risultato=0 0 0

Risultato<0 ACCU2<ACCU1 Risultato<0 0 1

Risultato>0 Risultato≠0 ACCU2>ACCU1 Bit spostato=1 Risultato>0 1 0

13-38 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Programmazione in Ladder

Tabella 39: Elementi del ladder per S7 300

Elemento

Simatic Internaz. Descrizione

Operazioni logiche a bit

Contatto normalmente aperto, test sullo stato 1 dell’operando.

Il contatto sullo schema si chiude quando l’operando corrispondente si trova allo stato logico alto. Per esempio, se l’operando è un ingresso digitale del PLC, il contatto è chiuso quando l’ingresso è chiuso e viceversa. Operando: E, A, M, DBX, T, Z

Contatto normalmente chiuso, test sullo stato 0 dell’operando.

Il contatto sullo schema si chiude quando l’operando corrispondente si trova allo stato logico basso. Per esempio, se l’operando è un ingresso digitale del PLC, il contatto è chiuso quando l’ingresso è aperto e viceversa. Operando: E, A, M, DBX, T, Z

Bobina diretta

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico alto. Se la bobina non è attiva, all’operando viene assegnato il valore logico basso. Operando: E, A, M, DBX

Bobina con azione di set

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico alto. Se la bobina non è attiva, nessuna azione è compiuta sullo stato dell’operando. Operando: E, A, M, DBX

Bobina con azione di reset

Se la bobina è attiva, cioè se esiste una catena di contatti chiusi verso la linea sinistra di alimentazione, viene assegnato all’operando il valore logico basso. Se la bobina non è attiva, nessuna azione è compiuta sullo stato dell’operando. Operando: E, A, M, DBX

Rilevamento del fronte di salita

Discrimina una variazione di segnale da 0 a 1 della combinazione di contatti che precede. Se lo stato dell’operando è 0 e la combinazione che precede dà come risultato 1, lo stato di segnale che segue questo elemento è 1. Lo stato della combinazione che precede viene quindi salvato nell’operando. Operando: M, DBX

Note sulla programmazione del PLC S7 300 13-39

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elemento

Simatic Internaz. Descrizione

Rilevamento del fronte di discesa

Discrimina una variazione di segnale da 1 a 0 della combinazione di contatti che precede. Se lo stato dell’operando è 1 e la combinazione che precede dà come risultato 0, lo stato di segnale che segue questo elemento è 1. Lo stato della combinazione che precede viene quindi salvato nell’operando. Operando: M, DBX

Inversione del risultato della combinazione

Inverte il risultato logico della combinazione che lo precede. Operando: nessuno

Incrementa contatore

Incrementa di 1 il valore del contatore specificato come operando in corrispondenza del fronte di salita del segnale. Il valore massimo del conteggio è 999. Operando: Z

Decrementa contatore

Decrementa di 1 il valore del contatore specificato come operando in corrispondenza del fronte di salita del segnale. Il valore minimo del conteggio è 0. Operando: Z

Operazioni di temporizzazione

Temporizzatore a impulso

Ingressi/uscite: S ingresso di avviamento del temporizzatore (E, A, M, DBX, T, Z) TW ingresso per costante di tempo (EW, AW, MW, DBW, costante 16 bit) R ingresso di reset (E, A, M, DBX, T, Z) Q uscita del temporizzatore (E, A, M, DBX, T, Z) DUAL tempo rimanente in binario (EW, AW, MW, DBW) DEZ tempo rimanente in formato BCD (EW, AW, MW, DBW) La temporizzazione viene attivata sul fronte di chiusura verso l’alimentazione dell’ingresso S (vedere Figura 57) con il tempo specificato all’ingresso TW, se l’ingresso viene riaperto il tempo viene azzerato. Lo stato del temporizzatore è alto quando il tempo sta scorrendo e l’ingresso è a potenziale alto. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Quando l’ingresso di reset viene collegato alla linea di alimentazione il tempo viene azzerato e l’uscita si porta a potenziale basso.

Operando: T

Temporizzatore a impulso prolungato

Ingressi/uscite: S ingresso di avviamento del temporizzatore (E, A, M, DBX, T, Z) TW ingresso per costante di tempo (EW, AW, MW, DBW, costante 16 bit) R ingresso di reset (E, A, M, DBX, T, Z) Q uscita del temporizzatore (E, A, M, DBX, T, Z) DUAL tempo rimanente in binario (EW, AW, MW, DBW) DEZ tempo rimanente in formato BCD (EW, AW, MW, DBW) La temporizzazione viene avviata sul fronte di chiusura verso l’alimentazione

13-40 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elemento

Simatic Internaz. Descrizione

dell’ingresso S (vedere Figura 58) con il tempo specificato all’ingresso TW. Lo stato del temporizzatore è alto quando il tempo sta scorrendo. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Quando l’ingresso di reset viene collegato alla linea di alimentazione il tempo viene azzerato e l’uscita si porta a potenziale basso.

Operando: T

Temporizzatore con ritardo all’eccitazione

Ingressi/uscite: S ingresso di avviamento del temporizzatore (E, A, M, DBX, T, Z) TW ingresso per costante di tempo (EW, AW, MW, DBW, costante 16 bit) R ingresso di reset (E, A, M, DBX, T, Z) Q uscita del temporizzatore (E, A, M, DBX, T, Z) DUAL tempo rimanente in binario (EW, AW, MW, DBW) DEZ tempo rimanente in formato BCD (EW, AW, MW, DBW) La temporizzazione viene avviata sul fronte di chiusura verso l’alimentazione dell’ingresso S (vedere Figura 59) con il tempo specificato all’ingresso TW. Lo stato del temporizzatore è alto quando il tempo è trascorso e quando l’ingresso è a potenziale alto. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Quando l’ingresso di reset viene collegato alla linea di alimentazione il tempo viene azzerato e l’uscita si porta a potenziale basso.

Operando: T

Temporizzatore con ritardo all’eccitazione con memoria

Ingressi/uscite: S ingresso di avviamento del temporizzatore (E, A, M, DBX, T, Z) TW ingresso per costante di tempo (EW, AW, MW, DBW, costante 16 bit) R ingresso di reset (E, A, M, DBX, T, Z) Q uscita del temporizzatore (E, A, M, DBX, T, Z) DUAL tempo rimanente in binario (EW, AW, MW, DBW) DEZ tempo rimanente in formato BCD (EW, AW, MW, DBW) La temporizzazione viene avviata sul fronte di chiusura verso l’alimentazione dell’ingresso S (vedere Figura 60) con il tempo specificato all’ingresso TW. Lo stato del temporizzatore è alto quando il tempo è trascorso e rimane in questo stato fino all’attivazione dell’ingresso reset. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando.

Operando: T

Temporizzatore con ritardo alla diseccitazione

Ingressi/uscite: S ingresso di avviamento del temporizzatore (E, A, M, DBX, T, Z) TW ingresso per costante di tempo (EW, AW, MW, DBW, costante 16 bit) R ingresso di reset (E, A, M, DBX, T, Z) Q uscita del temporizzatore (E, A, M, DBX, T, Z) DUAL tempo rimanente in binario (EW, AW, MW, DBW) DEZ tempo rimanente in formato BCD (EW, AW, MW, DBW) La temporizzazione viene avviata sul fronte di apertura verso l’alimentazione dell’ingresso S (vedere Figura 61) con il tempo specificato all’ingresso TW. Lo stato del temporizzatore è alto quando l’ingresso è a potenziale alto o quando il tempo sta

Note sulla programmazione del PLC S7 300 13-41

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elemento

Simatic Internaz. Descrizione

scorrendo. Lo stato è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Quando l’ingresso di reset viene collegato alla linea di alimentazione il tempo viene azzerato e l’uscita si porta a potenziale basso.

Operando: T

Operazioni di conteggio

Contatore avanti/indietro Ingressi/uscite: ZR ingresso conteggio indietro (E, A, M, DBX, T, Z) ZV ingresso conteggio avanti (E, A, M, DBX, T, Z) S ingresso di impostazione (E, A, M, DBX, T, Z) ZW ingresso per costante di conteggio (EW, AW, MW, DBW, costante 16 bit) R ingresso di reset (E, A, M, DBX, T, Z) Q uscita del contatore (E, A, M, DBX) DUAL valore attuale di conteggio in formato binario (EW, AW, MW, DBW) DEZ valore attuale di conteggio in formato BCD (EW, AW, MW, DBW) Sul fronte di salita del segnale all’ingresso ZR il conteggio viene decrementato di 1, sul fronte di salita del segnale all’ingresso ZV il conteggio viene incrementato di 1. Sul fronte di salita del segnale all’ingresso S il conteggio viene impostato al valore specificato all’ingresso ZW. Sullo stato alto del segnale all’ingresso R il conteggio viene azzerato. L’uscita è a potenziale alto se il valore di conteggio è diverso da 0. Lo stato del contatore è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Il valore attuale di conteggio può essere prelevato in binario all’uscita DUAL o in BCD all’uscita DEZ.

Operando: Z

Contatore in avanti Ingressi/uscite: ZV ingresso conteggio avanti (E, A, M, DBX, T, Z) S ingresso di impostazione (E, A, M, DBX, T, Z) ZW ingresso per costante di conteggio (EW, AW, MW, DBW, costante 16 bit) R ingresso di reset (E, A, M, DBX, T, Z) Q uscita del contatore (E, A, M, DBX) DUAL valore attuale di conteggio in formato binario (EW, AW, MW, DBW) DEZ valore attuale di conteggio in formato BCD (EW, AW, MW, DBW) Sul fronte di salita del segnale all’ingresso ZV il conteggio viene incrementato di 1. Sul fronte di salita del segnale all’ingresso S il conteggio viene impostato al valore specificato all’ingresso ZW. Sullo stato alto del segnale all’ingresso R il conteggio viene azzerato. L’uscita è a potenziale alto se il valore di conteggio è diverso da 0. Lo stato del contatore è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Il valore attuale di conteggio può essere prelevato in binario all’uscita DUAL o in BCD all’uscita DEZ.

Operando: Z

13-42 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elemento

Simatic Internaz. Descrizione

Contatore indietro Ingressi/uscite: ZR ingresso conteggio indietro (E, A, M, DBX, T, Z) S ingresso di impostazione (E, A, M, DBX, T, Z) ZW ingresso per costante di conteggio (EW, AW, MW, DBW, costante 16 bit) R ingresso di reset (E, A, M, DBX, T, Z) Q uscita del contatore (E, A, M, DBX) DUAL valore attuale di conteggio in formato binario (EW, AW, MW, DBW) DEZ valore attuale di conteggio in formato BCD (EW, AW, MW, DBW) Sul fronte di salita del segnale all’ingresso ZR il conteggio viene decrementato di 1. Sul fronte di salita del segnale all’ingresso S il conteggio viene impostato al valore specificato all’ingresso ZW. Sullo stato alto del segnale all’ingresso R il conteggio viene azzerato. L’uscita è a potenziale alto se il valore di conteggio è diverso da 0. Lo stato del contatore è prelevabile direttamente dall’uscita Q o tramite un qualsiasi contatto con lo stesso operando. Il valore attuale di conteggio può essere prelevato in binario all’uscita DUAL o in BCD all’uscita DEZ.

Operando: Z

Operazioni matematiche

Addizione di numeri interi a 16 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo addendo (EW, AW, MW, DBW, costante 16 bit) IN2 secondo addendo (EW, AW, MW, DBW, costante 16 bit) OUT risultato dell’addizione (EW, AW, MW, DBW) Con uno stato di segnale 1 all’ingresso di abilitazione, vengono addizionati i numeri interi a 16 bit agli ingressi IN1 e IN2. La somma, come numero intero a 16 bit, è disponibile all’uscita OUT. Se il risultato non rientra nel campo permesso per i numeri interi a 16 bit con segno, il valore dell’uscita ENO è zero.

Sottrazione di numeri interi a 16 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 minuendo (EW, AW, MW, DBW, costante 16 bit) IN2 sottraendo (EW, AW, MW, DBW, costante 16 bit) OUT risultato della sottrazione (EW, AW, MW, DBW) Con uno stato di segnale 1 all’ingresso di abilitazione, il numero intero a 16 bit all’ingresso IN2 viene sottratto da quello all’ingresso IN1. La differenza, come numero intero a 16 bit, è disponibile all’uscita OUT. Se il risultato non rientra nel campo permesso per i numeri interi a 16 bit con segno, il valore dell’uscita ENO è zero.

Note sulla programmazione del PLC S7 300 13-43

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elemento

Simatic Internaz. Descrizione

Moltiplicazione di numeri interi a 16 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo fattore (EW, AW, MW, DBW, costante 16 bit) IN2 secondo fattore (EW, AW, MW, DBW, costante 16 bit) OUT risultato della moltiplicazione (EW, AW, MW, DBW) Con uno stato di segnale 1 all’ingresso di abilitazione, vengono moltiplicati i numeri interi a 16 bit agli ingressi IN1 e IN2. Il prodotto, come numero intero a 16 bit, è disponibile all’uscita OUT. Se il risultato non rientra nel campo permesso per i numeri interi a 16 bit con segno, il valore dell’uscita ENO è zero.

Divisione di numeri interi a 16 bit EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 dividendo (EW, AW, MW, DBW, costante 16 bit) IN2 divisore (EW, AW, MW, DBW, costante 16 bit) OUT risultato della divisione (EW, AW, MW, DBW) Con uno stato di segnale 1 all’ingresso di abilitazione, il numero intero a 16 bit all’ingresso IN1 viene diviso per quello all’ingresso IN2. Il quoziente, come numero intero a 16 bit, è disponibile all’uscita OUT; il valore del resto non è disponibile. Se il risultato non rientra nel campo permesso per i numeri interi a 16 bit con segno, il valore dell’uscita ENO è zero.

Addizione di numeri interi a 32 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo addendo (ED, AD, MD, DBD, costante 32 bit) IN2 secondo addendo (ED, AD, MD, DBD, costante 32 bit) OUT risultato dell’addizione (ED, AD, MD, DBD) Con uno stato di segnale 1 all’ingresso di abilitazione, vengono addizionati i numeri interi a 32 bit agli ingressi IN1 e IN2. La somma, come numero intero a 32 bit, è disponibile all’uscita OUT. Se il risultato non rientra nel campo permesso per i numeri interi a 32 bit con segno, il valore dell’uscita ENO è zero.

Sottrazione di numeri interi a 32 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 minuendo (ED, AD, MD, DBD, costante 32 bit) IN2 sottraendo (ED, AD, MD, DBD, costante 32 bit) OUT risultato della sottrazione (ED, AD, MD, DBD) Con uno stato di segnale 1 all’ingresso di abilitazione, il numero intero a 32 bit all’ingresso IN2 viene sottratto da quello all’ingresso IN1. La differenza, come numero intero a 32 bit, è disponibile all’uscita OUT. Se il risultato non rientra nel campo permesso per i numeri interi a 32 bit con segno, il valore dell’uscita ENO è zero.

13-44 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elemento

Simatic Internaz. Descrizione

Moltiplicazione di numeri interi a 32 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo fattore (ED, AD, MD, DBD, costante 32 bit) IN2 secondo fattore (ED, AD, MD, DBD, costante 32 bit) OUT risultato della moltiplicazione (ED, AD, MD, DBD) Con uno stato di segnale 1 all’ingresso di abilitazione, vengono moltiplicati i numeri interi a 32 bit agli ingressi IN1 e IN2. Il prodotto, come numero intero a 32 bit, è disponibile all’uscita OUT. Se il risultato non rientra nel campo permesso per i numeri interi a 32 bit con segno, il valore dell’uscita ENO è zero.

Divisione di numeri interi a 32 bit EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 dividendo (ED, AD, MD, DBD, costante 32 bit) IN2 divisore (ED, AD, MD, DBD, costante 32 bit) OUT risultato della divisione (ED, AD, MD, DBD) Con uno stato di segnale 1 all’ingresso di abilitazione, il numero intero a 32 bit all’ingresso IN1 viene diviso per quello all’ingresso IN2. Il quoziente, come numero intero a 32 bit, è disponibile all’uscita OUT; il valore del resto non è disponibile. Se il risultato non rientra nel campo permesso per i numeri interi a 32 bit con segno, il valore dell’uscita ENO è zero.

Modulo Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 dividendo (ED, AD, MD, DBD, costante 32 bit) IN2 divisore (ED, AD, MD, DBD, costante 32 bit) OUT resto della divisione (ED, AD, MD, DBD) Con uno stato di segnale 1 all’ingresso di abilitazione, il numero intero a 32 bit all’ingresso IN1 viene diviso per quello all’ingresso IN2. Il resto della divisione, come numero intero a 32 bit, è disponibile all’uscita OUT; il valore del quoziente non è disponibile. Se il risultato non rientra nel campo permesso per i numeri interi a 32 bit con segno, il valore dell’uscita ENO è zero.

Operazioni di confronto

Confronto su uguale di numeri interi a 16 bit Ingressi/uscite: IN1 primo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) IN2 secondo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) Verifica l’uguaglianza dei due numeri interi a 16 bit prelevati dagli ingressi IN1 e IN2. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Note sulla programmazione del PLC S7 300 13-45

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elemento

Simatic Internaz. Descrizione

Confronto su disuguale di numeri interi a 16 bit Ingressi/uscite: IN1 primo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) IN2 secondo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) Verifica la disuguaglianza dei due numeri interi a 16 bit prelevati dagli ingressi IN1 e IN2. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Confronto su maggiore di numeri interi a 16 bit Ingressi/uscite: IN1 primo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) IN2 secondo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) Verifica che il primo valore intero a 16 bit sia maggiore del secondo. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Confronto su maggiore o uguale di numeri interi a 16 bit Ingressi/uscite: IN1 primo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) IN2 secondo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) Verifica che il primo valore intero a 16 bit sia maggiore o uguale del secondo. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Confronto su minore di numeri interi a 16 bit Ingressi/uscite: IN1 primo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) IN2 secondo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) Verifica che il primo valore intero a 16 bit sia minore del secondo. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Confronto su minore o uguale di interi a 16 bit Ingressi/uscite: IN1 primo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) IN2 secondo valore da confrontare (EW, AW, MW, DBW, costante 16 bit) Verifica che il primo valore intero a 16 bit sia minore o uguale del secondo. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Confronto su uguale di numeri interi a 32 bit Ingressi/uscite: IN1 primo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) IN2 secondo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) Verifica l’uguaglianza dei due numeri interi a 32 bit prelevati dagli ingressi IN1 e IN2. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

13-46 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elemento

Simatic Internaz. Descrizione

Confronto su disuguale di numeri interi a 32 bit Ingressi/uscite: IN1 primo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) IN2 secondo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) Verifica la disuguaglianza dei due numeri interi a 32 bit prelevati dagli ingressi IN1 e IN2. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Confronto su maggiore di numeri interi a 32 bit Ingressi/uscite: IN1 primo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) IN2 secondo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) Verifica che il primo valore intero a 32 bit sia maggiore del secondo. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Confronto su maggiore o uguale di numeri interi a 32 bit Ingressi/uscite: IN1 primo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) IN2 secondo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) Verifica che il primo valore intero a 32 bit sia maggiore o uguale del secondo. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Confronto su minore di numeri interi a 32 bit Ingressi/uscite: IN1 primo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) IN2 secondo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) Verifica che il primo valore intero a 32 bit sia minore del secondo. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Confronto su minore o uguale di interi a 32 bit Ingressi/uscite: IN1 primo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) IN2 secondo valore da confrontare (ED, AD, MD, DBD, costante 32 bit) Verifica che il primo valore intero a 32 bit sia minore o uguale del secondo. Il box di confronto può essere usato come un normale contatto. Il circuito tra i terminali superiori appare chiuso quando il confronto è verificato, aperto altrimenti.

Note sulla programmazione del PLC S7 300 13-47

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elemento

Simatic Internaz. Descrizione

Operazioni di trasferimento e conversione

Assegnazione di un valore Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN indirizzo di origine o valore da assegnare (EB, AB, MB, DBB, EW, AW, MW,

DBW, ED, AD, MD, DBD, costante) OUT indirizzo di destinazione (EB, AB, MB, DBB, EW, AW, MW, DBW, ED, AD,

MD, DBD) Il valore specificato direttamente, o tramite l’indirizzo della variabile che lo contiene, collegato all’ingresso IN viene ricopiato nell’operando collegato all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN.

Complemento a 1 a 16 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore di ingresso (EW, AW, MW, DBW, costante 16 bit) OUT indirizzo di destinazione (EW, AW, MW, DBW) Il valore a 16 bit specificato direttamente, o tramite l’indirizzo della variabile che lo contiene, collegato all’ingresso IN viene complementato a 1, cioè ogni suo bit viene invertito e trasferito nell’operando collegato all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN.

Complemento a 2 a 16 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore di ingresso (EW, AW, MW, DBW, costante 16 bit) OUT indirizzo di destinazione (EW, AW, MW, DBW) Il valore a 16 bit specificato direttamente, o tramite l’indirizzo della variabile che lo contiene, collegato all’ingresso IN viene complementato a 2, cioè viene prima invertito ogni suo bit e, successivamente, sommato ad 1. Il risultato viene trasferito nell’operando collegato all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN.

Complemento a 1 a 32 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore di ingresso (ED, AD, MD, DBD, costante 32 bit) OUT indirizzo di destinazione (ED, AD, MD, DBD) Il valore a 32 bit specificato direttamente, o tramite l’indirizzo della variabile che lo contiene, collegato all’ingresso IN viene complementato a 1, cioè ogni suo bit viene invertito e trasferito nell’operando collegato all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN.

13-48 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elemento

Simatic Internaz. Descrizione

Complemento a 2 a 16 bit Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore di ingresso (ED, AD, MD, DBD, costante 32 bit) OUT indirizzo di destinazione (ED, AD, MD, DBD) Il valore a 32 bit specificato direttamente, o tramite l’indirizzo della variabile che lo contiene, collegato all’ingresso IN viene complementato a 2, cioè viene prima invertito ogni suo bit e, successivamente, sommato ad 1. Il risultato viene trasferito nell’operando collegato all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN.

Operazioni logiche a parola

Combinazione AND di word Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo valore dell’operazione logica (EW, AW, MW, DBW, costante 16 bit) IN2 secondo valore dell’operazione logica (EW, AW, MW, DBW, costante 16 bit) OUT risultato dell’operazione logica (EW, AW, MW, DBW) I valori delle variabili a 16 bit specificate agli ingressi IN1 e IN2 vengono combinati bit a bit in AND. Il risultato è disponibile all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN. Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Combinazione OR di word Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo valore dell’operazione logica (EW, AW, MW, DBW, costante 16 bit) IN2 secondo valore dell’operazione logica (EW, AW, MW, DBW, costante 16 bit) OUT risultato dell’operazione logica (EW, AW, MW, DBW) I valori delle variabili a 16 bit specificate agli ingressi IN1 e IN2 vengono combinati bit a bit in OR. Il risultato è disponibile all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN. Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Note sulla programmazione del PLC S7 300 13-49

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elemento

Simatic Internaz. Descrizione

Combinazione OR esclusivo di word Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo valore dell’operazione logica (EW, AW, MW, DBW, costante 16 bit) IN2 secondo valore dell’operazione logica (EW, AW, MW, DBW, costante 16 bit) OUT risultato dell’operazione logica (EW, AW, MW, DBW) I valori delle variabili a 16 bit specificate agli ingressi IN1 e IN2 vengono combinati bit a bit in OR esclusivo. Il risultato è disponibile all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN. Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Combinazione AND di doppia word Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo valore dell’operazione logica (ED, AD, MD, DBD, costante 32 bit) IN2 secondo valore dell’operazione logica (ED, AD, MD, DBD, costante 32 bit) OUT risultato dell’operazione logica (ED, AD, MD, DBD) I valori delle variabili a 32 bit specificate agli ingressi IN1 e IN2 vengono combinati bit a bit in AND. Il risultato è disponibile all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN. Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Combinazione OR di doppia word Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo valore dell’operazione logica (ED, AD, MD, DBD, costante 32 bit) IN2 secondo valore dell’operazione logica (ED, AD, MD, DBD, costante 32 bit) OUT risultato dell’operazione logica (ED, AD, MD, DBD) I valori delle variabili a 32 bit specificate agli ingressi IN1 e IN2 vengono combinati bit a bit in OR. Il risultato è disponibile all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN. Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

13-50 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elemento

Simatic Internaz. Descrizione

Combinazione OR esclusivo di doppia word Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN1 primo valore dell’operazione logica (ED, AD, MD, DBD, costante 32 bit) IN2 secondo valore dell’operazione logica (ED, AD, MD, DBD, costante 32 bit) OUT risultato dell’operazione logica (ED, AD, MD, DBD) I valori delle variabili a 32 bit specificate agli ingressi IN1 e IN2 vengono combinati bit a bit in OR esclusivo. Il risultato è disponibile all’uscita OUT. L’operazione viene eseguita solo su stato 1 dell’ingresso di abilitazione EN. L’uscita ENO ha lo stesso valore dell’ingresso IN. Se il risultato dell’operazione logica è diverso da 0, il bit A1 della parola di stato viene settato; se il risultato dell’operazione logica è uguale a 0, il bit A1 della parola di stato viene resettato.

Operazioni di scorrimento e rotazione

Scorrimento di word a sinistra Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore da far scorrere (EW, AW, MW, DBW, costante 16 bit) N numero delle posizioni di bit da far scorrere (EW, AW, MW, DBW, costante

16 bit) OUT risultato dell’operazione di scorrimento (EW, AW, MW, DBW) In presenza di uno stato di segnale alto all’ingresso EN, l’operazione fa scorrere a sinistra il valore a 16 bit specificato all’ingresso IN del numero di posizioni specificate all’ingresso N. I bit fuoriusciti da sinistra vengono persi, mentre le posizioni liberate a destra vengono riempite con zeri. Il risultato dello scorrimento è disponibile all’uscita OUT. Con N diverso da 0, il bit fuoriuscito per ultimo viene memorizzato in A1, mentre i bit A0 e OV vengono resettati. Se N è maggiore di 16, l’operazione di scorrimento dà come risultato 0.

Scorrimento di word a destra Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore da far scorrere (EW, AW, MW, DBW, costante 16 bit) N numero delle posizioni di bit da far scorrere (EW, AW, MW, DBW, costante

16 bit) OUT risultato dell’operazione di scorrimento (EW, AW, MW, DBW) In presenza di uno stato di segnale alto all’ingresso EN, l’operazione fa scorrere a destra il valore a 16 bit specificato all’ingresso IN del numero di posizioni specificate all’ingresso N. I bit fuoriusciti da destra vengono persi, mentre le posizioni liberate a sinistra vengono riempite con zeri. Il risultato dello scorrimento è disponibile all’uscita OUT. Con N diverso da 0, il bit fuoriuscito per ultimo viene memorizzato in A1, mentre i bit A0 e OV vengono resettati. Se N è maggiore di 16, l’operazione di scorrimento dà come risultato 0.

Note sulla programmazione del PLC S7 300 13-51

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Elemento

Simatic Internaz. Descrizione

Scorrimento di doppia word a sinistra Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore da far scorrere (ED, AD, MD, DBD, costante 32 bit) N numero delle posizioni di bit da far scorrere (EW, AW, MW, DBW, costante

16 bit) OUT risultato dell’operazione di scorrimento (ED, AD, MD, DBD) In presenza di uno stato di segnale alto all’ingresso EN, l’operazione fa scorrere a sinistra il valore a 32 bit specificato all’ingresso IN del numero di posizioni specificate all’ingresso N. I bit fuoriusciti da sinistra vengono persi, mentre le posizioni liberate a destra vengono riempite con zeri. Il risultato dello scorrimento è disponibile all’uscita OUT. Con N diverso da 0, il bit fuoriuscito per ultimo viene memorizzato in A1, mentre i bit A0 e OV vengono resettati. Se N è maggiore di 32, l’operazione di scorrimento dà come risultato 0.

Scorrimento di doppia word a destra Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore da far scorrere (ED, AD, MD, DBD, costante 32 bit) N numero delle posizioni di bit da far scorrere (EW, AW, MW, DBW, costante

16 bit) OUT risultato dell’operazione di scorrimento (ED, AD, MD, DBD) In presenza di uno stato di segnale alto all’ingresso EN, l’operazione fa scorrere a destra il valore a 32 bit specificato all’ingresso IN del numero di posizioni specificate all’ingresso N. I bit fuoriusciti da destra vengono persi, mentre le posizioni liberate a sinistra vengono riempite con zeri. Il risultato dello scorrimento è disponibile all’uscita OUT. Con N diverso da 0, il bit fuoriuscito per ultimo viene memorizzato in A1, mentre i bit A0 e OV vengono resettati. Se N è maggiore di 32, l’operazione di scorrimento dà come risultato 0.

Rotazione di doppia word a sinistra Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore da far scorrere (ED, AD, MD, DBD, costante 32 bit) N numero delle posizioni di bit da far scorrere (EW, AW, MW, DBW, costante

16 bit) OUT risultato dell’operazione di scorrimento (ED, AD, MD, DBD) In presenza di uno stato di segnale alto all’ingresso EN, l’operazione fa ruotare a sinistra il valore a 32 bit specificato all’ingresso IN del numero di posizioni specificate all’ingresso N. I bit fuoriusciti da sinistra vengono reinseriti nelle posizioni liberate a destra. Il bit fuoriuscito per ultimo viene anche memorizzato in A1. Il risultato della rotazione è disponibile all’uscita OUT. Con N diverso da 0, i bit A0 e OV vengono resettati.

13-52 Note sulla programmazione del PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Elemento

Simatic Internaz. Descrizione

Rotazione di doppia word a destra Ingressi/uscite: EN ingresso di abilitazione (E, A, M, DBX, T, Z) ENO uscita di abilitazione (E, A, M, DBX, T, Z) IN valore da far scorrere (ED, AD, MD, DBD, costante 32 bit) N numero delle posizioni di bit da far scorrere (EW, AW, MW, DBW, costante

16 bit) OUT risultato dell’operazione di scorrimento (ED, AD, MD, DBD) In presenza di uno stato di segnale alto all’ingresso EN, l’operazione fa ruotare a destra il valore a 32 bit specificato all’ingresso IN del numero di posizioni specificate all’ingresso N. I bit fuoriusciti da destra vengono reinseriti nelle posizioni liberate a sinistra. Il bit fuoriuscito per ultimo viene anche memorizzato in A1. Il risultato della rotazione è disponibile all’uscita OUT. Con N diverso da 0, i bit A0 e OV vengono resettati.

Operazioni di controllo dell’esecuzione

Salta se 1 Se lo stato di segnale alla bobina è 1, l’elaborazione del programma prosegue dall’etichetta specificata come operando. In caso contrario l’elaborazione continua col percorso ladder successivo.

Operando: Etichetta

Salta se 0 Se lo stato di segnale alla bobina è 0, l’elaborazione del programma prosegue dall’etichetta specificata come operando. In caso contrario l’elaborazione continua col percorso ladder successivo.

Operando: Etichetta

Apertura di blocco dati Il blocco dati specificato come operando diviene il blocco dati attuale, cioè il blocco a cui faranno riferimento tutte le operazioni di lettura e scrittura dati a bit, byte, word e doppia word. Il blocco aperto rimane attivo fino all’apertura di un nuovo blocco.

Operando: DB

Richiamo di funzione Se lo stato di segnale alla bobina è 1, l’elaborazione del programma prosegue dal primo percorso della funzione specificata come operando. In caso contrario l’elaborazione continua col percorso ladder successivo. A seguito dell’elaborazione di un’operazione RET nel nuovo blocco, l’elaborazione torna al blocco chiamante in corrispondenza dell’istruzione successiva alla CALL. Operando: FC

Salto indietro Se lo stato di segnale alla bobina è 1, viene terminata l’elaborazione del blocco attuale con conseguente ritorno al blocco chiamante. Operando: Nessuno

Autoware srl AW-SYS – software di simulazione di PLC e impianti

CCAAPPIITTOOLLOO 1144 ESEMPI DI PROGRAMMAZIONE PER PLC S7 300

In questo capitolo vengono affrontati, in ordine crescente di complessità, numerosi esercizi di programmazione per il PLC S7 300. La soluzione viene fornita sia sotto forma di lista istruzioni che, quando possibile, di schema a contatti. Per la verifica del funzionamento saranno necessari solo gli interruttori o pulsanti per il comando degli ingressi del PLC. Lo stato delle uscite potrà essere valutato dai LED presenti sul fronte del dispositivo. Tutti gli elementi necessari si trovano nella finestra PLC di PC-Sim.

Se durante l’installazione di AW-SYS è stato scelto di installare anche gli esempi, troverete tutti quelli qui presentati nella cartella Aw-sys\S7300\Esempi del vostro computer. Essi possono essere caricati e testati con PC-Sim per S7 300.

Il nome del file progetto da caricare ha il formato S7xx-yyyZ.prj, dove:

S7 individua un progetto per S7 300;

xx sono due cifre che valgono sempre 00;

yyy è il numero progressivo dell’esempio espresso su tre cifre;

Z è una lettera che specifica il tipo di editor usato nel progetto (L=ladder, A=AWL).

Cioè, se desiderate caricare l’esempio di programmazione 8 in ladder aprite il progetto S700-008L.prj.

Nella stessa cartella saranno presenti anche diversi file progetto in cui le cifre xx sono diverse da 00. In questo caso gli esempi sono relativi agli impianti di PL-Sim e xx individua il numero progressivo dell’impianto, così come appare nel Menu Impianti. Informazioni su come caricare e testare questi ulteriori esempi sono disponibili nella Guida in linea di PC-Sim.

14-2 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 1: combinazione AND

Realizzare A4.2 = E0.0 AND E0.1

L’uscita A4.2 deve essere attivata se e solo se entrambi gli interruttori collegati agli ingressi E0.0 e E0.1 sono chiusi.

La soluzione ladder si ottiene pilotando la bobina A4.2 attraverso la serie di due contatti con operandi E0.0 e E0.1. Infatti la combinazione logica AND, tradotta in linguaggio ladder, equivale alla serie di due contatti: ai capi della serie 'si legge’ la chiusura del circuito solo quando entrambi i contatti sono chiusi; questa è quindi l’unica condizione che attiva la bobina.

LADDER AWL

U E0.0

U E0.1

= A4.2

BE

La soluzione AWL si ottiene caricando dapprima lo stato di E0.0 nel registro RLC (U E0.0). In effetti l’operazione, in senso stretto, è una AND ma qui, essendo la prima di una sequenza, viene interpretata come un’operazione di caricamento di bit e quindi lo stato dell’operando viene copiato in RLC. Successivamente viene effettuata una AND tra quest’ultimo e lo stato dell’ingresso E0.1 (U E0.1) ed il risultato viene ancora depositato in RLC. Questa istruzione non è la prima di una sequenza e quindi l’operazione viene interpretata effettivamente come una AND. L’ultima istruzione (= A4.2) provvede a trasferire il contenuto di RLC, che a questo punto rappresenta la combinazione logica E0.0 · E0.1, all’uscita A4.2.

Esempio 2: combinazione OR

Realizzare A4.2 = E0.0 OR E0.1

L’uscita A4.2 deve essere attivata se almeno uno degli interruttori collegati agli ingressi E0.0 o E0.1 è chiuso.

La soluzione ladder si ottiene pilotando la bobina A4.2 attraverso il parallelo di due contatti con operandi E0.0 ed E0.1. Infatti la combinazione logica OR, tradotta in schema a contatti, equivale al parallelo di due contatti: ai capi del parallelo 'si legge’ la chiusura del circuito quando almeno uno dei contatti è chiuso; questa è quindi la condizione che porta all’eccitazione della bobina.

LADDER AWL

O E0.0

O E0.1

= A4.2

BE

La soluzione AWL si ottiene caricando dapprima lo stato di E0.0 nel registro RLC (O E0.0). In effetti l’operazione in senso stretto è una OR ma qui, essendo la prima di una sequenza, viene interpretata come una operazione di caricamento di bit e quindi lo stato dell’operando viene copiato in RLC. In questo caso l’istruzione è perfettamente equivalente alla U E0.0, che potrebbe essere sostituita ad essa ottenendo un programma dall’identico funzionamento. Quindi viene effettuata una OR tra l'RLC e l’ingresso E0.1 (O E0.1), che deposita ancora il risultato in RLC. Questa istruzione non è la prima di una sequenza e l’operazione quindi viene interpretata effettivamente come una OR. L’ultima istruzione (= A4.2) provvede a

Esempi di programmazione per PLC S7 300 14-3

Autoware srl AW-SYS – software di simulazione di PLC e impianti

trasferire il contenuto di RLC, che a questo punto rappresenta la combinazione logica E0.0 + E0.1, all’uscita A4.2.

Esempio 3: combinazione AND di OR

Realizzare A4.0 = (E0.0 OR E0.1) AND (E0.2 OR E0.3)

La soluzione ladder dovrebbe essere intuitiva dopo aver realizzato gli esercizi precedenti: la bobina A4.0

viene pilotata dalla serie (AND) di due paralleli (OR) di contatti, in corrispondenza dei quali sono stati opportunamente riportati gli operandi.

LADDER AWL

O E0.0

O E0.1

U(

O E0.2

O E0.3

)

= A4.0

BE

La soluzione AWL richiede invece qualche chiarimento poiché sono state introdotte due nuove operazioni. Notiamo anzitutto che, dopo l’esecuzione della seconda istruzione, RLC contiene il risultato della combinazione logica OR tra E0.0 ed E0.1 (vedi Esempio 2). La successiva operazione è un’apertura di parentesi, l’RLC attuale viene accantonato momentaneamente per essere successivamente combinato in AND con il risultato dell’espressione entro parentesi. L’operazione U( è RLC limitante (vedi Tabella 37) e quindi l’istruzione successiva sarà la prima di una nuova sequenza, così la quarta istruzione (O E0.2) verrà interpretata come un caricamento in RLC dello stato di E0.2 e, dopo l’esecuzione dell’istruzione seguente, RLC conterrà il risultato della combinazione logica E0.2 + E0.3. La seguente istruzione di chiusura di parentesi farà eseguire al PLC la combinazione AND (la terza era U() tra l’RLC attuale, cioè il risultato della OR in parentesi, con l’RLC accantonato in precedenza, cioè il risultato della prima OR. L’ultima istruzione (= A4.0) provvede a trasferire il contenuto di RLC, che a questo punto rappresenta la combinazione logica (E0.0 + E0.1) · (E0.2 + E0.3), all’uscita A4.0.

14-4 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 4: combinazione OR di AND

Realizzare A4.0 = (E0.0 AND E0.1) OR (E0.2 AND E0.3). Dove le parentesi, sebbene non necessarie in

quanto l’operazione AND ha precedenza sulla OR, sono state aggiunte per chiarezza.

Nella soluzione ladder la bobina A4.0 viene pilotata dal parallelo (OR) di due serie (AND) di contatti, in corrispondenza dei quali sono stati opportunamente riportati gli operandi.

LADDER AWL

U E0.0

U E0.1

O(

U E0.2

U E0.3

)

= A4.0

BE

Per quanto riguarda la soluzione AWL, notiamo anzitutto che, dopo l’esecuzione della seconda istruzione, RLC contiene il risultato della combinazione logica AND tra E0.0 ed E0.1 (vedi Esempio 1). La successiva operazione è un’apertura di parentesi, l’RLC attuale viene accantonato momentaneamente per essere successivamente combinato in OR con il risultato dell’espressione entro parentesi. L’operazione O( è RLC limitante (vedi Tabella 37) e quindi l’istruzione successiva sarà la prima di una nuova sequenza, così la quarta istruzione (U E0.2) verrà interpretata come un caricamento in RLC dello stato di E0.2 e, dopo l’esecuzione dell’istruzione successiva, RLC conterrà il risultato della combinazione logica E0.2 · E0.3. La seguente istruzione di chiusura di parentesi farà eseguire al PLC la combinazione OR (la terza era O() tra l’RLC attuale, cioè il risultato della AND in parentesi, con l’RLC accantonato in precedenza, cioè il risultato della prima AND. L’ultima istruzione (= A4.0) provvede a trasferire il contenuto di RLC, che a questo punto rappresenta la combinazione logica (E0.0 · E0.1) + (E0.2 · E0.3), all’uscita A4.0.

Esempio 5: combinazione XOR

Realizzare A4.2 = E0.1 XOR E0.2

L’operazione logica XOR applicata a due variabili booleane dà risultato vero solo quando solo una delle due variabili è vera.

La prima serie di contatti del programma ladder è chiusa solo quando E0.1 è chiuso ed E0.2 è aperto; la seconda serie è chiusa solo quando, al contrario, E0.1 è aperto e E0.2 è chiuso. Realizzando il parallelo delle due si ottiene la funzione desiderata: la bobina viene eccitata solo quando un ingresso è chiuso e l’altro è aperto.

LADDER AWL

X E0.1

X E0.2

BE

La soluzione AWL si ottiene caricando dapprima lo stato di E0.1 nel registro RLC (X E0.1). In effetti l’operazione in senso stretto è una XOR ma qui, essendo la prima di una sequenza, viene interpretata come una operazione di caricamento di bit e quindi lo stato dell’operando viene copiato in RLC. In questo caso

Esempi di programmazione per PLC S7 300 14-5

Autoware srl AW-SYS – software di simulazione di PLC e impianti

l’istruzione è perfettamente equivalente alla U E0.1 o alla O E0.1, che potrebbero essere sostituite ad essa ottenendo un programma dall’identico funzionamento. Quindi viene effettuata una XOR tra l'RLC e l’ingresso E0.2 (X E0.2), che deposita ancora il risultato in RLC. Questa istruzione non è la prima di una sequenza e l’operazione quindi viene interpretata effettivamente come una XOR. L’ultima istruzione (= A4.2) provvede a trasferire il contenuto di RLC, che a questo punto rappresenta la combinazione logica E0.0 XOR E0.1, all’uscita A4.2.

Esempio 6: autoritenuta

Un pulsante collegato all’ingresso E0.0 deve attivare l’uscita A5.7; un secondo pulsante collegato

all’ingresso E0.1 deve disattivarla.

Nel programma ladder proposto come soluzione viene realizzato un circuito con autoritenuta. Premendo il pulsante collegato a E0.0 la bobina A5.7 viene attivata, quindi il contatto con lo stesso operando sul secondo rigo si chiude (immaginate che il contatto e la bobina siano parti dello stesso relè A5.7) continuando a mantenere eccitata la bobina anche dopo l’apertura di E0.0. La chiusura del pulsante all’ingresso E0.1 provoca l’apertura del contatto normalmente chiuso sullo schema, diseccitando la bobina e facendo cadere l’autoritenuta.

LADDER AWL

U E0.0

O A5.7

UN E0.1

= A5.7

BE

Il programma AWL propone la conversione di quanto appena descritto. Il valore dell’uscita A3.7 nell’ultima istruzione viene calcolato caricando lo stato di E0.0, quindi valutandone la OR con A3.7 e successivamente ponendo in AND il risultato con il complemento di E0.1.

Esempio 7: set e reset

Un pulsante collegato all’ingresso E0.0 deve attivare l’uscita A5.7; un secondo pulsante collegato

all’ingresso E0.1 deve disattivarla

L’esercizio è identico al precedente ma, questa volta, nella soluzione vengono usate bobine di set e reset della stessa uscita A5.7 pilotate separatamente da contatti di E0.0 e E0.1.

LADDER AWL

U E0.0

S A5.7

U E0.1

R A5.7

BE

Facendo girare il programma, notiamo come la pressione contemporanea sui due pulsanti comporti l’azzeramento dell’uscita. In effetti, in entrambi i linguaggi ed essendo valide le condizioni di test, l’operando A5.7 viene dapprima attivato, nel percorso 1 o con le prime due istruzioni, quindi disattivato, nel percorso 2 o con la terza e quarta istruzione. Ma ricordiamo che A5.7 non rappresenta effettivamente l’uscita fisica del PLC, ma il corrispondente bit all’interno della memoria delle immagini di processo. Tale bit di memoria viene

14-6 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

effettivamente portato a 1 e poi a 0 ma, solo alla fine dell’elaborazione del programma utente, il valore elaborato per esso viene trasferito al canale fisico di uscita corrispondente, che rimane quindi costantemente al valore basso quando entrambi gli ingressi sono chiusi.

Con questa scrittura di programmi si è realizzato quindi una prevalenza del reset rispetto al set. Se desiderate ottenere il contrario, basterà invertire la posizione dei percorsi nello schema a contatti o il primo gruppo di due istruzioni con il secondo nel programma AWL.

Esempio 8: rilevazione fronti

Attivare le uscite A4.0 e A4.1 in corrispondenza rispettivamente del fronte di salita e di quello di discesa

dell’ingresso E0.0.

Notiamo che l’ultimo percorso dello schema ladder impone, al termine dell’esecuzione del programma, l’eguaglianza del merker bit M0.0 allo stato dell’ingresso E0.0. Ma, in corrispondenza dei fronti, per i percorsi precedenti, accade che lo stato delle due variabili sia opposto e, solo alla fine dell’elaborazione del programma utente, diventi uguali. Ciò viene rappresentato nelle prime due righe del diagramma di Figura 62 con un ritardo temporale di M0.0 rispetto ad E0.0 che vale un ciclo di esecuzione.

Il primo percorso attiva la bobina A4.0, per un ciclo di esecuzione, quando E0.0 è a 1 ed M0.0 è a 0, cioè in corrispondenza del fronte di salita di E0.0.

LADDER

AWL

U E0.0 'rilevazione fronte

FP M0.0 'di salita

= A4.0

U E0.0 'rilevazione fronte

FN M0.1 'di discesa

= A4.1

BE

Figura 62: Diagramma temporale rilevatore fronti

Esempi di programmazione per PLC S7 300 14-7

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Invece, la bobina A4.1 sarà attivata, sempre per un ciclo di esecuzione, quando E0.0 è a 0 ed M0.0 è a 1, cioè in corrispondenza del fronte di discesa di E0.0, come programmato nel percorso 2.

Nel programma AWL si è fatto uso delle istruzioni per la rilevazione fronti FP (salita) e FN (discesa).

Esempio 9: temporizzatore ad impulso

L’uscita A4.5 viene attivata alla chiusura dell’ingresso E0.0 e disattivata 5 secondi dopo. Se l’ingresso viene

riaperto in questo periodo, l’uscita viene disattivata immediatamente.

Figura 63: Diagramma temporale temporizzatore ad impulso

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 63. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo la sua uscita.

Il programma ladder è stato realizzato utilizzando un temporizzatore SI (impulso) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo e uscita collegata alla bobina di A4.5.

LADDER AWL

U E0.0

L W#16#0500

SI T2

U T2

= A4.5

BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come impulso (SI T2) a seguito di un fronte di salita dell’ingresso (U E0.0), con la costante di tempo di 5 secondi caricata nell’accumulatore 1 (L W#16#0500). Il secondo gruppo di istruzioni copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A4.5).

14-8 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 10: temporizzatore ad impulso prolungato

L’uscita A4.5 viene attivata alla chiusura dell’ingresso E0.0 e disattivata 5 secondi dopo indipendentemente

dal fatto che l’ingresso venga riaperto o meno in questo periodo.

Figura 64: Diagramma temporale del temporizzatore ad impulso prolungato

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 64. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo la sua uscita

Il programma ladder è stato realizzato utilizzando un temporizzatore SV (impulso prolungato) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo e uscita collegata alla bobina di A4.5.

LADDER AWL

U E0.0

L W#16#0500

SV T2

U T2

= A4.5

BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come impulso prolungato (SV T2) a seguito di un fronte di salita dell’ingresso (U E0.0), con la costante di tempo di 5 secondi caricata nell’accumulatore 1 (L W#16#0500). Il secondo gruppo di istruzioni copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A4.5).

Esempio 11: temporizzatore con ritardo all’eccitazione

L’uscita A4.5 viene attivata 5 secondi dopo la chiusura dell’ingresso E0.0. Quando l’ingresso viene riaperto

l’uscita viene disattivata.

Figura 65: Diagramma temporale del temporizzatore con ritardo all’eccitazione

Esempi di programmazione per PLC S7 300 14-9

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 65. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo l’uscita che se ne ricava.

Il programma ladder è stato realizzato utilizzando un temporizzatore SE (ritardo all’eccitazione) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo e uscita collegata alla bobina di A4.5.

LADDER AWL

U E0.0

L W#16#0500

SE T2

U T2

= A4.5

BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come ritardo all’eccitazione (SE T2) a seguito di un fronte di salita dell’ingresso (U E0.0), con la costante di tempo di 5 secondi caricata nell’accumulatore 1 (L W#16#0500). Il secondo gruppo di istruzioni copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A4.5).

Esempio 12: temporizzatore con ritardo all’eccitazione con memoria e reset

L’uscita A4.5 viene attivata 5 secondi la chiusura dell’ingresso E0.0 (anche se quest’ultimo nel frattempo

viene riaperto) e disattivata in corrispondenza della chiusura dell’ingresso E0.1.

Figura 66: Diagramma temporale per temporizzatore con ritardo all'eccitazione con memoria e reset

Il funzionamento del temporizzatore con ritardo all’eccitazione con memoria e reset si ricava dal confronto dei primi due righi del diagramma temporale di Figura 66 con l’ultimo. Nei primi sono rappresentati i segnali di ingresso, nell’ultimo la corrispondente uscita.

Il programma ladder è stato realizzato utilizzando un temporizzatore SS (ritardo all’eccitazione con memoria) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo, l'ingresso di reset collegato ad un contatto NA di E0.1 e l’uscita collegata alla bobina di A4.5.

14-10 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

U E0.0

L W#16#0500

SS T2

U E0.1

R T2

U T2

= A4.5

BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come ritardo alla eccitazione con memoria (SS T2) a seguito di un fronte di salita dell’ingresso E0.0 (U E0.0), con la costante di tempo di 5 secondi caricata nell’accumulatore 1 (L W#16#0500). Il secondo gruppo di istruzioni provvede al reset del temporizzatore (R T2) in corrispondenza dello stato alto di E0.1 (U E0.1). L’ultimo gruppo copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A4.5).

Esempio 13: temporizzatore con ritardo alla diseccitazione

L’uscita A4.5 deve essere attivata alla chiusura dell’ingresso E0.0 e disattivata 5 secondi dopo la sua

riapertura.

Figura 67: Diagramma temporale temporizzatore con ritardo alla diseccitazione

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 67. Nel primo rigo è rappresentato il segnale di ingresso, nel secondo la corrispondente uscita.

Il programma ladder è stato realizzato utilizzando un temporizzatore SA (ritardo alla diseccitazione) attivato dal contatto NA di E0.0, con una costante di tempo pari a 500 centesimi di secondo e uscita collegata alla bobina di A4.5.

LADDER AWL

U E0.0

L W#16#0500

SA T2

U T2

= A4.5

BE

Il primo gruppo di istruzioni del programma AWL costituisce l’attivazione del temporizzatore T2 come ritardo alla diseccitazione (SA T2) a seguito di un fronte di discesa dell’ingresso (U E0.0), con la costante di tempo

Esempi di programmazione per PLC S7 300 14-11

Autoware srl AW-SYS – software di simulazione di PLC e impianti

di 5 secondi caricata nell’accumulatore 1 (L W#16#0500). Il secondo gruppo di istruzioni copia lo stato del temporizzatore (U T2) nell’uscita del PLC (= A4.5).

Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione

L’uscita A5.3 viene attivata 3 secondi dopo la chiusura dell’ingresso E0.1 e disattivata 7 secondi dopo la

sua riapertura.

Figura 68: Diagramma temporale temporizzatore con ritardo all'eccitazione ed alla diseccitazione

La Figura 68 illustra, al primo ed ultimo rigo del diagramma, l’andamento dei due segnali descritti nella traccia. Nel rigo intermedio è stato disegnato l’andamento di un temporizzatore con ritardo all’eccitazione avente come ingresso proprio E0.1. Notiamo come l’andamento dell’uscita A5.3, rispetto all’andamento di T0, rappresenti un ritardo alla diseccitazione. Il gioco è fatto! Si tratta quindi di scrivere un programma contenente due temporizzatori: il primo, un ritardo all’eccitazione da 3s, ha come ingresso E0.1; il secondo, un ritardo alla diseccitazione da 7s, ha come ingresso lo stato del primo temporizzatore e come uscita A5.3.

I programmi ladder ed AWL riportati di seguito implementano questa soluzione.

LADDER AWL

U E0.1

L W#16#0300

SE T0

U T0

L W#16#0700

SA T1

U T1

= A5.3

BE

14-12 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 15: impulso ritardato

L’uscita A4.7 viene attivata 2 secondi dopo l'apertura dell’ingresso E1.5 per una durata di 1 secondo.

Il diagramma in Figura 69 illustra al primo rigo l’andamento dell’ingresso ed all’ultimo quello della uscita che si desidera ottenere. Il secondo e terzo rigo rappresentano l’andamento di due temporizzatori con ritardo alla diseccitazione T10 e T11, da 2 e 3 secondi rispettivamente, che hanno come segnale d’ingresso proprio E1.5.

Notiamo allora che l’uscita deve essere vera quando accadono contemporaneamente le condizioni: T11 vero e T10 falso. Quindi, in termini di espressione booleana:

T10T11A4.7 ⋅=

Figura 69: Diagramma temporale dell'impulso ritardato

LADDER AWL

U E1.5

L W#16#0200

SA T10

L W#16#0300

SA T11

U T11

UN T10

= A5.7

BE

Nel programma ladder i primi due percorsi sono dedicati all’attivazione dei temporizzatori, entrambi hanno per ingresso il segnale E1.5. Nel terzo percorso viene implementata l'espressione logica appena ricavata: i due contatti posti in serie svolgono la funzione dell'operazione AND; in particolare, per il secondo è stato usato il tipo NC al fine di eseguire il complemento del suo operando

Analogamente, per il programma AWL, il primo gruppo di istruzioni attiva i due temporizzatori sul segnale di ingresso. Il secondo gruppo calcola il valore dell’espressione booleana e lo assegna all’uscita.

Esempi di programmazione per PLC S7 300 14-13

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Esempio 16: treno di impulsi

L’uscita A4.4 deve attivarsi ogni secondo per un istante.

Figura 70: Diagramma temporale del treno di impulsi

L’esercizio viene risolto utilizzando un temporizzatore che si autoavvia ciclicamente. Concentriamoci dapprima sul percorso 2 del ladder e sul secondo gruppo di istruzioni dell’AWL. La prima esecuzione del programma trova il temporizzatore fermo, quindi il suo contatto NC nello schema ladder è chiuso ed il test sullo stato basso nel programma AWL è soddisfatto. In entrambi i casi l’uscita del temporizzatore con ritardo alla diseccitazione si porta allo stato alto. A causa di ciò, al ciclo successivo, i test appena descritti non saranno più verificati. L’ingresso del temporizzatore si è quindi portato a zero ed il tempo comincia a scorrere. Per tutto questo periodo l’uscita permane alta. Scaduto il tempo essa viene azzerata, quindi le condizioni di test sull’ingresso del temporizzatore ritornano ad essere verificate e tutto si ripete come descritto.

Il diagramma di Figura 70 descrive al primo rigo l’andamento dell’uscita del temporizzatore che risulta essere il segnale opposto a quello richiesto dalla traccia. Non resta quindi che invertire questo segnale e assegnarlo all’uscita A4.4. Il primo percorso dello schema a contatti ed il primo gruppo di istruzioni del programma AWL provvedono a questo compito.

LADDER AWL

UN T3

= A4.4

UN T3

L W#16#0100

SA T3

BE

Rimane da chiarire che il percorso di assegnazione di A4.4 deve precedere necessariamente quello per l’attivazione del temporizzatore. Infatti, se così non fosse, il tempo verrebbe riavviato prima che A4.4 possa essere impostato a 1. A4.4 rimarrebbe perennemente allo stato basso poiché lo stato di T3, visto a questo punto dell’elaborazione del programma, apparirebbe sempre alto. Lo stesso dicasi per il programma AWL, nel quale il gruppo di istruzioni di assegnazione di A4.4 deve precedere, per le stesse ragioni, quello per l’avviamento di T3. Queste considerazioni saranno da ricordare ogni volta che utilizzeremo negli esempi successivi un treno di impulsi.

14-14 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempio 17: conteggio all’indietro

Il contatore Z4 viene impostato sul valore 10 in corrispondenza della chiusura dell’ingresso E1.3 e viene

decrementato ad ogni chiusura dell’ingresso E1.2. L’uscita A4.7 viene disattivata alla fine del conteggio

(valore 0).

Il programma ladder è molto semplice. La costante Z#10, assegnata all’ingresso ZW, fornirà il valore di preset 10 al contatore. Il suo ingresso di set (S) è stato collegato ad un contatto di E1.3, mentre quello di decremento (ZR) ad un contatto di E1.2. Sul fronte di chiusura di E1.3 avviene l’impostazione del valore di conteggio a 10, ad ogni fronte di chiusura di E1.2 il conteggio viene decrementato di 1. L’uscita del contatore (Q) è alta quando il valore di conteggio è diverso da 0. Sarà quindi sufficiente pilotare con essa l’uscita A4.7 del PLC.

LADDER AWL

U E1.2

ZR Z4

U E1.3

L Z#10

S Z4

U Z4

= A4.7

BE

Il primo gruppo di istruzioni del programma AWL provvede ad incrementare di 1 il valore di conteggio del contatore Z4 ad ogni fronte di salita di E1.2. Il secondo effettua l’impostazione del conteggio al valore caricato in Accumulatore 1 (10) in corrispondenza del fronte di salita di E1.3. L’ultimo gruppo provvede a trasferire lo stato del contatore all’uscita A4.7.

Esempio 18: conteggio in avanti

Il contatore Z12 viene incrementato ad ogni chiusura dell’ingresso E0.0 e riportato a zero in corrispondenza

della chiusura dell’ingresso E0.1. L’uscita A4.0 è attiva quando il valore di conteggio è zero.

L’ingresso di reset (R) del contatore Z12 è stato collegato ad un contatto di E0.1, mentre quello di incremento (ZV) ad un contatto di E0.0. Sul fronte di chiusura di E0.1 avviene il reset del contatore, cioè l’impostazione del valore di conteggio a 0, ad ogni fronte di chiusura di E0.0 il conteggio viene incrementato di 1. L’uscita del contatore (Q) è a alta quando il valore di conteggio è diverso da 0. Sarà quindi sufficiente invertirla per pilotare l’uscita A4.0 del PLC, come fatto nel percorso 2.

Esempi di programmazione per PLC S7 300 14-15

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LADDER AWL

U E0.0

ZV Z12

U E0.1

R Z12

UN Z12

= A4.0

BE

Il primo gruppo di istruzioni del programma AWL provvede ad incrementare di 1 il valore di conteggio del contatore Z12 ad ogni fronte di salita di E0.0. Il secondo effettua il reset del conteggio in corrispondenza dello stato alto di E0.1. L’ultimo gruppo provvede a trasferire il complemento dello stato del contatore all’uscita A4.0.

Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)

Determinare per quanti secondi l’ingresso E0.5 rimane chiuso ed utilizzare l’ingresso E0.6 per azzerare il

conteggio del tempo.

Occorre realizzare innanzitutto una base tempi da un secondo, cioè un treno di impulsi che abbia questo periodo. Quindi sarà sufficiente contare quanti impulsi di base tempi vengono generati durante la chiusura dell’ingresso, cioè gli istanti in cui sono contemporaneamente veri l’ingresso e l’impulso (vedere Figura 71).

Figura 71: Diagramma temporale del contatore tempo di chiusura ingresso

Il percorso 2 dello schema a contatti implementa il treno di impulsi da 1 secondo di periodo, così come visto nell’esempio 16. Al percorso 1 notiamo che l’ingresso ZV del contatore viene pilotato dalla combinazione logica AND (serie di contatti nel diagramma) tra l’ingresso E0.5 ed il treno d’impulsi, cioè viene pilotato proprio dagli impulsi da contare. Un contatto di E0.6 comanda invece l’ingresso reset del contatore per l’azzeramento del conteggio, così come richiesto dalla traccia.

14-16 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER AWL

U E0.5

UN T3

ZV Z5

UN T3

L W#16#0100

SA T3

U E0.6

R Z5

BE

Nel programma AWL, il primo gruppo di istruzioni si occupa dell’incremento del contatore in corrispondenza del fronte di salita della AND tra E0.5 ed il treno di impulsi generato da T3 nel secondo gruppo di istruzioni. L’ultimo gruppo opera il reset del conteggio sullo stato alto dell’ingresso E0.6.

Il valore di conteggio di Z5 rappresenta il numero dei secondi per cui l’ingresso è rimasto chiuso, con il limite proprio dei contatori di questo PLC di 999.

Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi)

Determinare per quante ore, minuti e secondi l’ingresso E0.5 rimane chiuso ed utilizzare l’ingresso E0.6 per

azzerare il conteggio del tempo.

Nel programmare la soluzione di questo problema si è fatto uso di simboli. La loro corrispondenza con gli operandi assoluti è stata stabilita secondo la seguente tabella.

Op. assoluto Simbolo Commento

E0.5 INGRESSO Ingresso per conteggio tempo

E0.6 RESET Ingresso per reset conteggio

T3 CLOCK Treno di impulsi con periodo 1s

Z5 SEC Contatore dei secondi

Z6 MIN Contatore dei minuti

Z7 ORE Contatore delle ore

Il programma proposto termina con la costruzione di un treno di impulsi col temporizzatore CLOCK, che fungerà da base tempi con periodo di 1 secondo. All’inizio dello stesso, invece, le prime tre istruzioni fanno avanzare il conteggio del contatore SEC quando un impulso di CLOCK viene rilevato durante la chiusura di INGRESSO. SEC, ovvero Z5, è quindi il contattore dei secondi.

Il secondo gruppo di istruzioni provvede al caricamento del valore dei secondi in ACCU2 e della costante 60 in ACCU1, quindi i due valori vengono comparati per l’uguaglianza e, in caso di test affermativo, il contatore MIN viene incrementato e quello SEC riazzerato. Il contatore MIN viene incrementato quindi ogni 60 secondi e costituisce così il contatore dei minuti.

Esempi di programmazione per PLC S7 300 14-17

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Il terzo gruppo di istruzioni provvede al caricamento del valore dei minuti in ACCU2 e della costante 60 in ACCU1, quindi i due valori vengono comparati per l’uguaglianza e, in caso di test affermativo, il contatore ORE viene incrementato e quello MIN riazzerato. Il contatore ORE viene incrementato quindi ogni 60 minuti e costituisce così il contatore delle ore.

Concludendo, quindi, il contatempo software costruito consente di contare fino a 999 ore, 59 minuti e 59 secondi (per la precisione!). Ammesso che si possa considerare un valore così preciso, su un tempo tanto lungo, tenendo presenti gli inevitabili errori dell’orologio interno sia dell'eventuale PLC reale che del PC su cui gira quello simulato.

Per esercizio, potreste provare a modificare il programma aggiungendo un contatore GIORNI che viene incrementato di 1 ogni 24 ore.

Per testare il programma, senza dover attendere tempi lunghissimi, è possibile diminuire la costante di tempo nel caricamento di CLOCK, aumentando così la frequenza del treno di impulsi, oppure forzare manualmente valori di conteggio prossimi a quelli di comparazione.

LADDER

14-18 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

AWL

U E0.5 'se ingresso chiuso

UN T3 'ogni secondo

ZV Z5 'incrementa il contatore dei secondi

L "SEC" 'se arrivato a 60 secondi

L 60

==I

ZV "MIN" 'incrementa il contatore dei minuti

R "SEC" 'e resetta quello dei secondi

L "MIN" 'se arrivato a 60 minuti

L 60

==I

ZV "ORE" 'incrementa il contatore delle ore

R "MIN" 'e resetta quello dei minuti

U "RESET" 'azzera i contatori a seguito della

R "SEC" 'chiusura ingresso RESET

R "MIN"

R "ORE"

UN "CLOCK" 'costruzione treno di impulsi con

L W#16#0100 'periodo di 1 secondo

SA "CLOCK"

BE

Esempio 21: generatore di onda quadra

L’uscita A4.7 deve essere comandata da un segnale ad onda quadra con Toff =1.5s e Ton =0.5s.

Nella soluzione proposta vengono utilizzati due temporizzatori che si ‘rimpallano’ l’eccitazione.

Alla prima elaborazione del programma ladder il contatto NC di T2 è chiuso, pertanto l’uscita del temporizzatore T1 (ritardo alla diseccitazione) viene attivata. Ora anche il contatto NA di T1 sul percorso 2 è chiuso ed anche l’uscita di T2 viene attivata.

Al ciclo successivo, il contatto NC di T1 questa volta è aperto e quindi il tempo di T1 inizia a scorrere, la sua uscita continua a rimanere alta lasciando T2 nello stesso stato.

Terminato il tempo di T1 (1.5s) l’uscita dello stesso va bassa ed il contatto NA sul percorso 2 si apre, il temporizzatore T2 viene avviato ed il suo tempo inizia a scorrere mentre la sua uscita continua a rimanere alta.

Trascorso il tempo T2, l’uscita del temporizzatore va bassa. Siamo tornati così nella condizione iniziale ed il ciclo si ripete come già descritto, indefinitamente.

L’andamento temporale dei segnali T1 e T2 è mostrato ai primi due righi della Figura 72; mentre il terzo rigo mostra l’andamento che dovrebbe avere l’uscita A4.7. Notiamo come questa uscita sia il complemento del segnale T1, a meno della piccola differenza di tempo pari ad un ciclo di esecuzione che, per motivi di chiarezza, è stata volutamente esagerata nel diagramma. Concludiamo il programma implementando al terzo percorso l'assegnazione dell’uscita del PLC secondo questo criterio.

Esempi di programmazione per PLC S7 300 14-19

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Figura 72: Diagramma temporale generatore di onda quadra

Il programma AWL è la semplice conversione di quello ladder e riteniamo che, a questo punto, non dovrebbe essere di difficile comprensione.

Impostando opportunamente il valore delle due costanti di tempo è possibile variare Ton e Toff realizzando un’onda quadra con diversi duty cycle e frequenza.

LADDER

AWL

UN T2 'attivazione tempo OFF

L W#16#0150

SA T1

U T1 'attivazione tempo ON

L W#16#0050

SA T2

UN T1

= A4.7 'impostazione uscita

BE

Esempio 22: altro generatore di onda quadra

L’uscita A4.7 deve essere comandata da un segnale ad onda quadra con Toff =1.5s e Ton =0.5s.

La soluzione qui presentata si differenzia da quella proposta nell’esempio precedente avente la medesima traccia. In effetti, qui è utilizzato un unico temporizzatore ad autoavviamento che viene impostato, nel primo gruppo di istruzioni, con un tempo pari al periodo del segnale richiesto (2s). Nel suo scorrere quindi, il tempo

14-20 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

varia quindi tra 200 e 0 centesimi di secondo. Tra i valori 200 e 50 l’uscita A4.7 deve essere impostata allo stato basso, mentre per valori minori di 50 la medesima dovrà assumere lo stato alto.

Il secondo gruppo di istruzioni provvede al confronto del valore di tempo attuale con la costante 50 e se minore attiva l’uscita.

Anche in questo caso è possibile cambiare sia il periodo del segnale, variando la costante di tempo di T3, che il tempo allo stato alto, variando la costante decimale di confronto.

LADDER

AWL

UN T3 'avvio temporizzatore

L W#16#0200 'periodo onda quadra

SA T3

L T3 'confronto con tempo

L 50 'allo stato ON

<I

= A4.7 'attivazione uscita

BE

Esempio 23: comando temporizzato luci

Un pulsante collegato all’ingresso E0.0 attiva per tre minuti un gruppo di lampade collegate all’uscita A4.1.

Insieme a queste viene attivata una spia collegata all’uscita A4.2 che, 15 secondi prima dello spegnimento

delle lampade, inizia a lampeggiare per avvisare dell’imminente scadere del tempo. La spia si spegne

definitivamente insieme con le lampade.

I temporizzatori T2 e T3 vengono utilizzati per generare un’onda quadra con periodo di 1s e duty cycle del 50%. Entrambi sono caricati con una costante di tempo da 50 centesimi di secondo. Vedere in merito il primo esempio sulla generazione di un’onda quadra.

Vengono utilizzati inoltre altri due temporizzatori ad impulso prolungato. T1, caricato con un tempo di 3 minuti (W#16#2180 cioè 180 secondi), comanda direttamente l’uscita del gruppo di lampade. T0, caricato con un tempo inferiore di 15 secondi (W#16#2165), sarà utilizzato per discriminare l’istante di inizio lampeggio della spia.

Esempi di programmazione per PLC S7 300 14-21

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Figura 73: Diagramma temporale del comando luci temporizzato

Gli andamenti temporali di T0 e T1 a seguito dell’impulso su E0.0 sono riportati rispettivamente nel secondo e terzo rigo del diagramma di Figura 73. Il quarto rigo riporta l’andamento, non in scala, del temporizzatore T2.

Osservando l’ultimo rigo si nota che la lampada spia deve essere accesa o quando è attivo T0 o, ancora, quando sono attivi A4.1 e T2 e contemporaneamente T0 è disattivo. Cioè in termini di espressione booleana:

)T2T0A4.1(T0A4.2 ⋅⋅+=

Le soluzioni proposte implementano precisamente quanto descritto.

Nella prima, realizzata in ladder, vengono utilizzati i primi due percorsi per la costruzione del segnale ad onda quadra. I successivi due attivano i temporizzatori delle lampade e della spia. L’ultimo costituisce l’implementazione della espressione logica che determina lo stato di accensione di quest’ultima.

Nel programma AWL, il primo gruppo di istruzioni genera il segnale ad onda quadra. Il secondo avvia i temporizzatori per le lampade e la spia. Il terzo accende le lampade e, infine, il quarto accende la spia secondo le modalità determinate dall’espressione trovata in precedenza.

AWL

UN T3 'oscillatore 1Hz

L W#16#0050

SA T2

U T2

L W#16#0050

SA T3

U E0.0 'avvio temporizzatore

L W#16#2165 'per inizio lampeggio spia

SV T0

L W#16#2180 'avvio temporizzatore luci

SV T1

U T1 'accensione luci

= A4.1

U T1 'accensione e

UN T0 'lampeggio spia

U T2

O T0

= A4.2

BE

14-22 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER

Esempio 24: divisore di frequenza (x4)

Realizzare un divisore di frequenza per 4: ogni quattro impulsi in ingresso viene attivato un impulso sull’uscita

A4.1.

La prima parte delle soluzioni proposte realizza un treno d’impulsi, così come abbiamo imparato a fare negli esempi precedenti, e ne mostra il segnale sull’uscita A4.0. La seconda parte implementa effettivamente il divisore. Esso è costituito da un contatore che viene decrementato ad ogni impulso del generatore (ingresso ZR pilotato da A4.0) e, al raggiungimento dello zero, si autopresetta al valore 4 (uscita Q riportata su ingresso S attraverso M0.0).

Ogni quattro impulsi di A4.0, per un solo ciclo di esecuzione, il conteggio si azzera. In questo ciclo l’uscita del contatore si disattiva e così il merker M0.0 ad essa collegato. Al contrario, l’uscita A4.1 del PLC si attiva, a causa della negazione del contatto di M0.0 che la comanda.

Esempi di programmazione per PLC S7 300 14-23

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Figura 74: Diagramma temporale divisore di frequenza per 4

LADDER

14-24 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

AWL

UN T1 'conteggio impulsi

ZR Z3

= M4.0 'attivazione uscita 0.5 secondi

UN Z3

= M4.1 'attivazione uscita ogni 2 secondi

L Z#4 'ripristino contatore a 4

S Z3

UN T1 'costruzione treno di impulsi

L W#16#0050 'da dividere

SA T1

U M4.0 ' allungamento impulso per visibilità

L W#16#0005

SA T10

U T10

= A4.0

U M4.1 ' allungamento impulso per visibilità

L W#16#0005

SA T11

U T11

= A4.1

BE

Esempio 25: conteggio ingressi chiusi (I soluzione)

Contare il numero degli ingressi chiusi del modulo al posto connettore 4.

Depositeremo in MB80 il numero degli ingressi chiusi ed utilizzeremo MD12 come puntatore all’ingresso correntemente in esame. La prima parte del programma consiste nell’inizializzazione a 0 di queste due variabili.

L’ istruzione successiva permette di caricare in RLC il complemento dell’ingresso puntato da MD12, con indirizzo di canale nei tre bit meno significativi e indirizzo di modulo nei bit da 3 a 18. Al primo passaggio, essendo MD12 a 0, verrà caricato il complemento dello stato di E0.0.

L’istruzione successiva è un salto condizionato: se RLC=1, cioè se il complemento di E0.0 è uguale ad 1, cioè se l’ingresso è aperto, l’elaborazione viene proseguita dall’etichetta INC. Se l’ingresso è chiuso, invece, il salto non viene effettuato e l’elaborazione continua con l’istruzione seguente.

In quest'ultimo caso, le tre istruzioni successive incrementano il valore di MB80, cioè del numero che rappresenta il conteggio di ingressi trovati chiusi, caricandone dapprima il valore in ACCU1, quindi incrementandolo di 1 e, infine, trasferendo il risultato di nuovo in MB80. Il compito complessivo di queste istruzioni e delle precedenti è quello di incrementare la variabile MB80 se l’ingresso è chiuso e di non incrementarla se l’ingresso è aperto.

In un caso o nell’altro l’elaborazione arriva al gruppo di istruzioni individuato dall’etichetta INC che provvede, come prima azione, ad incrementare MD12. Quindi, viene confrontato il valore appena ottenuto con il valore

Esempi di programmazione per PLC S7 300 14-25

Autoware srl AW-SYS – software di simulazione di PLC e impianti

15. Se minore o uguale, l’ingresso puntato esiste e dobbiamo valutarne il suo stato tornando all’etichetta TEST, come specificato dall’istruzione di salto condizionato. Altrimenti, nel caso il valore sia 16, il canale non esiste e dobbiamo uscire dal blocco, avendo esaminato tutti i sedici ingressi disponibili, da E0.0 a E1.7.

La parte di programma che va dall’etichetta TEST all’istruzione SPB =TEST viene quindi eseguita sedici volte, prima di ritornare al blocco chiamante OB1 per mezzo dell’ultima istruzione BE. Ogni volta MD12 conterrà un valore diverso, ed ogni volta il gruppo l’istruzione UN E[MD12] caricherà in RLC il complemento di un diverso ingresso del modulo, dal primo fino all’ultimo. In particolare, con MD12 pari a (0000_0007)16, viene puntato l’ultimo canale (111 ai tre bit meno significativi) del byte 0. Il successivo incremento, porta MD12 al valore (0000_0008)16 che punta il canale 0 (000 ai tre bit meno significativi) del modulo 1.

La parte di programma che va da L MB80 fino a T MB80 viene elaborata soltanto se l’ingresso testato correntemente è chiuso, col risultato di eseguire un incremento di MB80 soltanto in questa condizione e, siccome il valore iniziale di questo merker byte è pari a 0, alla fine dell’esecuzione del blocco, esso conterrà effettivamente il numero degli ingressi chiusi.

LADDER

14-26 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

AWL

L L#0 'impostazioni iniziali

T MB80

T MD12

TEST: UN E[MD12] 'indicizzazione ingresso

SPB INC

L MB80 'l'ingresso è attivo:

INC 1 'incremento del merker byte

T MB80 'di conteggio

INC: L MD12 'incremento indice per

INC 1 'esame ingresso successivo

T MD12

L 15 'controllo se finito

<=I

SPB TEST

BE

Esempio 26: conteggio ingressi chiusi (II soluzione)

Contare il numero degli ingressi chiusi del modulo al posto connettore 4.

In questo esercizio, allo scopo di utilizzare un’operazione di scorrimento, affrontiamo una soluzione differente rispetto a quella programmata nell’esempio precedente.

Il contatore di ingressi chiusi è ancora MB80 ed il suo valore viene ancora inizializzato a 0 all’inizio dell’OB1. MW10 rappresenta invece una maschera a 16 bit, uno solo dei quali per volta sarà ad 1. Il suo valore iniziale è 1 cioè (0000_0000_0000_0001)2, dove solo il bit 0 è vero.

Le prime tre istruzione del blocco FC4 caricano negli accumulatori i valori della maschera e della word di ingresso relativa al modulo e ne eseguono la AND bit a bit. Al primo passaggio, col valore della maschera appena visto, la AND dà risultato diverso da 0 solo se E0.0 è chiuso. Quindi il salto su zero previsto dall’istruzione successiva viene effettuato solo per ingresso aperto.

Se l’ingresso è chiuso, come fatto per l’esempio precedente, incrementiamo il byte di conteggio MB80.

In un caso o nell’altro i due percorsi di elaborazione si ricongiungono all’etichetta INC dove, dopo aver caricato la maschera in ACCU1, si provvede allo scorrimento a sinistra di una posizione. Il risultato dello scorrimento viene ritrasferito in MW10.

Il bit di maschera, dopo 16 scorrimenti, fuoriesce dall’accumulatore e viene memorizzato in A1. L’operazione successiva con bit A1=0 rimanda l’elaborazione alla prima istruzione del blocco per il test sull’ingresso successivo mentre, con A1=1 nessun salto viene eseguito e l’elaborazione del blocco termina.

Esempi di programmazione per PLC S7 300 14-27

Autoware srl AW-SYS – software di simulazione di PLC e impianti

LADDER

OB1

FC4

14-28 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Esempi di programmazione per PLC S7 300 14-29

Autoware srl AW-SYS – software di simulazione di PLC e impianti

AWL

OB1

L L#0 'inizializzazione merker byte

T MB80 'di conteggio

L L#1 'inizializzazione maschera

T MW10

UC FC4

BE

FC4

TEST: L MW10 'controllo dell'ingresso

L EW0 'non mascherato

UW

SPZ INC

L MB80 'l'ingresso è attivo:

L L#1 'incremento del merker byte

+I 'di conteggio

T MB80

INC: L MW10 'shift della maschera per

SLW 1 'esame ingresso successivo

T MW10

SPMZ TEST 'controllo se finito

BE

Esempio 27: semaforo per Formula 1

Alla attivazione del pulsante collegato all’ingresso E0.0 le cinque lampade di un semaforo devono

accendersi in progressione, una ogni secondo. Un secondo dopo la completa accensione, le lampade

dovranno spegnersi.

Nel programmare la soluzione di questo problema si è fatto uso di simboli. La loro corrispondenza con gli operandi assoluti è stata stabilita secondo la seguente tabella.

Op. assoluto Simbolo Commento

E0.0 START Pulsante di avvio

A4.0 L1 Lampada 1

A4.1 L2 Lampada 2

A4.2 L3 Lampada 3

A4.3 L4 Lampada 4

A4.4 L5 Lampada 5

Il diagramma temporale di Figura 75 mostra, nelle righe intermedie, l’andamento delle uscite del PLC che comandano le lampade del semaforo in funzione dell’ingresso START riportato al primo rigo.

14-30 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Figura 75: Diagramma temporale per semaforo di Formula 1

La chiusura di questo ingresso, oltre a settare l’uscita che comanda la prima lampada, determinandone l'immediata accensione, attiva cinque temporizzatori con ritardo all’eccitazione con memoria, impostati con tempi da 1 a 5 secondi. L’uscita di ognuno di essi, T1 escluso, trascorso il tempo programmato, si porterà allo stato alto attivando la rispettiva lampada e ottenendo così facilmente la sequenza di accensione. Il temporizzatore T1, invece, provvede allo spegnimento di tutte le lampade resettando L1 e tutti i temporizzatori, ivi compreso se stesso.

Portate in Run il PLC, trasformate l’interruttore 0.1 in un pulsante, premete il pulsante e …vinca il migliore!

LADDER

Esempi di programmazione per PLC S7 300 14-31

Autoware srl AW-SYS – software di simulazione di PLC e impianti

14-32 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

AWL

U E0.1 'impostazione temporizzatori per sequenza

L W#16#0100

SS T2

L W#16#0200

SS T3

L W#16#0300

SS T4

L W#16#0400

SS T5

L W#16#0500

SS T1

U E0.1 'impostazione uscite

S A4.0

U T2

= A4.1

U T3

= A4.2

U T4

= A4.3

U T5

= A4.4

U T1 'reset temporizzatori

R A4.0

R T1

R T2

R T3

R T4

R T5

BE

Esempio 28: luci sequenziali a 4 canali

Costruire un sequenziatore a 4 canali che preveda il seguente schema di accensione.

Figura 76: Schema di accensione per sequenziatore a 4 canali

Lo schema stabilisce la sequenza di accensione delle lampade collegate ai quattro canali: i cerchi pieni segnalano l’attivazione del canale durante lo specifico passo. Così durante il passo 0 sarà attivo il canale 0, durante il passo 1 il canale 1 e così via. Se le lampade vengono posizionate in linea, l’effetto sarà quello di uno spostamento della fonte luminosa dalla prima all’ultima posizione e poi al contrario.

Esempi di programmazione per PLC S7 300 14-33

Autoware srl AW-SYS – software di simulazione di PLC e impianti

Al passo 5 succede un passo 6 identico allo 0 e poi un altro identico al passo 1, cioè il diagramma viene percorso ciclicamente. Immaginate di ritagliarlo ed avvolgerlo a cilindro, facendo combaciare i lembi opposti del passo 0 e del 5, esso sarebbe simile al tamburo di un carillon: terminato il motivetto, comincia nuovamente.

Continuando con il parallelo sonoro, perché un carillon funzioni abbiamo bisogno di un cilindro con delle camme disposte in modo opportuno sulla sua superficie laterale e di un meccanismo che lo faccia girare.

Cominciamo proprio a costruire quest’ultimo. Il meccanismo di avanzamento del nostro sequenziatore sarà un treno di impulsi con periodo di 0.2 secondi, cioè una base tempi con periodo scelto in modo da portare ad avere una velocità di spostamento della fonte luminosa ritenuta idonea. Le istruzioni

UN "TIMER"

L W#16#0010

SA "TIMER"

costruiscono un treno di impulsi, così come abbiamo imparato a fare in precedenza. Il cilindro invece sarà costituito da un contatore che, partendo da 0, viene incrementato ad ogni impulso.

UN "TIMER"

ZV "COUNTER"

Arrivato a 6, cioè dopo l’ultimo passo, esso dovrà essere reimpostato al valore 0 di partenza, essendo il passo 6 identico al passo 0 per l’appunto.

L "COUNTER"

L 6

==I

R "COUNTER"

Prima di sistemare le camme sul cilindro identifichiamo gli spicchi del cilindro che corrispondono ad ogni specifico passo. Le istruzioni

L "COUNTER"

L 0

==I

= "PASSO0"

impostano ad 1 il merker PASSO0 quando il contatore vale 0, identificando tra i possibili valori del contatore quello corrispondente a tale passo. I successivi gruppi di istruzioni impostano i merker corrispondenti a ciascuno degli altri passi. Così, alla fine, ogni 0.2s sarà attivo un merker diverso, in successione da PASSO0 a PASSO5 e, quindi, riprendendo da PASSO0.

Ora che abbiamo identificato le posizioni possiamo inserire le camme. Cominciamo dal canale 0, osserviamo nuovamente la griglia di Figura 76, il canale 0 è attivo solo durante il passo 0, quindi:

O "PASSO0"

= "CH0"

Il canale 1 deve essere attivo sia durante il passo 1 che durante il passo 5:

O "PASSO1"

O "PASSO5"

= "CH1"

Proseguendo così, per gli altri due canali, fino a terminare la costruzione del carillon o, abbandonando il parallelo didattico, del sequenziatore.

14-34 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

LADDER

Esempi di programmazione per PLC S7 300 14-35

Autoware srl AW-SYS – software di simulazione di PLC e impianti

14-36 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

AWL

UN "TIMER" 'costruzione base tempi

L W#16#0010

SA "TIMER"

UN "TIMER" 'avanzamento passo

ZV "COUNTER"

L "COUNTER" 'reinizializzazione ciclo

L 6

==I

R "COUNTER"

L "COUNTER" 'test passo 0

L 0

==I

= "PASSO0"

L "COUNTER" 'test passo 1

L 1

==I

= "PASSO1"

L "COUNTER" 'test passo 2

L 2

==I

= "PASSO2"

L "COUNTER" 'test passo 3

L 3

==I

= "PASSO3"

L "COUNTER" 'test passo 4

L 4

==I

= "PASSO4"

L "COUNTER" 'test passo 5

L 5

==I

= "PASSO5"

O "PASSO0" 'impostazione canale 0

= "CH0"

O "PASSO1" 'impostazione canale 1

O "PASSO5"

= "CH1"

O "PASSO2" 'impostazione canale 2

O "PASSO4"

= "CH2"

O "PASSO3" 'impostazione canale 3

= "CH3"

BE

In questo esempio è possibile aumentare o diminuire la durata dei passi semplicemente cambiando la costante con cui viene caricato il temporizzatore, producendo l’effetto di variare la velocità dello spostamento apparente della fonte luminosa. E’ possibile modificare il numero dei passi, cambiando la costante con cui viene confrontato il valore di conteggio per l’azzeramento del contatore ed aggiungendo altri confronti per discriminare i nuovi passi. E’ possibile, ancora, cambiare la sequenza di accensione delle lampade, modificando le condizioni nei gruppi di OR che costituiscono l’ultima parte del programma.

Sicuramente quella presentata non è l’unica soluzione al problema e, in genere, man mano che questo diventa più complesso, le soluzioni possibili aumentano. Probabilmente non è neppure la migliore in termini di

Esempi di programmazione per PLC S7 300 14-37

Autoware srl AW-SYS – software di simulazione di PLC e impianti

versatilità, semplicità di manutenzione o di eleganza di programmazione, anche se nel prossimo esempio proporremo una soluzione che meglio risponde a questi requisiti. Ma è l’approccio più semplice, che utilizza cioè le istruzioni più comuni, che siamo riusciti a produrre e questo è un requisito fondamentale per il compito che questo capitolo del manuale si propone: accompagnarvi nei primi passi nel mondo della programmazione dei PLC.

Esempio 29: luci sequenziali a barra

Costruire un sequenziatore a 8 canali che preveda il seguente schema di accensione.

L’effetto ottico, se le lampade sono disposte in linea verticale, così come i LED del modulo del PLC, è quello di un progressivo riempimento della barra dovuto a fonti luminose che compaiono in alto e man mano scendono fino ad occupare l’ultima posizione libera, cioè spenta. Una volta illuminata tutta la barra il ciclo riparte spegnendo le lampade e ricominciando il riempimento.

La sequenza è sufficientemente più complicata della precedente da spingerci a trovare una soluzione diversa, più funzionale e, magari, più versatile. Quella prevista utilizza un blocco dati per memorizzare le combinazioni di accensione della sequenza. Ogni data word contiene nel byte basso il codice di accensione delle lampade. L’ultima word contiene il dato (FFFF)16 che funge da terminatore di sequenza con le modalità che vedremo tra poco.

14-38 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

Il cuore del programma è costituito dal blocco FB10 che viene richiamato ogni 2 decimi di secondo e che provvedere a leggere i dati ed inviarli al modulo di uscita. Vediamo come.

MW100 costituisce il puntatore alla data word attuale. Il suo valore iniziale è 0. Il gruppo di istruzioni all’etichetta READ, successivo all’apertura del DB20, carica dapprima il valore (FFFF)16 in accumulatore, quindi il valore della data word corrente utilizzando un’istruzione indicizzata, e confronta i due valori: se diversi l’elaborazione continua trasferendo il contenuto di ACCU1, il dato della sequenza, al modulo 2 di uscita. In seguito, dopo l’incrementato del valore del puntatore, si ritorna al blocco chiamante cosicché, quando nuovamente richiamato FB4, la data word caricata sarà quella successiva.

Se il valore letto è invece uguale a (FFFF)16, l’elaborazione continua dapprima all’etichetta INIT dove si provvede all’azzeramento dell’indice per il ritorno all’inizio sequenza, quindi all’etichetta READ per la nuova lettura della prima combinazione della sequenza, DW0.

AWL

OB1 (Principale)

OB100 (Inizializzazione)

FC10 (Accensione luci)

Esempi di programmazione per PLC S7 300 14-39

Autoware srl AW-SYS – software di simulazione di PLC e impianti

DB20 (Dati per la sequenza)

(VEDI AWL)

AWL

OB1 (Principale)

UN T0 'chiamata a tempo del FB10

CC FC10

UN T0 'base tempi da 0.2 secondi

L W#16#0020

SA T0

BE

OB100 (Inizializzazione)

L 0 'reinizializzazione indice

T MW100

BE

FC10 (Accensione luci)

AUF DB20 'apertura blocco dati

READ: L W#16#FFFF 'caricamento codice fine ciclo

L DBW[MW100] 'lettura del dato corrente

==I 'e controllo se fine ciclo

SPB INIT

T AB4 'accensione lampade

L MW100 'incremento dell'indice

INC 2

T MW100

BEA

INIT: L 0 'reinizializzazione indice

T MW100

SPA READ

BE

DB20 (Dati per la sequenza)

0.0 WORD 2#0000_0000_0000_0000 'Dati del ciclo

2.0 WORD 2#0000_0000_0000_0001 '

4.0 WORD 2#0000_0000_0000_0010 '

6.0 WORD 2#0000_0000_0000_0100 '

8.0 WORD 2#0000_0000_0000_1000 '

10.0 WORD 2#0000_0000_0001_0000 '

12.0 WORD 2#0000_0000_0010_0000 '

14.0 WORD 2#0000_0000_0100_0000 '

14-40 Esempi di programmazione per PLC S7 300

AW-SYS – software di simulazione PLC e impianti Autoware srl

16.0 WORD 2#0000_0000_1000_0000 '

18.0 WORD 2#0000_0000_1000_0001 '

20.0 WORD 2#0000_0000_1000_0010 '

22.0 WORD 2#0000_0000_1000_0100 '

24.0 WORD 2#0000_0000_1000_1000 '

26.0 WORD 2#0000_0000_1001_0000 '

28.0 WORD 2#0000_0000_1010_0000 '

30.0 WORD 2#0000_0000_1100_0000 '

32.0 WORD 2#0000_0000_1100_0001 '

34.0 WORD 2#0000_0000_1100_0010 '

36.0 WORD 2#0000_0000_1100_0100 '

38.0 WORD 2#0000_0000_1100_1000 '

40.0 WORD 2#0000_0000_1101_0000 '

42.0 WORD 2#0000_0000_1110_0000 '

44.0 WORD 2#0000_0000_1110_0001 '

46.0 WORD 2#0000_0000_1110_0010 '

48.0 WORD 2#0000_0000_1110_0100 '

50.0 WORD 2#0000_0000_1110_1000 '

52.0 WORD 2#0000_0000_1111_0000 '

54.0 WORD 2#0000_0000_1111_0001 '

56.0 WORD 2#0000_0000_1111_0010 '

58.0 WORD 2#0000_0000_1111_0100 '

60.0 WORD 2#0000_0000_1111_1000 '

62.0 WORD 2#0000_0000_1111_1001 '

64.0 WORD 2#0000_0000_1111_1010 '

66.0 WORD 2#0000_0000_1111_1100 '

68.0 WORD 2#0000_0000_1111_1101 '

70.0 WORD 2#0000_0000_1111_1110 '

72.0 WORD 2#0000_0000_1111_1111 '

74.0 WORD W#16#FFFF 'Terminatore di ciclo

Note _______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________