-->

dimanche 3 février 2019

Variables locales et globales

Variables locales et globales

Photo

Variable globale

Photo
Variables déclarées à l'extérieur de toute fonction et donc accessibles en écriture et en lecture par tous les blocs de code. Elles comportent les périphériques d' E/S, les mémoires image, les mémentos de cadence, lescompteurs, les temporisations, les constantes et les variables des blocs de données. Elles se trouvent dans la liste des variables avec déjà une adresse absolue assignée et un symbole. Elles peuvent être déclarées dans tous les blocs possibles.

Avantage
Elle simplifie l'écriture et la conception d'un programme.

Inconvénients

La compréhension ainsi que la modification après coup est plus difficile car sans l'aide des références croisées, on ne sait pas où elles sont utilisées ni comment elles sont traitées. En cas d'erreur due à une variable mal paramétrée, la recherche où la variable n'est pas adaptée est plus complexe. C'est plus difficile d'utiliser 2 fois le même programme d'un FB ou FC en changeant juste les opérandes.

Variable locale

Photo




















Variables qui ne peuvent être utilisées que dans le bloc ou la fonction dans laquelle elles sont définies. Pour les utiliser dans d'autres fonctions ou blocs fonction, récupérer la valeur de la variable dans le DB où elle est mémorisée. 

Partie déclarative

Les opérandes formels (Input=variable à lire, Output=variable à écrire, InOut=variable à lire et écrire etConstante=variable ne changeant pas d'état) de la partie déclarative sont présentées après dans des blocs d'appel. Il existe 2 types de variables locales qui ne s'affichent pas dans le bloc d'appel donc ne nécessitent pas d'opérandes actifs:
Photo
Photo
-Statique: Elles nécessitent un DB, donc il faut les définir dans un FB. Dans la partie déclarative, où sont créés les opérandes formels, elles sont définies sous Static.


-Temporaire: Elles sont gérées dans la pile d'exécution L de la CPU. Elles peuvent être traités dans FCFB,OB. Leurs valeurs restent en mémoire durant la durée de traitement du bloc concerné. Elles sont effacées après coup (allocation mémoire dynamique). Elles ne peuvent pas être utilisées, par exemple, comme variables auxiliaires pour la réponse aux fronts ou pour mémoriser un nombre cumulé de pièces dans un processus. Dansla partie déclarative, elles sont définies sous Temp.

NEXT ARTICLE Next Post
PREVIOUS ARTICLE Previous Post
Disqus
Blogger
حدد نظام التعليق الذى تريده ... وأترك تعليقك

Aucun commentaire

NEXT ARTICLE Next Post
PREVIOUS ARTICLE Previous Post
 

About

-->