Sei sulla pagina 1di 476

AW-SYS

software di simulazione di PLC e impianti

Manuale d’uso
Revisione: 2.02.10

Autoware srl
Via Pio XII, 15 – 74100 Taranto Via Roma, 6 –70010 Casamassima
Tel: 099.7303413 Tel: 080.675426
URL: http://www.autoware.com
e-mail: support@autoware.com
SOMMARIO
CAPITOLO 1 INTRODUZIONE AD AW-SYS
Generalità ....................................................................................................................................................1-1
Composizione..............................................................................................................................................1-2
Il modulo PC-Sim........................................................................................................................................1-3
Il modulo PL-Sim........................................................................................................................................1-3
Il modulo PC-RIS........................................................................................................................................1-4
Il modulo PL-RIS........................................................................................................................................1-5
Il modulo PL-Lab ........................................................................................................................................1-5
Il modulo PL-Net ........................................................................................................................................1-5
Guida in linea ..............................................................................................................................................1-6
Servizio Supporto Tecnico Utenti AW-SYS...............................................................................................1-6
Autoware su Internet ...................................................................................................................................1-7
Struttura del manuale ..................................................................................................................................1-7

CAPITOLO 2 INSTALLAZIONE DI AW-SYS


Contenuto della confezione .........................................................................................................................2-1
Installazione di AW-SYS ............................................................................................................................2-2
Rimozione del programma ..........................................................................................................................2-3
Note per l’installazione in ambiente Windows NT .....................................................................................2-3
Note per l’installazione in ambiente Windows 2000...................................................................................2-3

CAPITOLO 3 PC-SIM: IL SIMULATORE DI PLC


Introduzione ................................................................................................................................................3-1
Composizione di un progetto ......................................................................................................................3-2
Finestra Lista blocchi (S5 100U e S7 300)..................................................................................................3-3
L’editor Ladder ...........................................................................................................................................3-8
L'editor AWL per il PLC PS3 ...................................................................................................................3-20
L'editor AWL per il PLC S5 100U............................................................................................................3-24
L'editor AWL per il PLC S7 300 ..............................................................................................................3-31
L’editor dati (S5 100U).............................................................................................................................3-37
L’editor dati (S7 300)................................................................................................................................3-40
Finestra Tabella dei simboli ......................................................................................................................3-44
Finestra Stato variabili ..............................................................................................................................3-49
Finestra Impostazioni preset (FPC 404) ....................................................................................................3-55
Finestra PLC .............................................................................................................................................3-57
Finestra Informazioni sul progetto ............................................................................................................3-62
Finestra Informazioni su PC-Sim ..............................................................................................................3-64
Comandi dei menu ....................................................................................................................................3-65
Barra del titolo ..........................................................................................................................................3-83
Barra strumenti..........................................................................................................................................3-84
Scelte rapide da tastiera.............................................................................................................................3-85
Stampa della documentazione ...................................................................................................................3-86
Messaggi di avviso ....................................................................................................................................3-88
Errori di compilazione...............................................................................................................................3-96

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


ii Sommario

Errori di esecuzione...................................................................................................................................3-99

CAPITOLO 4 PL-SIM: IL SIMULATORE DI IMPIANTI


Introduzione ................................................................................................................................................4-1
Avvio degli impianti....................................................................................................................................4-1
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

CAPITOLO 5 PC-RIS: INTERFACCIA VERSO SISTEMI DI CONTROLLO REALI


Introduzione ................................................................................................................................................5-1
Perché usare PC-RIS ...................................................................................................................................5-2
Messa in funzione del sistema .....................................................................................................................5-2
Proseguimento dell'esperienza.....................................................................................................................5-5

CAPITOLO 6 PL-RIS: INTERFACCIA VERSO IMPIANTI REALI


Introduzione ................................................................................................................................................6-1
Messa in funzione del sistema .....................................................................................................................6-1

CAPITOLO 7 PL-LAB: INTERFACCIA VERSO IMPIANTI AUTOCOSTRUITI


Introduzione ................................................................................................................................................7-1
Avvio del sistema ........................................................................................................................................7-2
Descrizione di PL-Lab.................................................................................................................................7-2
Scambio dati con InTouch...........................................................................................................................7-4
Costruzione di un primo impianto ...............................................................................................................7-4
Costruzione di un impianto più complesso................................................................................................7-11
L'impianto prototipo ..................................................................................................................................7-17

CAPITOLO 8 PL-NET: INTERFACCIA VERSO SISTEMI MPS


Generalità ....................................................................................................................................................8-1
Messa in funzione del sistema .....................................................................................................................8-1
Indirizzamento degli ingressi/uscite ............................................................................................................8-4
Indirizzamento delle word globali ...............................................................................................................8-5
Considerazioni per l'uso delle word globali.................................................................................................8-6

CAPITOLO 9 REALIZZIAMO INSIEME LA PRIMA APPLICAZIONE


Operazioni preliminari.................................................................................................................................9-1
PLC FPC 404 ..............................................................................................................................................9-1
PLC PS3 ......................................................................................................................................................9-5
PLC S5 100U ..............................................................................................................................................9-9

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


Sommario iii

PLC S7 300 ...............................................................................................................................................9-14


Test del programma...................................................................................................................................9-19

CAPITOLO 10 NOTE SULLA PROGRAMMAZIONE DEL PLC FPC 404


Generalità sul PLC FPC 404 .....................................................................................................................10-1
Indirizzamento...........................................................................................................................................10-1
Elaborazione del programma utente..........................................................................................................10-3
Programmazione in Ladder .......................................................................................................................10-4
Operazioni di temporizzazione..................................................................................................................10-5
Operazioni di conteggio ............................................................................................................................10-6

CAPITOLO 11 ESEMPI DI PROGRAMMAZIONE PER PLC FPC 404


Esempio 1: combinazione AND................................................................................................................11-2
Esempio 2: combinazione OR...................................................................................................................11-2
Esempio 3: combinazione AND di OR .....................................................................................................11-2
Esempio 4: combinazione OR di AND .....................................................................................................11-3
Esempio 5: combinazione XOR ................................................................................................................11-3
Esempio 6: autoritenuta.............................................................................................................................11-3
Esempio 7: set e reset................................................................................................................................11-4
Esempio 8: rilevazione fronti ....................................................................................................................11-4
Esempio 9: temporizzatore ad impulso .....................................................................................................11-5
Esempio 10: temporizzatore ad impulso prolungato .................................................................................11-6
Esempio 11: temporizzatore con ritardo all’eccitazione ...........................................................................11-7
Esempio 12: temporizzatore con ritardo alla diseccitazione .....................................................................11-8
Esempio 13: temporizzatore con ritardo all’eccitazione con memoria......................................................11-9
Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione ......................................11-10
Esempio 15: impulso ritardato ................................................................................................................11-11
Esempio 16: treno di impulsi...................................................................................................................11-12
Esempio 17: conteggio all’indietro .........................................................................................................11-12
Esempio 18: conteggio in avanti .............................................................................................................11-13
Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)....................................................11-14
Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi)...............................11-15
Esempio 21: generatore di onda quadra ..................................................................................................11-16
Esempio 22: comando temporizzato luci ................................................................................................11-17
Esempio 23: divisore di frequenza (x4) ..................................................................................................11-18
Esempio 24: semaforo per Formula 1 .....................................................................................................11-19

CAPITOLO 12 NOTE SULLA PROGRAMMAZIONE DEL PLC PS3


Generalità sul PLC PS3.............................................................................................................................12-1
Indirizzamento...........................................................................................................................................12-1
Elaborazione del programma utente..........................................................................................................12-5
Registri ......................................................................................................................................................12-7
Programmazione in AWL .........................................................................................................................12-8
Programmazione in Ladder .....................................................................................................................12-18
Moduli di sistema....................................................................................................................................12-20

CAPITOLO 13 ESEMPI DI PROGRAMMAZIONE PER PLC PS3


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

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


iv Sommario

Esempio 2: combinazione OR ...................................................................................................................13-2


Esempio 3: combinazione AND di OR......................................................................................................13-3
Esempio 4: combinazione OR di AND......................................................................................................13-3
Esempio 5: combinazione XOR ................................................................................................................13-4
Esempio 6: autoritenuta.............................................................................................................................13-5
Esempio 7: set e reset ................................................................................................................................13-5
Esempio 8: rilevazione fronti ....................................................................................................................13-6
Esempio 9: temporizzatore con ritardo all’eccitazione..............................................................................13-6
Esempio 10: temporizzatore con ritardo alla diseccitazione......................................................................13-7
Esempio 11: temporizzatore ad impulso....................................................................................................13-8
Esempio 12: temporizzatore ad impulso prolungato .................................................................................13-9
Esempio 13: temporizzatore con ritardo all’eccitazione con memoria ....................................................13-10
Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione.......................................13-11
Esempio 15: impulso ritardato.................................................................................................................13-12
Esempio 16: treno di impulsi...................................................................................................................13-13
Esempio 17: conteggio all’indietro..........................................................................................................13-14
Esempio 18: conteggio in avanti..............................................................................................................13-14
Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi) ....................................................13-16
Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi) ...............................13-17
Esempio 21: generatore di onda quadra ..................................................................................................13-20
Esempio 22: altro generatore di onda quadra ..........................................................................................13-21
Esempio 23: comando temporizzato luci.................................................................................................13-22
Esempio 24: divisore di frequenza (x4)...................................................................................................13-24
Esempio 25: semaforo per Formula 1......................................................................................................13-25
Esempio 26: luci sequenziali a 4 canali...................................................................................................13-27
Esempio 27: conteggio ingressi chiusi.....................................................................................................13-30

CAPITOLO 14 NOTE SULLA PROGRAMMAZIONE DEL PLC S5 100U


Generalità sul PLC S5 100U .....................................................................................................................14-1
Indirizzamento...........................................................................................................................................14-2
Elaborazione del programma utente ..........................................................................................................14-6
Programmazione strutturata.......................................................................................................................14-8
Programmazione in AWL........................................................................................................................14-11
Programmazione in Ladder .....................................................................................................................14-34

CAPITOLO 15 ESEMPI DI PROGRAMMAZIONE PER PLC S5 100U


Esempio 1: combinazione AND ................................................................................................................15-1
Esempio 2: combinazione OR ...................................................................................................................15-2
Esempio 3: combinazione AND di OR......................................................................................................15-2
Esempio 4: combinazione OR di AND......................................................................................................15-3
Esempio 5: combinazione XOR ................................................................................................................15-4
Esempio 6: autoritenuta.............................................................................................................................15-4
Esempio 7: set e reset ................................................................................................................................15-5
Esempio 8: rilevazione fronti ....................................................................................................................15-5
Esempio 9: temporizzatore ad impulso......................................................................................................15-6
Esempio 10: temporizzatore ad impulso prolungato .................................................................................15-7
Esempio 11: temporizzatore con ritardo all’eccitazione............................................................................15-8
Esempio 12: temporizzatore con ritardo all’eccitazione con memoria e reset...........................................15-9

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


Sommario v

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


Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione ......................................15-11
Esempio 15: impulso ritardato ................................................................................................................15-11
Esempio 16: treno di impulsi...................................................................................................................15-13
Esempio 17: conteggio all’indietro .........................................................................................................15-14
Esempio 18: conteggio in avanti .............................................................................................................15-14
Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)....................................................15-15
Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi)...............................15-16
Esempio 21: generatore di onda quadra ..................................................................................................15-18
Esempio 22: altro generatore di onda quadra..........................................................................................15-20
Esempio 23: comando temporizzato luci ................................................................................................15-20
Esempio 24: divisore di frequenza (x4) ..................................................................................................15-23
Esempio 25: conteggio ingressi chiusi (I soluzione) ...............................................................................15-25
Esempio 26: conteggio ingressi chiusi (II soluzione)..............................................................................15-26
Esempio 27: semaforo per Formula 1 .....................................................................................................15-27
Esempio 28: luci sequenziali a 4 canali...................................................................................................15-30
Esempio 29: luci sequenziali a barra.......................................................................................................15-33

CAPITOLO 16 NOTE SULLA PROGRAMMAZIONE DEL PLC S7 300


Generalità sul PLC S7 300 ........................................................................................................................16-1
Indirizzamento...........................................................................................................................................16-2
Elaborazione del programma utente..........................................................................................................16-7
Programmazione strutturata ....................................................................................................................16-10
Programmazione in AWL .......................................................................................................................16-13
Programmazione in Ladder .....................................................................................................................16-38

CAPITOLO 17 ESEMPI DI PROGRAMMAZIONE PER PLC S7 300


Esempio 1: combinazione AND................................................................................................................17-2
Esempio 2: combinazione OR...................................................................................................................17-2
Esempio 3: combinazione AND di OR .....................................................................................................17-3
Esempio 4: combinazione OR di AND .....................................................................................................17-4
Esempio 5: combinazione XOR ................................................................................................................17-4
Esempio 6: autoritenuta.............................................................................................................................17-5
Esempio 7: set e reset................................................................................................................................17-5
Esempio 8: rilevazione fronti ....................................................................................................................17-6
Esempio 9: temporizzatore ad impulso .....................................................................................................17-7
Esempio 10: temporizzatore ad impulso prolungato .................................................................................17-8
Esempio 11: temporizzatore con ritardo all’eccitazione ...........................................................................17-8
Esempio 12: temporizzatore con ritardo all’eccitazione con memoria e reset ..........................................17-9
Esempio 13: temporizzatore con ritardo alla diseccitazione ...................................................................17-10
Esempio 14: temporizzatore con ritardo all’eccitazione ed alla diseccitazione ......................................17-11
Esempio 15: impulso ritardato ................................................................................................................17-12
Esempio 16: treno di impulsi...................................................................................................................17-13
Esempio 17: conteggio all’indietro .........................................................................................................17-14
Esempio 18: conteggio in avanti .............................................................................................................17-14
Esempio 19: conteggio tempo di chiusura di un ingresso (in secondi)....................................................17-15
Esempio 20: conteggio tempo di chiusura di un ingresso (in ore, minuti e secondi)...............................17-16
Esempio 21: generatore di onda quadra ..................................................................................................17-18

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


vi Sommario

Esempio 22: altro generatore di onda quadra ..........................................................................................17-20


Esempio 23: comando temporizzato luci.................................................................................................17-20
Esempio 24: divisore di frequenza (x4)...................................................................................................17-23
Esempio 25: conteggio ingressi chiusi (I soluzione) ...............................................................................17-24
Esempio 26: conteggio ingressi chiusi (II soluzione) ..............................................................................17-25
Esempio 27: semaforo per Formula 1......................................................................................................17-27
Esempio 28: luci sequenziali a 4 canali...................................................................................................17-29
Esempio 29: luci sequenziali a barra .......................................................................................................17-32

APPENDICE A L'INTERFACCIA EASYPORT D16


Generalità .......................................................................................................................................................1
Anello in fibra ottica.......................................................................................................................................1
Funzione dei LED ..........................................................................................................................................2
Raccomandazioni ...........................................................................................................................................3
Configurazione ...............................................................................................................................................3
Identificazione dei conduttori.........................................................................................................................4
Dati tecnici .....................................................................................................................................................5

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


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


CAPITOLO 1 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;

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


1-2 Introduzione ad AW-SYS

• 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
• PC-RIS Interfaccia tra sistemi di controllo reali ed impianti simulati
• PL-RIS Interfaccia tra PLC simulato e impianti reali
• PL-Lab Interfaccia verso impianti autocostruiti
• PL-Net Interfaccia verso sistemi MPS.

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


Introduzione ad AW-SYS 1-3

Figura 1: composizione di AW-SYS

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 o gli impianti reali presenti nel vostro laboratorio per mezzo del modulo PC-RIS.
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

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


1-4 Introduzione ad AW-SYS

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-Sim o, tramite il modulo
PL-RIS, dai PLC reali di qualsiasi marca presenti nel vostro laboratorio. Attraverso PL-RIS, essi potranno
essere pilotati anche da sistemi a microprocessore, microcontrollori, schede elettroniche o quadri elettrici in
logica cablata.
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 PC-RIS
PC-RIS è il modulo di AW-SYS che consente di pilotare gli impianti simulati di PL-Sim con svariati sistemi
hardware, eventualmente già presenti nel vostro laboratorio ma comunque non compresi nel sistema AW-
SYS, quali:
• PLC reali (di qualsiasi marca)
• sistemi a microprocessore
• microcontrollori
• schede elettroniche in logica cablata
• quadri elettrici in logica cablata
• personal computer con schede di I/O.

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


Introduzione ad AW-SYS 1-5

Per il funzionamento è necessario disporre dei seguenti accessori hardware:


• interfaccia hardware per la connessione 16 ingressi e 16 uscite digitali
• cavo di collegamento alla porta seriale del PC
• n.2 cavi multipolari di collegamento al sistema di controllo reale
Per aumentare il numero di I/O collegabili è possibile interconnettere su ring in fibra ottica fino ad un
massimo di 8 interfacce.

Il modulo PL-RIS
PL-RIS è il modulo di AW-SYS che consente di collegare i PLC simulati di PC-Sim agli impianti reali o banchi
di esercitazione presenti nel vostro laboratorio.
Per il funzionamento è necessario disporre dei seguenti accessori hardware:
• interfaccia hardware per la connessione 16 ingressi e 16 uscite digitali
• cavo di collegamento alla porta seriale del PC
• n.2 cavi multipolari di collegamento al sistema di controllo reale
Per aumentare il numero di I/O collegabili è possibile interconnettere su ring in fibra ottica fino ad un
massimo di 8 interfacce.

Il modulo PL-Lab
Ulteriore componente del mondo AW-SYS è PL-Lab, driver di interfaccia tra PC-Sim o PC-RIS e InTouch.
Esso permette il collegamento dei PLC simulati di PC-Sim o di quelli reali, attraverso PC-RIS, 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.

Il modulo PL-Net
PL-Net è il modulo di AW-SYS che consente il controllo di un impianto reale, avente un elevato numero di
ingressi/uscite, per mezzo di più PLC simulati in esecuzione su altrettanti personal computer collegati in rete.
Con PL-Net, inoltre, i diversi PLC simulati possono condividere informazioni, sotto forma di word globali,
permettendo così la sincronizzazione delle diverse parti di impianto controllate dai diversi PLC.
PL-Net consente quindi l'organizzazione di un laboratorio di automazione flessibile in cui ciascuno degli
allievi, o gruppo di allievi, potrà dedicarsi alla programmazione dell'automazione di una parte di impianto per
poi verificare il risultato con gli altri. Successivamente i compiti potranno essere scambiati, anche
continuando a lavorare con lo stesso PC.

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


1-6 Introduzione ad AW-SYS

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.
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 support@autoware.com

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
Scheda di registrazione.

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


Introduzione ad AW-SYS 1-7

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.
L’indirizzo diretto della pagina per il download, che potrete inserire tra i vostri indirizzi preferiti, è:
http://www.autoware.com/italian/support/upgrade.htm
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:
info@autoware.com

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.
Il Capitolo 5 e il Capitolo 6 sono dedicati rispettivamente al modulo PC-RIS ed al modulo PL-RIS ed alle
procedure di messa in funzione dei sistemi.
Nel Capitolo 7 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.
Nel Capitolo 8 viene presentato il modulo PL-Net e vengono descritte le procedure di collegamento ad
impianti MPS e di messa in funzione del sistema.
Il Capitolo 9 è 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 10 , il Capitolo 12, il Capitolo 14 ed il Capitolo 16 forniscono le note per la programmazione dei
PLC simulati FPC 404, PS3, S5 100U e S7 300 rispettivamente.
Il Capitolo 11, il Capitolo 13, il Capitolo 15 ed il Capitolo 17 riportano, per ognuno dei PLC, esempi di
programmazione con livello crescente di complessità, interamente risolti e commentati.
Per finire, in Appendice A è riportata una descrizione tecnica della interfaccia hardware EasyPort D16.

