utiliser des pragmatiques
pragmatique dans CODESYS
Un texte dans le code source de l'application qui est entouré d'accolades est considéré comme un pragma. Les pragmas sont utilisés pour insérer des instructions spéciales dans le code que le compilateur peut évaluer. Un pragma peut ainsi influencer les propriétés d'une ou plusieurs variables vis-à-vis de la précompilation ou de la compilation (génération de code). Les pragmas que le compilateur ne connaît pas sont ignorés comme un commentaire.
La chaîne d'instructions d'un pragma peut également avoir plusieurs lignes.
Pour plus de détails sur la syntaxe, veuillez consulter les descriptions de chaque CODESYS-Pragmas.
Il existe des pragmas pour différents effets : initialisation d'une variable, surveillance d'une variable, ajout d'une variable à la configuration du symbole, forçage de la sortie d'un message lors du processus de compilation, comportement d'une variable sous certaines conditions, etc.
Important
Les majuscules et les minuscules doivent être respectées.
{warning 'This is not allowed'} {attribute 'obsolete' := 'datatype fb1 not valid!'} {attribute 'Test':='TestValue1; TestValue2; TestValue3'}
Positions d'insertion possibles
Important
pragmatiques dans CODESYS ne sont pas des implémentations individuelles des directives du préprocesseur C. Vous devez positionner un pragma comme une instruction normale. Vous ne devez pas utiliser de pragma dans une expression.
Un pragma que le CODESYScompilateur doit évaluer, vous pouvez insérer dans les positions suivantes :
Dans la partie déclaration d'un bloc de programmation :
Dans l'éditeur de déclaration textuelle, vous saisissez directement les pragmas en ligne(s), soit en début de bloc, soit avant une déclaration de variable.
Dans l'éditeur tabulaire, vous entrez les pragmas qui doivent apparaître au-dessus de la première ligne de déclaration dans la boîte de dialogue Modifier la partie déclaration / les attributs un.
Dans une liste de variables globales
Dans la partie implémentation d'un bloc de programmation :
Le pragma doit être en "position d'instruction", c'est-à-dire au début d'un bloc de programmation sur une ligne distincte, ou après un "
;
" ouEND_IF
,END_WHILE
Etc.Éditeur FBD/LD/STL : Entrez des pragmas dans les réseaux de l'éditeur FBD/KOP/STL comme une étiquette de saut : Pour cela, sélectionnez la commande Étiquettes: dans le champ de texte de l'étiquette avec l'instruction pragma appropriée. Si vous souhaitez utiliser un pragma en plus d'une étiquette de saut, saisissez d'abord le pragma, puis l'étiquette de saut.
. Remplacez ensuite le texte par défaut
PAS CORRECTE:
{IF defined(abc)} IF x = abc THEN {ELSE} IF x = 12 THEN {END_IF} y := {IF defined(cde)} 12; {ELSE} 13; {END_IF} END_IF
CORRECT:
{IF defined(abc)} IF x = abc THEN {IF defined(cde)} y := 12; {ELSE} y := 13; {END_IF} END_IF {ELSE} IF x = 12 THEN {IF defined(cde)} y := 12; {ELSE} y := 13; {END_IF} END_IF {END_IF}
Astuce
En dialogue Propriétés, Catégorie Traduire vous pouvez spécifier des définitions qui peuvent être interrogées dans les pragmas.
Sphère d'effet :
Selon le type et le contenu d'un pragma, un pragma affecte les éléments suivants :
les déclarations suivantes
exactement comme indiqué ci-dessous
sur toutes les instructions suivantes jusqu'à ce qu'il soit annulé à nouveau avec un pragma approprié
sur toutes les instructions suivantes jusqu'à ce que le même pragma soit exécuté avec des paramètres différents ou que la fin du code soit atteinte. "Code" dans ce contexte signifie : partie déclaration, partie implémentation, liste de variables globales, déclaration de type. Ainsi, un pragma qui se tient seul dans la première ligne de la partie déclaration et qui n'est pas remplacé ou annulé par un autre affecte l'objet entier.
Catégories de pragma dans CODESYS
la CODESYS-Les pragmas sont répartis dans les catégories suivantes :
pragmes d'attribut: affecte la compilation et la précompilation
pragmes de notification: Sortie de messages définis par l'utilisateur pendant le processus de compilation
Pragmes Conditionnels: Influencer la génération de code
Pragmatiques personnalisés