Sei sulla pagina 1di 83

Dipartimento di Ingegneria

Elettrica ed Elettronica

Controllori a Logica
Programmabile Siemens

S.S.C.

A. Pilloni

Obbiettivi
Automazione come integrazione e Siemens
SIMATIC STEP 7 - TIA Portal
PLC in breve
S7 300 - CPU314C-2 PN/DP

Interfacciarsi con la Suite TIA Portal

Creare un progetto
Gestione I/O & Merker
Gestione del flusso di programma
Istanze FC, FB, DB

Esercizi di scripting in KOP (Ladder) ed SCL


S.S.C.

A. Pilloni

Automazione come integrazione (1)


E un diverso modo di concepire e di realizzare i processi di
produzione
Lautomazione dovrebbe presumere una logica di sistema
integrato, basato n su singole macchine, n su gruppi di
macchine, ma sull'intero processo di produzione
J. Diebold, Automation: the advent of automated factory,
Van Nostrand, New York, 1952

Time To Market (TTM): Tempo che intercorre dall'ideazione di un prodotto


alla sua effettiva commercializzazione

S.S.C.

A. Pilloni

SIMATIC STEP 7 - TIA Portal (1)


Totally Integrated Automation Portal fornisce un ambiente di sviluppo
completo (end-to-end) per SIMATIC STEP 7 e SIMATIC WinCC.
Siemens Totally Integrated Automation Portal

Totally Integrated Automation Portal


STEP 7 V11

SIMATIC Controllers

S.S.C.

WinCC V11

SIMATIC HMI

A. Pilloni

StartDrive V11*

SINAMICS

Pros: SIMATIC STEP 7 - TIA Portal


Programmazione dei controller SIMATIC S7-300, 400, 1200, 1500 e
per controller basati su PC (i.e. WinAC - SCADA)
Configurazione di rete e dell'hardware per tutti i componenti di
automazione
Diagnostica online per l'intero progetto
Funzionalit per il Motion Control integrate
Supporto SIMATIC WinCC Basic per SIMATIC Basic Panel fa parte
della dotazione
Supporto di ben 5 linguaggi di programmazione:

S.S.C.

LADDER (KOP, Kontaktplan)


FBD (FUP, Funktionsplan)
SCL (Structured Control Language)
SFC (S7-GRAPH solo su PLC di alta fascia, i.e. S7-300, 400, 1500 )
C++/C# per SCADA WinAC
A. Pilloni

Cons: SIMATIC STEP 7 - TIA Portal (1)

S.S.C.

A. Pilloni

PLC in breve (1)


E un sistema elettronico programmabile utilizzato per
limplementazione di:
logiche di sequenziamento, temporizzazione e calcolo
controllare mediante ingressi ed uscite (digitali/analogiche) vari
tipi di macchine in ambito industriale

Caratteristiche:

S.S.C.

Riconfigurabilit / Programmabilit
Compattezza
Modularit
Low-cost

A. Pilloni

PLC in breve (2)


Configurazione minima:

CPU
Alimentatore AC (85...264 [V], 47...63 [Hz]), DC (20.4...28,8[V])
I/O digitali (a transistore 024 Volt)
I/O analogici (ADC/ DAC a 16 bit, I/O range 10 [V], 020, 420 [mA])
Ambiente di sviluppo (IDE)

Espansioni:
Moduli I/O a rel (pros. isolamento galvanico, ampiezza fuori standard,
cons. vita minore, maggiore ingombro)
Moduli encoder
Human Machine Interface (HMI)
Moduli di comunicazione: Modbus e Profibus (Rs-232, Rs-485),
Profinet TCP/IP (Ethernet 802.XX), UMTS/GPRS

S.S.C.

A. Pilloni

Uscite a Rel
Un rel non una semplice uscita digitale!
Un rel un elemento predisposto per essere
inserito in serie in avvolgimenti alimentati (in AC o in
DC), abilitandone o disabilitandone la conduzione

S.S.C.

A. Pilloni

Significato del nome:


