Skip to main content

Esempio di programmazione per il livello base

L'esempio "Controllo a due mani con EDM" dal documento "PLCopen – Comitato tecnico 5 Specifiche tecniche del software di sicurezza Parte 2: Esempi utente Versione 1.01 – Rilascio ufficiale" viene utilizzato come CODESYS Safety Extension esempio di programmazione per un programma di livello base e illustrato come CODESYS Safety Extension Implementazione FBD.

Suggerimento

Per maggiori informazioni sulla programmazione nel livello base, vedere il documento "PLCopen - Comitato tecnico 5 Software di sicurezza".

Descrizione funzionale delle funzioni di sicurezza

In questo esempio vengono utilizzate le seguenti funzioni di sicurezza:

  • Quando si preme il pulsante di arresto di emergenza, tutti i movimenti pericolosi devono essere arrestati (tramite SF_EmergencyStop)

    L'arresto di emergenza ha la massima priorità. Dopo aver rilasciato il EStop pulsante, è necessario un reset tramite reset S0.

  • L'uscita di sicurezza viene attivata premendo entrambi i pulsanti del controllo bimanuale. Il rilascio di uno qualsiasi dei pulsanti bimanuali disattiva l'uscita di sicurezza e arresta il movimento pericoloso tramite i dispositivi di commutazione K1 E K2 (tramite SF_TwoHandControlTypeII)

  • Lo stato di base e lo stato operativo dei dispositivi di commutazione collegati vengono monitorati. Se viene rilevato un errore, l'uscita di sicurezza non può diventare operativa. (tramite SF_EDM)

  • Dopo l'attivazione dell'applicazione di sicurezza o funzionale, oppure dopo una condizione di arresto di emergenza, il controllo a due mani deve essere rilasciato e azionato nuovamente per riattivare l'uscita di sicurezza (tramite SF_OutControl). Per garantire questo per il riavvio funzionale, il segnale di processo dell'applicazione funzionale viene collegato al Activate input del comando a due mani FB THC_S2_S3(Se il processo di applicazione viene riavviato mentre è attivato il controllo a due mani, il dispositivo passa allo stato C0003, che segnala l'errore perché entrambi i pulsanti sono premuti quando vengono attivati e impedisce il riavvio.)

In questo esempio esiste un solo stato operativo.

Figura 123. Dichiarazione di variabili per esempio di programmazione: Controllo a due mani con EDM
Dichiarazione di variabili per esempio di programmazione: Controllo a due mani con EDM


Figura 124. Implementazione per esempio di programmazione: Controllo a due mani con EDM
Implementazione per esempio di programmazione: Controllo a due mani con EDM


Tabella 105. Ingressi:

Nome

Tipo di dati

Descrizione

S1_S_EStopIn

SAFEBOOL

Pulsante di arresto di emergenza S1

S2_S_Switch1

SAFEBOOL

Interruttore S2 collegato al pulsante 1 del comando a due mani

S3_S_Switch2

SAFEBOOL

Interruttore S3 collegato al pulsante 2 del comando a due mani

K1_S_EDM1

SAFEBOOL

Dispositivo di feedback esterno K1

K2_S_EDM2

SAFEBOOL

Dispositivo di feedback esterno K2

S0_Reset

BOOL

Reimpostato dallo sviluppatore con l'interruttore S0 (derivato dall'applicazione funzionale)

Process

BOOL

Rilascio del movimento da parte del processo (derivato dall'applicazione funzionale)



Tabella 106. Risultati:

Nome

Tipo di dati

Descrizione

S_EDM_Out_EDM_K1_K2

SAFEBOOL

Controlla l'attuatore tramite K1 E K2

Error_EStop_S1

BOOL

Segnalazione di errore di EStop_S1

Error_THC_S2_S3

BOOL

Segnalazione di errore di THC_S2_S3

Error_OC_K1_K2

BOOL

Segnalazione di errore di OC_K1_K2

Diag_EStop_S1

WORD

Codice diagnostico per EStop_S1,

16#8xxx: Funzionamento regolare,

16#Cxxx in caso di errore in EStop_S1

Diag_THC_S2_S3

WORD

Codice diagnostico per THC_S2_S3,

16#8xxx: Funzionamento regolare,

16#Cxxx in caso di errore in THC_S2_S3

Diag_OC_K1_K2

WORD

Codice diagnostico per OC_K1_K2,

16#8xxx: Funzionamento regolare,

16#Cxxx in caso di errore in OC_K1_K2



Note aggiuntive

Questo esempio può essere utilizzato anche con SF_TwoHandControlTypeIII.

L'input di Attivare è stato impostato su TRUE per semplicità. Questo può essere sostituito da una variabile nell'applicazione.

Tabella 107. Informazioni sui parametri FB utilizzati

Blocco funzione

Ingresso

Valore costante

Descrizione

EStop_S1

S_StartReset

FALSE

Nessun reset automatico all'avvio dell'S-PLC.

S_AutoReset

FALSE

Nessun reset automatico, reset/conferma da parte dello sviluppatore necessaria

OC_K1_K2

S_StartReset

TRUE

Il ripristino automatico è consentito all'avvio dell'S-PLC.

S_AutoReset

TRUE

Ripristino automatico, nessun ripristino/conferma necessaria da parte dello sviluppatore

Static Control

FALSE

Dopo l'attivazione del blocco funzione o di una funzione di sicurezza attivata viene richiesta una modifica dinamica del segnale Appl_Control (fronte di salita) (S_SafeControl A FALSE)

EDM_K1_K2

S_StartReset

FALSE

Nessun reset automatico all'avvio dell'S-PLC.

MonitoringTime

T#200ms

Il tempo massimo di risposta dei due segnali di feedback

S_EDM1 E S_EDM2