Skip to main content

Regole generali per i blocchi funzionali relativi alla sicurezza

Queste regole di programmazione corrispondono alle "Regole generali per blocchi funzione correlati alla sicurezza" del PLCopen. Ciò si applica ai blocchi funzione conformi a PLCopen.

Linee guida specifiche per i blocchi funzionali

Importante

Gli FB PLCopen possono essere utilizzati solo nei programmi e nei blocchi funzionali in cui è impostata la "Chiamata singola".

Segnale predefinito

Tutti i segnali I/O booleani orientati alla sicurezza hanno il valore di sicurezza preimpostato FALSE.

Livello del segnale

Il valore SAFEBOOL può essere utilizzato solo come segue:

  • 0: Corrisponde alla sicurezza come definita per le uscite del sistema

  • 1: Significa che gli aspetti di sicurezza del sistema funzionano correttamente, tanto che è possibile, ad esempio, il normale funzionamento.

Ciò riflette la funzionalità degli ambienti IEC 61131, come le regole per il valore predefinito e che tutte le uscite sono impostate su 0 in caso di errore.

Risultati

Ogni output deve essere assegnato in ogni ciclo.

Parametri I/O mancanti

Sono consentiti parametri mancanti. Si applicano i valori predefiniti. Questi valori predefiniti non devono in nessun caso portare a uno stato non sicuro. I valori predefiniti e i loro attributi (Variable O Constant) sono specificati nei FB corrispondenti.

Comportamento di avvio

All'avvio, gli output sono impostati sui valori predefiniti. Dopo la prima chiamata FB, gli output sono validi. C'è un comportamento di avvio coerente (avvio a freddo).

Diagramma temporale

I diagrammi temporali come mostrato per i blocchi funzione sono usati solo a scopo esplicativo. Non rappresentano il comportamento temporale esatto. Il comportamento temporale esatto dipende dall'implementazione.

Gestione degli errori e diagnosi

Tutti i blocchi funzionali orientati alla sicurezza hanno due uscite relative agli errori: Error E DiagCodeVengono utilizzati per scopi diagnostici a livello utente, non per la diagnosi a livello di sistema o hardware.

Per gli ambienti orientati alla sicurezza è previsto che l'attivazione della funzione orientata alla sicurezza abbia la massima priorità e che vi sia tempo sufficiente per la diagnosi nell'attivazione successiva, sia nel programma funzionale che nell'interfaccia utente.

Parametri di input generali

Nome

Tipo di dati

Descrizione

Activate

BOOL

Variabile o costante per l'attivazione del FB

Valore iniziale: FALSE

Questo parametro può essere collegato alle variabili che rappresentano lo stato (attivo o non attivo) del dispositivo di sicurezza in questione. Ciò garantisce che non vengano generati dati di diagnosi irrilevanti quando il dispositivo viene disattivato.

FALSE: Tutte le variabili di output vengono impostate sui valori iniziali.

Se non è connesso alcun dispositivo, allora una statica TRUE il segnale deve essere assegnato.

S_<nome input orientato alla sicurezza>

SAFExxxx

Ogni nome di un input di SAFExxxx il tipo inizia con S_.

È possibile assegnare solo variabili.

S_StartReset

SAFEBOOL

Variabile o costante

Attivazione dell'avvio automatico del POU all'avvio dell'S-PLC (a caldo o a freddo).

FALSE (= valore iniziale): avvio automatico disattivato; avvio manuale tramite Reset ingresso.

TRUE: Avvio automatico

IL Note di sicurezza per S_StartReset deve essere annotato.

S_AutoReset

SAFEBOOL

Variabile o costante

Attivazione del riavvio automatico del POU

FALSE (= valore iniziale): riavvio automatico disattivato; avvio manuale tramite reset dell'ingresso.

TRUE: Riavvio automatico

IL Note di sicurezza per S_AutoReset deve essere annotato.

Reset

BOOL

Variabile

Valore iniziale: FALSE

A seconda della funzione, questo ingresso può essere utilizzato per scopi diversi.

  • Ripristino della macchina a stati e messaggi di errore e di stato associati, come visualizzato tramite DiagCode, se la causa dell'errore viene risolta. Questo comportamento di reset è progettato come reset di errore.

  • Ripristino manuale di un blocco di riavvio da parte dell'operatore. Questo ripristino è progettato come ripristino funzionale.

  • Altre funzioni di reset specifiche di FB.

Questa funzione è attiva solo per un interruttore di segnale da FALSE A TRUE. Una statica TRUE il segnale non genera più azioni, ma può essere rilevato come errore in alcuni POU.

IL Note di sicurezza per Reset devono essere rispettate.