Una copia del presente manuale è disponibile in versione elettronica all’interno del CD di AW-SYS, per
consultarlo e stamparlo fate doppio clic su Manuale d'uso all’interno della cartella Italiano\Manuali.

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


CAPITOLO 2 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

Scheda di registrazione
Provvedete alla compilazione della scheda di registrazione in ogni sua parte e speditela alla Autoware al
seguente indirizzo:
Autoware s.r.l. - Servizio clienti

Via Pio XII, 15 - 74100 TARANTO

Questo riscontro consentirà a noi di tenervi informati sugli sviluppi del prodotto ed a voi di usufruire del
servizio di assistenza, secondo quanto specificato nel paragrafo Servizio Supporto Tecnico Utenti AW-SYS.
In alternativa, sul Sito Web della Autoware è attivo il Servizio di Registrazione in Linea all'indirizzo:

http://www.autoware.com/italian/regawsys.htm

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


2-2 PC-Sim: il simulatore di PLC

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 dei moduli PL-RIS, PL-Lab e PL-Net
• Pc-ris contiene i file di PC-RIS
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 e l’icona di PC-RIS.

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


PC-Sim: il simulatore di PLC 2-3

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.

Note per l’installazione in ambiente Windows NT

Procedura di installazione
Per installare correttamente AW-SYS in ambiente Windows NT:
• Avviare Windows NT ed effettuare un accesso come 'Amministratore'
• Installare AW-SYS dal CD-ROM
• Al termine dell'installazione, avviare l'utility SKEYADD.EXE (presente nella cartella Winnt del sistema) per
installare la periferica KEYP
• Riavviare il sistema.

Procedura di disinstallazione
Per disinstallare correttamente tutti i componenti di AW-SYS dal sistema:
• Avviare Windows NT ed effettuare un accesso come 'Amministratore'
• Eseguire l'utility SKEYRM.EXE (presente nella cartella Winnt del sistema) per rimuovere la periferica
KEYP
• Eseguire la disinstallazione di AW-SYS secondo la procedura standard di Windows NT.

Controllo dello stato della periferica KEYP


E' possibile verificare in ogni momento lo stato della periferica KEYP tramite la voce Periferiche del Pannello
di controllo di Windows NT.
La periferica KEYP deve essere presente nella lista delle periferiche, con stato Avviato e tipo avvio
Automatico (avvio automatico all'avvio del sistema).
Se così non fosse, selezionare nell'elenco la voce della periferica KEYP ed impostare lo stato e/o la modalità
con i pulsanti corrispondenti.

Note per l’installazione in ambiente Windows 2000

Procedura di installazione
Per installare correttamente AW-SYS in ambiente Windows 2000:
• Avviare Windows 2000 ed effettuare un accesso come 'Amministratore'
• Installare AW-SYS dal CD-ROM

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


2-4 PC-Sim: il simulatore di PLC

• Al termine dell'installazione, avviare l'utility SKEYADD.EXE (presente nella cartella Winnt del sistema) per
installare la periferica KEYP
• Riavviare il sistema.

Procedura di disinstallazione
Per disinstallare correttamente tutti i componenti di AW-SYS dal sistema:
• Avviare Windows 2000 ed effettuare un accesso come 'Amministratore'
• Eseguire l'utility SKEYRM.EXE (presente nella cartella Winnt del sistema) per rimuovere la periferica
KEYP
• Eseguire la disinstallazione di AW-SYS secondo la procedura standard di Windows 2000.

Controllo dello stato della periferica KEYP


Per verificare lo stato della periferica KEYP:
• Avviare Gestione periferiche
• Nel menu Visualizza selezionare Mostra le periferiche nascoste
• Fare doppio click sulla voce Driver non Plug & Play presente nell'elenco delle periferiche
• Fare click col pulsante destro sulla voce Keyp e selezionare Proprietà
• Nella scheda Driver controllare che lo stato della periferica sia Avviato, con tipo avvio Automatico
• Se così non fosse, avviare la periferica premendo il pulsante Avvia e/o selezionare Automatico nella
casella a discesa Tipo.

Opzioni prestazioni
Quando si utilizza un impianto simulato unitamente ad uno dei PLC simulati, è consigliabile impostare
Windows 2000 in modo che conceda uguali risorse a tutti i programmi. Per fare ciò:
• Fare clic con il pulsante destro su Risorse del computer e scegliere Proprietà
• Visualizzare la scheda Avanzate
• Fare clic su Opzioni prestazioni
• Attivare Servizi in background
• Chiudere facendo clic su OK

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


CAPITOLO 3 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

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


3-2 PC-Sim: il simulatore di PLC

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. L’avvio di PC-Sim è impossibile anche quando PC-RIS è già in esecuzione.
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.

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


PC-Sim: il simulatore di PLC 3-3

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 14 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.

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


3-4 PC-Sim: il simulatore di PLC

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 14.
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 16.

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

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


PC-Sim: il simulatore di PLC 3-5

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).

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


3-6 PC-Sim: il simulatore di PLC

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 14.
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.

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


PC-Sim: il simulatore di PLC 3-7

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.

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


3-8 PC-Sim: il simulatore di PLC

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.
Esso rappresenta una metodologia di programmazione grafica. Tra due linee verticali, che rappresentano
l’alimentazione, viene disegnato un schema elettrico composto da diversi circuiti disposti in successione. Il
PLC esegue nell’ordine ognuno di essi durante l’elaborazione del programma utente.
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.

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


PC-Sim: il simulatore di PLC 3-9

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;
• 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.

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


3-10 PC-Sim: il simulatore di PLC

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
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
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.

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


PC-Sim: il simulatore di PLC 3-11

Tabella 1: Elenco degli strumenti disponibili nella Casella strumenti

Pulsante Descrizione FPC 404 PS3 S5 100U S7 300

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

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


3-12 PC-Sim: il simulatore di PLC

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

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


PC-Sim: il simulatore di PLC 3-13

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 e S7 300)

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.

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


3-14 PC-Sim: il simulatore di PLC

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 e S7 300)

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 e S7 300)

Per cancellare rami di ingresso o uscita ad un temporizzatore o contatore (S5 100U e S7 300) 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.

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


PC-Sim: il simulatore di PLC 3-15

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

Selezionate lo strumento di cancellazione nella Casella strumenti quindi fate clic sul temporizzatore o
contatore (S5 100U e S7 300) 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.

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


3-16 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-17

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

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:

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


3-18 PC-Sim: il simulatore di PLC

• 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.

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


PC-Sim: il simulatore di PLC 3-19

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.

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


3-20 PC-Sim: il simulatore di PLC

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 12 è riportato un dettagliato elenco delle operazioni supportate da questo PLC e degli operandi
ammissibili per ognuna.

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


PC-Sim: il simulatore di PLC 3-21

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).

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


3-22 PC-Sim: il simulatore di PLC

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 12 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.

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


PC-Sim: il simulatore di PLC 3-23

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.

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


3-24 PC-Sim: il simulatore di PLC

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 14 è 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.

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


PC-Sim: il simulatore di PLC 3-25

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.

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


3-26 PC-Sim: il simulatore di PLC

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 14.

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

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


PC-Sim: il simulatore di PLC 3-27

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.

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


3-28 PC-Sim: il simulatore di PLC

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

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


PC-Sim: il simulatore di PLC 3-29

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 14.

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
14
• per operazioni di set di temporizzatori (SI, SV, SE, SS, SA), il valore attuale del temporizzatore, espresso
nella base tempi per esso impostata.

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


3-30 PC-Sim: il simulatore di PLC

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

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.

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


PC-Sim: il simulatore di PLC 3-31

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 16 è 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.

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


3-32 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-33

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 16.

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

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


3-34 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-35

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

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


3-36 PC-Sim: il simulatore di PLC

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 16.

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 16.

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.

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


PC-Sim: il simulatore di PLC 3-37

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 14.

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.

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


3-38 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-39

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.

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


3-40 PC-Sim: il simulatore di PLC

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

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


PC-Sim: il simulatore di PLC 3-41

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 16.

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.

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


3-42 PC-Sim: il simulatore di PLC

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

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


PC-Sim: il simulatore di PLC 3-43

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.

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


3-44 PC-Sim: il simulatore di PLC

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

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


PC-Sim: il simulatore di PLC 3-45

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.

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


3-46 PC-Sim: il simulatore di PLC

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

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


PC-Sim: il simulatore di PLC 3-47

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.

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


3-48 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-49

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.

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


3-50 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-51

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.

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


3-52 PC-Sim: il simulatore di PLC

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 14.

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 16.

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.

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


PC-Sim: il simulatore di PLC 3-53

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.

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


3-54 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-55

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.

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


3-56 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-57

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.

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


3-58 PC-Sim: il simulatore di PLC

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 10.

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 12.

S5 100U
Il PLC simulato è composto dai seguenti moduli:

• CPU;
• modulo 0: 8 ingressi digitali;

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


PC-Sim: il simulatore di PLC 3-59

• 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.

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


3-60 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-61

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.

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


3-62 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-63

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.

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


3-64 PC-Sim: il simulatore di PLC

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 Menu ?.
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.

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


PC-Sim: il simulatore di PLC 3-65

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;

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


3-66 PC-Sim: il simulatore di PLC

• 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.

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


PC-Sim: il simulatore di PLC 3-67

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.

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


3-68 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-69

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.

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


3-70 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-71

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

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


3-72 PC-Sim: il simulatore di PLC

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

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


PC-Sim: il simulatore di PLC 3-73

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.

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


3-74 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-75

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

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


3-76 PC-Sim: il simulatore di PLC

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;

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


PC-Sim: il simulatore di PLC 3-77

• accensione del LED Run della CPU;


• lettura della IPI (vedere Immagini di processo nel Capitolo 12);
• elaborazione del programma utente;
• emissione della IPU (vedere Immagini di processo nel Capitolo 12).
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 14);
• spegnimento del LED Stop;
• lettura della IPI (vedere Immagini di processo nel Capitolo 14);
• elaborazione dell'OB1 (vedere Blocchi Organizzativi (OB) nel Capitolo 14);
• emissione della IPU (vedere Immagini di processo nel Capitolo 14).
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 16);
• spegnimento del LED STOP della CPU;
• lettura della IPI (vedere Immagini di processo nel Capitolo 16);
• elaborazione dell'OB1 (vedere Blocchi Organizzativi (OB) nel Capitolo 16);
• emissione della IPU (vedere Immagini di processo nel Capitolo 16).
Gli ultimi tre passi si ripetono fino ad un successivo passaggio in STOP o in OFF e costituiscono
l'elaborazione ciclica.

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


3-78 PC-Sim: il simulatore di PLC

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 12);
• elaborazione del programma utente;
• emissione della IPU (vedere Immagini di processo nel Capitolo 12).
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 14);
• spegnimento del LED Stop;
• lettura della IPI (vedere Immagini di processo nel Capitolo 14);
• elaborazione dell'OB1 (vedere Blocchi Organizzativi (OB) nel Capitolo 14);
• emissione della IPU (vedere Immagini di processo nel Capitolo 14).
Gli ultimi tre passi si ripetono fino ad un successivo passaggio in STOP o in OFF e costituiscono
l'elaborazione ciclica.

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


PC-Sim: il simulatore di PLC 3-79

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 16);
• spegnimento del LED STOP;
• lettura della IPI (vedere Immagini di processo nel Capitolo 16);
• elaborazione dell'OB1 (vedere Blocchi Organizzativi (OB) nel Capitolo 16);
• emissione della IPU (vedere Immagini di processo nel Capitolo 16).
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 14).
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 16).

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 14).
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 16).

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 reali (PL-RIS e PL-Net) e
verso quelli 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.

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


3-80 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-81

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-RIS

Avvia l'interfaccia verso gli impianti reali PL-RIS.


PL-RIS è il modulo di AW-SYS che consente di collegare i PLC simulati di PC-Sim agli impianti reali o banchi
di esercitazione presenti nel vostro laboratorio.
Per maggiori informazioni vedere il Capitolo 6.

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 7.

Comando PL-Net

Avvia l'interfaccia verso i sistemi MPS PL-Net.


PL-Net è il modulo di AW-SYS che consente il controllo di un impianto reale, avente un elevato numero di
ingressi/uscite, per mezzo di più PLC simulati in esecuzione su altrettanti personal computer collegati in rete.
Per maggiori informazioni vedere il Capitolo 8.

Menu ?

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.

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


3-82 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-83

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]”.

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


3-84 PC-Sim: il simulatore di PLC

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


FPC PS S5 S7
Pulsante Descrizione Comando equivalente Menu
404 3 100U 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

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


PC-Sim: il simulatore di PLC 3-85

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

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


3-86 PC-Sim: il simulatore di PLC

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.

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


PC-Sim: il simulatore di PLC 3-87

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.

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


3-88 PC-Sim: il simulatore di PLC

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.

Un’istanza di PC-Sim o PC-RIS è già in esecuzione! Non è possibile avviare contemporaneamente (un
altro) PC-Sim

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. L’avvio di PC-Sim è impossibile anche quando PC-RIS è già in
esecuzione. Chiudere l’istanza di PC-Sim o PC-RIS in esecuzione e riprovare.

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.

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


PC-Sim: il simulatore di PLC 3-89

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.

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.

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


3-90 PC-Sim: il simulatore di PLC

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.
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.

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


PC-Sim: il simulatore di PLC 3-91

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.

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.

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


3-92 PC-Sim: il simulatore di PLC

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.
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.

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


PC-Sim: il simulatore di PLC 3-93

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.

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


3-94 PC-Sim: il simulatore di PLC

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

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


PC-Sim: il simulatore di PLC 3-95

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 14.

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


3-96 PC-Sim: il simulatore di PLC

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 14 o Funzioni (FC) ne Capitolo 16 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 14 o Funzioni (FC) nel Capitolo 16 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 14.
Per S7 300 vedere anche i paragrafi Introduzione di etichette nel presente capitolo e Operazioni di salto nel
Capitolo 16.

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


PC-Sim: il simulatore di PLC 3-97

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 26: Operazioni
fondamentali implementate e la Tabella 27: Operazioni integrative implementate nel Capitolo 14 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 12

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 12.

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 12.

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


3-98 PC-Sim: il simulatore di PLC

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 12.

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 12.

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 12.

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 14 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.

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


PC-Sim: il simulatore di PLC 3-99

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 14.
• S7 300 Programmazione strutturata ed Operazioni di controllo del programma nel Capitolo 16.

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 14 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 (Apertura di un blocco dati)
nel Capitolo 16 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 14.
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 (Apertura di un blocco dati)
nel Capitolo 16.

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 14.
Vedere anche:
• S5 100U Blocchi Dati (DB) nel Capitolo 14
• S7 300 Blocchi Dati (DB) nel Capitolo 16

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


3-100 PC-Sim: il simulatore di PLC

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 14

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 16.

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 14 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 14 per maggiori informazioni.

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


CAPITOLO 4 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.
I sensori e gli attuatori presenti negli impianti simulati possono essere collegati agli ingressi ed alle uscite dei
PLC di PC-Sim o a sistemi di controllo reali attraverso il modulo PC-RIS. L’eccitazione di un sensore ON-
OFF chiuderà l’ingresso del PLC a cui è connesso, e l’attivazione di un’uscita del PLC ecciterà l’attuatore
dell’impianto ad essa collegato.
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 o di PC-RIS: è
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.

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


4-2 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-3

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.

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


4-4 PL-Sim: il simulatore di 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.

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


PL-Sim: il simulatore di impianti 4-5

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.

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


4-6 PL-Sim: il simulatore di 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 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.

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


PL-Sim: il simulatore di impianti 4-7

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.

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


4-8 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-9

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.

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


4-10 PL-Sim: il simulatore di 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.

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


PL-Sim: il simulatore di impianti 4-11

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.

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


4-12 PL-Sim: il simulatore di impianti

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:

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


PL-Sim: il simulatore di impianti 4-13

• 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.

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


4-14 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-15

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.

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


4-16 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-17

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.

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


4-18 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-19

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. In caso di collegamento ad un PLC
reale, attraverso il modulo PC-RIS, verranno mostrate numerazioni che fanno riferimento ai canali della
EasyPort D16.

• 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.

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


4-20 PL-Sim: il simulatore di impianti

• selezionate il pulsante opzione che riporta l’indirizzo del nuovo canale che si vuole collegare;
• 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.

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


PL-Sim: il simulatore di impianti 4-21

Dopo il caricamento, PC-Sim provvede a disabilitare i pulsanti/interruttori degli ingressi del PLC per cui è
previsto un collegamento all’impianto.
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.

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


4-22 PL-Sim: il simulatore di impianti

Tastiera: Alt+F4

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.

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


PL-Sim: il simulatore di impianti 4-23

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

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


4-24 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-25

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.

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


4-26 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-27

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

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


4-28 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-29

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.

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


4-30 PL-Sim: il simulatore di impianti

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).

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


PL-Sim: il simulatore di impianti 4-31

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:

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


4-32 PL-Sim: il simulatore di impianti

• 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.

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


PL-Sim: il simulatore di impianti 4-33

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


4-34 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-35

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.

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


4-36 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-37

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.

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


4-38 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-39

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.

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


4-40 PL-Sim: il simulatore di impianti

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

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


PL-Sim: il simulatore di impianti 4-41

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.

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


4-42 PL-Sim: il simulatore di impianti

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.

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


PL-Sim: il simulatore di impianti 4-43

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.

Faccia Fasi
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

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


