Sezione: alg.Allarme
La sezione SEC alg.Alarm
descrive un allarme del modulo. Un allarme del modulo corrisponde essenzialmente ad un allarme del CODESYS gestione allarmi configurata in un gruppo allarmi. Tuttavia, un allarme del modulo contiene ancora aggiunte specifiche del modulo.
Per ulteriori informazioni, vedere il Dichiarazione del modulo capitolo e Oggetto: Gruppo Allarme
Specifica
SEC alg.Alarm //optional: yes, modifier: [UPDATE] SEC SetAlarm <alarm identifier> //optional: yes, modifier [UPDATE] Class := <class name>; //optional: no, type: ID Message := <TextlistEntry>; //optional: no, type: TextListEntry LatchVar1 := <LatchVariable1>; //optional: yes, type: InstancePath LatchVar2 := <LatchVariable2>; //optional: yes, type: InstancePath Deactivation := <DeactivationVariable>; //optional: yes, type: InstancePath PendingTime := <PendingTime>; //optional: yes, type: LiteralOrConstant PendingTimeParameter := <string> //optional: no, type: literal/string HigherPrioAlarm := <HigherPrioAlarm_ID>; //optional: yes, type: ID ModuleCalls := <ModuleCallFlags>; //optional: yes, type: ModuleCallFlag SEC Messages : <alarm identifier> //optional: yes, modifier: [UPDATE] Message := <TextlistEntry>; //optional: no, type: TextListEntry Number := <ColumnNumber>; //optional: no, type: Literal END_SEC SEC LatchVar <latch var identifier> //optional: yes, modifier [UPDATE] LatchVar := <LatchVariable>; //optional: no, type: InstancePath Number := <LatchVarNumber> //optional: no, type: LiteralOrConstant END_SEC SEC UpperLimit //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String IncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool UpperExpression := <UpperExpression>; //optional: no, type: Literal/String Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant END_SEC SEC LowerLimit //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String IncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool LowerExpression := <LowerExpression>; //optional: no, type: Literal/String Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant END_SEC SEC InsideRange //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String AreaLow := <AreaLowValue>; //optional: no, type: Literal/String LowIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool HighIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool AreaHigh := <AreaHighValue>; //optional: no, type: Literal/String Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant END_SEC SEC OutsideRange //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String AreaLow := <AreaLowValue>; //optional: no, type: Literal/String LowIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool HighIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool AreaHigh := <AreaHighValue>; //optional: no, type: Literal/String Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant END_SEC SEC Digital //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String Equal := TRUE/FALSE; //optional: no, type: FlagBool EqualsExpression := <Expression>; //optional: no, type: Literal/String END_SEC SEC Change //optional: yes, modifier: [UPDATE] Expression := <Expression>; //optional: no, type: Literal/String END_SEC SEC Event //optional: yes, modifier: [UPDATE] END_SEC END_SEC END_SEC
| Le sottosezioni di |
| Nome della classe di allarme con la quale verrà creato l'allarme. Se questa classe di allarme esiste già nell'applicazione, l'allarme verrà creato in questa classe. Se questa classe non esiste viene ricercato un oggetto template classe allarme, che deve essere presente nel file POU visualizzazione. Se non viene trovato alcun oggetto modello di classe di allarme appropriato, viene emesso un errore durante la scansione del modulo. |
| ID (del modulo Il messaggio a cui fa riferimento l'ID può contenere gli stessi segnaposto del testo in una configurazione di allarme. Ad esempio i segnaposto come Se non è possibile trovare una determinata voce dell'elenco di testi, durante la scansione viene emesso un avviso. Corrisponde a Messaggio impostazione nel Gruppo allarme oggetto. |
| Variabili segnaposto Nel caso attuale degli allarmi specifici del modulo, le variabili possono essere specificate solo direttamente dal blocco funzione del modulo (proprio come le variabili vengono specificate nella dichiarazione del modulo, ad esempio, i parametri) Corrisponde alle impostazioni Variabile di blocco 1 / Latch variabile 2 per i segnaposto |
| Variabile di disattivazione (
Se il tipo della variabile immessa non lo è Corrisponde a Disattivazione impostazione nel Gruppo allarme oggetto. |
| Tempo di attesa minimo. Definisce l'intervallo di tempo prima che l'allarme si attivi effettivamente dopo aver raggiunto i suoi limiti. Esempio: Corrisponde all'impostazione minimo tempo in sospeso nel Gruppo allarme oggetto. |
| Parametro per impostare il tempo minimo di attesa Il valore assegnato al parametro è una stringa che può essere interpretata come tempo. O anche come espressione composta da parametri del modulo e valori letterali temporali. . Esempio:
|
| ID degli allarmi con priorità più alta Per identificare l'allarme sotto il quale dovrebbe essere classificato l'allarme attuale, un ID target di a Corrisponde all'impostazione Prezzo più alto. allarme nel Gruppo allarme oggetto. |
| Per la gestione degli allarmi specifici del modulo, gli FB del modulo possono offrire interfacce specifiche che possono essere richiamate se si verifica un allarme del modulo. I flag definiscono in quali casi ciò accadrà. . Disponibile ModuleCallFlags :
Gli FB del modulo che verranno chiamati da questo flag devono implementare il file Se la |
| La sottosezione gestisce la stessa attività di
|
| Variabili di latch. In questa sezione è possibile definire fino a 10 variabili latch. Se, oltre a questa sezione,
|
| Condizioni di allarme per gli allarmi che si attivano se vengono superati i limiti superiori o inferiori. La sezione può verificarsi solo una volta sotto il
Corrisponde alle impostazioni Limite superiore / Limite inferiore per i tipi di osservazione in Gruppo allarme oggetto. |
| Condizioni di allarme per gli allarmi che si attivano se un'espressione è all'interno o all'esterno di un determinato intervallo di valori. La sezione può verificarsi solo una volta sotto il
Corrisponde alle impostazioni All'interno del raggio d'azione / Fuori portata per i tipi di osservazione in Gruppo allarme oggetto. |
| Allarme che viene generato se due espressioni vengono confrontate tra loro. La sezione può verificarsi solo una volta sotto il
Corrisponde al tipo di osservazione Digitale nel Gruppo allarme oggetto. |
| Allarme che viene lanciato se un'espressione cambia il suo valore. La sezione può verificarsi solo una volta sotto il
Corrisponde al tipo di osservazione Modifica nel Gruppo allarme oggetto. |
| Determina che la sezione dell'allarme corrente crei un allarme evento. Questo allarme può essere attivato dalla funzione |
Esempio
SEC SetAlarm : ValueRange Class := Error; Message := TL.Alarm_Temperature; LatchVar1 := rAlarmValueLow; LatchVar2 := rAlarmValueHigh; ModuleCalls := THIS | PARENTS; SEC Messages : msg2 Message := TL.msg5_Message; Number := 5; END_SEC SEC OutsideRange Expression := 'rValue'; AreaLow := 'rAlarmValueLow'; LowIncludeBorder := TRUE; HighIncludeBorder := TRUE; AreaHigh := 'rAlarmValueHigh'; END_SEC END_SEC
PendingTime
SEC alg.Alarm SEC SetAlarm : NoVar Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTimeParameter := 'NoVar'; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC SEC SetAlarm : WithVar Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTimeParameter := 'WithVar'; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC SEC SetAlarm : SimpleMath Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTimeParameter := 'WithVar - NoVar + TIME#5S'; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC SEC SetAlarm : NoParam Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTime := TIME#5S; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC END_SEC