Per ogni POU viene descritto il significato applicabile.

Note di sicurezza per S_StartReset

S_StartReset

Questo avvio automatico dovrebbe essere attivato solo se è garantito che non si verifichi alcun pericolo all'avvio dell'S-PLC. Pertanto, l'uso della funzionalità "avvio automatico" dei blocchi funzione richiede l'implementazione di altre misure di sistema o di applicazione per garantire che non si verifichi alcun avvio inaspettato (o involontario).

Attenzione

Se l'input è collegato a una variabile (e non a FALSE), è necessario definire misure di convalida aggiuntive.

Note di sicurezza per S_AutoReset

Attenzione

Il riavvio automatico dovrebbe essere attivato solo se è garantito che non ci sarà alcun possibile riavvio della macchina dopo il rilascio del pulsante di arresto di emergenza. Pertanto, l'uso della funzionalità "riavvio automatico" dei blocchi funzione richiede l'implementazione di altre misure di sistema o applicazione per garantire che non si verifichi alcun riavvio inaspettato (o involontario) della macchina.

Attenzione

Se l'input è collegato a una variabile (e non a FALSE), è necessario definire misure di convalida aggiuntive.

Note di sicurezza per Reset

Attenzione

A seconda dei requisiti di sicurezza, SAFEBOOL deve essere collegato invece di BOOL.

Parametri di output generali

Nome

Tipo di dati

Descrizione

Ready

BOOL

TRUE: Indica che il POU è attivato e che i risultati dell'output sono validi (lo stesso del LED "POWER" di un relè di sicurezza).

FALSE: Il POU non è attivo e il programma non viene eseguito. Utile in modalità debug o per attivare e disattivare POU aggiuntivi. Anche per ulteriori elaborazioni nel programma funzionale.

S_<nome output orientato alla sicurezza>

SAFExxxx

Ogni nome di un SAFExxxx il tipo inizia con S_.

Error

BOOL

Flag di errore (uguale al LED "K1/K2" di un relè di sicurezza).

TRUE: Indica che si è verificato un errore e il POU è nello stato di errore. Lo stato di errore rilevante è indicato nell'output DiagCode.

FALSE: Non c'è alcun errore e il POU è in un altro stato. Ciò è indicato anche da DiagCode produzione.

Ciò è utile in modalità debug, nonché per l'ulteriore elaborazione nel programma funzionale.

DiagCode

WORD

Registro delle diagnosi.

Tutti gli stati POU (Active, Not Active, E Error) sono mappati da questo registro. Solo il codice coerente viene visualizzato contemporaneamente. In caso di più errori, il DiagCode l'output visualizza il primo errore rilevato.

Ciò è utile in modalità debug, nonché per l'ulteriore elaborazione nel programma funzionale.

Codici diagnostici

Un concetto di diagnosi trasparente e uniforme crea la base per tutti i blocchi. Ciò assicura che le informazioni diagnostiche uniformi siano disponibili agli utenti finali sotto forma di DiagCode, indipendentemente dall'implementazione dell'utente finale. Se non ci sono errori, viene visualizzato lo stato interno del blocco (macchina a stati). Eventuali errori vengono visualizzati tramite un output binario (Error) Per informazioni più dettagliate sugli errori di blocco interni o esterni, vedere DiagCodeIl blocco deve essere ripristinato mediante vari Reset input.

Tabella 9. Intervalli di codici diagnostici generali

DiagCode

Descrizione

0000_0000_0000_0000bidone

Il POU non è attivato oppure la CPU di sicurezza è arrestata.

10xx_xxxx_xxxx_xxxxbidone

Indica che il POU attivato è in stato operativo senza errori.

X = Codice specifico POU

11xx_xxxx_xxxx_xxxxbidone

Indica che il POU attivato è in stato di errore.

X = Codice specifico POU



Tabella 10. Codici specifici del sistema o del dispositivo

DiagCode

Descrizione

0xxx_xxxx_xxxx_xxxxbidone

X = messaggio specifico del sistema o del dispositivo. Queste informazioni includono informazioni diagnostiche sul sistema o sul dispositivo.

Nota: 0000hex è riservato.



Tabella 11. Codici diagnostici generici

DiagCode

Descrizione

0000_0000_0000_0000bidone

0000esadecimale

Il POU non è attivato. Questo codice rappresenta lo stato di inattività. Come esempio generale, l'impostazione I/O potrebbe essere la seguente:

Activate = FALSE

S_In = FALSE or TRUE

Ready = FALSE

Error = FALSE

S_Out = FALSE

1000_0000_0000_0000bidone

8000esadecimale

