configurazione & programmazione plc siemens s7-300 master dp
TRANSCRIPT
Configurazione & Programmazione
PLC Siemens S7-300 Master DP
ConfigurazioneCreare Oggetto Profibus DP
Connettere l’ interfaccia DP alla rete Profibus
Optional: Aggiungere File GSD
Inserire Slaves
Assegnare Indirizzi DP
Configurare la rete
Configurazione
Proprietà Rete Profibus:
Indirizzo più alto
Velocità (bit rate)
Parametri del Bus
Definizione Gruppi di Slaves (Servizi Freeze/Sync)
1008
515
11
1008
51511
31012
62.0
515
240
30
Configurazione
Configurazione Laboratorio Multi-Master:
DP Master PC Applicom #5
DP Master PLC Siemens #6
DP Slave RIO 16O #30
DP Slave RIO 16I #20
DP Slave PLC SAIA #10
PC controlla gli Slave 10 e 20
PLC Siemens controlla lo Slave 30
La programmazione della comunicazione dipende dalla modalità di scambio informativo tra Master e Slaves
Esistono differenti modalità in Profibus-DPIn dipendenza dalla presenza di I-Slaves
Programmazione della Comunicazione
In questa configurazione avviene lo scambio di dati tra il master DP e slave DP semplici
Il Master DP interroga in successione ogni Slave DP configurato nel Master e trasmette i dati di uscita o riceve i valori di ingresso di ritorno (Data Exchange).
Il Master DP può sincronizzare gli Slave DP (se essi lo consentono) ed accedere all’area I/Q
Programmazione della Comunicazione
I compiti di automazione possono essere scomposti in compiti parziali eseguiti come "pre-elaborazione" su uno slave DP intelligente dotato di CPU.
Nelle configurazioni con slave DP intelligenti (I-slave) il master DP non accede alle unità I/Q dello slave DP intelligente ma solo all'area degli operandi della CPU dell' I-slave
Programmazione della Comunicazione
Comunicazione Diretta (DX): In questa configurazione i dati di slave DP intelligenti possono essere letti direttamente dal master DP di un altro sistema master DP della stessa sotto-rete PROFIBUS-DP fisica.
Programmazione della Comunicazione
Comunicazione Diretta (DX): Con questa configurazione possono essere trasmessi molto rapidamente i dati di slave DP a slave DP intelligenti sulla sotto-rete PROFIBUS-DP.
Solo Slave DP intelligenti, come p.es. CPU 315- 2DP, possono essere utilizzati come riceventi di questi dati.
Programmazione della Comunicazione
Uno slave DP intelligente, come p.es. una CPU 315-2DP può far trasmettere i dati di slave DP "semplici" anche da diversi sistemi master DP (sistema a più master) direttamente alla sua area dati di ingresso.
Programmazione della Comunicazione
Programmazione della Comunicazione
Nel corso verrà presa in esame solo la comunicazione Master-Slaves non Intelligenti
Verrà illustrato:
Scambio Dati basato su Data Exchange
Scambio Dati basato su Sync/Freeze
Scambio Dati basato su Data Exchange
Servizi di Comunicazione per Interfacce Profibus DP interne della serie S7:
Lettura/Scrittura basata su accesso diretto I/O
Scambio Dati Consistente
Accesso Diretto I/O
Lo scambio dati basato su accesso diretto I/O si realizza grazie al meccanismo di aggiornamento delle immagini di processo degli ingressi e delle uscite
Si ha una corrispondenza di tale meccanismo con il servizio Data Exchange.
L’aggiornamento avviene ad ogni scansione ciclica
Byte n Byte n Byte n
Interfaccia DP Master
DP SlaveArea I/O
programscan
TokenData Exchange
L’accesso agli ingressi e alle uscite di uno Slave DP si basa sull’uso dei comandi di accesso diretto agli ingressi e alle uscite.
Esempio di Comandi di Accesso Diretto: Contatti o Coil in Ladder
Si utilizzano gli indirizzi I/Q assegnati durante la configurazione hardware degli Slaves DP
Accesso Diretto I/O
Accesso Diretto I/O
IN
T/2
QT_ONstart
startIN
T/2
QT_ON
Q0.0
I0.4
Esempio di Programmazione
Lo scambio dati basato sui meccanismi di accesso diretto ha il limite di essere legato alla scansione ciclica del PLC.
Alcune volte è richiesto uno scambio dati Master/Slave anche nell’ambito della stessa scansione ciclica.
l'aggiornamento dei dati scambiati tra Master e Slave deve essere sganciato dal meccanismo di aggiornamento dell'immagine di processo:
aggiornamento immediato a seguito di una operazione di lettura o scrittura da/verso lo Slave DP.
In tal caso, sono necessarie particolari funzioni che garantiscano la lettura e la scrittura dell'area I/O del DP Slave
Scambio Dati Consistente
Utilizzo di funzioni di libreria
DPWR_DAT (SFC 15) per scrivere bytes di dati in modo consistente
DPRD_DAT (SFC 14) per leggere bytes di dati in modo consistente
Scambio Dati Consistente
Area Dati sulla CPU
Area Dati sulla CPU
Area Dati sulla CPU
Area Dati sulla CPU
SFC 15Dati di Uscita
SFC 14Dati di Ingresso
SFC 15Dati di Uscita
SFC 14Dati di Ingresso
Master DP Slave DP
Come si vede si svincola lo scambio dati dalla scansione ciclica
Lo scambio dati dipende solo dall’arrivo del Token
Scambio Dati Consistente
Programmazione della Comunicazione - SYNC
Slaves Output
Aggiornamento uscite
Aggiornamento ultime uscite ricevute dal Master
Aggiornamento uscite
Le uscite vengono bufferizzate
ma non aggiornate
Aggiornamento ultime uscite ricevute dal Master
Le uscite vengono bufferizzate
ma non aggiornate
Master uscite
Sync
uscite
uscite
Sync
UnSyncuscite
time
uscite
uscite
Sync
Programmazione della Comunicazione - SYNC
CALL SFC 11 Funzione DPSYC_FR
REQ :=M30.0 Se 1 si attiva la chiamata
LADDR :=W#16#3FF Indirizzo Fisico Interfaccia DP
GROUP :=B#16#2 Indirizzo Gruppo SYNC
MODE :=B#16#20 20=SYNC, 10=UNSYNC
RET_VAL:=MW14 Word error code
BUSY :=M30.1 Se 1 la chiamata non è stata
ancora terminata
Programmazione della Comunicazione - SYNC
I 124.6
M 40.0
M 30.0
Ciclo di scansione OB1
Programmazione della Comunicazione - SYNC
Programmazione della Comunicazione - SYNC
Programmazione della Comunicazione - Freeze
Tempo
MasterSlavesLettura ingressi
Valore corrente degli ingressi
Freeze
UnFreeze
Aggiornamento valore corrente degli ingressiLettura ingressiValore congelato degli ingressi
Gli ingressi cambiano ma non vengono aggiornati dagli SlavesFreezeAggiornamento valore corrente degli ingressiLettura ingressiValore congelato degli ingressi
Programmazione della Comunicazione - Freeze
CALL SFC 11 Funzione DPSYC_FR
REQ :=M30.0 Se 1 si attiva la chiamata
LADDR :=W#16#3FF Indirizzo Fisico Interfaccia DP
GROUP :=B#16#1 Indirizzo Gruppo Freeze
MODE :=B#16#8 8=Freeze, 4=UnFreeze
RET_VAL:=MW14 Word error code
BUSY :=M30.1 Se 1 la chiamata non è stata
ancora terminata
Programmazione della Comunicazione - Freeze