Skip to main content

Regole generali per i blocchi funzione relativi alla sicurezza

Queste regole di programmazione corrispondono alle "Regole generali per i blocchi funzione relativi alla sicurezza" di PLCopen. Si applicano ai blocchi funzione conformi a PLCopen.

Regole specifiche del blocco funzione

Importante

Quando si utilizzano i blocchi funzione PLCopen, l'utente deve assicurarsi che nell'applicazione il blocco funzione venga richiamato almeno una volta in ogni ciclo.

Segnale predefinito

Tutti i segnali I/O booleani di sicurezza hanno il valore di sicurezza predefinito FALSE.

Livello del segnale

Il valore di SAFEBOOL è applicabile solo come segue:

  • 0: Corrisponde alla sicurezza definita alle uscite del sistema

  • 1: Significa che gli aspetti di sicurezza del sistema funzionano correttamente in modo che, ad esempio, sia possibile il normale funzionamento

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

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. Valori predefiniti, inclusi i relativi attributi (Variable oder Constant), sono specificati nelle specifiche FB pertinenti.

Inizia il comportamento

Inizialmente, le uscite sono impostate sui valori predefiniti. Dopo il primo richiamo del blocco funzione, le uscite sono valide. È presente un comportamento di avvio coerente (avvio a freddo).

Diagrammi temporali

I diagrammi di temporizzazione, come mostrato negli FB, sono forniti solo a scopo esplicativo. Non rappresentano l'esatto comportamento temporale. L'esatto comportamento temporale dipende dall'implementazione.

Gestione e diagnostica degli errori

Tutti i blocchi funzione di sicurezza dispongono di due uscite relative agli errori: Error e DiagCode. Questi sono forniti a scopo diagnostico a livello di applicazione utente e non per la diagnostica a livello di sistema o hardware.

La regola per gli ambienti di sicurezza è che la commutazione di una funzione di sicurezza ha la massima priorità. Inoltre, la commutazione successiva deve avere un tempo sufficiente per la diagnostica, nel programma funzionale o nell'interfaccia operatore.

Parametri di input generali

Nome

Tipo di dati

Descrizione

Activate

BOOL

Variabile o costante per l'attivazione di un FB

Il valore iniziale è FALSE

Questo parametro può essere collegato alla variabile, che rappresenta lo stato (attivo o non attivo) del relativo dispositivo di sicurezza. Ciò garantisce che non vengano generate informazioni diagnostiche irrilevanti se un dispositivo è disabilitato.

FALSE: tutte le variabili di uscita sono impostate sul valore iniziale.

Se nessun dispositivo è connesso, allora un dispositivo statico TRUE il segnale deve essere assegnato.

S_<nome ingresso relativo alla sicurezza>

SAFExxxx

Ogni SAFExxxx digitare il nome di input inizia con S_.

Possono essere assegnate solo variabili.

S_StartReset

SAFEBOOL

Variabile o costante

FALSE (valore iniziale): Reset automatico disattivato; reset manuale tramite Reset ingresso

TRUE: Ripristino automatico all'avvio del controller di sicurezza (caldo o freddo)

Notare la Avvisi di sicurezza per S_StartReset.

S_AutoReset

SAFEBOOL

Variabile o costante

FALSE (valore iniziale): Reset automatico disattivato; reset manuale tramite Reset ingresso quando l'interruttore di arresto di emergenza viene rilasciato.

TRUE: Ripristino automatico al rilascio dell'interruttore di arresto di emergenza.

Notare la Avvisi di sicurezza per S_AutoReset.

Reset

BOOL

Variabile. Il valore iniziale è FALSE

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

  • Reset della macchina a stati e messaggi di errore e di stato accoppiati come indicato tramite DiagCode, quando la causa dell'errore è stata rimossa. Questo comportamento di ripristino è progettato come ripristino di un errore.

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

  • Ulteriori funzioni di reset specifiche per FB

Questa funzione è attiva solo al cambio di segnale da FALSE a TRUE. Uno statico TRUE signal non provoca più azioni, ma può essere rilevato come errore in alcuni blocchi funzione.

Notare la Avvisi di sicurezza per Reset.

Il significato appropriato deve essere descritto in ogni blocco funzione.

Avvisi di sicurezza per S_StartReset

S_StartReset

Questo avviamento automatico deve essere attivato solo se è assicurato che nessun pericolo possa verificarsi all'avvio del controllore di sicurezza. Pertanto, l'utilizzo della funzione di "avvio automatico" dei blocchi funzione richiede l'implementazione di altre misure di sistema o applicative. Ciò deve garantire che non si verifichi un avvio imprevisto (o non intenzionale).

Attenzione

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

Avvisi di sicurezza per S_AutoReset

Attenzione