S7 300 - CPU314C-2 PN/DP
f

S.S.C.

S7-300 : Famiglia PLC


CPU314C: Tipo CPU
2 PN (ProfiNet): Ethernet Industriale con 2 porte ETH
DP (Decentralized Periferical): Tipo di Profibus su RS-232/422,
da 9.6 kbit/s a 12 Mbit/s, max 300 m.
A. Pilloni

10

S7 300 - CPU314C-2 PN/DP

S.S.C.

A. Pilloni

11

Comprendere i messaggi del PLC:


Status and error indicators

S.S.C.

A. Pilloni

12

Cablaggio I/O Pin-out Connector X11

4AI + 1 AI PT100 + 2 AO+ 8 DI


S.S.C.

A. Pilloni

13

Cablaggio I/O Pin-out Connector X12


16 DI + 16 DO

S.S.C.

A. Pilloni

14

Creare un progetto sul TIA

S.S.C.

A. Pilloni

15

Configurazione di lavoro:
Inserire il modello del PLC

S.S.C.

A. Pilloni

16

Configurazione di lavoro:
Inserire moduli di espansione

S.S.C.

A. Pilloni

17

Dati digitali memorizzati in bit, Byte,


Word, Double-Word, ecc.

S.S.C.

A. Pilloni

18

Configurazione di lavoro:
Indirizzamento moduli I/O

Indirizzi I/O Integrati del PLC

S7 300-CPU314C-2 PN/DP

24 DI da %I136.0 a %I138.7
(1 bit per uscita)
5 AI da %I800.0 a %I809.7
(1 word per uscita)
16 DO da %Q136.0 a
%Q138.7 (1 bit per uscita)
2 AO da %Q800.0 a
%Q803.7 (1 word per
uscita)
Indirizzi I/O espansione:
8 DI da %I0.0 a %I0.7
8 DO da %Q0.0 a %Q0.7

S.S.C.

A. Pilloni

19

Ingressi, Uscite e Merker (1)


Gli ingressi sono operandi che provengono
direttamente dal collegamento del PLC con il
campo
Le uscite sono gli operandi che permettono al PLC
di inviare comandi verso il campo
I merker sono dei registri residenti nella memoria
di sistema del PLC da usare come memorie di
lavoro
Ingressi, uscite e merker hanno una dimensione
espressa in bit/byte/word ed hanno un indirizzo
univoco
S.S.C.

A. Pilloni

20

Ingressi, Uscite e Merker (2)


Indirizzamento Ingresso digitale (DI):

Indirizzamento Uscita digitale (DO):

S.S.C.

A. Pilloni

21

Ingressi, Uscite e Merker (3)


Immissione/emissione dei valori analogici:

Indirizzamento Merker:
%MW52

Parola (16bit contigui, da M52.0 a M53.7)


sul Merker con indirizzo 1, (i.e. utile per salvare Int)
%MDW54 Doppia Parola (32bit contigui, da M54.0 a M57.7)
sul Merker con indirizzo 1, (i.e. utile per salvare Real)
%M58.0
Bit 0 (1 bit) sul Merker di memoria con indirizzo 58
(i.e. utile per salvare risultati logici combinatori (RLC))
S.S.C.

A. Pilloni

22

Formati dei dati in un PLC

S.S.C.

A. Pilloni

23

Ciclo di funzionamento della CPU (1)


STATO AVVIAMENTO

S.S.C.

Modo RUN

A. Pilloni

24

Ciclo di funzionamento della CPU (2)


Task eseguiti ad ogni ciclo di
scansione in Modo RUN
(time-cycle):
2.
3.
4.
5.

Scrittura uscite
Lettura ingressi
Esecuzione programma
utente
Manutenzione e gestione
del sistema

Il time-cycle varia in funzione


del numero e del tipo di
istruzioni, dellonere di
comunicazione e soprattutto
della potenza del processore
S.S.C.

A. Pilloni

25

Istanze OB, FC, FB, DB


