Programmazione dell'applicazione di sicurezza
Informazioni generali sul progetto di sicurezza
L'elenco seguente fornisce fatti essenziali sull'interfaccia utente di Machine Expert - Safety e sulle caratteristiche di variabili e codice di sicurezza.
Per ulteriori informazioni e dettagli, vedere EcoStruxure Machine Expert - Safety - Guida dell'utente.
oLe POU sono organizzate nella finestra Struttura progetto.
oUn progetto di sicurezza contiene esattamente una POU del programma di tipo IEC 61131-3 di nome Main. Tale POU non può essere eliminata o rinominata e non è possibile aggiungere ulteriori programmi IEC 61131-3 definiti dall'utente (solo FB).
oIl task di sicurezza in cui viene eseguito questo programma è inoltre predefinito ma non visibile in Machine Expert - Safety. Non è possibile modificare la configurazione di questo task.
NOTA: poiché viene eseguito solo un task di sicurezza dal SLC, una modifica del tempo di ciclo del SLC ha lo stesso effetto della modifica del tempo di ciclo del task.
oÈ possibile creare blocchi funzione di sicurezza definiti dall'utente (secondo IEC 61131-3) ma nessuna funzione.
oÈ possibile inserire librerie che forniscono blocchi funzione e funzioni di sicurezza.
oCiascuna POU è composta da uno o più fogli di lavoro di codice e da una tabella di variabili con dichiarazioni di variabili locali. Fare doppio clic sull'icona di struttura per aprire il foglio di lavoro corrispondente per la modifica.
oLe dichiarazioni di variabili globali sono contenute in una griglia di variabili separata. Fare clic sull'icona Global decl. sulla barra degli strumenti principale per aprire questa tabella.
oLa Edit Wizard fornisce funzioni e blocchi funzione. Dopo aver aggiunto una libreria di POU (tramite il menu contestuale della cartella Librerie nella struttura progetto), i blocchi contenuti possono essere selezionati in un Gruppo separato.
oIl codice standard e di sicurezza è distinto accuratamente in Machine Expert - Safety. Perciò, anche le variabili standard e di sicurezza, o più precisamente, i tipi di dati standard e di sicurezza sono distinti. Ad esempio, non è possibile collegare una variabile con tipo di dati standard a un parametro formale che aspetta una variabile di sicurezza.
Le variabili di sicurezza sono visualizzate con uno sfondo rosso nel codice. Le variabili dei tipi di dati standard sono visualizzate senza sfondo.
oAnche FU/FB di sistema di sicurezza oltre a FB di libreria di sicurezza sono visualizzati in rosso. I blocchi standard sono visualizzati in grigio-blu. I FU/FB utente sono visualizzati in verde.
oQuando si mischiano variabili standard e di sicurezza, Machine Expert - Safety esegue un'analisi del flusso dati nel codice FBD/LD ed evidenzia i percorsi di segnale di sicurezza principali di una rete visualizzandoli come linee rosse spesse. Un percorso di sicurezza termina sempre o in una variabile di uscita di sicurezza o, nel caso di una variabile di uscita standard, sull'ultimo ingresso oggetto posto prima di tale uscita. Se un percorso di segnale standard termina in un'uscita di sicurezza, tale uscita viene visualizzata con uno sfondo tratteggiato in rosso.
Esempio di applicazione di sicurezza
Il seguente semplice programma considera i moduli I/O TM5 configurati nel progetto di esempio. Le procedure per sviluppare questo esempio sono descritte nelle sezioni seguenti.
Vedere il capitolo FBD/LD Code Development in EcoStruxure Machine Expert - Guida dell'utente per una descrizione completa delle funzioni dell'editor.
Il segnale di ingresso SafeDigitalInput01 del modulo TM5SDI4DFS viene letto e assegnato tramite una funzione AND_S sul segnale di uscita SafeDigitalOutput01 del modulo TM5SDO4TFS. A causa della funzione AND_S, vengono valutati i segnali di diagnostica SafeModuleOK dei moduli I/O di sicurezza. Un guasto rilevato in uno dei moduli disattiva il segnale SafeDigitalOutput01 (SAFEFALSE).
Inoltre, il SafeDigitalOutput01 viene scritto nella variabile di scambio booleana SLC2LMC_Bool0_7_0 appartenente ai dati di scambio SLC2LMC configurati nella configurazione dispositivo SLC in Logic Builder. In questo modo, l'applicazione standard è in grado di leggere lo stato dell'uscita. (Il segnale SafeDigitalOutputxx è disponibile per i moduli di uscita digitali. Segnala all'applicazione standard se l'uscita di sicurezza è impostata dall'applicazione di sicurezza). La connessione diretta della variabile di sicurezza alla variabile di scambio standard SLC2LMC_Bool0_7_0 è possibile perché sono consentite le conversioni di tipo dai tipi di dati di sicurezza a standard.
Il blocco funzione temporizzatore TON_S ritarda il segnale ReleaseOutput01. Questo segnale di rilascio disattiva un'inibizione riavvio attivo e attiva il canale di uscita del segnale SafeDigitalOutput01 del modulo TM5SDO4TFS. Il ritardo è impostato a 50 ms.
NOTA: questo ritardo programmato influenza il tempo di risposta di sicurezza globale del sistema.
Inserimento di una funzione/blocco funzione nel codice
Passo |
Azione |
---|---|
1 |
Aprire il foglio di lavoro di programma Principale facendo doppio clic sulla relativa icona nella Finestra struttura progetto. |
2 |
Nell'area di selezione Edit Wizard, selezionare il blocco desiderato. Se il blocco non è visibile, occorre prima selezionare il Gruppo <all FUs and FBs>. |
3 |
Trascinare il blocco dall'area di selezione Edit Wizard nel foglio di lavoro del codice, fare clic con il pulsante sinistro del mouse per inserire il profilo del blocco e rilasciarlo facendo di nuovo clic nella posizione desiderata. |
4 |
Nel caso di un blocco funzione (TON_S nell'esempio), occorre dichiarare una variabile di istanza. Risultato: viene visualizzata la finestra di dialogo Variabile che propone un nome istanza modificabile, se necessario. |
5 |
Nella finestra di dialogo Variabile, fare clic su OK. Risultato: l'istanza del blocco funzione viene inserita nel codice e la variabile di istanza correlata viene inserita nelle dichiarazioni locali della POU Principale. È possibile aprire il foglio di lavoro di dichiarazione facendo clic sull'icona ToggleWS nella barra degli strumenti principale. |
6 |
Nell'esempio, la funzione AND_S richiede quattro ingressi. Per adattare la funzione, fare clic con il pulsante destro del mouse sull'icona del blocco e selezionare Proprietà oggetto dal menu contestuale. Selezionare IN2 nell'elenco Formal Parameters e fare due volte clic su Duplicate FP per aggiungere altri ingressi. Chiudere la finestra di dialogo con OK. |
Inserimento di segnali dispositivo nel codice
La procedura seguente si applica ai segnali dispositivo forniti nei nodi dispositivo nella finestra Dispositivi e comprende le variabili di scambio definite per il SLC oltre ai segnali di controllo e diagnostica dei moduli I/O di sicurezza.
Passo |
Azione |
---|---|
1 |
Aprire il foglio di lavoro del codice dove si desidera inserire il segnale. |
2 |
Nella finestra Dispositivi, aprire la struttura dispositivi a sinistra ed espandere il nodo del modulo prescelto (SL1.SMx). |
3 |
Trascinare il segnale prescelto nel foglio di lavoro del codice. Risultato: quando si rilascia il pulsante del mouse, si apre la finestra di dialogo Variabile. |
4 |
Nella finestra di dialogo Variabile, accettare il nome proposto, selezionare una variabile globale esistente o dichiarare una nuova variabile globale. Per i nomi di variabile utilizzati nell'esempio, vedere la figura. |
5 |
Confermare la finestra di dialogo Variabile facendo clic su OK e rilasciare la variabile nella posizione desiderata facendo clic con il pulsante sinistro del mouse. Risultato: la variabile viene inserita nel codice e la relativa dichiarazione inserita automaticamente nel foglio di lavoro della variabile globale. È possibile rilasciare la variabile direttamente su un ingresso o un'uscita di blocco per collegarla all'inserimento. |
Per l'esempio, inserire i segnali seguenti nel modo descritto:
oSafeDigitalInput01 del modulo TM5SDI4DFS collegato a un ingresso AND_S.
oSafeModuleOK di ciascun modulo I/O collegato a un ingresso AND_S.
oSafeDigitalOutput01 del modulo TM5SDO4TFS collegato all'uscita AND_S.
Inserire la variabile una seconda volta e rilasciarla in una posizione libera senza collegamenti.
oReleaseOutput01 del modulo TM5SDO4TFS collegato all'uscita TON_S.
ovariabile di scambio SLC2LMC_Bool0_7_0 del SLC collegata all'ingresso (punto di connessione blu) della variabile SafeDigitalOutput01 non collegata. In questo modo, la variabile di uscita viene scritta nella variabile di scambio booleana.
Inserimento di costanti (letterali) nel codice
La procedura seguente descrive come inserire letterali nel codice. I letterali devono essere utilizzati per immettere valori costanti nel codice. Possono essere utilizzati senza specificare una dichiarazione.
Passo |
Azione |
---|---|
1 |
È possibile inserire costanti assegnate/connesse o non connesse: oPer inserire una costante già connessa a una funzione o blocco funzione, fare doppio clic sul parametro formale desiderato. oPer inserire una costante non connessa ad alcun oggetto, fare clic in una posizione libera sul foglio di lavoro e premere F5 o fare clic sull'icona Variabile nella barra degli strumenti dell'editor. Risultato: si apre la finestra di dialogo Variabile. |
2 |
Specificare Ambito = Costante. |
3 |
Un tipo di dati viene proposto nella casella combinata Tipo. Adattare questa impostazione se richiesto. |
4 |
Immettere il letterale (costante) desiderato nel campo Nome. Osservare le regole in calce alla tabella. |
5 |
Premere OK. Risultato: la costante viene inserita nel codice FBD/LD. |
Vedere il capitolo Constants (Literals): Inserting and Declaring in EcoStruxure Machine Expert - Guida dell'utente per ulteriori informazioni sulle costanti e il caso speciale “Costanti globali”.
Regole per le costanti:
oI letterali devono essere sempre inseriti con il tipo di dati (ad esempio, SAFEINT#1000).
Eccezioni: TRUE e FALSE sono sempre gestiti come BOOL e SAFETRUE/SAFEFALSE come SAFEBOOL. Ad esempio, non è necessario immettere BOOL#TRUE.
oÈ possibile immettere le costanti standard INT senza tipo di dati (ad esempio, 1000 significa INT#1000) in quanto le immissioni decimali sono interpretate automaticamente come INT.
Eccezione: 0 e 1 se usati con tipo di dati booleano.
Vedere il capitolo Constants vs. Literals in EcoStruxure Machine Expert - Guida dell'utente per ulteriori informazioni sui letterali in base allo standard IEC 61131-3.
Inserimento di nuove variabili nel codice
La procedura seguente descrive come inserire nuove variabili nel codice. La dichiarazione viene inserita automaticamente nel rispettivo foglio di lavoro di dichiarazione.
Passo |
Azione |
---|---|
1 |
È possibile inserire variabili assegnate/connesse o non connesse: oPer inserire una variabile già connessa a una funzione o blocco funzione, fare doppio clic sul parametro formale desiderato. oPer inserire una variabile non connessa ad alcun oggetto, fare clic in una posizione libera sul foglio di lavoro e premere F5 o fare clic sull'icona Variabile nella barra degli strumenti dell'editor. oPer inserire una variabile per un contatto o una bobina, fare doppio clic sull'oggetto LD particolare. Risultato: si apre la finestra di dialogo Variabile. |
2 |
Selezionare l'Ambito della variabile. Risultato: per le variabili locali, la dichiarazione viene inserita nel foglio di lavoro di dichiarazione della POU corrente (da aprire con l'icona ToggleWS). Una dichiarazione globale viene inserita nel foglio di lavoro di dichiarazione globale che è possibile aprire facendo clic sull'icona Global Decl.. |
3 |
Specificare il tipo di dati della nuova variabile, immettere un Nome di variabile e definire le proprietà rimanenti. |
4 |
Premere OK. Risultato: la variabile viene inserita nel codice FBD/LD e la dichiarazione nel foglio di lavoro corrispondente. |
Vi sono altre possibilità per dichiarare le variabili. Per informazioni, vedere il capitolo Variables: Inserting and Declaring in EcoStruxure Machine Expert - Guida dell'utente.
Collegamento di oggetti nel codice grafico
Per tracciare linee tra parametri formali di blocco e oggetti, occorre attivare la modalità di connessione facendo clic sull'icona Collega nella barra degli strumenti dell'editor.
Facendo clic sull'icona Selezione nella barra degli strumenti dell'editor si passa dalla modalità editor a quella di selezione in cui è possibile selezionare e spostare gli oggetti.
Dichiarazione di una variabile di sicurezza per un segnale dispositivo
Il progetto di sicurezza non deve contenere moduli di sicurezza TM5/TM7 inutilizzati. Inutilizzato significa che nessuno dei segnali, elencati nel nodo dispositivo nella finestra Dispositivi di Machine Expert - Safety, sono utilizzati nel progetto di sicurezza. Occorre assegnare almeno un segnale di ogni modulo a una variabile di sicurezza globale in Machine Expert - Safety. In caso contrario, il compilatore segnala errori.
Lo stesso vale per i segnali di scambio del SLC definiti in Logic Builder (vedere la sezione Configurazione dello scambio di dati per il Safety PLC).
NOTA: la dichiarazione di una variabile di sicurezza e l'assegnazione a un segnale dispositivo senza utilizzarla nel codice è utile durante lo sviluppo del progetto in quanto rende compilabile il progetto di sicurezza. In un'applicazione pratica, occorre verificare che le variabili pertinenti vengano lette o scritte nel programma applicativo di sicurezza.
Passo |
Azione |
---|---|
1 |
In Machine Expert - Safety, aprire il foglio di lavoro delle variabili globali facendo clic sull'icona Global Decl. nella barra degli strumenti. |
2 |
Fare clic con il pulsante destro del mouse nella griglia e selezionare New Variable dal menu contestuale. Risultato: viene creata una nuova variabile con un nome predefinito (modificabile). |
3 |
Nella finestra Dispositivi, aprire la struttura dispositivi a sinistra. Espandere il nodo struttura del dispositivo il cui terminale deve essere utilizzato. |
4 |
Trascinare il segnale dispositivo da collegare nel foglio di lavoro variabili globali e rilasciarlo nella dichiarazione desiderata. Risultato: oIl Nome canale del segnale dispositivo collegato è ora visibile nella colonna Terminale della dichiarazione globale nel foglio di lavoro variabili. oIl tipo di dati della variabile globale è stato adattato al tipo di dati del segnale dispositivo assegnato. oNella finestra Dispositivi, il nome della variabile collegata è visualizzato per questo segnale dispositivo nella colonna Variabile. |
NOTA: Questa procedura consente anche di sostituire assegnazioni esistenti tra variabili globali e segnali dispositivo. Osservare i messaggi di pericolo nel capitolo Connecting/Disconnecting Process Data Items and Global I/O Variables della EcoStruxure Machine Expert - Safety - Guida dell'utente.
Per inserire una variabile dichiarata nel codice, utilizzare la finestra di dialogo Variabile che è possibile aprire con l'icona Variabile nella barra degli strumenti dell'editor. Per informazioni, vedere il capitolo Variables: Inserting and Declaring della EcoStruxure Machine Expert - Safety - Guida dell'utente.
Compilazione del progetto di sicurezza
Dopo aver completato lo sviluppo del progetto di sicurezza, è necessario compilarlo. (Una POU, se è contrassegnata con un asterisco (*) nella struttura progetto, non è ancora stata compilata dopo aver modificato variabili o codice. Dopo la corretta compilazione, l'asterisco viene rimosso.)
Passo |
Azione |
---|---|
1 |
Premere F9 o fare clic sull'icona Compila nella barra degli strumenti. |
2 |
Correggere eventuali errori rilevati dal compilatore e segnalati nella finestra di messaggio. Fare doppio clic su un messaggio di errore per passare alla posizione dell'errore sospetto. |
3 |
Dopo aver compilato il progetto senza errori, procedere con il download del progetto nel SLC. Vedere il capitolo Download dell'applicazione di sicurezza. |