Il riavvio automatico deve essere attivato solo se è assicurato che nessun riavvio della macchina possa avvenire tramite il rilascio del pulsante di arresto di emergenza. Pertanto, l'utilizzo della funzione di "riavvio automatico" dei blocchi funzione richiede l'implementazione di altre misure di sistema o applicative. Ciò deve garantire che non si verifichi un riavvio imprevisto (o non intenzionale) della macchina.

Attenzione

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

Avvisi di sicurezza per Reset

Attenzione

UN SAFEBOOL deve essere collegato invece di a BOOL a seconda dei requisiti di sicurezza. Vedere anche: Blocco funzione: SF_ResetButton.

Parametri di uscita generali

Nome

Tipo di dati

Descrizione

Ready

BOOL

TRUE: Indica che il blocco funzione è attivato e che i risultati dell'uscita sono validi (come il LED "POWER" di un relè di sicurezza).

FALSE: Il blocco funzione non è attivo e il programma non viene eseguito. Utile in modalità debug o per attivare/disattivare blocchi funzione aggiuntivi. Utile anche per ulteriori elaborazioni nel programma funzionale.

S_<nome dell'uscita di sicurezza>

SAFExxxx

Ogni SAFExxxx il nome dell'output del tipo di dati inizia con S_.

SafetyDemand

BOOL

Uscita che indica che l'FB è attivo e che è richiesta la funzione di sicurezza primaria (ad es. relativa alla funzionalità di sicurezza). Non vengono presi in considerazione altri parametri di ingresso relativi alla sicurezza (ad es SafetyActive e EDM). Il circuito di sicurezza non è chiuso ed è richiesto lo stato sicuro per la relativa uscita di sicurezza. Non c'è nessun errore.

TRUE: Richiesta di sicurezza

FALSE: Nessuna richiesta di sicurezza

ResetRequest

BOOL

Uscita che può essere utilizzata per segnalare all'operatore di premere la funzionalità di ripristino per continuare

TRUE: Richiesto reset operatore

FALSE: Reset operatore non richiesto

Error

BOOL

Flag di errore (uguale al LED "K1/K2" di un dispositivo di sicurezza)

TRUE: Quando TRUE, indica che si è verificato un errore e l'FB è in uno stato di errore. Lo stato di errore rilevante è rispecchiato in DiagCode produzione.

FALSE: indica che non ci sono errori e che l'FB è in un altro stato. Questo è di nuovo rispecchiato da DiagCode.

Utile in modalità debug così come per ulteriori elaborazioni nel programma funzionale.

DiagCode

WORD

Registro diagnostico

Tutti gli stati dell'FB (Active, Not Active, e Error) sono rappresentati da questo registro. Queste informazioni sono codificate in formato esadecimale per rappresentare più di 16 codici. Viene rappresentato un solo codice coerente alla volta. In caso di errori multipli, il DiagCode output indica il primo errore rilevato.

Utile in modalità debug così come per ulteriori elaborazioni nel programma funzionale.

Codici diagnostici

Un concetto diagnostico trasparente e unico costituisce la base di tutti i blocchi funzione. Pertanto, è garantito che, indipendentemente dall'implementazione del fornitore, informazioni diagnostiche uniformi siano disponibili per l'utente sotto forma di DiagCode. Se non è presente alcun errore, viene indicato lo stato interno del blocco funzione (macchina a stati). Un errore viene segnalato tramite un'uscita binaria (Error). Informazioni dettagliate sugli errori dei blocchi funzione interni o esterni possono essere ottenute tramite DiagCode. Il blocco funzione deve essere ripristinato tramite i diversi ingressi di ripristino.

Tabella 4. Codici diagnostici generici

DiagCode

Descrizione

0000_0000_0000_0000 bidone

0000 esadecimale

L'FB non è attivato. Questo codice rappresenta lo stato Idle. Per un esempio generico, l'impostazione I/O per potrebbe essere:

Activate = FALSE

S_In = FALSE o TRUE

Ready = FALSE

Error = FALSE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = FALSE

1000_0000_0000_0000 bidone

8000 esadecimale

L'FB viene attivato senza errori o altre condizioni che impostano l'uscita di sicurezza su FALSE. Questo è lo stato operativo predefinito in cui il S_Out uscita di sicurezza = TRUE nel normale funzionamento. Per un esempio generico, l'impostazione I/O per potrebbe essere:

Activate = TRUE

S_In = TRUE

Ready = TRUE

Error = FALSE

S_Out = TRUE

SafetyDemand = FALSE

ResetRequest = FALSE

1000_0100_0000_0001 bidone

8401 esadecimale