I Blocchi Organizzativi (OB) comandano l'elaborazione del
programma principale e consentono di reagire ad eventi
ciclici, a tempo o di allarme
I Blocchi Funzione (FB) sono dei blocchi di codice con
memoria per implementare delle routine. Un FB ha sempre
associato un DB di Istanza per accedere/salvare i suoi
dati locali a prescidenre dallesecuzione della routine
I Blocchi Funzione (FC) sono blocchi di codice senza
memoria per implementare delle routine. Dopo lesecuzione
della FC i suoi dati vengono dimenticati dalla CPU
I Blocchi Dati (DB) sono aree dati nel programma utente
contenenti dati utente. Sono di due tipi:
DB Globali
DB di Istanza (blocco dati locali ad un FB)
S.S.C.

A. Pilloni

26

Data Block Globali e dIstanza


In un DB globale, tutti i blocchi (FB, FC e OB) possono
leggere/scrivere i dati in esso contenuti
possibile creare un DB globale in modo indipendente
rispetto agli altri blocchi del programma.

Il DB dIstanza pu essere creato solo se nel programma


disponibile il relativo FB e ne contiene i suoi dati locali
S.S.C.

A. Pilloni

27

Creazione OB, FB, FC e DB

S.S.C.

A. Pilloni

28

Blocchi Organizzativi (OB)


OB100: Permette di eseguire
del codice solo al durante il ciclo
di avvio del PLC (e.g.STOP UN)
e poi mai pi!
OB35: Serve per eseguire
eseguire porzioni di codice ad
intervalli regolari, e.g. ogni
10msec, come il Controllo PID
OB1: noto come Main
comanda l'elaborazione del
programma principale
S.S.C.

A. Pilloni

29

OB1 MAIN
La CPU S7 elabora l'OB1 e le istruzione al suo interno ciclicamente
L'elaborazione ciclica dell'OB1 inizia dopo che si concluso l'avvio.
Terminata l'elaborazione dell'OB 1, la CPU invia dati globali e prima del nuovo avvio
dell'OB1, scrive l'immagine di processo delle uscite nelle unit di uscita, attiva
l'immagine di processo degli ingressi e riceve i dati globali per la CPU

L'OB1 ha la priorit pi bassa di tutti gli OB con controllo del


tempo di esecuzione
Tutti gli altri OB sono in grado di interromperne l'elaborazione

I seguenti eventi determinano il richiamo dell'OB1


Elaborazione dell'avvio terminata
Elaborazione dell'OB1 (del ciclo precedente) terminata
S.S.C.

A. Pilloni

30

ESERCIZIO 1: Operazioni AND ed OR a


due ingressi
Cablare due ingressi di comando digitali, es. I1 e I2, al PLC
In LADDER scrivere un codice che comanda:
una prima uscita del PLC con il risultato logico AND
una seconda con risultato di logico OR

S.S.C.

A. Pilloni

31

ESERCIZIO 1: Operazioni AND ed OR a


due ingressi
Definire gli ingressi/uscite e/o merker di lavoro nella tabella
Mostra tutte le variabili

Inserire degli indirizzi validi

S.S.C.

A. Pilloni

32

Esercizio 1: Operazioni AND ed OR


Andare nel Main
Scrivere la logica
Ingressi Digitali

S.S.C.

Uscita Digitale

A. Pilloni

33

Debug sul simulatore s7 300 (1)


1.

2.

Settare la modalit Run-P


Aprire le finestre che permettono
di scrivere/leggere gli ingressi/uscite/
merker di interesse

3.

4.

S.S.C.

Evidenziare il
progetto e
premere su
carica nel
dispositivo

Caricare il SW nel Simulatore/PLC

A. Pilloni

34

Debug sul simulatore s7 300 (2)


5.

6.

Premere sugli occhialini


Avviare il PLC e premere Fine

7.

S.S.C.

A. Pilloni

35

Tra hardware e Software


Molte logiche comuni
sono spesso fornite in
termini di schema
elettrico in quanto luso
del PLC un di pi per far
funzionare un sistema
Sta poi allo sviluppatore
software capire come e
dove inserire il PLC nella
logica di controllo
S.S.C.

