Protocollo di Comunicazione su Linea Commutata tra PLC Siemens
 
 

Colaianni  Filippo e Di Lisi Nicola

L’obiettivo di questa tesina è la realizzazione di un protocollo di comunicazione tra un PLC Master, quindici PLC Slave su linea commutata. L’esigenza, infatti,è quella di scambiare informazioni e comandi tra una stazione centrale di controllo e delle stazioni remote.

Ogni stazione Slave ha un PLC ( Siemens 300 ) capace di implementare una propria logica di controllo, ma deve avere la possibilità di ricevere comandi dalla stazione Master a priorità maggiore rispetto ai comandi della stessa.

La stazione Master ha invece un PLC ( Siemens 400 ) interfacciato con uno SCADA mediante il quale è possibile monitorare lo stato di tutte le stazioni slaves,acquisito periodicamente mediante un polling,e/o inviare comandi quando necessario.
La seguente Figura mostra uno schema della comunicazione tra Master e gli Slaves. Sia il Master (al centro della Figura) che gli Slaves sono dotati di schede di comunicazione. Esse sono rispettivamente denominate CP441 e CP340 per i PLCs 400 e 300, e sono collegati a sua volta a un Modem ( Us Robotics 56 Kbps ), mediante il quale è possibile instaurare la comunicazione telefonica.
 
 

Schema di Interconnessione tra PLC Master e Slave

Queste schede sono state progettate per una comunicazione di tipo punto-punto, quindi prive di funzioni per la gestione della comunicazione su linea commutata; abbiamo quindi dovuto risolvere tutti i problemi legati alla gestione dei segnali a basso livello e alla sincronizzazione dei modem.

Il protocollo prevede due tipi di comunicazione

Nel caso di comunicazione Sincrona, il PLC  Master, periodicamente, effettua un polling di acquisizione stato dalle stazioni Slaves, visualizzandone il risultato sullo SCADA.
Ogni stazione viene identificata da un particolare indice, mediante il quale il master carica le informazioni necessarie per instaurare la comunicazione. Una volta instaurata la connessione telefonica, il master attende che questa sia stabile, quindi invia la richiesta di stato, e attende la risposta dallo slave. Ricevuta la risposta, il master chiuderà la connessione telefonica in maniera asincrona, cioè senza contrattazioni; quindi aggiornerà l’indice della stazione a quella successiva e attiverà un timer allo scadere del quale effettuerà la successiva chiamata per il polling. il tempo intercorso tra due chiamate alle stazioni nello stesso polling è di circa un minuto, mentre il tempo intercorso tra due polling è di circa 15 minuti. Entrambi i tempi sono parametrizzabili. In questi intervalli si ha la possibilità di ricevere aggiornamenti di stato dagli slave e di ricevere richiesta d’invio comandi dallo SCADA.
Se nel tentativo d’instaurare la connessione viene trovata la linea occupata, viene generato un tempo random, trascorso il quale il Master tenta nuovamente d’instaurare la connessione. Per la generazione del tempo random ci siamo basati sull’ algoritmo di Park e Miller.

Diagramma di Flusso Polling (Plc Master)

Per la comunicazione Asincrona sono previsti, invece, due possibili casi :

1. Invio Comando Master –to – Slave

In questo caso l’utente tramite SCADA istanzia la richiesta di inviare un comando ad una stazione remota, la richiesta di comando viene inviata al PLC Master, che, appena possibile, instaurerà la connessione telefonica con la suddetta stazione,potendo così attuare il comando.Per ragioni di sicurezza alla richiesta di invio comando è stata assegnata la priorità maggiore,quindi,nel caso in cui la linea sia occupata o comunque non sia possibile instaurare la connessione , il Master ritenterà a connettersi finché non vi riesce,senza attendere nessun tempo morto.

Diagramma di Flusso Invio Comando Master to Slave (Plc Master)

 
2. Invio Stato Slave – to - Master



Diagramma di Flusso Invio Stato Slave to Master (Plc Slave)






In seguito a situazioni anomale la Stazione remota,instaurerà la connessione telefonica con il PLC Master inviandogli il proprio stato attuale. Nel caso di linea occupata è stato previsto un meccanismo di gestione delle collisioni che permette di riprovare l’ instaurazione della connessione dopo aver atteso un tempo random .


Diagramma di Flusso Invio Stato Slave to Master (Plc Master)

Se il Plc Master si trova nello stato di WAIT e arriva una richiesta di connessione,il Plc Master accetterà la chiamata, identificherà la stazione chiamante e memorizzerà lo stato appena notificatogli. Sarà lo slave a chiudere la connessione a trasmissione avvenuta. Se il Master non aveva ancora interrogato la suddetta stazione, nel corrente polling, eliminerà quest’ultima dalla lista delle prossime chiamate.

Questo protocollo è stato realizzato basandosi sul problema reale del telecontrollo dell’ acquedotto di Siracusa gestito dalla ditta SOGEAS, il cui progetto è stato dato in appalto alla ditta Proteo s.r.l. di Catania.

Il software da noi realizzato è stato testato utilizzando un PLC  Siemens 400 e due PLCs Siemens 300 collegati su linea telefonica fissa tramite tre Modem US Robotics 56 Kbps, messi a disposizione dalla ditta Proteo s.r.l. di Catania.