È stata rilevata un'attivazione dall'FB e l'FB è ora attivato, ma il S_Out l'uscita di sicurezza è impostata su FALSE. Questo codice rappresenta lo stato Init della modalità operativa. Per un esempio generico, l'impostazione I/O per potrebbe essere:

Activate = TRUE

S_In = TRUE

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = TRUE

1000_1000_0000_0010 bidone

8802 esadecimale

L'FB attivato rileva una richiesta di sicurezza, ad es S_In = FALSE. L'uscita di sicurezza è disabilitata (S_Out = FALSE). Per un esempio generico, l'impostazione I/O per potrebbe essere:

Activate = TRUE

S_IN = FALSE

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = TRUE

ResetRequest = FALSE

1000_0100_0000_0011 bidone

8403 esadecimale

L'uscita di sicurezza dell'FB attivato è stata disabilitata da una richiesta di sicurezza. La richiesta di sicurezza è ora ritirata, ma l'uscita di sicurezza rimane FALSE fino a quando non viene rilevata una condizione di ripristino. Questo è uno stato operativo in cui il S_Out uscita di sicurezza = FALSE. Per un esempio generico, l'impostazione I/O per potrebbe essere:

Activate = TRUE

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

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = TRUE ==> FALSE

ResetRequest = FALSE ==> TRUE



Tabella 5. Codici specifici del sistema o del dispositivo

DiagCode

Descrizione

0xxx_xxxx_xxxx_xxxx bidone

X = messaggio specifico del sistema o del dispositivo. Queste informazioni contengono le informazioni diagnostiche per il sistema o il dispositivo e sono mappate direttamente su DiagCode produzione.

Nota: 0000 esadecimale è riservato.



Diagramma di stato generico

Figura 9. Diagramma di stato generico degli FB di sicurezza
Diagramma di stato generico degli FB di sicurezza


. Spiegazione del diagramma di stato generico:
  • Viene visualizzata una panoramica generale degli stati e delle transizioni. Alcune transizioni non sono nominate qui. Ciò significa che sono specifici dell'FB e sono descritti con i relativi FB.

  • Il diagramma mostra tre aree:

    • In alto, l'FB non è attivo. È nello stato sicuro (le uscite sicure sono FALSE).

    • Nel mezzo, l'FB è attivo. È nello stato sicuro (le uscite sicure sono FALSE).

    • Nella parte inferiore, l'FB è nello stato normale. Le uscite sicure sono TRUE.

  • La prima linea orizzontale nel diagramma di stato mostra il passaggio da un FB non attivo a un FB attivo.

  • La seconda linea orizzontale mostra il passaggio da uno stato non sicuro a uno stato sicuro dell'FB.

  • Le priorità di possibili transizioni parallele sono indicate da numeri (0 = priorità massima).

  • Le bolle di stato contengono il nome dello stato e il DiagCode esadecimale.

  • Condizioni OR, AND, e XOR sono usati come operatori logici e NOT è usato come negazione.

  • All'interno della descrizione dell'FB, lo stato iniziale è Idle, con le transizioni agli stati operativi tramite il Init stato.

  • Il passaggio da qualsiasi stato dovuto a Activate = FALSE modifiche direttamente al Idle stato (0 = massima priorità riservata a Activate = FALSE). Per maggiore chiarezza, queste transizioni non sono mostrate in ogni diagramma di stato. Ma sono menzionati come nota a piè di pagina in ogni diagramma di stato.

  • Per ragioni di chiarezza, l'impostazione dell'uscita non è descritta nel diagramma di stato. Una tabella di verità esplicita contenente gli stati delle uscite FB fa parte di ciascuna specifica FB. Vengono inoltre descritti i codici di stato e di errore specifici dell'FB.

  • Nota da cui passare 8xx0 a 0000: Alcune applicazioni (come le presse) necessitano di finalizzare il proprio ciclo senza correre alcun rischio. In tal caso, la transizione può essere ritardata.

Tabella 6. Codici di errore specifici dell'FB

DiagCode

Nome dello stato

Descrizione dello stato e impostazione dell'uscita

Cxxx

Error

Ready = TRUE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = FALSE

Error = TRUE



Tabella 7. Codici di stato specifici dell'FB (nessun errore)

DiagCode

Nome dello stato

Descrizione dello stato e impostazione dell'uscita

0000

Idle

Ready = FALSE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = FALSE

Error = FALSE

8xxx

Stato di inizializzazione e tutti gli stati delle modalità operative dove S_Out = FALSE

Ready = TRUE

S_Out = FALSE

SafetyDemand = A seconda

ResetRequest = A seconda

Error = FALSE

8000

Tutti gli stati della modalità operativa dove S_Out = TRUE

Ready = TRUE

S_Out = TRUE

ResetDemand = FALSE

ResetRequest = FALSE

Error = FALSE