4-44 PL-Sim: il simulatore di 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 (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.

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


PL-Sim: il simulatore di impianti 4-45

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


CAPITOLO 5 PC-RIS: INTERFACCIA VERSO
SISTEMI DI CONTROLLO REALI

Introduzione
Come già accennato nell'introduzione di questo manuale, PC-RIS è il modulo di AW-SYS che consente di
pilotare gli impianti simulati di PL-Sim con svariati sistemi hardware, quali:
• PLC reali (di qualsiasi marca)
• sistemi a microprocessore
• microcontrollori
• schede elettroniche in logica cablata
• quadri elettrici in logica cablata
• personal computer con schede di I/O.
Questo è possibile grazie all'impiego dell'interfaccia hardware EasyPort D16. Una o più di queste interfacce
possono essere collegate al PC, come sarà spiegato nel seguito, e consentiranno da un lato l'acquisizione
delle uscite del sistema di controllo reale per l'azionamento degli attuatori dell'impianto simulato e dall'altro il
trasferimento dello stato dei sensori dell'impianto agli ingressi del sistema di controllo, per un massimo di 16
ingressi e 16 uscite digitali.
La figura che segue illustra il funzionamento del sistema. Da sinistra a destra: le uscite del PLC reale
vengono acquisite tramite l'interfaccia EasyPort D16. I segnali di quest'ultima, attraverso la porta seriale del
PC, vengono prelevati da PC-RIS che a sua volta li trasmette agli attuatori dell'impianto simulato. Nell'altro
senso: lo stato dei sensori dell'impianto viene letto da PC-RIS che, attraverso la seriale, provvede a
trasmetterli alle uscite digitali dell'interfaccia. Da questa vengono quindi pilotati gli ingressi del PLC.

Se non siete in possesso dell'interfaccia EasyPort D16 non potrete utilizzare PC-RIS. Rivolgetevi al vostro
fornitore di AW-SYS per informazioni circa l'acquisto dell'interfaccia.
Nel corso di questo capitolo faremo riferimento al sistema di controllo reale 'PLC', ma quanto verrà detto per
questo varrà anche per tutti gli altri sistemi di controllo, fatte salve le necessarie verifiche della compatibilità
fra segnali dell'interfaccia e segnali del sistema di controllo.

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


5-2 PC-RIS: interfaccia verso sistemi di controllo reali

Perché usare PC-RIS


PC-RIS è un ottimo strumento didattico in quanto consente di utilizzare i PLC già presenti nel vostro
laboratorio ed il loro sistema di sviluppo, offrendovi la possibilità di cimentarvi con l'automazione di impianti di
diversa complessità e che non richiedono messa a punto o manutenzione. Permettendo quindi di
concentrare le energie dei vostri allievi, sull'apprendimento dei linguaggi e delle tecniche di programmazione
e liberandovi dal dover verificare i risultati della programmazione soltanto dall'osservazione dei LED delle
uscite del PLC.

Messa in funzione del sistema


In questo paragrafo vengono descritte le operazioni che portano alla messa in funzione del sistema.
Eseguitele in successione e con attenzione.

Configurazione dell'interfaccia
Come operazione preliminare occorre impostare i DIP switch che si trovano sul pannello posteriore della
EasyPort D16 come segue.
Numero Stato Posizione
1 ON in basso
2 OFF in alto
3 OFF in alto

Collegamento dell'interfaccia al PC
Con il cavo fornito a corredo collegare la porta seriale della EasyPort D16 ad una delle porte seriali del PC.
Eventuali altre interfacce dello stesso tipo possono essere collegate alla prima mediante fibra ottica ma non
verranno viste e quindi utilizzate dal sistema.
Collegare i morsetti +/- 24V della EasyPort D16 ad un alimentatore a 24V. In alternativa, e con lo stesso
effetto, è possibile fornire alimentazione attraverso i piedini di PORT1 o PORT2 identificati con OVCC e
24VCC (vedere Capitolo 17) ma, probabilmente, sarà conveniente riservare quest'ultimi per l'alimentazione
dei moduli di ingresso/uscita del PLC.

Collegamento del PLC reale alla EasyPort D16


Collegate i due cavi multipolari, lato connettore a vaschetta, ai corrispondenti connettori sulla EasyPort D16
contrassegnati con PORT1 e PORT2.
Collegate quindi i conduttori alle altre due estremità dei cavi agli ingressi ed uscite del PLC. La Tabella 46,
riportata in Capitolo 17, permette l'identificazione dei conduttori in relazione al loro colore ed alla porta di
appartenenza.
Nel collegamento osservate le regole che seguono.
• Controllate la compatibilità tra le specifiche di tensione per ingressi ed uscite del PLC e della EasyPort
D16. Fate riferimento al manuale del PLC reale in vostro possesso ed alla Tabella 47 in Capitolo 17 che
riporta i dati tecnici della EasyPort D16.
• I conduttori di uscita della EasyPort D16 vanno collegati agli ingressi del PLC.
• I conduttori di ingresso della EasyPort D16 vanno collegati alle uscite del PLC.

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


PC-RIS: interfaccia verso sistemi di controllo reali 5-3

• Per evitare confusioni nelle fasi successive, effettuate i collegamenti in maniera progressiva secondo la
numerazione degli ingressi/uscite del PLC e della EasyPort D16.

Avvio di PC-RIS
Per avviare PC-RIS fate clic sul pulsante Start di Windows, aprite quindi la cartella Programmi\Aw-sys e,
all’interno di questa, scegliete la voce corrispondente a PC-RIS. Una sola istanza di PC-RIS è eseguibile per
volta. Inoltre è impossibile avviare PC-RIS anche quando PC-Sim è già in esecuzione.
All’avvio del programma viene mostrata la Finestra Informazioni su PC-RIS. In essa sono riportate
informazioni circa il programma, numero di versione, il numero di autorizzazione della copia che state
utilizzando, il produttore del software. Chiudete questa finestra premendo il pulsante Ok per iniziare a
lavorare.

Ricerca dell'interfaccia

PC-RIS esegue a questo punto una scansione delle porte seriali del PC alla ricerca della EasyPort D16.
Durante l'intero procedimento nella Barra di stato compariranno indicazioni sull'avanzamento della ricerca. In
particolare: la casella a sinistra riporterà il numero della porta seriale correntemente testata e l'altra lo stato
del test.
Al termine della ricerca, se trovata una EasyPort D16, la prima casella indicherà la porta a cui è connessa, la
seconda conterrà il testo 'Connessione attiva'.
Nel caso invece che l'interfaccia non venga trovata, la prima casella risulterà vuota mentre la seconda
conterrà il testo 'EasyPort D16 non trovata'. In questa evenienza, dopo aver controllato la correttezza dei
collegamenti, fate ripartire la procedura di ricerca scegliendo il Comando Cerca EasyPort D16 dal Menu File.

Composizione della finestra

PC-RIS è composto da un'unica finestra. La parte superiore riporta, per disposizione e colore, la
visualizzazione dei LED della EasyPort D16. L'accensione di uno dei LED OUTPUT (colore giallo) coincide
con l'attivazione della corrispondente uscita sull'interfaccia, mentre l'attivazione di uno degli ingressi
dell'interfaccia coincide con l'accensione del corrispondente LED INPUT (colore verde). In ogni momento, se
la connessione seriale è attiva, lo stato dei LED sull'interfaccia coinciderà con lo stato dei corrispondenti LED
nella finestra di PC-RIS.

Nella parte inferiore della finestra sono rappresentati16 pulsanti/interruttori. Essi potranno essere utilizzati per
il comando degli ingressi digitali del PLC reale non collegati all'impianto.

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


5-4 PC-RIS: interfaccia verso sistemi di controllo reali

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 due impostazioni, fate clic col pulsante destro del mouse sull'elemento che desiderate
cambiare; esso commuterà di funzione ad ogni pressione: se pulsante diventerà interruttore e viceversa.
Quando il pulsante/interruttore assume questo aspetto:
disabilitato

esso risulta disabilitato: fare clic su di esso non produrrà alcun effetto.
PC-RIS disabilita automaticamente un interruttore o un pulsante quando al corrispondente ingresso 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 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.

Apertura di un impianto
Gli impianti simulati di PL-Sim devono essere avviati dal Menu Impianti di PC-RIS: è sufficiente scegliere, fra
quelli presenti, il comando che descrive il nome dell'impianto che si desidera avviare.
Poiché si può avviare un solo impianto per volta, il menu viene disabilitato subito dopo. Esso verrà riabilitato
solo alla chiusura dell'impianto.
Per la descrizione dei diversi impianti vedere il Capitolo 4 ad essi dedicato.

Collegamento dell'impianto a PC-RIS


Come già descritto nel capitolo dedicato a PL-Sim, alcuni degli impianti simulati mostrano alla loro apertura
un set di collegamenti prestabiliti altri (i primi cinque) non lo fanno.
Se l'impianto da utilizzare appartiene a quest'ultimo gruppo, per effettuare un collegamento operate come
descritto nel seguito.
• Fate clic sul componente da collegare.
L'impianto risponde mostrando la specifica finestra di dialogo Scelta collegamento a seconda del
componente cliccato: ingresso per i sensori, uscita per gli attuatori.

• Selezionate il canale del PLC a cui collegare il componente.


• Solo per gli ingressi, selezionate il tipo di contatto (NA o NC) da utilizzare.
• Fate clic sul pulsante Ok.

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


PC-RIS: interfaccia verso sistemi di controllo reali 5-5

Poiché PC-RIS non è in grado di determinare quale PLC avete collegato all'interfaccia e quali collegamenti
avete effettuato, i canali di ingresso sono denominati con le sigle generiche da I0 a I15, mentre quelli di
uscita con le sigle altrettanto generiche da O0 a O15.
Collegare un sensore dell'impianto simulato all'ingresso I0, ad esempio, significa collegare il sensore
all'ingresso del PLC che risulta elettricamente connesso con l'uscita OUTPUT 0 della EasyPort D16, cioè con
il conduttore bianco del cavo multipolare della PORT 1. Parimenti e sempre per esempio, collegare un
attuatore dell'impianto simulato all'uscita O15 significa collegare l'attuatore all'uscita del PLC che risulta
elettricamente connessa con l'ingresso INPUT 15 della EasyPort D16, cioè con il conduttore grigio/marrone
del cavo multipolare della PORT 2.
Una volta collegato un sensore ON/OFF dell'impianto, il suo stato sarà immediatamente disponibile sulla
corrispondente uscita dell'interfaccia e sull'ingresso ad essa collegato del PLC. La chiusura del contatto del
sensore corrisponderà all'emissione di una tensione di 24V sull'uscita della EasyPort e quindi all'attivazione
dell'ingresso del PLC. L'apertura del medesimo corrisponderà all'emissione di una tensione di 0V e quindi
alla disattivazione dell'ingresso del PLC.
Nell'altro senso: l'attivazione di una delle uscite del PLC fornisce una tensione di 24V all'ingresso della
EasyPort D16 corrispondente che permetterà l'eccitazione dell'attuatore dell'impianto ad esso collegato. La
disattivazione della medesima uscita fornirà tensione di 0V all'ingresso dell'interfaccia e l'attuatore
dell'impianto verrà diseccitato.

Proseguimento dell'esperienza
Il seguito dell'esperienza consisterà nel programmare o cablare il sistema di controllo che avete deciso di
utilizzare. Quindi farete per il seguito riferimento ai manuali forniti con essi. Per informazioni sugli impianti
simulati consultate invece il Capitolo 4 di questo manuale oppure la Guida in linea dello specifico impianto
richiamando il Comando Guida del Menu ? oppure facendo clic sul pulsante Guida, a seconda dell'impianto
che state utilizzando.

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


CAPITOLO 6 PL-RIS: INTERFACCIA VERSO
IMPIANTI REALI

Introduzione
PL-RIS è il modulo di AW-SYS che consente di collegare i PLC simulati di PC-Sim agli impianti reali o ai
banchi di esercitazione presenti nel vostro laboratorio.
La figura che segue illustra il funzionamento del sistema. Da sinistra a destra: le uscite del PLC simulato
vengono lette da PL-RIS che provvede ad inviarle tramite la connessione seriale e l'eventuale anello in fibra
ottica alle interfacce EasyPort D16. Le uscite di quest'ultime vanno a pilotare gli attuatori dell'impianto reale.
Nell'altro senso: lo stato dei sensori dell'impianto viene acquisito dalle interfacce e viene quindi letto da PL-
RIS. Quest'ultimo provvede a pilotare gli ingressi del PLC.

Se non siete in possesso dell'interfaccia EasyPort D16 non potrete utilizzare PC-RIS. Rivolgetevi al vostro
fornitore di AW-SYS per informazioni circa l'acquisto dell'interfaccia.

Messa in funzione del sistema


In questo paragrafo vengono descritte le operazioni che portano alla messa in funzione del sistema.
Eseguitele in successione e con attenzione.

Configurazione dell'interfaccia
Come operazione preliminare occorre impostare i DIP switch che si trovano sul pannello posteriore delle
EasyPort D16 come segue.

Prima EasyPort D16 Numero Stato Posizione


1 OFF in alto
2 ON in basso
3 OFF in alto

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


6-2 PL-RIS: interfaccia verso impianti reali

EasyPort D16 successive Numero Stato Posizione


1 OFF in alto
2 OFF in alto
3 ON in basso

Collegamento dell'interfaccia al PC
Con il cavo fornito a corredo collegare la porta seriale della prima EasyPort D16 ad una delle porte seriali del
vostro computer. Le ulteriori eventuali interfacce, per un massimo di sette, vanno collegate alla prima
seguendo le indicazioni fornite in Capitolo 17. Tutte verranno viste dal sistema ed utilizzate nei limiti che ogni
PLC simulato impone, come sarà chiarito nel seguito.
Collegare i morsetti +/- 24V della EasyPort D16 ad un alimentatore a 24V (non fornito). In alternativa, e con lo
stesso effetto, è possibile fornire alimentazione attraverso i piedini di PORT1 o PORT2 identificati con OVCC
e 24VCC (vedere Capitolo 17) ma, probabilmente, sarà conveniente riservare quest'ultimi per l'alimentazione
dei moduli di ingresso/uscita del PLC.

Collegamento dell'impianto reale alla EasyPort D16


Collegare i due cavi multipolari, lato connettore a vaschetta, ai corrispondenti connettori sulla EasyPort D16
contrassegnati con PORT1 e PORT2.
Collegare quindi i conduttori alle altre due estremità dei cavi agli ingressi ed uscite dell'impianto reale. La
Tabella 46 riportata in Capitolo 17 permette l'identificazione dei conduttori in relazione al loro colore ed alla
porta di appartenenza.

Nel collegamento osservate le regole che seguono.


• Controllate la compatibilità tra le specifiche di tensione ed assorbimento per ingressi ed uscite
dell'impianto e della EasyPort D16. Fate riferimento alla manualistica dell'impianto e dei suoi componenti
ed alla Tabella 47 in Capitolo 17 che riporta i dati tecnici della EasyPort d16.
• I conduttori di uscita della EasyPort D16 vanno collegati agli attuatori dell'impianto.
• I conduttori di ingresso della EasyPort D16 vanno collegati ai sensori dell'impianto.

Avvio di PC-Sim
PL-RIS può funzionare solo in connessione con uno dei simulatori di PLC. Perciò prima di avviarlo si richiede
l'avvio di 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.

Avvio di PL-RIS
Per avviare PL-RIS scegliete il Comando PL-RIS dal Menu Impianti di PC-Sim.
PL-RIS viene visto da PC-Sim come se fosse uno degli impianti simulati, perciò il Menu Impianti viene
disabilitato subito dopo il suo avvio. Esso verrà riabilitato solo alla chiusura di PL-RIS per impedire l'apertura
contemporanea di un altro impianto.

Ricerca dell'interfaccia

Al suo avvio PL-RIS esegue una scansione delle porte seriali del PC alla ricerca di una EasyPort D16
connessa ad una di esse.

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


PL-RIS: interfaccia verso impianti reali 6-3

Durante l'intero procedimento nella Barra di stato compariranno indicazioni sull'avanzamento della ricerca. In
particolare: la casella a sinistra riporterà il numero della porta seriale correntemente testata e l'altra lo stato
del test.
Al termine della ricerca, se trovata una EasyPort D16, la prima casella indicherà la porta a cui è connessa, la
seconda conterrà il testo 'Connessione attiva'.
Nel caso invece che l'interfaccia non venga trovata, la prima casella risulterà vuota mentre la seconda
conterrà il testo 'EasyPort D16 non trovata'. In questa evenienza, dopo aver controllato i collegamenti, fate
ripartire la procedura di ricerca scegliendo il Comando Cerca EasyPort D16 dal Menu File.

Composizione della finestra

PL-RIS è in grado non solo di trovare una EasyPort D16 collegata ad una delle porte seriali del PC ma anche
di determinare se a quest'ultima ne sono collegate altre mediante ring in fibra ottica e quante queste siano.

Nella finestra di PL-RIS verranno visualizzati e numerati progressivamente tanti pannelli a LED quante sono
le interfacce presenti. La finestra verrà ridimensionata automaticamente in modo da poter contenere tutti i
pannelli. Esiste comunque un limite superiore per i pannelli dato dal tipo di PLC simulato. Se utilizzate
PC-Sim per FPC 404 o per PS3 il numero massimo di pannelli visualizzabili è quattro: tanti quante le word di
ingresso/uscita gestibili da questi PLC. Per le simulazioni dei PLC S5 100U e S7 300 non esiste questo limite
e quindi il numero massimo dei pannelli è dato dal numero massimo di EasyPort D16 collegabili in ring: otto.

Indirizzamento ingressi
Il numero degli ingressi del sistema dipende, come già spiegato, dal numero delle EasyPort D16 e dal tipo di
PLC simulato utilizzato, per un massimo di 64 per i PLC FPC 404 e PS3 e di 128 per i PLC S5 100U e S7
300. Ognuno degli ingressi è individuato in maniera univoca da due termini:
• numero della EasyPort D16 a cui è collegato, con valori tra 1 e 8
• numero del canale di ingresso di quest'ultima, con valori tra INPUT 0 e INPUT 15
Lo stato degli ingressi della EasyPort D16 può essere acquisito indirizzando nel programma (ladder o AWL)
gli ingressi del PLC in accordo con quanto riportato nella tabella seguente. Prestate attenzione al fatto che gli
ingressi per i primi due PLC sono in sequenza mentre per l'ultimo questo non accade, essendovi una
discontinuità tra il byte 1 ed il byte 8.
Lo stato dei primi sedici bit di ingresso sarà visibile sul fronte del PLC simulato attraverso le segnalazioni
luminose a LED previste. Lo stato dei successivi potrà invece essere valutato solo dalla finestra di PL-RIS
nonché, come per tutte le altre variabili, dalla Finestra Stato variabili di PC-Sim.

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


6-4 PL-RIS: interfaccia verso impianti reali

Tabella 4: Indirizzamento a bit degli ingressi delle EasyPort D16 con PL-RIS
EasyPort #1 FPC 404 PS3 S5 100U S7 300
INPUT 0 I0 I0.0 E0.0 E0.0
INPUT 1 I1 I0.1 E0.1 E0.1
INPUT 2 I2 I0.2 E0.2 E0.2
INPUT 3 I3 I0.3 E0.3 E0.3
INPUT 4 I4 I0.4 E0.4 E0.4
INPUT 5 I5 I0.5 E0.5 E0.5
INPUT 6 I6 I0.6 E0.6 E0.6
INPUT 7 I7 I0.7 E0.7 E0.7
INPUT 8 I1.0 I0.8 E1.0 E1.0
INPUT 9 I1.1 I0.9 E1.1 E1.1
INPUT 10 I1.2 I0.10 E1.2 E1.2
INPUT 11 I1.3 I0.11 E1.3 E1.3
INPUT 12 I1.4 I0.12 E1.4 E1.4
INPUT 13 I1.5 I0.13 E1.5 E1.5
INPUT 14 I1.6 I0.14 E1.6 E1.6
INPUT 15 I1.7 I0.15 E1.7 E1.7
EasyPort #2 FPC 404 PS3 S5 100U S7 300
INPUT 0 I2.0 I1.0 E8.0 E8.0
INPUT 1 I2.1 I1.1 E8.1 E8.1
INPUT 2 I2.2 I1.2 E8.2 E8.2
INPUT 3 I2.3 I1.3 E8.3 E8.3
INPUT 4 I2.4 I1.4 E8.4 E8.4
INPUT 5 I2.5 I1.5 E8.5 E8.5
INPUT 6 I2.6 I1.6 E8.6 E8.6
INPUT 7 I2.7 I1.7 E8.7 E8.7
INPUT 8 I3.0 I1.8 E9.0 E9.0
INPUT 9 I3.1 I1.9 E9.1 E9.1
INPUT 10 I3.2 I1.10 E9.2 E9.2
INPUT 11 I3.3 I1.11 E9.3 E9.3
INPUT 12 I3.4 I1.12 E9.4 E9.4
INPUT 13 I3.5 I1.13 E9.5 E9.5
INPUT 14 I3.6 I1.14 E9.6 E9.6
INPUT 15 I3.7 I1.15 E9.7 E9.7

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


PL-RIS: interfaccia verso impianti reali 6-5

EasyPort #3 FPC 404 PS3 S5 100U S7 300


INPUT 0 I4.0 I2.0 E10.0 E10.0
INPUT 1 I4.1 I2.1 E10.1 E10.1
INPUT 2 I4.2 I2.2 E10.2 E10.2
INPUT 3 I4.3 I2.3 E10.3 E10.3
INPUT 4 I4.4 I2.4 E10.4 E10.4
INPUT 5 I4.5 I2.5 E10.5 E10.5
INPUT 6 I4.6 I2.6 E10.6 E10.6
INPUT 7 I4.7 I2.7 E10.7 E10.7
INPUT 8 I5.0 I2.8 E11.0 E11.0
INPUT 9 I5.1 I2.9 E11.1 E11.1
INPUT 10 I5.2 I2.10 E11.2 E11.2
INPUT 11 I5.3 I2.11 E11.3 E11.3
INPUT 12 I5.4 I2.12 E11.4 E11.4
INPUT 13 I5.5 I2.13 E11.5 E11.5
INPUT 14 I5.6 I2.14 E11.6 E11.6
INPUT 15 I5.7 I2.15 E11.7 E11.7
EasyPort #4 FPC 404 PS3 S5 100U S7 300
INPUT 0 I6.0 I3.0 E12.0 E12.0
INPUT 1 I6.1 I3.1 E12.1 E12.1
INPUT 2 I6.2 I3.2 E12.2 E12.2
INPUT 3 I6.3 I3.3 E12.3 E12.3
INPUT 4 I6.4 I3.4 E12.4 E12.4
INPUT 5 I6.5 I3.5 E12.5 E12.5
INPUT 6 I6.6 I3.6 E12.6 E12.6
INPUT 7 I6.7 I3.7 E12.7 E12.7
INPUT 8 I7.0 I3.8 E13.0 E13.0
INPUT 9 I7.1 I3.9 E13.1 E13.1
INPUT 10 I7.2 I3.10 E13.2 E13.2
INPUT 11 I7.3 I3.11 E13.3 E13.3
INPUT 12 I7.4 I3.12 E13.4 E13.4
INPUT 13 I7.5 I3.13 E13.5 E13.5
INPUT 14 I7.6 I3.14 E13.6 E13.6
INPUT 15 I7.7 I3.15 E13.7 E13.7

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


6-6 PL-RIS: interfaccia verso impianti reali

EasyPort #5 FPC 404 PS3 S5 100U S7 300


INPUT 0 - - E14.0 E14.0
INPUT 1 - - E14.1 E14.1
INPUT 2 - - E14.2 E14.2
INPUT 3 - - E14.3 E14.3
INPUT 4 - - E14.4 E14.4
INPUT 5 - - E14.5 E14.5
INPUT 6 - - E14.6 E14.6
INPUT 7 - - E14.7 E14.7
INPUT 8 - - E15.0 E15.0
INPUT 9 - - E15.1 E15.1
INPUT 10 - - E15.2 E15.2
INPUT 11 - - E15.3 E15.3
INPUT 12 - - E15.4 E15.4
INPUT 13 - - E15.5 E15.5
INPUT 14 - - E15.6 E15.6
INPUT 15 - - E15.7 E15.7
EasyPort #6 FPC 404 PS3 S5 100U S7 300
INPUT 0 - - E16.0 E16.0
INPUT 1 - - E16.1 E16.1
INPUT 2 - - E16.2 E16.2
INPUT 3 - - E16.3 E16.3
INPUT 4 - - E16.4 E16.4
INPUT 5 - - E16.5 E16.5
INPUT 6 - - E16.6 E16.6
INPUT 7 - - E16.7 E16.7
INPUT 8 - - E17.0 E17.0
INPUT 9 - - E17.1 E17.1
INPUT 10 - - E17.2 E17.2
INPUT 11 - - E17.3 E17.3
INPUT 12 - - E17.4 E17.4
INPUT 13 - - E17.5 E17.5
INPUT 14 - - E17.6 E17.6
INPUT 15 - - E17.7 E17.7

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


PL-RIS: interfaccia verso impianti reali 6-7

EasyPort #7 FPC 404 PS3 S5 100U S7 300


INPUT 0 - - E18.0 E18.0
INPUT 1 - - E18.1 E18.1
INPUT 2 - - E18.2 E18.2
INPUT 3 - - E18.3 E18.3
INPUT 4 - - E18.4 E18.4
INPUT 5 - - E18.5 E18.5
INPUT 6 - - E18.6 E18.6
INPUT 7 - - E18.7 E18.7
INPUT 8 - - E19.0 E19.0
INPUT 9 - - E19.1 E19.1
INPUT 10 - - E19.2 E19.2
INPUT 11 - - E19.3 E19.3
INPUT 12 - - E19.4 E19.4
INPUT 13 - - E19.5 E19.5
INPUT 14 - - E19.6 E19.6
INPUT 15 - - E19.7 E19.7
EasyPort #8 FPC 404 PS3 S5 100U S7 300
INPUT 0 - - E20.0 E20.0
INPUT 1 - - E20.1 E20.1
INPUT 2 - - E20.2 E20.2
INPUT 3 - - E20.3 E20.3
INPUT 4 - - E20.4 E20.4
INPUT 5 - - E20.5 E20.5
INPUT 6 - - E20.6 E20.6
INPUT 7 - - E20.7 E20.7
INPUT 8 - - E21.0 E21.0
INPUT 9 - - E21.1 E21.1
INPUT 10 - - E21.2 E21.2
INPUT 11 - - E21.3 E21.3
INPUT 12 - - E21.4 E21.4
INPUT 13 - - E21.5 E21.5
INPUT 14 - - E21.6 E21.6
INPUT 15 - - E21.7 E21.7

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


6-8 PL-RIS: interfaccia verso impianti reali

Per i PLC PS3, S5 100U e S7 300 è inoltre data la possibilità di indirizzamento a byte ed a word nei termini
mostrati dalla tabella che segue.

Tabella 5: Indirizzamento a byte e a word degli ingressi delle EasyPort D16 con PL-RIS
EasyPort #1 FPC 404 PS3 S5 100U S7 300
INPUT 0 – 7 - IB0.0 EB0 EB0
INPUT 8 – 15 - IB0.8 EB1 EB1
INPUT 0 – 15 - IW0 EW0 EW0
EasyPort #2 FPC 404 PS3 S5 100U S7 300
INPUT 0 – 7 - IB1.0 EB8 EB8
INPUT 8 – 15 - IB1.8 EB9 EB9
INPUT 0 – 15 - IW1 EW8 EW8
EasyPort #3 FPC 404 PS3 S5 100U S7 300
INPUT 0 – 7 - IB2.0 EB10 EB10
INPUT 8 – 15 - IB2.8 EB11 EB11
INPUT 0 – 15 - IW2 EW10 EW10
EasyPort #4 FPC 404 PS3 S5 100U S7 300
INPUT 0 – 7 - IB3.0 EB12 EB12
INPUT 8 – 15 - IB3.8 EB13 EB13
INPUT 0 – 15 - IW3 EW12 EW12
EasyPort #5 FPC 404 PS3 S5 100U S7 300
INPUT 0 – 7 - - EB14 EB14
INPUT 8 – 15 - - EB15 EB15
INPUT 0 – 15 - - EW14 EW14
EasyPort #6 FPC 404 PS3 S5 100U S7 300
INPUT 0 – 7 - - EB16 EB16
INPUT 8 – 15 - - EB17 EB17
INPUT 0 – 15 - - EW16 EW16
EasyPort #7 FPC 404 PS3 S5 100U S7 300
INPUT 0 – 7 - - EB18 EB18
INPUT 8 – 15 - - EB19 EB19
INPUT 0 – 15 - - EW18 EW18
EasyPort #8 FPC 404 PS3 S5 100U S7 300
INPUT 0 – 7 - - EB20 EB20
INPUT 8 –15 - - EB21 EB21
INPUT 0 – 15 - - EW20 EW20

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


PL-RIS: interfaccia verso impianti reali 6-9

Indirizzamento uscite
Il numero delle uscite del sistema dipende, come già spiegato, dal numero delle EasyPort D16 e dal tipo di
PLC simulato utilizzato, per un massimo di 64 per i PLC FPC 404 e PS3 e di 128 per i PLC S5 100U e S7
300. Ognuna delle uscite è individuata in maniera univoca da due termini:
• numero della EasyPort D16 a cui è collegata, con valori tra 1 e 8
• numero del canale di uscita di quest'ultima, con valori tra OUTPUT 0 e OUTPUT 15

Lo stato delle uscite della EasyPort D16 può essere impostato ed acquisito indirizzando nel programma
(ladder o AWL) le uscite del PLC in accordo con quanto riportato nella tabella seguente. Prestate attenzione
al fatto che le uscite per i primi due PLC sono in sequenza mentre per l'ultimo questo non accade, essendovi
una discontinuità tra il byte 3 ed il byte 8.
Lo stato dei primi sedici bit di uscita sarà visibile sul fronte del PLC simulato attraverso le segnalazioni
luminose a LED previste. Lo stato dei successivi potrà invece essere valutato solo dalla finestra di PL-RIS
nonché, come per tutte le altre variabili, dalla Finestra Stato variabili di PC-Sim.

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


6-10 PL-RIS: interfaccia verso impianti reali

Tabella 6: Indirizzamento a bit delle uscite delle EasyPort D16 con PL-RIS
EasyPort #1 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 O0 Q0.0 A2.0 A4.0
OUTPUT 1 O1 Q0.1 A2.1 A4.1
OUTPUT 2 O2 Q0.2 A2.2 A4.2
OUTPUT 3 O3 Q0.3 A2.3 A4.3
OUTPUT 4 O4 Q0.4 A2.4 A4.4
OUTPUT 5 O5 Q0.5 A2.5 A4.5
OUTPUT 6 O6 Q0.6 A2.6 A4.6
OUTPUT 7 O7 Q0.7 A2.7 A4.7
OUTPUT 8 O1.0 Q0.8 A3.0 A5.0
OUTPUT 9 O1.1 Q0.9 A3.1 A5.1
OUTPUT 10 O1.2 Q0.10 A3.2 A5.2
OUTPUT 11 O1.3 Q0.11 A3.3 A5.3
OUTPUT 12 O1.4 Q0.12 A3.4 A5.4
OUTPUT 13 O1.5 Q0.13 A3.5 A5.5
OUTPUT 14 O1.6 Q0.14 A3.6 A5.6
OUTPUT 15 O1.7 Q0.15 A3.7 A5.7
EasyPort #2 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 O2.0 Q1.0 A8.0 A8.0
OUTPUT 1 O2.1 Q1.1 A8.1 A8.1
OUTPUT 2 O2.2 Q1.2 A8.2 A8.2
OUTPUT 3 O2.3 Q1.3 A8.3 A8.3
OUTPUT 4 O2.4 Q1.4 A8.4 A8.4
OUTPUT 5 O2.5 Q1.5 A8.5 A8.5
OUTPUT 6 O2.6 Q1.6 A8.6 A8.6
OUTPUT 7 O2.7 Q1.7 A8.7 A8.7
OUTPUT 8 O3.0 Q1.8 A9.0 A9.0
OUTPUT 9 O3.1 Q1.9 A9.1 A9.1
OUTPUT 10 O3.2 Q1.10 A9.2 A9.2
OUTPUT 11 O3.3 Q1.11 A9.3 A9.3
OUTPUT 12 O3.4 Q1.12 A9.4 A9.4
OUTPUT 13 O3.5 Q1.13 A9.5 A9.5
OUTPUT 14 O3.6 Q1.14 A9.6 A9.6
OUTPUT 15 O3.7 Q1.15 A9.7 A9.7

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


PL-RIS: interfaccia verso impianti reali 6-11

EasyPort #3 FPC 404 PS3 S5 100U S7 300


OUTPUT 0 O4.0 Q2.0 A10.0 A10.0
OUTPUT 1 O4.1 Q2.1 A10.1 A10.1
OUTPUT 2 O4.2 Q2.2 A10.2 A10.2
OUTPUT 3 O4.3 Q2.3 A10.3 A10.3
OUTPUT 4 O4.4 Q2.4 A10.4 A10.4
OUTPUT 5 O4.5 Q2.5 A10.5 A10.5
OUTPUT 6 O4.6 Q2.6 A10.6 A10.6
OUTPUT 7 O4.7 Q2.7 A10.7 A10.7
OUTPUT 8 O5.0 Q2.8 A11.0 A11.0
OUTPUT 9 O5.1 Q2.9 A11.1 A11.1
OUTPUT 10 O5.2 Q2.10 A11.2 A11.2
OUTPUT 11 O5.3 Q2.11 A11.3 A11.3
OUTPUT 12 O5.4 Q2.12 A11.4 A11.4
OUTPUT 13 O5.5 Q2.13 A11.5 A11.5
OUTPUT 14 O5.6 Q2.14 A11.6 A11.6
OUTPUT 15 O5.7 Q2.15 A11.7 A11.7
EasyPort #4 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 O6.0 Q3.0 A12.0 A12.0
OUTPUT 1 O6.1 Q3.1 A12.1 A12.1
OUTPUT 2 O6.2 Q3.2 A12.2 A12.2
OUTPUT 3 O6.3 Q3.3 A12.3 A12.3
OUTPUT 4 O6.4 Q3.4 A12.4 A12.4
OUTPUT 5 O6.5 Q3.5 A12.5 A12.5
OUTPUT 6 O6.6 Q3.6 A12.6 A12.6
OUTPUT 7 O6.7 Q3.7 A12.7 A12.7
OUTPUT 8 O7.0 Q3.8 A13.0 A13.0
OUTPUT 9 O7.1 Q3.9 A13.1 A13.1
OUTPUT 10 O7.2 Q3.10 A13.2 A13.2
OUTPUT 11 O7.3 Q3.11 A13.3 A13.3
OUTPUT 12 O7.4 Q3.12 A13.4 A13.4
OUTPUT 13 O7.5 Q3.13 A13.5 A13.5
OUTPUT 14 O7.6 Q3.14 A13.6 A13.6
OUTPUT 15 O7.7 Q3.15 A13.7 A13.7

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


6-12 PL-RIS: interfaccia verso impianti reali

EasyPort #5 FPC 404 PS3 S5 100U S7 300


OUTPUT 0 - - A14.0 A14.0
OUTPUT 1 - - A14.1 A14.1
OUTPUT 2 - - A14.2 A14.2
OUTPUT 3 - - A14.3 A14.3
OUTPUT 4 - - A14.4 A14.4
OUTPUT 5 - - A14.5 A14.5
OUTPUT 6 - - A14.6 A14.6
OUTPUT 7 - - A14.7 A14.7
OUTPUT 8 - - A15.0 A15.0
OUTPUT 9 - - A15.1 A15.1
OUTPUT 10 - - A15.2 A15.2
OUTPUT 11 - - A15.3 A15.3
OUTPUT 12 - - A15.4 A15.4
OUTPUT 13 - - A15.5 A15.5
OUTPUT 14 - - A15.6 A15.6
OUTPUT 15 - - A15.7 A15.7
EasyPort #6 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 - - A16.0 A16.0
OUTPUT 1 - - A16.1 A16.1
OUTPUT 2 - - A16.2 A16.2
OUTPUT 3 - - A16.3 A16.3
OUTPUT 4 - - A16.4 A16.4
OUTPUT 5 - - A16.5 A16.5
OUTPUT 6 - - A16.6 A16.6
OUTPUT 7 - - A16.7 A16.7
OUTPUT 8 - - A17.0 A17.0
OUTPUT 9 - - A17.1 A17.1
OUTPUT 10 - - A17.2 A17.2
OUTPUT 11 - - A17.3 A17.3
OUTPUT 12 - - A17.4 A17.4
OUTPUT 13 - - A17.5 A17.5
OUTPUT 14 - - A17.6 A17.6
OUTPUT 15 - - A17.7 A17.7

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


PL-RIS: interfaccia verso impianti reali 6-13

EasyPort #7 FPC 404 PS3 S5 100U S7 300


OUTPUT 0 - - A18.0 A18.0
OUTPUT 1 - - A18.1 A18.1
OUTPUT 2 - - A18.2 A18.2
OUTPUT 3 - - A18.3 A18.3
OUTPUT 4 - - A18.4 A18.4
OUTPUT 5 - - A18.5 A18.5
OUTPUT 6 - - A18.6 A18.6
OUTPUT 7 - - A18.7 A18.7
OUTPUT 8 - - A19.0 A19.0
OUTPUT 9 - - A19.1 A19.1
OUTPUT 10 - - A19.2 A19.2
OUTPUT 11 - - A19.3 A19.3
OUTPUT 12 - - A19.4 A19.4
OUTPUT 13 - - A19.5 A19.5
OUTPUT 14 - - A19.6 A19.6
OUTPUT 15 - - A19.7 A19.7
EasyPort #8 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 - - A20.0 A20.0
OUTPUT 1 - - A20.1 A20.1
OUTPUT 2 - - A20.2 A20.2
OUTPUT 3 - - A20.3 A20.3
OUTPUT 4 - - A20.4 A20.4
OUTPUT 5 - - A20.5 A20.5
OUTPUT 6 - - A20.6 A20.6
OUTPUT 7 - - A20.7 A20.7
OUTPUT 8 - - A21.0 A21.0
OUTPUT 9 - - A21.1 A21.1
OUTPUT 10 - - A21.2 A21.2
OUTPUT 11 - - A21.3 A21.3
OUTPUT 12 - - A21.4 A21.4
OUTPUT 13 - - A21.5 A21.5
OUTPUT 14 - - A21.6 A21.6
OUTPUT 15 - - A21.7 A21.7

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


6-14 PL-RIS: interfaccia verso impianti reali

Per i PLC PS3, S5 100U e S7 300 è inoltre data la possibilità di indirizzamento a byte ed a word nei termini
mostrati dalla tabella che segue.

Tabella 7: Indirizzamento a byte e a word delle uscite delle EasyPort D16 con PL-RIS
EasyPort #1 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 – 7 - QB0.0 AB2 AB4
OUTPUT 8 – 15 - QB0.8 AB3 AB5
OUTPUT 0 – 15 - QW0 AW2 AW4
EasyPort #2 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 – 7 - QB1.0 AB8 AB8
OUTPUT 8 – 15 - QB1.8 AB9 AB9
OUTPUT 0 – 15 - QW1 AW8 AW8
EasyPort #3 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 – 7 - QB2.0 AB10 AB10
OUTPUT 8 – 15 - QB2.8 AB11 AB11
OUTPUT 0 – 15 - QW2 AW10 AW10
EasyPort #4 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 – 7 - QB3.0 AB12 AB12
OUTPUT 8 – 15 - QB3.8 AB13 AB13
OUTPUT 0 – 15 - QW3 AW12 AW12
EasyPort #5 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 – 7 - - AB14 AB14
OUTPUT 8 – 15 - - AB15 AB15
OUTPUT 0 – 15 - - AW14 AW14
EasyPort #6 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 – 7 - - AB16 AB16
OUTPUT 8 – 15 - - AB17 AB17
OUTPUT 0 – 15 - - AW16 AW16
EasyPort #7 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 – 7 - - AB18 AB18
OUTPUT 8 – 15 - - AB19 AB19
OUTPUT 0 – 15 - - AW18 AW18
EasyPort #8 FPC 404 PS3 S5 100U S7 300
OUTPUT 0 –7 - - AB20 AB20
OUTPUT 8 – 15 - - AB21 AB21
OUTPUT 0 – 15 - - AW20 AW20

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


CAPITOLO 7 PL-LAB: INTERFACCIA VERSO
IMPIANTI AUTOCOSTRUITI

Introduzione
Ulteriore componente del mondo AW-SYS è PL-Lab, interfaccia tra PC-Sim o PC-RIS e 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.

Gli stessi impianti potranno essere comandati anche da PLC reali, o da altri sistemi di controllo, per mezzo
del modulo PC-RIS di cui si è già detto in precedenza.

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.

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


7-2 PL-Lab: interfaccia verso impianti autocostruiti

Avvio del sistema

Avvio di PC-Sim o PC-RIS

PL-Lab può funzionare solo in connessione con uno dei simulatori di PLC o con PC-RIS. Perciò è necessario
che sia in esecuzione uno di questi prima che PL-Lab venga avviato.
Per avviare PC-Sim o PC-RIS, fate clic sul pulsante Start di Windows, aprite quindi la cartella
Programmi\Aw-sys e, all’interno di questa, scegliete la voce di uno dei simulatori di PLC o dell'interfaccia
verso i PLC reali: PC-RIS.

Avvio di PL-Lab

Per avviare PL-Lab scegliete il Comando PL-Lab dal Menu Impianti di PC-Sim o di PC-RIS.
PL-Lab viene visto da PC-Sim e da PC-RIS 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.

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

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


PL-Lab: interfaccia verso impianti autocostruiti 7-3

Word QW0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Q0.1
Uscita 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
5

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.

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.

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


7-4 PL-Lab: interfaccia verso impianti autocostruiti

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.
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 o PC-RIS 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.

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


PL-Lab: interfaccia verso impianti autocostruiti 7-5

Dal menu Special di WindowMaker scegliete il comando Tagname Dictionary. Viene mostrata la finestra di
definizione del tag.

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).

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


