- Manuale introduttivo
- Creare progetti
- OPC UA
- Oggetti grafici
- Oggetti grafici predefiniti
- Sessioni e impostazioni locali
- Riferimenti a oggetti e variabili
- Estensione dei progetti
- NetLogic
- Riferimento API C#
- Esercitazioni
- Esercitazione sugli allarmi
- Esercitazione sui collegamenti dinamici
- Esercitazione sugli oggetti grafici
- Esercitazione sui logger
- Esercitazione sulle NetLogic
- Esercitazione su OPC UA
Costruttore: PeriodicTask(action, periodMilliseconds, excutingNode)
Un'attività
PeriodicTask
esegue codice a intervalli di tempo regolari.PeriodicTask(Action action, int periodMilliseconds, IUANode executingNode);
Argomenti
- action(Action)
- Il metodo o l'espressione lambda da eseguire.
- periodMilliseconds(int)
- Il tempo tra le esecuzioni del metodo o dell'espressione lambda.SUGGERIMENTO:Vedere l'esempio riportato di seguito:
- L'argomentoperiodMillisecondsè impostato su 1000 ms.
- PeriodicTask esegue un metodo che impiega 500 ms per essere completato.
- PeriodicTask viene eseguito ogni 1500 ms (valoreperiodMilliseconds+ tempo di esecuzione del metodo).
- executingNode(IUANode)
- Il nodo in cui viene eseguito il codice.
Esempio
L'attività
myPeriodicTask
esegue il metodo IncrementVariable()
ogni secondo (1.000 millisecondi). Il metodo incrementa il valore della variabile variable1
di un'unità ogni volta che viene eseguito.public override void Start() { myPeriodicTask = new PeriodicTask(IncrementVariable, 1000, LogicObject); myPeriodicTask.Start(); } public override void Stop() { myPeriodicTask.Dispose(); } private void IncrementVariable() { variable1.Value = variable1.Value + 1; } private PeriodicTask myPeriodicTask;
SUGGERIMENTO:
In questo esempio il metodo
IncrementVariable()
non ha un argomento PeriodicTask
perché la semplicità del codice non richiede l'annullamento dell'attività.Fornire un feedback