A. Pilloni

36

Esercizio 2: Avviamento manuale di un


motore trifase con salvamotore
Scrivere un codice LADDER che permette
lavviamento di un motore trifase in accordo con gli
schemi di controllo e di potenza proposti
SM

SM
I3
Salvamotore

S.S.C.

A. Pilloni

37

Esercizio 2: Avviamento manuale di un


motore trifase con salvamotore
Definire le gli ingressi/uscite/merker di lavoro
nella Tabella dell Variabili Standard

S.S.C.

A. Pilloni

38

Esercizio 2: Avviamento manuale di un


motore trifase con salvamotore
Implementazione della logica
In quali condizioni la macchina dovr partire (KM1=1)?
In quali condizioni la macchina dovr spegnersi (KM1=0)?
E se (KM1=1) cosa succede se ripremo il pulsante di
marcia?

S.S.C.

A. Pilloni

39

Esercizio 3: Impianto di sollevamento


Un PLC controlla la marcia e larresto della pompa utilizzando
le misure di livello nei due serbatoi
Ciascun serbatoio ha 2 sensori di
livello on-off, A1, B1, A2,B2

S.S.C.

A. Pilloni

40

Esercizio 3: Impianto di sollevamento


Assumiamo che i sensori di livello siano alti quando il livello
eccede la quota di riferimento.
Questo significa che la condizione di svuotamento per il
serbatoio S1 B1 basso, mentre la condizione di saturazione
per il serbatoio S2 A2 alto

La lettura B1/2=0 ed A1/2=1 impossibile.


Si potrebbe mettere un check che generi un
allarme ove si rilevasse tale lettura,
ovviamente dovuta a un guasto dei sensori
S.S.C.

A. Pilloni

41

Esercizio 3: Impianto di sollevamento


Definiamo per semplicit una logica di funzionamento in cui nella
modalit manuale la marcia e larresto sono pilotati dagli appositi
pulsanti (come nellesercizio precedente)
Mentre, nella modalit automatica:
Il segnale di marcia ON viene dato se la quota nel Serb. 1 sta sopra quella
minima (B1=1) e se nel contempo la quota nel serbatoio di destinazione
inferiore alla quota massima (A2=0)
In tutte le altre condizioni marcia OFF
Se le quote nei due serbatoi scendono entrambe sotto la minima (B2=0
and B1=0) allora si deve attivare la generazione di un allarme (Allarme
LOW12)
Se le quote nei due serbatoi superano entrambe la soglia massima (A2=1
and A1=1) allora si deve attivare la generazione di un allarme (Allarme
HIGH12)

S.S.C.

A. Pilloni

42

Esercizio 3: Impianto di sollevamento


Variabili di lavoro:

S.S.C.

A. Pilloni

43

Esercizio 3: Impianto di sollevamento

S.S.C.

A. Pilloni

44

Input/Output Analogici
A differenza dei segnali booleani, che possono assumere solo
due stati, e.g. 0V o +24V, i segnali analogici hanno un numero
arbitrario di valori in un determinato range, e.g. 0-10V
Per elaborare tali grandezze, il valore letto della tensione, e.g.
0-10V, o corrente, e.g. 4-20mA, deve essere convertito in
un'informazione digitale, e.g. 16bit
Questa operazione viene detta conversione A/D e la sua
risoluzione dipende dal numero di bit di risoluzione
Tipicamente gli I/O analogici dei PLC utilizzano 15bit + 1bit di
segno (totale 16bit) 215 = 32768

S.S.C.

A. Pilloni

45

Input/Output Analogici
I campi dei valori digitalizzati per il PLC S7-300 sono
rappresentati in questo modo:
=

[ ]
[]

E.g. Conversione 0-10[V]


Signal [0-10V]

0[V]

[0-32768]

0.36 mV =

10
27648

1[V]

10[V]

11.85[V]

27648/10

27648

215 =32768

