La funzione FC_SetWarning è una funzione ausiliaria che consente la scrittura dei messaggi di avviso nel tag di amministrazione appropriato e la loro eliminazione dallo stesso. Un avviso è identificato in modo esclusivo dal suo identificativo univoco e dal valore associato. L'identificativo e il suo valore sono specificati dal parametro di ingresso/uscita iq_stSetWarning, che corrisponde al parametro di ingresso/uscita iq_astWarnings[#].
Questa funzione non può essere utilizzata simultaneamente in più task.
Mediante l'ingresso iq_stSetWarning è possibile trasmettere alla funzione un messaggio di avviso specifico della macchina.
Mediante il parametro di ingresso/uscita iq_astWarnings, il tag di amministrazione Admin.Warning[#] deve essere trasmesso alla funzione. Rappresenta la lista degli avvisi attivi nell'unità macchina in ordine cronologico a partire dal primo avviso emesso e ancora attivo.
Se viene richiamata con l'ingresso i_xSetWarning = TRUE, la funzione verifica se il messaggio di avviso specificato è già incluso nella lista degli avvisi attivi. Se non lo è, la funzione ottiene l'RTC del controller e lo scrive, insieme al messaggio di avviso specifico, nell'elenco di avvisi attivi. Se viene raggiunto il numero massimo di messaggi nell'elenco, non vengono aggiunti nuovi messaggi.
Se la funzione viene richiamata con i_xSetWarning = FALSE, il messaggio di avviso specificato viene rimosso dall'elenco degli avvisi attivi.
Se la funzione viene richiamata con gli ingressi i_xAckWarning e i_xSetWarning = TRUE, la funzione ottiene l'RTC del controller e aggiorna il parametro (tag) AckDateTime per il messaggio di avviso specificato nella lista degli avvisi attivi. Se un avviso è stato confermato una volta, una nuova richiesta di conferma non ha alcun effetto.
Il valore restituito dalla funzione indica TRUE se l'avviso specificato è stato scritto nella lista o eliminato dalla lista oppure se è stato impostato a "confermato". Se la funzione restituisce FALSE, significa che non è stata richiesta nessuna azione oppure che è stato raggiunto il numero massimo di messaggi nella lista.
Ingresso |
Tipo di dati |
Descrizione |
---|---|---|
i_xSetWarning |
BOOL |
Richiesta di scrittura (TRUE) o di rimozione (FALSE) del messaggio specificato nella/dalla lista associata a iq_astWarnings. |
i_xWarningAck |
BOOL |
Richiesta di conferma di un avviso attivo. |
Ingresso/uscita |
Tipo di dati |
Descrizione |
---|---|---|
iq_stSetWarning |
ST_InitAlarm |
Specifica il messaggio di avviso che la funzione deve elaborare. |
iq_astWarnings |
ARRAY [1..Gc_uiMaxNumberOfWarnings] OF ST_Alarm |
Il tag di amministrazione Admin.Warning[#] deve essere associato a questo ingresso/uscita. |
iq_diNumberOfActiveWarnings |
DINT |
Indica il numero di avvisi nell'elenco. |