Operatori
Le funzioni standard integrate che rappresentano un sottoinsieme delle funzioni IEC standard sono chiamate operatori. Le funzioni definite dall'utente non possono essere create nella programmazione di sicurezza.
Gli operatori hanno la stessa semantica di CODESYS Standard.
Possono essere collegati ad entrambi SAFExxx E Tipi di dati Standard.
Inserimento degli operatori
Gli operatori vengono inseriti utilizzando il Inserisci la casella O Inserisci casella vuota comando.
Gli operatori possono anche essere aggiunti dalla casella degli strumenti in Cassetta degli attrezzi visualizza. La casella degli strumenti nell'Editor FBD di sicurezza contiene le seguenti categorie:
Operatori booleani
Operatori matematici
Altri operatori
Assistente di input
Nell'Assistente di immissione vengono visualizzate le seguenti categorie per gli operatori:
Operatori
Conversioni (non nel livello base)
Operatori estensibili
ANDORADD(solo nel livello esteso)MUL(solo nel livello esteso)MUX(solo nel livello esteso)
IL EQ, LT, LE, GT, E GE Gli operatori, anch'essi estensibili secondo IEC, possono essere utilizzati solo con due ingressi (come nel caso dello standard).
IL Inserisci input Il comando aggiunge un ulteriore input a una casella operatore estensibile.
Operatori nel livello base
AND(2 ingressi)AND(3 ingressi)OR(2 ingressi)OR(3 ingressi)
Tutti gli operandi del OR deve essere SAFEBOOL.
Operatori nel livello esteso
AND(2 ingressi)AND(3 ingressi)OR(2 ingressi)OR(3 ingressi)XORNOT
Importante
L'uso negligente dell' XOR E NOT gli operatori possono portare alla perdita della proprietà di sicurezza SAFExxx variabili. Nessun avviso viene generato dal verificatore di sicurezza per tali costrutti.
IL XOR E NOT gli operatori possono negare la proprietà di sicurezza di un SAFExxx variabile, in modo che il SAFE variabile perde la sua proprietà fail-safe, cioè diventa "non-fail-safe". Ciò può portare all'avvio involontario dell'impianto.
Regola di programmazione: La SAFExxx uscite di NOT E XOR devono essere determinati. Successivamente, bisogna assicurarsi che questi NOT/XOR le uscite non sono collegate tramite uscite (I/O).
ADD(2 input): AritmeticaADDoperatoreADD(3 ingressi): Aggiunta con tre ingressiSUB: SottrazioneMUL: MoltiplicazioneDIV: DivisionEQ: Confronto per uguaglianzaNE: Confronto per disuguaglianzaLT: Confronto per "meno di"LE: Confronto per "minore di" o "uguale a"GT: Confronto per "maggiore di"GE: Confronto per "maggiore di" o "uguale a"
SELMUX
BOOL_TO_INTBOOL_TO_DINTBOOL_TO_TIMEBOOL_TO_WORDBYTE_TO_INTBYTE_TO_DINTBYTE_TO_TIMEBYTE_TO_WORDDINT_TO_BOOLDINT_TO_BYTEDINT_TO_INTDINT_TO_TIMEDINT_TO_WORDDINT_TO_DWORDDWORD_TO_DINTDWORD_TO_TIMEINT_TO_BOOLINT_TO_BYTEINT_TO_DINTINT_TO_DWORDINT_TO_TIMEINT_TO_WORDTIME_TO_BOOLTIME_TO_BYTETIME_TO_INTTIME_TO_DINTTIME_TO_WORDTIME_TO_DWORDWORD_TO_BOOLWORD_TO_BYTEWORD_TO_DINTWORD_TO_INTWORD_TO_TIMEWORD_TO_DWORD
Operatori con caratteristiche di sicurezza
Le caratteristiche specifiche di alcuni operatori sono descritte nelle sezioni seguenti
Errore di runtime in caso di superamento del limite massimo dell'operatore nel livello esteso
Errore di runtime in caso di superamento del limite massimo dell'operatore nel livello esteso
Importante
È responsabilità degli sviluppatori progettare la logica del programma in modo che non si verifichino errori in fase di esecuzione.
Reagisce ai seguenti sovraccarichi con un errore di runtime, a seguito della quale l'applicazione viene arrestata e viene generata una voce di registro.
Livello | Elemento linguistico | Errore di runtime in caso di |
|---|---|---|
Esteso |
| Divisione per 0 |
Esteso |
| Chiamata con primo input con valore negativo o con valore N maggiore del numero di input meno 1. Esempio: |
Esteso |
| Il valore di output non è compreso nell'intervallo di valori del tipo di destinazione: durante la conversione tra due
allo stesso modo
|
Suggerimento
Il comportamento standard di SEL/MUX (vale a dire che viene selezionato il valore massimo se il valore di input è troppo grande e viene selezionato 0 se il valore di input è negativo) deve essere programmato nell'applicazione di sicurezza.
SEL: per k<0
SEL: per k>max, n...valore massimo
MUX per k<0
MUX per k>0