7-6 PL-Lab: interfaccia verso impianti autocostruiti

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 o di quello reale, se usate PL-RIS. 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.

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


PL-Lab: interfaccia verso impianti autocostruiti 7-7

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à.

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


7-8 PL-Lab: interfaccia verso impianti autocostruiti

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 o, se usate PL-RIS, al manuale del software di
programmazione del vostro PLC reale.
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.

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


PL-Lab: interfaccia verso impianti autocostruiti 7-9

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
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.

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


7-10 PL-Lab: interfaccia verso impianti autocostruiti

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:

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


PL-Lab: interfaccia verso impianti autocostruiti 7-11

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.

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


7-12 PL-Lab: interfaccia verso impianti autocostruiti

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.

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


PL-Lab: interfaccia verso impianti autocostruiti 7-13

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.

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


7-14 PL-Lab: interfaccia verso impianti autocostruiti

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.

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


PL-Lab: interfaccia verso impianti autocostruiti 7-15

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.

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


7-16 PL-Lab: interfaccia verso impianti autocostruiti

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.

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


PL-Lab: interfaccia verso impianti autocostruiti 7-17

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 o con
quelli reali attraverso PC-RIS. 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 8 che segue illustra l'elenco di questi tag, con una breve descrizione, e mostra la corrispondenza
con gli operandi di ognuno dei PLC simulati o con il canale della EasyPort D16 quando si utilizza PC-RIS.
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.

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