La trasformazione del valore analogico per l'ulteriore


elaborazione nel PLC uguale sia per ingressi che per le uscite
analogici
S.S.C.

A. Pilloni

46

Esercizio 3: Acquisire un segnale


analogico
Un segnale analogico tra 0-10 [V] cablato sul CH0 degli AI
integrati della CPU

Il segnale relativo ad una misura di temperatura scalata


linearmente nel range 10 e 100 [C]
Creare una funzione (FC) che converte il segnale acquisto nel
suo valore di temperatura
Salvare il dato in DB Globale chiamato Misure_Campo che
al suo interno contiene una variabile di tipo Real chiamata
Temperatura
S.S.C.

A. Pilloni

47

Esercizio 3: Acquisire un segnale


analogico
Creare un FC in SCL ed un DB Globale

S.S.C.

A. Pilloni

48

Esercizio 3: Acquisire un segnale


analogico
Definire allinterno del DB Globale la variabile di tipo
Real Temperatura

S.S.C.

A. Pilloni

49

Esercizio 3: Acquisire un segnale


Definire linterfaccia (ingressi ed uscite) della nostra funzione
ed implementare la seguente proporzione
? ? ? ? ? = +

S.S.C.

A. Pilloni


_ ? ? ? ?

50

Esercizio 3: Acquisire un segnale


analogico
Trascinare nel Main (OB1) la funzione appena scritta e
passandogli come ingresso lindirizzo dellIngresso Analogico e
come uscita il puntatore al DB

S.S.C.

A. Pilloni

51

Esercizio 3: Acquisire un segnale


analogico
Note:
Il PLC interpreta queste due operazioni
diversament
#Temperatura:=10+(90/27648)*INT_TO_REAL(#Raw_Mes)
#Temperatura:=10+(90/27648.0)*INT_TO_REAL(#Raw_Mes)

Fate attenzione al tipo di dati che usate!!!


Il blocco SCALE allinterno
della libreria Operazioni di
Conversione risolveva gi il
nostro problema
S.S.C.

A. Pilloni

52

Esercizio 4: Avviamento motore con


controllo sulla temperatura
Inserire nel codice dellEsercizio 2 un controllo sulla
temperatura del motore che impedisce lavviamento del
motore se la temperatura maggiore di 90C.

S.S.C.

A. Pilloni

53

TON: Ritardo all'inserzione


Con l'istruzione TON si ritarda l'impostazione dell'uscita Q
di una durata PT
L'istruzione si avvia se il risultato logico nell'ingresso IN passa
da "0" a "1" (fronte di salita del segnale)

S.S.C.

A. Pilloni

54

Esercizio 5: Sequenza 2 bit


Implementare un codice implementa il
seguente scenario
Start_Timer (%I136.0)

Led1_2bit (%Q136.0)

Led1_2bit (%Q136.1)

2s

S.S.C.

4s

6s

A. Pilloni

8s

10s 12s

14s

16s

55

Esercizio 5: Sequenza 2 bit


Segmento 1:
Il Merker reset_sequenza
serve per resettare il
contatore ogni 8 secondi

Segmento 2:

Segmento 3:
S.S.C.

A. Pilloni

56

CTD: Conteggio all'indietro


Il valore di conteggio "CV" inizializzata a "PV"
Ogni commutazione di CD" da "0" a "1 " decrementata
di 1 il valore di conteggio "CV" fino a -32768
Se CV 0 luscita Q=1
Se LD commuta da "0" a "1 " "CV" viene settata a "PV"

S.S.C.

A. Pilloni

57

Esercizio 6: Conta bottiglie


In un impianto di imbottigliamente presente un sensore che
rileva il passaggio di una bottiglia su un nastro trasportatore
Dopo aver contato 6 bottiglie generare un segnale impulsivo e
resettare il contatore

S.S.C.

A. Pilloni

58

