Upload
alessandro-pilloni
View
312
Download
8
Embed Size (px)
Citation preview
7/24/2019 TIA Portal Siemens s7-300 tutorial
1/83
Controllori a Logica
Programmabile Siemens
Dipartimento di IngegneriaElettrica ed Elettronica
S.S.C. A. Pilloni 1
7/24/2019 TIA Portal Siemens s7-300 tutorial
2/83
Obbiettivi
Automazione come integrazione e SiemensSIMATIC 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 2
7/24/2019 TIA Portal Siemens s7-300 tutorial
3/83
Automazione come integrazione (1)
E un diverso modo di concepire e di realizzare i processi diproduzione
Lautomazione dovrebbe presumere una logica di sistema
integrato, basato n su singole macchine, n su gruppi di
macchine, ma sull'intero processo di produzioneJ. Diebold, Automation: the advent of automated factory,
Van Nostrand, New York, 1952
Time To Market (TTM): Tempo che intercorre dall'ideazione di un prodottoalla sua effettiva commercializzazione
S.S.C. A. Pilloni 3
7/24/2019 TIA Portal Siemens s7-300 tutorial
4/83
SIMATIC STEP 7 - TIA Portal (1)
S.S.C. A. Pilloni 4
Totally Integrated Automation Portal
STEP 7 V11
SIMATIC Controllers
WinCC V11
SIMATIC HMI
StartDrive V11*
SINAMICS
Siemens Totally Integrated Automation Portal
Totally Integrated Automation Portalfornisce un ambiente di sviluppocompleto (end-to-end) per SIMATIC STEP 7 e SIMATIC WinCC.
7/24/2019 TIA Portal Siemens s7-300 tutorial
5/83
Pros: SIMATIC STEP 7 - TIA Portal
Programmazione dei controller SIMATIC S7-300, 400, 1200, 1500eper controller basati su PC (i.e. WinAC - SCADA)
Configurazionedi retee dell'hardwareper tutti i componenti diautomazione
Diagnosticaonline per l'intero progetto Funzionalit per il Motion Controlintegrate Supporto SIMATIC WinCC Basic per SIMATIC Basic Panelfa parte
della dotazione Supporto di ben 5 linguaggi di programmazione:
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
S.S.C. A. Pilloni 5
7/24/2019 TIA Portal Siemens s7-300 tutorial
6/83
Cons: SIMATIC STEP 7 - TIA Portal (1)
S.S.C. A. Pilloni 6
7/24/2019 TIA Portal Siemens s7-300 tutorial
7/83
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) varitipi di macchine in ambito industriale
Caratteristiche:
Riconfigurabilit / Programmabilit
Compattezza
Modularit
Low-cost
S.S.C. A. Pilloni 7
7/24/2019 TIA Portal Siemens s7-300 tutorial
8/83
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 8
7/24/2019 TIA Portal Siemens s7-300 tutorial
9/83
Uscite a Rel
Un rel non una semplice uscita digitale!
Un rel un elemento predisposto per essereinserito in serie in avvolgimenti alimentati (in AC o in
DC), abilitandone o disabilitandone la conduzione
S.S.C. A. Pilloni 9
7/24/2019 TIA Portal Siemens s7-300 tutorial
10/83
Significato del nome:S7 300 - CPU314C-2 PN/DP
f
S.S.C. A. Pilloni 10
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.
7/24/2019 TIA Portal Siemens s7-300 tutorial
11/83
S7 300 - CPU314C-2 PN/DP
S.S.C. A. Pilloni 11
7/24/2019 TIA Portal Siemens s7-300 tutorial
12/83
Comprendere i messaggi del PLC:Status and error indicators
S.S.C. A. Pilloni 12
7/24/2019 TIA Portal Siemens s7-300 tutorial
13/83
Cablaggio I/O Pin-out Connector X11
S.S.C. A. Pilloni 13
4AI+ 1 AI PT100 + 2 AO+ 8 DI
7/24/2019 TIA Portal Siemens s7-300 tutorial
14/83
Cablaggio I/O Pin-out Connector X12
S.S.C. A. Pilloni 14
16 DI + 16 DO
7/24/2019 TIA Portal Siemens s7-300 tutorial
15/83
Creare un progetto sul TIA
S.S.C. A. Pilloni 15
7/24/2019 TIA Portal Siemens s7-300 tutorial
16/83
Configurazione di lavoro:Inserire il modello del PLC
S.S.C. A. Pilloni 16
7/24/2019 TIA Portal Siemens s7-300 tutorial
17/83
Configurazione di lavoro:Inserire moduli di espansione
S.S.C. A. Pilloni 17
7/24/2019 TIA Portal Siemens s7-300 tutorial
18/83
Dati digitali memorizzati in bit, Byte,Word, Double-Word, ecc.
S.S.C. A. Pilloni 18
7/24/2019 TIA Portal Siemens s7-300 tutorial
19/83
Configurazione di lavoro:Indirizzamento moduli I/O
S.S.C. A. Pilloni 19
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
7/24/2019 TIA Portal Siemens s7-300 tutorial
20/83
Ingressi, Uscite e Merker (1)
Gli ingressi sono operandi che provengonodirettamente dal collegamento del PLC con ilcampo
Le uscitesono gli operandi che permettono al PLCdi inviare comandi verso il campo
I merkersono dei registri residenti nella memoriadi sistema del PLC da usare come memorie dilavoro
Ingressi, uscitee merkerhanno una dimensioneespressa in bit/byte/worded hanno un indirizzounivoco
S.S.C. A. Pilloni 20
7/24/2019 TIA Portal Siemens s7-300 tutorial
21/83
Ingressi, Uscite e Merker (2)
Indirizzamento Ingresso digitale (DI):
Indirizzamento Uscita digitale (DO):
S.S.C. A. Pilloni 21
7/24/2019 TIA Portal Siemens s7-300 tutorial
22/83
7/24/2019 TIA Portal Siemens s7-300 tutorial
23/83
Formati dei dati in un PLC
S.S.C. A. Pilloni 23
7/24/2019 TIA Portal Siemens s7-300 tutorial
24/83
Ciclo di funzionamento della CPU (1)
S.S.C. A. Pilloni 24
STATO AVVIAMENTO Modo RUN
7/24/2019 TIA Portal Siemens s7-300 tutorial
25/83
Ciclo di funzionamento della CPU (2)
Task eseguiti ad ogni ciclo discansionein Modo RUN(time-cycle):2. Scrittura uscite3. Lettura ingressi4. Esecuzione programma
utente5. Manutenzione e gestione
del sistema
Il time-cycle varia in funzionedel numero e del tipo diistruzioni, dellonere dicomunicazione e soprattuttodella potenza del processore
S.S.C. A. Pilloni 25
7/24/2019 TIA Portal Siemens s7-300 tutorial
26/83
Istanze OB, FC, FB, DB
I BlocchiOrganizzativi (OB) comandano l'elaborazione delprogramma principale e consentono di reagire ad eventiciclici, a tempo o di allarme
I BlocchiFunzione (FB) sono dei blocchi di codice conmemoria per implementare delle routine. Un FB ha sempre
associatoun DB di Istanza per accedere/salvare i suoidati locali a prescidenre dallesecuzione della routine
I BlocchiFunzione (FC) sono blocchi di codice senzamemoriaper implementare delle routine. Dopo lesecuzionedella FC i suoi dati vengono dimenticati dalla CPU
I Blocchi Dati (DB) sono aree dati nel programma utentecontenenti dati utente. Sono di due tipi:
DB Globali
DB di Istanza(blocco dati locali ad un FB)
S.S.C. A. Pilloni 26
7/24/2019 TIA Portal Siemens s7-300 tutorial
27/83
In un DB globale, tutti i blocchi (FB, FCe OB) possonoleggere/scriverei dati in esso contenuti
possibile creare un DB globale in modo indipendenterispetto 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
Data Block Globali e dIstanza
S.S.C. A. Pilloni 27
7/24/2019 TIA Portal Siemens s7-300 tutorial
28/83
Creazione OB, FB, FC e DB
S.S.C. A. Pilloni 28
7/24/2019 TIA Portal Siemens s7-300 tutorial
29/83
Blocchi Organizzativi (OB)
OB100: Permette di eseguiredel codice solo al durante il ciclodi avvio del PLC (e.g.STOP UN)e poi mai pi!
OB35: Serve per eseguireeseguire porzioni di codice adintervalli regolari, e.g. ogni10msec, come il Controllo PID
OB1: noto come Maincomanda l'elaborazione delprogramma principale
S.S.C. A. Pilloni 29
7/24/2019 TIA Portal Siemens s7-300 tutorial
30/83
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'OB1ha 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
7/24/2019 TIA Portal Siemens s7-300 tutorial
31/83
ESERCIZIO 1: Operazioni AND ed OR adue 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
7/24/2019 TIA Portal Siemens s7-300 tutorial
32/83
ESERCIZIO 1: Operazioni AND ed OR adue ingressi
Definire gli ingressi/uscite e/o merker di lavoro nella tabellaMostra tutte le variabili
S.S.C. A. Pilloni 32
Inserire degli indirizzi validi
7/24/2019 TIA Portal Siemens s7-300 tutorial
33/83
Esercizio 1: Operazioni AND ed OR
S.S.C. A. Pilloni 33
Ingressi Digitali Uscita Digitale
Andare nel Main
Scrivere la logica
7/24/2019 TIA Portal Siemens s7-300 tutorial
34/83
Debug sul simulatore s7 300 (1)
S.S.C. A. Pilloni 34
1. 2.
3. 4.
Settare la modalit Run-P Aprire le finestre che permettono
di scrivere/leggere gli ingressi/uscite/
merker di interesse
Evidenziare il
progetto e
premere su
carica nel
dispositivo
Caricare il SW nel Simulatore/PLC
7/24/2019 TIA Portal Siemens s7-300 tutorial
35/83
Debug sul simulatore s7 300 (2)
S.S.C. A. Pilloni 35
5. 6.
7.
Premere sugli occhialini
Avviare il PLC e premere Fine
7/24/2019 TIA Portal Siemens s7-300 tutorial
36/83
Tra hardware e Software
S.S.C. A. Pilloni 36
Molte logiche comunisono spesso fornite intermini di schemaelettrico in quanto lusodel PLC un di pi per farfunzionare un sistema
Sta poi allo sviluppatore
software capire come edove inserire il PLC nellalogica di controllo
7/24/2019 TIA Portal Siemens s7-300 tutorial
37/83
SM
I3Salvamotore
Esercizio 2: Avviamento manuale di unmotore trifase con salvamotore
S.S.C. A. Pilloni 37
Scrivere un codice LADDER che permettelavviamento di un motore trifase in accordo con gli
schemi di controllo e di potenza proposti
SM
7/24/2019 TIA Portal Siemens s7-300 tutorial
38/83
Esercizio 2: Avviamento manuale di unmotore trifase con salvamotore
Definire le gli ingressi/uscite/merker di lavoronella Tabella dell Variabili Standard
S.S.C. A. Pilloni 38
7/24/2019 TIA Portal Siemens s7-300 tutorial
39/83
Esercizio 2: Avviamento manuale di unmotore 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 dimarcia?
S.S.C. A. Pilloni 39
7/24/2019 TIA Portal Siemens s7-300 tutorial
40/83
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 dilivello on-off, A1, B1, A2,B2
S.S.C. A. Pilloni 40
7/24/2019 TIA Portal Siemens s7-300 tutorial
41/83
Esercizio 3: Impianto di sollevamento
Assumiamo che i sensori di livello siano altiquando il livelloeccedela quota di riferimento.
Questo significa che la condizione di svuotamento per ilserbatoio 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 unallarme ove si rilevasse tale lettura,ovviamente dovuta a un guasto dei sensori
S.S.C. A. Pilloni 41
7/24/2019 TIA Portal Siemens s7-300 tutorial
42/83
Esercizio 3: Impianto di sollevamento
Definiamo per semplicit una logica di funzionamento in cui nellamodalit manualela marcia e larresto sono pilotati dagli appositipulsanti (come nellesercizio precedente)
Mentre, nella modalit automatica: Il segnale di marcia ON viene dato se la quota nel Serb. 1sta 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=0and 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 (AllarmeHIGH12)
S.S.C. A. Pilloni 42
7/24/2019 TIA Portal Siemens s7-300 tutorial
43/83
Esercizio 3: Impianto di sollevamento
Variabili di lavoro:
S.S.C. A. Pilloni 43
7/24/2019 TIA Portal Siemens s7-300 tutorial
44/83
Esercizio 3: Impianto di sollevamento
S.S.C. A. Pilloni 44
7/24/2019 TIA Portal Siemens s7-300 tutorial
45/83
Input/Output Analogici
A differenza dei segnali booleani, che possono assumere solodue stati, e.g. 0V o +24V, i segnali analogici hanno un numeroarbitrario 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 inun'informazione digitale, e.g. 16bit
Questa operazione viene detta conversione A/D e la suarisoluzione dipende dal numero di bit di risoluzione
Tipicamente gli I/O analogici dei PLC utilizzano 15bit + 1bit disegno (totale 16bit)25= 32768
S.S.C. A. Pilloni 45
7/24/2019 TIA Portal Siemens s7-300 tutorial
46/83
Input/Output Analogici
I campi dei valori digitalizzati per il PLC S7-300 sonorappresentati in questo modo:
E.g. Conversione 0-10[V]
La trasformazione del valore analogico per l'ulterioreelaborazione nel PLC uguale sia per ingressi che per le usciteanalogici
S.S.C. A. Pilloni 46
Signal [0-10V] 0[V] 0.36 mV =10
27648 1[V] 10[V] 11.85[V]
[0-32768] 0 1 27648/10 27648 25=32768
=
[] [ ]
i i i i l
7/24/2019 TIA Portal Siemens s7-300 tutorial
47/83
Esercizio 3: Acquisire un segnaleanalogico
Un segnale analogico tra 0-10 [V] cablato sul CH0 degli AIintegrati della CPU
Il segnale relativo ad una misura di temperatura scalatalinearmente nel range 10 e 100 [C]
Creare una funzione(FC) che converte il segnale acquisto nelsuo valore di temperatura
Salvare il dato in DBGlobalechiamato Misure_Campo cheal suo interno contiene una variabile di tipo Real chiamataTemperatura
S.S.C. A. Pilloni 47
E i i 3 A i i l
7/24/2019 TIA Portal Siemens s7-300 tutorial
48/83
Esercizio 3: Acquisire un segnaleanalogico
Creare un FCin SCLed un DBGlobale
S.S.C. A. Pilloni 48
E i i 3 A i i l
7/24/2019 TIA Portal Siemens s7-300 tutorial
49/83
Esercizio 3: Acquisire un segnaleanalogico
Definire allinternodel DB Globale la variabile di tipoReal Temperatura
S.S.C. A. Pilloni 49
7/24/2019 TIA Portal Siemens s7-300 tutorial
50/83
Esercizio 3: Acquisire un segnale
Definire linterfaccia(ingressied uscite) della nostra funzioneed implementare la seguente proporzione
S.S.C. A. Pilloni 50
? ? ? ? ? =
_ ? ? ? ?
E i i 3 A i i l
7/24/2019 TIA Portal Siemens s7-300 tutorial
51/83
Esercizio 3: Acquisire un segnaleanalogico
Trascinare nel Main (OB1) la funzione appena scritta epassandogli come ingresso lindirizzodellIngressoAnalogico ecome uscita il puntatore al DB
S.S.C. A. Pilloni 51
E i i 3 A i i l
7/24/2019 TIA Portal Siemens s7-300 tutorial
52/83
Esercizio 3: Acquisire un segnaleanalogico
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 diConversione risolveva gi il
nostro problema
S.S.C. A. Pilloni 52
E i i 4 A i t t
7/24/2019 TIA Portal Siemens s7-300 tutorial
53/83
Esercizio 4: Avviamento motore concontrollo sulla temperatura
Inserire nel codice dellEsercizio2 un controllo sullatemperatura del motore che impedisce lavviamentodelmotore se la temperatura maggiore di 90C.
S.S.C. A. Pilloni 53
7/24/2019 TIA Portal Siemens s7-300 tutorial
54/83
TON: Ritardo all'inserzione
Con l'istruzione TON si ritarda l'impostazione dell'uscita Qdi una durata PT
L'istruzione si avvia se il risultato logico nell'ingresso IN passada "0" a "1" (fronte di salita del segnale)
S.S.C. A. Pilloni 54
7/24/2019 TIA Portal Siemens s7-300 tutorial
55/83
Esercizio 5: Sequenza 2 bit
Implementare un codice implementa ilseguente scenario
S.S.C. A. Pilloni 55
2s 4s 6s 8s 10s
12s 14s 16s
Led1_2bit (%Q136.0)
Led1_2bit (%Q136.1)
Start_Timer (%I136.0)
7/24/2019 TIA Portal Siemens s7-300 tutorial
56/83
Esercizio 5: Sequenza 2 bit
S.S.C. A. Pilloni 56
Il Merker reset_sequenzaserve per resettare ilcontatore ogni 8 secondi
Segmento 1:
Segmento 2:
Segmento 3:
7/24/2019 TIA Portal Siemens s7-300 tutorial
57/83
CTD: Conteggio all'indietro
Il valore di conteggio "CV" inizializzata a "PV"
Ogni commutazione di CD" da "0" a "1" decrementatadi 1 il valore di conteggio "CV" fino a -32768
Se CV 0luscita Q=1 Se LDcommuta da "0" a "1" "CV" viene settata a "PV"
S.S.C. A. Pilloni 57
7/24/2019 TIA Portal Siemens s7-300 tutorial
58/83
Esercizio 6: Conta bottiglie
In un impianto di imbottigliamente presente un sensore cherileva il passaggio di una bottiglia su un nastro trasportatore
Dopo aver contato 6 bottiglie generare un segnale impulsivo eresettare il contatore
S.S.C. A. Pilloni 58
7/24/2019 TIA Portal Siemens s7-300 tutorial
59/83
Macchine a Stati
Ad alto livello i processi industriali sono gestiti dalsequenziamento 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|(SETNEW STATE, RESETOLD STATE)2. Individuazione delle azioni da compiere in uno stato:
|ACTUAL STATE|(SET/RESETOUTPUTs)
S.S.C. A. Pilloni 59
7/24/2019 TIA Portal Siemens s7-300 tutorial
60/83
Esercizio 7: Macchina a Stati
S.S.C. A. Pilloni 60
VERNIC-CIATURA(V=1,L=0)
LUCIDA-TURA
(V=0,L=1)
HOME(V=L=0)
Start & Abilit.
Fine_Vern. & Abilit.Fine_Luc &
NOT Abilit.
Fine_Vern.&Abilit.
Fine_Vern.& NOT Abilit. Lucitatrice Cabina di
Vernicciatura
Si consideri un processo industriale di vernicciatura elucidatura automatizzato
Implementare in Ladder lAutomanota linterfacciaI/O
4 Ingressi digitali: Start, Abiltazion, Fine_Vern.e Fine_Lucid.
2 Uscite: V (Vernicia), L (Lucida)
7/24/2019 TIA Portal Siemens s7-300 tutorial
61/83
Esercizio 7: Macchina a Stati
Definire Ingressi ed Uscite
Identificare gli stato dellAutomacon dei flagindirizzati ad esempio con dei Merker booleani
S.S.C. A. Pilloni 61
7/24/2019 TIA Portal Siemens s7-300 tutorial
62/83
Esercizio 7: Macchina a Stati|ACTUAL STATE| &|INPUTs|(SETNEW STATE, RESETOLD STATE)
Segmento 1:
Segmento 2: Segmento 3:
S.S.C. A. Pilloni 62
7/24/2019 TIA Portal Siemens s7-300 tutorial
63/83
Esercizio 7: Macchina a Stati
|ACTUAL STATE|(SET/RESETOUTPUTs)
S.S.C. A. Pilloni 63
7/24/2019 TIA Portal Siemens s7-300 tutorial
64/83
Esercizio 7: Macchina a Stati
Ricordando che lOB100 permette di eseguire del codicesolo al durante il ciclo di avvio del PLC (vedi slide #29)
Per inizializzare lautomanello stato HOME, in un OB100inseriremoil seguente segmento:
S.S.C. A. Pilloni 64
Dopo il primo ciclo del PLC ilvalore del Merker M4.2associato ad HOME che dibase vale 0 diventa il suonegato, ovvero 1
7/24/2019 TIA Portal Siemens s7-300 tutorial
65/83
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
()
(passo di discretizzazione)
si ottiene la seguente equazione alle differenze finite
=
1
= 0,1,2
S.S.C. A. Pilloni 65
7/24/2019 TIA Portal Siemens s7-300 tutorial
66/83
Esercizio 8: Implementazione F.d.T
Lequazione alle differenze finite
=
+ ( 1)
+ = 0,1, ()
mostra come luscitadel sistema al passo dipende oltre che
dal valore istantaneo dellingresso, e dalle costanti , ,
anche dalluscitaal passo precedente !!!
Esempio iterazione algoritmo: K=0: 0 = 0 0 la condizione iniziale del sistema
K=1: =
+
0
+
K=2: 2 =
+ 1
+ 2
K=n: =
+ ( 1)
+
S.S.C. A. Pilloni 66
7/24/2019 TIA Portal Siemens s7-300 tutorial
67/83
Esercizio 8: Implementazione F.d.T
Ricordando che I blocchi FB sono blocchi di codice chememorizzano i propri valori in modo permanente in modo da
poterne disporre anche dopo l'elaborazione del blocco (vedislide #26), implementeremo il nostro algoritmo su un FB
Vista la struttura della (*) sceglieremo come lingueaggio lSCL
S.S.C. A. Pilloni 67
7/24/2019 TIA Portal Siemens s7-300 tutorial
68/83
Esercizio 8: Implementazione F.d.T
Definire linterfacciadella FB:
S.S.C. A. Pilloni 68
Le variabili static
permettono didisporre di un datoanche dopo la sual'elaborazione
7/24/2019 TIA Portal Siemens s7-300 tutorial
69/83
Esercizio 8: Implementazione F.d.T
Codice SCL della FB
S.S.C. A. Pilloni 69
7/24/2019 TIA Portal Siemens s7-300 tutorial
70/83
Esercizio 8: Implementazione F.d.T
Infine al fine di simulare completamente il comportamentodinamico del sistema sar necessario richiamare tale FBesattamente ogni secondi
A tal fine la FB sar richiamata in un OBdi interruptciclico il
cui tempo di chiamata dipende dalla sua priorit, es. OB35hapriorit 12 e viene richiamato ogni 10msec
Creazione di un OB di Interrupt
S.S.C. A. Pilloni 70
7/24/2019 TIA Portal Siemens s7-300 tutorial
71/83
Esercizio 8: Implementazione F.d.T
S.S.C. A. Pilloni 71
7/24/2019 TIA Portal Siemens s7-300 tutorial
72/83
Controllo PID
il sistema di controllo in retroazione di gran lunga pi comunenell'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 seguenteloop di controllo utilizzando lFBdellEsercizio 8per simulare il ilprocesso, ed il blocco Cont_C come
regolatore
S.S.C. A. Pilloni 72
2.01.0
1 1 0 . 0
() ()
7/24/2019 TIA Portal Siemens s7-300 tutorial
73/83
Esercizio 9: Controllo P
Realizzare un regolatore proporzionale con guadagno pari a 2utilizzando il blocco Cont_C di Siemens e verificare che aregime la risposta al gradino vale esattamente
= lim
1 ()
= lim
1.0
2.01 1 0 . 0
1 2.0
1 1 0 . 0
=2
3= 0.666
S.S.C. A. Pilloni 73
2.01.0
1 1 0 . 0
= 1.0() ()
7/24/2019 TIA Portal Siemens s7-300 tutorial
74/83
Esercizio 9: Controllo P
NellOB35inseriamo il CONT_C. Associamo luscitadel PIDLMNallingressodel processo, luscitadel processo a PV_IN(e.g. vedi slide #64) ed il setpoint del regolatore SP_INT ad unmerker, quindi settiamo il tempo di ciclo a 10msec
S.S.C. A. Pilloni 74
7/24/2019 TIA Portal Siemens s7-300 tutorial
75/83
Esercizio 9: Controllo P
Cliccando sulliconadi configurazionesettiamo le seguenti schermate delmenu
S.S.C. A. Pilloni 75
7/24/2019 TIA Portal Siemens s7-300 tutorial
76/83
Esercizio 9: Controllo P
S.S.C. A. Pilloni 76
7/24/2019 TIA Portal Siemens s7-300 tutorial
77/83
Esercizio 9: Controllo P
S.S.C. A. Pilloni 77
Il blocco CONT_Cimplementa di base laconfigurazioneAnti-WindUP, inoltrepermette di saturarelazione di controllo.
Per maggiori dettaglisu CONT_C si rimandaallHelp
7/24/2019 TIA Portal Siemens s7-300 tutorial
78/83
Esercizio 9: Controllo P
S.S.C. A. Pilloni 78
ll
7/24/2019 TIA Portal Siemens s7-300 tutorial
79/83
Esercizio 9: Controllo P
S.S.C. A. Pilloni 79
Setpoint
Uscita processo
ll
7/24/2019 TIA Portal Siemens s7-300 tutorial
80/83
Esercizio 10: Controllo PID
Utilizzare una configurazione PID generica ed eseguire iltuning online del regolatore
Per far ci dovremo modificare la schermata di configurazionecome segue
S.S.C. A. Pilloni 80
i i 0 C ll
7/24/2019 TIA Portal Siemens s7-300 tutorial
81/83
Esercizio 10: Controllo PID
Il tuning dei parametri del PID pu chiaramente essere fattoanche online.
Per far ci caricare il codice nel simulatore o nel PLC reale se vitrovate in impianto, andare in modalit Online , quindi
cliccare sulliconadella messa in servizio
S.S.C. A. Pilloni 81
E i i 10 C ll PID
7/24/2019 TIA Portal Siemens s7-300 tutorial
82/83
Esercizio 10: Controllo PID Forzare nella finestra di Ottimizzazione, diverse
configurazioni di tuning sino a trovare quella soddisfacente
S.S.C. A. Pilloni 82
Test al gradino con tuninig differenti
Setpoint
ParametriPID
Avviare lacquisizionedegli stream
R f
7/24/2019 TIA Portal Siemens s7-300 tutorial
83/83
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/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-
050_R1209_PLCSIM.pdf http://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Down
load/Documents/Getting%20Started%20S7-1200-it.pdf
https://cache.industry.siemens.com/dl/files/395/18654395/att_33361/v1/KOP_i.pdfhttps://cache.industry.siemens.com/dl/files/395/18654395/att_33361/v1/KOP_i.pdfhttps://www.youtube.com/watch?v=dy2NabkU5GQhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Download/Documents/Getting%20Started%20S7-1200-it.pdfhttp://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Download/Documents/Getting%20Started%20S7-1200-it.pdfhttp://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Download/Documents/Getting%20Started%20S7-1200-it.pdfhttp://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Download/Documents/Getting%20Started%20S7-1200-it.pdfhttp://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Download/Documents/Getting%20Started%20S7-1200-it.pdfhttp://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Download/Documents/Getting%20Started%20S7-1200-it.pdfhttp://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Download/Documents/Getting%20Started%20S7-1200-it.pdfhttp://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Download/Documents/Getting%20Started%20S7-1200-it.pdfhttp://w5.siemens.com/italy/web/AD/ProdottieSoluzioni/HomeSCE/Download/Documents/Getting%20Started%20S7-1200-it.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttp://w3.siemens.com/mcms/sce/de/fortbildungen/ausbildungsunterlagen/tia-portal_module/tabcardseiten/Documents/SCE_EN_020-050_R1209_PLCSIM.pdfhttps://www.youtube.com/watch?v=dy2NabkU5GQhttps://www.youtube.com/watch?v=dy2NabkU5GQhttps://cache.industry.siemens.com/dl/files/395/18654395/att_33361/v1/KOP_i.pdfhttps://cache.industry.siemens.com/dl/files/395/18654395/att_33361/v1/KOP_i.pdfhttps://cache.industry.siemens.com/dl/files/395/18654395/att_33361/v1/KOP_i.pdf