7-18 PL-Lab: interfaccia verso impianti autocostruiti

Tabella 8: Tag predefiniti dell'impianto prototipo di PL-Lab


Tag Name Descrizione FPC 404 PS3 S5 100U S7 300 PC-RIS
I0 Canale di ingresso digitale 0 I0 I0.0 E0.0 E0.0 INPUT0
I1 Canale di ingresso digitale 1 I1 I0.1 E0.1 E0.1 INPUT1
I2 Canale di ingresso digitale 2 I2 I0.2 E0.2 E0.2 INPUT2
I3 Canale di ingresso digitale 3 I3 I0.3 E0.3 E0.3 INPUT3
I4 Canale di ingresso digitale 4 I4 I0.4 E0.4 E0.4 INPUT4
I5 Canale di ingresso digitale 5 I5 I0.5 E0.5 E0.5 INPUT5
I6 Canale di ingresso digitale 6 I6 I0.6 E0.6 E0.6 INPUT6
I7 Canale di ingresso digitale 7 I7 I0.7 E0.7 E0.7 INPUT7
I8 Canale di ingresso digitale 8 I1.0 I0.8 E1.0 E1.0 INPUT8
I9 Canale di ingresso digitale 9 I1.1 I0.9 E1.1 E1.1 INPUT9
I10 Canale di ingresso digitale 10 I1.2 I0.10 E1.2 E1.2 INPUT10
I11 Canale di ingresso digitale 11 I1.3 I0.11 E1.3 E1.3 INPUT11
I12 Canale di ingresso digitale 12 I1.4 I0.12 E1.4 E1.4 INPUT12
I13 Canale di ingresso digitale 13 I1.5 I0.13 E1.5 E1.5 INPUT13
I14 Canale di ingresso digitale 14 I1.6 I0.14 E1.6 E1.6 INPUT14
I15 Canale di ingresso digitale 15 I1.7 I0.15 E1.7 E1.7 INPUT15
Q0 Canale di uscita digitale 0 O0 Q0.0 A2.0 A4.0 OUTPUT0
Q1 Canale di uscita digitale 1 O1 Q0.1 A2.1 A4.1 OUTPUT1
Q2 Canale di uscita digitale 2 O2 Q0.2 A2.2 A4.2 OUTPUT2
Q3 Canale di uscita digitale 3 O3 Q0.3 A2.3 A4.3 OUTPUT3
Q4 Canale di uscita digitale 4 O4 Q0.4 A2.4 A4.4 OUTPUT4
Q5 Canale di uscita digitale 5 O5 Q0.5 A2.5 A4.5 OUTPUT5
Q6 Canale di uscita digitale 6 O6 Q0.6 A2.6 A4.6 OUTPUT6
Q7 Canale di uscita digitale 7 O7 Q0.7 A2.7 A4.7 OUTPUT7
Q8 Canale di uscita digitale 8 O1.0 Q0.8 A3.0 A5.0 OUTPUT8
Q9 Canale di uscita digitale 9 O1.1 Q0.9 A3.1 A5.1 OUTPUT9
Q10 Canale di uscita digitale 10 O1.2 Q0.10 A3.2 A5.2 OUTPUT10
Q11 Canale di uscita digitale 11 O1.3 Q0.11 A3.3 A5.3 OUTPUT11
Q12 Canale di uscita digitale 12 O1.4 Q0.12 A3.4 A5.4 OUTPUT12
Q13 Canale di uscita digitale 13 O1.5 Q0.13 A3.5 A5.5 OUTPUT13
Q14 Canale di uscita digitale 14 O1.6 Q0.14 A3.6 A5.6 OUTPUT14
Q15 Canale di uscita digitale 15 O1.7 Q0.15 A3.7 A5.7 OUTPUT15
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 -

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


PL-Lab: interfaccia verso impianti autocostruiti 7-19

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 9 che segue riportiamo questi script ed il nome del tag il cui evento Change porta in
esecuzione.

Tabella 9: Script preimpostati per l'impianto prototipo di PL-Lab

TAGNAME SCRIPT
Q0=QW0.00;
Q1=QW0.01;
Q2=QW0.02;
Q3=QW0.03;
Q4=QW0.04;
Q5=QW0.05;
Q6=QW0.06;
Q7=QW0.07;
QW0 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


CAPITOLO 8 PL-NET: INTERFACCIA VERSO
SISTEMI MPS

Generalità
PL-Net è il modulo di AW-SYS che consente il controllo di un impianto reale, avente un elevato numero di
ingressi/uscite, per mezzo di più PLC simulati in esecuzione su altrettanti personal computer collegati in rete
con protocollo TCP/IP. L'interfacciamento verso l'impianto avviene mediante più EasyPort D16, per un
massimo di otto, collegate tra loro ad anello in fibra ottica e ad uno dei PC attraverso la porta seriale.
Ad ognuno dei PLC sarà possibile associare logicamente una o più interfacce in modo da far corrispondere
gli ingressi/uscite dei primi a quelli delle seconde. La chiusura del contatto di un sensore dell'impianto
comporterà così l'eccitazione del corrispondente ingresso del PLC simulato; all'attivazione di una delle uscite
di quest'ultimo corrisponderà l'eccitazione di un attuatore sull'impianto. PL-Net provvederà a leggere,
interpretare ed incanalare i dati sulla rete e sull'anello in modo assolutamente trasparente per l'utente.
Con PL-Net, inoltre, i diversi PLC simulati possono condividere informazioni, sotto forma di word globali,
permettendo così la sincronizzazione delle diverse parti di impianto controllate dai diversi PLC.
PL-Net consente quindi l'organizzazione di un laboratorio di automazione flessibile in cui ciascuno degli
allievi, o gruppo di allievi, potrà dedicarsi alla programmazione dell'automazione di una parte di impianto per
poi verificare il risultato con gli altri. Successivamente i compiti potranno essere scambiati, anche
continuando a lavorare con lo stesso PC.

Messa in funzione del sistema

Avvio di PC-Sim

PL-Net può funzionare solo in connessione con uno dei simulatori di PLC. Perciò è necessario che sia in
esecuzione PC-Sim prima che PL-Net venga avviato.
Per avviare PC-Sim, su ognuno dei PC in rete fate clic sul pulsante Start di Windows, aprite quindi la cartella
Programmi\Aw-sys e, all’interno di questa, scegliete il comando per l'avviamento di uno dei simulatori di PLC.
Non è necessario che il tipo di PLC simulato sia lo stesso su ogni PC, ma un gruppo potrebbe lavorare con il
PLC FPC 404, un altro con il PS3 un altro ancora con l'S5 100U o S7 300.

Avvio di PL-Net

Per avviare PL-Net scegliete il Comando PL-Net dal Menu Impianti di PC-Sim.
PL-Net viene visto da PC-Sim come se fosse uno degli impianti simulati presenti nel pacchetto AW-SYS
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-Net.
Avviate dapprima PL-Net sul computer a cui è connesso l'anello delle EasyPort D16. Al completamento della
procedura descritta nel seguito potrete avviare PL-Net sugli altri computer.

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


8-2 PL-Net: interfaccia verso sistemi MPS

Ricerca delle EasyPort D16


Sia che il PC su cui lavorate sia quello connesso alle EasyPort D16 sia che usiate uno degli altri in rete, PL-
Net al suo avvio ricerca automaticamente le EasyPort D16, operando una scansione delle porte seriali del
PC.
Se la ricerca ha esito positivo, viene caricato il server TCP/IP di PL-Net che fornirà i dati alla rete di PC.
Quindi verrà caricato il client locale che potrà accedere ai dati presenti sul server in esecuzione sullo stesso
computer.
Se nessuna EasyPort D16 viene trovata, viene caricato soltanto il client TCP/IP che, per accedere ai dati
presenti sul server, dovrà conoscerne l'indirizzo IP.
Durante tutta la procedura, l'avanzamento della ricerca viene visualizzato nella Barra di stato della finestra di
PL-Net.

Specifica dell'indirizzo del server


Nel caso in cui all'avvio di PL-Net non vengano trovate EasyPort D16 collegate, viene presentata la finestra di
dialogo Specifica indirizzo IP del server. Inserite nelle apposite caselle i quattro numeri, con valore compreso
tra 0 e 255, che costituiscono l'indirizzo IP del server sulla rete. Il computer server è quello a cui sono state
collegate le EasyPort D16 ed il suo indirizzo IP può essere letto facendo doppio clic sull'icona Rete del
Pannello di controllo di Windows. Una volta digitato l'indirizzo premete Ok per continuare.

PL-Net vi segnalerà con un apposito messaggio se l'indirizzo del server è errato o se il server non è stato
ancora avviato. Se l'indirizzo è corretto e se viene correttamente stabilita una connessione col server, PL-Net
passa alla fase seguente.
Se PL-Net sta girando sul server, la procedura descritta fin questo paragrafo viene saltata poiché il client
riconosce il server già in esecuzione sulla stessa macchina ed automaticamente determina l'indirizzo IP del
computer.
La procedura viene conclusa con la visualizzazione nella Barra di stato di PL-Net dell'indirizzo IP del server,
specificato manualmente o determinato automaticamente.

Assegnazione delle EasyPort D16


Una volta specificato, se necessario, l'indirizzo del server, il client lo interrogherà per conoscere il numero di
EasyPort D16 e la disponibilità di ognuna. Ottenute queste informazioni vi verrà mostrata la finestra di dialogo
Richiesta EasyPort D16 nella quale sono presenti tante caselle di controllo quante sono le EasyPort D16
collegate al PC che funge da server. Le caselle di controllo delle EasyPort D16 già assegnate ad altri client
risultano disabilitate.
Selezionate quelle che intendete vengano collegate virtualmente al PLC e premete Ok.
Nella figura, ad esempio, dell'anello in fibra ottica fanno parte sei EasyPort D16, le prime due sono state già
assegnate dal server ad un altro client mentre le successive sono disponibili, o almeno lo erano al momento

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


PL-Net: interfaccia verso sistemi MPS 8-3

della interrogazione. Le caselle selezionate specificano per questo client una richiesta di connessione logica
alle interfacce 5 e 6.

Tenete presente che la procedura di richiesta delle EasyPort D16 può essere eseguita contemporaneamente
su più client. Pertanto, una EasyPort D16 dichiarata come disponibile nella finestra di dialogo potrebbe
successivamente essere richiesta da un altro client, e ad esso assegnata, prima che voi concludiate la
procedura premendo il pulsante Ok. Il server assegnerà comunque solo le EasyPort D16 disponibili al
momento della richiesta e cioè quando premete il pulsante Ok.

Aggiornamento della finestra di PL-Net


Risolto il problema dell'assegnazione delle interfacce, la finestra di PL-Net viene aggiornata con l'inserimento
di un pannello di LED per ciascuna delle EasyPort D16 assegnate. Ognuno di essi viene identificato con il
numero progressivo della EasyPort D16 che rappresenta e di essa riporterà i 16 LED di ingresso (colore
verde) ed i 16 LED di uscita (colore giallo).

Nell'esempio in figura le EasyPort D16 assegnate al client sono la numero 5 e la numero 6.

Scelta word globale


Le word globali sono un servizio disponibile agli utenti di AW-SYS quando è in esecuzione PL-Net su più
computer collegati in rete ed è attivo il protocollo TCP/IP. Esse costituiscono un modo per condividere
informazioni tra i PLC simulati al fine principale della sincronizzazione dei processi controllati, o di parti di
essi.
Le word globali che PL-Net mette a disposizione sono otto. Ognuno dei PLC simulati può leggere tutte le
word globali ma può scriverne solamente una. Il numero della word che è possibile scrivere è diverso per
ogni PLC.
Il client di PL-Net interroga il server circa la disponibilità di word globali e vi mostra la finestra di dialogo
Scelta Word Globale. In essa compaiono otto pulsanti opzione, tanti quante le word, che servono per la
scelta della word che sarà possibile scrivere da questo PLC. I pulsanti opzione relativi a word già assegnate
dal server ad altri client risultano disabilitati.

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


8-4 PL-Net: interfaccia verso sistemi MPS

Fate clic sul pulsante opzione che identifica la word globale che intendete venga assegnata a questo client e
premete il pulsante Ok. Se la word globale è rimasta disponibile, cioè se nessun altro client nel frattempo l'ha
richiesta ed ottenuta, la word verrà assegnata al PLC corrente. L'indicazione del numero della word globale
assegnata verrà mostrata nella Barra di stato di PL-Net.

Se, invece, la word nel frattempo è stata assegnata, PL-Net vi informerà di questo tramite un messaggio e vi
mostrerà nuovamente la finestra di dialogo per consentirvi una scelta diversa.
Le word globali costituiscono un potente mezzo per lo scambio di dati tra PLC simulati in rete al fine
principale della sincronizzazione dei processi, o parte di essi, da automatizzare. Supponete a tale scopo che
un PLC abbia bisogno di un informazione booleana che rappresenta la fine di un determinato ciclo gestito da
un altro dei PLC in rete. Sarà sufficiente impostare un bit globale su quest'ultimo quando il ciclo termina e
controllarne lo stato dal primo. Quando lo stato del bit diventa alto, il primo PLC sarà informato che il ciclo è
terminato quindi potrà compiere le azioni necessarie di sua competenza.
L'aggiornamento delle word globali in lettura viene effettuato prima della lettura dell'immagine degli ingressi
per i PLC PS3, S5 100U e S7 300 e prima dell'esecuzione ciclica del programma utente per il PLC FPC 404.
La scrittura dell'unica word globale viene effettuata dopo l'aggiornamento delle uscite per i primi e dopo
l'esecuzione del programma per l'ultimo PLC.

Indirizzamento degli ingressi/uscite


Gli ingressi e le uscite delle EasyPort D16 logicamente connesse ad ogni PLC simulato possono essere
indirizzati seguendo le normali regole sintattiche dell'indirizzamento del PLC in uso. La corrispondenza tra I/O
del PLC simulato e numero della EasyPort D16 collegata segue regole simili a quelle già esposte per PL-RIS.
Supponiamo, ad esempio, di utilizzare un PLC simulato PS3 e di aver richiesto ed ottenuto per esso la
connessione alle EasyPort D16 #3 e #4. La word di ingresso della EasyPort D16 #3, prima nell'ordine delle
interfacce richieste, corrisponderà all'indirizzo IW0, mentre la word di ingresso dell'altra interfaccia
corrisponderà alla word IW1. Così le word di uscita corrisponderanno rispettivamente a QW0 e QW1.
Nelle stesse condizioni se avessimo usato un PLC simulato S5 100U avremmo dovuto indirizzare le word di
ingresso con EW0 e EW8 mentre quelle di uscita con AW2 e AW8.
Fate riferimento alle tabelle per l'indirizzamento degli ingressi e delle uscite riportate nel capitolo dedicato a
PL-RIS ma tenete a mente che con PL-RIS l'ordine delle EasyPort D16 parte da 1 ed arriva al numero totale
di interfacce connesse, mentre con PL-Net la quantità ed il numero identificativo delle interfacce connesse
dipende dalle scelte che si sono effettuate all'avvio del programma.

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


PL-Net: interfaccia verso sistemi MPS 8-5

Indirizzamento delle word globali


L'indirizzamento delle variabili globali può essere effettuato nei programmi ladder o AWL a word o a bit.
L'indirizzamento a byte non è previsto.
L'indirizzamento a word si ottiene con una sigla così composta:
• lettera che identifica l'operando globale (G)
• lettera che specifica l'indirizzamento a word (W)
• numero da 0 a 7 che specifica a quale delle word globali si desidera accedere.

L'indirizzamento a bit si ottiene invece con operandi composti come segue:


• lettera che identifica l'operando globale (G)
• numero da 0 a 7 che specifica a quale delle word globali il bit appartiene
• punto di separazione
• numero da 0 a 15 che individua il bit all'interno della word.

Il tipo di indirizzamento accettato dall'editor di programma dipende dal modello di PLC simulato che state
utilizzando. La disponibilità per ognuno di essi è illustrata nella tabella che segue.

Tabella 10: Indirizzamento delle word globali con PL-NET


FPC404 PS3 S5 100U e S7 300
Word globale
Bit Word Bit Word Bit Word
0 G0.0-G0.15 - G0.0-G0.15 GW0 - GW0
1 G1.0-G1.15 - G1.0-G1.15 GW1 - GW1
2 G2.0-G2.15 - G2.0-G2.15 GW2 - GW2
3 G3.0-G3.15 - G3.0-G3.15 GW3 - GW3
4 G4.0-G4.15 - G4.0-G4.15 GW4 - GW4
5 G5.0-G5.15 - G5.0-G5.15 GW5 - GW5
6 G6.0-G6.15 - G6.0-G6.15 GW6 - GW6
7 G7.0-G7.15 - G7.0-G7.15 GW7 - GW7

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


