Skip to main content

Attribut : call_after_global_init_slot

Important

VAR_INPUT les déclarations dans les fonctions ou les méthodes qui utilisent l'attribut entraînent des erreurs de compilation. Raison : Les variables d'entrée sont dans ce cas inconnues au moment de l'appel, qui se produit implicitement lors du changement en ligne.

Important

Les fonctions marquées avec cet attribut ne seront exécutées que si elles ont été compilées et téléchargées sur le contrôleur.

Si votre fonction n'est appelée nulle part ailleurs dans votre projet, le compilateur peut exclure la fonction de la compilation. Pour vous assurer que la fonction est toujours compilée et disponible pour l'exécution, ajoutez le pragma {attribute 'linkalways'} à la déclaration de fonction.

Vous pouvez également activer le Lien toujours option dans la boîte de dialogue des propriétés de la fonction sur le Construisez onglet.

Sans cette option, votre fonction d'initialisation risque de ne pas fonctionner, même si elle semble être correctement configurée.

L'effet de ce pragma est que toutes les fonctions et tous les programmes décorés de cette manière sont appelés après l'initialisation globale. Vous définissez l'ordre d'appel au moyen de la valeur d'attribut.

Si l'attribut est défini dans une méthode, toutes les instances du bloc fonctionnel parent sont déterminées. Toutes les instances sont appelées dans le slot spécifié. Dans ce cas, vous n'avez aucune influence sur l'ordre des instances entre elles.

Syntaxe:

{attribute 'call_after_global_init_slot' := '<slot>'}

Emplacement d'insertion

Première ligne au-dessus de la partie déclaration des fonctions et des programmes

<slot>

Valeur entière qui définit le classement dans l'ordre des appels

Plus la valeur est faible, plus l'appel est effectué tôt. Si plusieurs blocs fonction ont le même rang pour l'attribut, alors l'ordre de leurs appels reste indéfini.

Pour plus d'informations, voir : Global Init Slots