Il blocco funzione viene attivato senza errori o altre condizioni che impostano l'uscita di sicurezza su FALSEQuesto è lo stato operativo standard in cui l'uscita di sicurezza S_Out È TRUE in funzionamento normale. Come esempio generale, gli ingressi e le uscite potrebbero essere impostati come segue:

Activate = TRUE

S_In = TRUE

Ready = TRUE

Error = FALSE

S_Out = TRUE

1000_0000_0000_0001bidone

8001esadecimale

Un'attivazione è stata rilevata dal blocco e il blocco è ora attivato. Tuttavia, il S_Out l'uscita di sicurezza è impostata su FALSE. Questo codice mostra lo stato Init della modalità operativa. Come esempio generale, gli input e gli output potrebbero essere impostati come segue:

Activate = TRUE

S_In = FALSE or TRUE

Ready = TRUE

Error = FALSE

S_Out = FALSE

1000_0000_0000-0010bidone

8002esadecimale

Il POU attivato rileva una richiesta di sicurezza (esempio: S_In = FALSE). L'uscita di sicurezza è disattivata (S_Out = FALSE). Come esempio generale, gli input e gli output potrebbero essere impostati come segue:

Activate = TRUE

S_IN = FALSE

Ready = TRUE

Error = FALSE

S_Out = FALSE

1000_0000_0000_0011bidone

8003esadecimale

L'uscita di sicurezza del POU attivo è stata disattivata da una richiesta di sicurezza. La richiesta di sicurezza è ora annullata, ma l'uscita di sicurezza rimane FALSE finché non viene rilevata una condizione di reset. Questo è uno stato operativo in cui l'uscita di sicurezza S_Out = FALSECome esempio generale, gli input e gli output potrebbero essere impostati come segue:

Activate = TRUE

S_In = FALSE => TRUE (continua con statico TRUE)

Ready = TRUE

Error = FALSE

S_Out = FALSE



Grafico di stato generico

Figura 50. Diagramma di stato generico dei FB di sicurezza
Diagramma di stato generico dei FB di sicurezza


. Spiegazione del grafico di stato generico:
  • Fornisce una panoramica generale degli stati e delle transizioni. Alcune transizioni non sono nominate, il che significa che sono specifiche di FB e devono essere assegnate al rispettivo FB.

  • Il diagramma mostra tre aree:

    • Nell'area superiore, il blocco funzione non è attivo e si trova nello stato sicuro (le uscite sicure sono FALSE).

    • Nell'area centrale, il blocco funzionale è attivo e in stato sicuro (le uscite sicure sono FALSE).

    • Nell'area inferiore, il blocco funzione è nello stato normale (le uscite sicure sono TRUE).

  • La prima linea orizzontale nel diagramma di stato mostra la transizione da un FB inattivo a un FB attivo.

  • La seconda linea orizzontale mostra la transizione da uno stato non sicuro a uno stato sicuro.

  • Le priorità delle possibili transizioni parallele sono date da numeri (priorità più alta 0).

  • Gli stati contengono il nome dello stato e il codice diagnostico esadecimale.

  • Le condizioni OR, AND, E XOR sono usati come operatori logici e NOT come negazione.

  • Nella descrizione FB, lo stato iniziale è Idle, con i passaggi ai singoli stati operativi tramite Init stato.

  • Activate = FALSE passa da ogni stato direttamente a Idle stato (0 = la priorità più alta è riservata a Activate = FALSE). Per una migliore panoramica, queste transizioni non sono mostrate in ogni diagramma di stato. Ciò è menzionato come nota a piè di pagina in ogni diagramma di stato.

  • Durante la panoramica, l'impostazione degli output non è definita nel grafico di stato. Una tabella di verità esplicita, che include le informazioni "Stati FB da emettere (output)", fa parte di ogni specifica FB con i codici di errore e statistiche specifici di FB.

Tabella 12. Codici di errore specifici di FB

DiagCode

Nome dello stato

Descrizione dello stato e impostazione dell'output

Cxxx

Error

Ready = TRUE

S_Out = FALSE

Error = TRUE



Tabella 13. Codici di stato specifici di FB (nessun errore)

DiagCode

Nome dello stato

Descrizione dello stato e impostazione dell'output

0000

Idle

Ready = FALSE

S_Out = FALSE

Error = FALSE

8001

Init stato della modalità operativa

Ready = TRUE

S_Out = FALSE

Error = FALSE

8xxx

Tutti gli stati della modalità operativa in cui S_Out = FALSE

Ready = TRUE

S_Out = FALSE

Error = FALSE

8000

Tutti gli stati della modalità operativa in cui S_Out = TRUE

Ready = TRUE

S_Out = TRUE

Error = FALSE