8-6 PL-Net: interfaccia verso sistemi MPS

Considerazioni per l'uso delle word globali

PLC PS3
Questo PLC accetta l'indirizzamento di variabili globali sia a word che a bit, ma non è possibile utilizzare bit o
word globali come ingressi o uscite dei moduli di sistema. In questa evenienza occorrerà utilizzare merker
come variabili di appoggio.
Supponiamo, ad esempio, di voler attivare il temporizzatore TR6 al passaggio allo stato vero del bit globale
G1.0. I programmi che segue risolvono il problema nei due linguaggi.

LADDER AWL
000: L G1.0
001: = M1.0
002: TR6
*S: M1.0
*STP:
*IW: KW100
*EQ: N Q0.14

Lo stato del bit globale G1.0 viene dapprima copiato nel merker M1.0, quindi quest'ultimo viene usato per
pilotare l'ingresso S del temporizzatore.
In modo analogo ci si dovrà comportare se si desidera comandare un bit globale da un'uscita di un modulo di
sistema. Nell'esempio che segue si vuole attivare il bit globale G3.2 quando la merker word MW10 è
maggiore della merker word MW11. L'uscita GT del comparatore viene collegata ad un merker bit e,
successivamente, lo stato dello stesso merker bit verrà copiato nel bit globale.

LADDER AWL
000: CP2
*I1W: MW10
*I2W: MW11
*GT: M0.0
*EQ:
*LT:
001: L M0.0
002: = G3.2

Vediamo infine come condividere il valore di conteggio di un contatore: supponiamo che la word globale
assegnata a questo PLC sia la GW4 e che in essa appunto si desideri registrare il valore di conteggio del
contatore C12. I programmi illustrati nella figura seguente risolvono il problema in ladder e in AWL.

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


PL-Net: interfaccia verso sistemi MPS 8-7

LADDER AWL
000: C12
*U: I0.0
*D:
*S:
*R: I0.1
*IW:
*Z:
*QW: MW8
001: L MW8
002: = GW4

Il contatore C12 conta gli impulsi all'ingresso I0.0 e viene resettato quando l'ingresso I0.1 è chiuso. Il valore di
conteggio, cioè il numero degli impulsi contati, viene depositato nella merker word MW8 tramite l'uscita QW
del contatore, quindi il contenuto di questa viene ricopiato nella word globale GW4.

PLC S5 100U e S7 300


Per questo PLC, come specificato nella tabella al paragrafo precedente, non è possibile l'indirizzamento a bit
delle word globali. Nel caso si voglia effettuare questo tipo di indirizzamento occorre ricopiare le word globali
che interessano in merker word e quindi utilizzare i bit delle merker word in vece dei bit globali. Nel codice di
esempio che segue si suppone di voler attivare l'uscita A2.5 del PLC in funzione dello stato del bit 2 della
word globale 7.
: L GW7
: T MW114
: U M114.2
: = A2.5

In esso viene dapprima copiato il contenuto della GW7 nella MW114. Quindi il bit 2 di quest'ultima, uguale al
bit nella medesima posizione della word globale, viene utilizzato per il comando dell'uscita.
Tenete a mente la differenza di indirizzamento di bit che esiste tra word globali in genere e merker word in
questo PLC. Quando copiate la GW7 nella MW100, la parte meno significativa della prima andrà ad
occupare il byte MB100 mentre quella più significativa il byte MB101. Così, se nell'esempio appena visto il bit
da testare fosse stato il 12, avremmo dovuto scrivere come terza istruzione del programma U M101.4, non
essendo possibile scrivere U M100.12.
Un procedimento analogo va seguito quando si desidera scrivere un bit di una word globale. Supponiamo
che si voglia trasmettere la fine di un ciclo di lavorazione al PLC che controlla la stazione di produzione
successiva e che questa informazione sia contenuta nel merker bit M3.0. Supponiamo ancora che la word
globale assegnata per la scrittura al PLC in uso sia la GW2. Il codice seguente provvede a eseguire il
compito.
: U M3.0
: = M104.3
: L MW104
: T GW2

In esso la MW104 viene usata come variabile di appoggio per la GW2. Il suo bit 3 è stato scelto per la
scrittura dell'informazione del completamento del ciclo. Gli altri bit della stessa word potranno essere

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


8-8 PL-Net: interfaccia verso sistemi MPS

eventualmente impostati altrove nel programma. Le prime due istruzioni provvedono all'impostazione del bit
della merker word, le successive al trasferimento di questa nella word globale.

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


CAPITOLO 9 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

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


9-2 Realizziamo insieme la prima applicazione

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.

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


Realizziamo insieme la prima applicazione 9-3

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.

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


9-4 Realizziamo insieme la prima applicazione

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.

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


Realizziamo insieme la prima applicazione 9-5

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.

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


9-6 Realizziamo insieme la prima applicazione

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.

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


Realizziamo insieme la prima applicazione 9-7

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.

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


9-8 Realizziamo insieme la prima applicazione

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.

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


Realizziamo insieme la prima applicazione 9-9

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.

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


9-10 Realizziamo insieme la prima applicazione

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.

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


Realizziamo insieme la prima applicazione 9-11

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.

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


9-12 Realizziamo insieme la prima applicazione

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.

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.

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


Realizziamo insieme la prima applicazione 9-13

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.

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


9-14 Realizziamo insieme la prima applicazione

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.

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


Realizziamo insieme la prima applicazione 9-15

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.

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


9-16 Realizziamo insieme la prima applicazione

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.

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


Realizziamo insieme la prima applicazione 9-17

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.

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


9-18 Realizziamo insieme la prima applicazione

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.

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


Realizziamo insieme la prima applicazione 9-19

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


CAPITOLO 10 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 11.

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;

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


10-2 Note sulla programmazione del PLC FPC 404

• numero di canale.
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 11: 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

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


Note sulla programmazione del PLC FPC 404 10-3

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.

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


10-4 Note sulla programmazione del PLC FPC 404

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
La scrittura di un programma per PLC in Ladder diagram o Schema a contatti avviene in maniera simile al
disegno di un circuito elettrico a relè. Tra due linee verticali, poste ai margini dello schema, che
rappresentano l’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 orizzontali e verticali.
Ogni ramo può contenere al massimo 6 elementi circuitali in precise posizioni. Nelle prime 5 posizioni si
possono disegnare soltanto contatti, nell’ultima solamente bobine.
Ogni ramo può quindi essere suddiviso in due zone: la zona condizionale, formata dalle prime 5 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.
Tabella 12: 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.

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


Note sulla programmazione del PLC FPC 404 10-5

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. Il massimo numero
di rami paralleli consentiti è 4. 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.
All’interno dello schema a contatti possono prendere posto gli elementi descritti nella Tabella 12.

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.

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.

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


10-6 Note sulla programmazione del PLC FPC 404

Tabella 13: 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.

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

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


Note sulla programmazione del PLC FPC 404 10-7

• 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.

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


10-8 Note sulla programmazione del PLC FPC 404

Tabella 14: 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.

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


CAPITOLO 11 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.

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


11-2 Esempi di programmazione per PLC FPC 404

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.

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


Esempi di programmazione per PLC FPC 404 11-3

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

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


11-4 Esempi di programmazione per PLC FPC 404

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 2 con un ritardo temporale di
F0.0 rispetto ad I0 che vale un ciclo di esecuzione.

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


Esempi di programmazione per PLC FPC 404 11-5

Figura 2: 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 3: diagramma temporale temporizzatore ad impulso


Il funzionamento del temporizzatore ad impulso è illustrato nel diagramma temporale di Figura 3. 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).

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


11-6 Esempi di programmazione per PLC FPC 404

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 4.
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 4: 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).

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


Esempi di programmazione per PLC FPC 404 11-7

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 5 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 5: 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è:
O5 = I0 ⋅ T2
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).

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


11-8 Esempi di programmazione per PLC FPC 404

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 6: 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).

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


Esempi di programmazione per PLC FPC 404 11-9

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 7. I primi rappresentano i segnali di ingresso,
l’ultimo l’uscita a questi corrispondente.

Figura 7: 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:
O5 = F0.0 ⋅ T2
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).

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


11-10 Esempi di programmazione per PLC FPC 404

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 8: diagramma temporale temporizzatore con ritardo all'eccitazione ed alla diseccitazione

La Figura 8 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).

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


Esempi di programmazione per PLC FPC 404 11-11

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 9 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:
O7 = T10 ⋅ T11
Il primo e l’ultimo percorso dello schema implementano i due temporizzatori con ritardo alla diseccitazione, il
secondo implementa l’espressione logica.

Figura 9: 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).

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


11-12 Esempi di programmazione per PLC FPC 404

Esempio 16: treno di impulsi

L’uscita O4 deve attivarsi per un istante ogni secondo.

Figura 10: 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).

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


Esempi di programmazione per PLC FPC 404 11-13

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).

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


11-14 Esempi di programmazione per PLC FPC 404

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 11: 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).

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


Esempi di programmazione per PLC FPC 404 11-15

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

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


11-16 Esempi di programmazione per PLC FPC 404

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 12 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.

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


Esempi di programmazione per PLC FPC 404 11-17

Figura 12: 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:
O2 = T0 + T1 ⋅ T0 ⋅ T2
Riportando questa espressione in termini elettrici, si ottiene il percorso 5 dello schema.

Figura 13: diagramma temporale del comando luci temporizzato

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


11-18 Esempi di programmazione per PLC FPC 404

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).

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


Esempi di programmazione per PLC FPC 404 11-19

Figura 14: 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

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


11-20 Esempi di programmazione per PLC FPC 404

Figura 15: diagramma temporale per semaforo di Formula 1


Il diagramma temporale di Figura 15 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 conL1 = T1che rappresentano le uscite per le lampade, si nota
quelli
che: L2 = T1 ⋅ T2
L3 = T1 ⋅ T3
I percorsi dal 2 al 6 dello schema a contatti implementano queste espressioni.
L4 = T1 ⋅ T4
L5 = T1 ⋅ T5

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


Esempi di programmazione per PLC FPC 404 11-21

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


CAPITOLO 12 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.

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


12-2 Note sulla programmazione del PLC PS3

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 15 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, a meno di utilizzo di PL-RIS o PL-Net.

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, a meno di utilizzo di PL-RIS o PL-Net.

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


Note sulla programmazione del PLC PS3 12-3

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 15: 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

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


12-4 Note sulla programmazione del PLC PS3

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

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


Note sulla programmazione del PLC PS3 12-5

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

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


12-6 Note sulla programmazione del PLC PS3

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 16 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 16: 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.

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


Note sulla programmazione del PLC PS3 12-7

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).

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


12-8 Note sulla programmazione del PLC PS3

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 17, 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 17: 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 16 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

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


Note sulla programmazione del PLC PS3 12-9

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 16.

= (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


= Bit Q0.0 – Q0.15
M0.0 – M35.15
Byte QB0.0 – QB0.8
MB0.0 – MB34.8
QA0.0 – QA0.3
Word QW0
MW0 – MW35
=N Bit Q0.0 – Q0.15
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


A Bit I0.0 – I0.15
Q0.0 – Q0.15
M0.0 – M35.15
K0 – K1
Byte IB0.0 – IB0.8
IA0.0 – IA0.3
QB0.0 – QB0.8
QA0.0
MB0.0 – MB34.8
KB0 – KB255
AN Bit I0.0 – I0.15

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


12-10 Note sulla programmazione del PLC PS3

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
Bit di zero (Z) 1 Se il contenuto del registro generale
dopo l’esecuzione dell’operazione è 0
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


ADD Byte IB0.0 – IB0.8
IA0.0 – IA0.3
QB0.0 – QB0.8
QA0.0
MB0.0 – MB35.8
KB0 – KB255

Registro di stato Attualizzazione


Bit di overflow (C) 1 Se si è avuto un overflow, cioè se il
risultato è maggiore di 255
0 Se non si è avuto overflow, cioè se il
risultato è minore o uguale di 255
Bit di zero (Z) 1 Se il contenuto del registro generale dopo
l’esecuzione dell’operazione è 0
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

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


Note sulla programmazione del PLC PS3 12-11

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


DIV Byte IB0.0 – IB0.8
IA0.0 – IA0.3
QB0.0 – QB0.8
QA0.0
MB0.0 – MB35.8
KB0 – KB255

Registro di stato Attualizzazione


Bit di overflow non viene modificato
Bit di zero (Z) 1 Se il contenuto del registro generale
dopo l’esecuzione dell’operazione è 0
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

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


12-12 Note sulla programmazione del PLC PS3

Registro di stato Attualizzazione


Bit di overflow non viene modificato
Bit di zero (Z) 1 Se il contenuto del registro generale è 0
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


L Bit I0.0 – I0.15
Q0.0 – Q0.15
M0.0 – M35.15
K0 – K1
Byte IB0.0 – IB0.8
IA0.0 – IA0.3
QB0.0 – QB0.8
QA0.0
MB0.0 – MB34.8
KB0 – KB255
Word IW0
QW0
MW0 – MW35
KW0 – KW65535
LN Bit I0.0 – I0.15
Q0.0 – Q0.15
M0.0 – M35.15
K0 – K1

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


Note sulla programmazione del PLC PS3 12-13

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


MUL Byte IB0.0 – IB0.8
IA0.0 – IA0.3
QB0.0 – QB0.8
QA0.0
MB0.0 – MB35.8
KB0 – KB255

Registro di stato Attualizzazione


Bit di overflow (C) 1 Se si è avuto un overflow, cioè se il
risultato è maggiore di 255
0 Se non si è avuto overflow, cioè se il
risultato è minore o uguale di 255
Bit di zero (Z) 1 Se il contenuto del registro generale dopo
l’esecuzione dell’operazione è 0
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
Bit di zero (Z) 1 Se il contenuto del registro generale
dopo l’esecuzione dell’operazione è 0
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.

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


12-14 Note sulla programmazione del PLC PS3

Operazione Tipo dati Operandi ammessi


O Bit I0.0 – I0.15
Q0.0 – Q0.15
M0.0 – M35.15
K0 – K1
Byte IB0.0 – IB0.8
IA0.0 – IA0.3
QB0.0 – QB0.8
QA0.0
MB0.0 – MB34.8
KB0 – KB255
ON Bit I0.0 – I0.15
Q0.0 – Q0.15
M0.0 – M35.15
K0 – K1

Registro di stato Attualizzazione


Bit di overflow non viene modificato
Bit di zero (Z) 1 Se il contenuto del registro generale
dopo l’esecuzione dell’operazione è 0
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


R Bit Q0.0 – Q0.15
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


S Bit Q0.0 – Q0.15
M0.0 – M35.15

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


Note sulla programmazione del PLC PS3 12-15

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


SUB Byte IB0.0 – IB0.8
IA0.0 – IA0.3
QB0.0 – QB0.8
QA0.0
MB0.0 – MB35.8
KB0 – KB255

Registro di stato Attualizzazione


Bit di overflow (C) 1 Se è stato necessario un prestito, cioè se
il minuendo era inferiore al sottraendo
(RAb<op)
0 Se non è stato necessario un prestito,
cioè se il minuendo era maggiore o uguale
al sottraendo (RAb≥op)
Bit di zero (Z) 1 Se il contenuto del registro generale dopo
l’esecuzione dell’operazione è 0
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


XO Bit I0.0 – I0.15
Q0.0 – Q0.15
M0.0 – M35.15
K0 – K1
Byte IB0.0 – IB0.8
IA0.0 – IA0.3
QB0.0 – QB0.8
QA0.0
MB0.0 – MB34.8
KB0 – KB255

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


12-16 Note sulla programmazione del PLC PS3

Operazione Tipo dati Operandi ammessi


XON Bit I0.0 – I0.15
Q0.0 – Q0.15
M0.0 – M35.15
K0 – K1

Registro di stato Attualizzazione


Bit di overflow non viene modificato
Bit di zero (Z) 1 Se il contenuto del registro generale
dopo l’esecuzione dell’operazione è 0
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 16: Riepilogo operazioni per PS3
Operazione Operando Descrizione
Operazioni di caricamento
L I, Q, M, K Carica lo stato dell’operando nel registro generale RS = RA
(bit) RA = Op
L IB, IA, QB, Carica lo stato dell’operando nel registro generale RAb = Op
QA, MB, KB (byte)
L IW, QW, Carica lo stato dell’operando nel registro generale RAw = Op
MW (word)
LN I, Q, M, K Carica il complemento dell’operando nel registro RS = RA
generale (bit) RA = Op
Operazioni di assegnazione
= Q, M Assegna all’operando il valore del registro Op = RA
generale (bit)
= QB, QA, MB Assegna all’operando il valore del registro Op = RAb
generale (byte)
= QW, MW Assegna all’operando il valore del registro Op = RAw
generale (word)

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


Note sulla programmazione del PLC PS3 12-17

Operazione Operando Descrizione


=N Q, M Assegna all’operando il valore del complemento Op = RA
del registro generale (bit)
R Q, M Assegna all’operando il valore 0 se il registro Se RA = 1 allora Op = 0
generale (bit) è 1
S Q, M Assegna all’operando il valore 1 se il registro Se RA = 1 allora Op = 1
generale (bit) è 1
Operazioni logiche
A I, Q, M, K Esegue l’AND tra il registro generale (bit) e RA = RA · Op
l’operando, pone il risultato nel registro generale
(bit)
A IB, IA, QB, Esegue l’AND bit a bit tra il registro generale RAb = RAb · Op
QA, MB, KB (byte) e l’operando e pone il risultato nel registro
generale (byte)
A Esegue l’AND tra lo stack e il registro generale RA = RS · RL
(bit) e pone il risultato nel registro generale (bit)
AN I, Q, M, K Esegue l’AND tra il registro generale (bit) e il RA = RA ⋅ Op
complemento dell’operando e pone il risultato nel
registro generale (bit)
AN Esegue l’AND tra lo stack e il complemento del RA = RS ⋅ RA
registro generale (bit) e pone il risultato nel
registro generale (bit)
O I, Q, M, K Esegue l’OR tra il registro generale (bit) e RA = RA + Op
l’operando e pone il risultato nel registro di lavoro
(bit)
O IB, IA, QB, Esegue l’OR bit a bit tra il registro generale (byte) RAb = RAb + Op
QA, MB, KB e l’operando e pone il risultato nel registro
generale (byte)
O Esegue l’OR tra lo stack e il registro generale (bit) RA = RS + RA
e pone il risultato nel registro generale (bit)
ON I, Q, M, K Esegue l’OR tra il registro generale (bit) e il RA = RA + Op
complemento dell’operando e pone il risultato nel
registro generale (bit)
ON Esegue l’OR tra lo stack e il complemento del RA = RS + RA
registro generale (bit) e pone il risultato nel
registro generale (bit)
XO I, Q, M, K Esegue l’XOR tra il registro generale (bit) e RA = RA ⊕ Op
l’operando e pone il risultato nel registro generale
(bit)
XO IB, IA, QB, Esegue l’XOR bit a bit tra il registro generale RAb = RAb ⊕ Op
QA, MB, KB (byte) e l’operando e pone il risultato nel registro
generale (byte)
XO Esegue l’XOR tra lo stack e il registro generale RA = RS ⊕ RA
(bit) e pone il risultato nel registro generale (bit)
XON I, Q, M, K Esegue l’XOR tra il registro generale (bit) e il RA = RA ⊕ Op
complemento dell’operando e pone il risultato nel
registro generale (bit)
XON Esegue l’XOR tra lo stack e il complemento del RA = RS ⊕ RA
registro generale (bit) e pone il risultato nel
registro generale (bit)

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


12-18 Note sulla programmazione del PLC PS3

Operazione Operando Descrizione


Operazioni aritmetiche
ADD IB, IA, QB, Il contenuto del registro generale (byte) viene RAb = RAb + Op
QA, MB, KB addizionato all’operando ed il risultato depositato
nel registro generale (byte)
DIV IB, IA, QB, Il contenuto del registro generale (byte) viene RAb = RAb / Op
QA, MB, KB diviso per l’operando, il risultato viene depositato RH = Resto( RAb / Op)
nel registro generale (byte) ed il resto nel registro
ausiliario
MUL IB, IA, QB, Il contenuto del registro generale (byte) viene RAb = RAb x Op (L)
QA, MB, KB moltiplicato per l’operando ed il risultato
RH = RAb x Op (H)
depositato nel registro generale (parte bassa) e
nel registro ausiliario (parte alta)
SUB IB, IA, QB, L’operando viene sottratto dal contenuto del RAb = RAb – Op
QA, MB, KB registro generale ed il risultato viene depositato
nel registro generale
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 RAb = RH
registro generale (byte)
NOT Il contenuto del registro generale (byte) viene RAb = RAb
negato bit a bit

Programmazione in Ladder
La scrittura di un programma per PLC in Ladder diagram o Schema a contatti avviene in maniera simile al
disegno di un circuito elettrico a relè. Tra due linee verticali, poste ai margini dello schema e che
rappresentano l’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 orizzontali e verticali.
Ogni ramo può contenere al massimo 6 elementi circuitali in precise posizioni. Nelle prime 5 posizioni si
possono disegnare soltanto contatti, nell’ultima solamente bobine.
Ogni ramo può quindi essere suddiviso in due zone: la zona condizionale, formata dalle prime 5 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.

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


Note sulla programmazione del PLC PS3 12-19

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. Il massimo numero
di rami paralleli consentiti è 4. 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.
All’interno dello schema a contatti possono prendere posto gli elementi descritti nella tabella, a questi
saranno da aggiungere i moduli di sistema di cui si farà menzione separatamente più avanti.
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

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


12-20 Note sulla programmazione del PLC PS3

Elemento Descrizione
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
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.

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


Note sulla programmazione del PLC PS3 12-21

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.
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 18: 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.

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


12-22 Note sulla programmazione del PLC PS3

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.

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 19 chiarisce maggiormente il funzionamento del contatore.

Figura 19: Diagramma temporale del contatore del PS3

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


Note sulla programmazione del PLC PS3 12-23

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:
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.

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


12-24 Note sulla programmazione del PLC PS3

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

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


CAPITOLO 13 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.

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


13-2 Esempi di programmazione per PLC PS3

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.

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


Esempi di programmazione per PLC PS3 13-3

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

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


13-4 Esempi di programmazione per PLC PS3

I0.2 · I0.3, così come ottenuto eseguendo le istruzioni 002 e 003. L’istruzione 004, una OR senza
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.

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


Esempi di programmazione per PLC PS3 13-5

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

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.

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


13-6 Esempi di programmazione per PLC PS3

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 20 con un ritardo temporale tra di
M0.0 rispetto ad I0.0 che vale un ciclo di esecuzione.

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 20: 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.

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


Esempi di programmazione per PLC PS3 13-7

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 18).
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
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 21 che chiarisce il metodo usato per risolvere questo problema.