Macchine a Stati
Ad alto livello i processi industriali sono gestiti dal
sequenziamento di azioni coordinate dal verificarsi di
eventi
Levoluzione di tali sistemi pu quindi essere vista come un
AUTOMA A STATI FINITI, detto anche Macchina a Stati
La scrittura di una Macchina a Stati in LADDER si basa
lindividuazione delle seguenti condizioni:
1. Individuazione delle condizioni di passaggio di stato:

|ACTUAL STATE| & |INPUTs| (SET NEW STATE, RESET OLD STATE)
2. Individuazione delle azioni da compiere in uno stato:

|ACTUAL STATE| (SET/RESET OUTPUTs)


S.S.C.

A. Pilloni

59

Esercizio 7: Macchina a Stati


Si consideri un processo industriale di vernicciatura e
lucidatura automatizzato
Implementare in Ladder lAutoma nota linterfaccia I/O
4 Ingressi digitali: Start, Abiltazion, Fine_Vern. e Fine_Lucid.
2 Uscite: V (Vernicia), L (Lucida)
Start & Abilit.
HOME
(V=L=0)

Fine_Vern.& NOT Abilit.

VERNICCIATURA
(V=1,L=0)

Lucitatrice

Cabina di
Vernicciatura

Fine_Vern.&Abilit.
Fine_Luc &
NOT Abilit.
S.S.C.

LUCIDATURA
(V=0,L=1)

Fine_Vern. & Abilit.


A. Pilloni

60

Esercizio 7: Macchina a Stati


Definire Ingressi ed Uscite

Identificare gli stato dellAutoma con dei flag


indirizzati ad esempio con dei Merker booleani

S.S.C.

A. Pilloni

61

Esercizio 7: Macchina a Stati


|ACTUAL STATE| & |INPUTs| (SET NEW STATE, RESET OLD STATE)

Segmento 1:

Segmento 2:

S.S.C.

Segmento 3:

A. Pilloni

62

Esercizio 7: Macchina a Stati


|ACTUAL STATE| (SET/RESET OUTPUTs)

S.S.C.

A. Pilloni

63

Esercizio 7: Macchina a Stati


