Prodotti PlcGit, il funzionamento e gli obiettivi
PlcGit ha molteplici funzionalità
- PLC Programma PLC backup e ripristino
- Controllare e unire le differenze tra le versioni del software PLC
- Gestione del codice del programma PLC in un team di sviluppo distribuito
La seguente descrizione è un esempio per la serie di PLC Siemens S7 1500 che utilizza il software di programmazione PLC Siemene TIA Portal.
Backup e ripristino del programma PLC
Al primo avvio è necessario definire un repository. Di solito si tratta semplicemente del nome del repository.
Poi, per la configurazione iniziale, è necessario un progetto TIA. Questo progetto definisce il programma PLC di uno o più PLC.
Un singolo repository può gestire più progetti TIA.
Ogni PLC è definito con il proprio nome e indirizzo TCP/IP.
La configurazione iniziale legge il progetto TIA e offre un elenco dei PLC con i rispettivi indirizzi IP.
Uno o più di essi possono essere scelti per le funzionalità di backup e ripristino.
Successivamente è possibile definire l’orario e la frequenza di backup. Di solito questo avviene una volta al giorno durante la notte.
Internamente il progetto TIA viene letto, decodificato e tutte le parti del programma vengono inviate al repository in una forma leggibile dall’uomo.
Inoltre, il progetto TIA viene archiviato per motivi di sicurezza.
Ogni notte il PLC reale viene controllato per rilevare eventuali modifiche. Se vengono rilevate modifiche, gli elementi interessati vengono letti dal PLC e inviati al repository. Questo è chiamato tag, identificato dal timestamp e dall’operatore che ha effettuato la modifica.
Se alcune modifiche, per lo più effettuate nel fine settimana, dovessero disturbare la produzione il lunedì o successivamente, il personale di manutenzione controlla l’elenco dei backup disponibili degli ultimi giorni. Questo avviene tramite browser. Di solito la direzione del turno conosce la data dell’ultima produzione stabile. Quindi viene scelta, ad esempio, la versione del martedì precedente. Poi viene avviata la funzione di ripristino. Questa prende il progetto TIA esistente, legge tutte le modifiche effettuate nel PLC, copia il progetto TIA e lo aggiorna con le modifiche fino a martedì. Una volta terminato, viene scaricato su una macchina con TIA Portal installato — di solito un computer del personale di manutenzione. Poi si avvia TIA, si carica il progetto scaricato, quindi si aggiorna e si riavvia il PLC interessato. La macchina funzionerà come martedì.
Alcuni dettagli su backup e ripristino.
Se durante la notte non è possibile eseguire il backup, di solito perché il PLC non è disponibile, viene generato un allarme.
L’allarme viene scritto in un registro di log. In questo caso può essere configurato anche l’invio di una notifica e-mail.
In tal caso, il backup non può essere eseguito in quella notte.
Durante il ripristino vengono eseguiti controlli di coerenza tra il progetto TIA e il PLC. Se la configurazione hardware del PLC è diversa, di solito il ripristino non funzionerà correttamente.
Questo viene controllato anche nei backup notturni e, se la configurazione hardware del PLC differisce, viene inviato un avviso.
Normalmente, quando viene modificata la configurazione hardware del PLC, è necessario registrare un nuovo progetto TIA.
Verifica delle differenze tra le versioni del programma PLC e unione
Dopo un ripristino di emergenza o per altri motivi, il personale addetto alla manutenzione può verificare le modifiche tra i diversi cambiamenti rilevati o rispetto al
contenuto originale del progetto TIA. Anche questa operazione viene eseguita in un browser.
Quindi si seleziona il repository dall'elenco, quindi un PLC. La visualizzazione è simile al TIA Portal con un elenco dei blocchi PLC. I blocchi modificati sono contrassegnati.
Quindi viene selezionato un blocco (modificato). Il contenuto del blocco viene visualizzato nel browser in modo simile al TIA Portal come KOP/FUP/SCL/Graph.
Il blocco viene mostrato due volte, uno e l'altro blocco. Le modifiche rilevate sono contrassegnate in modo visibile.
Il codice del programma PLC è programmato in rung, viene mostrato solo un rung. I rung modificati sono contrassegnati nell'elenco dei rung.
L'unione significa che l'utente può ora trasferire blocchi completi da una versione all'altra, oppure rung completi.
Oppure, in un rung, è possibile utilizzare singoli elementi o gruppi di elementi per l'unione.
Il test viene eseguito come nei ripristini: generare il progetto TIA, scaricare il progetto, aprire TIA, caricare il progetto in TIA e successivamente nel PLC.
Gestione del codice del programma PLC in team di sviluppo software distribuiti
Per lo sviluppo del software, normalmente non esiste alcun PLC. Più persone del team lavorano su parti diverse del software PLC.
Sono necessarie solo le funzioni di selezione dei blocchi PLC e di unione.
In questo caso possono esistere più progetti TIA. Questi possono essere archiviati in un repository.
Per combinare il codice, è possibile selezionare i blocchi e unirli in un unico progetto TIA.
Ciò può generare vari conflitti di unione. Tali elementi vengono contrassegnati. È quindi possibile risolvere manualmente i problemi, ad esempio
rinominando alcune variabili o blocchi o rinumerando i blocchi. In genere, le strutture utilizzate nel team di sviluppo distribuito sono diverse.
Una possibile soluzione è la creazione di una nuova struttura nell'unione che contenga tutte le variabili dei membri del team.
Ma sono possibili anche altre soluzioni.
Le diverse versioni di TIA nel team non sono generalmente un problema. L'unione da versioni TIA inferiori a versioni superiori funzionerà sempre.
Il passaggio a una versione inferiore è possibile se i blocchi PLC interessati non utilizzano funzionalità speciali che la versione TIA precedente non è in grado di gestire.
L'unica cosa che non può essere unita sono le configurazioni hardware. Queste sono sempre incompatibili.