Calcolo dell'utilizzo dello stack
L'utilizzo dello stack per POU viene visualizzato nella Configurazione delle attività oggetto su Utilizzo dello stack scheda.
L'utilizzo dello stack viene calcolato staticamente da CODESYS utilizzando l'albero delle chiamate statico.
Nel calcolo è incluso quanto segue:
Il calcolo inizia con il POU implicito per l'immissione dell'attività.
Per ogni chiamata al programma IEC (ad es.
PLC_PRG
), l'utilizzo dello stack di ogni POU IEC chiamato viene calcolato in modo ricorsivo. L'utilizzo massimo possibile dello stack di una POU viene aggiunto al proprio utilizzo dello stack locale per determinare l'utilizzo massimo dello stack delPer le chiamate dinamiche, l'utilizzo dello stack viene calcolato come segue: viene determinato l'utilizzo dello stack di tutte le possibili implementazioni e si presume l'utilizzo massimo dello stack. Ciò significa che vengono prese in considerazione tutte le possibili implementazioni per i metodi di interfaccia e tutte le possibili sovrascritture per i metodi a blocchi funzionali
Il valore specificato dal dispositivo di destinazione viene assunto per le chiamate esterne. Se il dispositivo non ha specificato un valore, si presume 0.
In caso di ricorsione, il calcolo viene interrotto. Il valore dell'attributo type pragma estimated-stack-usage viene applicato per il codice chiamato ricorsivamente. Se non viene specificato alcun valore, viene assunto 0
L'utilizzo dello stack è quindi solo una stima. Potrebbe essere troppo alto perché il percorso di chiamata più basso presunto non viene mai eseguito in fase di esecuzione. Tuttavia, può anche essere troppo basso perché le ricorsioni o le chiamate esterne sono stimate

Visualizzazione dell'utilizzo dello stack
Fate doppio clic su Configurazione dell'attività oggetto.
Si apre l'editor di configurazione delle attività.
Fare clic Costruisci → Genera codice comando.
Fai clic su Utilizzo dello stack scheda.
Le informazioni nella scheda vengono aggiornate.
Sotto Stack massimo di attività/chiamate, le POU chiamate in sequenza vengono visualizzate come presunte nello stack massimo di chiamate. La dimensione dello stack calcolata per la POU viene visualizzata nel Dimensione dello stack colonna.
Se la dimensione dello stack è visualizzata in rosso, potrebbe esserci un overflow dello stack nel rispettivo POU. È possibile riconoscere il POU in cui è necessario apportare modifiche. Questo è il primo POU contrassegnato in rosso nello stack delle chiamate