Figura 21: 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.

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


13-8 Esempi di programmazione per PLC PS3

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 18). 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.

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 22: Diagramma temporale temporizzatore ad impulso


Il diagramma temporale di Figura 22 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: Q0.5 = I0.0 ⋅ TR2 .

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


Esempi di programmazione per PLC PS3 13-9

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 23. 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.

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


13-10 Esempi di programmazione per PLC PS3

La Figura 23 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 23: 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 24 con l’ultimo. I primi rappresentano i segnali di ingresso, l’ultimo
riporta la corrispondente uscita.

Figura 24: 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

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


Esempi di programmazione per PLC PS3 13-11

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 25: Diagramma temporale temporizzatore con ritardo all'eccitazione ed alla diseccitazione

La Figura 25 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.

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


13-12 Esempi di programmazione per PLC PS3

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 26 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 26: 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:
Q0.7 = TR10 ⋅ TR11
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

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


Esempi di programmazione per PLC PS3 13-13

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 27: 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.

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


13-14 Esempi di programmazione per PLC PS3

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.

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


Esempi di programmazione per PLC PS3 13-15

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.

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


13-16 Esempi di programmazione per PLC PS3

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 28).

Figura 28: 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

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


Esempi di programmazione per PLC PS3 13-17

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.

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


13-18 Esempi di programmazione per PLC PS3

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

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


Esempi di programmazione per PLC PS3 13-19

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.

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


13-20 Esempi di programmazione per PLC PS3

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 29, 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 29: 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

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


Esempi di programmazione per PLC PS3 13-21

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
30 è 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 30: 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

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


13-22 Esempi di programmazione per PLC PS3

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 31: 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 31. 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:
Q0.2 = M0.0 +( Q0.1 ⋅ M0.0 ⋅ M34.14 )
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.

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


Esempi di programmazione per PLC PS3 13-23

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

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


13-24 Esempi di programmazione per PLC PS3

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 32: 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:

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


Esempi di programmazione per PLC PS3 13-25

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 33 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 33: 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!

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


13-26 Esempi di programmazione per PLC PS3

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

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


Esempi di programmazione per PLC PS3 13-27

Esempio 26: luci sequenziali a 4 canali

Costruire un sequenziatore a 4 canali che preveda il seguente schema di accensione.

Figura 34: 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 34, 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,

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


13-28 Esempi di programmazione per PLC PS3

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

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


Esempi di programmazione per PLC PS3 13-29

LADDER AWL
014: O -FASE4
015: = -CH2
016: L -FASE3
017: = -CH3

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


13-30 Esempi di programmazione per PLC PS3

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

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


CAPITOLO 14 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.

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


14-2 Note sulla programmazione del PLC Siemens S5 100U

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 19.

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.

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


Note sulla programmazione del PLC Siemens S5 100U 14-3

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 17: 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
3
da 0 a 2048x8=16384. Dove la moltiplicazione per 8 deriva dallo scorrimento di 3 posti a sinistra (2 =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 18: 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
4
scorrimento di 4 posti a sinistra (2 =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.

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


14-4 Note sulla programmazione del PLC Siemens S5 100U

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 19: 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

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


Note sulla programmazione del PLC Siemens S5 100U 14-5

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.

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


14-6 Note sulla programmazione del PLC Siemens S5 100U

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

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


Note sulla programmazione del PLC Siemens S5 100U 14-7

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 16 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 35: 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.

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


14-8 Note sulla programmazione del PLC Siemens S5 100U

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 20
riassume le caratteristiche principali dei diversi tipi di blocco.
Tabella 20: 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.

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


Note sulla programmazione del PLC Siemens S5 100U 14-9

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 21 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.

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


14-10 Note sulla programmazione del PLC Siemens S5 100U

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 21: Specie e tipo dei parametri per blocco funzionale di S5 100U
Specie Tipo Operandi attuali
E, A BI (operandi a bit) E
A
M
BY (operandi a byte) EB
AB
MB
DR
DL
W (operandi a word) EW
AW
MW
DW
D KB
KF
KH
KM
KT
KY
KZ
B Non è ammessa l’indicazione del tipo OB
PB
FB (non parametrizzati)
DB
T Non è ammessa l’indicazione del tipo T
Z Non è ammessa l’indicazione del tipo Z

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


Note sulla programmazione del PLC Siemens S5 100U 14-11

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 28 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.

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


14-12 Note sulla programmazione del PLC Siemens S5 100U

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 26 e la Tabella 27 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 26 e la Tabella 27 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 26 e la Tabella 27 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 26 e la Tabella 27 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

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


Note sulla programmazione del PLC Siemens S5 100U 14-13

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 36 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.

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


14-14 Note sulla programmazione del PLC Siemens S5 100U

Figura 36: 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 22: 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 23: 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 (.)

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


Note sulla programmazione del PLC Siemens S5 100U 14-15

• 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 37: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 38: Temporizzatore ad impulso prolungato per S5 100U

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


14-16 Note sulla programmazione del PLC Siemens S5 100U

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 39: 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 40: Temporizzatore con ritardo all'eccitazione con memoria per S5 100U

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


Note sulla programmazione del PLC Siemens S5 100U 14-17

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 41: 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 24: 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

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


14-18 Note sulla programmazione del PLC Siemens S5 100U

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

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


Note sulla programmazione del PLC Siemens S5 100U 14-19

-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

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


14-20 Note sulla programmazione del PLC Siemens S5 100U

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

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


Note sulla programmazione del PLC Siemens S5 100U 14-21

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.

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


14-22 Note sulla programmazione del PLC Siemens S5 100U

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 21.

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 28.
Operandi ammessi: etichetta

SPN = (Salto su non 0)

Il salto viene eseguito quando ANZ1 è diverso da ANZ0. RLC non viene modificato. Vedere Tabella 28.
Operandi ammessi: etichetta

SPP = (Salto su positivo)

Il salto viene eseguito quando ANZ1=1 e ANZ0=0. RLC non viene modificato. Vedere Tabella 28.
Operandi ammessi: etichetta

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


Note sulla programmazione del PLC Siemens S5 100U 14-23

SPM = (Salto su negativo)

Il salto viene eseguito quando ANZ0=1 e ANZ0=1. RLC non viene modificato. Vedere Tabella 28.
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 26 e la Tabella 27 per conoscere quali operazioni sono RLC limitanti.
Operandi ammessi: formale (Specie parametro: E, A, T, Z; Tipo parametro: BI dove ammesso). Vedere
Tabella 21.

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 26 e la Tabella 27 per conoscere quali operazioni sono RLC limitanti.
Operandi ammessi: formale (Specie parametro: E, A, T, Z; Tipo parametro: BI dove ammesso). Vedere
Tabella 21.

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 26 e la Tabella 27 per conoscere quali operazioni sono RLC limitanti.
Operandi ammessi: formale (Specie parametro: E, A, T, Z; Tipo parametro: BI dove ammesso). Vedere
Tabella 21.

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


14-24 Note sulla programmazione del PLC Siemens S5 100U

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 26 e la Tabella 27 per conoscere quali operazioni sono RLC limitanti.
Operandi ammessi: formale (Specie parametro: E, A, T, Z; Tipo parametro: BI dove ammesso). Vedere
Tabella 21.

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 21.

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 21.

= = (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 21.

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 21.

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 21.

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


Note sulla programmazione del PLC Siemens S5 100U 14-25

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 21.

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 21.

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 21.

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 21.

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 21.

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 21.

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


14-26 Note sulla programmazione del PLC Siemens S5 100U

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 21.

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 21.

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

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


Note sulla programmazione del PLC Siemens S5 100U 14-27

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 26 riporta sinteticamente l’elenco delle operazioni fondamentali implementate nel PLC simulato,
mentre la Tabella 27 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 25.

Tabella 25: Collegamento tra operazioni ed RLC


RLC Significato Valori Spiegazione
D Dipendente 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.
N L’esecuzione dell’operazione non dipende dal valore di RLC.
Essa viene eseguita sempre.
I Influente 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.
N L’elaborazione dell’operazione non influisce sul valore di RLC
che rimane quindi inalterato.
L Limitante 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.
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.

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


14-28 Note sulla programmazione del PLC Siemens S5 100U

Tabella 26: Operazioni fondamentali implementate

Operazione Operandi RLC


Descrizione
AWL ammessi D I L
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

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


Note sulla programmazione del PLC Siemens S5 100U 14-29

Operazione Operandi RLC


Descrizione
AWL ammessi D I L
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)

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


14-30 Note sulla programmazione del PLC Siemens S5 100U

Operazione Operandi RLC


Descrizione
AWL ammessi D I L
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

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


Note sulla programmazione del PLC Siemens S5 100U 14-31

Tabella 27: Operazioni integrative implementate

Operazione Operandi RLC


Descrizione
AWL ammessi D I L
Operazioni logiche su operando formale
U= Operando formale N S N Combinazione AND o test sullo stato “1”
E, A, M, T, Z
UN= Operando formale N S N Combinazione AND o test sullo stato “0”
E, A, M, T, Z
O= Operando formale N S N Combinazione OR o test sullo stato “1”
E, A, M, T, Z
ON= Operando formale N S N Combinazione OR test sullo stato “0”
E, A, M, T, Z
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 S N S Attivazione dell’operando formale su RLC=1
E, A, M
RB = Operando formale S N S Disattivazione dell’operando formale su RLC=1
E, A, M
== Operando formale S N S Assegnazione dell’operando formando al valore
E, A, M di RLC
Operazioni di caricamento e trasferimento di operando formale
L= Operando formale N N N Caricamento in ACCU1 del valore dell’operando
E, A, M, T, Z formale
LC = Operando formale N N N Caricamento in ACCU1 del valore codificato
T, Z BCD dell’operando formale
LW = Operando formale N N N Caricamento in ACCU1 del valore dell’operando
D formale costante
T= Operando formale N N N Trasferimento del valore in ACCU1 all’operando
E, A, M formale
Operazioni di temporizzazione e conteggio con operando formale
SI = Operando formale S↑ N S Attivazione di un temporizzatore ad impulso
T
SE = Operando formale S↑ N S Attivazione di un temporizzatore con ritardo
T all’eccitazione
SVZ = Operando formale S↑ N S Attivazione di un temporizzatore ad impulso
T, Z prolungato oppure impostazione di un contatore
SSV = Operando formale S↑ N S Attivazione di un temporizzatore con ritardo
T, Z all’eccitazione con memoria oppure conteggio in
avanti di un contatore

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


14-32 Note sulla programmazione del PLC Siemens S5 100U

Operazione Operandi RLC


Descrizione
AWL ammessi D I L
SAR = Operando formale S↓ N S Attivazione di un temporizzatore con ritardo alla
T, Z S↑ diseccitazione oppure conteggio all’indietro di
(*) un contatore
RD = Operando formale S N S Disattivazione dell’operando formale su RLC=1
T, Z
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 N N N Elaborazione del blocco per OB, PB e FB;
B apertura del blocco per DB

(*) S↓ in caso di operando temporizzatore, S↑ in caso di operando contatore

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


Note sulla programmazione del PLC Siemens S5 100U 14-33

Operazione Operandi RLC


Descrizione
AWL ammessi D I L
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 28: 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

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


14-34 Note sulla programmazione del PLC Siemens S5 100U

Programmazione in Ladder
La scrittura di un programma per PLC in Ladder diagram o Schema a contatti avviene in maniera simile al
disegno di un circuito elettrico a relè. Tra due linee verticali, poste ai margini dello schema e che
rappresentano l’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 orizzontali e verticali.
Ogni ramo può contenere al massimo 6 elementi circuitali in precise posizioni. Nelle prime 5 posizioni si
possono disegnare soltanto contatti, nell’ultima solamente bobine.
Ogni ramo può quindi essere suddiviso in due zone: la zona condizionale, formata dalle prime 5 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. Il massimo numero
di rami paralleli consentiti è 4. 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.
All’interno dello schema a contatti possono prendere posto gli elementi descritti nella Tabella 29.
Tabella 29: 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.

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


Note sulla programmazione del PLC Siemens S5 100U 14-35

Elemento Descrizione

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 43) 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.
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 44) 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 45) 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.

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


14-36 Note sulla programmazione del PLC Siemens S5 100U

Elemento Descrizione
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 46) 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 47) 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.

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.

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


CAPITOLO 15 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

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


15-2 Esempi di programmazione per PLC PS3

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 (= 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

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


Esempi di programmazione per PLC PS3 15-3

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 26) 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 26) 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.

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


15-4 Esempi di programmazione per PLC PS3

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.

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.

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


Esempi di programmazione per PLC PS3 15-5

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

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 42 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

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


15-6 Esempi di programmazione per PLC PS3

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

Figura 42: 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 43: Diagramma temporale temporizzatore ad impulso

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 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.

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


Esempi di programmazione per PLC PS3 15-7

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).

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 44: Diagramma temporale del temporizzatore ad impulso prolungato

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 44. 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).

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


15-8 Esempi di programmazione per PLC PS3

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 45: Diagramma temporale del temporizzatore con ritardo all’eccitazione

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 45. 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).

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


Esempi di programmazione per PLC PS3 15-9

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 46: 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 46 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.

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).

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


15-10 Esempi di programmazione per PLC PS3

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 47: Diagramma temporale temporizzatore con ritardo alla diseccitazione

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 47. 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
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).

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


Esempi di programmazione per PLC PS3 15-11

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 48: Diagramma temporale temporizzatore con ritardo all'eccitazione ed alla diseccitazione

La Figura 48 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

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 49 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:

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


15-12 Esempi di programmazione per PLC PS3

A2.7 = T11 ⋅ T10

Figura 49: 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
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.

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


Esempi di programmazione per PLC PS3 15-13

Esempio 16: treno di impulsi

L’uscita A2.4 deve attivarsi ogni secondo per un istante.

Figura 50: 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 50 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.

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


15-14 Esempi di programmazione per PLC PS3

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.

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


Esempi di programmazione per PLC PS3 15-15

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 51).

Figura 51: 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è

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


15-16 Esempi di programmazione per PLC PS3

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.

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


Esempi di programmazione per PLC PS3 15-17

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

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


15-18 Esempi di programmazione per PLC PS3

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.
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 52; 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 52: 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.

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


Esempi di programmazione per PLC PS3 15-19

LADDER

AWL
: UN T2 'attivazione tempo OFF
: L KT 150.0
: SA T1

: U T1 'attivazione tempo ON
: L KT 50.0
: SA T2

: UN T1
: = A2.7 'impostazione uscita

: BE

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


15-20 Esempi di programmazione per PLC PS3

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.

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


Esempi di programmazione per PLC PS3 15-21

Figura 53: 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 53. 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:
A2.2 = T0 +( A2.1 ⋅ T0 ⋅ T2 )
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.

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


15-22 Esempi di programmazione per PLC PS3

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

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


Esempi di programmazione per PLC PS3 15-23

: BE

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 54: Diagramma temporale divisore di frequenza per 4

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


15-24 Esempi di programmazione per PLC PS3

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

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


Esempi di programmazione per PLC PS3 15-25

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 27). 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.

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


15-26 Esempi di programmazione per PLC PS3

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
8
valore di quest’ultimo sarà 2 =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.

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


Esempi di programmazione per PLC PS3 15-27

AWL
OB1
: L KF +0 'inizializzazione merker byte
: T MB80 'di conteggio
: 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 55 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.

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


15-28 Esempi di programmazione per PLC PS3

Figura 55: 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!

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


Esempi di programmazione per PLC PS3 15-29

LADDER

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


15-30 Esempi di programmazione per PLC PS3

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 56: 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.

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


Esempi di programmazione per PLC PS3 15-31

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 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 56, 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.

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


15-32 Esempi di programmazione per PLC PS3

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

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


Esempi di programmazione per PLC PS3 15-33

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
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

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


15-34 Esempi di programmazione per PLC PS3

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.
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

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


Esempi di programmazione per PLC PS3 15-35

AWL
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
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

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


15-36 Esempi di programmazione per PLC PS3

AWL
33 KM 00000000 11111100
34 KM 00000000 11111101
35 KM 00000000 11111110
36 KM 00000000 11111111
37 KH FFFF Terminatore di ciclo

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


CAPITOLO 16 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 30.

Tabella 30: 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.

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


16-2 Esempi di programmazione per PLC S5 100U

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 19.

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 31: 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 32.
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.

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


