Diagnosi — Casi di errore
La sezione seguente descrive i possibili casi di errore e il modo in cui questi vengono gestiti in base ai valori di diagnosi:
Superamento del tempo di ciclo dell'applicazione
Se il tempo di esecuzione supera il tempo di ciclo o è prossimo al superamento del tempo di ciclo impostato, può essere avviata la diagnosi per il timeout del ciclo.
Nell'esempio seguente, il tempo di esecuzione dell'attività dell'applicazione è notevolmente inferiore al tempo di ciclo impostato. Poiché l'attività applicativa ha una priorità inferiore rispetto all'attività di ricezione di Time Provider, viene interrotta a ogni pacchetto ricevuto, il che influisce anche sul tempo di esecuzione. L'attività di comunicazione ha la priorità più bassa e viene sempre elaborata dopo l'attività dell'applicazione
![]() |
Il valore della diagnosi IEC execution time mostra il tempo minimo, massimo e medio di esecuzione dell'attività dell'applicazione sul sistema. Questo dovrebbe essere significativamente inferiore al tempo di ciclo impostato per l'applicazione.
Nel CODESYS Safe Control, il tempo di ciclo viene monitorato utilizzando i timestamp locali e i timestamp di Time Provider e, se il tempo di ciclo viene superato di oltre il 5%, verrà generato uno dei seguenti errori di eccezione:
Exception ID: 0x40000065: Exception channel 1: Plausibility check of the local timestamp interval: <interval of local timestamp> to the cycle time: <cycle time> (Deviation: <deviation>, Deviation tolerance: <maximum allowed deviation>)
Exception ID: 0x40000066: Exception channel 1: Plausibility check of the remote timestamp interval: <interval of the remote timestamp> to the cycle time: <cycle time> (Deviation tolerance: <maximum allowed deviation>)
Ritardo dell'attività di candidatura
Se l'esecuzione dell'attività dell'applicazione viene ritardata, ad esempio da un'attività con una priorità più alta, può essere attivata la diagnosi per il timeout del ciclo.
![]() |
Il valore della diagnosi IEC task jitter mostra il jitter minimo, massimo e medio dell'attività dell'applicazione sul sistema. Dovrebbe essere il più piccolo possibile in modo che l'attività dell'applicazione venga eseguita il più vicino possibile all'ora prevista
Nel CODESYS Safe Control, il tempo di ciclo viene monitorato utilizzando i timestamp locali e i timestamp Time Provider. Se il ritardo dell'esecuzione supera più del 5% del tempo di ciclo, verrà generata una delle seguenti
Exception ID: 0x40000065: Exception channel 1: Plausibility check of the local timestamp interval: <interval of local timestamp> to the cycle time: < cycle time> (Deviation: <deviation>, Deviation tolerance: <maximum allowed deviation>)
Exception ID: 0x40000066: Exception channel 1: Plausibility check of the remote timestamp interval: <interval of remote timestamp> to the cycle time: <cycle time> (Deviation tolerance: <maximum allowed deviation>)
Ritardo dei pacchetti Time Provider
Il ritardo dei pacchetti Time Provider può verificarsi in diverse posizioni del sistema:
Il Time Provider viene chiamato con un ritardo.
Il pacchetto Time Provider è in ritardo durante la trasmissione.
L'attività di ricezione del Time Provider è ritardata.
Durante il monitoraggio nel CODESYS Safe Control, tutti e tre i casi portano ai seguenti errori di eccezione:
Exception ID: 0x40000067: Exception channel 1: Plausibility check of remote timestamp interval: <interval of remote timestamp> to local timestamp interval: <interval of local timestamp> (Deviation: <deviation>, Deviation tolerance: <maximum allowed deviation>)
Ciò comporta il monitoraggio della differenza tra gli intervalli dall'ultimo pacco ricevuto.
Il valore della diagnosi TP sample interval mostra l'intervallo di tempo minimo, massimo e medio trascorso dall'ultimo pacco ricevuto. Questo viene misurato utilizzando il timestamp locale, che viene determinato ogni volta che viene ricevuto un pacchetto Time Provider. Il valore della diagnosi TP remote interval mostra lo stesso intervallo di tempo, ma questo viene misurato utilizzando i timestamp nei pacchetti Time Provider ricevuti.
Idealmente, questi valori dovrebbero differire solo leggermente l'uno dall'altro.
Supponendo una trasmissione costante, il tempo di trasmissione si annulla nella misurazione del tempo.
![]() |
Ritardo nell'esecuzione del Time Provider
Se l'esecuzione del Time Provider è ritardata, l'intervallo remoto viene prolungato per un tempo di trasmissione costante (ttx). Ciò è evidente nel valore della diagnosi aumentato o altamente fluttuante TP remote interval.
Né il tempo di trasmissione (ttx) né altri fattori in CODESYS Safe Control hanno un impatto su questo valore perché viene calcolato solo in base ai timestamp memorizzati nei pacchetti Time Provider.
Quanto più uniforme e costante è TP remote interval i valori sono tanto più affidabile è l'esecuzione del Time Provider.
Trasmissione ritardata dei pacchetti Time Provider
Se i pacchetti Time Provider subiscono ritardi durante la trasmissione, allora Local Interval viene esteso per l'esecuzione costante del Time Provider. Ciò è evidente nell'aumento del valore della diagnosi TP local interval.
Ciò include sia il percorso di trasmissione di rete che la corretta pianificazione dell'attività di ricezione del Time Provider. Il valore Local Interval viene calcolato utilizzando i timestamp locali, determinati immediatamente dopo aver ricevuto un pacchetto Time Provider.
Una situazione irregolare e molto fluttuante TP local interval il valore di diagnosi indica un problema con la trasmissione o l'assegnazione delle priorità all'attività di ricezione del Time Provider su CODESYS Safe Control.


