L'esempio seguente illustra il comportamento temporale di un programma SFC, i relativi flag di passo associati e alcune variabili booleane impostate direttamente nel campo dell'associazione azioni e in azioni o transizioni. In particolare, l'esempio illustra il significato dei qualificatori di azione.
Step1 è stato allocato a:
una variabile booleana bVarStep1_P con un qualificatore di azione di impulso P, il quale viene impostato su TRUE soltanto nella prima scansione di Step1
una variabile booleana bVarStep1_S_R con un qualificatore di azione di mantenimento S che viene impostata su TRUE durante Step1 e resta TRUE al termine di Step1 finché non viene esplicitamente resettato su FALSE in Step3
una variabile booleana bVarStep1_N con il qualificatore di non mantenimento predefinito N, il quale è TRUE soltanto durante l'esecuzione del passo
un programma azione Action1 con il qualificatore di azione predefinito N, il quale viene eseguito mentre Step 1 è attivo.
In questa azione:
bVarAction1_N è TRUE o FALSE a seconda del flag di passo Step1.X, il quale è TRUE durante l'esecuzione di Step1 e FALSE nell'ultima scansione di Step1. Nota: Il suo comportamento non è identico a bVarStep1_N.
bVarAction1_S viene impostato su TRUE durante l'esecuzione di Step1 e mantiene il suo valore al termine di Step1.
A Step2 non è stata allocata alcuna azione.
A Step3 è stata allocata una variabile booleana bVarStep1_S_R con il qualificatore di reset R, il quale resetta la variabile nella prima scansione del passo.
una scansione del PLC |
![]() |
passi e transizioni |
azioni |
Utilizzate un flag di passo per verificare che un passo sia stato sottoposto a scansione per l'ultima volta dopo che la condizione di transizione seguente è passata a TRUE. In questo caso il valore del flag di passo è FALSE.
Utilizzate la variabile di sistema sys_bIsFirstScanOfSfcStep per verificare che un passo sia stato sottoposto a scansione per la prima volta. La variabile deve essere TRUE.