Configurazione & Programmazione PLC Siemens S7-300 Master DP Configurazione Creare 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 1008 515 Definizione Gruppi di Slaves (Servizi Freeze/Sync) 1008 515 11 11 240 515 31012 62.0 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 Programmazione della Comunicazione La programmazione della comunicazione dipende dalla modalità di scambio informativo tra Master e Slaves Esistono differenti modalità in Profibus-DP In 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 Nel corso verrà presa in esame solo la comunicazione MasterSlaves 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 Area I/O program scan Byte n Interfaccia DP Master Byte n DP Slave Byte n Token Data Exchange Accesso Diretto I/O 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 Esempio di Programmazione I0.4 start T_ON T_ON IN T/2 Q IN T/2 Q0.0 Q start Scambio Dati Consistente 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 Master DP Slave DP Area Dati sulla CPU SFC 15 Dati di Uscita SFC 14 Dati di Ingresso Area Dati sulla CPU Area Dati sulla CPU SFC 14 Dati di Ingresso SFC 15 Dati di Uscita Area Dati sulla CPU Come si vede si svincola lo scambio dati dalla scansione ciclica Lo scambio dati dipende solo dall’arrivo del Token Programmazione della Comunicazione - SYNC Master Slaves Output uscite Sync uscite Le uscite vengono bufferizzate uscite Sync uscite uscite Sync UnSync uscite time Aggiornamento uscite ma non aggiornate Aggiornamento ultime uscite ricevute dal Master Le uscite vengono bufferizzate ma non aggiornate Aggiornamento ultime uscite ricevute dal Master Aggiornamento uscite Programmazione della Comunicazione - SYNC CALL SFC 11 Funzione DPSYC_FR REQ Se 1 si attiva la chiamata :=M30.0 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 Master Lettura ingressi Slaves Valore corrente degli ingressi Freeze Lettura ingressi Aggiornamento valore corrente degli ingressi Valore congelato degli ingressi Freeze Lettura ingressi Tempo Gli ingressi cambiano ma non vengono aggiornati dagli Slaves Aggiornamento valore corrente degli ingressi Valore congelato degli ingressi UnFreeze Programmazione della Comunicazione - Freeze CALL SFC 11 Funzione DPSYC_FR REQ Se 1 si attiva la chiamata :=M30.0 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