Ricordando che lOB100 permette di eseguire del codice
solo al durante il ciclo di avvio del PLC (vedi slide #29)
Per inizializzare lautoma nello stato HOME, in un OB100
inseriremoil seguente segmento:

Dopo il primo ciclo del PLC il


valore del Merker M4.2
associato ad HOME che di
base vale 0 diventa il suo
negato, ovvero 1
S.S.C.

A. Pilloni

64

Esercizio 8: Implementazione F.d.T


Implementare in SCL il seguente sistema dinamico


=
() 1 +

= +

Al fine di implementare su un calcolatore un equazione


differenziale necessario discretizzarla!
Approssimando la derivata con Eulero implicito

(1)

( passo di discretizzazione)

si ottiene la seguente equazione alle differenze finite

=
1 +

+
+
S.S.C.

A. Pilloni

= 0,1,2

65

Esercizio 8: Implementazione F.d.T


Lequazione alle differenze finite

( 1) +

= 0,1, ()

mostra come luscita del sistema al passo dipende oltre che


dal valore istantaneo dellingresso, e dalle costanti , ,
anche dalluscita al passo precedente !!!
Esempio iterazione algoritmo:
K=0: 0 = 0
K=1:

K=2:

=
0 +

+
+

2 =
1 +
2
+
+

K=n: =
S.S.C.

0 la condizione iniziale del sistema

( 1) +
A. Pilloni


66

Esercizio 8: Implementazione F.d.T


Ricordando che I blocchi FB sono blocchi di codice che
memorizzano i propri valori in modo permanente in modo da
poterne disporre anche dopo l'elaborazione del blocco (vedi
slide #26), implementeremo il nostro algoritmo su un FB
Vista la struttura della (*) sceglieremo come lingueaggio lSCL

S.S.C.

A. Pilloni

67

Esercizio 8: Implementazione F.d.T


Definire linterfaccia della FB:

Le variabili static
permettono di
disporre di un dato
anche dopo la sua
l'elaborazione
S.S.C.

A. Pilloni

68

Esercizio 8: Implementazione F.d.T


Codice SCL della FB

S.S.C.

A. Pilloni

69

Esercizio 8: Implementazione F.d.T


Infine al fine di simulare completamente il comportamento
dinamico del sistema sar necessario richiamare tale FB
esattamente ogni secondi
A tal fine la FB sar richiamata in un OB di interrupt ciclico il
cui tempo di chiamata dipende dalla sua priorit, es. OB35 ha
priorit 12 e viene richiamato ogni 10msec
Creazione di un OB di Interrupt

S.S.C.

A. Pilloni

70

Esercizio 8: Implementazione F.d.T

S.S.C.

A. Pilloni

71

Controllo PID
il sistema di controllo in retroazione di gran lunga pi comune
nell'industria, in particolare nella versione PI
Siemens propone un ampia libreria per la regolazione PID
A titolo di esempio nel seguito
mostreremo come simulare il seguente
loop di controllo utilizzando lFB
dellEsercizio 8 per simulare il il
processo, ed il blocco Cont_C come
regolatore
()

S.S.C.

A. Pilloni

2.0

1.0
1 + 10.0

()

72

Esercizio 9: Controllo P
Realizzare un regolatore proporzionale con guadagno pari a 2
utilizzando il blocco Cont_C di Siemens e verificare che a
regime la risposta al gradino vale esattamente

= lim
0
1 + ()
2.0
1.0
2
1
+
10.0

= lim

= = 0.666
2.0
0

3
1+
1 + 10.0
= 1.01 ()

S.S.C.

1.0
1 + 10.0

2.0

A. Pilloni

()

73

Esercizio 9: Controllo P
NellOB35 inseriamo il CONT_C. Associamo luscita del PID
LMN allingresso del processo, luscita del processo a PV_IN
(e.g. vedi slide #64) ed il setpoint del regolatore SP_INT ad un
merker, quindi settiamo il tempo di ciclo a 10msec

S.S.C.

A. Pilloni

74

Esercizio 9: Controllo P
Cliccando sullicona di configurazione
settiamo le seguenti schermate del
menu

S.S.C.

A. Pilloni

75

Esercizio 9: Controllo P

S.S.C.

A. Pilloni

76

Esercizio 9: Controllo P

Il blocco CONT_C
implementa di base la
configurazione
Anti-WindUP, inoltre
permette di saturare
lazione di controllo.
Per maggiori dettagli
su CONT_C si rimanda
allHelp
S.S.C.

A. Pilloni

77

Esercizio 9: Controllo P

S.S.C.

A. Pilloni

78

Esercizio 9: Controllo P
Uscita processo

Setpoint

S.S.C.

A. Pilloni

79

Esercizio 10: Controllo PID


Utilizzare una configurazione PID generica ed eseguire il
tuning online del regolatore
Per far ci dovremo modificare la schermata di configurazione
come segue

S.S.C.

A. Pilloni

80

Esercizio 10: Controllo PID


Il tuning dei parametri del PID pu chiaramente essere fatto
anche online.
Per far ci caricare il codice nel simulatore o nel PLC reale se vi
trovate in impianto, andare in modalit Online
, quindi
cliccare sullicona della messa in servizio

S.S.C.

A. Pilloni

81

Esercizio 10: Controllo PID


Forzare nella finestra di Ottimizzazione, diverse
configurazioni di tuning sino a trovare quella soddisfacente
Avviare lacquisizione degli stream

Test al gradino con tuninig differenti


Setpoint
Parametri
PID
S.S.C.

A. Pilloni

82

References
https://cache.industry.siemens.com/dl/files/395/18654395/att_33361/v1
/KOP_i.pdf
https://www.youtube.com/watch?v=dy2NabkU5GQ
http://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlag
en/tia-portal_module/tabcardseiten/Documents/SCE_EN_020050_R1209_PLCSIM.pdf
http://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Down
load/Documents/Getting%20Started%20S7-1200-it.pdf

S.S.C.

A. Pilloni

83