Esempi di programmazione per PLC S7 300 16-3

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 32: 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
0 4
4 4
5 5
6 6
7 7
0 0
1 1
2 2
3 3
1 5
4 4
5 5
6 6
7 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 31. 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 33: 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

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


16-4 Esempi di programmazione per PLC S5 100U

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
3
(2 =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 34: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
4
scorrimento di 4 posti a sinistra (2 =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.

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


Esempi di programmazione per PLC S7 300 16-5

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

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


16-6 Esempi di programmazione per PLC S5 100U

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 35: 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 2#1111_1111_1111_1111
_0000_0000_0000_0000 _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

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


Esempi di programmazione per PLC S7 300 16-7

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 modalità 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.

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


16-8 Esempi di programmazione per PLC S5 100U

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
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.

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


Esempi di programmazione per PLC S7 300 16-9

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 57 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 57: 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

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


16-10 Esempi di programmazione per PLC S5 100U

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 36
riassume le caratteristiche principali dei diversi tipi di blocco.

Tabella 36: 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.

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


Esempi di programmazione per PLC S7 300 16-11

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 nel blocco chiamato agli operandi formali. 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 operazioni CALL FC
devono corrispondere per tipo e numero a quelli attesi.
La Tabella 37 riassume i possibili parametri e gli operandi attuali corrispondenti.

Tabella 37: 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
In
WORD EW, AW, MW, DBW
DWORD ED, AD, MD, DBD
BOOL E, A, M, DBX
BYTE EB, AB, MB, DBB
Out
WORD EW, AW, MW, DBW
DWORD ED, AD, MD, DBD
BOOL E, A, M, DBX
BYTE EB, AB, MB, DBB
In_out
WORD EW, AW, MW, DBW
DWORD ED, AD, MD, DBD

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


16-12 Esempi di programmazione per PLC S5 100U

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.

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


Esempi di programmazione per PLC S7 300 16-13

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. Viene inoltre fornita, per comodità di
consultazione da parte del programmatore, una tabelle 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 43 per informazioni sull’influenza delle operazioni sugli indicatori A0 ed A1.

Operazioni sugli accumulatori

TAK (Scambio accumulatori)

I contenuti di ACCU1 ed ACCU2 vengono scambiati.


Operandi ammessi: nessuno

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


16-14 Esempi di programmazione per PLC S5 100U

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 (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 42 per conoscere quali operazioni sono RLC limitanti.
Operandi ammessi: E, A, M, DBX, 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.
Consultare la Tabella 42 per conoscere quali operazioni sono RLC limitanti.
Operandi ammessi: E, A, M, DBX, 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.
Consultare la Tabella 42 per conoscere quali operazioni sono RLC limitanti.
Operandi ammessi: E, A, M, DBX, T, Z.

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


Esempi di programmazione per PLC S7 300 16-15

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 42 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 42 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 42 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( (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

UN( (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

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


16-16 Esempi di programmazione per PLC S5 100U

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

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.

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


Esempi di programmazione per PLC S7 300 16-17

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.
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

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


16-18 Esempi di programmazione per PLC S5 100U

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 38: 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 39: 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.
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 (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

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


Esempi di programmazione per PLC S7 300 16-19

Figura 58: Temporizzatore ad impulso per S7 300

SV (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 59:Temporizzatore ad impulso prolungato per S7 300

SE (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.
Lo stato del temporizzatore è alto quando il tempo è trascorso e RLC si trova ancora allo stato alto.
Operandi ammessi: T

Figura 60: Temporizzatore con ritardo all’eccitazione per S7 300

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


16-20 Esempi di programmazione per PLC S5 100U

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 61:Temporizzatore con ritardo all’eccitazione con memoria per S7 300

SA (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 62: Temporizzatore con ritardo alla diseccitazione per S7 300

R (Reset di un temporizzatore)

Se RLC=1, il tempo viene azzerato. Se RLC=0, l’operazione viene ignorata.


Operandi ammessi: T

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


Esempi di programmazione per PLC S7 300 16-21

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 40: 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 (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 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.
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

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


16-22 Esempi di programmazione per PLC S5 100U

+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

*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

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


Esempi di programmazione per PLC S7 300 16-23

/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

<=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

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


16-24 Esempi di programmazione per PLC S5 100U

==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

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

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


Esempi di programmazione per PLC S7 300 16-25

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 (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.
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.
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.
Operandi ammessi: nessuno

UD (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.
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.
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.

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


16-26 Esempi di programmazione per PLC S5 100U

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.
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

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


Esempi di programmazione per PLC S7 300 16-27

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.
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 (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

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


16-28 Esempi di programmazione per PLC S5 100U

Operazioni di salto

SPA (Salto incondizionato)

L’elaborazione viene proseguita incondizionatamente dall’istruzione identificata dall’etichetta specificata come


operando.
Operandi ammessi: etichetta

SPB (Salto condizionato)

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

SPZ (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.
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 43.
Operandi ammessi: etichetta

SPN (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 43.
Operandi ammessi: etichetta

SPP (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 43.
Operandi ammessi: etichetta

SPO (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

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


Esempi di programmazione per PLC S7 300 16-29

SPMZ (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. Vedere Tabella 43.
Operandi ammessi: etichetta

SPPZ (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 43.
Operandi ammessi: etichetta

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.

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


16-30 Esempi di programmazione per PLC S5 100U

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 (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

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 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

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


Esempi di programmazione per PLC S7 300 16-31

Tabella 41: collegamento tra operazioni ed RLC


RLC Significato Valori Spiegazione
D Dipendente 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.
N L’esecuzione dell’operazione non dipende dal valore di RLC.
Essa viene eseguita sempre.
I Influente 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.
N L’elaborazione dell’operazione non influisce sul valore di RLC
che rimane quindi inalterato.
L Limitante 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.
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.

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


16-32 Esempi di programmazione per PLC S5 100U

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 42 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 41.
Le differenze di scrittura tra la notazione tedesca e quella inglese per la stessa operazione sono evidenziate
nelle colonne T ed I.

Tabella 42: Set di operazioni per S7 300


Operazione RLC
Operandi ammessi Descrizione
T I D I L
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

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


Esempi di programmazione per PLC S7 300 16-33

Operazione RLC
Operandi ammessi Descrizione
T I D I L
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_ N N N Caricamento di una costante binaria a 16 bit in ACCU1
bbbb
L 2#bbbb_bbbb_bbbb_ N N N Caricamento di una costante binaria a 32 bit in ACCU1
bbbb_bbbb_bbbb_bb
bb_bbbb
L S5TIME#aH_bbM_cc N N N Caricamento di una costante di tempo in ACCU1
S_dddMS 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

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


16-34 Esempi di programmazione per PLC S5 100U

Operazione RLC
Operandi ammessi Descrizione
T I D I L
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

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


Esempi di programmazione per PLC S7 300 16-35

Operazione RLC
Operandi ammessi Descrizione
T I D I L
*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

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


16-36 Esempi di programmazione per PLC S5 100U

Operazione RLC
Operandi ammessi Descrizione
T I D I L
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.

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


Esempi di programmazione per PLC S7 300 16-37

Operazione RLC
Operandi ammessi Descrizione
T I D I L
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 43: 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

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


16-38 Esempi di programmazione per PLC S5 100U

Programmazione in Ladder
La scrittura di un programma per PLC in Ladder diagram o Schema a contatti avviene in maniera simile al
disegno di un circuito elettrico a relè. Tra due linee verticali, poste ai margini dello schema e che
rappresentano l’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 orizzontali e verticali.
Ogni ramo può contenere al massimo 6 elementi circuitali in precise posizioni. Nelle prime 5 posizioni si
possono disegnare soltanto contatti, nell’ultima solamente bobine.
Ogni ramo può quindi essere suddiviso in due zone: la zona condizionale, formata dalle prime 5 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. Il massimo numero
di rami paralleli consentiti è 4. 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.
All’interno dello schema a contatti possono prendere posto gli elementi descritti nella Tabella 44.
Tabella 44: Elementi del ladder per S7 300
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.

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


Esempi di programmazione per PLC S7 300 16-39

Elemento Descrizione

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 58) 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.
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 59) 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 60) 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.

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


16-40 Esempi di programmazione per PLC S5 100U

Elemento Descrizione
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 61) 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 62) 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.

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.

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


CAPITOLO 17 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 Sxx-yyyZ.prj, dove:

S 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 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 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
potranno essere trovate nella Guida in linea di PC-Sim.

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


17-2 Esempi di programmazione per PLC PS3

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

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


Esempi di programmazione per PLC PS3 17-3

l’operazione quindi viene interpretata effettivamente come una OR. 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 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 42) 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.

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


17-4 Esempi di programmazione per PLC PS3

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 42) 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

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


Esempi di programmazione per PLC PS3 17-5

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.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

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


17-6 Esempi di programmazione per PLC PS3

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
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 63
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

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


Esempi di programmazione per PLC PS3 17-7

Figura 63: Diagramma temporale rilevatore fronti

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 64: Diagramma temporale temporizzatore ad impulso

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 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).

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


17-8 Esempi di programmazione per PLC PS3

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 65: Diagramma temporale del temporizzatore ad impulso prolungato

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 65. 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 66: Diagramma temporale del temporizzatore con ritardo all’eccitazione

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


Esempi di programmazione per PLC PS3 17-9

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 66. 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 67: 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 67 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.

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


17-10 Esempi di programmazione per PLC PS3

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 68: Diagramma temporale temporizzatore con ritardo alla diseccitazione

Il funzionamento del temporizzatore è illustrato nel diagramma temporale di Figura 68. 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

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


Esempi di programmazione per PLC PS3 17-11

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
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 69: Diagramma temporale temporizzatore con ritardo all'eccitazione ed alla diseccitazione

La Figura 69 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

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


17-12 Esempi di programmazione per PLC PS3

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 70 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:

A4.7 = T11 ⋅ T10

Figura 70: 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

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


Esempi di programmazione per PLC PS3 17-13

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 A4.4 deve attivarsi ogni secondo per un istante.

Figura 71: 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 71 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.

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


17-14 Esempi di programmazione per PLC PS3

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.

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


Esempi di programmazione per PLC PS3 17-15

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 72).

Figura 72: 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

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


17-16 Esempi di programmazione per PLC PS3

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 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.

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


Esempi di programmazione per PLC PS3 17-17

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 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.

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

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


17-18 Esempi di programmazione per PLC PS3

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 73; 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.

Figura 73: 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.

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


Esempi di programmazione per PLC PS3 17-19

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

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


17-20 Esempi di programmazione per PLC PS3

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
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.

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.

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


Esempi di programmazione per PLC PS3 17-21

Figura 74: 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 74. 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:
A4.2 = T0 + ( A4.1 ⋅ T0 ⋅ T2 )
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.

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


17-22 Esempi di programmazione per PLC PS3

LADDER

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

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


Esempi di programmazione per PLC PS3 17-23

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.

Figura 75: Diagramma temporale divisore di frequenza per 4

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


17-24 Esempi di programmazione per PLC PS3

LADDER

AWL
UN T1 'conteggio impulsi
ZR Z3
= A4.0 'attivazione uscita 0.5 secondi

UN Z3
= A4.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

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.

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


Esempi di programmazione per PLC PS3 17-25

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
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.

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.

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


17-26 Esempi di programmazione per PLC PS3

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.

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

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


Esempi di programmazione per PLC PS3 17-27

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 76 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.

Figura 76: 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!

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


17-28 Esempi di programmazione per PLC PS3

LADDER

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


Esempi di programmazione per PLC PS3 17-29

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 77: 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.

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


17-30 Esempi di programmazione per PLC PS3

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 77, 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.

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


Esempi di programmazione per PLC PS3 17-31

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

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


17-32 Esempi di programmazione per PLC PS3

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
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

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


Esempi di programmazione per PLC PS3 17-33

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.
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


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

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


17-34 Esempi di programmazione per PLC PS3

AWL
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 '
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

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


APPENDICE A L'INTERFACCIA EASYPORT D16

Generalità
L'interfaccia EasyPort D16 permette la trasmissione bidirezionale di segnali ON/OFF tra un dispositivo o un
impianto reale ed il PC, usando segnali a bassa tensione (24VCC).
La connessione tra la EasyPort D16 ed il PC viene realizzata mediante una connessione seriale. Altre
EasyPort D16, fino a sette, possono essere collegate alla prima mediante interconnessione ad anello in fibra
ottica. L'indirizzo di modulo viene assegnato automaticamente in dipendenza della sua posizione nell'anello. Il
modulo collegato al PC mediante connessione RS232 avrà l'indirizzo 1, il successivo, cioè quello il cui
connettore IN è collegato con il connettore OUT del primo, assumerà indirizzo 2 e così via fino all'ultimo
modulo che assumerà indirizzo pari al numero complessivo di EasyPort D16 interconnesse.

Anello in fibra ottica


La connessione opzionale dei moduli di espansione avviene per mezzo di fibre ottiche. Allo scopo sono
previsti due connettori sul pannello posteriore dell'unità.

• Connettore bianco = RING OUT


• Connettore nero = RING IN

Il connettore bianco deve essere collegato al connettore nero del modulo successivo. Il connettore bianco
dell'ultimo modulo dovrà essere collegato al connettore nero del primo, al fine di chiudere l'anello.

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


A-2 L'interfaccia EasyPort D16

Per effettuare la connessione, inserite senza forzare l'estremità della fibra nel connettore e quindi serrate
quest'ultimo avvitandolo. Eseguite inversamente le operazioni per rimuovere il collegamento.
La lunghezza di ogni tratto di fibra deve essere compresa tra 0.3 e 5 metri.

Funzione dei LED


La parte superiore della EasyPort D16 reca numerosi LED per la segnalazione dello stato.

LED SHORT

L'accensione del LED rosso SHORT indica che l'elettronica ha rilevato un cortocircuito su una delle uscite. In
questa condizione tutte le uscite vengono spente. Durante la fase di accensione dell'interfaccia questo LED
viene accesso per breve tempo.

LED STATUS

Il LED verde denominato STATUS riporta due tipi di informazioni a seconda della modalità di accensione:
• Lampeggiante a 1 Hz Stato seguente l'accensione, il modulo non sta ancora comunicando
• Pulsante Il modulo è stato indirizzato. Il numero progressivo dell'indirizzo è visualizzato
ogni due secondi mediante lo spegnimento per brevi istanti del LED. Per
esempio se il modulo ha indirizzo tre, ogni due secondi il LED STATUS si
spegnerà brevemente per tre volte.

LED INPUT

Gli ingressi della EasyPort sono organizzati in due gruppi di otto. Il primo gruppo fa parte dei segnali di PORT
1, il secondo fa parte dei segnali di PORT2. Gli ingressi di PORT 1 sono numerati da 0 a 7, quelli di PORT 2
da 8 a 15.
Lo stato di ciascun ingresso è visualizzato dal LED corrispondente: spento per stato 0 cioè tensione 0V
sull'ingresso, acceso per stato 1 cioè tensione 24V sull'ingresso.

LED OUTPUT

Lo stato dello stato delle 16 uscite digitali è visualizzato dai LED gialli denominati OUTPUT. Il
raggruppamento e la numerazione delle uscite sono analoghi a quelli degli ingressi.
Lo stato di ciascuna uscita è visualizzato dal LED corrispondente: spento per stato 0 cioè tensione 0V
sull'uscita, acceso per stato 1 cioè tensione 24V sull'uscita.

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


L'interfaccia EasyPort D16 A-3

Raccomandazioni
Prestate molta attenzione al fatto che né la tensione di alimentazione né la tensione agli ingressi possono
superare il valore di 30V.
Effettuate o rimuovete le connessioni solo in assenza di tensione di alimentazione.

Configurazione
Selezionare la configurazione per le comunicazioni con il DIP switch a 3 pin secondo quanto illustrato nella
tabella che segue. Un solo switch può essere in ON (posizione in basso), gli altri due devono essere in OFF
(posizione in alto).
Tabella 45: Configurazione dei DIP switch
ON Interfaccia attiva Configurazione
1 Solo interfaccia RS232 Solo un modulo è connesso al PC attraverso la porta
seriale RS232
2 Interfaccia RS232 e fibra ottica Il modulo è connesso al PC attraverso la porta seriale
RS232, altri moduli sono connessi ad esso attraverso la
fibra ottica.
3 Solo fibra ottica Il modulo è un modulo di espansione nell'anello in fibra
ottica.

La prima configurazione è quella da utilizzare se desiderate collegare una sola EasyPort D16 al vostro PC.
La seconda, invece, è la configurazione da impostare per la EasyPort D16 da collegare al PC nel caso di
connessione di più moduli in ring di fibra ottica. I restanti moduli andranno impostati secondo la terza
configurazione.

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


A-4 L'interfaccia EasyPort D16

Identificazione dei conduttori


Ognuno dei due cavi multipolari forniti a corredo della EasyPort D16 è composto da 24 conduttori. Alla
terminazione, 6 di questi sono collegati tra loro a coppie. Ogni cavo porta quindi 21 segnali distinti. Di questi,
16 sono utilizzati per gli ingressi e le uscite, i restanti sono riservati all'alimentazione.
La tabella che segue consente l'identificazione dei conduttori in ragione del loro colore e della porta di
appartenenza.
Tabella 46: Identificazione dei conduttori dei cavi multipolari
PORT1 PORT2 PIN Colore cavo
OUTPUT 0 OUTPUT 8 1 Bianco
OUTPUT 1 OUTPUT 9 2 Marrone
OUTPUT 2 OUTPUT 10 3 Verde
OUTPUT 3 OUTPUT 11 4 Giallo
OUTPUT 4 OUTPUT 12 5 Grigio
OUTPUT 5 OUTPUT 13 6 Rosa
OUTPUT 6 OUTPUT 14 7 Blu
OUTPUT 7 OUTPUT 15 8 Rosso
INPUT 0 INPUT 8 13 Grigio/Rosso
INPUT 1 INPUT 9 14 Rosso/Blu
INPUT 2 INPUT 10 15 Bianco/Verde
INPUT 3 INPUT 11 16 Marrone/Verde
INPUT 4 INPUT 12 17 Bianco/Giallo
INPUT 5 INPUT 13 18 Giallo/Marrone
INPUT 6 INPUT 14 19 Bianco/Grigio
INPUT 7 INPUT 15 20 Grigio/Marrone
OVCC OVCC 11 Rosa/Marrone
OVCC OVCC 12 Viola
OVCC OVCC 23/24 Bianco/Blu
24VCC 24VCC 9/10 Nero
24VCC 24VCC 21/22 Bianco/Rosso

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


L'interfaccia EasyPort D16 A-5

Dati tecnici
La seguente tabella illustra i dati tecnici della interfaccia EasyPort D16.
Tabella 47: Dati tecnici della EasyPort D16
Tensione di alimentazione 24 VCC ±10%
Assorbimento 3 VA
Numero di uscite 16 digitali
Corrente max 0.3 A per uscita, anche contemporanee
Protezione cortocircuito si
Numero di ingressi 16 digitali
Soglia 12 VCC
Isteresi 3V
Filtraggio 10 ms
Interfaccia di comunicazione V.24 isolata galvanicamente
Lunghezza collegamenti in fibra ottica 0.3 – 5 m ognuno
Protocollo ASCII, 19.2 KBaud
Protezione IP20
Resistenza ai disturbi DIN/IEC 801/4 Classe 4
Temperatura di funzionamento/stoccaggio 0-55 °C / 0-70 °C
Dimensioni (LxPxH) 162x148x36 mm
Peso 0.65 Kg

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


Note
_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________
_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________
_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________
_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

Potrebbero piacerti anche